Гид по технологиям

Классические текстовые игры в Linux: BSD, Tetris и другие

5 min read Linux игры Обновлено 18 Nov 2025
Текстовые игры в Linux: BSD, Tetris и другие
Текстовые игры в Linux: BSD, Tetris и другие

Зачем это нужно

Текстовые игры возвращают простоту и ностальгический геймплей. Это полезно для: быстрой разрядки в терминале, обучения работе с ncurses и проверки настроек консоли. Терминальные игры потребляют мало ресурсов и запускаются даже на удалённых серверах.

Краткая справка

ncurses — библиотека для создания текстовых интерфейсов в терминале. BSD games — набор классических текстовых игр, распространявшийся с BSD Unix.

Установка на Ubuntu — быстрый старт

Важно: команды ниже предназначены для Ubuntu (и производных). Перед выполнением обновите списки пакетов.

sudo apt update
sudo apt install bsdgames

После установки вы получите коллекцию из 43 игр, среди которых: random, gomoku, caesar, countmail, rot13, bcd, atc, number, boggle, quiz, morse, teachgammon, snake, snscore, pig, wargames, tetris-bsd, adventure, arithmetic, worms, hunt, canfield, battlestar, rain, robots, cribbage, dab, sail, wump, trek, phantasia, wtf, go-fish, monop, backgammon, worm, hack, ppt, primes, hangman, pom, cfscores и mille.

Важно: названия команд совпадают с именами игр. Запускайте из терминала по имени игры, например:

adventure

Популярные игры и как их запускать

Tetris в терминале (tetris-bsd)

Классическая реализация Tetris для терминала.

Tetris в терминале

Запуск (после установки bsdgames):

tetris-bsd

Bastet — улучшенный Tetris для терминала

Bastet даёт более соревновательный опыт и умнее подбирает фигуры.

sudo apt install bastet
bastet

Bastet — продвинутый Tetris в терминале

Space Invaders — ninvaders

Клон Space Invaders на ncurses.

sudo apt install ninvaders
ninvaders

Ninvaders — текстовый Space Invaders

Moon-buggy — раннер на луне

Движение по поверхности Луны с прыжками через кратеры.

sudo apt install moon-buggy
moonbuggy

Moon-buggy — джампер в терминале

2048 — текстовая версия (сборка из исходников)

Текстовая версия 2048 нужно собрать из исходников. Это хороший пример, если вы хотите практиковаться в gcc.

Соберите в текущей директории:

wget https://raw.githubusercontent.com/mevdschee/2048.c/master/2048.c
gcc -o 2048 2048.c
./2048

Совет: если не установлен gcc, установите его через sudo apt install build-essential.

Советы для других дистрибутивов и платформ

  • Debian/Ubuntu-подобные: используйте apt/apt-get. Пакеты обычно те же.
  • Fedora/RHEL/CentOS: ищите пакеты в dnf/yum или собирайте из исходников.
  • Arch Linux: пакеты часто есть в AUR (например, bastet, ninvaders).
  • macOS: многие проекты можно установить через Homebrew (brew install ninvaders или собрать из исходников).
  • Windows: используйте WSL (Windows Subsystem for Linux) или Cygwin для запуска терминальных игр.

Важно: в контейнерах и минимальных образах могут отсутствовать терминальные возможности. Убедитесь, что переменная TERM установлена и поддерживает ncurses.

Когда это не подходит (ограничения)

  • Если вы хотите графику и аудио — текстовые игры не заменят современные 3D-игры.
  • На очень маленьких терминалах (меньше 80×24) расположение элементов может ломаться.
  • На удалённых сессиях с медленным вводом чувствительность управления может быть неудобной.

Альтернативные подходы и расширения

  • Запуск через tmux/screen для фоновой игры и восстановления сессии.
  • Перенос окон в GUI-терминалы (GNOME Terminal, Alacritty) для масштабирования и улучшенной поддержкой шрифтов.
  • Использовать эмуляторы физических контроллеров через клавиатурные макросы.

Чек-листы: для игрока и для администратора

Для игрока (быстрый запуск)

  • [ ] Обновить пакеты: sudo apt update
  • [ ] Установить игру: sudo apt install ninvaders (пример)
  • Проверить размеры терминала (рекомендуется 80×24 и выше)
  • Запустить игру по имени

Для администратора (развёртывание на сервере/в контейнере)

  • Установить зависимости (ncurses, gcc, build-essential)
  • Проверить локальные политики безопасности (ограничение shell)
  • Настроить tmux/screen для восстановления сессии
  • Документировать список установленных пакетов и версии

Мини-методология: собрать и запустить пользовательскую текстовую игру

  1. Скачайте исходники (wget/git).
  2. Прочитайте README — там часто есть требования и опции сборки.
  3. Установите зависимости: ncurses, build-essential и т.д.
  4. Соберите (make / gcc) и запустите. Тестируйте в разных терминалах.

Небольшая таблица совместимости (универсальные советы)

  • ncurses: ключ для текстовых интерфейсов.
  • TERM: убедитесь, что переменная TERM корректна (xterm-256color и т. п.).
  • Шрифты: моноширинный шрифт улучшает читаемость.

Краткий словарь (1 строка каждый)

  • ncurses — библиотека для текстовых пользовательских интерфейсов.
  • BSD games — набор классических текстовых игр, входивший в BSD Unix.
  • WSL — подсистема Windows для запуска Linux.

Примеры, когда это полезно (edge cases)

  • Работа в SSH-сессии с коллегой и хотите короткую игру на перерыве.
  • Демонстрация возможностей ncurses на лекции по системному программированию.
  • Ностальгия или желание играть в старые жанры без установки GUI-игр.

Критерии приёмки

  • Игра запускается в терминале без ошибок.
  • Элементы интерфейса корректно отображаются при размере терминала ≥ 80×24.
  • Управление отзывчиво и без значительной задержки на локальной машине.

Часто задаваемые вопросы

Q: Можно ли установить эти игры без прав root? A: Некоторые игры можно собрать и запускать в домашней директории. Установка пакетов в систему потребует прав администратора.

Q: Где найти дополнительные текстовые игры? A: На GitHub и в репозиториях дистрибутивов. Поисковые запросы: “terminal games”, “ncurses games”.

Заключение

Текстовые игры — лёгкий и полезный способ развлекаться и изучать терминал. Набор BSD games, bastet, ninvaders, moon-buggy и текстовый 2048 покрывают разные жанры: аркаду, раннеры и головоломки. Если вы хотите больше — ищите проекты на GitHub или собирайте старые игры из исходников.

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


Краткое резюме:

  • Установите bsdgames или отдельные пакеты через пакетный менеджер.
  • Для сборки из исходников используйте gcc; не забудьте зависимости.
  • Проверяйте совместимость терминала и используйте tmux/screen для удобства.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство