Начало - 0.0.1.5 [RU]
Идея
23 января, сижу на ютубе, смотрю видосы по unity, и вдруг замечаю в рекомендациях одновременно несколько видео о создании раннеров. В тот же момент я подумал: а ведь я ещё не пробовал делать раннеры, хотя они довольно популярны в последнее время, да и в разработке не должны быть слишком сложными.
Нужно было сразу выбрать платформу и формат - 2D или 3D. Очевидно, выгоднее для раннера будут мобилки, а формат пусть будет 2D - лишние сложности мне здесь ни к чему, сейчас главное - дойти до релиза.
А теперь, внимание, вопрос! Что нужно, чтобы игра получилась действительно хорошей? Конечно же, вдохновение.
Поэтому я пошёл искать его на Pinterest’е и в Google Play. Найдя один интересный экземпляр, я определился с локацией и примерным стилем графики.
Core-геймплей
Я решил, что игрок будет управлять небольшим космическим кораблём, уклоняясь от врагов и собирая монеты.
За один вечер я написал первый прототип, в котором уже был управляемый кнопками игрок, первый тип врагов - мины и собираемые монеты. Также уже на этом этапе я реализовал постепенное ускорение игры путём умножения timescale каждый фиксированный кадр на 0,000-сколько-то там-1.
Конечно, сейчас мне кажется, что это было неправильным решением, и ускорять нужно было не умножением, а прибавлением этого 0,000-сколько-то там-1. Через некоторое время игра начнёт ускоряться слишком сильно, и играть будет попросту невозможно. К тому же, из-за этого неправильно работал счётчик FPS, который я вообще убрал после профайлинга, но об этом чуть позже.
Вообще, увеличивать надо было не timescale, а параметры скорости врагов и монет, но этим я займусь гораздо позже.
На самом деле, пока что монеты не собирались, а просто исчезали при касании корабля игрока. А вот мины были полностью рабочими - при столкновении игра заканчивалась.
Фон я сделал чисто из партиклов: сзади фиолетовое… не знаю, гиперпространство, а слоем выше - пролетающие частицы, может быть, даже звёзды. И это я первый раз имею дело с партиклами. Стоит также упомянуть, что всю графику я рисую сам, но она будет меняться.
Так, основная механика почти готова, но её явно будет недостаточно. Я уже знал, что с этим делать, поэтому сразу приступил к делу.
Саб-механика
“Игра постоянно ускоряется, сложность возрастает, и надо бы добавить нечто вроде усилений”, - подумав так, я накидал пару идей для бонусов.
Первый - Щит, действует 10 секунд, даёт неуязвимость на 1 столкновение. Второй - x2 Coin, действует так же 10 секунд, умножает получаемые монеты на 2.
Бонусы нужно как-то получать, и в то же время, нам некуда тратить монеты. Значит, сделаем магазин, где можно покупать бонусы за монеты. В тот же вечер магазин был готов, и игра находилась на версии alpha 0.0.1.3.
Собственно, я решил потестить игру на своём телефоне, и обнаружил ту же проблему, которая была одной из причин закрытия проекта True Way To Victory.
И что это за проблема такая? FPS. На мобилке он упирался либо в 20, либо в 30 кадров в секунду. По ранее упомянутому проекту скажу, что у тестеров той игры была такая же проблема. Тем не менее, я решил пока отложить механики и заняться настоящей технической частью. В таких случаях сильно помогает профайлер, который показывает, на что сколько ресурсов и времени уходит. Спустя несколько часов поиска возможных решений на форумах, я нашёл несколько галочек, решающих всю проблему.
В настройках проекта нужно было выключить render outside safe area, optimazed frame pacing и 32-битный буфер.
Ремейк управления
На следующий день разработки (именно разработки, а не реальный, т. к. я сидел в unity не каждый день) я решил переделать управление. Сейчас игрок всегда находится на одной высоте, и мы просто двигаем его вправо и влево. Это, во-первых, скучно, а во-вторых, иногда бывает сложно маневрировать. Я снова поиграл в игру-референс, и подумал сделать похожее перемещение игрока. Теперь мы будем удерживать наш маленький корабль пальцем и перемещать по экрану куда хотим.
Однако, просто перемещать игрока в точку нажатия пальцем было бы читерно, ибо тогда мы бы телепортировались туда, игнорируя врагов и монеты. Здесь помог метод Lerp(), принимающий две точки и линейно интерполирующий их. Проще говоря, с её помощью игрок плавно перемещается к точке нажатия. Плавность задаётся отдельным параметром.
В тот же день я занялся первыми двумя бонусами, Щит и x2 Coin теперь можно и купить, и использовать. Кстати, каждого бонуса у игрока одновременно может быть не более, чем по 5 штук.
Локализация и авторизация
На следующий уже реальный день, я по приколу решил попробовать сделать что-то посложнее, и приступил к локализации, т. к. нашёл довльно хороший видос. Мало что понял, конечно, но главное - работает. В игре будут доступны английский и русский языки.
Ещё полдня у меня ушло на добавление авторизации через Firebase: теперь игрок может создавать и входить в аккаунт с помощью электронной почты и придуманного пароля. Почта нужна только для того, чтобы можно было обратиться в поддержку, то есть ко мне, чтобы сменить пароль в случае необходимости. Паролей игроков я НЕ вижу, у меня есть только ваша почта и уникальный UID.
Это уже версия alpha 0.0.1.5, и в следующей я буду пробовать добавлять сохранение данных игрока, с помощью того же Firebase. Кстати, к этому моменту в игре уже сохраняется максимальный счёт и общее количество монет в лобби, правда, после повторного запуска всё обнуляется.
Заключение
Надеюсь, тебе было интересно наблюдать за началом разработки новой игры. Поверьте, здесь ещё многое изменится или добавится. Например, я точно добавлю новые виды бонусов и врагов, идеи для которых у меня уже есть. Также в будущем добавятся новые корабли за монеты. По сути, это скины, но некоторые из них, вероятно, будут иметь свои пассивные бонусы. Буду рад отзывам в ЭТОМ разделе. Более подробную информацию об игре можно найти ЗДЕСЬ.
Скачать игру можно тут: https://everest-sp.itch.io/trirun
На этом пока всё, аривидерчи.
Files
Get TriRun
TriRun
Conquer space!
Status | Released |
Author | EVERMEDIA PROJECT |
Genre | Racing |
Tags | 2D, Arcade, Casual, everest-studio-project, infinite-runner, Runner, Space, trirun, Unity |
Languages | English, Russian |
Accessibility | Textless |
More posts
- 1.0 RELEASE!Jun 24, 2023
- 0.8.0 released!May 24, 2023
- 0.7.0 released!Apr 12, 2023
- 0.6.0 released!Mar 09, 2023
- 0.5.0 released!Dec 14, 2022
- Now in Beta! 0.4.0 released!Oct 18, 2022
- 0.0.3 released!Jun 27, 2022
- 0.0.2 released!May 15, 2022
- 0.0.1.9 released!Mar 31, 2022
- 0.0.1.8 released!Feb 27, 2022
Leave a comment
Log in with itch.io to leave a comment.