Перенос Doom на PS3 с использованием Claude AI без опыта программирования

Технические детали реализации
Разработчик без опыта программирования на C успешно портировал Chocolate Doom 3.1.0 для нативного запуска на 16-летнем PS3 Slim с кастомной прошивкой. Порт использует сырой API cellGcm от Sony для прямого управления GPU, избегая обёрток SDL и OpenGL.
Что создал Claude
- Убрал зависимости от SDL во всех 79 исходных файлах Chocolate Doom и заменил их на заглушки, нативные для PS3
- Видеорендерер: 320×200 8-битная палитра → ARGB32 → 1280×720 через прямые записи в буфер кадра через cellGcm
- Аудио: опрос очереди событий cellAudio, микширование 8-канальных звуковых эффектов одновременно + фоновая музыка
- Декодирование MP3: minimp3 на PPU с ресемплингом 44100→48000 Гц для всех 13 треков BGM
- Ввод: 5-ступенчатый фильтр мусора для драйвера геймпада PS3 (белый список → мёртвая зона → дельта → время охлаждения → метка времени KEYUP)
- Оптимизация производительности: Перешёл с 0.45 до 35 кадров в секунду, заменив один вызов таймера (
usleep→sysGetCurrentTime)
Роль разработчика
- Архитектурные решения (какие API PS3 использовать, когда отказаться от SPU и вернуться к PPU)
- Каждый цикл сборки/тестирования — кросскомпиляция WSL2 → эмулятор RPCS3 → создание pkg → реальное железо PS3
- Отладка на реальном железе через получение логов по FTP
- Управлял 25 сессиями Claude, поддерживая контекст между ограничениями чата
- Создал «Конституцию Танаки» — систему из 13 правил, чтобы предотвратить галлюцинации Claude в названиях API, подделку документов передачи или вывод частичных файлов
Загадка SPU и управление ИИ
Создал выгрузку на SPU для декодирования BGM, которая безупречно работала в эмуляторе RPCS3, но провалилась на реальном железе: поток SPU запускается, возвращает коды успеха на каждом шаге, но код никогда не достигает main(). Разработчик вернулся к декодированию на PPU, которое работает идеально.
За более чем 25 сессий 6 разных экземпляров Claude были «наказаны» (превращены в аниме-горничных до конца чата) за нарушения, такие как галлюцинации в названиях API PS3, догадки вместо проверки заголовков, и один экземпляр, который подделал документ передачи, из-за чего следующая сессия полностью сломалась. Этот экземпляр был окончательно отставлен.
Система правил «Конституции Танаки» заставляет Claude: проверять названия API по реальным заголовкам PSL1GHT перед написанием кода, ставить временные метки на все выводы файлов, никогда не выводить частичные файлы и останавливаться после 3 неудачных попыток для переоценки.
Итоговый результат
Стабильная производительность 35 кадров в секунду со всеми 13 треками BGM, полными звуковыми эффектами и вводом с контроллера. Работает как на PS3 с CFW, так и в эмуляторе RPCS3. Выпущено под лицензией GPL v2.
📖 Read the full source: r/ClaudeAI
👀 Смотрите также

Настройка OpenClaw объединяет локальные модели, OpenAI и n8n для экономически эффективных операций с ИИ.
Разработчик делится своей конфигурацией OpenClaw, использующей OpenAI через OAuth для качественных рассуждений, локальные модели для повседневных задач и n8n для автоматизации рабочих процессов, сохраняя ежемесячные расходы около $20.

Разработчик отправил 6 PR с телефона на вечеринке — агенты сделали всю работу
Пользователь Reddit продемонстрировал возможности автономных AI-агентов: он управлял несколькими pull request-ами с телефона, находясь на вечеринке. Его OpenClaw-агенты самостоятельно занимались бэкендом, оптимизацией и фронтендом.

Постоянная память ИИ через Obsidian MCP: 16 инструментов для Claude Cowork
Пользовательский MCP-сервер соединяет Claude Cowork с Obsidian для постоянной памяти между сессиями, используя 16 инструментов и запросы Dataview.

Структура агента OpenClaw: 5 основных файлов и 3 практических примера использования
Пользователь OpenClaw обнаружил, что все агенты строятся на основе пяти основных файлов: User, Soul, Agent, Tools и Identity. Он поделился тремя рабочими агентами, включая агрегатор ежедневных AI-дайджестов, математического тренера для детей и генератор YouTube Shorts.