Gunfield: шмап-рогалик, пиксель арт, боссы и ранний доступ.

Всем привет! Подходит к релизу мой новый проект. Встречайте: Gunfield

Battle1.gif

Я начал разрабатывать игру на конкурсе gamedev.ru и поначалу не планировал завершать проект. Думал просто деконструирую механики Vampire Survivors и попрактикуюсь в генерации случайных боссов. Но что-то затянуло меня это дело почти на полтора года… Возможно, это ностальгия по Gun-Nac и Tyrian )

Об игре

Трейлер:

Игра представляет собой гибрид классического шмапа с элементами рогалика.
• Вы летите вперёд, зачищая волны врагов; стрельба происходит автоматически.
• Из врагов выпадают сферки опыта, и по достижении нового уровня предлагается выбрать одно из выпавших случайно улучшений — привет из Кримсонленда!
• Забег длится около 25 минут. Начальные волны и первые два босса имеют некоторую случайность в генерации для разнообразия.
• Постепенно открываются новые способности, персонажи, а также ответвления, ведущие в новые локации.

Branch.gif

Выбора сложности нет, но в разных билдах игра будет чувствоваться от весьма хардкорной до казуального фармера опыта.

Разработка

Планировал эту игру как тренировку перед началом серьёзной работы над другой своей игрой — Стальными лунами.

Уже в ней я взял за правило вставлять в игру быстрые наброски. Главное — накидать функциональную форму без лишних деталей. Это позволяет соотносить детали друг с другом и безболезненно менять их, что очень помогает на ранних стадиях и развязывает руки для переделок. А если что-то не нравится, то выбросить или переделать то, над чем работал меньше часа, совсем не жалко.

boss.gif

Набросок босса — 10 минут работы
и вставляем в игру  
В игре все устроило — подрисовываем детали. У пиксель арта очень много времени отнимает чистка и прорисовка мелких деталей)

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

FinalBossTransition.gifFinalBossTransition2.gif

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

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

Когда общая масса контента уровня уже присутствует в игре, пусть и в черновом виде, легче определить, каким объектам не хватает детализации и подтянуть их. Некоторые вещи можно оставить в виде набросков, лишь слегка подровняв кривые пиксели.

Собрал в одном видео нарезку из первых месяцев работы над игрой:

Самой большой проблемой стал баланс. В моих предыдущих играх он не играл столь серьезной роли, и можно было обойтись тестами «на глазок» и парой таблиц в Excel. Однако здесь, помимо цифр, есть множество других параметров: узор стрельбы, время на убийство (ТТК) для разных типов врагов, удобство использования и так далее.

  • Как облегчал себе работу с тестированием:

    Управление временем. Для меня уже стандарт — сделать клавишу пока держишь которую время ускорется на 10. Отлично подходит для быстрой перемотки игры в тех местах где тебя ничего не нтересует в данный момент. Добавил еще ползунок, который может плавно регулировать скорость игры от 0 до 3. Это помогает спокойно рассмотреть стыки анимаций и эффектов, быстро прикинуть, надо ли ускорить или замедлить те или иные атаки.

    Под капотом игра разбита на волны по 30 секунд. Автосейв сохраняет каждую волну отдельным файлом, так что можно быстро попасть в любую часть игры. Также добавил несколько хоткеев для быстрого сейва и загрузки.

    Сделал специальную сцену для тестирования DPS оружия — это сильно помогает в начальном балансе для нового оружия.

    Еще каждую 30 секунд игры создается сохранение логов в текстовый файл, где записаны показатели по каждому оружию и важным параметрам. Это особенно хорошо помогает балансировать получаемый игроком опыт, чтобы прокачка шла равномерно. Также реализовал возможность загружать эти логи и выводить графики для наглядности.

    2024-04-10_04-05-05.png

Вторая большая проблема — это всякая механика. Уж больно много времени уходит на прорисовку мелких элементов, хотя к концу разработки я уже навострился рисовать такие штуки раза в три быстрее.

Boss_Walker.gif

Ранний доступ

Собственно, к середине разработки я понял, что не вывожу тестирование, и надо хоть как-то подключать игроков и я решил выпустить игру в ранний доступ. Это сильно помогло править баланс и находить баги. Плюс игроки рассказали мне некоторые нюансы жанра, которые я просто не знал, так как сам давно не играю в подобные игры. Например, что коллайдер игрока принято делать значительно меньше спрайта.

Как было в начале и сейчас

2024-07-08_18-57-39.gif

Как и при обычном выпуске, до 10 отзывов Steam совсем не даёт трафика. Вот показы за первую неделю, десятый отзыв с купленной версии игра получила через пару дней после выхода: image.png

За время раннего доступа купили столько:

image.png

+ около 10 ключей попросили продать через лс в разных соцсетях.

Вишлисты набранные за ранний доступ:

image.png

В ВК Play я тоже выпущу игру, но чуть позже. Не хочу в спешке обновлять игру на двух платформах, если что-то будет не так.

Продвижение

В ранний доступ я вышел с двумя сотнями вишлистов — это всё, что нужно знать про моё продвижение)

В основном я делал посты на Реддите и немного на Пикабу. С них пришло несколько людей с дельными советами по улучшению игры и композитор, который согласился бесплатно написать несколько треков (это его музыка в трейлере).

Старался аккуратно оформить страницу игры. Много провозился с оформление иконки, с которой игроки заходят на страницу игры.

store_capsule_small.png

Для малого капсуля я использовал эффект псевдо 3D: текст названия игры выступает за специально уменьшенную рамку с полями цвета фона Стима. Это также создаёт отступ от линии остальных иконок в списке, а обводка создаёт иллюзию выделенного элемента.

Цвета специально подобраны контрастно. Кроме того, в картинку добавлены «глаза тигра» в виде взрывов — наш мозг невольно обращает внимание на такие вещи.

Старался верстать сразу на странице и смотреть, как иконки выглядят на фоне остальных. Задача — максимально выделиться ни их пестром фоне, чтобы пользователь хотя бы навёл мышку на вашу игру.

SteamPage.jpg

Кстати, был момент на одной из распродаж, когда я поменял скриншоты местами, и это удвоило продажи. Так что ставьте самые интересные скриншоты первыми, иначе до них могут не долистать!

Ну и немного об инструментах.

Так как основные трудозатраты — это производство визуального контента, стараюсь максимально упрощать и автоматизировать всё, что только можно. Скажу сразу, что я не пиксель-артист и совершено не стремлюсь в хардкорный пиксель-арт: палитра у меня свободная, много спрайтов просто вращается и пикселизуется через эффекты.

Движок: Construct 2. Прекрасен для быстрого прототипирования, но слишком прост для больших игр. Главные проблемы: отсутствие префабов, встроенного аниматора, 3D, абстрактных классов и хорошего генератора эффектов. И ещё большие проблемы с портированием. Если бы игра не была сделана на конкурсе, я бы его не брал. Думаю, это моя последняя выпущенная игра, сделанная в нём… дальше на Юнити.

Рисовашки: Тут все стандартно: Photoshop, Aseprite. Для разных задач что-то удобнее в одном, что-то в другом; часто держу открытыми обе программы и копипастю из одной в другую. Шоп удобен для цветокоррекции и организации файлов. Ася — для рисования пиксель перфекта и генерации спрайтлистов.

Анимации:

  • Photoshop для покадровой анимации, просто я привык к нему.
  • PixelOver. Софтина из Стима в раннем доступе. Этакий Spine для пиксель-арта: скелетные анимации, деформации сетки, фильтры, 3D, возможность настроить ресемплинг, дизеринг и денойзинг. Очень нравится здешняя индексация цветов. Неплохие возможности как для создания анимации в самой программе, так и для обработки и пикселизации импортированной из других.
  • SpriteMancer. Еще один представитель стимовского раннего доступа. Генератор пиксельных FX’ов с возможностью их обработки через нодовый шейдер. Регулярно глючит и падает, но всё же обладает хорошим набором инструментов для создания пиксельных эффектов.
  • Плагин для Aseprite от DarkDes’a используется для пиксельного вращения объектов; подробности можно почитать в статье автора. Долго искал, чем сделать вращение пушек, этот плагин — самое простое решение.

Был ещё всякий софт, который разово использовал для конкретных задач: Spine для крупной лицевой анимации, MagicaVoxel и Blender для 3D, Pixelpart для каких-то эффектов. Возможно, ещё что-то по мелочи.

  • OneNote для документации.
  • PureRef для мудбордов и референсов.
  • Audacity для звука.

Нейронки: Elevenlabs для озвучки голосов персонажей и Stable Diffusion Automatic 1111 для генерации референсов, GPT для перевода на другие языки.

На это пока все. Готовлюсь к выходу из раннего доступа, за его время игра увеличилась в два раза и заметно отполировалась. Пойду рассылать письма блогерам…

Спасибо что дочитали до конца!