Saturday 19 December 2015

Let's Make a Video Game: Precursor

My family had a computer for as long as I can remember, because I don't ever remember getting our first computer — it was always there. This has always puzzled me a little bit because my father is someone who when first told to move the cursor on the screen using the mouse, physically picked up the mouse and moved it across the screen. He's gotten a bit better since then, and can turn the computer on and search for country music on YouTube, but he's a bit of a technophobe. One of those baby boomers who refuses to accept that yes, they too can use a computer. I'm sure that if he abandoned that mindset, he would do just fine. But I never quite understood why he dished out a few grand for a computer, being as frugal as he can be. Maybe he's smarter than I think.

Mixed in with my early memories of running around barefoot outside to the point where I could sprint on gravel as if it were grass, coming home covered in mud head to toe because I was crawling through freshly dug ditches, catching frogs, snakes, and crayfish, sledding down hills and dodging tombstones, riding on four-wheelers, outrunning everyone else in my class, and shooting plenty of guns, I have my memories of that computer.

I think that one of the first memories, and one of the fondest was playing Scorched Earth (1991) with my father and brothers.
Scorched Earth was a turn based game where you and x number of other players were in control of tank located statically on a randomly generated mountain. You got to choose your tank model which consisted of a few variances of shapes from a half circle to a rectangle, and you had a budget which you spent on your arsenal. Do you go for one great big nuke, a handful of smaller bombs, maybe something more creative like an earth bomb which coats an area in a fresh layer of dirt, a rolly-type bomb which will roll down a hill until it hits something, maybe a shield to keep you alive for longer? I've gotta say that the game was pretty damn neat, and remains that way in my head to this day. 
The game was two dimensional, and you looked at the randomly generated mountain from the side. If I recall correctly, your tanks were randomly placed. You took your turns round-robin style and tried to get your trajectory just right so that you could blow the other guy's tank to hell. Maybe you shoot sky high so that it falls straight down into a ravine onto your enemy, or maybe it's a pretty clear shot straight across. Whatever you ended up hitting, it would blow the shit out of the terrain and the dirt would shift, along with anyone on that dirt. I haven't played it since those few times when I was little, but I can still vividly remember the 8-bit sound effects. Nostalgia is a slightly euphoric thing.
Another game on the list of firsts was Lemmings (1991).
Another two dimensional, side profile game. It goes like this: You progress through levels which get progressively harder. There's a portal (or two?) in each level, and out of this portal comes an army of little guys who are constantly marching forward. They don't give a damn what they're marching into which means that they'll walk themselves right off a cliff, which is extremely entertaining, but not a good way to get to the next level.

Each level of Lemmings has an exit portal, usually located across very hazardous terrain. It's your job to get those little guys to the exit portal, and in order to do that, you have to help the ceaselessly marching Lemmings.

The tool that you use to keep those little guys alive and get them to the exit portal is basically that you hand out jobs to the lemmings. You get x number of various jobs to hand out on each level, and you pick and choose which lemmings to give those jobs to. One job might be "Stand still and don't let any of the other little fuckers by."; you give it to the guy at the front of the line, he stops, holds his hands out, and any lemming that runs into him gets turned around in the other direction. Combine this with "Here's an umbrella that you can use to fall safely from great heights." "Here's a shovel, get digging." "Here's a high explosive vest, make a hole over there.", etcetera, and you end up with enough tools to solve the puzzles (hazardous terrain between the entrance and exit portals). Hopefully with minimal lemming casualties.
It's not a game that I can say I ever got very far in as a kid, but it was one of my first and very memorable. When I was a teenager trying to come up with a universal username to use on the internet and I wasn't satisfied with what I had previously chosen ('Smurf' — I've never actually seen any of the cartoons and the name still sounds sort of stupid to me to this day), I opted for 'Lemmings'. It had some significance, and it sounded good enough. Something that I could probably adopt as my online name for the rest of my life. But, the internet is a big place with a lot of people and so it needed a more unique identifier. Appending a number made the most sense to me, so I went with 'Lemmings19' where the '19' has some super secret significance.

I'm not sure which game came next. Wolfenstein 3D (1992), Doom (1993), Day of the Tentacle (1993), Monkey Island (1990), Commander Keen (1990), or one that has long escaped my memory. For reference, I was born in August of 1989.
Wolfenstein is very violent and you run around what is almost a maze of room, gunning down Nazis and their German Shepherds, ultimately fighting Mecha-Hitler. 
Doom is ultra-violent and you run around gunning down mean bastards brandishing all manner of guns, along with a plethora of monsters in a very dark universe (I recommend playing a mod for it called Brutal Doom which brings it into the twenty-first century but leaves the core of the game intact). 
Toning it down, Day of the Tentacle and Monkey Island are humour based point-and-click adventures set in colourful universes. One has you trying to save the world from mad tentacles who want to take over, the other has you setting out to prove that your really are a mean pirate and not just some limp wristed kid (the latter is true).
Finally Commander Keen is a side-scrolling platformer where you do platformer stuff.
Of that list, they all had their impact on me (except Commander Keen to a large extent — it was kinda humdrum). Doom (and some Wolfenstein) showed me the visceral and awesome world of shooting the shit out of stuff while proving to me that censorship is fucking terrible and moronic. Day of the Tentacle and Monkey Island (along with many successors) showed me the joys of humour in video games, what fun it is to solve puzzles in a point-and-click world (when done well), and how beautiful pixel art can be.

A few games from my early years which are deserving of mention are Fallout 2 (1998), Half-Life (1998), Counter-Strike (1999), and Battlefield 1942 (2002).

Fallout 2 was an isometric, turn based, role playing game. It was one of those titles that demonstrated how good it is not to censor. It was full of dark humour, violence, and very mature subjects. As with Doom, I was a little kid when I played it. One thing about kids is that they don't really take offense. What they do do is learn, and absorb. If they're smart and maybe with some guidance, they learn right from wrong and can distinguish the two apart. I think it's a mistake to censor everything from children, because without the opportunity to be given exposure to both good and bad, you're missing out on a lot of potential learning experiences at a point in your life when it really counts. A lot of people, myself included, owe much of their wisdom and knowledge to being exposed to 'bad' things when they're kids. It's a part of life, and one that our society should not attempt to censor as we do. Deal with, most certainly, but not censor. We want to teach kids to deal with things rather than ignore them.

Half-Life blew my freaking mind the first time I played it. My parents had just purchased a new computer from the local cunt of a computer store owner who sells the ignorant locals shit hardware at grossly inflated prices with terrible support. That aside, it was at least an order of magnitude faster than the first generation Pentium that we had, and where Duke Nukem 3D was the most impressive game I had seen before, Half-Life was a full generation ahead and truly was three-dimensional. My mouth dropped at the visuals, but it was the game itself that kept me playing (something that shouldn't be forgotten about what actually makes a video game good). It was then that my life had made a dramatic shift away from running around outside over to spending all of my spare time in front of the computer. Something that would come to affect me dramatically as the years went on.

Quickly following up Half-Life — as we were at least a year or two late to that party — was a dialup internet connection and Counter-Strike. If you weren't ever a PC gamer before 2005, you might not be familiar with just how much things have changed since then. Up until around 2005, it was expected that you'd have as much freedom of access to your computer games as you did your computer itself. "I can change the hardware on my computer, I can change the software too." was along the mindset. It was usually a given, not an argument. As such, it was a golden age for modding. Taking the game that you're given, getting into the developer tools for it, modifying it to your interests, and sharing the results. This sparked many great games, and some of them are to this day the most popular games in existence. League of Legends or DoTA 2? The direct result of a mod, DoTA. In fact, Counter-Strike is doing extremely well to this day in the form of Counter-Strike: Global Offensive, not to mention it's original incarnation that is still hugely popular and active.

Counter-Strike was a mod for Half-Life, and it took it online. It was a multiplayer game where you paired into two teams with other players, and played x number of rounds to decide which team won, sort of like scoring goals until you hit the limit. It was made by some guys in their spare time and took off like wildfire. Incredibly popular, incredibly successful, completely free (if you owned Half-Life). A huge part of what made Counter-Strike successful was how many mods and maps other people added to it. It was a community game, for the people, by the people. Counter-Strike introduced me to playing with other people on the computer, and it's probably responsible for teaching me how to type. "FUCK YOU FUCKING AWP CAMPER WHORE SLUT NOOB" in about 0.5 seconds flat — turns out that being pissed off is a really good incentive for learning how to type quickly.

Battlefield 1942 was another multiplayer shooter, similar to Counter-Strike, but this time in a very large open world environment with tanks and planes. My love of this game has spanned across a large number of expansions and new versions, right up to the modern day. I've put hundreds and hundreds and hundreds and hundreds of hours into this franchise, and those are just the recorded hours.

Prior to year 2000, games I played were heavily (if not entirely) influenced by my older brother, Ben. He's about three years older than I am, and he has always been a very big gamer. He had an active subscription to PC Gamer magazine, back before you could just browse your phone while you sat on the toilet. It was the games that he was interested in and he purchased that ended up being the games I played and the games I was interested in. I didn't have any money to buy games of my own by that time, and I never really thought about it. I was plenty entertained by what he brought in.

When I was still a kid, there was the odd trip to a friend's place, and they might have a console. The N64 had some extremely memorable titles such as Ocarina of Time, Mario Party, or Goldeneye. I eventually did get a Playstation 2 a few years after it came out, but I was never taken in by consoles the same way that I was on PC. PC had so much more depth than just popping in a CD and playing a game. PC's had keyboards, reliable online play, internet browsers, configurable hardware, full access to the software, and so much more!

When the ripoff computer that my parents bought inevitably went tits-up due to the low quality components, Ben bought a new computer. It changed the dynamic where we used to take turns on the 'family' computer over to me trying to get a chance to play on his computer. He was gracious enough to put up with it for those years and once I had scrounged enough money, I put a computer of my own together.

As the years rolled on, I kept playing new games. Those early years (1990-2005) were the brightest in game development. Developers tried so many new things, and broke so much new ground in the process. New genres were created. Heaps of new technology was introduced and used. Video games evolved, adapted, failed to adapt, went down dead ends, made mistakes, learned from those mistakes, and then made new mistakes. The more they evolved, the more room for error there was. It was a high jump competition where the bar was constantly being raised higher and higher. For those with the budget, it was simply a matter of clearing that higher bar. For those without the budget, it was a matter of circumventing the bar altogether, but that was proving very difficult around the mid 2000's. The high budget stuff is fun, but it's the innovation that is inspiring.

The level of complexity grew (and continues to grow) so large that it's hard to focus on what exactly makes a great game these days. I don't think that it was until the mid to late 2000's when we really started to focus on ease of use. Games were supposed to be hard and you never considered that they should have been made it easier. They were also allowed to be very slow paced and didn't have to be full of distractions in order to keep people's attention. We're certainly a generation which has been made to require constant distractions by this point in time, and likewise everyone who uses software has been made to expect perfection by now (I myself sure wouldn't settle for anything less). I mention this because this method of thinking will have a very visible influence on any posts to follow in this topic of software development.

From 1999 up until 2009, or just before I turned twenty, computers held an untouchable status in my life. What'd I spend my money on? Computer parts, games. What'd I spend my spare time on? Computer games. Where'd I work? Computer shop. It's safe to say that they comprised a lot of my life, and up until then they really could give me the feeling a kid gets right before Christmas. Every new computer part had this fantastic sense of anticipation and ultimate satisfaction that seems to be harder to find as you experience more and more in life. Not that I don't still enjoy scouring new computer parts to build a new machine, just maybe not quite in the same way. Games were awesome and there wasn't any need to think much past that.

The first day of 2009 was when I found love for the first time. That love was short lived and quickly turned into having my soul crushed for the first time. Suddenly, other things began to take priority. I suppose that I was being introduced to real life for the first time; there's stuff outside of computer games, apparently. I had spent a little over a decade letting my physical health degrade, and along with it much of my mental health went too. Computers would still remain a very large part of my life, but to a lesser extent. In a lot of ways, it was that love and heartbreak that motivated me to get my ass moving and start fixing a lot of the problems I was beginning to identify in myself as I was maturing.

Without much of any thought, I enrolled into a computer programming course at a nearby college. It made enough sense to me: There's no shortage of work in it and I'm a nerd. Bingo bango, I'm on a new path. I considered going to Toronto or somewhere like that to take a game development course, but it just didn't seem practical to me, as interesting as game development was, I didn't believe that it would be reliable.

From the early to late 2000's, game development was becoming more and more of a big business venture. The paradigm of video games had gotten so big and so complex, where technology and graphics were king. Little guys couldn't get very far among those giants until right at the very end of the 2000s', right before the 10's — the 'ought tens' I guess — a shift had begun. Independent (or 'indie' in Hipster lingo) developers were starting to pick up. People started to discover that "Oh, three dimensions and amazing production value isn't actually the soul of a video game.". People started developing good, very solid games that used old principles mixed with modern innovation, and other people started buying them. It was a new age for 'indie' development. But making video games was still a big risk financially: If a game didn't do well; too bad, potentially no money for you and you're out of a job.

Fast forward a few years later, I've graduated, worked as a developer for a few years, moved to the other side of Canada, gotten my ass into shape, dealt with a lot of the mental problems that haunted me, and largely grew out of my old shell. This brings us a lot closer to present day.

By now, everyone saw how easy it was becoming to successfully sell a low budget game and jumped on the bandwagon. Now the market is over-saturated as shit with these games. A lot of that saturation is shit games. It's not from the people who saw the opportunity to make this awesome game they had an idea for (though sometimes that turns out to be shit too), it's cunts like the computer salesman from earlier who see an opportunity to exploit. Fucking cunts. Produce shit, spam it out there, take people's money, ruin the industry, they don't give a flying fuck. Now it's not all their fault, I'm pretty sure the market would be saturated either way, but they sure don't help. Good news is that I only want to make a game (a good game) for the love of it, and not for money; otherwise it would be hopeless.

With my new life away from home, I decided that I wanted to go ahead and use some of my time to develop a video game. I went through a lot of planning and design to figure out what exactly I wanted to make that would suit my interests and be feasible at the same time. I decided on a tool for it, one that was supposed to be easy to use to make the sort of game that I was going to make, and I got started. Turns out that it takes a lot of effort, and I quickly found myself uninterested in developing it much of the time. I already had a full time job developing software and sitting behind a computer, and then I had other things that I now had to go out and do like run, hike, ski, go to the gym, and do a bit of socializing. Nope, when I got home, I just wanted to relax and get away from a lot of that stuff, so I'd spin up a game and play some. I always felt guilty doing this, but, well... I don't know what to say.

It wasn't long before my new environment and all of the wonders it had started to get routine. So I skipped town and backpacked around the world for a year. Hitchhiking, staying in hostels, couchsurfing, staying with people I had just met, and exploring. Letting things flesh out naturally and going with the flow.

For the first little while of those travels, I spent quite a bit of time working on the game that I had started about a year prior. I got a lot of work done. I did a crapload of the design, figured out how a lot of things would work, what I wanted in the game, what I didn't want in the game, and I implemented a lot of it. I had the base level of a working game done! But the tool I was using was clearly not made to support an actual application written with actual code. It was shit, and I decided to scrap it and start over using a tool that actually made sense. Hindsight is 20/20 and I'd never consider using that original tool again for obvious reasons. This was also at the same time that I left North America and hit Asia. Between really starting my adventure and having to start from scratch, I haven't touched that project since.

This day, today, right now as I write this, I find myself back in Canada. I chose a new city, even further from home, and I'm just getting settled in here. Turns out that December is a poor time of year to look for work due to the fiscal year ending, everyone gearing up for the holidays, and either taking those days off or churning out as much as they can before the year ends. So, I find myself with a lot of free time. Today is December the nineteenth, and so most everyone is going to be on vacation for the next two weeks. No sense in job hunting during that time, not much I'll be doing... Seems like a pretty prime opportunity to revisit the idea of making a game.

Oh and uhh, start a blog, apparently.