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

Играть в Game Boy прямо в терминале Linux

5 min read Linux Обновлено 26 Dec 2025
Играть в Game Boy в терминале Linux
Играть в Game Boy в терминале Linux

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

Зачем эмулировать Game Boy в терминале?

Заставка Pokémon Red в терминале Linux

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

Коротко о фактах об оригинальном устройстве: Game Boy использовал процессор ~4 МГц и маленький дисплей, помещался в кармане и работал около 15 часов на четырёх AA батарейках. Эти технические ограничения повлияли на дизайн игр и сделали многие названия культовыми.

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

Что вам нужно перед установкой

  • Доступ в терминал Linux (локально или по SSH).
  • Установленный PHP (включая современные 7.x/8.x версии) — проект совместим с PHP.
  • ROM‑файлы Game Boy, к которым у вас есть права.
  • Права на установку исполняемых файлов в вашу систему (sudo для перемещения в /usr/local/bin).

Как установить php-terminal-gameboy-emulator в Linux

Проверьте версию PHP командой:

php -v

Если команда вернёт ошибку “php: command not found”, установите PHP для вашей дистрибуции.

На Arch и производных:

sudo pacman -S php

На Debian/Ubuntu и производных:

sudo apt install php

В Fedora сначала добавьте репозиторий Remi (замените XX на версию Fedora), затем включите модуль и установите PHP:

sudo dnf -y install http://rpms.remirepo.net/fedora/remi-release-XX.rpm
sudo dnf module enable php:remi-8.1 -y
sudo dnf install php -y

Затем загрузите исполняемый файл эмулятора с GitHub и сделайте его доступным глобально:

wget https://raw.githubusercontent.com/gabrielrcouto/php-terminal-gameboy-emulator/master/bin/php-gameboy.phar
sudo chmod +x php-gameboy.phar
sudo mv php-gameboy.phar /usr/local/bin/php-gameboy

После этого команда php-gameboy должна запускаться из любого места.

Как запускать игру

Передайте php-gameboy путь к ROM как аргумент:

php-gameboy ~/gbroms/tetris.gb

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

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

Управление

Ниже — соответствие клавиатурных клавиш и кнопок консоли. Переназначение клавиш в текущей версии недоступно.

КлавиатураКнопка консоли
WASDНаправления D‑Pad
, (запятая)A
. (точка)B
NSelect
MStart

Ограничения и когда это может не подойти

  • Звук отсутствует — если звук важен, выбирайте нативные GUI‑эмуляторы.
  • Нет поддержки сохранений в большинстве случаев — для долгих RPG это неудобно.
  • Графические артефакты возможны на некоторых ROM.
  • Производительность и совместимость могут зависеть от версии PHP и терминала.

Если вам нужен полноценный опыт с сохранениями, звуком и шейдерами, рассмотрите следующие альтернативы.

Альтернативные подходы и рекомендуемые эмуляторы

  • VisualBoyAdvance‑M — один из популярных кроссплатформенных эмуляторов с GUI и широкими возможностями.
  • mGBA — современный эмулятор с хорошей совместимостью и поддержкой отладки.
  • RetroArch с ядром Gambatte — удобное решение для управляемых библиотек ROM и фронтенда.

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

Мини‑методология: как работает эмуляция в терминале

  1. Эмулятор выполняет код ROM и формирует буфер изображения для каждого кадра.
  2. Буфер преобразуется в монохромную сетку, приближаясь к оригинальной палитре Game Boy.
  3. Каждый пиксель маппируется на символы или блоки терминала, которые рендерятся в текстовом окне.
  4. Обновления экрана идут в виде последовательных перерисовок; ограничения терминала приводят к артефактам.

Это упрощённая схема, но она объясняет, почему звук и сохранения отсутствуют — в проекте фокус на визуальной части и переносе графики в символы.

Чек-листы по ролям

Для новичка:

  • Убедиться, что PHP установлен и доступен.
  • Скачайте php-gameboy и сделайте его исполняемым.
  • Запустите простой ROM (Tetris) для проверки.

Для администратора системы:

  • Проверить безопасность скачиваемого файла и его целостность перед размещением в /usr/local/bin.
  • Убедиться, что доступ по SSH защищён при удалённом запуске.

Для разработчика/энтузиаста:

  • Экспериментировать с терминалами (xterm, Alacritty, Konsole) для лучшей отрисовки.
  • Исследовать исходники проекта, чтобы добавить поддержку маппинга клавиш или улучшенной отрисовки.

Быстрый шпаргалка и полезные команды

  • Проверить PHP:
php -v
  • Скачать эмулятор:
wget https://raw.githubusercontent.com/gabrielrcouto/php-terminal-gameboy-emulator/master/bin/php-gameboy.phar
  • Сделать исполняемым и переместить:
sudo chmod +x php-gameboy.phar
sudo mv php-gameboy.phar /usr/local/bin/php-gameboy
  • Запустить ROM:
php-gameboy /путь/к/rom.gb

Частые проблемы и способы их решения

  • “php: command not found” — установите PHP через менеджер пакетов вашей системы.
  • Медленная перерисовка экрана — попробуйте другой терминал или уменьшите частоту обновления, если такая опция есть.
  • Артефакты изображения — протестируйте другой ROM; некоторые игры отображаются хуже из‑за особенностей отрисовки.

1‑строчный глоссарий

  • ROM — образ картриджа с игрой.
  • Terminal — текстовый интерфейс операционной системы.
  • SSH — защищённый удалённый доступ к терминалу.

Краткое объявление для коллег (100–200 слов)

php-terminal-gameboy-emulator превращает обычный Linux‑терминал в игровой экран Game Boy. Проект, написанный на PHP, отображает пиксели игры с помощью символов терминала — без звука и сохранений, но с полной ностальгической эстетикой. Установить его можно за несколько команд: проверить PHP, скачать phar‑исполняемый файл, дать ему права и переместить в /usr/local/bin. Запуск прост: php-gameboy путь/к/rom.gb. Это отличный инструмент для демонстраций в командной строке, удалённых сессий по SSH и лёгкой ретро‑демонстрации возможностей терминала.

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

  • Для демонстраций возможностей терминала и удалённых сеансов по SSH.
  • Для ностальгии и быстрых игровых пауз без графической среды.
  • Не подходит для длительных сессий RPG без поддержки сохранений и для тех, кто хочет звук.

Заключение

php-terminal-gameboy-emulator — интересный и негромкий способ оживить терминал, познакомиться с принципами эмуляции и поностальгировать. Он не заменит полнофункциональные эмуляторы, но отлично справляется с задачей показать пиксельную графику Game Boy в текстовой среде. Попробуйте Tetris или Pokémon, но помните про законность использования ROM.

Краткие выводы:

  • Требуется установленный PHP и ROM, которыми вы владеете.
  • Без звука и с ограниченной поддержкой сохранений.
  • Работает по SSH и в локальном терминале.

Спасибо за прочтение — теперь вы можете удивить коллег мини‑ретро‑демонстрацией прямо в консоли.

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

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

Проверка состояния батареи Android и советы
Android.

Проверка состояния батареи Android и советы

Калибровка Apple Watch для точных тренировок
Фитнес

Калибровка Apple Watch для точных тренировок

Как просмотреть историю буфера обмена на Android
Android.

Как просмотреть историю буфера обмена на Android

Как правильно оценивать часы фриланс‑проекта
Управление проектами

Как правильно оценивать часы фриланс‑проекта

Настройка меню «Поделиться» в Android
Android.

Настройка меню «Поделиться» в Android

Очистка Snap‑пакетов и освобождение места на Linux
Linux

Очистка Snap‑пакетов и освобождение места на Linux