DRiot Dev Log

Dev Log Chapter

Точка старта

Начата проработка идей первого проекта на Unity. Отбросив концепции «Игры мечты», было выбрано направление простой 2D-головоломки. Тема сформировалась почти сразу: технологический сеттинг с роботами, лазерами и противостоянием. Идеей механики послужила классическая настольная игра «Пятнашка».

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

После фиксации идеи начался процесс отрисовки первых эскизов и графических ассетов в Photoshop и Illustrator.

Ассеты и классы

Подготовлены комплекты ассетов: игровые объекты, фоны, UI-панели и кнопки. Особое внимание было уделено строгому именованию объектов. Вместо неинформативных имён вроде Game Background 1 внедрена структурированная система: 1_Background_Start, 2_Background_Intro, 3_Background_Game, 4_Background_Final. Аналогичный подход применён и к деталям (например, FinishedPart-1).

В Unity спроектирована первичная архитектура классов: разделение на глобальные и локальные менеджеры и настройка их взаимодействия. Процесс проектирования проходил итеративно — от общих сущностей к детальной проработке подсистем.

Для фиксации стабильных состояний и возможности отката создана система ручного версионирования. Рабочие сборки копировались в отдельные архивы (например, DRiot_v0.2) с сохранением содержимого директорий Assets, Packages и ProjectSettings.

Война за одну кнопку (Skip Puzzle)

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

Логика регулярно сбоила из-за того, что PuzzleManager не содержал ссылки на GameManager. Проблема была решена через добавление прямой ссылки и явный вызов SetState(GameState.PuzzleActive) при старте пазла.

Даже мелкая UI-фича способна вскрыть серьезные архитектурные просчёты.

DevLog Screenshot
DevLog Screenshot

Три недели полировки

Блок работ по полировке UI, сцены Победы, исправлению конфликтов слоев интерфейса и корутин. Проект был восстановлен из стабильного архива и пересобран.

Переработана логика PauseMenu: панели меню теперь изолированы, а анимации дронов и огня скрываются через CanvasGroup без остановки фоновых корутин. Добавлено окно подтверждения для кнопки New Game во избежание случайного сброса прогресса. Увеличена задержка перед переходом к финальной сцене, чтобы сделать момент Победы более выразительным.

Полировка — это не просто косметика, а проверка архитектуры на прочность.

DevLog Screenshot

Порядок в звуковом хаосе

Завершена разработка глобальной аудиосистемы. Внедрён централизованный AudioManager на базе паттерна Singleton с защитой от уничтожения при смене сцен (DontDestroyOnLoad).

Все SFX распределены по событиям: клики UI-кнопок, перемешка плиток, сборка деталей, спавн дронов и финал. Выполнена балансировка громкости эффектов и настроены плавные переходы музыки. Сцена Победы драматизирована: длинный звук взрыва плавно переходит в финальный трек.

Звук — это не декорация, он задает ритм и эмоциональный контекст геймплея.

Сражения за систему сохранений

Интеграция системы сохранений на финише разработки привела к ряду архитектурных проблем. Первые две попытки (наивная запись JSON и фрагментация данных по подсистемам) оказались неудачными: ломался онбординг, усложнялась логика, а кнопка Continue вела себя непредсказуемо. Решением стал откат к чистой сборке и создание единой точки управления через GameManager (SaveGame(), LoadGame(), DeleteSave()).

Отдельно устранён баг с отсутствием GameManager в стартовой сцене через прямое удаление файла сейва (File.Delete()). Реализовано три корректных точки сброса прогресса: в меню паузы, главном меню и после прохождения игры.

Сборка DRiot_v0.9.1 зафиксирована как стабильный предрелизный билд.

DevLog Screenshot

Релиз в Google Play и подведение итогов

Пройден полный цикл разработки: от первых эскизов и сборки в Unity до публикации в Google Play.

Завершён этап подготовки релизных материалов, заблокирован и сдан блок бюрократических проверок Google Play Console. Для выполнения требований платформы 2024+ годов успешно проведён 14-дневный закрытый бета-тест с привлечением 22 тестировщиков с Reddit по принципу Test-for-Test.

Проект официально опубликован в магазине и зафиксирован в качестве первой завершённой точки в истории соло-разработки.

Screenshot view