As I spend more time exploring the potential of permanent, professional freelancing, I have been realising there is a pattern to the sort of projects that I’m drawn to depending on my mood. It didn’t take a great deal of time to work out why, it’s because I really enjoy writing simple, casual game code, in any platform, framework or language.
There’s just something about making a game, no matter how simple the game, or rubbish the artwork. Going from a blank canvas, to something that is actually fun to play,is a real tonic. As a gamer, no matter how casual or infrequent, you’ll soon get a feel for what is ‘good’ and what isn’t, and it’s really fun to tweak until it does feel good.
For example, I worked on a project recently, very quick turnaround, tight deadlines, but a well defined scope. It was a simple infinite side-scrolling run-and-jump game, one button to jump, nothing else at all in the game, think Google Chrome’s Dino Game. All the artwork was provided, so that part wasn’t an issue, I could get into the coding right away. The client needed it created with LÖVE framework, which worked out great. I have plenty of experience with Lua, and some experience with LÖVE, but it would be a fun challenge to get up to speed and productive in such a short timeframe. As it turned out, it was better than I thought, as LÖVE provides a good deal of the core stuff, but leaves the rest to you. Scouring the LÖVE wiki and other community sites, I found a plethora of resources that proved to be incredibly useful in guiding and offering great inspiration. But the real fun came when the basics were in place. The original scope was pretty simple, jump over obstacles, collect tokens. However, I realised after playing that for a short time that there needed to be more. The jump had to be more controllable, placing tokens at different heights, and using the supplied obstacles, which were all different widths and heights, demanded a bit more “gameplay”. So I set to implementing a “jump power control”, the longer you held the jump button, the higher the jump, to a limit. This adds new nuances to the gameplay, now you have to make a decision very quickly, jump high and get that token, but risk coming down in a place where you cannot jump the next obstacle, or miss the token? While this is a very simple example, it illustrates that, while this was a paying gig, it was the level of interest and fun that made it worthwhile and engaging as a project for me.
I will definitely be dedicating more time now to just coding games for the fun of it. Simple games, simple projects, using a variety of platforms and tools to keep it fresh, but always with the underlying goal to have fun, and not think at all about the commercial potential, of course, if it turns out to have commercial potential, that’s a bonus!
I highly encourage more people to do this, set aside some of your valuable time to have fun coding, it will refresh your appetite for it, and you’ll almost certainly learn more doing it than you would writing boilerplate code for a job, and who knows, you might stumble upon the next great “bedroom hack” success, by happy accident, but be sure to have fun along the way.