Paper Mario Battle System

An open-source project I’ve been working on and off in my free time for over two years. This project, written in C# and MonoGame, aims to recreate the battle system from the first two Paper Mario games in a flexible manner that can be extended and used in game projects. I’ve been utilizing as many resources as I can about the internal mechanics of the games to ensure accuracy.

The current 1.0 release supports a wide variety of features, including Badges, Status Effects, Action Commands, a Dialogue system, a config file, and much more.

This project is unique in that I write down all of my notes and keep them in a separate folder inside the repository. The notes range from tests I’ve done in the Paper Mario games to technical implementations of features and refactoring of existing features. The goal of this is to not only have a nice reference but also to allow new developers to understand my thought process when designing this battle system.

GitHub Repository



The Hammer move with Stylish commands.

PMBS Multibounce

The Multibounce move in action. Notice that the Paratroopa loses its wings when jumped on and that Mario takes damage from attacking spiked enemies.


The dialogue system in action. A separate RenderTarget is scaled to display the zoomed in portion of the screen.

%d bloggers like this: