This year I've been taking part in One Game a Month (#1GAM). Wanting to make games is what got me into software development, but for the last few years I haven't really had enough time to do anything.
Although if I'm being honest, I haven't really made enough time to create anything.
#1GAM gave me a target to focus on, and with the exception of May (when I moved house and then broke my computer) I've managed to create one game every month. They won't be winning awards any time soon, but the aim is to finish something, no matter how small it is.
The rogue's gallery is as follows:
- January - Haywire
- Based on an Atari ST game of the same name. Fly your little spaceship around, capture animals and deliver them to the mothership.
- February - Super Puzzle Dungeon Adventure
- Match colours to help your adventurer progress through meadows, forests and dungeons.
- March - Zap
- A really bad shoot-em-up made in four hours. Four different versions available, each released at the hour mark.
- April - Splodey Boats
- Made for Ludum Dare #29. Drop your depth charges to destroy the enemy submarines (and try not to kill any fish).
- June - Over-Engineered Invaders
- Space Invaders built using a custom framework. No download available for copyright reasons.
With the exception of Over-Engineered Invaders, all of these were written using AS3 and Flixel.
What I've Learnt
Game development is HARD
Coming up with an idea and then turning it into reality is difficult. Anything over the simplest idea can quickly become a challenge, and once extra features start getting added it becomes even harder. It's a constant battle to make something that's a working piece of software and something for people to play.
Experience makes it EASIER
Haywire didn't really turn out very well. Although it was no fun to play, it got me back into the game development mindset and reminded me of how to do various things. In the end I used lot of stuff from it in newer projects, so I count the overall experience as a positive one.
Don't get me wrong, it's still difficult to make things, but having the library of code and the experience of solving certain problems has been a tremendous help.
How to say "no" (sometimes)
Knowing that I'm building a small project, and that I have to keep it small, has helped me focus on building useful stuff without getting too bogged down in the engineering aspect. There are projects I've been working on for years that would have seriously benefited from being built alongside a bunch of smaller test projects. I can't believe it's taken me this long to figure that out.
It's even harder to get people to play your games
#1GAM hasn't brought in a whole bunch of traffic to the site. Google says about 50 visitors. I've had about the same traffic from Twitter, and about 100 players from Ludum Dare #29. Granted, I'm not doing this for fame or fortune, but it's still a little disheartening to create something that nobody plays.
There are a lot of games out there, and getting seen isn't easy.
Game development is not just about game development
I like the technical challenge of building a game. I like figuring out how to get things moving on screen in a way that I want. I like building an experience for someone else to play, and then seeing that they play it in a totally different way from how I expected.
However, this is only part of the story.
For the last 10 years or so I've been trying to recreate the experience I had when I first started building games for the PC. I wrote two of the best game demos I've ever made. They were fun, people liked them, and I got them built in a couple of months of super-productive coding. It probably shows how much I enjoyed it that even after all this time I still think very fondly about it.
So far I have not been able to recreate that experience.
I've gone though a bunch of phases and emotions. Maybe I was just a better programmer back then? Or now I'm too old to really dedicate myself to it? Maybe I'm just not trying hard enough? Or am I too easily distracted? Or just not good enough?
Perhaps they're all true to some extent, but looking back I think the biggest mistake I make at the moment is developing in a vacuum. I don't want to show any work unless it's "perfect", so I show nothing. Part of what made that time so special was that I didn't do it alone. I showed off what I was making, but I also looked at what everyone was creating. We all encouraged each other, and made what we wanted to make.
The funny thing is that now there's even more chance to interact with other developers. There are way more forums and sites dedicated to it, not to mention the likes of Twitter, Facebook, Instagram, Google Plus, App.net and everything else.
Normally this is the part of a post-mortem where I write a bunch of bullet points and then promptly ignore them. This time I'm going with just two resolutions:
- No more developing in the quiet. Show more stuff more often. Get feedback and encouragement.
- Pay attention to other developers. Spend time playing their projects. Give feedback and encouragement.
I think they're pretty achievable. Feel free to leave comments promoting your own games and I'll take a look!