реклама
разместить

The StoryTale - как гоблины бросали курить и другие сложности портирования

Всем привет! Меня зовут Максим и я автор сказки-платформера “The StoryTale”. Сегодня я поведаю добрым волшебникам, почему перед выходом игры на Nintendo Switch гоблинам из мира нашей игры пришлось завязать с вредными привычками.

The StoryTale - как гоблины бросали курить и другие сложности портирования

Начну издалека, а именно с рассказа о самой игре и о том, как она появилась на свет. The StoryTale это сказка-платформер, где всё постоянно взрывается, бабахает, бессмертный принц сражается проклятым оружием, а потерявшаяся в подземельях принцесса постоянно забывает свои заклинания.

The StoryTale - как гоблины бросали курить и другие сложности портирования

Игра вышла в Steam летом прошлого года, но её разработка началась аж в 2015-ом году. Я тогда не имел за спиной больших завершенных проектов, а пробовал свои силы на джемах, попутно разбираясь в Game Maker Studio. Тема одного из джемов носила название «бесполезные супер-способности», и мной было сразу решено отойти от идеи супергероики, чтобы не затеряться в бесчисленных пародиях на супермена и человека паука. В поиске другой идеи мне помогла моя девятилетняя дочь Арина. Она придумала концепт, повествующей о принцессе, спасающей принца и располагающей арсеналом весьма своеобразных заклинаний, а более того – неспособной выбрать нужное.

Тогда-то и были заложены основные механики и идея, что моя дочь будет в этой игре рассказчиком, озвучивая текст сказки, в рамках которой разворачивается The StoryTale. Я не художник, и внешний вид игры на тот самый джем был весьма минималистичен:

The StoryTale - как гоблины бросали курить и другие сложности портирования

Игра не заняла призовых мест, но сделала гораздо большее – она положила начало четырехлетнему периоду разработки более крупного проекта. Участие в джемах уже стало привычкой, и, даже занимаясь таким большим для меня проектом как The StoryTale, я отвлекался на разработку маленьких игр. Как ни странно, в ограничениях по времени и возможностям проще генерировать идеи, и множество механик, придуманных на этих джемах, успешно переносились в игру. Одна из механик, которая прочно закрепилась в финальном билде, это механика, привносящая в игру псевдо-пошаговость. Враги и ловушки двигались только тогда, когда двигалась сама принцесса, словно бы это 2D-версия игры SuperHot.

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

The StoryTale - как гоблины бросали курить и другие сложности портирования

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

К проекту подключалось несколько художников. Но они быстро покинули его. Для любительского геймдева такой порядок вещей является нормой и на нем я продержался два года.

В 2017 году к нам присоединился художник-аниматор Сергей, и игра зацвела новыми красками. Пара других художников обеспечила новоиспеченным анимациям замечательные фоны, что тоже благотворно сказалось на внешнем виде the StoryTale. Принц с принцессой стали подвижнее, а гоблины, которые являются основными обитателями мира The StoryTale, стали куда одушевленнее.

Также мы начали показывать нашу сказку-платформер на выставках и фестивалях со стендами инди-игр. Это был увлекательный и незаменимый опыт общения с игроками и другими разработчиками. Если вы показываете где-то игру и есть возможность использовать большой телевизор, обязательно этим воспользуйтесь. На одной же из выставок я познакомился с разработчиком игр Славой Грис, который пару лет спустя выступит издателем на Nintendo Switch. На мой взгляд личные отношения очень важны в индидеве. И отзывчивые коллеги по цеху - это очень неплохо :)

The StoryTale - как гоблины бросали курить и другие сложности портирования

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

Его маленькая племянница попросила нас, чтобы эти обаятельные существа больше не погибали, и мы прислушались. Ее просьба подчеркнула, насколько геноцид гоблинов неуместен, когда ты делаешь сказку.

The StoryTale - как гоблины бросали курить и другие сложности портирования

Итак, к лету 2019 обросшая кучей механик The StoryTale была доделана и выпущена в Steam. За период разработки персонажи научились останавливать время, летать над землей, проходить сквозь стены, становиться гигантами, сметающим все на своем пути, замораживать врагов, колдовать облака-ступеньки, дышать под водой и много другое.

С моей дочерью Ариной мы прописали мини-квесты с участием гоблинов, подсказки, она озвучила монологи от имени Маленькой Принцессы. Большая часть - в стихах (что потом еще аукнулось нам на переводах).

Но на этом история её создания не закончилась, ибо впереди замаячила возможность выпустить ее на Nintendo Switch. Терять «независимость» при работе с крупным издателем мне не хотелось, и портирование-выпуск осуществлялись таким же инди-методом, как и сама её разработка. Получить Devkit от Nintendo в Россию самостоятельно очень сложно, но один мой знакомый – Слава Грис - все-таки это сделал магическим способом (а в сказках иначе и не бывает) и именно он выступил в роли моего издателя.

The StoryTale - как гоблины бросали курить и другие сложности портирования

Я уже на собственном опыте познакомился с процедурой публикации игры в Steam – вы оформляете страницу, делаете билд, проходите очень скромную проверку, публикуете игру. В этом процессе есть, разумеется, сложности и подводные камни, но с тщательностью просмотра игр, выпускаемых на Switch, Steam не сравнится. Работа над портом началась еще в январе 2020го, а релиз состоялся сегодня – 30 июня 2020го. Что же заняло столько времени?

The StoryTale - как гоблины бросали курить и другие сложности портирования

Первый запуск The StoryTale на девките состоялся весьма быстро. Игра сразу заработала на необходимых 60 кадрах/секунду. Но на больших уровнях производительность могла снижаться раза в два и пришлось дополнительно оптимизировать код.

Дальше череда проверок Nintendo выявила еще ряд нюансов. Их сотрудники очень внимательно изучают игры, которые разработчик желает опубликовать в их магазине, и разворачивают предлагаемые билды по самым разным, иногда весьма абсурдным, а иногда и не очень, причинам. Ситуация с COVID19 делала эту процедуру еще и чертовски медленной.

Например, изначально обучение в игре было представлено такими вот gif-изображениями:

Но сотрудник отдела тестирования предположил, что кнопки на экране демонстрируют какую-то другую консоль (game boy advance?) и велел в строгом порядке переделать обучение. Слава предложил перезаписать 40 GIF изображений с новым интерфейсом. Но я потратил еще несколько дней и написал обходное решение, располагающее отдельные кнопки поверх этих гифок.

The StoryTale - как гоблины бросали курить и другие сложности портирования

Стоит также иметь в виду, что Nintendo очень щепетильно относятся к названиям собственных кнопок. Так, например, на Switch, оказывается, отсутствуют триггеры. Слово триггер использовать нельзя. Так же нельзя использовать Press Any Key – должно быть четкое указание кнопки, например Press A to Play. Когда игра уже переведена на кучу языков, такая смена формулировок может вызвать отдельную головную боль. Интуитивно догадаться какой порядок слов нужно выстроить на европейских языках еще можно, а вот китайский – это подстава. Благо у Nintendo есть определенный словарь их терминов на нескольких языках, который, может быть, кому-то и поможет.

The StoryTale - как гоблины бросали курить и другие сложности портирования

Также сотрудники отдела тестирования проводят безумное количество опытов над вашей игрой. Я не могу представить, что еще с ней пытались сделать перед тем, как развернуть очередную сборку по причине того, что игра отображается не на весь экран если подключить ее к телевизору с разрешением в… 480р. Где взять такой телевизор, чтобы проверить в чем косяк самостоятельно – тот еще вопрос, так что решено было исправлять этот баг почти вслепую, запуская сборку на ПК и меняя разрешение монитора на 480р.

Ещё в их требованиях четко указано, сколько раз игра может писать сохранения в минуту. При тестировании оказалось, что что иногда игра сохранялась аж 42 раза за 60 секунд. В ПК-версии для упрощения тестирования и контроля происходящего процесса в любой сохраняемый параметр сразу открывает файл, записывается туда и закрывает файл. Что оказалось неприемлемым для прохождения игры проверок от Nintendo.

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

А теперь вернемся к курению. Когда столько раз получаешь отказы от отдела тестирования Nintendo - уже может потянуть расслабиться не очень полезным способом.

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

Дело в том, что Steam не требует получения и указания возрастных рейтингов, а для релиза в Nintendo eShop это процедура обязательна. Возрастной рейтинг присваивается цифровому продукту в следующем порядке: после регистрации названия продукта в магазине, издателю выдается «тикет» в рейтинговую систему IARC. Там издателю предоставляется здоровенная анкета, с пунктами вроде «есть ли в вашей игре секс?». Если поставить галочку, напротив «да», то анкета обрастет еще бОльшим количеством вопросов о том, какие части тела персонажей вы показываете и насколько близко расположена к ним камера. В зависимости от ваших ответов, игре присваивается рейтинг в большинстве стран – Pegi, ESRB, ACB, Russian (у нас не особо задумывались над наименованием, да) и так далее.

Немного интересной информации: для получения CERO (рейтинг в странах Азии) нужно заплатить две тысячи евро, записать прохождение игры на японском, ужатое в один час, и прислать им в Китай… DVD с этой записью.

The StoryTale - как гоблины бросали курить и другие сложности портирования

Кроме очевидного секса и насилия в анкете есть куча вопросов про алкоголь и про злосчастные сигареты. Так вот, без сигарет у нас стояла галочка только напротив cartoon violence, что давало игре в некоторых странах 3+, а ESRB вообще пометил ее как «для всех возрастов». Но стоило упомянуть, что в игре есть раковые палочки, как возрастной рейтинг почти во все странах взлетел до 18+, что является неприемлемым, когда ты собираешься выпустить в e-shop добрую сказку, где нельзя никого убивать.

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

Если вам приглянулась сказка-платформер The StoryTale – добро пожаловать в Steam или e-shop, где результат пяти лет моей работы уже доступен.

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

Страница игры в Steam: http://store.steampowered.com/app/629230

Страница игры в Nintendo eShop:

3737
реклама
разместить
6 комментариев

Значит будем ждать вашу следующую игру ?

Ну.. будем ( ͡° ͜ʖ ͡°) 

1

А если это не сигареты, а вейп какой-нибудь? Это ведь даже злее.

нужно искать вейпы с белой магией)

Хочу CupHead в псевдопошаговости

псевдопошаговость в каждую игру!

модель
8787
7070
4141
22
11
11
кринж
Субботний скриншот. Во что играете на этих выходных?

Продолжаю Assassin's Creed Shadows

Субботний скриншот. Во что играете на этих выходных?
185185
2020
1313
55
44
22
22
22
22
11
В Турции заблокировали Rutube под предлогом борьбы с рекламой азартных игр
В Турции заблокировали Rutube под предлогом борьбы с рекламой азартных игр
219219
2222
1313
99
22
11
11
11
Причина ясна: сервера рутуба стали устаревать
Самая мерзкая и противная локация которая вам встречалась в играх?
Самая мерзкая и противная локация которая вам встречалась в играх?
6868
55
55
33
22
11
Тень в Драгон Эйдж 1
Pure Fiction. Пять Неэкранизируемых Романов
Pure Fiction. Пять Неэкранизируемых Романов
3434
99
55
11
Открыл для себя очень неожиданно miasma chronicles
Открыл для себя очень неожиданно miasma chronicles

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

3535
44
33
У меня плохие новости

Потому что мне нечего рассказать про стриминг с PS5 на Steam Deck.

Наиграл за день 6 часов в тлоу2, из них час на стимдэке. Картинка не рассыпалась на пиксели и не утонула в мыле, а фпс уверенно держался на отметке 60.

У меня плохие новости
5050
77
33
22
Я контентмейкер, мне надо мейкать контент, а как
реклама
разместить
Разработчики inZOI исправили «непреднамеренный баг», из-за которого машины могли сбивать детей

Krafton назвала клипы «крайне неподобающими».

Разработчики inZOI исправили «непреднамеренный баг», из-за которого машины могли сбивать детей
312312
7171
2222
1515
55
44
22
11
11
А чужих увозить всё ещё можно?))
Откуда спрос на соулслайки, экстракшен шутеры и рогалики? Объясните что вам в них нравится

Я смотрел несколько последних TGA, было сложно но я справился и еще пару выставок. И у меня встал вопрос, а почему вообще у людей есть спрос на все это? Ведь если бы на это не было спроса это бы не делали

Откуда спрос на соулслайки, экстракшен шутеры и рогалики? Объясните что вам в них нравится
5656
1515
22
22
11
11
Потому что все что ты привел это игры про геймплей в первую очередь, я играю в игры ради геймплея в приоритете, а потом уже сюжет и прочее, в сосалики приятно играть потому что ты растешь как игрок. Тоже самое тарков, из каждой смерти если ты не бобяра, то извлекаешь опыт и некст раз стараешься отыграть лучше. Рогалики ровно тоже самое. С каждой смертью ты ее анализируешь и становишься лучше. Приятное чувство когда после десятка, неудач ты убиваешь противника и убиваешь не просто накрутив себе циферки, а убиваешь потому что ТЫ как игрок стал сильнее
Я вижу, вам всем понравилось превращать мемы в Ghibli, но как насчет мемов в стиле Страдающее средневековье?
Я вижу, вам всем понравилось превращать мемы в Ghibli, но как насчет мемов в стиле Страдающее средневековье?
155155
2424
66
33
11