Recreating Classic Shooter Aesthetics with Local Large Language Models: A Quick Benchmark in 15 Minutes
As an enthusiast of vintage first-person shooters, I have a deep appreciation for the classics like Doom and Quake—titles that defined my early years and inspired my love for coding, often in C while navigating byte counts and performance constraints.
Recently, I sought to develop a minimalistic, no-frills gaming prototype using open-source tools and large language models (LLMs). My goal was to create a simple shooter environment with a retro aesthetic, without the complexity of traditional game development stacks or extensive dependencies.
Developing a Lightweight Coding Agent
To achieve this, I built a small coding assistant named codehamr. This lightweight agent is designed for straightforward code generation, free under the MIT License, and available on GitHub: https://github.com/codehamr/codehamr. Unlike more complex AI tools, codehamr avoids dependency on elaborate plugin systems or intricate project structures, making it ideal for quick experiments.
Harnessing Local AI for Rapid Development
I directed codehamr at the local deployment of Qwen 3.6, an LLM that runs entirely on my machine. I provided a simple prompt: to generate a single HTML file that renders a retro-style shooter using Three.js, complete with brown corridors, hitscan weapons, and gameplay mechanics reminiscent of the early 90s.
Within approximately 15 minutes, I had a playable prototype. Although it was rough around the edges, it captured the core aesthetic and feel of the genre I grew up with—striking a nostalgic chord while showcasing the capabilities of modern local AI.
A Noteworthy Milestone
What fascinates me is that this entire process, from prompt to playable prototype, was executed fully offline. Just a year ago, such a task would have relied on cloud-based AI services, entailing latency and dependency on internet connectivity. Now, with local models and efficient agents, I can generate functional code at my convenience—making game development and experimentation more accessible than ever.
Conclusion
This project is a personal passion effort—an experiment in leveraging local LLMs for creative coding and rapid prototyping. I hope sharing this experience inspires others to explore the potential of local AI in their projects, whether for game development, educational tools, or just fun experiments.
Feel free to check out the code and try it yourself!
Note: This blog aims to highlight the innovative use of local large language models for quick, accessible game prototyping, emphasizing the democratization of advanced AI tools without relying on cloud services.

