Mother 3's 15th birthday

Remember, don’t cry until the end.

Happy Birthday Mother3

As said in the video, Mother 3 is probably my favorite game. It had a strong lasting effect in my inspiration and my projects. I can’t really find another game that did so much on me. The story was the strongest point of the game, right before the music and the battle system, which I love a lot. Adding the realtime component through the HP/PP meter and the bash combo seems simple but it did the trick in keeping the battles fresh and entertraining. It’s almost magical how a “simple” change can do lots on the classical RPG formula.

At one point, I used to make sokoban clones to get a feel of a game engine or framework. Now I just cave up to my own regrets of never finishing a previous iteration and end up making another iteration of that game’s battle system. It just won’t stop, I just can’t.

So April 20th is both weed day and Mother 3’s birthday. A little bit of everything for everyone, heh? I dug up my old drives, my old files. Tried to recompile everything that lacked a build1, recorded (or stole the old recordings) the whole series and voilĂ - we’ve got a video.

Let’s waste my sleep budget for the night and delve a little bit on all the shown iterations.

HBE - Hinawa Battle Engine

The one project. The one that started pretty much everything. By a pleasant morning in Summer 2013, I woke up at like 5am. The sun was already in the sky and I was feeling as fresh as after a whole night of sleep (while it wasn’t).

I was bored, and the idea striked my mind : “hey what if?…” I took out my TI-84, opened up a new Axe Parser source script, and I started by drawing the bash combo music notes in a circle, started to play around with it. Then I mocked up the characters' GUI, then it pointed to actual data. Then the menu, the enemy, the backgrounds… Quickly I ended up with something that looked like the game!

Animated capture of the game

Hinawa Battle Engine

Hinawa is Lucas' mother, one of the four protagonists. She is a key character.

To my greatest surprise, that project got noticed by Mato, the translator-in-chief of the officlal non-official English translation. Damn! It’s pretty obvious but I’ll still state that without him and his team, I’d have never got the chance to try the game. I kinda own to him a lot.

That project was also the start of my usage of notebooks to keep track of gameplay ideas or to keep track of the game’s variables (Axe running on a calculator, we don’t have a lot of space to be creative with variable names…), I still do that sometimes, it’s fun and it’s great to look at back at past ideas.

Second version - Lost to /dev/null

That iteration wasn’t shown because it was both an embryo and it was lost. It was -if my memory serves me right- a C version that would have run mainly on Casio calculators that was directly inspired by HBE.

Third iteration - “MoutonBound”

During my course at the ENJMIN, we had to do a small exercice in Unity after learning the basic gist of it with a theme: “absurd”. Oh and we had to do something with a sheep we would have modeled in an earlier course. My mind fell back to what was already a routine. Which means “more Mother 3”. It’s a stripped down version due to lack of motivation in making something big in Unity and lack of time.

Fun facts : I removed the sound because I had Mother 3’s music over the whole video, but the “game”’s music was a stable rendition of Airwolf 2(?) on C64 and the sheep’s baas were stolen from Worms Armageddon, because that’s another important game to me.

Fourth iteration - “Four”

Four was something major. Probably the biggest iteration over the course of those 8 years. I won’t add a lot that isn’t already in my portfolio. It’s a version based on Haxeflixel and a few other libraries and it was also a kind of milestone. That’s the first project I had a longterm vision for. I tried to plan stories or making artworks, I kept for so long a backburner idea in the cold and this iteration was the closest to its realiaztion.

The engine was mostly complete. It even had runtime AI scripting to quickly prototype enemy behaviors, an idea that came to me after seeing some FF6 battle scripting.

Alas, both loss of motivation and personal issues were the reason I dropped working on it further than polishing the engine over and over. I still kinda regret not having done much more with it and I still can’t find the energy to go back on it. But boy it was something back then.

Fifth iteration - “Five”

The SmileBASIC project I was supposed to talk about but I haven’t done a blogpost for. SmileBASIC 4 caught my attention back then and after being bored of cloning Super Hexagon, guess what2?

It was an interesting task. The lack of structured types other than arrays and strings added a bit of difficulty in keeping track of data. The code also is quite hard to handle. I don’t like having to put everyhting in the same file and jumping here and there in it. I’d have loved having more than a few buffers for that kind of project.

But hey, it was fun to have not-Mother 3 on a Switch without having to go through an emulator, hahaha!

SmileBASIC has a few features that made juicing the GUI a bit easier. The cursor’s spinning or the small color/scale animations were really easy to add: one line of code + a keyframe array for each one and it’s rolling by itself. Really, I can’t complain.

Sixth iteration - “Six” (previously tetra_test)

Another framework, another iteration. This time, it was an attempt at using Rust moderately seriously. After porting a raytracer (in one weekend) to Rust, the itch for making a game prototype poked its head out back again. After looking up small game engines/framesworks (Bevy and the clique just didn’t click for me), I settled down with Tetra.

I started experimenting with homebrewed enum-based state machines and the logical next step out of that was to make yet another iteration. I sighed when I came to this conclusion. It’s still a work in progress and I have to finish a blog post for this one. Even if it’s the least prettiest of all the iterations, I have a few things to talk about around its development, yes yes!

Back to the video

Well, I still have to wrap my head on the fact that the game was released 15 years ago. Heck, Mario is 36 years old and it just feels like it’s ~20 as when I finally got my hands on a NES. TIme flies so quickly.

I discovered the Mother series of games thanks to a dear friend of mine. Her elevator pitch of the first chapter was memorable (and spoilery, sorry) and intrigued me enough to look up for the game. And I don’t regret anything from it at all. Since that day, I finished my studies and looked up to work in game development, hoping I’d be able to make a game that will be at least comparable to Mother 3 in terms of impact over myself than it’ll be over its players. I don’t know how, I don’t know what, but somehow I still dream (a little, ever so slightly) of doing something like this.

So again, Thank you Shigesato Itoi and Clyde “Tom Mato” Mandelin and your respective team for everything you’ve done through this game and the series. Tonda Gossa!

  1. Task which ended up faster than expected, I only had to recompile the Axe Parser and Haxeflixel versions. ↩︎

  2. Three attempts. No point given for figuring it out. ↩︎