MPCreations

↓ Projects ↓

Mono Escapes Death Icon

This project marked my first game made with Unity, which is a dungeon crawler bullet hell game with systems that are more complex than any other project I have made in the past. The goal of this project was to enhance my skills in gameplay programming, performance optimization, and iterative game design, equipping me with the technical expertise to help bring any future ideas to life.

As the gameplay programmer, I implemented a procedural generation algorithm to create unique, replayable level layouts, ensuring each playthrough felt fresh and engaging. I also developed a minimap system that can adapt to these procedurally generated levels. To optimize performance, I utilized Unity's object pooling system to efficiently manage large volumes of game objects, reducing memory usage and maintaining smooth frame rates. Through extensive performance profiling and debugging, I ensured stability across diverse scenarios, delivering a seamless player experience.

In terms of gameplay design, I crafted a versatile combat system with a variety of weapons and enemy types, incorporating playtester feedback to achieve balanced and engaging gameplay. Additionally, I implemented a player progression system to create a rewarding experience throughout the game.

More screenshots from the game can be viewed here and can be downloaded here. The repository for the project can be found here.

Recreating Git Icon

In this project, I recreated some of the core functionalities of Git version control using C++, enhancing my understanding of version control systems and refining my software development skills. I implemented several essential Git commands, including “init”, “cat-file”, “hash-object”, “ls-tree”, “write-tree”, and “commit-tree”.

The project involved implementing Git’s file storage and retrieval mechanism, utilizing SHA-1 hashing and zlib compression. This allowed me to generate unique identifiers for files and efficiently store their compressed contents, aligning with Git's approach to object handling. Additionally, I developed a deep understanding of Git objects, including blobs, trees, and commits. This knowledge was crucial for accurately parsing, organizing, and retrieving data structures.

This project sharpened my C++ skills and gave me a new appreciation of one of the most widely used version control systems in software development.

The repository for the project can be found here.

Divine Retribution 8-bit Project Icon

This project was my very first attempt at creating a fully-fledged video game from the ground up, and though it may have its flaws, I couldn’t be more proud of how it turned out. It’s a 2D retro platformer built in Godot, designed to capture the spirit of the 1986 classic Castlevania. Everything from the player movement to the UI to the artstyle was focused on being as authentic as possible.

Throughout the development process, I had the opportunity to manage a small but talented team of two friends as art/music directors, making sure the game’s visuals and sound captured the essence of the original while bringing our unique flair to the project. I also worked closely with playtesters, incorporating their feedback to refine gameplay mechanics and ensure the game was both fun and challenging.

As a gameplay programmer, I focused on optimizing player engagement by applying strong game design principles and implementing UI/UX elements that made it easy for players to understand and enjoy the game. To ensure a smooth and bug-free experience, I carried out rigorous testing protocols, including unit tests, to identify and fix any issues before launch. This project taught me a lot about game development, teamwork, and refining a product based on real-world feedback. It was a challenging but rewarding experience, and I'm thrilled to see how it came together!

More screenshots from the game can be viewed here and can be downloaded here. The repository for the project can be found here.

Soulslike Platformer Project Icon

This project marked a significant step forward in complexity for me, as I transitioned from retro-inspired platformers to a more modern 2D hack-and-slash experience. Built in Godot, this game aimed to offer a more fluid and enjoyable gameplay experience compared to one of my previous projects, Divine Retribution (8-bit Project). While that game was focused on emulating the style and feel of old-school platformers, I wanted this one to break free from the clunky or restrictive movements of past games, giving players smoother and more dynamic controls.

For this project, I used assets from other creators to focus on the design/programming of more complex gameplay systems/mechanics, including: enemy AI that could navigate through 2D terrain and recognize paths to chase the player, a dynamic combat system, an interactive tutorial, diverse level layouts with various environmental obstacles, a checkpoint system to save player data, various dynamic enemy movesets, as well as miscellaneous systems such as camera shake to create a more engaging experience.

Playtesting was an essential part of this project, and I made sure to gather plenty of feedback to refine mechanics and make the experience as player-centric as possible. This project was a major learning opportunity, allowing me to push my skills in AI development, dynamic system creation, and level design while learning how to create a smoother, more modern platforming experience.

More screenshots from the game can be viewed here and can be downloaded here. The repository for the project can be found here.

Retro FPS Project Icon

This is a 3D Retro FPS game meant to resemble the look and feel of the 1994’s original DOOM. This project marked my first encounter with Unreal Engine 5 and its visual scripting system “Blueprints”. Although the foundation of the game was based on a tutorial, I was able to add my own twist by customizing several systems and features. I implemented a variety of new mechanics, such as weapon sway and item pickups, which weren’t part of the original tutorial.

One of my proudest achievements in this project was designing my own level and creating a unique boss fight to challenge players. I also developed reusable door mechanics that smoothly raise and lower, adding a layer of interactivity to the environment. AI was a major focus as well as I created dynamic enemy behavior using Unreal’s behavior trees, enabling them to navigate the flat 3D environment and engage players in more realistic ways. I also utilized vector math to design an 8-directional sprite system for enemies.

I was able to also learn how to create core mechanics that define the FPS genre such as hit scan detection using line traces. This project was an opportunity for me to dive deeper into Unreal Engine 5, strengthen my understanding of AI and combat systems, and create a fun, fast-paced retro FPS that brought some of my own ideas to life.

More screenshots from the game can be viewed here and can be downloaded here. The repository for the project can be found here.

Mega Man Platformer Project Icon

This project is a 2D action platformer inspired by the original Mega Man, built within Unreal Engine 5 using its visual scripting system, “Blueprints”. While the foundation of the project was based on a tutorial, I expanded on it by designing my own level, going through the iterative process of prototyping and drafting level layouts. Developing a 2D game within a 3D environment was particularly interesting as it gave me insight into how some of my favorite games use 3D spaces to craft 2D perspectives.

For this project, I implemented a dynamic camera system to isolate player encounters, ensuring gameplay always stays visually engaging and focused. I used line trace methods to introduce features like wall sliding and jumping, adding fluidity to movement and traversal. Additionally, I applied object-oriented programming principles to create reusable classes, streamlining the development of game actors.

More screenshots from the game can be viewed here and can be downloaded here. The repository for the project can be found here.

SFML Pong Project Icon

For this project, I decided to take a step back from traditional game engines and build a simple Pong game using C++ and the SFML library. My goal was to bypass the abstractions that game engines typically provide, giving me a deeper understanding of core game development concepts. I implemented all the essential mechanics, such as collision detection, boundary handling, and basic AI, from the ground up.

The game can be downloaded here. The repository for the project can be found here.

Warehouse Wreckage Project Icon

This project is a simple yet effective demonstration of physics in Unreal Engine 5, where you can shoot a ball at various objects and observe their interactions. The goal was to deepen my understanding of 3D physics within the engine. Through this project, I learned how to set up physics for both individual objects and composite structures made of smaller components. I also experimented with manipulating properties like mass to fine-tune the behavior of objects in response to collisions and forces.

While based on a tutorial, this project served as a fruitful learning experience, helping me build a solid foundation in Unreal Engine's physics system and explore how small adjustments can significantly affect gameplay dynamics.

The game can be downloaded here.

Obstacle Course Project Icon

This project is an obstacle course created in Unreal Engine 5. Moving away from blueprints, I used this tutorial-based experience to familiarize myself with the workflow of setting up and using C++ in Unreal Engine, gaining a deeper understanding of its integration.

While the foundation of the project was guided, I designed the level on my own, crafting an engaging obstacle course that helped reinforce my learning. This project marks an important step in transitioning to more code-driven development in Unreal Engine.

More screenshots from the game can be viewed here. The repository for the project can be found here.

More Projects Coming Soon!