Project Apocalypse: состояние разработки

Почти полтора месяца проект находился в замороженном состоянии. Два раза он приходил к привычной ситуации — расширение имеющейся базы занимает больше времени, чем создание нового варианта с нуля. Интересная система случайных событий с выборами действий довольно быстро уперлась в проблемы с подключением и взаимосвязью с прошлой механикой. Интерфейс также оказался не таким удобным, как хотелось. А ведь на него было затрачено много времени. Как результат — разочарование и очередная заморозка. Но, разумеется, временная.

Позанимавшись пару недель прочими делами, появилось желание продолжить работу над проектом. Но с кодом нужно было что-то делать. Монстрообразная и трудноредактируемая структура совершенно не располагала к быстрой разработке с множеством итераций и стремительным развитием функционала. Писать код совсем вручную — бесконечно долго, учитывая кучу других задач. И тут, совершенно случайно, на глаза попался uScript. В отличии от PlayMaker, uScript, тоже являясь средством для визуального скриптинга, генерировал полноценный исходный код, который можно читать и редактировать. Но, как оказалось — это и не понадобилось.

uScript

Через uScript можно получать доступ к элементам сцены, другим скриптам, объектам, свойствам — словом, ко всему, что может понадобиться. Пробившись через чудовищную документацию и разобравшись с основами, произошло открытие, пожалуй, года — разработка правда может быть быстрой. То, что раньше отнимало полчаса (настроить, отладить), теперь занимает 5 минут, в которые входит «разобраться». Самый банальный пример — связка кнопки из NGUI, отсылающей какое-либо действие и обработчика действий на Playmaker. Раньше для этого требовалось на каждую кнопку вешать скрипт, отсылать при клике событие, ловить его другим FSM и обрабатывать + на сцене должен был быть специальный прокси-объект. В аналогичной ситуации с uScript нужно просто указать кнопку, которая вызывает действие… и всё.

Смена текстовых ярлыков (Label) раньше тоже была не совсем тривиальной — собрав нужное строковое значение, требовалось вызвать специальную функцию из расширения к PlayMaker, которая могла менять ярлыки NGUI. Причем в ряде случаев с этим возникали проблемы (о которых я писал в прошлых дневниках), из-за которых терялся указать на нужный ярлык и значение не менялось. В варианте с uScript мы просто обращаемся к параметру text нужного ярлыка и меняем его как обычную строку. Потрясающе.

Стоит ли говорить о том, что теперь реализация нужных механик происходит бесконечно быстрее. Возможность копировать, вставлять и передвигать целые блоки кода и тут же их проверять в работе также оказалась очень удобной. Осталось только наладить регулярные рабочие сессии и можно двигаться не только к играбельному прототипу, но и к законченной, интересной версии игры.

Post Author: Evgeniy Nesterovskiy

Главный редактор проекта SmartGaming.ru