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

Играть в 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
Автор
Редакция

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

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро