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

Claude Time Travel Game Evolves from Prompt to Full Deployed System
A Reddit user describes evolving a time travel RPG prompt in Claude into a complex system over 40 days, adding YAML state files, 50+ NPCs, event triggers, and eventually deploying it on Fly with a database and custom MCP server for cross-platform access.

AI TDD Pipeline: How Bad Instructions Created 3,400 Tests and What Fixed It
A developer built a multi-agent TDD pipeline with Claude Code where different agents handle testing, coding, and review. The initial instruction 'write tests for everything' resulted in 3,400 tests with only 44% valid, leading to 'coverage theater' where tests didn't catch real bugs.
Claude Code Wrote Every Line of a 50s Launch Video in Remotion — But It Took ~100 Prompts
A developer details using Claude Code to generate every line of TypeScript/TSX for a Remotion launch video. The process required ~100 prompts, a detailed creative brief, scene-by-scene iteration, and frequent git diffs.

Developer Ships 6 PRs from Phone While at a Party — Agents Did the Work
A Reddit user demonstrated the power of autonomous AI agents by managing multiple pull requests from their phone while attending a party. Their OpenClaw agents handled backend fixes, performance improvements, and frontend tweaks independently.