Вот, например, когда я решил добавить локализацию в "Детский маджонг", менял интерфейс и добавлял окно с настройками, я начал задумываться об оптимизации процессов. В предыдущей игре я делал всё то же самое, так зачем повторять одни и те же действия? В этот момент я понял, что пора менять подход к работе.
Потом, когда начал добавлять систему обновления фонов в игре, задумался ещё раз. Тоже уже делал такое в другой игре. Быстро прикинул, что пора переходить на «взрослый» режим и завязывать с визуальным программированием. Рутинные действия: клик туда, клик сюда — это большие дыры в бюджете времени, которые порождают неэффективность. Всё, что можно автоматизировать и сделать по алгоритму — желательно автоматизировать. А значит, можно сэкономить кучу времени, а значит, больше времени для создания новых багов.
В процессе работы заметил схожесть в таких вещах, как: работа с локализацией, анимации интерфейсов, создание структуры лейаутов, работа с рекламой, механика обновления уровней.
Тут можно много чего ещё перечислять, но пока в моих маленьких играх я столкнулся именно с этим. Пора нарабатывать свою базу шаблонов, чтобы не изобретать велосипед каждый раз. Сейчас думаю, как это лучше оформить: в виде плагинов для Construct 3 или библиотеки кода с установкой через менеджер пакетов. На данный момент я делаю так: в одном проекте создаю группу с кодом, потом копирую в другой и там дотюниваю.
Чтобы всё это работало как надо, я поменял подход. Проект в Construct 3 теперь сохраняю в папку с файлами. Эвент таблицы теперь заменены на скрипты с поддержкой TypeScript. Сам проект открыл в IDE и, как настоящий маг, начал программировать там. В констракте делаю лишь запуск проекта и добавление спрайтов. Добавил еще Git для версионирования. А дальше — осталось только переделать уже сделанную игру, но теперь на TypeScript.
Да, это немного замедлит меня в начале, пока не знаю API движка, но, зная на опыте, в итоге это будет работать как turbo-ускоритель. Да и в IDE есть автоподсказки методов и свойств. Конечно, задумался об автоматизации других процессов, чтобы думать не о том, как сделать то же самое, а о том, как поставить чашку кофе в правильное место.
План на будущее для ускорения разработки:
1. Изучить готовые библиотеки и плагины.
2. Нейросети, чтобы ускорить работу с графикой и кодом.
3. Написать свои шаблоны/плагины для разработки.
4. Настроить CI: тесты, линтеры, минификация и сборка финального билда под конкретную площадку.
5. Автоматизированное сжатие графики и хранение для подгружаемого контента — вес билда из-за графики вообще отдельная больная тема, надо что-то думать.
6. Автоматическое снятие метрик: веса билда, FPS, перфоманса и др.
А ещё думаю купить себе какой-нибудь слабенький андроид для тестов. Вот такие вот размышления. А что вы делаете, чтобы работать эффективнее?