Эпидемия, бандиты и многорукий Роналд Макдоналд. Как мы разрабатывали игру для художника из Нью-Йорка
Талантливейший художник из Нью-Йорка стал первым, кто придумал и реализовал свою масштабную игру – ТURBO HOOD. А мы ему в этом помогли. В статье рассказываем, как это было.
Привет! Я Серёга Шилов – фронтмен IT аутсорсинга We Wizards. Два года назад мы заколлабились с Алексеем Машковым, невероятным художником и тату-мастером из Нью-Йорка, чтобы реализовать его сумасшедшую (в самом хорошем смысле) идею.
Создать игру со своей уникальной вселенной, в которой можно делать всё, что душе угодно. Соединить три разных жанра с разными механиками, интегрировать туда сюжетные видео с разными пасхалками и эстетикой культуры 90-х. Никаких правил, никаких пожеланий клиента, полная свобода.
Вот, что об этом говорит сам Алексей
Эта идея была у меня с раннего детства, но мне пришлось отложить ее, пока я не оказался в Нью-Йорке. Этот город сам по себе очень напоминает игровое пространство, сумасшествие во всей своей красе. И как только у меня появилось свободное время на создание нового арта, я вспомнил свою давнюю мечту. К тому же, к этому моменту у меня уже была команда, с которой мы работали над другими Digital проектами.
Суть игры
Люди начинают болеть неизвестной болезнью. Основной симптом — это черная слизь, которая начинает вытекать из рта и разливается везде.
Главный герой узнает об этом из новостей в магазине. Когда он выходит на улицу, его застает врасплох полный апокалипсис.
Теперь перед ним стоит задача — разобраться, что происходит.
Игра разделена на три уровня сложности. Коротенько и без спойлеров рассказываем, в чём суть.
Первый уровень
На первом уровне предстоит пробраться сквозь кучу мобов, ковидстеров, пьяных панкушных чик, Бритни-пауков, а в заключении — победить мак-босса.
Сюжет игры раскрывается через кат-сцены, которые рассказывают о событиях, происходящих в городе.
В конце уровня нас ожидает босс.
Второй уровень
Это уже гонка в стиле платформера. Задача игрока — уклоняться от поездов, движущихся с различной скоростью и с разных платформ.
Игроку предоставляется всего секунда на реакцию, чтобы избежать столкновения с поездом, и при этом преодолевать препятствия в виде мобов.
Третий уровень
Аркада на крышах Нью-Йорка. Здесь герой сталкивается со своим альтер-эго, а его единственная задача — одержать победу.
Самая сложная задача заключалась в том, чтобы уместить множество графических, видео- и аудиоматериалов в наши уровни так, чтобы игра не требовала много ресурсов. Все элементы нарисованы вручную и строго последовательно. Бэкграунд живой, включает множество видео и аудио. Наша цель была избежать просадки производительности и чрезмерного потребления ресурсов. Сложную графику удалось оптимизировать с помощью хитрых приемов, и в результате каждый уровень стал настоящим шедевром, сохранив легкость и производительность.
Результаты
– Успешный PR-ход и рост узнаваемости: получилось создать нечто уникальное в тату-индустрии и выпустить игру с персонажами своих работ.
– Игра «Turbo-Hoo» способствовала увеличению числа подписчиков и росту популярности автора.
– Этот проект стал отражением творческого мира художника и позволил воплотить идеи, которые были бы невозможны в рамках иных проектов. Он послужил источником вдохновения для создания новых персонажей и способствовал развитию цифрового искусства автора.
– Новый мерч Алексея, полностью основанный на вселенной игры, нашел отклик у аудитории, и люди с радостью его приобретают.
А теперь о том, как мы это провернули
Мы отвечали за разработку, ребята из p.motion за анимацию, а Алексей взял на себя художественную часть игры.
Нам нужно было подобрать игровой движок, который поддерживает HTML5, JavaScript. Так выбор пал на Phaser.js.
В тот момент мы ещё не знали, что его будет недостаточно из-за мощности браузера. Но обо всём по порядку.
Столкнулись с бесконечным количеством вещей, которые не знали, как решить
Когда запускается браузерная игра, движок единожды рендерит всю сцену и отдаёт виде канваса. Всё, что в нём находится, хранится в оперативной памяти. Тут-то мы и столкнулись с большой проблемой – несколько сотен мегабайт данных нужно хранить в оперативной памяти, и очень быстро их обрабатывать.
Как надо игра запускалось только в Chrome, потому что он может использовать аппаратное ускорение. Что нельзя сказать о том же Safari, у него с аппаратным ускорением все сложнее. А перед нами стояла задача сделать так, чтобы игра была максимально доступна для всех.
Начали думать, как эту проблему решить
Сначала загрузили уровни на разные страницы – при переходе между уровнями мы собирали только ту часть ассетов и тот скрипт, который относился к конкретному уровню. Но проблему это не решило – игра продолжала падать на Safari.
Мы поделили первый уровень игры на три части, но мощности, чтобы его отрендорить, всё равно не хватало.
Угорели по Тодду Говарду и сделали загрузку везде, где можно
Все знают эти мемы про Starfield, где загрузка на каждом шагу? Мы сделали то же самое:)
И получилось круто – то, что изначально было проблемой, стало костылем для создания фишки игры, потому что загрузочные экраны – это отдельный арт, который хочется рассматривать в деталях.
Больше о трудностях и концепции рассказываем в интервью
Отзыв
Работа с командой We Wizards оставила исключительно положительное впечатление; было бы странно говорить иначе, учитывая достигнутый результат.
Ребята не только качественно реализовали мои запросы, но и активно участвовали в разработке схем взаимодействия персонажей/поверхностей/слоев в игре. Я неоднократно получал от них ценные рекомендации и ясные объяснения по поводу функционирования различных механизмов.
Я уверен, что наш продукт обладает значительной конкурентоспособностью на рынке игровой индустрии, и я определенно планирую продолжать его развитие в будущем.
Алексей Машков
Технологии
HTML5, JavaScript, Phaser.js.
Команда
Алексей Машков - художник, идейный вдохновитель
Сергей Смирнов - звукорежиссер
We Wizards
Даниил Сарабьев
Сергей Шилов
Дмитрий Калинин
P.MOTION
Денис Левченко
Лилия Идилия
Семен Левченко
Анна Осинцева
При участии
Николай Мерцалов
Алексей Волх
Сергей Паршин
Mash Junior
Ricardo Faria
FIN!
Спасибо всем, кто дочитал до конца! Поиграть в игру можно здесь.
https://games.wewizards.ru/ - наш суперский сайт раз
https://wewizards.ru/ - наш суперский сайт два
И пишите мне в тг если ищите руки для разработки – @olivoin