84 Views | 3 Comments

Fringe Division – Game Making: A Brief Personal History

Fringe Division – Game Making: A Brief Personal History

Hello there readers. Now to be honest with you, I really couldn’t think of anything to write on this week, and I’m quite vehemently opposed to churning out mindless ranting and slapping a clever title on it, so instead I’ve opted to draw on some of my personal experiences I’ve had in the game developing arena. I promise, of course, that this column contains at least some value to any aspiring game developers out there. I’ll be trying my best to impart some of the knowledge that I’ve learnt along the way.

“Professional”
Now I wouldn’t go so far as to say that I’m a professional game developer. Well I am a professional game developer in the sense that in the past I have been paid money to create games, however I feel the term professional would be much too generous for my rather brief résumé in the field. It is one of my passions and when we do consulting work at my job, it’s indeed a lot more fun to develop games for money than it is to develop boring business related software. But as of late I haven’t been involved with too much game development. Now I think it would be quite appropriate to start with a short little history of what I’ve done. So here it goes.

An Almost Brief History
I studied Computer Science at the University of Cape Town. Halfway through my degree a new set of courses on computer game design were offered. I instantly changed my course choices so that I could take up these courses which were probably the most fun out of all the courses I did. They certainly taught more advanced and interesting aspects of computer science than the regular vanilla computer science courses at UCT. During my institution time, I probably produced about 3 small gaming projects which were great fun to work on. None of them are really worth mentioning in more detail but they were all great learning opportunities.

The next time I developed a game was a few years later when I got a job at a small software development company. This first real games project can only be described as a “Massively Multiplayer Text and Turn Based Online Role Playing Game.” Borrowing the game concept from an existing browser based game of the same genre we basically created a MXit game where players could do a certain number of asynchronous movements/actions a day based on their action points and interact with other players who persisted inside the game world even when they weren’t online. To this day it’s probably one of my favourite projects since it was definitely the most fun to play with some real complex character development opportunities. Unfortunately MXit had released its gaming API just as it began to decline so even though we saw decent micropayment conversion ratios when it came to buying premium items, the top numbers coming into the game just really weren’t there. Nevertheless we got contracted to do the job so we got paid regardless. But it would have been fun to keep it maintained for the client if it had generated some real revenue.

The next project I worked on was definitely aimed at the right platform. Unfortunately this time it was the wrong game. We repurposed the first gaming project into a Facebook game. However because this was essentially consulting work, we weren’t the people making the final decisions on crucial aspects of the game. Eventually what started out as a really fun text based game on MXit, ended up as a pretty shit adaptation to facebook with a graphical front end. In the end the game failed to launch as the people paying us to develop it scrapped all their game projects. We still got paid of course but again it’s unfortunate that we ended up with a committee designing a camel that got shelved, instead of a horse that got to ride.

So after that not so brief account of my brief game development history, what have I learnt?

1. Never Reinvent the Wheel
This is the big one so I’ve put it first. When making a game, you’re going to inevitably be doing something that someone has done before. If you’re planning on developing a game, you’re never going to start from scratch and develop, for example, a physics engine for your game. First of all, your knowledge of Newtonian physics needs to be pretty amazing to do so, AND it’s also going to take you a few years to do it before you can continue with actually making the game. In our case, we didn’t write socket networking code and create new ways of serialising and parsing game data to and from our game server. Instead we used existing technologies and standards such as REST with JSON to accomplishing our networking needs. Similarly, we didn’t invent new data storage mechanisms. We stored our data in a tried and tested database that was suitable for high scalability needs and we made use of an existing driver to talk to this database.

2. You Need The Bible
No I’m not trying to force my religion on you. What I mean here is you need your game bible. You need to write down every tiniest aspect of your game, how it works, what the characters are going to say to each other, what each level will look like etc. You need all of it written down on paper before you even think of starting development. You need to be sure that when anyone on your team asks you a question about an aspect of your game, you can whip out that game design document and give them a page number. Granted if you are truly the only person on your game development project, which might be quite likely, this bible can just exist in your head. But if you need to work with someone, and you’ll inevitably need to (see my next point), a game design document will be essential.

3. Assets are Hard
This might just be the most frustrating part of making games. As someone whose forte is programming, this is really the bane of my existence when it comes to actualising a game idea. If you’re really ambitious enough to do anything that’s going to have 3D graphics, you’ll obviously follow point 1 and use an existing rendering engine such as Ogre. But you’ll also need 3D models. Now you can find free ones, but lets be honest, if you really want your idea to take flight, it’s going to need some real creative input and hard work from someone creative like a 3D Animator. Similarly if you choose the less ambitious route of 2D you’re going to need a graphic designer. Sounds are usually a secondary thing when one thinks about games, however they are still important. If you want proper voice acting you’re going to run into problems, but for a few effects you’ll probably be able to get some usable free samples, so it’s not too much of a problem.

4. Narrative Content is Just as Hard
If you’re developing a game with set content, you’ll soon find another huge problem is the idea of quests. Creating enough quest or story content to satisfy your player can be just as challenging as the creation of graphical assets for a game. One can almost equate this to the task of writing a novel. Once again you’re either going to need some amazing writing skills, or you’re going to have to inevitably find someone to do this for you. The next nightmare you’ll inevitably face once you realize you have all these story elements or quests, is that you’ll need a huge complex quest logic engine to handle how a player’s actions in a game can interact with all this set content (One almost wonders how games like Skyrim are even possible).

The alternative to this is a rather sneaky cop out. Instead of making your game content rich, you can design the gameplay to be equally as satisfying with randomly generated levels or content that gets progressively more difficult in a set way. A very simple example of this would be a game where you’re maybe dodging oncoming traffic with a frog (I believe this game is called Frogger). Instead of the next level being different it’s instead the same, but just with faster or more traffic.

Closing Statement
Anyway, I hope this (by my standards) lengthy column has been of some use or interest to you. If you’re a budding game developer and don’t have much experience with software developement, never fear there is a framework for everyone at any level of skill to get into game development.

In other news you’ll notice my column has officially been named “Fringe Division”, since it seems like my topics seem to reside on the fringe of electronic gaming. I’m quite happy with this title since recent episodes of Fringe have led me to believe that it might have just become the best show on television. #Fightthefuture

If You Liked This, You Should Try These!

Name: Matthew Slade
Location: Cape Town
Position: Columnist, Mobile

  • http://twitter.com/Weeman360 Pienaar Anker

    Thanks man. Liked your article. It gave me some form of hope

  • Yashaar Mall

    to me, one of the crucial things, in any sort of development, be it games, software design or engineering is never to to reinvent the wheel. Rather develop your project from existing methods and existing codes. Good article!

  • Supermata

    Good article.