Super Mario Land graphics


I decided to check out Super Mario Land for research purposes while working on my Marne Bros project. It's one of the early Gameboy games, and it sort of shows. There's a certain appeal to the simple readable graphics though. Perhaps it was made to look that way because the original Gameboy screen had an early, low contrast LCD, probably with a bit of fade to any moving pixels.

Anyways, after having played the game for a bit I suddenly got the urge to see if I could do something with the sprites in Photoshop. Then I realized I could actually put the sprites in the game since the 2 bitplane tiles are pretty easy to read and write. Then I decided to redo the graphics for the entire game, so I spent a few days doing that.

Since the game uses a white background, I almost have 4 colors per sprite. I say almost because with too much white/alpha on a foreground character, the background will show through too much and it looks a bit wonky. Anyways, here are some screenshots from various almost-final versions.

Super Mario Land Title screen screenshot Super Mario Land 1-2 screenshot

Title screen after having clocked the game twice. It becomes more difficult after the first completion, which is why my Mario's not present on the second screenshot here. Each world actually has a different cloud, but the original game used identical graphics for each one afaik.

Note that when using the Super Gameboy (SNES) or emulators you can tweak the colors to make the game a bit more readable, but this also ruins effects like the hidden falling blocks on 1-3.

Super Mario Land 2-1 screenshot Super Mario Land 3-2 screenshot

Lots of tiles to play with on this UFO. There's no explanation in the game why Mario travels with it, but I like how the game has a lot of vehicles. I couldn't use this front facing idle small Mario as the top of his head is re-used for a running frame and it looks wonky. The water is animated with the second frame stored outside of the tile tables (1 bitplane). It seems the program writes the tiles into the graphics memory in an alternating fashion. I didn't have to edit the second hidden frame of the waterfall as it looks OK anyways. Well, aside from being somewhat seizure inducing.

The Shellcreepers did indeed learn how to walk upright. I tried to match the look of some of the enemies a bit with the peripheral artwork. The electrical rhomboid on 4-3 got its eyes for example, and Pionpi (jumping chinese zombie?) also looks more like the artwork. In the case of the spiders I took some liberties because I felt they were too generic.

Super Mario Land 4-1 screenshot Super Mario Land 4-2 screenshot

I shortened the Piranha plants a little since they were just 8px wide and I wanted them to be more chubby. Managed to squeeze in some teeth. Sometimes I prefer these old school ones over the dotted ones with big lips in the newer games. Newer as in starting with SMB3. I suppose the coins are silver with this palette.

Super Mario Land 4-2 screenshot Super Mario Land 4-3 screenshot

1-1! This palette works well with most enemies like the Goomba and turtle (is it a Shellcreeper or Koopa Troopa?). It's strange how the yellow looks like skintone or light brown or yellow depending on what it's on. This palette has a pretty nice red-brown too. I've kept the background colors a bit more muted since they need to be ambiguous.

Fishies gave me a bit of trouble but I think they turned out OK. So hard to fit the gaping mouth animation into 8px because the head can't expand much. Pretty happy with the bubbly UFO matching the flying one. Did tatanga lose these ships during his invasion? He's an alien after all. I think the SML setting has lots of interesting little things like this. Whatever happened to Tatanga anyways? And Wart?

Super Mario Land 2-3 boss screenshot Super Mario Land 4-2 screenshot

Left: Seahorse (Dragonzamasu) boss as it appears in my PR3 version. It's a bit of a homage to the SMB2 egg-spitter (Birdo) with the freckles.

Right: Demo-Mario riding the boulder. It rotates and flips oddly so I couldn't make a character of it (you'll notice that it flips rather than rotate if there are unique features). I reworked the Moai stone head characters everywhere. The realistic Moai heads felt out of place in the Marioverse. Gave them blackface lips because that's how Mario games roll, right? Added some to the title screen too so the theme is integrated. I've lightened most background elements to separate them from the foreground and because it interferes less with the transparent bits of foreground characters.


I use the following palette, but each to his own. Since I've used a bit of aliasing and lighter tones on the sprites, my graphics would probably read poorly on the original Gameboy screen.

WARM VERSION ****************************

Background tiles ------------------------
248, 248, 248	(Almost white)
200, 176, 96	(Beige, works with coins and ground)
72,  104, 32	(Shade and pipe. Algae water?)
40,  48,  80	(Nice to have a blue in there)
Foreground sprites ----------------------
x,   x,   x	(Transparent)
224, 192, 72	(Yellow, skin, explosion)
176, 80,  48 	(Brown-Red, Mario, explosion)
40,  48,  24	(Dark brown green for line art)

BLUE VERSION ****************************

Background tiles ------------------------
208, 216, 224	(Not full white)
136, 160, 192	(Wimp blue for sky/water details)
48,  96,  64	(Shade and pipe)
24,  32,  48	(Not full black)

Foreground sprites ----------------------
x,   x,   x	(Transparent)
232, 152, 96 	(Yellow, skin, explosion)
168, 48,  32 	(Red, Mario, explosion) It's a tad too dark?
Full Black

In Visualboy Advance you can set colors by going into Options > Gameboy > Then tick "Real Colors" and then go to "Colors..." where you can play around.

Tools used

I wrote my own dumper, patcher and data search tools in BlitzMax. The patcher conveniently loads my sprite sheet and plops it into the game, so I can use it in tandem with Photoshop. I later added IPS generation functionality. I also used my Arnimation software to play and tweak animation frames.

Main Patch

Here is an IPS file. It just contains my changes and where they go into the game. You'll need some kind of IPS program to apply the patch. I don't know much about them. I don't have one. Lunar IPS and IPSWin are two names I've heard. The game ROM itself should be 65 536 bytes (64 kilobytes) but there might be version differences within that size. The MD5 of the original game should be "b259feb41811c7e4e1dc200167985c84".

I've also made some Pauline player graphics so I might release another patch for that (who will she rescue though, having broken up with Mario? Or did she pull a Leia on Mario?).

Patch Patches

These patches will just replace the characters and thus needs to be applied after my most recent patch above. Also, these character patches overwrite slightly different things and can't be stacked, so use them on a freshly patched game. The patches might not work with some versions of the game where the strings are at different offsets.

Pixel art by Arne Niklas Jansson, 2013 - Original game (c) Nintendo 1989, of course.