Crazy, right? It's actually completely possible, with some stretch of the imagination. The 0h Game Jam does it by starting development right before daylight savings time changes, and using the extra "turned back" hour to make their game in what would, in fact, be zero hours.
If you can successfully pull that off, stop reading now; you're certainly much more experienced than me and won't benefit much from this. For the rest of you, here's some tips on how to design a game, from start to finish, in 72 hours. You'll find that it's actually a generous amount of time.
Quick note: I've included a small list of tools useful for speed-dev at the bottom of the post. Go check them out, maybe.
1. Know the tools you're using, at least a little.
This is fairly obvious but worth stating. If you haven't used a language before, you're going to run into quirks. No exceptions.
As a start, build a platform engine or a shoot-em-up. Get an idea of how the structure would work.
Some things to know first:
- Keyboard and mouse input handling
- Class structure
- Sprite/image drawing and animation
- Structure of very basic engines (platformers and top-down are a must)
Being able to learn structural programming isn't exactly straightforward. I can't teach you that. No one can. It comes with practice, and brute-force gamedev, really. Game Maker is a nice tool for prototyping, if you're new. But really, teaching you the basics of programming is sort of out of the realm of this guide. Sorry. It's not very hard though, I promise.
2. Focus on one aspect in particular and cruise through the rest.
You won't have time making a game that looks nice and plays nice and progresses nice. Take something you want to focus on and emphasis that.
If you're a pixel artist or a professional illustrator that can draw things with one hand tied behind your back, then go for it. Or if you're a natural storyboard writer and have a fleshed out, complicated story that you really want to pursue, do that.
If you're neither and you're a new fish in the world of speed development, then the easiest thing to do is think of a gimmick that's clever enough on its own to hold your game up.
Edit: A small note from the developers of "I Hate Myself":
Thank you for this article and also mentioning our game "I Hate Myself". Please note that this game was not made by just a single person, instead it was joint effort of Jonathan Wehrle, Tilmann Hars, and me (Martin Felis a.k.a. fysx). We were extremely lucky with our team.Another example is "Fez," by Polytron. Probably a bad example, because the code behind this must be massive, and the graphics must've taken a while, but this is the sort of idea you want to aim for: simple mindfuckery.
And yes, using version control was also extremely helpful. We almost did not have any problems with merges or other issues.
Oh, and not to forget: good food and enough sleep (at least 6 hours)!
3. Don't bloody sit there and wait for an idea to hit you!
A lot of newbies fall into the trap of "I only have three days to make a game! I need to spend every living, breathing second of it working on my game! Quick, the gods above, bestow greatness and inspiration upon me!"
Go outside. Talk to people. Walk around. Listen to music. Do anything. But don't be afraid to waste a chunk of your time being away from the computer. 10 hours spent on the concept is easily worth 30 hours of polish. In fact, most game developers only spend one-or-two-thirds of their time actually developing.
And once you have a really good idea, act on it.
4. Scrap your game once or twice if you need to.
It sounds ridiculous to restart after having spent 10 or 20 hours on a game, but you're better off for it. If at any point you realize that your game is heading in a horrible direction, blow it up, restart. I can't stress this enough-- a poorly-executed but well-thought-out idea is worth more than a polished pile of crap.
For some damage control here, I suggest making a prototype of your game first. Start with the engine, and temporary "programmer" graphics everywhere, and flesh out the core. Design a few levels for a quality check. If it's any good? Green light, keep at it. And if it's not?
|You know what to do.|
(By "scrap," I just mean restart. Don't literally delete it).
So you've got a nice game going, and you feel great about it, but it's lunchtime and you only have 20 hours left and you're freaking out and you haven't slept in days and and and and a final tip.
Sleep regularly, eat regularly. It's tempting to go the insomnia route and coffee through three days but it's absolutely detrimental. I've personally tried it, and then I wake up and find the entire system completely destroyed, duplicated lines everywhere, simple solutions overlooked. Don't do it.
Your game sucks.
But don't feel discouraged, it's all about practice. Sounds cliché? It is, but it works. Really. A lot of game development is just working up the motivation to keep at it. Nice way to do this? Talk to other developers. Comment on their games, listen to their critiques on your own game. The indie developer scene is full of assholes but there are a lot of great, inspiring people too, and it's really motivating to be a part of that sort of community.
And a small note about timelapsing...
A timelapse is a video made by taking a screenshot every few seconds or so while you're making your game, and compiling it all at the end. It's really kind of neat.
Send me your timelapses! I want to see them. I'll try to feature a few nice ones here.
And now, some useful tools:
- Dropbox - definitely the most useful of the bunch. Upload files and link to them quickly to share beta versions. Also excellent for collab projects, because files are synced across computers.
- GitHub - for version control. I don't personally use it, but lots of people seem to find it useful.
- SFXR by DrPetter - great for generating 8-bit sounds quickly.
- BFXR - a more powerful version of SFXR. Also, it's Flash, so no need for a download. (Kudos goes to Gigimoi for this one).
- Audacity - light, open-source sound editor. (Thanks to orange08 for this).
- Chronolapse by Keeyai - for timelapses. Light-weight, easy to use.