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

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

Battle1.gif

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

Об игре

Трейлер:

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

Upgrade.gif

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 для перевода на другие языки.

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

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