Интересные GitHub-проекты: аналог Wolfenstein 3D в терминале

Веселый 3D-шутер для вашего терминала. Задачей является активация лифта, мешать его запустить вам будут разнообразные монстры.
awkaster

Соскучились по играм старой школы? Awkaster поможет вам вспомнить, как было весело исследовать подземелья и стрелять в монстров. Эта псевдо-3D-игра была вдохновлена классическими шутерами девяностых, Wolfenstein 3D и Doom.

Запуск игры

gawk -f awkaster.awk

Вам нужен gawk версии 4.0.0 и выше.

Для установки gawk пользователям OS X подойдёт Homebrew:

brew update
brew install gawk

Пользователям NetBSD можно использовать pkgin:

pkgin install gawk

Альтернативой является установка из исходников с использованием pkgsrc:

cd /usr/pkgsrc/lang/gawk && make install

А пользователям OpenBSD нужен pkg_add:

pkg_add gawk

Также можно собрать игру из исходников:

cd /usr/ports/lang/gawk && make install clean

Теперь ваша машина готова к запуску awkaster.

Как играть

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

Управление:

  • WASD — передвижение;
  • J/L — поворот налево/направо. Для быстрого поворота нужно удерживать Shift;
  • пробел — выстрел;
  • цифры 1–4 — изменение цветового режима;
  • x — активация лифта (он приходит после 1000 движений).

Изменение разрешения

По умолчанию разрешение игры составляет 64×48 «пикселей», состоящих из пары символов ASCII. Это означает, что ваш терминал должен быть не менее 128 символов в ширину. Размеры окна полностью настраиваемы.

Движок игры

Рендеринг стен выполняется с помощью рейкастинга. Монстры и снаряды добавляются в качестве спрайтов. Рейкастинг — простой алгоритм рендеринга, который не требует никакого 3D-моделирования или сложных вычислений. Почитать об этой технологии вы можете в нашей статье.

Максим Леонов