Инструменты для оптимизации вашей игры

расширяем возможности Construct 2

Сообщение Инструменты для оптимизации вашей игры
» 26 янв 2018, 00:59

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

Итак поехали:

Первая штука о которой хотелось бы сказать это банальный Is on screen. Например в игре много объектов создающих эффекты. Добавление в подсобытие этого события(тавтология какая то) заметно снизит нагрузку. Ход весьма логичный и лично я его стараюсь использовать в каждой игре.

Теперь перейдём к плагинам:

Event balancer и Loop Interator

Работают обычно в связке и позволяют "растянуть" выполнение цикла в течении определённого промежутка времени.
Циклы - вещь ресурсоёмкая и бесконтрольное выполнение этих циклов может вызвать сильную нагрузку(особенно если циклы большие). Объяснить сложно, проще показать:

http://boring-nobel-1c953a.bitballoon.com/

Пример очень грубый, зато наглядный.
event balancer and loop interator.capx
(172.96 КБ) Скачиваний: 56


Board, Square и Logic Mask

Суть и польза этих плагинов в том что с их помощью можно обрабатывать произвольную "зону" и соответственно объекты в ней. Причём обрабатывается это не каждый тик, действие срабатывает при входе или выходе объекта в/из "зону(ы)". Пригодится например при построении уровня из большого массива или при предварительной обработке объектов для последующего отображения. Звучит опять сложно. Поэтому вот пример: http://gallant-heisenberg-5a368c.bitballoon.com/

Для тех кто не понял что это такое: зелёный куб - это пуля летящая по бесконечному лейауту, при этом вокруг куба создаются спрайты, а по отдалению от него подчищаются(удаляются). Плагины заботливо обрабатывают всё поочерёдно и выдают ссылки на них, простым сравнением по дистанции добиться такого будет сложно, так как плагины работают с логическими ячейками, а не с пикселями как в случае с дистанцией.
logicmask_board_square.capx
(173.71 КБ) Скачиваний: 38



Value monitor

Небольшой, но полезный плагин для слежения за переменными. Часто бывает что нужно следить за большим количеством переменных. С2 умеет это делать исключительно каждый тик, что на поздних этапах разработки может вызвать проблемы с производительностью. Всё что делает этот плагин это реагирует на изменение переменных, следовательно действие будет выполнятся не каждый тик а только когда значение изменилось. Пригодится например для идентификации при получении урона ГГ, или получении бафа/дебафа.

На этом пока что всё. Надеюсь что вам это пригодится. Буду стараться дорабатывать статью если узнаю что - нибудь новое. :hi:
Аватара пользователя

Модератор
Сообщений: 941
Я тут с 12 окт 2013
Репутация 249 [ ? ]

Сообщение Инструменты для оптимизации вашей игры
» 26 янв 2018, 01:22

Хорошая статья с одной стороны, но с другой плохая) Ведь вся суть оптимизации в С2 сводится, как раз к мобилкам, а ты в самом начале сразу написал, что не знаешь, как эти плагины будут там работать.
Изображение
Аватара пользователя

Игродел
Сообщений: 1287
Я тут с 31 авг 2015
Откуда: Нижний Новгород
Двиг: C2, C3
Лицензия: Personal
Репутация 200 [ ? ]

Сообщение Инструменты для оптимизации вашей игры
» 26 янв 2018, 03:17

q3olegka, Ну оптимизация не только для мобилок ведь бывает. Вообще если бы я никогда не работал на С2 никогда бы не узнал что могут быть програмные тормоза(т.е. тормоза вызванные искусственным ограничением объема памяти), это касаемо любых браузеров. Если ты не сталкивался с подобным - ты счастливый человек. :biggrin:

Ну а поповоду мобилок тут дело тестов. Я просто с этим никогда не работал и как и что будет экспортировать тут сложно сказать. Справедливости ради стоит упомянуть что большинство плагинов создал rex, что вроде как можно считать знаком качества.
Аватара пользователя

Модератор
Сообщений: 941
Я тут с 12 окт 2013
Репутация 249 [ ? ]

Сообщение Инструменты для оптимизации вашей игры
» 26 янв 2018, 05:39

+
полезная тема

Стоит упомянуть ещё оптимизацию кода.
Plugin Systemext
Behavior Spriteext
Plugin rex_Layer
Крошечные библиотечки, дающие строку ввода многим переключениям (которые в оригинале требуют отдельных событий) или переносят выбор в область действий - по сути, избавляют от громоздких костылей. Mast have
Изображение
Аватара пользователя

Участник
Сообщений: 1046
Я тут с 31 май 2017
Репутация 218 [ ? ]

Сообщение Инструменты для оптимизации вашей игры
» 09 июл 2019, 21:07

По-моему многие ссылки битые. Или это у меня проблемы?
Аватара пользователя

Участник
Сообщений: 16
Я тут с 02 июн 2019
Откуда: Из России
Репутация 0 [ ? ]



Вернуться в Плагины и Дополнения для Construct 2

Сейчас эту тему просматривают

Зарегистрированные пользователи: нет зарегистрированных пользователей

Наверх