Относительно комплексная игра на UE4 в одно лицо с нуля до релиза в Steam. Без кода
Интро
Всем привет! Я Алексей. Работаю в геймдеве днём и по вечерам делаю свои игры. Раньше нанимал по одному программисту и артисту, платил им, и мы таким образом сделали 2 игры и одно приложение. Люблю UE4, прототипировал потихоньку на блупринтах. Но сам от начала и до релиза до этого игры не делал.
В начале 2021 года я решил провести эксперимент: смогу ли я в свободное время за не более чем 6 месяцев сделать игру водиночку, не привлекая других людей и, что важно, не используя код?
TL;DR
Эксперимент завершился успешно. Игра висит в coming soon на стиме и ждёт запланированного релиза 21 мая 2021 года:
Про игру
Рогалик с пошаговыми боями 1-на-1, процедурным лутом и подземельем. Перки влияют на стиль игры (первый удар, больше монстров, уменьшение кулдаунов и так далее) и могут быть как на предметах, так и на самом персонаже. Между забегами прокачиваем и анлочим героев и скиллы. Много умираем, в какой-то момент докачиваемся до возможности дойти и, возможно, победить финального босса.
Вводные данные
- UE4, так как я умею делать логику на Blueprints. И люблю его всей душой, чего уж.
- Логику пишу сам.
- Ассеты (2D, 3D, VFX, SFX, музыку) либо покупаю, либо беру из бесплатного контента UE4 Marketplace, либо из своей библиотеки (я покупаю всякое с самого старта маркетплейса).
- Использую плагины для ускорения процесса разработки.
- Релижу в Steam. У меня уже был проплаченный с давних времен пермит на одну игру. Плюс, я сам играю преимуществеено через эту платформу.
- Early access. Так - честно. Мне понадобится фидбек от игроков, чтобы починить пропущенные мною баги, улучшить баланс и UI/UX.
- Дедлайн - полгода.
- Цель релиза в стим - чтобы работа, в которую я вложил время и частичку души, не ушла в стол. Если еще и деньги принесет - замечательно. Но иллюзий я не строю. Это не первый мой релиз в стим (прошлую игру делали командой) и я знаю, чего ожидать.
Какую игру делать?
Я точно знаю, что моих скиллов достаточно, чтобы собрать игру по темплейту или сделать гиперказуалку. Но я решил для себя, что эта игра будет:
- Сделанной не по шаблону
- Интересной мне
В итоге был выбран рогалик (не классический, но и не роглайт - в игре есть все основные признаки roguelike). Это мой любимый жанр, и давно уже хочется сделать свой, чтобы был.
Должен сказать, да и не хочу скрывать - у игры есть референс. Однако этой игры нет на PC, она исключительно мобильная. Я наиграл в нее много часов и влил немало денег (она фритуплейная). Вот она:
Buriedbornes была взята за геймплейную основу, так что Album Corvus - это варицаия на тему, только на PC и премиумная.
Арт, ассеты и плагины
Так как я решил не нанимать артистов и упростить себе разработку, я использовал немалое количество контента с маркета один плагин.
Персонажи в игре, как игровые, так и мобы, выполнены в 2D. Сначала, чтобы закрыть майлстоун с прототипом, я просто натаскал картинок из интернета. Конечно, я понимал, что не могу пойти с ними в релиз. Поэтому, когда всё остальное было готово, я подобрал подходящий концепт-арт на Shutterstock и купил его. Мне нужно было 33 арта, поэтому я взял подписку на Шаттере на 1 месяц с 50 изображениями. Обошлась она мне в $125. Скачал выбранные 33 арта, добрал оставшиеся 17 в виде просто понравившегося мне фентезийного концепт-арта и отменил автопродление подписки.
Все остальное я забирал или покупал на UE4 Marketplace.
- Advanced Magic FX 12 - VFX для навыков и заклинаний
- Advanced Magic FX 13 - аналогично. Оба, насколько я помню, забирал бесплатно на раздачах
- FX Variety Pack - аналогично. Достался бесплатно
- Luos's Particle Toolkit Vol. 1 - снова партиклы для скиллов. Бесплатно
- Craft Resources Icons - кое-какие иконки для UI и чуть для навыков/спеллов. Покупал
- Dungeon GUI - интерфейс игры построен на этом ассет-паке практически полностью. Покупал
- Ultimate Magic Sounds - Spell Sounds - кажется, достался бесплатно. Но не уверен
- Medieval Dungeon - 3D-пак, на котором у меня построен задник подземелья. Достался бесплатно. Пак офигенный
- Fantasy Spell Icons Pack - покупал за 5 баксов по скидке. Обалденно подходит под стиль, буду использовать его и в будущих играх
- Simple Notification System - для логгирования боевых сообщений. Простой, удобный, гибкий. Класс! Достался бесплатно
- RPG Skill Sound - значительная часть звуков отсюда. Покупал
- Skill And Ability Icons - в основном для юая. Покупал
Главный плагин
Easy Multi Save. Я очень не люблю делать сейв-системы в играх. Это моя основная боль. Поэтому я перерыл стор на предмет годных плагинов, которые обеспечат так необходимую мне простоту в использовании, ускорение имплементации и гибкость. Вот этот по ссылке - my god and savior. Я юзаю его везде, и в этом проекте он сэкономил мне огромные объемы времени.
В базовом варианте использование (а мне больше и не было нужно) вы просто подлючаете интерфейс, отмечаете нужные вам под сохранение переменные как SaveGame, а дальше вызываете одну команду на сейв, одну на лоуд - и всё работает!
Но сейвы все равно были адом
Потому что я по неопытности решил, что будет проще все игровые режимы (меню, метагейм между забегами, непосредственно геймплейную фазу) делать на одной карте.
Не делайте так, это сильно усложняет жизнь.
Делал бы на разных картах - было бы проще. А так я спауню актора, его же спаунит сейвовый плагин - получаем краш. Не удалил какой-то актор или виджет при старте нового забега - ловим краш.
Другая сложность с сейвами заключалась в том, что у меня довольно сложная система перков: некоторые дают бонусы к статам. другие меняют игровые правила - это одна из основных фишек игры. Так вот, если бы перки делали либо то, либо другое, то проблем бы не было - просто активируешь перки на лоуде или просто загружаешь статы из сейв-файла.
Но для меня такой подход был невозможен. Поэтому на лоуде я не выгружаю из сейва значения статов, а активирую перки и всё пересчитываю заново. С этим было связано какое-то просто исполинское количество багов. Я, по правде, рассчитываю, что не выловил их все. Буду собирать багрепорты от игроков.
В общем, с сейвами я просидел около месяца. Не было бы плагина - было бы в пару раз больше работы. Так что я все равно этот плагин оцениваю высоко и буду использовать и дальше. Теперь - разумнее.
Другие сложности
С логикой и метой проблем не было. С AI - тоже. На самом деле боты кастуют рандомно выбранные скиллы, которые не на кулдауне. Менеджер пошагового боя мне тоже дался относительно просто. Генерация лабиринта вызывала проблемы, но, опять же, в первую очередь они были вызваны сохранением и загрузкой комнат, а не непосредственно алгоритмом.
Очень интересно было делать скиллы и перки, проблемы были с теми, которые триггерят больше одного эффекта (Shatter, который бьет и снижает броню, мать твою, приветствую тебя).
Юай не вызывал проблем - UMG классный. Однако однажды я скинул билд на тест другу, у которого вот этот монструозный тридцать-с-чем-то-дюймовый монитор вайд-скрин формата. Всё полетело-поплыло. А всё потому, что я не правильно поставил якоря бэкграундов в экранах. Я по привычке ставил upper left corner, а нужно было - all 4 corners (квадратная иконка в дропдауне выбора якоря).
Релизим на Steam
Как я писал выше, тикет на игру у меня уже был куплен, но там всё было под готовлено под так и не выпущенный в Steam проект. Мы хотели запустить на стим порт одной из моих мобильных игр. Но решили, что это будет попросту неэтично, а переделывать игру под ПК нормально не хотелось, она коммерчески провалилась.
Так что я несколько дней вычищал описания, коммьюнити ассеты, капсулы, иконки и прочую метадату. Выпиливал наследие прошлой игры. Картинки загрузил без проблем, разве что о library ассетах узнал только после того, как отправил страничку игры на ревью команде стима. Нигде не видел упоминаний об этих ассетах, а они обязательны. Так вот, они грузятся туда же, куда и капсулы и скриншоты - в edit store page / graphical assets. В документации есть требования, хотя и нет информации, как их загружать.
Дальше я записал футаж для будущего трейлера - с выключенным звуковым каналом. Прекрасные полчаса геймплея - впервые без единого бага. Кстати, съемка трейлера - отличный QA-инструмент. Ох, сколько багла я вычистил, пока пытался его записать! И вот мои почласа стабильного футажа отсняты… и нужно блин все перезаписывать, потому что в трейлере я хотел игровой звук. Чуть отдохнул (три дня, ленивый лемминг) и перезаписал.
Следующий шагом создал depot и нужно было грузить билд на стим. Скачал SDK, настроил скрипты, но что-то пошло не так, грузит, но выдает при скачивании игры в дев-моде пустую папку. Напортачил в скриптах что-то. Пока ковырялся, увидел в папке с SDK папку Steamworks GUI. Распаковал, запустил экзешник - о! Графический интерфейс стимпайпа! О котором я и не знал. С его помощью билд загрузился. Почему-то со второго раза, но всё же.
На тот момент в релизном чеклисте оставался только один незакрытый пункт - your store and devcomp packages must match. Ковыряясь, я понял, что стим не дает мне редактировать сторовский пекейдж. Много гуглил, но так и не нашел решения. Написал в стим саппорт и решил пока поставить цену. Ха! Я не мог этого сделать, стим попросту не показывал мне нужный интерфейс! Перечитал свое сообщение в саппорт, решил его дополнить этой новой информацией. Пока писал, понял, что моя текущая игра еще со времен прошлой висевшей на этом тикете игры числится как free title. Вот стим и не дает поставить цену. А заодно и изменить пекейджи!
Написал новый реквест в стим, на следующий день они поменяли мне игру на платную. Сделали быстро и без проблем, так как игра еще не зарелижена. В противном случае нужно было бы еще и анонс писать и проходить модерацию. После этого изменения я смог убрать чеклистовую ошибку и игра оказалась готовой к появлению в Steam.
Сейчас нужно выждать две недели в статусе ‘coming soon’ перед тем, как игру можно будет купить.
Мои вложения
3 месяца времени. Уложился быстрее, чем запланированные полгода. Делал по вечерам после работы и на выходных.
125 баксов на арт на шаттерстоке.
Около 50 баксов на ассеты.
Такие вложения есть шансы и отбить)
Рогалик на UE4на деле какая то залупа с карточками.
ничего плохого об игре не говорю, просто ожидания были другими
Я специально написал так. В игре пермадес, процедурный данж и лут, пошаговость - основные признаки рогалика. Нет перемещения по сетке разве что.
Отличный материал, спасибо :-)
Интересны будут цифры и какие-то метрики по раннему доступу.
И надо будет, наверно, тоже пост написать как-нибудь. А то маловато негатива пока :D
маловато негативаУ тебя не получится, ты не сможешь! Так нормально?
Интересный опыт!
Спасибо, старик! Рад тебя видеть здесь)
Даже с учетом купленных ассетов и артов игре требуется единообразие элементов и серьезная полировка интерфейса. А какой прайс планируется?