vibecoded
#024 ·

Диверсантка

ASCII-платформер про ниндзя-диверсантку — оммаж Saboteur II

собран за 4 дня·Claude CodeTypeScriptWebGL2
Открыть продукт ↗
Котельная базы, нарисованная ASCII-символами: оранжевые стены из знаков # % & 8, у лестницы стоит андроид с головой-@, ниже идёт героиня, рядом на полу горит костёр; сверху шкала энергии, счётчик лент 2/6 и таймер 12:54

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

Как играть

Миссия на время: найти шесть лент с кодом, вставить их в терминалы, выключить ток на заборе и успеть к мотоциклу в гараже. Драться можно рукой, ногой и в прыжке, подобранный нож или камень — бросить. Андроиды метают ножи на уровне головы, и под ними можно присесть; собака низкая, рука проходит над ней, бить надо ногой. Огнемёты в стенах, шипы и вода отнимают энергию. На паузе открывается карта уже пройденных экранов.

Как устроено

TypeScript и WebGL2: каждый кадр — сетка символов, которую рисует шейдер со свечением, как у старого монитора. Персонажи — скелеты из точек и костей, кости рисуются символами по наклону, поэтому анимация плавная, хотя всё нарисовано буквами. Огонь — порт классического doom-fire, шторм в прологе и рябь на воде — отдельные эффекты. Экраны базы — обычные текстовые файлы, их можно править в блокноте. Звук синтезируется через Web Audio, записанных файлов нет. Логику и проходимость каждого экрана проверяют сотни тестов на vitest, включая прохождение всей миссии целиком.

Ограничения

Нужна клавиатура или геймпад: тач-управления нет, на телефоне не поиграть. Миссия одна, сохранения посреди прохождения между сессиями нет. Из оригинальной Saboteur II не взято ничего — ни карты, ни графики, ни текстов, только настроение.

заметка куратора

Saboteur II без единого спрайта: стены, героиня и огонь — буквы и знаки препинания, а выглядит живо. Анимация на скелетах и doom-fire поверх символьной сетки делают своё дело. Отдельно радует тест, который проходит всю миссию сам — от крыши до мотоцикла.

автор · @artps
для автора · бейдж на ваш сайт
запущено на vibecoded.ru
<a href="https://vibecoded.ru/products/diversantka">
  <img src="https://vibecoded.ru/badge.svg" alt="запущено на vibecoded.ru" width="200" height="44">
</a>

Похожие запуски