Всем привет. Вчера я выпустил свою игру под Android
Про геймплей:
Изначально я хотел сделать геймплей, как в игре Frogger, где нужно прыгать через дорогу с препятствиями между безопасными участками "тротуара", но потом решил сделать почти классический раннер. Основная фишка - очередь действий, тапнул, свайпнул вправо и сделал ещё 2 тапа и куб движется по нарисованной траектории(кстати идею отображать очередь следами на поверхности подсказал друг, за что ему спасибо, я сам думал сделать менее удобный вариант с отображением очереди вверху экрана). Ещё одна фишка - все модели это куб(не потому что я не умею в 3d моделирование, это концептуальная идея!)
Таким образом есть 2 способа игры: на реакцию, как в subway surfers, и добавляя действия в очередь, я всегда использую второй, т.к. он позволяет исправить неправильный ход до его совершения и избежать смерти.
Помимо препятствий в игре есть бонусы, почти каждый из которых активирует уникальную абилку:
- Синий - уменьшает текущую скорость куба и при сборе 10 таких бонусов появляется абилка SlowMo, которую можно активировать и на 5 секунд замедлить игру.
- Жёлтый - добавляет очки и при сборе 15 таких бонусов появляется возможность построить путь за тебя, нажимаешь на кнопку и игра добавляет в очередь действия, помогает пройти сложный участок. Честно говоря, я сам использую её редко, т.к. сейчас она строит просто путь, а должна строить наиболее оптимальный, чтоб собирать ценные бонусы(будет сделано в одном из следующих релизов)
- Розовый - ускоряет скорость куба, должны ж быть в игре какие-то анти-бонусы :)
- А также комбинации вышеперечесленных
И ещё одна абилка - SpeedUp, которая ускоряет игру до тех пор, пока в очереди не останется 5 действий, для тех, кто не любит ждать, чтоб дойти до сложного участка, удобно в начале игры.
Про разработку:
По разработке всё довольно предсказуемо: движок - Unity, IDE - vim, ОС для разработки - Arch в контейнере(кстати, после танцев с бубном работает отлично, даже Unity Remote завёлся).
Поле для игры - Circular Buffer и при создании очередного ряда игра ищет все пути из текущей клетки с помощью DFS и выбирает случайную клетку, куда не ставится препятствие, чтобы игра была всегда проходимой, тоже самое используется для абилки, которая играет за тебя, но в будущем конечно перепишу на каком-нибудь алгоритме решающем задачу коммивояжёра, чтоб искать оптимальный путь через бонусы.
Также для разнообразия геймплея препятствия и бонусы генерируются волнами сдвинутыми по фазе, что даёт возможность отдохнуть после сложного участка и поощряет игрока бонусами, но общая сложность всё равно растёт со временем игры.
Ссылки:
Поиграть можно тут - https://play.google.com/store/apps/details?id=info.d3d.Cube
Посмотреть исходники тут - https://github.com/DevAlone/Cube
Кстати, это моя первая игра, поэтому просьба сильно пинать)