Gamedev Alex Nichiporchik
2 503

Не так уж и быстро: четыре года разработки SpeedRunners

Глава tinyBuild о сложностях создания разных версий аркады.

В закладки

CEO издательства tinyBuild и ментор рубрики «Индидев» Алекс Ничипорчик рассказал о разработке аркадного платформера SpeedRunners и объяснил, почему между первым и последним релизами игры прошло четыре года. Заметка была опубликована в пользовательском разделе DTF и отредактирована.

Сегодня мы наконец-то выпустили SpeedRunners на PlayStation 4. Это самый долгий проект в моей карьере. Первый релиз был в Steam Early Access в 2013 году — из раннего доступа мы «вышли» в 2016-м. На ПК мы продали полтора миллиона копий.

В июне выпустили на Xbox One. А сегодня — на PS4. Я был продюсером ПК-версии и занимался продвижением консольных «сделок». Расскажу обо всём понемногу.

Первый ключевой арт флеш-игры SpeedRunner

SpeedRunner HD

В начале 2013-го мы выпустили в Steam No Time to Explain и заработали очень неплохие деньги. Тогда платформа не была насыщена контентом, и мы попали на волну ютуберов. Был запас денег и не было желания делать «игру номер два» как инди-команда. Мы уже готовы были разбегаться, но на конференции FlashGAMM Hamburg 2013 (проходила в рамках Casual Connect Hamburg) устроили шоукейс игр. Я ходил, смотрел разные проекты, и внезапно голландец по имени Каспер дал контроллер и предложил поиграть в SpeedRunner HD. Тогда по названию я подумал, что это какой-то мобильный бесконечный раннер.

Летсплей нашей первой игры No Time to Explain от Markiplier — это одно из первых его больших видео. С тех пор он был фанатом и в итоге получил своего персонажа в SpeedRunners.

Три часа спустя мы всё ещё сидели. Люди ушли на вечеринки, нетворкинг, а я играл с Каспером и парой людей с этого шоукейса.

Оказалось, игра зародилась как однопользовательская флешка. Потом Каспер со своим партнером Герт-Жаном сделали порт на Xbox Live Indie Games и добавили локальный мультиплеер. Именно его нам показывали. Это было потрясающе. К слову, на XBLIG игра провалилась, и у разработчиков пропадала энергия на дальнейшую работу над проектом.

Директором Casual Connect тогда был Люк Буртис, и он раздумывал о смене профессии. А я думал, что делать — есть деньги, хочется делать игры, но нет желания проходить через многолетний ад, из которого мы только что вылезли с No Time to Explain.

Круиз с неограниченным алкоголем

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

​Где-то в середине недели появилась идея: а чего бы не вложить в разработку SpeedRunners? Есть деньги, используем их для соразработки. Сделаем онлайн-мультиплеер, проработаем личности персонажей. Повезём игру на PAX.

Kickstarter? Steam?

Как только принялись за работу — посыпалась куча вопросов. Изначальный план был вывести игру на Kickstarter, как мы сделали с No Time to Explain. Но когда пытались понять, зачем — хорошего ответа не было. Да, собрали бы денег и предзаказов. Но был бы и большой риск неудачи — тогда появилась Double Fine Adventure, и куча проектов полезла на платформу.

Примерно в это же время начали выходить первые проекты в Steam Early Access. Они продавали доступ к платной бета-версии всем желающим. Решили идти новым, неизведанным путём.

Название и сюжет

В игре были механики и сюжетная линия. Но соло-кампания была очень скучной — простой тайм-триал. Он не годился даже как туториал для игры. Представьте уровень стресса, когда продюсер говорит геймдизайнеру урезать половину игры (синглплеер) и переосмыслить всю мету. Были очень напряженные дискуссии, и в итоге мы решили назвать игру SpeedRunners, сделав её о супергероях, которые соревнуются друг с другом в погоне за преступлениями.

Мы придумали четырёх персонажей и раскрыли личность каждого из них анимациями победы.

Cosmonaut Comrade, SpeedRunner, Unic, и Hothead — первые четыре персонажа в игре

Постановку для сюжетной линии сделали в анонсирующем трейлере.

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

Релиз и шоукейс на PAX Prime 2013

На релизе игра потонула. Да, были небольшие продажи, но не было взрыва, как с первым проектом. Недели две ситуация продолжалась. Пара ютуберов оценила наш «бомж-стенд», но всплеска продаж это не дало.

Летом 2013 года полетели в Сиэтл на PAX Prime. Там у нас был стенд на один день в Indie Minibooth, зарезервированный для No Time to Explain. Но первые два дня мы ходили с ноутбуком и контроллерами на шее у Люка. Выглядело примерно так:

С таким набором мы «бомжевали» на PAX Prime 2013

Но в день шоукейса случилась интересная история. Вместо показа однопользовательской No Time To Explain мы решили продемонстрировать SpeedRunners. Внезапно в Indie Megabooth образовалась толпа — очень плотная, непроходимая. Это заинтересовало прессу и ютуберов. Куча людей начали подходить и общаться о SpeedRunners, и через несколько дней посыпались статьи о том, как инди-команда tinyBuild теперь превращается в инди-издателя и публикует SpeedRunners. Ок, сойдёт.

Благодаря этим статьям, куча ютуберов, игравших в No Time, начали пробовать SpeedRunners, и мы вновь поймали волну. Тогда игра начала расти и каждые выходные прибавлять в онлайне.

Через 2-3 месяца после релиза у нас было достаточно игроков, но они не возвращались. Надо было что-то делать.

Проклятие инди-мультиплеера

Если в вашу многопользовательскую инди-игру никто не играет, она мертва. Это называется «проклятием инди-мультиплеера»​.

Кто-то умный

Мы начали работу над новыми персонажами. Сначала добавили Moonraker. Потом начали работу над Rise of the Falcon. Идея была в создании группы персонажей, которые были бы злодеями в мете, и давали другое ощущение игрокам.

Мы наняли 3D-аниматора, чтобы не рисовать каждый кадр анимации в 2D. Вместо этого хотели строить 3D-модели, анимировать их и экспортировать в спрайты. Сделали этих персонажей:

Buckshot, Falcon, Gil, Maneki Neko - четверка "злодеев"

Всё это подкрепляла весёлая история. Якобы Falcon был фермером, и его ферму сжёг SpeedRunner. Она рассказана в этом трейлере:

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

Но ничего из этого не решило проблему онлайна.

Ломаем игру каждый четверг

Онлайн взлетел, когда мы начали эксперименты с новыми режимами игры. Мы ломали её каждый четверг. А что, если с неба будут падать ракеты? А что, если ты побежишь в четыре раза быстрей?

Мы делали особые билды игры, и выпускали их для всех по четвергам. Внезапно перед выходными у нас шла активация онлайн-аудитории, и она очень хотела высказывать своё мнение об игре и новых механиках. В итоге мы начали интегрировать лучшие «сломанные» механики в основную игру. Мы сделали колесо-рулетку в начале матчей, меняющее их правила.

Карты, персонажи, воркшоп

Ютуберы и стримеры обожали игру. Мы продолжали добавлять новые карты, оружие, персонажи. Когда сделали поддержку редактора уровней через Steam Workshop — посыпались новые идеи для карт. Мы проводили конкурсы по дизайну карт и имплементировали лучшие результаты в официальную игру.

На данный момент в редакторе уровней свыше 20 тысяч карт

В один момент ютуберы настолько сильно и часто играли в SpeedRunners, что мы решили предложить им стать персонажами в игре. Этих персонажей мы продавали как DLC, а прибыль — жертвовали на благотворительность. Получилось как-то так.

​Система матчмейкинга

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

Это окончательно сформировало сообщество: мы были готовы к релизу.

Внезапно: eSports

В игре был один баг. Когда прыгаешь на горизонтальный тайл, если у тебя есть скорость падения, то эта скорость передаётся в направление угла тайла. Просто говоря: ускоряешься. Мы были готовы его убрать, но наткнулись на серию видео от игроков в топе лиг.

Они ставили мировые рекорды по времени кругов, и уничтожали конкурентов. Когда видишь человека с тысячей часов в своей игре — становится страшно.

Был один игрок — Taters McShit. Он терроризировал сообщество, был лучше всех остальных и активно троллил. Люди подписывали петицию, чтобы его забанить.

У него был спор со вторым лучшим игроков в комьюнити. И мы решили его через «Trial by Combat». Отсюда родилась идея King of Speed — турнира лучших игроков в SpeedRunners. Мы сделали специальный билд, который хостил игру на нашем сервере. К нам подключались игроки, и мы могли транслировать ивент. Внезапно на Twitch его смотрело по 300 человек, что было крутым результатом.

Вскоре после этого нас заметили в ESL. Мы сделали с ними серию турниров. Вот видео с лучшими моментами от Taters McShit.

Taters McShit показывает свой скилл в SpeedRunners

Релиз в Steam

Для релиза в Steam мы выбрали неделю PAX East 2016 в Бостоне. Было логично выпустить игру на выставке, на которой её и анонсировали. У нас к тому времени уже были десятки шоукейсов, где посреди нашего стенда стоял огромный экран и проводились турниры по SpeedRunners.

Обзор нашего стенда на PAX East в этом году

На видео — наш стенд на PAX East 2016, в центре которого расставлены скамейки (профессионально покрашенные балончиком в оражевый цвет). Мы любим создавать движение и интересные моменты на стенде, так что всегда показываем SpeedRunners. Постоянно делаем турниры и розыгрыши — это заводит толпу, создаёт ажиотаж.

Толпы людей играют в SpeedRunners
Markiplier (в сером) с группой ютуберов играют в SpeedRunners до открытия шоуфлора на PAXSouth
Косплей персонажа Salem из SpeedRunners

Мы привезли чемпиона Северной Америки и поставили большую надпись «Победи этого игрока — получишь тысячу долларов!». Толпа сошла с ума. Это было очень круто. И пару раз посетители были близки к победе.

Порты на консоли

SpeedRunners написан в XNA.

Мы почти год писали парсер, который берёт код из XNA и рендерит его через Unity. Это был волшебный момент «эврики», когда оно в первый раз заработало. Тут нет истории триумфов и трагедий — есть просто очень-очень долгий процесс, который всем слишком быстро надоел. Мы анонсировали версию для Xbox One в 2014 году, а выпустили её три года спустя.

Самой большой технической проблемой после процесса компиляции кода в Unity была наша зависимость от Steam. Мы делали всё через Steamworks — матчмейкинг, создание лобби, хранение данных пользователей. Все эти вещи надо было «отвязывать», и «привязывать» к консолям.

Если вы сразу же идёте на мультиплатформерный проект, рекомендую заранее подумать о процессах. Насколько сложно будет портировать систему лиг? Как делать базу данных? Подумали ли вы о том, что внешняя база данных усложняет сертификацию? А о том, что в мультиплеере Xbox One обязателен голос?

Группа довольных геймеров. Разыграли кучу маек и призов от спонсоров в турнире по SpeedRunners.

Релиз на консолях

Мы понимали, что у консольной версии будет та же проблема, что и у ПК — проклятие инди-мультиплеера. Её надо было решать.

Первое отличие консольной версии — ценовая политика. Базовая игра на консолях стоит 10 долларов, а не 15 (как на ПК). В ней есть часть персонажей и все карты. Но если хочешь дополнительных персонажей и косметические элементы к ним — надо покупать DLC.

Барьер входа ниже, и DLC позволяет нам занять несколько полок в списке новых игр: «обычное издание», «коллекционное издание» (обычное + DLC), и все DLC по отдельности. Это очень помогает.

Также у нас получилось заключить сделку с Microsoft на релиз в Xbox Live Gold — всем, кто подписан на Gold аккаунт на консоли, игра давалась бесплатно. Но только базовая игра. DLC всё равно нужно было покупать. Я очень доволен результатом этого решения. У нас отличная онлайн-аудитория на Xbox One — посмотрим, как пойдёт на PlayStation 4.

Доклад 2014 года, в котором я детальнее рассказываю про историю компании и первый год SpeedRunners в Early Access

Четыре года назад выпуск игры на ПК и двух основных консолях был для нас финальной целью. Но у игры есть ещё огромный потенциал. Так что всё​ впереди — новые рынки, новые площадки и консоли.

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

С радостью отвечу на вопросы!

#индидев #tinybuild

{ "author_name": "Alex Nichiporchik", "author_type": "self", "tags": ["tinybuild","\u0438\u043d\u0434\u0438\u0434\u0435\u0432"], "comments": 25, "likes": 37, "favorites": 1, "is_advertisement": false, "subsite_label": "gamedev", "id": 8070, "is_wide": false }
{ "id": 8070, "author_id": 2465, "diff_limit": 1000, "urls": {"diff":"\/comments\/8070\/get","add":"\/comments\/8070\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/8070"}, "attach_limit": 2, "max_comment_text_length": 5000 }

25 комментариев 25 комм.

Популярные

По порядку

Написать комментарий...
2

Могло ли сработать описанное оживление мультиплеера сейчас? Я так понимаю, много изменилось с 2013. Условно говоря, если инди-разработчик релизнул мультиплеер игру, и онлайн загнулся за пару недель/месяцев, по каким факторам смотреть, стоит ли свои оставшиеся деньги вкладывать в развитие онлайна, или лучше начинать что-то новое?

Ответить
2

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

Ответить
3

Я издатель, так что должен тебе говорить "дададада! иди с издателем!" -- но это не всегда так. Тебе нужно просто иметь возможность нагнать аудиторию на игру, и понимать будет ли она продолжать играть. Оттуда уже вопросы решения проблем. Например, нашу игрушку Streets of Rogue ускорил релиз на Стиме с бесплатным викендом. После этого викенда, каждый следующий (уже платный) -- больше по прибыли предыдущего. Это была простая и уникальная идея.

Ответить
2

Да. Сейчас в Стиме вообще куча людей играют группами по 2-4 человека, и ищут мультиплеер игры. Похоже приемы сегодня думаю сработыли бы.

Ответить
2

В игре был один баг. Когда прыгаешь на горизонтальный тайл, если у тебя есть скорость падения, то эта скорость передаётся в направление угла тайла. Просто говоря: ускоряешься.

Забавно, но без этого бага игра была бы намного медленней и скучней. И может не горизонтальный, а наклонный тайл?

Ответить
0

Все верно, наклонный :) и я был там, когда Каспер чинил этот баг и мы нактнулись на видео "про плееров"

Ответить
1

Данки-то добавили?

Ответить
1

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

Ответить
1

Не могу подтвердить или опровергнуть

Ответить
0

А что за проект у вас? Мы выходили через партнеров на локальном рынке, думаю затык только в них и желании сотрудничать, а в остальном площадки как Steam - сиди да делай.

Ответить
1

Мы почти год писали парсер, который берет код из XNA и рендерит его через Unity.

Звучит страшно, а не было альтернативного решения?
А за игру спасибо, с друзьями переодически забегаем в нее.

Ответить
0

Тоже это интересно) Ведь, если вставал вопрос в кроссплатформенности, можно былоб заюзать MonoGame, он в легкую конвертирует проект из XNA и есть возможность собирать билды под разные платформы

Ответить
0

Мы думали писать с нуля, и думали над решениями типа MONO. Поддержки Моно не дождались. С нуля решили не писать, чтобы не поддерживать несколько платформ через разные код-базы. Очень хотелось чтоб был один код, которыц можно апдейтить под все платформы одновременно.

Ответить

Комментарий удален

0

Набираешь в одном баре коктейлей, в другом — шотов водки, мешаешь. И так 8 дней.

Теперь понятно, откуда взялась ключевая фишка Линча.

Ответить
1

Как-то так, да :D

Ответить
0

Люблю эту игру. Покупал пак на 4 пипла.

Ответить
0

Потенциал на ps4: один из лучших диванных кооперативов года (наряду с Crawl). По факту: кроме дивана найти кого-то нереально, особенно в ранкед-матчах. Не удалось пока сыграть ни одного, с квикматчами тоже негусто. Повезло владельцам Xbox, что я могу сказать. В соло по сути единственный режим, в котором можно разве что выдрачивать карты на максимальной сложности.

Короче, дай бог чтобы на плойке взлетело

Ответить
0

Проблема инди мультиплеера. На Xbox One огромная аудитория из-за Xbox Live Deals with Gold. На PS4 в Августе будет большое население из-за распродажи. Без инструментов взаимодействия с сообществом как на Стиме, тут вообще сложно :(

Ответить
0

А новый King of Speed планируется? Уже годик как не было.

Ответить
0

когда-нибудь

Ответить
0

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

Ответить
0

Последние карты были добавлены полтора года назад примерно. Там Лерика на них арт рисовала еще.

Ответить

Комментарий удален

0

Думали насчёт PS Vita?

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
В Steam появилась функция продажи
подержанных цифровых копий игр
Подписаться на push-уведомления