Long time, no post. I’ve been caught up in my current projects and haven’t had the motivation to make a post for a long while.
I’ve spent roughly a year and a half working on and off on a recreation of the battle system from the first two Paper Mario games. I was surprised to not find a battle system similar to theirs online and decided to write one because I love those games. At the moment, it’s fairly flexible and the damage formula is close to 90% complete. Visuals and presentation are lower in priority than the core systems, but I’ve started putting a bit more effort into making it look good to better show what it’s capable of. I’ve learned a great deal about writing flexible, modular code by doing this, and I’ve grown a much fonder appreciation for open source engines and frameworks, such as MonoGame (which I can learn from), over closed source ones like Unity (which I learn very little from in comparison).
I’ve been reverse-engineering the Paper Mario games and using any resources I can find to better my understanding of certain mechanics. The next step to increasing my knowledge is to learn PowerPC and MIPS assembly so I can read the ASM instructions for the games and gather more details on their inner workings.
Last is a map viewer for my fangame, Super Mario Bros. Online (SMBO), that I wrote in several hours. I have the original Visual Basic 6 source code, so reading in the map files, which are stored in binary, was easier than it could’ve been. Even so, it took a while since VB6 has several language differences (Ex. fixed-length strings) and stores binary data slightly differently than C# and other modern languages. In SMBO, you can’t view the entire map because the maps are larger than the game screen, so it was nice being able to see my own maps in full after such a long time. The map viewer also includes a screenshot feature, which you can see the result of below.