How to Design Mario Levels That Don’t Suck


With the release of Mario Maker, everyone has the opportunity to create levels for one of the greatest series in the history of video games. This presentation will give you a brief history of the genre, an understanding of what makes 2D Mario levels so good.

This talk includes links to additional content that can really help you understand some of the design choices of Mario.
The following link is for a PDF of the slide deck I covered:

download the presentation: How to Make Mario Levels that Don’t Suck

Drill Planet: How I developed and released a game to the App store in 69 hours


Yesterday I uploaded Drill Planet to the iOS app store. If the review gods are on my side, Drill Planet should be available before the end of July. This is how I got it out on time and with minimal monetary investment.

Note: You can play an HTML-5 version of the game I describe in this article on

Who are you and what is this about?

I am a part-time indie game developer with a full-time job outside the industry. From 2011- 2014 I release 3 games. I slogged through development with a few downloads and very little bit of press recognition.

For 2015 I am done making big games that take a long time and have set the goal to release a game every month in 2015. I want to experiment, learn, and get my name out there with a dozen tiny, exciting experiments.

Goals for Drill Planet

  1. Release a game on the ios app store instead of just a web portal
  2. Make it a platformer game based on this level in Mario Galaxy
  3. Make a game with an “oh-shoot-one-more-time” play style such as flappy bird and jump car
  4. Get an early version on for early feedback.
  5. Build some infrastructure that will speed up development  in future games (such as mailing list integration and reusable scripts)

Instead of doing an tick-tock description of May, I made this fancy chart.



Each colored bar represents one hour. I was very strict about those hours and used a pomodoro-style timer app and only recorded time in which I was productive for the full hour.
The labels are the top are the weeks I spent on the game.

“WAIT A MINUTE I thought you were doing this game in a month? That thing goes to 10 weeks!”

That is true! But! I got a base playable version of the game done in 3 weeks and posted it on itchio the last day in May. In order to get this game ready for the app store I had to return to it in July.

How I Saved Development Time

I wanted to focus on getting a minimal viable product released that looked good. These are some time savers:




I didn’t do enough of it. For future games I want to submit an itchio build every Friday and post on Reddit’s “feedback friday”
I also plan to continue live playtesting with friends and at the monthly IGDA meetings.
Building up My Base

I was really proud of how much base reusable code I got into this game. All of these features will be need in my future games and I am glad I got them working now:

  1. Advertisement platform integration (ad colony)
  2. Using state machines (a really handy architecture that makes coding faster)
  3. A built in mailing list nag page. Getting lots of mailing list is a major goal.
  4. Documented and streamlined the app store workflow such as making a trailer, getting provisioning profiles and uploading it to the right channel.
  5. A splash screen with cool eagle sound effects.

Everything in orange is code that can be reused in my next game:

To Be Improved

I still think this game too long to develop. If I am going to keep up a game-a-month pace I need to cut some things. Here is what took too long:

  • I can fix this in the next month by relying on bigger code base that will handle more of the rote tasks such as touch controls and level progression. I am looking at this one:
  • Spend more time per week coding. I need to set daily goals and be more productive during that time.
  • Circular platformer is WAY too ambitious to do in a month. I had to re-teach myself high school level trig, and churned for 8 hours just getting the controls to feel right and fix control bugs.As you can see, everything in orange is time I spent working on the touch-control scheme. Way too much.


The Future of Drill Planet

I want to keep up with this, depending on initial reception possibly add more monster types, different world scenarios such as harder surfaces, different terrains, bigger circles.

Progress update June 27



New version of City Tuesday in playtest:

Here is what is new since you last playtested:
1) A NEW PUZZLE. It is at the end of “country world”.
Puzzle elements include some of the following:
– An anglophile
– A constant gardener
– A dog with a passive aggressive bladder.


You can playtest it if you have the appHub membership by going to this link:


What happens when you don’t push start?

I am designing the splash screen, attract mode, and main menu for City Tuesday. With all the games I have played I can’t exactly remember how most games start. So, I picked a few games that are similar to what I am shooting for with City Tuesday and decided I would start them and wouldn’t push start until the game reached its resting state.

Age of Booty:

What is it: A stylistic indie game made by a small studio:

  1. ESRB
  2. Publisher logo
  3. Company who made it logo
  4. Main Menu (super music)

Note: No intro cinematic. No real introduction other than this SUPER pirate-y menu. It would be impossible to tell what kind of game this is before actually playing the game.


Alan Wake:

What is it: A near AAA game that has a lot of cool visuals

  1. ESRB
  2. Company who made it logo
  3. Cool animation of the title
  4. Menu that says “Start to Play”
  5. Attract mode: Montage of some interesting scnees from the game.

Note: Alan wake is super atmospheric and I wanted to see how these pros decided to set the mood.


What is it: A 2d platforming indie game that is very similar in style to City Tuesday

  1. Publisher Logo
  2. Company who made it logo
  3. Menu that says “Start to Play”

Note: Random 2D silhouettes run around on the “press start button” screen


What is it: An RTS from an indie team that makes really unique games. I really like this company.

  1. XBLIG Logo
  2. Company who made it logo
  3. Intro setting animation with minor story elements (pushing any button jumps you to main menu.)
  4. Menu that says “Start to Play”

Note: I like this intro that starts it is like a non-obtrusive cut scene.



What is it: A space shooter from Brendon Chung who makes games with such unique visuals

  1. Company who made it logo
  2. Menu that says “Start to Play” with animation of the game under it. Charming music is playing

Note:I like a game that you could just let run and it would be like a screen saver. You could almost have this running during a hip party and someone would think you have interesting visual taste.





Why is every Dream-Build-Play winner a 2D platformer with grass?

This week, Microsoft announced that Dream-Build-Play 2012 (DBP) is open for registration. The contest (now in its 6th episode) is a showcase of the year’s best of games that have been developed using their XNA game-creation-tools. I will of course be entering City Tuesday in it because the deadline is close enough that it really gives me the motivation to finish.

I took a look back at the past grand-prize winners and remarked at the uncanny similarities of all the games. Here is the list of ever grand prize winner with screenshots:

If you pay close attention, you might notice some similarities among the grand prize winners:
– Every single game has been a 2D platformer.
– Four of the five have featured an adorable lead character (Some may even consider James Silva’s Dishwasher a lovable gremlin).
– Four of the five have featured hyper-saturated cartoon graphics completely devoid of blood (again the dishwasher is the outlier).
– Similarly, three of the five have featured particularly verdant environments replete with green grass and blue skies. (The dishwasher does feature some grassy environments all-be-it desaturated).
– And, only one had any type of firearms (yup dishwasher again).

Yes yes I know there are only so many genres that a small, independent game developer can make in a year or two. However, XBLIG has had been known for its dual stick shooters, SHMUPS , RPGs , and Zombie games. Yet, not a single one of these genres has been featured in the grand prize. Heck even the second and third place winners of DBP show more diversity of what is in the service.

So why does Microsoft keep picking essentially the same type of game year after year? The dream-build-play (as if the name wasn’t clear enough) is a competition of wish
granting. It is trying to show the public how wonderful and great the games made by this community. This isn’t a chance to show some rough-around-the edges yet brilliant re-imagining of an over-done game convention. DBP is not supposed to be challenging your conceptions of what a game is.

Instead, the games that win are beautiful even in a static screen shot. They control well and the animation is really smooth. The games are inoffensive and they are generally pleasing to the widest possible audience.

It is the easy-listening music of game making.

I am not trying to dismiss the games that won. Each one has the high-level of quality that I could only dream of getting my own game to.
However, I am tired of the same type of game winning every year.

The Dream-Build-Play competition reminds me of this really great segment on This American Life about two artists who hired a marketing research firm to poll people what they consider to be a beautiful painting. The leader of the project, Alex Melamind, found that the most widely pleasing painting would be a landscape with blue sky, wild animals, water, and mountains. You can see the painting here:

You can listen to the segment here.

Sound similar to the games that win?

I once asked the Microsoft community manager who the judges were for the Dream Build Play competition. Unfortunately they said it was a secret. I was trying to figure out if they maybe contracted with some of the more famous critics in the game industry. I would really like to see someone like Kotaku Editor-and-Chief Stephen Totillo (who in 2007 -same year as portal – picked Desktop Tower Defense for his game of the year).

I have a feeling the project leads of each of the departments that have a stake in the XBLIG community get a vote. My bet is that it is something like the project manager of XNA, the marketing director of Xbox Live, and Larry “Major Nelson” Hryb. So, if you are making a game that you hope will take the big prize, forget about making one that will redefine what people consider a game to be. Lose the abstract art. Ditch that wonderfully ironic and violent grind-house game. No bloody zombies. No bullets. Just grass, blue skies, cute animals, pretty animation.

Dream Build Play Winners:

Training levels

If you think this looks like a mess, well it does because it is. I am working on the training level which means I have to make a small sampling of the major themes and trails that will be in the game. It is a cross-cut, a sampler-platter, a coming-attractions reel. All of that.

The challenge of this is that I have to code a lot of mechanics of the game all at one time.

The good thing is that once I am done with this, the rest of the levels will roll out much faster because the support code will all be done.

By the way, what you are seeing is the first room in the game where I test out the new features. It is like a crazy jungle-gym of triggers, touch plates, enemies, and collectibles.

Creator-intensive content

PacMan does not require a designer to carefully craft a puzzle mechanic. Instead, the rules and resources of the game are enforced by the some-what AI controlled ghosts. The fun of it comes from working out the escape routes that are thrust upon you by the game. Neither does Tetris. Compare that to a game like monkey island where 100% of the challenge came from a trap that the designer specifically laid out for you. It is obvious, but I realize, now, how such a seemingly minor difference in game style can have such a dramatic impact on how the game is created.

City Tuesday is a game that falls under the “designer-intensive content.” And it is really hard. I am not saying it is more difficult than making a really great shooter but I am saying that making content for a game with puzzles requires more attention from the designer in order to get a basic interaction. I can make one screen a neat puzzle only to blow it with a blah puzzle in the next screen. Also, with a shooter, a designer can play it and know whether it is fun or not. But you can’t play your own puzzles. It is like trying to tickle yourself.

If this is your first game, I would recommend not have any puzzle mechanics. I created this handy spectrum of games from almost self-perpetuating fun in Minecraft to the heavily designed fun of Monkey Island. Note that games like Halo and Uncharted fall in the middle because they do have a fun shooting mechanic that would sustain itself if you just threw the player in a room full of guys. However, the variations and the long-term interest requires a designer to create missions and harder arrangements of enemies and bullets.

City Tuesday progress for September 8th

I attended the monthly International Game Developers Association meeting last night. The theme of the session was playtesting in which anyone can bring a game and get feedback from the many developers in the area. It is a humbling experience. However, the feeling I get after is not unlike a vigorous workout. It is as if everything is tested and when I am done the game is strong than ever. Here are the notes I took with my own suggestions afterward:

– Tooltips didn’t stay up long enough for people to notice them or to read them.
– There was no way for users to start the tool tipagain if they missed them.
– There was no indication if the information was decoration or was critical to solving a puzzle.
– They wondered why there were tool tips for some people and not others.
– The trigger for the tooltip was unclear. They didn’t know if some people didn’t get them or whether there was some button they had to push.
– People like the tooltips and find them funny.

Solutions: Color code the tooltip. Blue or Red for vital or possibly some icon like important. Use black for neutral.
Solution: Press X to pop up the latest tooltip again.
Solution: Everyone gets a tooltip.

– Users were confused by which bombs related to which area:
Solution: The bombs are aligned sequentially so that the bomb found in zone 1 is next to the bomb found in zone 3.
– Users were confused when they collected a bomb how that was reflected in their total bomb count. When you collect a bomb show an animation that moves up into the top row to show that it was collected.

Maps and charts:
– Encourage people to explore the whole map. Show screens fading if users have not been there in a while. It shows that you have never been there at the 2min mark. Or that you have never been there at the 5 minute mark.
– Users didn’t know right away that you could go to the next screen. In screens 0-4 make a lot of people come and go through the edges.
– Show which levels you have been to and which you have not.
– Users spent a lot of time in world 1-4 and did not find too much. Put a very easy bomb here.
– Then users ran through 5-12 because there was not much there.
– Show a chart of all the people in the city. Show a partially filled person if you know some of their facts. Show a fully filled person if you have read all of them. select the person and all their tooltips are shown and the unread ones are shown as “???”

Time spedup
– Set the time increment to 1, 2, 8.
– Make a visual indication that time is moving faster, like VHS fast forward lines, sound effects, blurring, or a vignetting effect
– Suggestion to make you run faster when you speed up time.
– Every screen should have something that shows time is speeding up. Like some background animation that goes faster. Teetertotter goes faster too.

Interactions with environment
– People keep trying to go into doors. Which they can never do. Maybe make a sound when they try “use” button on the door. Like bum-bum. Or nah-nah.
– People kept trying to get into the tunnel. Make the color of the tunnel dimmer and possibly add an icon idicating that it is for the train and not you.
– Make a standard tooltip icon if you can interact with something. Like an X button that pops up.

Unclear when hit agro guard what happened
– When user ran into the guard with the asteriks it was hard for them to understand what happened and why.
Solution: Code a unique death screen for each encounter. In this case pop one up that says do not harass security. You will always lose.
– They were also unclear whether you could jump over the guard or not.
Solution: Maybe nothing. THey eventually gave up. Possibly write: Please do not harras or attempt to jump over the security.

Bad Guys:
– Users didn’t see the bad guys and think, he is bad. Solution: Show tooltips that say “shadow Thorn Initiate #1258”, also in the training sessions show that he is bad and is connected to playing the bombs.
– Users tried to attack the guy after he planted the bomb. Solution: either make them run away so fast you could never possibly catch them. Make them grey or fade away. Keep the bad guys visible because they are a clue as to where a bomb has been placed. Also when you see a bad guy running you know that something has been placed and a direction.

Training Sessions
– This game needs a separate area just for showing you how to interact with the world
– THings to teach: tooltips can be just background information. Or they could be important. So important informaion is in blue or something and just background is black. This would help in like a combination for a lock or an indication of which door to pick.
– Show that you can scare off bad guys and that you cannot possibly kill them.
– Have small one screen puzzles that rely on a 30 second loop. This shows how you can learn what happens.
– This loop would show interactions of the environment like putting trash on benches or people being agro.

Suggestions for bank heist
– For the bank have the guy carrying the bombs turn agro when carying money so you stay away.Some people tried to harras the guy as he wasy carrying money and bombs to the truck.
– Show early on the interaction of the bank guard and women who pass. Show that if a woman passes he drops the bag and attempts to talk.
– Allow for user action: Make is so that the user has to do something to get the guard to drop the bag.

Maybe there are two benches. If you put something on one bench she wont sit there and will instead sit on the bench that is in his path. Somehow try to get the woman to sit in his path. Maybe you can grab trash from the trash can and spread it on the bench so no one will sit there.
– Some guys accidentally figured out the bank heist. Again make player initiative on this one.

City Tuesday progress August 9th

Play testing is not the same as market testing. I have heard people bemoan the overly-thorough play-testing of games that AAA companies like Valve inflict upon their games. “Tsk Tsk”, they say, “I want a game that captures the designer’s vision and hasn’t been mellowed out by generic review boards that soften games and polish out the individual humanity of the developer.” However, what they are complaining about is market testing in which a product, such as blockbuster movies, are shown to an audience and that audience’s reaction can determine whether the boy gets the girl or if he dies in the final scene. Yes that sucks. But it is not the same as play testing. The best analogy I have heard for game play testing is a standup comic who tests his jokes in front of a smaller audience (sometimes even on twitter). You need to do this because games, like jokes, have most of their impact in the audience’s mind. Similarly a game must be propelled by the audience.

I have been thinking about play testing because last Wednesday I went up to the monthly Phoenix International Game Developers Association meeting to show a build of City Tuesday. Boy was it a surprise. I was able to get two folks to try the game. In both cases I saw my game in a completely new way.

The controls were troubling in ways that I hadn’t seen before. One tester followed a vehicle that looked too similar to another vehicle. I got to see the confusion first hand. It was a really great experience. I wanted to feel mad and frustrated. However, I know that I would rather find these problems now than after I released the game. There will be more testing to come and more improvements.
Oh, by the way I went up to IGDA phoenix with a couple other Tucson developers. They are making a game that was just published to the itunes ap store named Baby Monkey (going backwards on a pig)