Inspiration

For the Retro vs. Modern theme, we wanted to merge old hardware with modern creativity. The Canon EOS 6D is a decade-old DSLR, but thanks to Magic Lantern, it still hides a surprising amount of untapped potential. We were inspired by the idea of turning this “retro” camera into a “modern” gaming device—repurposing photography hardware into something completely unexpected.

What it does

ISOQuest is a mini platformer that runs directly on a Magic Lantern–enabled Canon EOS 6D. The player controls a character using the camera’s physical buttons to walk, jump, and navigate platforms. It displays sprites, levels, and movement in real time on the camera’s LCD screen—effectively transforming a 2012 DSLR into a handheld game console.

How we built it

We wrote the entire game in Lua using the Magic Lantern API. Because the camera is limited in memory and processing power, we created a lightweight engine optimized for ultra-low-resource environments. We experimented heavily with BMP formats, palettes, and transparency (eventually using 8-bit BMPs with magenta transparency) to get sprites to load without corruption. We then built simple physics, collision, and scene rendering logic that the camera could handle smoothly.

Challenges we ran into

Retro hardware limitations: The EOS 6D has extremely limited RAM and CPU speed compared to modern devices. Fitting a game into it was a constant balancing act.

Image corruption issues: Many normal image conversions produced distorted or colorless sprites. We had to carefully hand-tune formats to prevent the camera from mangling them.

Lua performance constraints: A single script that was too long or too memory-heavy would cause the camera to fail to load it.

Debugging on a DSLR: Unlike normal dev tools, we had to test everything directly on the camera, making iteration slow and unpredictable.

Accomplishments that we're proud of

Successfully running a platformer game on a DSLR camera—something the hardware was never designed to do

Solving multiple image-format issues to get clean, recognizable sprites

Creating a functioning physics and rendering engine under severe limitations

Staying true to the Retro vs. Modern theme by blending old hardware with modern coding techniques

What we learned

We learned how to optimize aggressively for constrained hardware, how image formats behave at a very low level, and how to build a game loop inside a system not meant for games. We also learned the value of experimentation, persistence, and adapting to the quirks of retro hardware with modern tools.

What's next for ISOQuest

In the future, we want to add more levels, animations, and maybe even enemies or collectibles. With more optimization, we hope to squeeze out smoother movement and richer sprites. We’re also considering releasing a simple framework so other Magic Lantern users can build their own retro-camera games.

Built With

Share this project:

Updates