My Experience With Game Development (So Far)

Introduction

A lot of you who know me from writing Franjo: A Journeyman Story might be wondering what the fuck I’ve been doing over the last few months while I’ve dropped off the face of the Earth. Well, the purpose of this post is to reflect on what I have actually been doing in my free time, which I hope might also be of help (Even if only as a cautionary tale) to anyone trying to get started as a solo indie game dev.

It’s always been an ambition of mine to get into game development. Not an ambition that I ever thought I’d realise, but an ambition nonetheless. I’ve tried half-heartedly to get into coding for years. I did codeacademy courses about 5 years ago, took an online java course etc, but I eventually gave up on all of it. I remember getting a bollocking when I was working for a tech support company because one of the supervisors caught me trying to build a Texas Hold’em game while some poor old dear on the other end of the phone tried to work out how to plug in her pissing monitor.

For the last couple of years though I started getting serious. I self-taught javascript that I used to create little bookmarklets and chrome applications, relearned some java to make little beginner games and then found myself on Game Maker Studio 2.

GMS2 is a ridiculously friendly and powerful piece of software. It’s the software that birthed a lot of great 2D games like Hotline Miami, Spelunky and Undertale and it uses a custom coding language called Game Maker Language (GML). So that was me sold, really. I fucking loved Undertale, I love-hated Spelunky for being so bloody difficult and… To be honest, Hotline Miami isn’t my sort of thing, but I appreciate it’s merit as a game. So last Summer, after whiling away weeks of my life following tutorials, I became sort of alright at GML. It’s similar to javascript in terms of syntax too, so that certainly made the adjustment easier. This is when I hit upon my first idea

Game Attempt #1 – World Cup Thing

Yeah… I never actually came up with a name for this one, so I wasn’t sure what to put in the title. The concept here was strong, but way too large in scope. I wanted to create a Football-Manager-esque (Of course) World Cup game, but with a dramatically different set of rules to the real thing. The player would choose their national side and set their tactics and lineup. Then you’d challenge whichever team you want to a match. Should you win, you would then get to absorb all of the other team’s players into your squad for use in future matches. I felt like this made for a good strategic dilemma – Do you play all the weaker teams en route to the final, but have a dramatically lower quality squad than your eventual opponents? Or do you go the hard way, knocking out France and Germany early on and taking their stars for yourself?

I actually got as far as creating a working match engine, complete with preview screen, random (but weighted) chances created and scoreboard. You could only play as England or France as there were no other teams, but it worked well.

(Video quality gets better from now)

But then came the mammoth task of implementing other squads and tactics and the whole “absorbing other teams” thing and after a period of procrastination which saw me draw the entire England team in a sort of weird pixel art, I of course gave up on it. Those who’ve been following me for some time probably know that I have an infuriating sort of scatter gun approach to creative expression and I tend to flit between writing stories, writing poems, drawing, making videos, writing music and even (briefly) recording podcasts, so my attention turned elsewhere once again.

But earlier this year, since my break from Franjo, I got back into coding on GMS2. I got back into watching as many tutorials as I could, watching dev blogs and streams and GMC videos and post-mortems. I got so into it that I decided I was finally going to make a game. A full one. A finished one. I had upgraded the hard drive in my laptop to an SSD since World Cup Thing and couldn’t be arsed to swap it back to save the files, so it had to be something new. Something fresh. That brings me to:

Game Attempt #2 – Flight of the Bluebird

I have no excuses. I was warned. All of the videos I’d been binging, every Top 5 Tips For Amateur Game Devs and Mistakes to Avoid In Your First Game all said the same thing: Keep. It. Fucking. Simple. You idiot. I’d already seen one project crumple under it’s own ambition. The thing is though, once you start getting a little bit of success, you start getting carried away. Once you make it so that your character moves and animates in the right way and interacts with their world correctly, suddenly you’re Billy Big Bollocks and the rush of endorphins caused by watching pixels colour themselves at your every whim turns you into an ultra-optimistic, overly-ambitious monster. You start to think you can and should do everything.

Flight of the Bluebird started life as an innocent little asteroids clone where the player would fly around shooting enemies and asteroids and building up a score with each kill. But then suddenly, there was a story and different characters and boss fights and cutscenes and special abilities and difficulty settings and everything happening on the beat of whatever song happened to be playing at the time. This is known as Feature Creep and I’ve come to understand that it is your mortal enemy as a solo indie developer.

Here’s how it woks: You start with an idea of what your game will be and you set about making it, but then as development goes on, you think “Oh this would be cool!” Or “Oh this is doable!” Or “Oh trying to figure out how to make this work won’t eat up my entire fucking weekend!” You naive fool. You add more and more and more features (The features creep in, if you will) until your original concept is buried beneath layer upon layer of half-baked, tacked-on shit and your bedroom carpet is waterlogged from weeks of your frustrated tears. You’ve allowed yourself to succumb to Feature Creep and we’re all ashamed of you.

Not really, of course. It happens. We’re all undisciplined morons by design and it takes practice and refinement to become anything else. But yes, that is what happened to Flight of the Bluebird. I worked on it for about 2 months and it was… Alright. Functional. But it wasn’t even nearly finished and the whole thing was a big old bag of unfinished ideas. Here’s a bit of example footage:

See? Nothing to write home about. The artwork is something that really stuck in my craw though. I knew it wasn’t good enough, but I had the nagging sense that I’d “redo it all at the end”. What does that even mean? How are you meant to build a cohesive game if you don’t know what the bloody thing looks like? No, the game died a death thanks to over-ambition and naivety. Again.

Game Attempt #3 – Beardemic (Working Title)

This one didn’t really get off the ground to be honest, but I felt it worth including for the sake of completeness. It seems to me that there are 4 types of game idea:

1) A completely original concept, eg Return of the Obra Dinn

2) A game with a mechanical USP, eg Portal

3) A fantastic story to tell, eg A Night In The Woods

4) “Like [GameName] but…”, eg Terraria (Like Minecraft but a 2D side-scroller)

Well, Beardemic (Pronounced Beard-emic, not Bear-demic) was firmly in category 4: Like Plague Inc but with Beards. For those not familiar, Plague Inc is a game where you are a virus or bacteria or a pathogen of some kind and you need to destroy humanity. You do this by evolving (buying upgrades) to become more infectious and more dangerous, slowly infecting the whole world and then wiping us sorry sods off it’s face.

Well I envisioned Beardemic in a similar way, but confined to a town in nowheresville USA as oppose to the whole World. You play as a Scientist working for “Big Shaving Supplies” and you unlock and buy different ingredients (upgrades) to add into the town’s water supply. These ingredients make the townsfolks’ beards thicker, wilder, curlier etc, meaning they buy more supplies from your company, meaning you get more money to unlock upgrades. You could have fun with it too: Maybe ingredients to make the beards thicker could include “Two bricks” or “Two short planks”… Right? Anyway, the game window would show a local news broadcast, featuring stick figure people. It seems this was a surprisingly important decision as it was me realising that I had to work within my artistic limits, a lesson I learned from my frustration trying to create the assets for FOTB.

I created a little Beardemic prototype, but thought that for all my grand ideas, it’d be a bit boring. In the end I decided there probably just wasn’t much of a game to be had here. Feel free to steal this (Concept below) but for the love of God, change the title.

Game Attempt #4 – Player Power

To be honest, by this point I felt a bit deflated. I’d seen all my ideas and my efforts go up in smoke with nothing to show for them except a considerably more bloated hard drive(s) and some scribbles in a notepad. I needed a palette-cleanser. Something to get me excited about developing again. So I came back to football. I made a little game where you, a nondescript blue circle, could run around a football pitch scoring goals.

I liked it. It was quite cathartic just to run about, scoring in either goal with no rules or offside or VAR to spoil the party. Just you, a football and as many goals as you can imagine. I decided to whip up a random appearance generator that would select a skin-tone and a kit for our player to wear, as well as the most basic walk animation around. I also added a jolly tune into the mix to go with my new aesthetic

After the player appearance was done, I set up some NPCs, namely Agents, Managers and Referees that would get in the player’s way and had to be dribbled around. I had them spawn with increasing frequency the more goals you scored and they too used the random appearance generator to give the game a bit of colour and variety. At first, with all these people colliding with the ball, things could get… Interesting.

After the NPCs were in place, I gave each type a buff or a debuff that they’d pass on to the player if they collided. Referees for example would reduce the player’s power and speed, while agents would buff your power and reduce your speed and managers would do the opposite. This made it clear that I needed another NPC, who’d buff the player completely: Physios entered the fray. I also added a 1 minute time limit to games, which the physio would extend if you bumped into him, which really brought the whole thing together as an arcade game. And that was pretty much it. I added in some unlockable costumes and tidied everything up a bit, then almost 2 weeks after I’d started, I released my first game onto Apple’s App Store (Mac OS only. I’m working on releasing it on Steam for PC and Mac).

If all of that sounded like feature creep, it’s because that’s exactly what it was. But rather than the chaotic mess style of feature creep that I’d experienced with FOTB, this one was more controlled. It felt like the difference between carefully building the layers into a lasagne and hurling the ingredients onto a trampoline and hoping that they’d bounce into the dish.

I’m under no illusions of course. It’s no Breath of the Wild, but then it wasn’t meant to be. It was never meant to be anything. The important thing for me is that in my sea of unfinished projects, this one is functional, fun (If I say so myself) and fucking finished. Hopefully it’s the first of many.

If you own a mac, you can find Player Power here for 99p, otherwise keep an eye on my Twitter @WT_Franjo as I’ll be tweeting there when it comes out on Steam.

Summary

In summary then, I think the most important lessons I’ve learned from my year (On and off) in solo game development would be these:

  • Buy a notepad for ideas, concept art, scribbles. Seriously, if you get a bit of downtime at work it’s great to be able to jot your ideas down.
  • Watch tutorials. Watch tutorials until your eyes bleed. If you’re starting on GMS2 like me, I can’t recommend Shaun Spalding highly enough. Watch everything he’s posted and you can’t go wrong. If you’re looking at Unity, Brackeys is excellent. I’ve no idea how to use Unity and I still watch his stuff.
  • Start small for fucks sake. Don’t let yourself get carried away with massive ideas and don’t let your game be a victim of feature creep. (A bit hypocritical of me I’ll admit, but shut up, it’s good advice)
  • Experiment with different genres and styles. Don’t start off by making 3 fantasy turn-based RPGs, try out different things. You’ll learn so much.
  • Work within your limitations. This ties into starting small, but in general just find your limitations and work around them. If you’re not an artist, go for a more blocky or basic style of art and work the game around that. If you’re not a musician, go to Hooksounds (Where I licensed the Player Power song) or find other royalty-free music. Same goes for sound effects: Freesound and Zapsplat are your friends. For all music and sound, also check whether you’re allowed to use it, especially if you’re selling your game.

Shit, I think that about covers it. I hope that this has been… Helpful? Informative? To be honest this has been more for my benefit than yours. I find it helps me to write this shit out. I’ll hopefully do another one of these later on when I’m a fully fledged multi-billionaire indie dev and I’ll laugh huge, rich tears at how naive I currently am. I’m still very limited but if you have any questions, comment or email me franjofm23@gmail.com

Also, I will still be coming back to finish Franjo: A Journeyman Story. Every comment I get saying it’s died makes me break down and weep on the floor.

Cheers as always,

Dave/Franjo

Advertisements

One thought on “My Experience With Game Development (So Far)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s