Game Maker - создание игр | HellRoom Games
Декабрь 06, 2025, 15:02:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Огромный цельный мир  (Прочитано 38194 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sky Rider
Активный участник
*****

Репутация: 70
Offline Offline

Пол: Мужской
Награды:
За постоянность! [10 дней на форуме]
API: Love
Деятельность: Lua, Python
Сообщений: 323


« Ответ #15 : Февраль 09, 2012, 20:27:21 »

Ну так понятно, что весь файл лить в память не надо.
Про нагрузку на проц я имел ввиду уже когда карта загрузилась :)

Возвращаясь к фону (а похоже, что это именно он глючит, а не деревья), у меня такое ощущение, что тут дело в функциях lengthdir. Убрал сейчас вращение у персонажа вслед за курсором - всё стало как часы. Не знаю, как это может быть связано, ведь и фон, и деревья у меня теперь вычисляют смещение по одинаковой формуле... Какая-то ерунда.

Добавлено: Февраль 09, 2012, 20:30:38
Точно-точно, всё дело в дробной части. Ведь lengthdir высчитывает до каких-то там долей. Сейчас поставил эту функцию в round() и всё стало отлично... Но меня так не устраивает, поскольку теперь по диагонали персонаж перемещается чуть быстрее, чем по прямой.

Добавлено: Февраль 09, 2012, 20:35:36
Поставил округление координат игрока при высчитывании своих собственных координат фоном и деревьями... Стало лучше, но всё равно и фон, и деревья перемещаются мелкими рывочками. Вообще у меня такое ощущение сложилось, что дело просто в том, что x и y деревьев могут быть дробными, а вот у фона - нет (округляются). Поэтому они друг с другом не совпадают.
Записан
Krib
«Старожил форума»
******

Репутация: 114
Offline Offline

Пол: Мужской
Награды:
500 сообщений!За постоянность! [10 дней на форуме]Знаток Game MakerЗа помощь новичкам!
API: Game Maker 8.0 Pro
Сообщений: 951


« Ответ #16 : Февраль 09, 2012, 20:37:22 »

Я тебе уже предлагал решение, использовать вместо фона спрайты.
Записан

Fuge, late, tace
Sky Rider
Активный участник
*****

Репутация: 70
Offline Offline

Пол: Мужской
Награды:
За постоянность! [10 дней на форуме]
API: Love
Деятельность: Lua, Python
Сообщений: 323


« Ответ #17 : Февраль 09, 2012, 20:41:38 »

Без разницы. Всё равно дёргается :(

Добавлено: Февраль 09, 2012, 22:12:15
Фуф, вроде избавился от этой ерунды. Товарищ Krib, вы действительно были правы по поводу спрайтов :) Просто я их рисовал через draw_sprite_tiled - жутко глючный и кривой ужас, чтоб я ещё хоть раз использовал эту команду. Единственное - стыки фоновых спрайтов едва заметно подрагивают, но это уже не заметно, если не вглядываться. А так увеличил скорость комнаты до 60 и вывел ко всему прочему информацию о FPS на экран.

Добавлено: Февраль 10, 2012, 23:02:59
Сделал новый пример с использованием файлов и бесконечной картой. Подробности читаем в шапке :)
Записан
Sewer
Участник
****

Репутация: 8
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Многофункциональный Игродел v0.93 Beta
Сообщений: 214


Весь в работе!


« Ответ #18 : Февраль 19, 2012, 12:20:18 »

афигеть создал самый большой мир(1000x1000) и fps 60....я в шоке)
Записан

Работа в кубини!
Sky Rider
Активный участник
*****

Репутация: 70
Offline Offline

Пол: Мужской
Награды:
За постоянность! [10 дней на форуме]
API: Love
Деятельность: Lua, Python
Сообщений: 323


« Ответ #19 : Февраль 19, 2012, 19:55:06 »

Sewer
Да нет, первый пример - один большой фейспалм Мда.... Я его в назидание оставил, как не надо делать.
Лучше глянь второй, я его как раз обновил. Добавил миникарту (чтоб нагляднее было как это всё работает), возможность поворачивать камеру и персонажа мышкой (клавиши C и V - переключение между режимами), ну и всякой ерунды по немножку. Код на сохранение различных объектов уже готов, но применять его мне пока лень.
И да, во втором примере существует 6 442 450 942 локаций по каждой оси с обоими знаками (и + и -) :) Если принять 60 пикселей за 1 метр, то площадь этого мира в 8000 раз больше площади Солнца ;D Но релятивистские законы я не вводил, поэтому разогнаться можно хоть до сотни скоростей света.
Записан
Krib
«Старожил форума»
******

Репутация: 114
Offline Offline

Пол: Мужской
Награды:
500 сообщений!За постоянность! [10 дней на форуме]Знаток Game MakerЗа помощь новичкам!
API: Game Maker 8.0 Pro
Сообщений: 951


« Ответ #20 : Февраль 19, 2012, 20:02:54 »

Насчет релятивистских законов:
http://ru.wikipedia.org/wiki/OPERA_(эксперимент)
Записан

Fuge, late, tace
Sky Rider
Активный участник
*****

Репутация: 70
Offline Offline

Пол: Мужской
Награды:
За постоянность! [10 дней на форуме]
API: Love
Деятельность: Lua, Python
Сообщений: 323


« Ответ #21 : Февраль 19, 2012, 20:24:22 »

Ну персонаж - явно не нейтрино ;D
Кстати говоря, очень жалко, что в GM движение со скоростью 17 миллиардов пикселей в секунду (скорость света, если принять 60 пикселей за метр) мало чем отличается от меньшей или большей. А то такое расстояние пролетаешь - аж дух захватывает, а вот ничего не чувствуется.
И если бы не подлая верхняя планка 6 442 450 944 (начиная с этого числа глючит mod и, скорее всего, всё остальное), то мир был бы вообще бесконечным.

Добавлено: Февраль 19, 2012, 23:12:30
Бесконечный мир пока открепил. Там где-то закралась очень жестокая утечка производительности Т_Т

Добавлено: Февраль 20, 2012, 08:19:50
Добавил обратно. Похоже, причина была в моём компе, ибо сегодня с утра опять всё работает))
Записан
MIKE_
Новичок
*

Репутация: 0
Offline Offline

API: GameMaker 8.1 Standard
Сообщений: 2


« Ответ #22 : Январь 16, 2017, 18:01:31 »

Крутая вещь, очень мне пригодится в моих разработках. Жаль, что комментарии в коде испорчены кодировкой..
P.S Не знаю, как плюсануть в карму, а так - спасибо)
Записан
Fur
Абы-какой
GM Pro user
*

Репутация: 463
Offline Offline

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]Третье место на HellRoom Jam #9 [Flucoldache]За лояльность! [+300 репутации]Настоящий игродел!Боже мой, посмотрите на эту медальку! Первое место на HellRoom Jam #6
API: Game Maker 8.0 Lite
Деятельность: Бурная.
Сообщений: 3673


Лисяток тебе.


« Ответ #23 : Январь 16, 2017, 18:03:41 »

Крутая вещь, очень мне пригодится в моих разработках. Жаль, что комментарии в коде испорчены кодировкой..
P.S Не знаю, как плюсануть в карму, а так - спасибо)
Щас бы темы 12-го года от неактивного юзера поднимать, верно?
Записан

В одной отдельно взятой фразе не должно быть больше миллиона муравьёв, пусть даже она — научного труда о муравьях.

Hyperflex
MIKE_
Новичок
*

Репутация: 0
Offline Offline

API: GameMaker 8.1 Standard
Сообщений: 2


« Ответ #24 : Январь 16, 2017, 18:08:12 »

Крутая вещь, очень мне пригодится в моих разработках. Жаль, что комментарии в коде испорчены кодировкой..
P.S Не знаю, как плюсануть в карму, а так - спасибо)
Щас бы темы 12-го года от неактивного юзера поднимать, верно?

Ой, блин, не заметил, я новичок, пардоньте)
Но тема в любом случае того стоит!
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.098 секунд. Запросов: 31.