06/08/2026 | Press release | Distributed by Public on 06/08/2026 04:48
On Mondays we like to trawl the internet to find excellent builds from the Raspberry Pi community. Sometimes they end up in Raspberry Pi Official Magazine, like this AI Arcade by Grigor Todorov. Happy Maker Monday, friends!
Raspberry Pi is at the heart of many DIY games consoles. By running emulation software such as RetroPie, Recalbox, Batocera, and Lakka, our favourite computer is more than capable of playing a host of classic games from a host of systems spanning the 8-bit to 32-bit eras. When Grigor Todorov decided to produce his own console, however, he decided not to base it around existing systems like the Sega Mega Drive or SNES. Instead, he pursued a project that would allow him to enjoy new titles, made on the fly, using the magic of AI.
Grigor is an avid gamer. "I enjoy playing games on my Steam Deck, especially roguelikes such as Hades and The Binding of Isaac," he says. "I like games that are quick to start, replayable, and a little unpredictable, which strongly influenced the idea behind AI Arcade." Having already owned a Raspberry Pi and an arcade joystick left over from other projects, Grigor was able to immediately start working on his console. He wanted it to generate as many games as possible using large language models (LLMs).
"I wanted to experiment with LLMs in a more playful, physical way," he explains. "As LLMs have improved so quickly, I became curious about what the future of gaming might look like with AI involved. One possibility was a device that could generate endless new games, giving you a fresh experience every time." For this he turned to ChatGPT and engaged in a spot of vibe-coding (which involves describing an app in natural language rather than directly writing code) over the course of an afternoon.
Using a Raspberry Pi felt natural for this project. "The Raspberry Pi is very versatile, compact, and power-efficient," Grigor says. "It also has a huge online community and excellent documentation, which makes it ideal for projects like this. I like that the console could be made fully self-contained. I did not add a battery for this version, but it would be possible to turn it into a portable, self-powered box that only needs to be connected to a screen."
From the start, Grigor wanted the console to be as easy to use as possible. "That was one of the main goals," he says. "I wanted a Raspberry Pi computer to host a web page locally and automatically launch it full-screen on startup. I also wanted to ensure that the user needn't understand anything technical. The aim was that people would just power it up, connect the HDMI cable to a screen, wait for it to load, and then either prompt the LLM to create a new game or play one that has already been generated."
With all of that in mind, Grigor got down to generating the local web app. He got the program to produce a browser-based user interface that could be navigated using a joystick controller with two buttons via a browser Gamepad API. He also ensured the interface could be navigated using a keyboard. The web app was originally set up so that a completely random game would be generated straight away, but he found this could be expanded. "I found it more interesting when the player could steer the result a little," he reveals. "The choices give the user some influence over the theme, mechanics, or style of the final game."
The result was an app which uses two LLM API calls. "First, the app asks the model to generate four questions, each with two possible answers. This only takes a few seconds," Grigor says. "The player then chooses between the answers, and their selections are used in a second prompt. That second prompt is used to generate an HTML file, which is then displayed as the game."
Even though he was vibe-coding, it wasn't really a shortcut to success. "One of the main challenges was making the experience feel smooth and appliance-like, rather than like a computer running a script," he says. "Getting the Raspberry Pi to boot, host the local web page, open Chromium, and go full-screen automatically was an important part of that. Another challenge was dealing with the unpredictability of LLM-generated code. Sometimes the generated games work surprisingly well, and other times they are a bit broken. I tried to make the prompting more structured so that the output would be consistent and playable."
The end result is impressive. The system is able to produce simple, addictive games that evoke the nostalgia of a bygone era. "The gameplay can be genuinely interesting and the results are often more repeatable than I expected," Grigor says. But the experiment still shows that AI has some way to go to be able to match the genius of past developers. "Sometimes the games are broken, but they are still fun to experiment with," he adds. "The weakest part is usually the art. The assets are not especially strong, so I think the project could be improved by adding another AI model that specialises in generating higher-quality visuals."
Still, it's a fun project to try and, true to its retro roots, it doesn't have to be a complicated build. The case itself is just a wooden packaging box with a joystick and two buttons and that's just the way Grigor wanted it. "I like reusing old packaging and I thought the wooden box worked well for this kind of project," he explains. "For simple builds, I do not think 3D printing is always necessary. Sometimes an old box and a hole-saw drill bit are enough. That said, I would love to remake it one day in a nicer oak box."
He'd also like to take the AI Arcade to another level. "I would like to lean more into the multiplayer side of arcades and possibly add extra buttons," he says. "It would also be interesting to experiment with generating 3D games. At the moment, many of the LLM-generated games are quite similar. One idea I am interested in is pre-generating 20 to 30 game templates and then using local generation to tweak values, change mechanics and swap art assets. That could make the box work offline while still producing varied games."