I’ve mentioned on my profile I’m an Indie Games Developer and today I’m going to be talking a little bit about the different roles in game’s development. Also I’ll give you a little insight into what you’ll need to get there and hopefully bust some myths along the way.
Design VS Development
The first question on everyone’s mind is which would you rather work on, graphics or programming? This is a bad question because, regardless of which route you choose, you will encounter the other at some point without fail.
People perceive design to be about the raw visuals of the characters and worlds on the screen but there is more to it than just that. Design is all about the overall feel of the game, how the player interacts with the environment and statistical balancing of the gameplay.
90% of making a game is programming and there are an unusually large number of people who don’t fully understand what it consists of. This stems from a lot of misconceptions and people who compare the likes of C++ to HTML… When you are programming you are talking to the hardware directly and it doesn’t understand a word of English, it only understands maths.
A designer’s visions are limited by the tools that programmers build. It helps as a designer to understand that the programmers are limited by the constraints of computer technology. A programmer has to solve the problem of making a designer’s dream a reality. It helps as a programmer to understand the artistic mind and that designers think in Hue, Saturation, Luminance instead of Red, Green, Blue.
The bottom line is that the programmer gets the final say. For example if you’re jumping through a waterfall on an old game, the water doesn’t part. That’s the programmer saying it’s far too subtle to lose frame rate over. A prime example is Skyrim, ever seen your player climb a ladder? That’s because a programmer said “it’s a lot of trouble getting the AI to follow the player up there” and personally I agree!
I think the design team can be split into two different sub-categories, the concept team and the asset team. Concept designers do the fantastic and sexy looking artwork that comes with pre-orders of most new games. Their job is to paint a masterpiece that is designed to capture all the key locations of the game and to also give the characters some depth and personality. The asset team take the 2D paintings and scenery and convert them into fully developed 3D characters and environments that players can interact with.
The concept artists have very short-term contracts. Once they’ve created the base idea and solidified the design, they no longer need to be working on the project. This means they get to work on many different projects throughout the year. The downside of course is you don’t have full control of the finished product. If the asset team messes something up or if the programmers don’t quite make the ice slippy enough there’s nothing you can do about it.
The assets team will have medium to long-term contracts because they need to be there whenever a model needs tweaking. Unless you are a concept designer then you will be dealing with programming in some form. For example if the programmer changes the engine so that you need an extra 3 numbers to display reflections better than you must change your model format to match. Doing this means editing scripts in programs like 3DS Max or Maya that output the model to a format the engine understands. Also creating choreographed cut-scenes in games will require scripting too.
A Games Developer’s job isn’t necessarily harder because both areas require a lot of skill, but it does require an arguably more difficult skill set to obtain. Programmers are there before and after the designers have done their job. You need a lot more patience and problem solving capabilities as a programmer. On the plus side you suffer less from the kind of creative blockades that artists get and you get paid more.
The biggest challenge as a developer is trying to find shortcuts. The reason you need these shortcuts and the reason that it’s a huge challenge is because the most simple things are in fact the most difficult to implement. For example if you’re walking around your house you subconsciously walk around tables and chairs, you never think about it. In a game, moving a bot around a room is a very intensive operation! As the developer you need to simplify this problem so that it is not so intensive.
Development is split into several areas, there are 4 dominant areas and these are:
Graphics – Making things glossy, shiny and pretty!
Physics – Simulations of gravity, energy and forces of motion.
Artificial Intelligence – Making sure the bots are challenging but not annoying.
Mechanics – Core gameplay like mana consumption and damage calculation.
Graphics – Is the most difficult of the developer roles. At 1080p there are 6,220,800 pixels on the screen at all times. For each of these pixels there are three 32-bit numbers making up the colour on the screen which brings the total to 18,662,400. To display all the pixels on the screen there needs to be a minimum of 18,662,400 mathematical calculations. When you start adding texture mapping, post processing, AA filtering etc it becomes very very intensive. The best programmers need to make this happen as fast as possible to keep the frame rate high.
Physics – This is definitely the second most difficult role because you do need a firm grasp of physics and maths together. If we consider a 2D pixel art game which has 32×32 characters, and then two of them bumped into each other, you would need to check every pixel of character A to see if it hit any of the pixels in character B. This works out at (32×32) x (32×32) = 1,048,576 comparisons. Now imagine you’re playing a game like Risk of Rain which has over 100 enemies in the world at once. Each of them jumping, falling, dashing and bumping around the map. Also you will find that 3D animation crosses over into the physics category because their data is so closely linked together.
Artificial Intelligence – This is my speciality. If you’re good at maths and you’re a psychologist then you might actually enjoy AI. The problem with AI as stated earlier is that the most simple things are the hardest to do. AI in games cannot see what’s in front of them. Drawing eyes on a 3D model is like drawing eyes on your arm, they just don’t work! This is why you see them bumping into walls and stuff in games. In order to make them move in the correct place and right direction you need to describe to them where they can and cannot move. Physics will stop them walking through walls but it won’t stop them walking into it.
Mechanics – This is by far the most simple of the areas but your job is never ever finished. If there is a ‘balance’ patch released for a game it’s down to the mechanics team. Every time Riot adjust values in League of Legends like mana cost, gold cost, tower HP etc etc then this is all down to the mechanics team. Interestingly enough, even though physics is a highly technical area it’s the mechanics team that utilise it to the maximum. They’re the guys fine tuning the weights so that when you blow up a room in Skyrim, you won’t lose the health potion that was sitting on the desk.
Where to start?
Games Design and Development isn’t easy, I’m not going to lie there. However, it’s an incredibly fun industry to be a part of and I encourage anyone who has a passion for games whether you’re playing them, modding them, or just want to learn more.
I would highly recommend pursuing an academic degree because I learnt more in those three years than I did in my entire life. For me, one of the more difficult aspects is discipline. I knew I couldn’t teach myself how to program and I would be nowhere had I not gone to university.
Getting Your Foot In The Door
The first thing you want to do is create a prototype. A prototype is like a demo/unfinished game and it’s designed purely to show your talent. You don’t ever need to build a finished game to get recognised, you just need to build something that sells you. Your prototype is not your first game, and you should never ever try to create something big like Battlefield or even something as complete as Mario. One level or one scene is all you need.
You can actually get away with modding a game. You can use Skyrim to show off your modelling, animation or artistic talent because it’s purely visual and Skyrim offers great lighting. However this backfires if you’re just creating a moody scene with content from the base game. Others designed their concepts by getting dirty with scripting. Counter-Strike and Portal are two of the biggest games in history and both of them were mods of Valve’s Half-Life game engines.
You also have to consider staying current. For a developer staying current means trying some advanced particle physics/rendering or water simulations. For a Designer you want to consider building something for the Unity engine because everybody uses it and it’s multi-platform.
Developer – As a developer your prototype needs a clear goal. Are you trying to create a water physics simulation? Do you want to test your maths and display 1,000,000 particles at once? Don’t worry about assets, you can actually break some rules under very specific circumstances. If you were testing some 2D animations for example, you are allowed by law to use sprite sheets from games like Mario. However, by law you’re not allowed to rip the sprites yourself. You’re also never allowed to use them beyond educational or demonstration purposes and you are not allowed to claim ownership of the sprite sheets. These rules apply to fan made variations and 3D assets too.
Why focus on one technique? Because you’re showing off your technical ability. Bad coding is far better than copy and paste coding unless you have a damn good excuse for copying. The only time you would want to do this is because your technique doesn’t require you to build a graphics engine like a physics simulation.
Designer – Your task is both easier and harder, but you still need a goal. It’s important to understand that your employer will want to see that you can use a set of tools to create content for a game. This is a method of going from a drawing or painting to getting a finalised object in-game.
Pick your idea/concept then move onto the asset creation software. For 2D games you want programs like Photoshop, GIMP or Fireworks. For 3D you want programs like Blender, Maya and 3DS Max. Next you want an engine that has the basic requirements so you need to ask yourself something like “can this engine make a 2D platformer?” or “can this engine create a 3D racer?”.
The final step is taking it from your asset creation software and then getting it into a game. If it’s a really tedious process like with Skyrim’s Creation Kit, you have to persevere because that’s the way the industry works. If the model/images displays wrong in game then you also have to fix this too. The only exception to this rule is if the game/engine itself genuinely has a bug that stops you.
Other Entry Points
Most of you will know from playing mainstream titles that games have evolved in such a way that captures several types of media. For example a story for a game could be written by a well established writer like Tom Clancy. Music in games are now being composed by legends like Hans Zimmer. Think about cut-scenes, Steven Spielberg directed Medal of Honor.
If you don’t believe you have the artistic or the programming know how to create a game there is still hope. If you have an “amazing idea” that you’ll be telling people for years would have made you rich if it was ever created… There is a solution. It’s called a Game Design Document.
A Game Design Document is the bible of your game. During production the team constantly refer to it and consult it to make sure they’re doing it right. It’s a massive document that details everything so that the artists and programmers know exactly what to do. This is all you need to get that amazing idea turned into a reality because it shows that you can design a fully developed idea.