Production Notes - Super Mafia Land

IMG_4291

I’ve made a lot of games.  Some of them are done in a few hours or a few months, but none has taken as long as our latest Super Mafia Land release.  We took our love and dedication to new heights on this one and somehow managed to carry out the goal to make this game a reality.  So while our scores may have been less than perfect our goals and ambitions on this game were nonetheless carried out: we really wanted to make a game that paid homage to (the best game ever made) Super Mario Bros 2.

We worked on this game for over eight months.  Granted, we weren’t working on it full time but we loved this game to death.  Both Nick (BoMToons) and myself are huge fans of Super Mario Bros 2.  In fact we both share the opinion that it’s one of the most unique and incredibly fun games we have ever played in our lives.  But to see so many online message boards and people filled with hatred against the game SMB2 seemed ludicrous to us. It’s not a traditional Mario game but it is one that really does a lot of amazing things.  After a bit of talking and reminiscing about how great this game was we decided to start on not a clone, but a game that pays homage to what we think (or at least what I think) is the greatest game ever made.  We wanted to show our love as only game developers know possible.

In May 2008 we started developing prototypes and initial artwork for the game.  I built a tile engine that got it’s workout in a few titles, including Maverick and Achievement Unlocked.  These tile-based games helped work out the kinks on the landscape hit detection and really made the tile engine kick into full gear.  The lovely thing about the tile engine is that it can generate a really nice level without being to strained on the processing.  It requires no hitTests, loops, arrays, or anything like that.  It reads in vectors and tile locations to determine collision and it worked well.

By then we also started to see the amazing artwork by Nick.  We never wanted to copy and paste the original sprite artwork like many other Flash Mario clones because it didn’t seem quite in-tune with our intentions to rip original artwork and drag it into our creation.  We redrew everything, reanimated everything, and even developed new characters with their own stats.  

prod3

We weren’t out to reap havoc in creating a Flash version of Super Mario Bros 2 but an entirely different setting and feel.  Sure, you can pickup enemies and chuck them but we wanted to add to make interesting things with that.  All the levels are brand new and designed and drawn by Nick.  Doors lead to special areas and interesting places and we really wanted the player to explore their surrounding.  Some enemies are similar to SMB2 but we really wanted to add our own flair and even our own unique end boss.  New music and characters were a start, and even our own way of making characters interact on the screen were important.

Character artwork is worth looking at all its own.  You probably didn’t realize this but the animation for a character in this game was 13 sprites per character per size, meaning 78 animated sprites just for characters were needed.  On top of that all the enemies and active parts of the stage were animated as well, such as the turnip plants blowing around and the ladybugs climbing the vines.

We settled for three characters, Guiseppe (a balanced character), Bruno (a buff but slow character), and Maria (a princess-like character with speed and less muscle).  The characters were developed as Italian gangster characters.

The levels are comprised of four levels of artwork and coding.

  • The bottom BG layer facilitates all the parallaxing in the game (background moves slower than foreground to give that illusion of depth.
  • The foreground layer facilitates all the artwork for the level, such as clouds, brick, or grass.
  • The tiles/script layer manages all the important collision and action data.  Tiles are placed across the level to indicate solid vs. climbable, etc.
  • The sprite layer works with all the characters and their movement, as well as any enemies or items on-stage.

By the time the levels were done and in place we realized that we had stretched ourselves and Flash a bit.  The game had levels reaching 18,000 pixels long and could barely be worked on in the Flash environment.  Numerous crashes and failures in the game engine due to extremities forced us to cutdown on initial level size and cut everything into fragmented level sections.  A beta of the initial engine tested by a few testers showed incredibly low framerates so we had to make those changes.

At one point the computer even couldn’t handle rendering the levels.  We upgraded the RAM in the system and started dumping parts of the files into test files so that we didn’t have to wait 5-10 seconds after each change we made to the file.

In response we spent nearly 3 weeks optimizing the engine for good speeds in the browser.  The game actually runs fairly smoothly in the browser although for some it may run a bit slow due to graphic complexity and such.

prod2

The complexities of coding a game like this are beyond troubling.  The interaction between character, enemy, and environment is far pass what many would recognize.  For example, how does the game react to a player carrying an enemy while riding a falling enemy while trying to access a door?  For this alone I can say that whoever programmed SMB2/Doki Doki Panic deserves many, many pats on the back.  These sorts of issues extend far and wide into the game and to nail all the issues and trouble spots is rough testing then even rougher debugging.

At points this game didn’t even look like it would ever see release.  Glitches in the Flash program caused the game to not function correctly, and then inadequate processing power by the computer drove the game to a halt.  Multiple bug issues arose and fell again as more features were added and then debugged.  The game chugged on some machines and ran fluid on others for no really good reason.  We were stumped for days at some points but managed to get through all the trouble spots.

By the end of the game we had all three levels done and the various enemies and obstacles in place.  It really was crunch time in the past few weeks getting this game ready to go.  I had sleepless nights and 16-hour coding sprees to get this game on its feet and ready for the world to see.  We worked hard.  Very hard.

We launched the game and got less than impressive results in user feedback, and while this was troubling for us there were many questions and points that were being raised that we never expected:

  • Even though we could never ever top SMB2, our game is compared to SMB2 rather than other Flash games.  Because this game is automatically received as a Mario game many people forget its even a Flash game and just compare it to every Mario game they’ve ever played.
  • This game is going to be compared to traditional Mario games even though SMB2 and SML are nothing close to those games.  A good portion of our reviews talk about Super Mario World.
  • Some decided to not even talk about our game and rather talk about SMB2, as if it was a conversation starter.

So while we might not have a perfect score, we did have an amazing experience learning how difficult it is to make a game like this.  As Nick said, “It’s a labour of love” and I couldn’t describe it any other way.  We love SMB2 more than many and we’ll stand up for it even when the Mario purists come to bite.  We could have paid homage to Super Mario World but our hearts go out to a true black sheep in the series and we’ll continue to praise it as one of our favourite and most inspiring games of all time.