BIBONICLELE: Как это было (Making Of)

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

Некоторая путаница с датами сыграла свою роль. Ведь именно в «добавочный день» я и сделал свою игру. Так что ошибка ли?!

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

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

4RXzin2

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

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

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

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

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

Вдохновение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итоги

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

cYkto5H
В GameMaker есть даже статистика проекта по времени, но конечно она скорее ориентировочная, ведь открыв проект и ничего не делая в нём — время будет считаться.

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

Ещё вот ссылка на участие, а вот ссылка на скачать (пока не итч).

Спасибо организатору за организацию, а участникам за участие!