A little background about Kill the Plumber. It's a reverse-platformer browser game Iskander Aminov and I made during the first half of 2015 and has been played by millions of players everywhere. It also made a buzz with the Apple fiasco even gracing the pages of Mashable and The Guardian. The game is a finalist in IGF at GDC China and has won Excellence in Design.
It's been over 6 weeks since I have been working full time for the Steam version of Kill the Plumber and it's about ready for release.
So what have we accomplished during the month and a half? It's 6 new playable enemies including another playable boss in 48 brand new levels. We now have full controller support and a world map for level select. We added speed run mode plus a total of 27 total achievements in an awards room you can explore. Not to mention tons of optimizations (my spaghetti code is dripping its mess), bugs fixing and other stuff we feel like changing and improving like completely new skins for the plumber (yay! we give in to copyright), backgrounds and tiles. Lastly, I was able to upload a build to Steam, get it approved and set it live in upcoming games!
But how do I accomplish tasks and what goes in the process of my design? I made a simple list.
1. Make a game out of ideas that really stick to you
When I was asked what will be my next game after Kill the Plumber. I don't know specifically. Kill the Plumber happened one day when I was looking for collaboration in a forum I am actively participating in. The artist Iskander Aminov and I had a chat and he showed me his notes of game ideas. It is so much different from what Kill the Plumber is now, so read on and see how it evolved to what it looks like now.
So bounce off ideas, take notes of them and discuss with your team. Look around you and let your next game come naturally for you.
2. I play similar games or watch videos of them
Now that I have something to work on, it just doesn't pop out as game. There has to be clear rules and I need to establish them. Even if you are used to it, your brain won't be able to function. This is creativity we're talking about and there is no drug that exists to recharge it. Ok maybe there is.
At the start of working on Kill the Plumber for Steam, my mind is blank. I have already done so much in the previous builds, I have no idea what else is left to do. So I played some snow levels whenever I could. This also happened when Kill the Plumber was being conceptualized. When Iskander told me of his game idea when I was looking for collaboration in March, it is simply an elevator pitch. Sure, a player can play as the enemies, but how will it turn out as a game? I need a fun core loop.
3. I consume anything related to design, be it videos or blog posts or talks.
If it weren't for Mark Brown's 4 Steps of Level Design I would have never imagined how this game will play out in the beginning. It talks about figuring out a way to deliver your stages to the player without holding their hands every time while also making the player feel progress when they are playing. Go check it out. [link]
I noticed it is easy and systematic to design levels when you introduce a new feature every 3-4 levels. So in Kill the Plumber's case, a new playable enemy is introduced every 4 levels. When you get to the third level, something else will be different. It could become a survival level, the plumber might have a new power or a different control is introduced for the player to figure it out. As you move on later in the game, you can simply mix and match these features and everytime it feels fresh. By adding bonus levels in the game, I was able to explore more level design possibilities by using later features together with the introductory ones. Like a survival stage with the weakest minion trying to avoid a fireball throwing invincible plumber.
There are so many articles and videos in game design out there for free, I will probably just make a list of my favorites next. One I recently enjoyed is the talk about design of Ryan Clark (Crypt of Necrodancer) in GDC China so I went on Google and tried to find a video of it. GDC hasn't uploaded it yet but fortunately Ryan also made a blog post about it on Gamasutra. Click the picture to read it.
He also talked about being careful who to listen too and I strongly agree. The keyword is to listen, be on the lookout for more knowledge. Up to this point, I still want and need to learn more as much as you do. Also apply what you learn! Don't just like it on facebook!
4. I design while I code
It is really different designing in paper as what looks cool and fun there, it simply would not work in the game. You'd be surprise to create a few more levels because of this simple coding you made for your game. I also polish that scene while I work as it makes me appreciate the result more. Even the trailer came out different than the one I wrote on paper. When I made some video recordings I thought some parts would go nice well at this time of the music. I also implemented what I learned from Ryan Clark and what I have observed in most trailers. Here is our 1 minute trailer with awards at the start and press mention throughout while playing to an upbeat music.
5. I have a TO-DO list on paper that I throw out of the door
I write what I need to do on whatever paper I have on my table at the moment. Be it 1/4 pad paper, a notebook or recently a Kitkat pad which has an appropriate reminder saying "Keep calm have a break." I crumple the paper when all tasks are checked and throw it outside the door. I smile when I step outside and see tons of crumpled paper at my door.
Also, fixing bugs is like killing the monster Hydra, you kill one head and it will spawn 2 more. Since I am also the designer, I get to keep my sanity by making two parts of me work together. I list what I need to do and work on it one by one. If I spend more than a few hours on a simple task, I do either on what's next on this list.
Here's a simple solution, design your game based on your abilities. Stanley Parable was admittedly a game designed by limitations. The developer said he can only do things, make hallways and put voice in the game.
So if a bug is nagging at you everytime your character is sandwiched in between two different types of blocks, then don't design it that way, move those 2 blocks away from each other. Design your levels to prevent those bugs from ever happening. But you ask, what about those bugs that are too awful and affects your game all through out.
7. Remove or keep. In Space Invaders, when there are many enemies they move slow but as you take them down, the remaining enemies move faster and faster. It is not designed that way, they all have the same speed variable.But due to game's hardware the enemies behaved that way and it became challenging to players.
In my case, I saw on a Let's Play from CinnamonToastKen where on Level 7 he did this glitch where the plumber floats in between two blocks after jumping. His reaction is hilarious I decided not to fix it. If the bug is game breaking or simply doesn't work out, I just remove the feature that is causing it. Of course this advice doesn't apply if you are the type of guy who can do everything and can also program The Matrix.
The advice of keeping things as they are doesn't only apply to bugs. Some rage inducing levels need to be there just to give the player the best kind of feeling when they actually beat it. Go on Youtube and see level 12 of Kill the Plumber and the player's reaction of almost beating it and actually beating it.
8. Sleep on it
If you can't keep it or adapt to make it work you have one choice. Sleep. It clears your mind. There's really not much to say about this.
9. Admit it
I am not a good programmer and I think I will never be. If you have not observed yet, Kill the Plumber and Pretentious Game are very minimalistic in effects and animations. They are also one screen levels and do not scroll. I simply can't code without them lagging like hell. I am an Accounting graduate for god's sake. So I move on if I really can't do it. Mobile game development is harder for me as it requires more optimization. So this time I hope I can find my place on Steam. I also want to try out Game Maker and my next project will be made in it.
In recap, here's my process.
- I have this sticky idea that came naturally. Then I do the following steps and repeat until the game is done.
- I design it based on my limits.
- I check out other games and how they do it.
- I research and learn from other developers and apply them.
- I design while coding.
- I list what to do next.
- I either fix, keep or remove what's in the list.
- I take breaks.
I'm still not a qualified person to give this advice, but hey I got a sharp pointed hard glass Trophy for winning Excellence in Design in IGF China and I could defend this with it if my life depends on it!