[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "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", "tablet" ], "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", "phone" ], "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": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } } ] { "gtm": "GTM-NDH47H" }
{ "author_name": "Глеб Диденко", "author_type": "self", "tags": ["\u043e\u043f\u044b\u0442"], "comments": 8, "likes": 26, "favorites": 3, "is_advertisement": false, "section": "pro" }
1 824
Gamedev

От джемов до Steam: идея и разработка игры STANDBY

Геймдизайнер Noclip Алексей Степанов о создании динамичного платформера.

Поделиться

В избранное

В избранном

6 января в Steam вышел хардкорный минималистичный платформер STANDBY от команды Noclip. В студии всего два человека: Алексей Степанов и Екатерина Фролова.

Геймдизайнер Noclip Алексей Степанов рассказал DTF о том, как проект дошёл до релиза.

Мы занимаемся разработкой игр уже в течение трёх лет, и это наш второй релиз. Наш путь начался с участия в джемах по разработке игр без опыта в игростроении. Конечно же, первое, что мы сделали — это взялись за проект, который был выше наших возможностей на тот момент (хоть и не MMORPG, но мы обязательно в будущем сделаем свою игру в духе Rayman Legends, как и хотели).

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

Идея

Как и полагается, всё случилось спонтанно. Первоначальная идея STANDBY появилась как раз на одном из конкурсов — GamesJam’е (организованном Олегом Чумаковым на gamesjam.org). Это был джем с одной неделей на разработку и заданной темой — фобии. У меня родилась идея о похождениях детектива, который исследует ваши страхи и ловит ваших внутренних демонов – вживую.

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

Мы вернулись к своему основному проекту, но усталость и грандиозные планы начали явно конфликтовать друг с другом. В этот момент оказалось, что у STANDBY, засветившегося на конкурсах и показанного на шоукейсе в рамках DevGAMM, есть потенциал.

Проект встал на свой путь к релизу благодаря Сергею Бабаеву, который поверил в него, помог нам с поиском издателей и задал вектор разработки на первых стадиях. Так мы познакомились с нашими издателями – ребятами из Pinkapp (сейчас уже HypeTrain Digital), с которыми мы запустили нашу первую игру BARRIER X и теперь работаем над запуском STANDBY.

Концепция

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

В моём рабочем процессе многое строится на экспериментах и многократных итерациях. Так что одним из самых важных уроков, которые я вынес для себя — в какой-то момент нужно осознать, что игра может начать «жить своей жизнью» вопреки твоим первоначальным планам. Игра развивалась, и во главу угла был поставлен игровой процесс. Сюжет и история, задуманные вначале, оказались второстепенным моментом и в итоге вовсе исчезли.

Разработка

Это наш второй релиз, и после простой аркады ставки были слегка повышены. Чтобы чему-то научиться, задачи должны стать сложнее. На смену простейшей случайной генерации и управления в четыре кнопки (из нашей первой игры) пришли настоящие уровни и полноценный контроллер персонажа.

Создание контроллера поначалу было непростой задачей, поскольку в нём мне хотелось объединить сразу два важных момента. С одной стороны, нужно было, чтобы игрок получил полный контроль над каждым шагом героя, а с другой, позволить (уже другому) особо ловкому игроку преодолевать максимальные скорости, прописанные в коде (для скольжения и прыжков), чтобы достигать лучших результатов на уровне. Что из этого получилось, скажу чуть позже.

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

Во-первых, это «ключи», разбросанные по уровню – их можно собрать только за одну попытку (то есть пройти уровень, учитывая их положение и ни разу не умерев).

Во вторых — «target-time» — рекорд, который я установил на каждом уровне, и который игроку следует побить. На одних уровнях для этого достаточно просто без особых ошибок пробежать уровень до конца, а вот на других придётся действительно постараться.

Только выполнив эти условия, можно пройти игру на 100%. Это даёт игрокам дополнительную мотивацию к прохождению уровней (как минимум ещё раз, поскольку за одну попытку на многих уровнях практически невозможно собрать все ключи и побить рекорд).

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

Что касается дизайна уровней (с такой задачей столкнулся впервые), я вынес для себя важный урок — не стоит жалеть времени на создание удобных инструментов. Как только становится ясна структура игрового уровня и его составляющие, каждый промежуток времени, затраченный на действие, которое ты мог бы автоматизировать заранее, будет умножено на количество уровней в игре. Автоматизируйте, друзья.

Визуальный стиль

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

Guacamelee!

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

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

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

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

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

Для создания глубины картинки помимо цветов использовалось одновременно две камеры: одна ортографическая — для рендера героя, основной геометрии уровня и объектов, а вторая с перспективой — чтобы передать ощущение большого пространства. Благодаря тому, что положение камер специально было неточно подогнано относительно друг друга, создаётся ощущение, что фон слегка «быстрее». Другой любопытный момент состоит в том, что искры рендерятся сразу обеими камерами, что делает эффект чуть более объемным.

Что касается визуализации интерфейса, главной была задача сделать его таким, чтобы не нужно было переживать за локализацию игры. Каждый пункт меню и окно по умолчанию рассчитаны на то, что любая строка может быть как в два символа, так и во все десять. Безусловно, было множество нюансов, но проект небольшой, и информации на экране много никогда не бывает, так что с этой частью игры было работать приятнее всего (несмотря на то, что код интерфейсов переписывался как минимум один раз почти с нуля).

Ну а тот, кто знаком с BARRIER X, наверное, не удивится главному меню STANDBY – правда в этот раз объемное лого не несет какой-либо функциональности.

Итого. Минимализм – отличное решение, когда хочется сосредоточиться на игровом процессе. Выбрав это направление, очень удобно решать вопросы цветовой индикации игровых объектов и состояний. Хотя, как и в случае с BARRIER X, есть один важный недостаток в финале — скриншоты никогда не будут отражать суть, поскольку только через gif и видео можно получить правильное представление об игре, где вся суть в движении.

Промо-арт

Для промо-артов мы сосредоточились на эффектном представлении главного героя. В арт-интерпретации происходящего в игре, нам показалось скучным пытаться изобразить панорамы этого пустынного мира плоскостей и градиентов. Вместо этого арт демонстрирует ключевые действия персонажа (Slide, Dash, конечно же, смерть и пр.). Для финального трейлера были сделаны короткие анимационные вставки, которые вполне подчеркивают, на наш взгляд, драйв игры.

Спидраннеры

Я изначально закладывал в физику персонажа возможность разгоняться чередой определенных действий. У меня не было конкретного плана, но потенциал для спидранов я оставил намеренно. К счастью, это коммьюнити заметило нас само — один из игроков подал заявку на speedrun.com чтобы открыть лидерборд по доступной на тот момент демо-версии. Чуть позже наши издатели решили устроить там конкурс на скоростное прохождение первых 11 уровней.

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

За время конкурса я увидел совершенно немыслимые трюки, способы обходить правила и ломать игру, лишь бы сэкономить доли секунды. Интересно наблюдать за тем, как внутри твоей игры появляется совершенно новый уровень. Таким образом, спидран выделился в полноценный режим игры. Можно пытаться пройти на скорость как каждую из шести секций, так и всю игру целиком. Быстрейшие встретятся в лидербордах.

Релиз

Запуск STANDBY был долгожданным. Разработка игры шла значительно дольше, чем планировалось, а релиз несколько раз переносился, но это было интересным испытанием и чертовски полезным опытом. Надеюсь, что наша игра найдет отклик среди хардкорных игроков и поклонников жанра. Игра вышла в Steam 6 января.

#инди #индидев #опыт

Популярные материалы
Показать еще
{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

Прямой эфир

Узнавайте первым важные новости

Подписаться