Первый блин комом: разработка симулятора силами трех человек

Добрый день, уважаемое сообщество! В качестве первой публикации хотел бы поделиться опытом создания нашей игры для Android в жанре симулятор. Знаю, что опытным разработчикам статья покажется довольно простой, а выводы - очевидными. Тем не менее я надеюсь, что наш опыт будет полезен начинающим командам в создании первых проектов.

Вместо предистории

На данный момент, у нашей компании в работе два крупных проекта с timeline-ами от полугода до двух лет. Так уж вышло, что новые участники команды ранее не работали вместе, и как показывает практика, требуется время для создания удобной для всех экосистемы из рабочих отношений, обязанностей и привилегий.

Именно с этой целью и был создан наш симулятор старой игрушки, который на момент написания статьи доступен в магазине Google Play. Сразу оговорюсь, что "проба пера" не всегда возможна в силу ограниченности ресурсов, и стоит прежде всего рассчитывать собственные силы.

В создании любого тайтла классически принято выделять ключевые стадии разработки: идея, концепт, прототип, pre-production, production, post-production. Такой подход проверен не одним десятилетием, и отказываться от него в пользу "креативной разработки" при доступных ресурсах было бы ну совсем лишним.

Идея и Концепт

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

Согласитесь, более простую игровую систему придумать сложно.
Согласитесь, более простую игровую систему придумать сложно.

Обсудив идею с командой проекта, решили приступить к реализации, добавив в оригинальную игру некоторые правки:

  • отказаться от привязки модели к гироскопу, так как для качественной реализации требовалось уделить немало времени Research-аспекту;
  • вместо одной кнопки сделать две - таким образом игрок полагается не только на слепую удачу, и его навыки становятся ключом к успеху.

Приятной новостью также стало небольшое количество аналогов на Google Play, что дало шанс создать привлекательный для конечного пользователя продукт.

Как показала практика, концепты и визуализация - ключевой фактор для передачи собственного видения.
Как показала практика, концепты и визуализация - ключевой фактор для передачи собственного видения.

Прототип

Поначалу всё шло гладко. Модели колец, крючков и самой "пластиковой коробки" для прототипа были сделаны за час, а движок Unity предоставил достаточно достоверную симуляцию перемещения динамичных объектов на уровне, "заполненом водой".

Вечером на второй день проекта мы дружно собрались у экрана Артема (нашего программиста), чтобы посмотреть на первый запуск симуляции. Но в тот момент, когда кольцо должно было наконец "одеться" на крючок, оно ловко отпружинило от него. Спустя два дня правок и предположений проблема была устранена - как выяснилось, пустоту внутри модели кольца Unity заполняла для упрощения рассчетов, поэтому помимо визуальной части, кольцо прошлой длинный путь от 16 сфер-коллайдеров до 8 циллиндров, столкновения с которыми и позволяют кольцу быть одетым на крючок.

То самое злополучное кольцо, состоящее из 16 сфер. Даже на компьютере FPS проседал до 3 кадров в секунду при использовании 8 колец на сцене.
То самое злополучное кольцо, состоящее из 16 сфер. Даже на компьютере FPS проседал до 3 кадров в секунду при использовании 8 колец на сцене.

Pre-production

Итак, утро понедельника: кольца летают, крюки уже не падают, арена перестала взрываться - самое время сделать из прототипа готовый продукт, тем более, что осталось 5 дней до возобновления работы над основным проектом. В общей сложности нам оставалось:

  • отрисовать интерфейсы и собрать их в Unity;
  • нанести текстуры на игровые модели;
  • подобрать звуковое сопровождение для игры.

Интерфейс, внешний вид моделей и звук должны выглядеть целостно, потому мы задались вопросом: а о чем будет наша игра? Совет: никогда не оставляйте решение этого вопроса "на потом", это чревато срывом всего проекта.

Нас спасла погода: выйдя на перекур, я с удивлением заметил первые снежинки. Ассоциативный ряд привел к выбору рождественской тематики - что, пусть и довольно заезженно, всё равно понравилось всем нам.

Здесь возникла вторая проблема: человек, делавший 3D модели (я) не знал, как сделать развертку наложить на них текстуру. Да, так вышло, и времени на доскональное изучение вопроса не осталось. К счастью, Саша (2D художница) смогла достаточно быстро и качественно покрасить кольца и крюки в Substance Painter. В формате статьи могу открыть нашу великую тайну: сама коробочка так, как мы её видим в игре, не покрашена - мы не успели сделать развертку, потому просто поставили спрайт с окрасом поверх коробки. К счастью, пока никто не жаловался.

Музыка же, как и звуки пузырьков, были честно взять из сети по запросу "christmas songs royalty free for commercial use" - в этом вопросе наших общих умений оказалось недостаточно.

Спрайт, скрывающий наши недоработки)
Спрайт, скрывающий наши недоработки)

Production

- А мы точно её выпустим? - Какая разница, главное что сами сможем поиграть!

Фрагмент skype-конференции в день запуска

Утро среды второй недели разработки началось спонтанно и в меру хаотично. Артем заканчивал оптимизировать физику, Саша делала иконки и баннер для страницы в магазине приложений, я тестировал игру и делал снимки экрана для магазина. Ничто не предвещало беды, как вдруг к нам зашел Project Manager, посмотрел на игру и сказал: "а хорошо бы вместо фона показывать вид с основной камеры". Вопреки нашим ожиданиям, мы успели реализовать даже такую функцию за оставшиеся полтора дня - пусть и в тестовом режиме.

Итак, пришло то самое утро пятницы, когда мы должны были опубликовать игру. Как и ожидалось, не обошлось без мелких казусов вроде небольшого несовпадения иконки с требованиями магазина, бага при переключении на режим камеры, срочной замены названия пакета приложения и подключения системы Admob - и всё же, после обеда мы с чистой совестью купили торт и отпраздновали первый результат совместной работы.

Выводы и заключение

За время работы над Christmas rings накопилось некоторое количество практических советов, которыми я как Game Designer хотел бы поделиться с теми, кто только готовится приступить к выпуску своей первой игры:

  • В небольшом коллективе главное - максимально охватить все аспекты разработки, ведь чем больше команда может сделать без посторонней помощи, тем быстрее идет работа;
  • Важно как можно активнее привлекать коллег по команде к созданию игры на любом этапе. Даже если часть предложений не найдет применения в данном проекте, общие интересы увеличивают как скорость работы, так и её качество - в то же время команда одиночек будет менее эффективной.
  • В идеале, каждый участник команды понимает, чем конкретно занимаются все остальные, и готов пояснить результаты своей работы и то, какуюроль играют в приложении.

Оглядываясь назад, я могу уверенно сказать, что подобные мини-проекты оказывают огромное влияние на динамику работы команды. Первые ошибки и конфликты не страшны, так как целью проекта является именно создание правильной рабочей атмосферы.

Итоговый интерфейс - к сожалению, мы не успели добавить анимацию снега.
Итоговый интерфейс - к сожалению, мы не успели добавить анимацию снега.

В дальнейшем мы намерены добавить локализацию и добавить пару новых фонов - было бы время и люди, кому интересна игра. А с результатом нашей работы вы можете познакомиться по ссылке ниже:

Надеюсь, наш опыт будет полезен читателю) И, конечно, буду рад ответить на любые вопросы по поводу нашей игры!

99
3 комментария

Скачал поиграл ни че так)

2
Ответить

Спасибо за отзыв)

Ответить