Game Info | |
Name: | Muffin Mare |
Year: | 2012 |
Made in: | Java, Greenfoot |
Play Game (Pixi.js version) Play Game (libadagio version) |
Muffin Mare was a game I made as part of my high school's "Game Design & Development" class. Originally developed with Greenfoot, this project is dear to me because it was the first project in which I used complex Object-Oriented design. While I wrote code with objects and classes before this, and I even understood the surface-level benefits of Object-Oriented Programming at the time, this was the first project I ever worked on where more abstract concepts like inheritence, encapsulation, and polymorphism really clicked for me.
You can even see the change in my attitude in the original text I wrote for my portfolio at the time:
Greenfoot
Greenfoot is a Java library and environment which... oh God...
...
Sorry about that. Greenfoot is a Java library.... which... is used to... SORRY THIS IS VERY PAINFUL TO RECALL! I WANTED TO FORGET ABOUT THIS!
...
It is used to
tortureTEACH students how to use Object-Oriented programming. It is Java, but with shackles attatched so you can't do anything useful at all.The website can be found here.
A few days later...
Oh. My. Goodness.
Greenfoot is great! How could I live before Object-Oriented Programming? HOW?!
Sure, you have tons of restrictions in Greenfoot, but the mesosphere is the limit.
And look at all that flying room in the stratosphere.
Anyway, about the game itself, Muffin Mare is a very basic game based on the very popular My Little Pony: Friendship is Magic craze that was happening at the time. Essentially the gameplay comes down to hit the space bar when you see a muffin and don't hit the space bar when you see a cupcake. They'll start getting faster as the game progresses and if you mess up once you get a game over.
At the time I was very proud of this game, partially because
I was using high resolution vectorized fan art for all the graphics.
At the time I wrote:
The game I made this time is probably the best one I've made since
this was typed.
It's... really not that good anymore.
Also I apologize to the uncredited fan artists whose vectors I'm
using in this game... It was just a school project!
Remakes:
The Allegro Remake (2013)
In late 2013, I decided I wanted to really get a hang of the whole "C++" thing after having a consistent history of trying to program in the language and getting confused by pointers. So, I decided to just go head first into a project to force myself into learning pointers. Basically the equivalent of moving to another country in order to learn their language.
The project I decided to work on was a C++ remake of Muffin Mare, as Greenfoot games were deployed as Java Applets at the time and switching to Linux earlier in the year actually made it harder to run Java Applets. Since I wanted to be able to play my game in the future, I thought it'd be a perfect project to remake: it's incredibly simple, I have a reason to remake it, and I'll hopefully understand C++!
The resulting game... was functional! However, basing the C++ game's source code too heavily on the Greenfoot game's original source code was cause for some serious headaches. Still, overall, the project was a success! I believe in porting the game some jarring graphical effects were removed, but otherwise it was mainly functionally equivalent.
The Adagio2/Pixi.js Remake (2021)
I've remade this game a second time now, as a test for my new JavaScript game engine called "Adagio2" (you should be able to use context clues to figure out why it's called that). This engine uses Pixi.js as its rendering system but otherwise is custom made from the ground up. I mainly remade it so I could test out deploying an Adagio2 game and to take a break from working on the main project I developed Adagio2 for.
This remake was once the only playable version of the game, as the Allegro version was only ever compiled for my specific Linux system. It was actually based on the Allegro version, so any changes made in that port are also reflected here. The only addition was reusing the ugly "crumbs" sprite that was originally in the game and was removed from the Allegro port.
The "libadagio" Remake (2024)
The game has been remade for a third time now! In the early 2020's I slowly became determined to make games in C++ again. However, I'd bounce between frameworks and other tools and never get very far in the process. Finally I became determined to actually finish something, and this has lead to the development of "libadagio", a still very work-in-progress game engine made in C++.
I had bigger plans for my first game release in this engine, but I decided to revisit Muffin Mare as a simpler stepping stone towards more complex games. Currently this is the definitive version of the game, featuring an on-screen score display for the first time (how did it take that long???) and adding particle effects for the muffin crumbs.
While this is a minor game release of mine, it actually has a few special qualities to it. It's my first C++ game release since Hymn of the Moles in 2014. In addition it also can claim these firsts:
- First game of mine to support gamepad input
- First game of mine to compile to WebAssembly
- First game of mine to have framerate-independant game loops
- First game of mine to use Entity Component System architecture
Game Description:
Derpy is looking for muffins and has come to Sugarcube Corner. unfortunately the muffins and cupcakes have been mixed up, and Apple Bloom has burnt all the cupcakes! OH NOES!!! HOW IS DERPY GOING TO GET HER MUFFINS NOW? Luckily a disembodied protagonist named YOU happens to be there to sort the muffins and cupcakes out so Derpy can be happy and stuff. PONIES.
Images:



Links:
You can play the libadagio remake of the game here
You can play the Adagio2/Pixi.js remake of the game here