Разработка мобильного 2D раннера

Предыстория

Всем привет! Впервые пишу что то на этой платформе, поэтому решил начать с небольшой предыстории.

Играю в игры с самого детства (как и все здесь, конечно же). Так уж получилось, что полюбились в основном FPS игры, особенно серия FarCry. Но к годам 13-14 наскучило тупо играть, захотелось делать что то свое. И конечно же, будучи шкальником, я слепо верил, что можно просто так взять и сделать FPS игру AAA класса. Вообщем потихоньку начал изучать программирование. В погоне за реалистичной картинкой и низким порогом вхождения перепробовал все наиболее известные движки:

  • Unity - простота и удобство, местами слабоват
  • CryEngine - поразил кншн своей красотой... и багами
  • UnrealEngine - юнити на максималках - сложновато

В итоге спустя почти 6 лет в здравом уме вернулся обратно с чего и начинал - на Unity, дабы наконец то уже сделать что то. Можно считать это как студенческий проект в плане саморазвития. Решил начать с простого 2D проекта. Выбрал плоский дизайн для графики (Flat Design), посмотрел основные уроки по его реализации в Illustrator, придумал концепт игры. Итак, перехожу к основной части.

Раннер

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

Качество не ахти, записывал прямо из Editor'a

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

При это предполагается, что лут может быть как полезным, так и навредить (но пока еще не придумал). Сейчас же реализовал только jetpack - для демонстрации.

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

Окружение: весь стафф в виде кустиков, травы, цветочков и деревьев решил сделать динамическими, чтобы сцена выглядела живо и интересно в духе Hollow Knight. Реализовал как анимации спрайтов с изменением размера и поворота при взаимодействии с коллайдером перса, ракеты или падающего ящика.

Непосредственные объекты, с которыми игрок может взаимодействовать, вывел на передний план и добавил тень, дабы создать эффект нахождения на пути игрока (сложно сказал, но я надеюсь понятно). Сюда относятся 3 вида препятствий: динамит, колья и шар с бомбой, а также батут. Для батута сделал Ghost эффект.

Фон, или Background с разными слоями, естественно с parallax, куда же без него в 2020. Как можете заметить, облака на заднем плане дергаются, но а что поделать - оптимизация в последнюю очередь :D

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

Планы

Конечно же это далеко не все. В таком деле главное начать, а когда есть результат, есть и мотивация делать что то дальше. Что же можно занести в мой TODO лист?

1. Меню и совершенствование UI

2. Разработка других "биомов" и локаций. В каждом из таких будет определенное число уровней, но по прохождению определенного количества открывается доступ к бесконечному раннеру

3. Собственно сам бесконечный раннер

4. Выполнение всевозможных заданий на уровнях за вознаграждение (аля уничтожить N препятствий и т.д.)

5. Кастомизация/улучшение персонажа и оружия

6. Оптимизация? Громко сказано, насколько я понял на мобилках не бывает выше 30 FPS. Если бывает - исправьте меня плз)

6. Внутриигровые покупки и реклама

7. Продвижение

Если не лень написать коммент, интересно будет посмотреть и ваши предложения или пожелания.

С вашего позволения оставлю ссылочку на свой devlog, вдруг кому то интересно будет.

1818
25 комментариев

игры от Flatingo напоминает 👐

5
Ответить

Ага, точно) Не буду лукавить, у него брал некоторые идеи

Ответить

Симпатично, плавные островки, супер 🤠
Только что с FPS, почему так скачет? Сколько батчей на сцене?...

1
Ответить

Честно говоря сам не могу понять, даже с пустой сценой такой низкий, хотя может Рендеринг жрет. Батчей 19, сохранено 21. Если шаришь в оптимизации, от совета не откажусь :D

Ответить

Комментарий недоступен

1
Ответить

Ахаха, спасибо за звуки) На самом деле просто по фасту накидал какие были, для большей отдачи. Насчет эффекта смерти - отсылка к тому же Марио, решил сделать так.
А Юнька 2020. Но скорее всего это просто с оптимизацией беда. Да и мобила у меня с драконом 625, 2017 года

Ответить

Комментарий недоступен

1
Ответить