Реактор, привет! Смотрю сейчас стали часто появляться посты от индюшатников-игроделов, решил тоже поделиться своей историей успеха страдания и боли.
Началось все с того, что захотелось поиграть на телефоне в качественный платформер, что-нибудь типа мегамена, метройда, кастелвании ит.п. Несколько неплохих игр я таки нашел, но полного удовлетворения не получил. И тут пришла гениальная идея – «ё,надо самому сделать, я же знаю какая должна быть хорошая игра, а платформер вроде дело не сложное. Правда ведь?»
Делать решил на юнити, в 2D, спрайты рисовать в фотошопе. Придумал какая должна быть механика, сюжет, набросал общий дизайн уровней, систему прокачки персонажа и начал творить, сверяясь с мануалами по юнити. Руководствовался следующими принципами:
- Не пытаться создать «уникальную прорывную игру-откровение». Просто платформер, в который интересно играть.
- Только сингл.
- Никаких покупок игровой валюты за реальные деньги.
- Не использовать стандартные ассеты из бесплатных библиотек.
В начале дело пошло очень даже бодро. Спрайты рисовались, скрипты писались, сцены э… сценились. По сюжету девочка из нашего мира попадает в волшебный, прокачивает магические навыки, крошит врагов в капусту, спасает/захватывает волшебное королевство:
Проблемы появились чуть позже. Оказалось, что самому рисовать, кодить, подбирать звуки и музыку все-таки долго. Вместо нескольких месяцев разработка грозила растянуться на год другой. Решения, которые хорошо смотрелись в туториалах, оказалось не очень удобно использовать в большом проекте. Навыки и уровень персонажа, магазин и различные виды магии,справочники с описанием оружия и врагов – получился довольно монструозный, переплетенный кусок из PlayerPrefs’ов,который было очень тяжело поддерживать. Но самый главный косяк – производительность. Оказывается, не лучшей идеей было засовывать всю логику в Update, Rigidbody на каждый объект пихать не надо, а Animator и Instantiate это вообще запретные штуки (но я все равно частенько использую, удобные заразы). Т.е. чтобы игра заработала, необходимобыло переделать примерно все.
Что и пришлось сделать. Главная моя ошибка – не имея достаточного опыта я решил сделать довольно сложный продукт. Проблема в том, что в начале пути, из-за отсутствия этого опыта продукт не кажется сложным =).
В новом проекте я отказался от опыта и инвентаря (прощай метрования), добавил разовые улучшения, когда берешь определенный предмет (привет мегамен!). Упростил GUI, систему диалогов (сделал в стиле кирандии, может кто помнит), сюжет попроще (и диалогов меньше получается, ога). Сейчас готов только первый уровень, но вся механика уже сделана – остается только рисовать спрайты и собирать сцены, с минимальным скриптописанием (разве что только катсцены и боссов не смог загнать в общую логику, но это штуки уникальные, наверное, так и не получится). И хотя сил и времени на это дело все равно тратится много, теперь есть уверенность что, если продолжать херачить, работа будет завершена (в отличие от моей первой попытки, когда в один момент у меня появилось чувство, что это бесконечный, бессмысленный труд).
Нарезки из новой игры:
Сейчас планирую выложить в гугл плей демку с этим самым первым уровнем, посмотрю, как зайдет, что нужно исправить и буду пилить дальше. Сроков никаких себе не ставлю, но надеюсь полностью завершить в первой половине следующего года (я теперь по срокам вообще не очень оптимистичен =)).
Отличный комментарий!