Мой первый геймджем с самим собой: как я за две недели сделал шутер по мишеням на Unreal Engine
Начало
Все началось с обычного разговора с двоюродным братом о том, как было бы неплохо сделать свою игру. Мы, как это часто бывает, сидели и рассуждали: «А ведь круто было бы сделать свою игру!». Но мы оба прекрасно понимали: замахнуться сразу на уровень AAA-проекта — верный способ похоронить идею еще в самом начале разработки. Слишком большой объем, слишком мало опыта, да и мотивация имеет свойство заканчиваться быстрее, чем разработка дойдет до финальной стадии.
Поэтому мы решили устроить себе локальный геймджем (соревнование). Две недели на законченный прототип, никаких грандиозных ожиданий, просто взять и сделать хоть что-то играбельное, чтобы потом сравнить наши результаты. Конечно, разработку приходилось втискивать между рутинными повседневными делами. Если сесть и целенаправленно пилить проект по восемь часов в день, то всё то же самое можно было бы собрать и за пару суток. Но это был ценный опыт именно в условиях «как в жизни».
Выбор жанра
Дальше встал закономерный вопрос: что именно создавать первым в Unreal Engine? Долго размышлять не пришлось. Вспоминая периоды своего самого активного гейминга, я понял, что большая часть наигранных часов пришлась на шутеры. Так что выбор пал именно на этот жанр — душа лежит, да и сделать это, как мне показалось, будет не так сложно.
Но как только я определился с жанром, количество вопросов только выросло. Каким именно шутер должен быть? С открытым миром? С сюжетом? Мультиплеерный? В голову начали лезть масштабные концепты, и я вовремя себя остановил. Если сейчас начать упарываться и пытаться доработать каждую деталь до уровня AAA, то разработка гарантированно полетит коту под хвост, а проект осядет мертвым грузом на жестком диске компьютера задолго до того дня, когда должен был бы увидеть свет.
Поэтому я сознательно урезал амбиции до самой простой, но законченной механики — тир. Игрок видит перед собой мишени, которые появляются в случайных точках карты через определенные промежутки времени. Попал — получил очки и любуйся эффектом взрыва. Промазал или замешкался — мишень исчезает, и шанс будет упущен.
Кстати, насчет визуальной составляющей: изначально я планировал использовать модель дронов, чтобы мишени выглядели более «технологично» и живо. Для них я как раз вставил эффект взрыва, но довольно быстро понял, что найти подходящую модель не так просто, да и по масштабам больше подходит просто что-то плоское и круглое. Поэтому я остановился на классике: простая круглая болванка с красной окантовкой. Зато при попадании оставил сочный взрыв со звуком, чтобы был фидбек.
В зависимости от количества набранных очков в игре проигрываются соответствующие реплики, а при достижении нужного порога игра элегантно завершается.
Что под капотом: коротко о реализованном
По итогам двух недель вечерних посиделок за движком у меня получился вполне рабочий скелет игры. Вот список того, что было реализовано и отлажено:
- Система появления мишеней: случайным образом в заранее заданных точках и в ограниченном количестве.
- Логика начисления очков при попадании и их визуальное отображение на экране.
- Озвучка: реплики в начале игры, в процессе (в зависимости от прогресса) и в конце.
- Звуковой ландшафт: звуки шагов по полу для большего погружения.
- Анимации: айдл и анимация стрельбы для рук и оружия.
- Интерфейс: Главное меню (кнопки «Играть» и «Выйти»).
- Меню паузы прямо в процессе игры с возможностью продолжить или выйти в главное меню.
Итоги и выводы
Игра получилась короткая и без пафоса. Это не блокбастер и даже не инди-шедевр, но у нее есть одно неоспоримое достоинство — она закончена. Я поставил точку в рамках того геймджема, который сам себе объявил. Это очень важно.
Отсутствие лоска и графики AAA-уровня — сознательное решение. Можно бесконечно искать идеальные ассеты, перебирать различные текстуры и ждать скидок на маркетплейсе, в поисках самых подходящий ассетов. Но я понял, что на начальном этапе это путь в никуда. Многие крутые вещи стоят денег, и позволить себе покупать все подряд я пока не могу. Поэтому я сфокусировался на том, что было доступно прямо сейчас: работа с логикой движка, настройка анимаций, построение взаимосвязей между Акторами. И теперь я гораздо лучше понимаю, как всё это работает.
В теории, этот простой тир можно масштабировать до бесконечности: добавлять новые локации, усложнять механику, придумывать сюжетную ветку и разветвлять геймплей. Правда, в таком случае придется очень постараться придумать органичный сюжет 😅
Что дальше? Планирую и дальше вести этот блог о своем изучении Unreal Engine. Впереди много экспериментов, разнообразных проектов и туториалов. Если тебе интересна тема геймдева с нуля без розовых очков — оставайся на связи.
Разработку и геймплей игры более наглядно можете увидеть на моем Ютуб канале. Вот в этом видео.
Ну а скачать и даже поиграть - на моем Boosty. Здесь. Это совершенно БЕСПЛАТНО!