Эта страница смотрится лучше со включённым JavaScript

Unity инструменты, использованные при создании RATOMON

 ·  ☕ 4 min read

Было бы безумием пытаться написать ВСЮ игру своими силами, это просто невозможно в современном мире и/или неоправданно экономически. Как минимум, приходится использовать тот или иной игровой движок. Как максимум, можно взять всё готовое (или заказать) и сделать эдакий салат, без “секретных” (самописных) ингредиентов.

В RATOMON’е чужого труда предостаточно: это как непосредственные составляющие игры, то есть графика, звуки, музыка и игровой код, так и инструменты для работы над игрой. Причём часть инструментов живёт отдельно (Audacity, Aseprite, Krita, ProMotion NG и т.д.), а часть интегрирована с Unity и расширяет возможности движка. Вот об этих инструментах и пойдёт речь в данной заметке.

Итак, в текущем проекте я использовал:

Aseprite Animation Workflow - автоматически импортирует графику и анимации из асепрайтовских файлов в графику и анимации для Unity. Не нравится, что просмотреть текущий вид или сравнить в VCS с прошлой версией невозможно, без открытия редактора. Авто-экспорт в png решил бы эту проблему, но пока руки не дошли.

Asset Usage Finder - для поиска мест, где используется тот или иной ассет. Скоро попробую альтернативу, т.к. этот довольно задумчивый.

Behavior Designer - редактор поведения врагов (и не только). Использую вместо встроенного AI из TopDown Engine. Периодически бесит неочевидным поведением переходов между ветками, из-за чего теряется куча времени на дебаг и переделку .

Damage Numbers Pro - показывает цифры над персонажем (повреждения, количество собранных монет и т.д.). Использую для экономии времени, чтобы самому не писать велосипед.

Databox - для хранения статических конфигов, настроек игры и сохранений. Всё отлично.

Dialogue System - подружить сходу с остальными ассетами оказалось нетривиально (DoozyUI, TopDown Engine, Rewired). Скорее всего, уберу из текущего проекта, попробую в следующем.

DoozyUI - меню и попапы через него сделал. На форуме описываются какие-то проблемы с ним, я пока не столкнулся. Ещё немного напрягает то, что автор больше года не обновлял его, хотя запросы на правки есть.

DOTween - он и как зависимость для некоторых других ассетов идёт, и в паре мест непосредственно использую.

DunGen - отличный генератор уровней из готовых комнат. Из коробки умеет очень много, допилить под себя тоже возможно (необходимость в этом два раза возникла, оба раза легко оказалось, плюс оперативно ответил автор на форуме).

Extenject Dependency Injection IOC - система внедрения зависимостей и в целом организации проекта. Не срослось с ним. Начало было хорошее, но так как опыта с ним мало, и периодически возникали нетиповые задачи, решения для которых не гуглились, то пришлось отказаться. Может когда-нибудь вернусь.

I2 Localization - чуть-чуть поэкспериментировал, смогу больше написать, когда всерьёз возмусь за локализацию.

Krita Exporter - самописный велосипед, который из kra-файлов достаёт png и кладёт рядом. Получается более наглядно, чем Aseprite Animation Workflow. Для статичных картинок буду использовать только его (если не напишу когда-нибудь аналогичный экспортёр для пиксельартовых редакторов).

Master Audio - опять экономия времени, многими возможностями не пользуюсь, всё, что надо, делает легко.

Odin - Inspector and Serializer - “маст-хев” ассет с отличной документацией, включая видео демонстрации и туториалы.

Peek - Editor Toolkit - часть функционала у меня не работает, что очень огорчает, а местами просто бесит. Но то, что работает, не даёт удалить его из проекта.

PlayerPrefs Editor - хороший, но больше не использую, всё перевёл на Databox.

Quick Search - поиск по ассетам. Если использовать префиксы для имён своих ассетов, то будет быстро и удобно.

Rewired - прекрасный способ снять кучу головной боли от обработки пользовательского ввода (клавиатура+мышь, контроллеры). Автоматическое подхватывание контроллера чего стоит.

ReIconed - хорошее дополнение к Rewired. С настройкой были проблемы (надо читать доки перед использованием), отношение автора к пользователям на грани хамства.

Selection History - очень помогает с навигацией между ассетами, которые находятся далеко друг от друга в иерархии сцены или папок на диске.

Smart Lighting 2D - освещение работает быстро и красиво, но он столько боли принёс и продолжает приносить, что советовать могу с большими оговорками.

SRDebugger - чуть-чуть пользуюсь. Пока нужен, как минимум, для чтения ошибок в билде.

Steamworks V2 - интерграция с Steam.

TopDown Engine - движок в движке. На его основе делаю игру, постепенно заменяя одни модули и допиливая/расширяя другие. Очень хороший способ втянуться в процесс делания игры. Встречаются иногда “странные” вещи, но хорошо, что ничего критического. Недавно вышел переработанный вариант, может там их уже нет, ещё не смотрел.

Share on