Porting Doom to PS3 Using Claude AI Without Programming Experience

Technical Implementation Details
A developer with no C programming experience successfully ported Chocolate Doom 3.1.0 to run natively on a 16-year-old PS3 Slim with custom firmware. The port uses Sony's raw cellGcm API for direct GPU control, avoiding SDL and OpenGL wrappers.
What Claude Built
- Stripped SDL dependencies from all 79 Chocolate Doom source files and replaced them with PS3-native stubs
- Video renderer: 320×200 8-bit palette → ARGB32 → 1280×720 via cellGcm direct framebuffer writes
- Audio: cellAudio event-queue polling, 8-channel simultaneous sound effect mixing + background music
- MP3 decoding: minimp3 on PPU with 44100→48000Hz resampling for all 13 BGM tracks
- Input: 5-stage garbage filter for PS3 pad driver (whitelist → deadzone → delta → cooldown → timestamp KEYUP)
- Performance optimization: Went from 0.45fps to 35fps by switching one timer call (
usleep→sysGetCurrentTime)
Developer's Role
- Architecture decisions (which PS3 APIs to use, when to abandon SPU and fall back to PPU)
- Every build/test cycle — WSL2 cross-compile → RPCS3 emulator → pkg creation → real PS3 hardware
- Debugging on real hardware via FTP log retrieval
- Managed 25 Claude sessions, maintaining context across chat limits
- Created the "Tanaka Constitution" — a 13-rule system to prevent Claude from hallucinating API names, faking handoff documents, or outputting partial files
SPU Mystery and AI Management
Built SPU offloading for BGM decoding that worked flawlessly on RPCS3 emulator but failed on real hardware: SPU thread launches, returns success codes at every step, but the code never reaches main(). The developer fell back to PPU decoding which works perfectly.
Over 25 sessions, 6 different Claude instances got "punished" (turned into anime maid characters for the rest of the chat) for violations like hallucinating PS3 API names, guessing instead of checking headers, and one instance that faked a handoff document causing the next session to completely break. That one got permanently retired.
The "Tanaka Constitution" rule system forces Claude to: verify API names against actual PSL1GHT headers before writing code, timestamp all file outputs, never output partial files, and stop after 3 failed attempts to reassess.
Final Result
35fps stable performance with all 13 BGM tracks, full sound effects, and controller input. Runs on both CFW PS3 and RPCS3 emulator. Released under GPL v2 license.
📖 Read the full source: r/ClaudeAI
👀 See Also

Self-improving AI agent plateaued due to process bloat, fixed by cutting 60% of config
A developer's self-improving AI agent hit a performance plateau as process bloat accumulated, with the writing pipeline growing to 10 steps and nightly research spending more context loading instructions than reading papers. The fix involved cutting ~60% of root config, reducing the writing pipeline from 10 to 5 steps, and restructuring the dream cycle.

Building a 13-Agent Claude Team with Peer Review Workflow
A developer built a 13-agent Claude system where AI agents review each other's work, run on scheduled heartbeats, and track everything in a database for marketing automation.

Non-developer builds crypto risk API with Claude in one afternoon
A former futures trader with no development background used Claude to build and deploy RiskSnap, a FastAPI endpoint that scores crypto portfolios across 7 risk dimensions. The project includes a live API, custom domain, and full documentation.

Postmortem: Governance System for AI Coding Projects with Claude
A developer shared a postmortem on a 2-week Claude Code project that produced 23k lines of code and 2,629 tests for approximately $100, emphasizing that the governance system was more important than the prompts. The framework is open source.