Eddie over at Illogic Tree recently wrote an article aimed at helping the new guy get into game development. I think he raises some good points, and takes a few steps towards explaining some of the essential technical aspects of game development so check it out, but for now I’d like to expand on some of the softer issues of getting started making games.
You Ain’t Going to Need It (YAGNI)
If, like me, you are coming at game development with a solid background in computer programming then chances are you’ll approach the hello world examples with a desire to abstract, layer, and object orient the heck out of things. Don’t, stop, it’s overkill! I can tell you from my own experience whatever optimization or generalization you’re thinking about when you start developing your next game you won’t need, so save yourself the time and trouble and implement only what you need.
Not only will this keep things simple but they’ll keep you productive, and as long as you’re making progress you’ll continue to learn and work. Be very careful to avoid getting stuck. The longer you get stuck the less likely you are to continue the project.
Rule of Three
If you’re diligent about following the YAGNI principle then chances are you will end up implementing something a few times. Instead of kicking yourself for doing extra work be thankful. It usually takes three attempts before you’re likely to successfully implement something so relish in all the experience you’ve gained. With all those hacked solutions under your belt you’re ready to cobble together something more general — just remember to keep it simple!
Speaking of the rule of three this raises another important point for new developers; to quote Eddie:
The best tip anyone can give you when you first begin developing games is: start small. This is very important. You see people all over game-dev forums telling beginners to just start by creating a simple tic-tac-toe or tetris game.
I agree completely and I’d go one step further; if you’re new to game development don’t simply create one simple game create three of them. Try pong, arkanoid, and pacman for a good range of skills. Naturally, don’t simply shovel out crap, really stretch yourself and make something you want to show off.
Stay Motivated!
I touched on this above but it’s incredibly important to take conscious steps to stay motivated. Once you’ve lost motivation it’s very difficult to get back into things because you’ve lost your train of thought. So how does sort of thing happen? Richard Dingwall has a good list of advice to follow which I’ll expand on:
- Don’t do anything unnecessarily complex
- Don’t make massive, disruptive changes
- Work with some sort of version control
- Don’t follow the wrong idea too far
- Seek out constant feedback
- Keep a public change list with frequent updates
- Have a public and hard deadline
Conclusion
I know I started this by saying these were softer skills for the new developer, but I’m beginning to think that a lot of these principles are applicable to experienced developers, too. At least if I may speak for myself. So, what would you suggest for the new developer? How do you get work done? What tricks do you employ to stay motivated?
Hello, my name is Alex Schearer. I grew up in New York and currently live in Seattle.
3 Comments
Thanks for referencing my article! You have a tasty article here.
I would say that your greatest enemy when developing a game is indeed yourself. Morale elements such as motivation and inspiration plays a HUGE part in creating a game. That said, you must definitely love your game if you want others to love it.
However, sometimes you are just so focused on your game that you become a slave to it. You obviously want to finish it and produce a deliverable, but after weeks of non-stop programming it becomes sort of a chore. I feel that it is healthy to step back, take a few days off, and get back when you are feeling fresh. Else, it begins to feel like homework. You are the master of the game, not the other way around.
Oodles of toodles!
Hey Eddie, no problem it was an interesting read. I’m glad you enjoyed consuming this post, too :-) You’re absoutely righ tabout loving your game, not least of all because if you don’t love it you won’t see it past that difficult stretch towards the end. And you’re right that it’s important to keep a perspective and do something fun once in a while — hey I think I’ll take your advice!
hi! i’m thinking of Dwarf Fortress, by Tarn Adams:
http://www.bay12games.com/dwarves/dev_now.html
it’s an incredible project for one only men, but i think that he’s using all of your advice!