Skip to content
A top-down racing game made with picogame

picogame

Make little games for a pocket handheld — in Python. Write and play them on your computer first, then run them on the real device.

picogame is a small 2D game engine for the PicoPad — a pocket-sized game console — and for CircuitPython in general. You write your game in Python, try it instantly on your computer in a built-in simulator, and when it’s ready you copy it to the device and play. No C, no build step, no hardware required to start.

It gives you the things every game needs — sprites, a scrolling world, tilemaps, collisions, sound, text — and is fast enough that real games run smoothly even on a tiny chip.

Journey — a whole game designed and built in picogame, running in the simulator:

Real games across genres — all of these exist as runnable examples: a Breakout, a space shooter, a platformer, a top-down RPG, Pac-Man, Snake, Tetris, a pseudo-3D racer, pinball, match-3, and more. See the gallery →

It runs anywhere first

Write a game and play it on your PC — headless screenshots or a live window. The same code then runs on the device. Hardware is optional until the very end.

Batteries included

Sprites with rotation & scaling, scrolling tilemaps, a moving camera, particles, collisions, a HUD, sound, and saved high scores — as small Python helpers you import as needed.

Bring your own art (or none)

Generate shapes in code to prototype, or convert your own PNGs into picogame sprites. Paint maps and scenes in a web editor.

Learn by doing

Three stepped tutorials build a Breakout, a shooter and an RPG — one new idea per step, every step runnable.

picogame is spread across a few repositories: