Сделал игру за 5 часов

Откладывая на потом и кое-как втиснувшись в дедлайн таки принял участие в конкурсе, но успел не всё. Подробнее в этом небольшом пост-рассказе (писал кстати дольше, чем игру делал).

Участвовал в конкурсе КОД одного сайта. КОД расшифровывается как Конкурс Одного Дня и хотя по факту он длится больше 24 часов, но в этот раз вышло, что я участвовал даже меньше этого самого Одного Дня.

Тема — Рикошет. Не гений мысли, поэтому пришла в голову лишь самая банальная идея: игрок кидает снаряд, который отталкивается от стен и включает выключатель.

Скриншот итоговой версии игры
Скриншот итоговой версии игры

В этом вся идея и я сел за бумажку описывать мысли. Результатом стала вот такая картинка с планом:

Сделал игру за 5 часов

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

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

В распоряжении был один день, хоть конкурс и длился целых три. Даже больше: у меня было меньше 8 часов на проект, но это создавало свой вызов. При этом скорее вызов планирования.

Инструментарий

Без лишних размышлений беру GameMaker и Aseprite. Заранее мне понятно, что игра будет 2D, небольших размеров в пикселях и скорее всего на одном экране с делением на уровни. Этих инструментов хватит для таких задач.

Вдохновение

С недавних пор стараюсь на конкурсы делать упор на геймплей, но получается как получается. Раньше же я придумывал всё скорее от каких-то сюжетных вещей или персонажей. В данном участии тематика слилась с воспоминаниями — Bionicle. Я старый фанат этой серии и особо мне нравятся начальные поколения и вообще Lego Technic тех времён, который кажется даже угловатый и причудливый.

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

Промо к Биониклам, который был в Хэппи Мил Макдональдс
Промо к Биониклам, который был в Хэппи Мил Макдональдс

Раш или гонка со временем

Не сказать, что я таки трёсся и “быстрее! быстрее!”, но действительно всё было второпях. При этом необходимо было иметь в голове чёткий план действий и последовательность. Признаюсь, но я пару раз успел чуть не уйти в украшательства и прочие медитативные дела, но времени они отняли не так много.

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

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

Проект создавался с нуля, но помимо опыта я обращался и к прошлым наработкам, например: взял и посмотрел как сделан отскок от стен в другом моём проекте (Взертос, буквально одна строчка), взял скрипт функции создания объектов (чтобы просто писать меньше символов), пара функций для ввода и одну важную функцию для столкновений в top-down.

Из старых проектов перекочевало два тайла: стен и пола. Вся остальная графика уникальная.

Уровни создавались в каком-то смысле “чтобы были” и вышли очень странными. Делал я их уже практически к завершению своего дедлайна (где-то за 2 часа до официального). Хоть я и проходил уровни, но получалось не совсем то, что я хотел.

Скриншот GameMaker и как уровни делались.
Скриншот GameMaker и как уровни делались.

Розовые блоки это блоки со стихией. Красная область с точками это такой “трюк”, чтобы назначить блокам стихию за один раз, а не каждому объекту блока отдельно (лень наше всё).

Сделал игру за 5 часов

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

В GameMaker есть Variables (по сути настройка переменных вне блоков кода), которые определяет программист. Вот я и определил стихию и задал список из которого потом выбираю какой стихии данный блок. Правда полностью теряется WYSIWYG.

Игра близка к завершению, какие отхождения

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

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

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

Финишная прямая и в последние минуты делаю вещи. Например, экран “нажмите старт” сделан наверно за 10-15 минут, включая рисунок и код.

(Неповторимый оригинал) Картинка главного экрана.
(Неповторимый оригинал) Картинка главного экрана.

Дизайн главного героя я по памяти подрезал из одного набора по тем самым Биониклам. В моей памяти он назывался Боксёр, но оказалось, что это Boxor 8556. В первую очередь конечно врезалась в память эта рыжая маска — она и перекочевала в дизайн.

Очевидно, что BIBONICLELE явно отсылает к BIONICLE, слишком на виду, но отметить стоит!

(Жалкая пародия) Набор конструктора. Если вглядываться, то можно заметить, что там такой же маторан, как на промо из Хэппи Мил.
(Жалкая пародия) Набор конструктора. Если вглядываться, то можно заметить, что там такой же маторан, как на промо из Хэппи Мил.

Итоги

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

В <b>GameMaker </b>есть даже статистика проекта по времени, но конечно она скорее ориентировочная, ведь открыв проект и ничего не делая в нём — время будет считаться!
В GameMaker есть даже статистика проекта по времени, но конечно она скорее ориентировочная, ведь открыв проект и ничего не делая в нём — время будет считаться!

По итогу на весь проект ушло 5 часов и оставалось 1.5 - 2 часа до конца приёма работ на конкурс. Но у меня был свой дедлайн и я ровно в него успел, а то иначе и звуки бы добавил, возможно, музыку тоже.

В планах разве что минимальная доработка в виде добавления звуков и может музыки и* оставить этот проект на просторах itch.io.

* на самом деле это уже есть, осталось лишь ещё чуть напильником

И под конец пара скриншотов как выглядит игра:

Скачать можно две версии:

В 1.1 внесены изменения вроде добавления звуков с музыкой и некоторых других вещей.

Всем спасибо за внимание!

3434
1 комментарий

Думаю не буду писать отдельный пост, а отделаюсь комментарием.
Обновил до версии 1.2 игру.
Вот такие изменения:
+ Игра доступна на двух языках: Русский и Английский
+ Добавлен эффект диска при отскоке
+ Добавлено сообщение с именем уровня
+ Главное меню
+ Меню настроек (звук, перевод), сохранение настроек
+ Изменён шрифт
+ Добавлен экран выбора уровня, можно вернуться в главное меню с уровня
+ Анимации главного героя
+ Изменено сообщение в конце игры
+ Доработано управление для игрового контроллера

Теперь на Itch.io: https://darkdes.itch.io/biboniclele
Ещё появилось видео с полным прохождением: https://www.youtube.com/watch?v=i_GIpuT6u38