28 сентября 2026 г.

Нейросеть собрала Pokémon Red в браузере - и там ни одной картинки

Андрей Присекин
Автор

Андрей Присекин

Создаю AI-агентов, автоматизирую бизнес-процессы

Программист Levy Street дал одну большую задачу Claude Opus 5.5 в Claude Code - и за четыре дня нейросеть собрала полноценный ремейк Pokémon Red, который запускается прямо в браузере. Самое дикое: в игре нет ни одного файла с картинкой. Все 151 покемон, карты Канто, битвы и музыка - это чистый код, который рисует пиксели на лету. Играть можно на claudered.dev, исходники лежат на GitHub.

Проект называется Pokémon Claude Red, и он важен не тем, что кто-то в очередной раз воссоздал старую игру. Важно, как именно это сделали: без ассетов, без картинок, без готовых движков - модель сама придумала, как нарисовать каждого покемона формулами, и сама написала под это код. Дальше по порядку разберу, что там внутри и почему это касается любого, кто хочет строить что-то с ИИ.

Что именно собрала нейросеть

Это не демка на пару экранов, а полная игра. Внутри все 224 карты региона Канто, полный сюжет с перерисованными диалогами (около 2500 строк текста, переписанных под оригинальные события), 165 приёмов - и у каждого своя анимация. Есть даже социальная зона с Battle Tower, обмены и битвы по сети.

Что внутри игры: 224 карты Канто, 151 покемон из фигур, 165 приёмов с анимацией, 52 мелодии на Web Audio и ноль файлов с картинками

Картинка рендерится в кадр 320 на 180 пикселей и растягивается на весь экран методом «ближайшего соседа» - тем самым, который даёт честные квадратные пиксели без замыливания. На телефоне игра сама переключает раскладку: держишь вертикально - видишь корпус Game Boy, поворачиваешь набок - получаешь раскладку GBA.

Как игра рисует покемонов без единой картинки

Вот тут главный фокус. Обычно спрайты в играх - это PNG-файлы, которые художник нарисовал заранее. Здесь их нет вообще. Вместо этого модель сделала маленький «язык рисования»: набор примитивов вроде эллипсов, многоугольников, пятен, полосок и глаз. Каждый из 151 покемона описан списком таких фигур, а движок в момент запуска превращает это описание в пиксельный спрайт - обводит контур, накладывает тени, добавляет детали.

То есть Пикачу в этой игре - это не картинка Пикачу, а инструкция «нарисуй жёлтое тело такими эллипсами, добавь красные щёки такими пятнами, глаза вот здесь». Спрайты со спины и иконки в команде выводятся из тех же описаний. Отсюда и ноль файлов изображений: рисовать нечего, всё вычисляется кодом.

Технически всё держится на голом JavaScript. Ни фреймворков, ни сборщика, ни зависимостей - обычные теги <script>, которые браузер просто читает и выполняет. По нынешним меркам это почти аскеза: типичный веб-проект тянет за собой сотни пакетов, а тут ноль.

Где взялся звук, если нет ни одного аудиофайла

Со звуком та же история, что и с картинками. MP3 и WAV в проекте нет - все 52 мелодии игра синтезирует сама через Web Audio прямо в браузере. Ноты взяли из дизассемблированного оригинала, а инструменты собрали из базовых волн: хорусные импульсные лиды на мелодию, басовая волна с нижним слоем, шумовые ударные.

Секвенсор при этом держит тайминг кадров как на настоящем Game Boy - то самое ощущение, когда музыка идёт в такт железу, а не плывёт. Получается, что и картинка, и звук в игре - это не запакованные ассеты, а два генератора, которые заводятся в момент, когда ты открываешь вкладку.

Почему в игре живут баги оригинального Pokémon

Отдельно кайфовая деталь для тех, кто застал первую часть. Модель воссоздала не только рабочую игру, но и её легендарные глюки.

MissingNo - тот самый «покемон-ошибка», который вылезал из-за наложения областей памяти, - здесь сохранён по той же механике. Знаменитый трюк с получением Мью через прерванную битву с тренером тоже на месте: он завязан на перезапись игровых скриптов и подмену байтов характеристик, ровно как в оригинале 1996 года. Это значит, что модель воспроизвела саму логику игры на низком уровне - там, где эти баги возникают сами собой. Подрисовать их «сверху» отдельными заплатками было бы куда проще, но здесь они рождаются органически, из той же механики памяти, что и в игре тридцатилетней давности.

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

Теперь про процесс, потому что он тут интереснее самой игры. Работа шла с 24 по 27 сентября 2026 года - четыре дня. Код писала модель Opus 5.5 внутри Claude Code, а роль человека свелась к простому: играть и репортить баги.

Звучит как преувеличение, но именно в этом суть новой волны разработки. Человек задаёт направление и проверяет результат, а рутину - тысячи строк логики карт, битв, анимаций - тащит агент. Levy Street выступил не программистом, который печатает код, а режиссёром, который говорит «вот тут враг застревает в стене, чини» и запускает следующую итерацию.

Как собрали игру: один промпт, модель Opus 5.5, среда Claude Code и на выходе игра в браузере

Год назад такое было бы фантастикой. Модели умели написать функцию, максимум небольшой скрипт, но разваливались на проекте, где нужно держать в голове всю систему сразу. Карты завязаны на битвы, битвы на характеристики покемонов, характеристики на анимации приёмов, приёмы на звук - стоит модели забыть одну связь, и игра рассыпается. Opus 5.5 держит всю эту паутину в голове от начала до конца, и это, пожалуй, главная новость, которая прячется за милой обёрткой из покемонов.

Помогает и сам инструмент. Claude Code - это не чат, куда копируешь код кусками, а среда, где модель сама читает файлы проекта, правит их, запускает и видит результат. Она не гадает, как выглядит остальной код: она его открывает. Именно поэтому проект на сотни файлов не рассыпался - агент каждый раз работал с реальным состоянием игры, а не с обрывком, который поместился в одно сообщение.

Что это значит для тебя

Скажу честно: играть в Pokémon от нейросети большинству из нас незачем. Ценность истории не в игре, а в доказательстве.

Раньше «сделать игру» или «сделать сервис» означало нанять команду или потратить полгода самому. Теперь один человек с подпиской на Claude и внятным техническим заданием собирает работающий продукт за выходные. Не идеальный, не для продажи, но живой и играбельный. Планка «что я физически могу построить в одиночку» сдвинулась, и сдвинулась сильно.

Для меня вывод простой. Если ты откладывал свою идею со словами «я же не программист» - это отмазка образца 2024 года. Барьер теперь не в умении писать код, а в умении внятно объяснить, что ты хочешь, и терпеливо гонять модель по кругу «сделала - проверил - поправь». Pokémon Claude Red - наглядный пример, до чего это доходит, если не бросать на второй итерации.

Как попробовать самому

Проще всего - открыть claudered.dev и поиграть. Если хочешь копнуть в код и посмотреть, как устроен тот самый «язык рисования» спрайтов, клонируй репозиторий с GitHub:

git clone https://github.com/levy-street/pokemon-claude-red.git
cd pokemon-claude-red
open index.html

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

А если хочешь не разглядывать чужое, а собрать своё - бери любую свою давнюю задумку, садись в Claude Code и начинай с маленького куска. История Pokémon Claude Red началась ровно так же: с одной задачи и готовности не бросать после первого бага.

← Все статьи