Проект: Remote Bot — платформер с управлением из терминала  Публичный пост
Remote Bot — платформер с управлением из терминала

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

Начало

Началось всё с легендарного игрового джема Ludum Dare. Игровой джем — это своего рода хакатон: участникам предлагается за короткое время (например, за три дня) разработать полноценную игру на определённую тему. По окончанию джема, обычно, участникам даётся время на то, чтобы поиграть в игры друг друга, дать фидбэк и поставить оценки в различных номинациях. Победа не приносит ничего, кроме плюса к ЧСВ, но каждый участник получает опыт, фан и игру, которую можно довести до релиза.

В любой момент времени в мире проходит с десяток игровых джемов (я не преувеличиваю), они отличаются временными промежутками (от одного часа до десяти лет), правилами (от делай что хочешь до запили игру в PowerPoint), темой и способом выбора победителя. Ludum Dare выделяется из массы тем, что он проходит регулярно начиная с далёкого 2002-го и является одним из самых массовых онлайн-джемов. Многие интересные инди-игры появились именно благодаря ему (например, Hollow Knight и Papers, Please).

Это был мой второй Ludum Dare в жизни и первый, в котором я участвовал в одиночку. Тема была необычной — Combine 2 incompatible genres. Сначала она вызвала ступор, идеи, которые приходили в голову были странными и сложно реализуемыми. Вдохновение пришло, когда листая посты с прогрессом других участников я увидел это:

Just look at him go!
Just look at him go!

Внезапно, в моей голове сложилась чёткая картинка со стилем и основной механикой игры. Я всегда был жителем терминала, потому идея приделать его к платформеру не вызывала у меня никакого диссонанса. Напротив, я представлял себе, как сделать это практически бесшовно. Вопрос был только в том, будет ли интересно другим людям играть в это? Забегая вперёд: о, да!

Разработка прототипа

Для реализации игры я выбрал уже знакомый по прошлому джему веб-движок Phaser. Это не было плохим выбором, однако я потерял пол дня на переписывание кода, когда выяснил, что выбранная мной подсистема физики не совместима с тайлмэпами.

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

jam-version
jam-version

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

Игра не заняла призовых мест на джеме, но попала в топ-200, что вполне неплохо для второго раза. Я был вполне доволен результатом. Но самое интересное было впереди.

Remote Bot 2.0

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

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

Мне давно хотелось доработать игру и перенести её с веба на PC. CityFest оказался необходимым толчком, чтобы начать двигаться в этом направлении. Я распаковал Godot, нагуглил шейдеров для визуальных эффектов и начал переносить механики из джемовской версии. Отчёты о прогрессе с короткими видео и комментариями я заливал в твиттер. К фестивалю у меня был полноценный демо-уровень с четырьмя комнатками, шипами и врагами, которые умеют не только ходить, но и летать.

fest-version
fest-version

Сам фестиваль был просто потрясным событием! Я, конечно, уже знал, что где-то в мире существуют разумные существа, которым зашла первая версия игры, но когда рядом с тобой сидит незнакомый тебе человек и ты видишь, как твоя игра доставляет ему эмоции — это крышесносное ощущение! Люди садились попробовать за значок и настолько втягивались, что проходили демку до конца, даже если на это уходило больше десяти попыток. Но больше всего доставили два 14-летних пацана, которые устроили соревнования по спидрану нашей игры. Возможно, у интерфейса командной строки, всё-таки, есть будущее. :)

Единственное фото, которое я смог найти.
Единственное фото, которое я смог найти.

Что дальше?

Хороший вопрос. Изначально план был допилить игру и выложить её в Steam. Проблема лишь в том, что я не представляю, как превратить 15-ти минутную демку в полноценную игру. Очевидно, что одной механики тут недостаточно, нужно развитие, апгрейды, левел-дизайн и эпическая битва с боссом в конце. Но после фестиваля огонь в глазах поугас, я переключил фокус на магистерскую и открывал Godot только для участия в джемах на выходных.

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

2 комментария 👇
Георгий Широков, Инженер-конструктор 26 декабря 2020

Выглядит круто! Люблю ascii-тематику в играх. Было бы круто, если игра действительно запускалась в консоле.

  Развернуть 1 комментарий

@gekonshi, идея интересная, но, скорее всего, сказалось бы на читаемости игры. Кстати, многие подобные игры наоборот, отказываются от терминалов в пользу самостоятельного отрисовывания символов. Получается, что в игру добавляют графику, но оставляют её ASCII-шной. >_<

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб