Отчёт о разработке системы мини-игр для проекта Double Dragon Mini (OpenBOR) В рамках фанатского некоммерческого проекта Double Dragon Mini на движке OpenBOR была реализована коллекция из восьми аркадных мини-игр, встроенных в главное меню. Каждая мини-игра выполнена с использованием примитивов движка (прямоугольники, линии) и работает поверх стандартного интерфейса. Активация происходит через секретные чит-коды, вводимые на титульном экране или в главном меню.
🕹️
Список мини-игрPongКлассический пинг-понг. Управление ракетками с клавиатуры (игрок 1 и опционально игрок 2) или против ИИ. ИИ имеет задержку и случайные ошибки, что делает игру честной. Мяч переливается цветами, есть звуки отскоков, ударов и гола.
GalagaВертикальный космический шутер. Враги выстроены в ряд и периодически атакуют игрока, вылетая из строя. Враги умеют стрелять. Есть уровни, жизненная система, звуки выстрелов, взрывов и попаданий.
BreakoutРазрушение кирпичей мячом. Несколько уровней, увеличивающаяся скорость мяча, разноцветные кирпичи с разной ценностью, пауза после потери жизни, звуки.
SnakeКлассическая змейка. Собирайте еду, растите, избегайте стен и своего хвоста. Скорость увеличивается с ростом, есть уровни, звуки поедания и смерти.
Flappy BirdАркада с пролётом между трубами. Гравитация, прыжки, постепенное усложнение (скорость труб, ширина зазоров), звуки прыжка, столкновения и набора очков.
Whack-a-MoleБей кротов, появляющихся из нор. Курсор перемещается между четырьмя норами. Ограниченное время, жизни, уровни, звуки попаданий и появлений.
Dodge the Falling ObjectsУклоняйтесь от падающих предметов. Постепенное увеличение скорости и частоты появления, неуязвимость после попадания, мигание игрока, звуки.
TetrisПолноценный тетрис с семью стандартными фигурами, поворотами, удалением линий, подсчётом очков и уровней. Превью следующей фигуры, случайная генерация без повторов подряд.
🔐 Активация мини-игрКаждая игра запускается секретным кодом, который нужно ввести на титульном экране или в главном меню
Пример:
Pong ← ← → → ↑ ↑ ↓ ↓ ← ← → → ↑ ↑ ↓ ↓
Breakout ← ← ↑ ↑ → → ↓ ↓Кроме того, существует общий список мини-игр, который открывается кодом:
В этом меню можно листать игры стрелками ← → и запускать выбранную игру кнопкой Attack.
⚙️ Технические особенностиВсе мини-игры написаны на скриптовом языке OpenBOR и интегрированы в главное меню игры.
Графика отрисовывается процедурно с помощью drawbox, drawline, drawstring. Не используются внешние спрайты (кроме кнопки Special для подсказок).
Для хранения состояния используются глобальные переменные, что позволяет корректно работать в цикле обновления движка.
Сложность игр сбалансирована: начальные уровни лёгкие, с каждым уровнем скорость/частота препятствий увеличивается.