(title image stolen from the peerless Derek Yu, from his very similar article, Finishing A Game)
How many of you have already finished your first game? If you've already shipped a dozen titles, maybe this will seem elementary to you. If not, read on.
What is the hardest thing about game design? If I had to pick something, I’d say it’s… FINISHING YOUR DAMN GAME.
Finishing your game is hard. Very few people finish their games. I started my first game in 1992. I worked on quite a number of games for the next 20 years, and I didn't finish any of them. In fact, I didn't finish my first game until 2012, 20 years after I started developing them. Sure, I STARTED games. I just didn't FINISH them. Until your game is finished, it doesn't really exist, because no one will ever play it.
Why don't projects get finished?
Since 2012, I've finished a dozen games. Not necessarily big games, but Road Redemption and Rex Rocket are up there somewhere. I was able to finish those games by taking a hard look at why I didn't finish my games, and changing my attitude.
Every game designer should get familiar with the concept of a shitty first draft. Your very first game will be a shitty first draft. Your second game will be a shitty first draft. Your 100th game will probably be a shitty first draft. When Derek Yu puts something together in the first few hours of a game jam it's a shitty first draft. There's a reason we use this word, "shitty", to describe the prototype. We don't want to form an attachment to our first draft.
You're a game designer, and in order to know whether or not your concept is good, it has to be playable by your users. You won't know whether your concept is any good or not until people are playing it. In order to get people to play it, and see if they "get it", you have to be able to hand them a controller and walk away. As soon as your game is playable in any form, you should begin putting it in front of users for playtesting. You won't know how to improve it until you see people play it.
Now think about this. Once you have a playable game, what is really stopping you from releasing it and calling it a day? Nothing. If a person can get from the beginning of your game to the end of your game without the game actually crashing, your game is done. However, if your game doesn't have an ending, you have a problem. Most games these days have some kind of ending state to let the player know that they've conquered it. If you don't yet have an ending, make one.
"But the story isn't there yet! The player has to assemble the staff of elemental polymorphing and use it to transform into a dragon before they can challenge the Space Queen, and then--"
Who is the LAST BOSS?
Your game isn't over until the LAST BOSS is dead. Let's say that all you've done is made the first level, where the player wanders through a wood and fights mushroom people. The next level is supposed to be a castle. Stop here. Before you do anything else, make the final boss fight. If you have to account for the player's lack of abilities or your lack of coding infrastructure, just improvise it. Now make it so that beating the first level triggers the final boss fight. Start the game, beat the first level, and beat the last boss.
YOU JUST BEAT YOUR OWN GAME.
Now you can go find your little sister or your dad or your best friend or your roommate and say, "Hey, I just finished a game. Wanna play it?"
And you don't have to stop there. You can make it better.