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

Играть в Game Boy прямо в терминале Linux с php-terminal-gameboy-emulator

6 min read Эмуляция Обновлено 08 Apr 2026
Эмуляция Game Boy в терминале Linux
Эмуляция Game Boy в терминале Linux

Game Boy и картридж Tetris; изображение Pokémon отображается в терминале

Почему запускать Game Boy в терминале имеет смысл

Заставка Pokémon Red, отображаемая в текстовом терминале Linux

Game Boy от Nintendo — одна из самых популярных портативных приставок в истории. С процессором 4 МГц и экраном 47×43 мм он помещался в карман и давал около 15 часов игры от четырёх батареек AA. Сегодня оригинальные картриджи можно коллекционировать, а игры — запускать через эмуляцию.

Эмулятор php-terminal-gameboy-emulator (написан на PHP) воспроизводит графику Game Boy в виде точечной матрицы в терминале. Преимущества и ограничения в двух предложениях:

  • Плюсы: нет GUI, можно запускать по SSH, лёгкая установка, работает на многих версиях PHP (включая современные до 8.2 в практической проверке).
  • Минусы: нет звука, нет сохранений, управление фиксировано и не переназначается.

Важно: используйте только те ROM‑файлы, которые вы легально приобрели. Для легальных homebrew ROM смотрите Homebrew Hub.

Короткая справка: что делает эмулятор

  • Преобразует пиксели Game Boy в символы терминала (ASCII/Unicode/Braille в зависимости от режима).
  • Работает без графического окружения — полезно на серверах и в SSH‑сессиях.
  • Требует интерпретатор PHP и один исполняемый PHAR‑файл.

Требования и совместимость

Файл php-gameboy.phar требует PHP CLI. Разработчики указывают поддержку PHP 5.6, PHP 7 и HHVM, но проект корректно запускался и на PHP 8.x. Если вы используете удалённые серверы, убедитесь, что терминал клиента поддерживает нужную кодировку и размер окна.

Факт-бокс

  • Формат экрана: монохромный, пиксельная сетка оригинального Game Boy.
  • Процессор эмуляции: CPU хоста (в данном случае PHP), нагрузки небольшие.
  • Сохранение: отсутствует.
  • Звук: отсутствует.

Установка php-terminal-gameboy-emulator на Linux — шаг за шагом

  1. Проверьте, установлен ли PHP:
php -v

Если вы видите номер версии — PHP установлен. Если возвращается сообщение о том, что команда не найдена, установите PHP в зависимости от дистрибутива.

  1. Установка на распространённые дистрибутивы:
  • Arch и производные:
sudo pacman -S php
  • Debian, Ubuntu и производные:
sudo apt install php
  • Fedora и RHEL‑совместимые (пример с подключением репозитория Remi для новых версий PHP):
sudo dnf -y install http://rpms.remirepo.net/fedora/remi-release-XX.rpm

Замените XX на номер вашей версии Fedora. Затем включите модуль и установите PHP:

sudo dnf module enable php:remi-8.1 -y
sudo dnf install php -y
  1. Скачайте исполняемый PHAR‑файл:
wget https://raw.githubusercontent.com/gabrielrcouto/php-terminal-gameboy-emulator/master/bin/php-gameboy.phar
  1. Сделайте файл исполняемым и переместите в каталог с бинарниками:
sudo chmod +x php-gameboy.phar
sudo mv php-gameboy.phar /usr/local/bin/php-gameboy

Теперь команда php-gameboy доступна из любого места.

Как запустить игру в терминале

Перед запуском поместите ROM‑файлы Game Boy в удобную папку (например, ~/gbroms). Чтобы стартовать игру, передайте путь к ROM как аргумент:

php-gameboy ~/gbroms/tetris.gb

Эмулятор подхватит ROM и отобразит знакомую чёрно‑белую заставку игры. Загрузка обычно почти мгновенная.

Управление в эмуляторе

Управление фиксированное и не переназначается. Таблица — как в оригинальной инструкции:

Keyboard ControlsConsole Controls
WASDD-Pad directions
Comma (,)A
Dot (.)B
NSelect
MStart

Сохранения и звук отсутствуют — учитывайте это при выборе игры.

Типичные проблемы и как их решать

  • «Пиксели мерцают» или появляются артефакты: попробуйте изменить размеры окна терминала; некоторые игры чувствительны к ширине/высоте символов.
  • Черно‑белая палитра не читаема: убедитесь, что используемая кодировка и шрифт терминала поддерживают нужные блоковые символы (Braille/Unicode). Шрифты с фиксированной шириной обычно работают лучше.
  • По SSH управление заикается: проверьте качество сети и настройки буфера ввода в SSH‑клиенте.

Важно: эмуляция не идеально повторяет аппаратный звук или некоторые тайминги оригинальной железки, поэтому в поведении игр могут возникать отличия.

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

Если ограничения терминального эмулятора недопустимы, рассмотрите альтернативы:

  • Полноценные эмуляторы с графикой и звуком (mGBA, Gambatte, RetroArch). Они поддерживают сохранения, фильтры и контроллеры.
  • Веб‑эмуляторы, которые работают в браузере и дают простую многоплатформенную доставку.
  • Аппаратные решения (аналоговые клоны Game Boy, портативные ретро‑консоли).

Когда терминальная эмуляция подходит: для демонстраций, удалённого доступа и ностальгии. Когда не подходит: если нужны звук, сохранения или точность тайминга.

Практические советы и чек‑листы

Чек‑лист пользователя:

  • Установлен PHP CLI.
  • ROM‑файлы находятся в доступной папке.
  • Терминал использует моноширинный шрифт и поддерживает Unicode.
  • Окно терминала достаточно велико для корректного отображения.

Чек‑лист администратора сервера:

  • Ограничьте доступ к папке с ROM на сервере по правам.
  • Убедитесь, что запуск PHAR разрешён политикой безопасности (noexec, SELinux, AppArmor).
  • Контролируйте версию PHP, чтобы избежать несовместимостей.

Cheat sheet — главные команды:

  • Проверить PHP: php -v
  • Скачивание PHAR: wget
  • Сделать исполняемым: sudo chmod +x php-gameboy.phar
  • Переместить в PATH: sudo mv php-gameboy.phar /usr/local/bin/php-gameboy
  • Запуск ROM: php-gameboy /path/to/game.gb

Ментальные модели: почему это работает

Эмуляция в терминале — это два слоя отображения: 1) логика эмуляции процессора и графики выполняется на хосте (PHP читает ROM и вычисляет кадры), 2) каждый кадр рисуется в виде набора символов в терминале. Представьте, что терминал — это экран с ограниченной палитрой, а эмулятор «переводит» пиксели в символы.

Кому это пригодится

  • Разработчикам и администраторам, которым нужно демонстрировать возможности сервера.
  • Любителям ретро‑игр и терминала.
  • Тем, кто хочет играть через SSH без графической среды.

Безопасность и легальность

  • Легальность: используйте только ROM‑ы, на которые у вас есть право. Homebrew и собственные дампы — безопасный выбор.
  • Безопасность: не храните ROM‑ы в публичных веб‑папках и проверяйте PHAR‑файлы на предмет подлинности источника.

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

Чтобы считать установку и запуск успешными, проверьте:

  • PHP установлен и доступен как CLI.
  • Команда php-gameboy запускается без ошибок.
  • ROM загружается и отображает стартовую заставку.
  • Управление откликается согласно таблице клавиш.

Примеры, когда эмуляция может не подойти

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

Короткий словарь

  • ROM — файл игры, дамп картриджа.
  • PHAR — PHP Archive, исполняемый архив PHP.
  • CLI — интерфейс командной строки.

Концовка и вдохновение

Запуск Game Boy в терминале — это простая и впечатляющая демонстрация того, как гибко можно использовать инструменты командной строки. Если вам хочется ностальгии без кучи зависимостей, php-terminal-gameboy-emulator — быстрый путь открыть старые игры прямо в SSH‑сессии.

Подсказка для демонстрации: увеличьте шрифт терминала и включите обратную цветовую схему для более зрелищного эффекта.

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

  • Установка проста: нужен PHP и один PHAR.
  • Ограничения: нет звука, нет сохранений, фиксированное управление.
  • Отлично подходит для SSH, демонстраций и ностальгии.

Важно: используйте только легально полученные ROM‑файлы.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Установка GitHub CLI на Linux
Разработка

Установка GitHub CLI на Linux

Как установить Epic Games и играть на Linux
Linux

Как установить Epic Games и играть на Linux

Как сделать Stitch в TikTok — полное руководство
Социальные сети

Как сделать Stitch в TikTok — полное руководство

TEXTSPLIT, TEXTBEFORE, TEXTAFTER в Excel
Excel

TEXTSPLIT, TEXTBEFORE, TEXTAFTER в Excel

Изменение значков и цветов в приложении «Дом»
Умный дом

Изменение значков и цветов в приложении «Дом»

Исправить уведомления WhatsApp в Windows 10
Технологии

Исправить уведомления WhatsApp в Windows 10