Close

Writing Magtroid Pocket

A project log for Magfest Swadge 2024

An ESP32-S2 handheld game system

gelakineticgelakinetic 07/18/2024 at 01:170 Comments


Inspiration

Magtroid Pocket is a first person adventure game that drew inspiration from both 2D and 3D Metroid games, as well as classic FPS games like Wolfenstein 3D. The core gameplay elements I designed around were:

Creative Development

Magfest had already developed characters and theme for the event, so I took that and wrote a plot, which was then touched and fleshed out by a friend. I tried to keep it fun and lighthearted by poking fun at videogame tropes. The tone does shift from silly to serious as the game progresses.

I drew some textures for testing, but had nearly everything including items, enemies, and textures, replaced by artist friends. A little of my art squeaked into the final game. The same friend who helped with the plot also composed all the music and sound effects for the buzzers. I could not have made this game without the tons of creative help I received, and you can read more about that in the Player's Guide.

Technical Development

I learned a ton from Lode Vandevenne's Raycasting Tutorial. It was the basis for pretty much all of the rendering. I highly recommend you go read it.

It was really important to get the rendering loop as fast as possible for fluid gameplay. A few techniques were used to improve performance.

Once the rendering engine was up to speed, I wrote a combination tile based map and script editor in Python to create interactive maps. The scripts are a series of simple "if trigger / then event" statements. Triggers included entering areas, shooting walls in a specific order (puzzles!), defeating all enemies, and more. Events included opening doors, spawning enemies, showing dialog, and more. The editor would export the map and script data for the game to load later.

Discussions