Как сделать настоящую игру для Game Boy Advance с помощью AI (и сыграть в неё на настоящем железе)
Другие языки: English · Español · Deutsch · Français · Português · Italiano · Nederlands · Svenska · Norsk · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · 日本語 · 한국어 · 繁體中文
Чтобы сделать игру для Game Boy Advance с помощью AI, открой Shiny Gen (в браузере на shinygen.ai/play или в приложении на iPhone, iPad и Android), начни новую игру, выбери Движок GBA и опиши игру, которую хочешь. AI-агент пишет игру, компилирует её в настоящий картридж GBA, играет в неё, чтобы найти и исправить ошибки, а ты скачиваешь ROM .gba, для чего нужна любая одна покупка, от стартового набора за $2.99. ROM работает в эмуляторах GBA и на настоящем Game Boy Advance через флеш-картридж.
Это руководство шаг за шагом проходит весь путь, а потом рассказывает, какие игры получаются хорошо, о честных ограничениях и о самых частых вопросах.
Что такое движок GBA
Движок GBA мы написали сами, и он компилирует новые игры по твоему запросу. Это не эмулятор и не загрузчик ROM: движки GBA, GBC, N64, GameCube и DS компилируют игры, которые ты делаешь в Shiny Gen, и не могут запускать коммерческие или сторонние ROM.
Твоя игра пишется на небольшом C-подобном языке (файл называется main.sgba). Shiny Gen компилирует её в машинный код ARM прямо на твоём устройстве, упаковывает графику и звук в картридж и запускает этот картридж. Отдельной сборки для предпросмотра нет: игра, в которую ты играешь в приложении, и есть сам картридж.
Что понадобится
- Современный браузер или приложение Shiny Gen из App Store или Google Play.
- Бесплатный аккаунт Shiny Gen. Новые аккаунты сразу получают бесплатные самоцветы, их и тратит AI.
- Чтобы скачать ROM: любая одна покупка, от стартового набора за $2.99.
- Чтобы играть на настоящем железе: Game Boy Advance и флеш-картридж для GBA. Эмуляторам больше ничего не нужно.
Шаг за шагом
1. Начни новую игру и выбери движок GBA
Нажми кнопку +. В разделе Агент в приложении выбери Новая. Следующий экран просит Выбери движок: выбери Движок GBA.
Новая игра для GBA открывается в редакторе. Она специально начинается как пустой картридж, с пустыми init() (выполняется один раз) и frame() (выполняется шестьдесят раз в секунду), чтобы агент строил то, что ты описываешь, а не правил шаблон, который тебе не нужен.

2. Опиши игру
Открой вкладку Агент внизу редактора и напиши, что хочешь, в разделе Чат. Хорошее первое сообщение говорит, что это за игра, что делает игрок, какое управление (у GBA есть крестовина, A, B, L, R, Start и Select), какая цель и как игра выглядит.
Например: «Сделай приключение с видом сверху для GBA. Лиса исследует лес, разговаривает с жителями деревни в текстовых окнах и собирает пять фонариков. Крестовина для движения, A чтобы говорить, Start для паузы. Сохраняй прогресс, когда игрок отдыхает у костра.»
Кнопка рядом с полем ввода выбирает модель, а встроенный агент оплачивается в самоцветах по фактическому использованию.
3. Смотри, как агент собирает игру и проверяет её
Агент знает, что работает над картриджем. Он читает справочник языка для GBA, пишет код и собирает его. Если сборка не удалась, компилятор говорит, что и где (строка, столбец и что написать вместо этого), и агент это исправляет. Потом он сам играет в игру:
- Запускает картридж и читает отчёт о сборке, в том числе насколько заполнен картридж.
- Делает скриншоты экрана 240 x 160, чтобы проверить, что на самом деле нарисовано.
- Нажимает кнопки (A, B, L, R, Start, Select и крестовину), чтобы поиграть в то, что собрал.
- Считывает значения, которые сообщает игра, чтобы точно знать, что герой сдвинулся или счёт вырос, а не гадать.
- Исправляет то, что сломано, и начинает снова.
Он также умеет делать графику и звук: спрайты, фоны и музыку, которые попадают в картридж по имени. Генерация ассетов тратит самоцветы.
4. Меняй игру, просто разговаривая с агентом
Когда первая версия запустится, продолжай в том же чате. Лучше всего работают небольшие конкретные просьбы: «Добавь титульный экран», «Сделай вторую область пещерой с более тёмными цветами», «Текстовое окно остаётся открытым, когда я ухожу; закрывай его.» Говори, что видишь, а не гадай о причине; агент может воспроизвести это, играя в игру.
Ещё можно открыть раздел Код и править main.sgba самостоятельно. Ручная правка кода ничего не стоит, а сборка подменяет картридж новым, не теряя твоё сохранение.
5. Играй в приложении
Игра запускается прямо в редакторе и с карточки твоей игры. На телефоне или планшете управление показано на экране: крестовина слева, A и B справа, а L, R, Start и Select вокруг них. На компьютере играешь клавиатурой: стрелки, Z для A, X для B, A и S для L и R, Enter для Start и Shift для Select. Геймпад тоже работает, и его кнопки можно переназначить в настройках контроллера.
Игра сохраняется в собственное сохранение с батарейкой, как настоящий картридж, так что можно выйти и потом продолжить с того же места.

6. Скачай ROM
Нажми Поделиться, затем Export .gba ROM. Для экспорта нужна любая одна покупка, от стартового набора за $2.99; кнопку видит каждый владелец игры, а без покупки она ведёт в магазин. Кнопка есть у игр, которые принадлежат тебе.
Прежде чем отдать файл, Shiny Gen пересобирает картридж, если что-то изменилось, затем запускает его в чистом эмуляторе и проверяет, что он загружается. Ты получаешь файл .gba с названием твоей игры. ROM открывается коротким заставочным экраном Shiny Gen, и твоё сохранение в него не входит, так что копия, которую ты кому-то отдашь, начинается с нуля.
Куда попадает файл, зависит от устройства: в браузере это обычное скачивание, а в приложении для iPhone и iPad окно «Сохранить в Файлы». Приложение для Android пока не может сохранить файл; открой игру на shinygen.ai в браузере на телефоне или компьютере, чтобы скачать её, для этого нужна та же одна покупка.

7. Играй на настоящем железе
Флеш-картридж это картридж GBA со слотом для карты памяти вместо одной встроенной игры. Ты копируешь файлы ROM на карту, и картридж показывает их меню при включении консоли. Мы играли в ROM, сделанные таким способом, на настоящем Game Boy Advance и Nintendo DS Lite, вместе с сохранениями.
Общие шаги (точные есть в инструкции к твоему картриджу):
- Скопируй файл
.gbaна SD или microSD карту картриджа. Некоторым картриджам сначала нужны на карте их собственные системные файлы. - Вставь карту в картридж, а картридж в Game Boy Advance.
- Включи консоль и выбери свою игру в меню картриджа.
Некоторые картриджи спрашивают тип сохранения для каждой игры. Наши ROM используют сохранения 128 КБ (1 Мбит) flash и указывают это внутри ROM, и обычно именно так флеш-картриджи и эмуляторы определяют его сами. Если картридж спросит, выбери 128 KB или 1M flash. Тогда сохранения на картридже работают так же, как на оригинальном картридже.
Чтобы играть без железа, файл откроет любой эмулятор GBA: например, mGBA на компьютере или Delta на iPhone.
Какие игры получаются хорошо
Игры для GBA в нашем каталоге показывают, что возможно. В любую из них можно бесплатно играть в браузере и сделать ремикс в свою копию, чтобы менять её с агентом:
- RPG про сбор монстров: Shiny Monsters Advance, с городом, текстовыми окнами и поединками монстров. Через интернет она обменивается монстрами и устраивает бои с другими играми Shiny Monsters.
- Гонки с вращающимся полом «Mode 7»: Shiny Kart Advance, восемь гонщиков на трёх трассах.
- Аркада: Shiny Pinball, космический пинбольный стол.
- Экшен и выживание: Shiny Swarm, где оружие стреляет само, а ты держишься против волн врагов.
- Небольшие спокойные игры: Spark Garden и Ember Courier.

В целом лучше всего получаются игры, которые подходят этой машине: приключения и RPG с видом сверху, платформеры, головоломки, шутеры, гонки на вращающемся полу и всё, что строится из тайлов и спрайтов. Движок поддерживает прокручиваемые слои, спрайты, которые вращаются и масштабируются, эффекты прозрачности, текстовые окна, музыку и звуковые эффекты.
Ограничения
Движок GBA ограничен так же, как настоящая машина, и кое-что ещё не сделано:
- Ограничения самой машины. Экран 240 x 160; до 128 спрайтов одновременно, каждый не больше 64 x 64 пикселей; цвета в палитрах по 16; 256 КБ рабочей памяти для данных твоей игры. Чисел с плавающей точкой нет, поэтому позиции задаются числами с фиксированной точкой. Каждая сборка сообщает, насколько заполнен каждый бюджет, так что ты видишь приближение к пределу до того, как в него упрёшься.
- Нет 3D. GBA рисует 2D-тайлы и спрайты. Пол «Mode 7» придаёт гоночным играм вид 3D, но это повёрнутая и масштабированная 2D-картинка.
- Только новые игры. Он не может открыть или запустить ROM, сделанный кем-то другим, и импортировать ROM для редактирования нельзя.
- Кабеля связи на железе пока нет. Обмен и бои между играми Shiny Monsters работают через интернет внутри Shiny Gen. Игра по настоящему кабелю связи между двумя консолями не доказана, поэтому мы её не обещаем.
- Сохранения остаются с тобой. ROM не несёт твой прогресс, а Shiny Gen хранит твоё сохранение из приложения в твоём аккаунте.
- Для скачивания нужна покупка, а приложение для Android пока не может сохранить файл. Для экспорта ROM нужна любая одна покупка, от $2.99; на Android скачивай из браузера.
Другие ретро-движки
GBA это один из пяти ретро-движков, которые мы написали, и все они работают одинаково: выбери движок, опиши игру, а агент соберёт и проверит её. GBC делает ROM для Game Boy Color, N64 ROM для N64, GameCube файл .dol, а DS файл .nds с двумя экранами, и для экспорта любого из них нужна та же одна покупка, от $2.99. Если вместо этого хочешь современную 2D- или 3D-игру, движок Godot это шестой вариант на том же экране. Посмотри, как Shiny Gen выглядит рядом с другими AI-конструкторами игр.
Частые вопросы
Может ли AI сделать игру для Game Boy Advance?
Да. В Shiny Gen ты выбираешь движок GBA и описываешь игру; AI-агент пишет код, компилирует настоящий картридж GBA, играет в него кнопками, чтобы найти ошибки, и исправляет их. Скачать ROM .gba можно после любой одной покупки, от $2.99.
Это настоящий ROM для GBA?
Да. Это стандартный образ картриджа .gba, скомпилированный в машинный код ARM, с правильным заголовком картриджа. Shiny Gen запускает каждый ROM в чистом эмуляторе, прежде чем отдать его, и мы играли в эти ROM, вместе с сохранениями, на настоящем Game Boy Advance и DS Lite через флеш-картридж.
Может ли он запускать Pokemon или другие коммерческие ROM?
Нет. Движок GBA это не эмулятор и не загрузчик ROM. Он компилирует новые игры, которые ты делаешь в Shiny Gen, и не может запускать коммерческие или сторонние ROM.
Нужно ли уметь программировать?
Нет. Ты описываешь игру, а агент пишет и проверяет код. Если хочешь, можешь читать и править код в разделе «Код»; ручная правка ничего не стоит.
Можно ли продавать свою игру для GBA?
Да. То, что ты делаешь, принадлежит тебе, и Shiny Gen не берёт долю от дохода (Условия использования, раздел 4). Ты можешь продавать сам файл ROM; для его экспорта нужна любая одна покупка, от $2.99.
На каких устройствах работает ROM?
В эмуляторах GBA, например mGBA на компьютере или Delta на iPhone, и на настоящем железе через флеш-картридж. Мы проверили его на Game Boy Advance и Nintendo DS Lite, вместе с сохранениями, и он должен работать на любой консоли или портативной системе, которая запускает картриджи GBA, например на Game Boy Advance SP.
Какой тип сохранения выбрать на флеш-картридже?
128 КБ (1 Мбит) flash. ROM указывает его сам, так что картриджи и эмуляторы обычно подхватывают его, ничего не спрашивая.
Это бесплатно?
Делать игры, играть в них и делиться ими бесплатно. AI-генерация и встроенный агент тратят самоцветы, а новые аккаунты получают бесплатные самоцветы. Для скачивания ROM нужна любая одна покупка, от стартового набора за $2.99. Полный список на странице цен.