top of page


Maggie's Mirror

     Maggie's Mirror was designed as the final project for RIT's Game Development and Algorithmic Problem Solving II Course. The project is a 2D light-and-reflection based puzzle-platformer built C#. The game features a 2D Tile Map Editor used a combination of C# and XML, which allows the players to build their own levels and puzzles. It allows users to save, create multiple maps, select multiple tiles of a differing number of horizontal and vertical elements in both the tile selection and placement screens, choose from multiple tile types which each had different visuals and functionality in-game, replace and erase previously placed tiles, click and hold for placement of continuous tiles, scroll vertically and horizontally to create maps of huge sizes while the editor keeps count of the amount of tiles shifted, and import them directly into the code we made for our game to create a level, converting from XML back into our C# code.

     Our team coded the physics, screen movement, character control and stats, and pretty much the entirety of the game from scratch with help from MonoGame's asset pipelines. The game allowed the player to switch between different characters on the spot, as each character is meant to be a psyche fragment trapped inside Maggie's Mirror, representing aspects of herself and the stages of her mourning. Each character had a unique gameplay element: Maggie, who could use her mirror to reflect light in a gameplay menu similar to WindWaker's wind selection screen; The Astronaut who could hover using his jetpack; The knight who could defend against projectiles by blocking with his shield, and so on.

     The main puzzle element we completed was the usage of Maggie's light from her mirror to light up crystals that would change the layout of the level. The manipulation of these changes would allow Maggie and company to get through to previously inaccessible areas of the level. We also had a checkpoint system, a dynamically scrolling screen, and a menu and options system which allowed the user to change screen resolution. We completed all of this in about a month.

bottom of page