Добрый день, уважаемое сообщество!
Наконец-то я бросил пахать скалы на дядю и организовал свою студию с теми атрибутами, про которые вы все знаете.
В качестве первой публикации от имени студии, хотел бы поделиться опытом создания нашей игры для Android и IOS в жанре симулятор. Знаю, что опытным разработчикам статья покажется довольно простой, а выводы - очевидными. Тем не менее я надеюсь, что наш опыт будет полезен начинающим командам в создании первых проектов.
Вместо предыстории
На данный момент, у нашей компании в работе два крупных проекта с timeline-ами от полугода до двух лет. Так уж вышло, что новые участники команды ранее не работали вместе, и как показывает практика, требуется время для создания удобной для всех экосистемы из рабочих отношений, обязанностей и привилегий.
Именно с этой целью и был создан наш симулятор старой игрушки, который на момент написания статьи доступен на Google Play и AppStore. Сразу оговорюсь, что "проба пера" не всегда возможна в силу ограниченности ресурсов, и стоит прежде всего рассчитывать собственные силы.
В создании любого тайтла классически принято выделять ключевые стадии разработки: идея, концепт, прототип, pre-production, production, post-production. Такой подход проверен не одним десятилетием, и отказываться от него в пользу "креативной разработки" при доступных ресурсах было бы ну совсем лишним.
Идея и Концепт
Так как проект изначально должен был быть простым, легким в разработке и при этом интересным для игрока, мы обратились к старым игрушкам из нашего детства. Отбросив первые варианты игр про армии солдатиков, радиоуправляемые гоночные машины и кепсы, остановились на вот такой игрушке, которая была довольно популярна в конце девяностых - начале нулевых:
Согласитесь, более простую игровую систему придумать сложно.
Обсудив идею с командой проекта, решили приступить к реализации, добавив в оригинальную игру некоторые правки:
1) отказаться от привязки модели к гироскопу, так как для качественной реализации требовалось уделить немало времени Research-аспекту;
2) вместо одной кнопки сделать две - таким образом игрок полагается не только на слепую удачу, и его навыки становятся ключом к успеху.
Приятной новостью также стало небольшое количество аналогов на Сторах, что дало шанс создать привлекательный для конечного пользователя продукт.
Как показала практика, концепты и визуализация - ключевой фактор для передачи собственного видения.
Прототип
Поначалу всё шло гладко. Модели колец, крючков и самой "пластиковой коробки" для прототипа были сделаны за час, а движок Unity предоставил достаточно достоверную симуляцию перемещения динамичных объектов на уровне, "заполненом водой".
Вечером на второй день проекта мы дружно собрались у экрана Артема (нашего программиста), чтобы посмотреть на первый запуск симуляции. Но в тот момент, когда кольцо должно было наконец "одеться" на крючок, оно ловко отпружинило от него. Спустя два дня правок и предположений проблема была устранена - как выяснилось, пустоту внутри модели кольца Unity заполняла для упрощения рассчетов, поэтому помимо визуальной части, кольцо прошлой длинный путь от 16 сфер-коллайдеров до 8 циллиндров, столкновения с которыми и позволяют кольцу быть одетым на крючок.
То самое злополучное кольцо, состоящее из 16 сфер. Даже на компьютере FPS проседал до 3 кадров в секунду при использовании 8 колец на сцене.
Pre-production
Итак, утро понедельника: кольца летают, крюки уже не падают, арена перестала взрываться - самое время сделать из прототипа готовый продукт, тем более, что осталось 5 дней до возобновления работы над основным проектом. В общей сложности нам оставалось:
1) отрисовать интерфейсы и собрать их в Unity;
2) нанести текстуры на игровые модели;
3) подобрать звуковое сопровождение для игры.
Интерфейс, внешний вид моделей и звук должны выглядеть целостно, потому мы задались вопросом: а о чем будет наша игра? Совет: никогда не оставляйте решение этого вопроса "на потом", это чревато срывом всего проекта.
Нас спасла погода: выйдя на перекур, я с удивлением заметил первые снежинки. Ассоциативный ряд привел к выбору рождественской тематики - что, пусть и довольно заезженно, всё равно понравилось всем нам.
Здесь возникла вторая проблема: человек, делавший 3D модели (я) не знал, как сделать развертку наложить на них текстуру. Да, так вышло, и времени на доскональное изучение вопроса не осталось. К счастью, Саша (2D художница) смогла достаточно быстро и качественно покрасить кольца и крюки в Substance Painter. В формате статьи могу открыть нашу великую тайну: сама коробочка так, как мы её видим в игре, не покрашена - мы не успели сделать развертку, потому просто поставили спрайт с окрасом поверх коробки. К счастью, пока никто не жаловался.
Музыка же, как и звуки пузырьков, были честно взять из сети по запросу "christmas songs royalty free for commercial use" - в этом вопросе наших общих умений оказалось недостаточно.
Спрайт, скрывающий наши недоработки)
Production
Утро среды второй недели разработки началось спонтанно и в меру хаотично. Артем заканчивал оптимизировать физику, Саша делала иконки и баннер для страницы в магазине приложений, я тестировал игру и делал снимки экрана для магазина. Ничто не предвещало беды, как вдруг к нам зашел Project Manager, посмотрел на игру и сказал: "а хорошо бы вместо фона показывать вид с основной камеры". Вопреки нашим ожиданиям, мы успели реализовать даже такую функцию за оставшиеся полтора дня - пусть и в тестовом режиме.
Итак, пришло то самое утро пятницы, когда мы должны были опубликовать игру. Как и ожидалось, не обошлось без мелких казусов вроде небольшого несовпадения иконки с требованиями магазина, бага при переключении на режим камеры, срочной замены названия пакета приложения и подключения системы Admob - и всё же, после обеда мы с чистой совестью купили торт и отпраздновали первый результат совместной работы.
Выводы и заключение
За время работы над Christmas rings накопилось некоторое количество практических советов, которыми я как Game Designer хотел бы поделиться с теми, кто только готовится приступить к выпуску своей первой игры:
1) В небольшом коллективе главное - максимально охватить все аспекты разработки, ведь чем больше команда может сделать без посторонней помощи, тем быстрее идет работа;
2) Важно как можно активнее привлекать коллег по команде к созданию игры на любом этапе. Даже если часть предложений не найдет применения в данном проекте, общие интересы увеличивают как скорость работы, так и её качество - в то же время команда одиночек будет менее эффективной.
3) В идеале, каждый участник команды понимает, чем конкретно занимаются все остальные, и готов пояснить результаты своей работы и то, какуюроль играют в приложении.
Оглядываясь назад, я могу уверенно сказать, что подобные мини-проекты оказывают огромное влияние на динамику работы команды. Первые ошибки и конфликты не страшны, так как целью проекта является именно создание правильной рабочей атмосферы.
Ну и, как полагается, ссылки:
https://itunes.apple.com/us/app/christmas-rings/id1326108830...
https://play.google.com/store/apps/details?id=com.YuqioLLC.C...
И фб группа одного из наших проектов, про который будет следующая серия постов:
https://www.facebook.com/cavernofspirits/
Спасибо.