Game Development

This page covers how to get into Game Development...

This page gives a summary to each section in the tutorials available. In many cases it will also cover the very basic key elements for each chapter that I can’t stress enough and will do so several times over the course of materials. There are so many things that I wish I knew as I was learning that would have saved me so much time and stress that I basically feel it would be a disservice to try and cram it into your head through brute force...or in this case, repetition.

The Game Development Roadmap

They say the journey of a thousand miles begins with the first step. They obviously haven’t done game development because the journey is a lot longer than that, and you can’t walk there either.

To create a game that is actually viable (if that is your goal) I think there are five key areas : Idea Development, Game Development, Promotion and Community, Release, and Continued Support.

Each one has sub sections as follows :

A key thing to note is that all of this process is important. If you make an amazing game but no one sees it, then you don't have a game. If you have amazing marketing but it's a trash game, no one will play your next game, and you'll have terrible reviews killing the reach of the game you've made.

The best way to learn the whole process is to do the whole process!

Make a small, quick game to completion to get a feel for the entire process so you know what to expect. Put it under a different name so it doesn't reflect on you if you need to.

I think this was the biggest gap in my approach in the past. The best game idea does not make a game. And no one is going to make your game idea for you without guaranteed income.

It is commonly known that the last 10% of a game takes 90% of the time. Make sure to go through this process to better understand this in order to improve your chances of success for the dream games you want to create.

Idea Development

The concepting stage is getting the ideas in the first place and then getting them from your head to a format that others can understand and work from and/or being able to refer back to your ideas over time so you don’t forget any of the good stuff. I find it is also good for once your ideas are on paper, it is easier to refine them into better ideas.

If working in a team of two or more, learn to communicate ideas quickly and effectively. Learn how to use flow charts, imagery and sketches to flesh out ideas to get everyone on the same page. Communication is integral to ALL stages of the process if there is more than one person on board and/or solidifying the ideas in your head.

Idea Generation

Goal

What is the goal of the game? What is it meant to DO? Is it meant to be simply entertaining, is it meant to educate you or the player, is it meant to tell a story, is it meant to make the player feel or believe something? Is it something that just makes you money?

The other aspect is maybe you don’t have a specific goal, but simply an idea that you like. A gameplay idea, or a theme. This can also be your goal. Basically, ask yourself what is the best approach to achieve your gameplay mechanic or theme...this is a goal in itself.

Having a goal allows you to always stay focused. This helps with reducing feature creep and wasting time.

Limitations

It is very wise to keep your goals within your abilities to succeed. Design the game to your limitations. This allows your particular skills to shine all the more, while keeping your project realistic.

Doing whatever you want to do unless you have the resources to do so is basically project suicide. If you have a team of one, then make sure you keep it simple and small with easily creatable assets and code. If it's an entire team then you have a little more legroom.

Method / Medium

How will you achieve this goal and what is the best method to do so. Interactive media has an unlimited way to achieve a goal, however it is very easy to choose the wrong one. Look at ALL possibilities and make sure you are comfortable with the goal and the medium as you are basically stuck with these until the end. Choose the best approach to achieve your goal.

Things to consider are what device will you be using (as in PC/Mobile/installation art etc.), and what style/engine will you use.

Make sure that an interactive medium is the best for your goal. Making an animated or live action short might be a better approach. Perhaps writing a short story or novel might be better. The options are endless, and your goal is the key. Make sure you are using a format that works for your goal.

Idea Iteration

Once you have your end goal and your limitations you can start to play with the actual ideas to reach your goal. This is possibly one of the more important phases of the entire process as everything you develop stems from here but this is where it is easy to shift, change and refine ideas. Every idea should be moving the user to the goal.

Quick Prototyping

Along with Idea Generation you could play with some very basic gameplay mechanics. This is where we start playing around with the idea in a practical sense, but more so from an experimental state in order to get a solid feel for the gameplay or experience. If this is not fun in its bare bones state, no amount of polish and glitz will save it. The days of shiny screenshots selling a game are ‘mostly’ over. Spending more time on iteration to find a good base experience will allow you to build on that core resulting in a much more fulfilling result for your audience.

Once again, all aspects of the user experience should be moving the user to the goal whatever it may be. If the gameplay is secondary to the goal (such as telling a story etc) then the user experience must be as fluid towards experiencing that primary goal rather than getting in the way of it.

Evolution

Expect your game to evolve when things don’t work out as expected. Evolution of ideas and design is usually for a better result but make sure not to go too far and start wasting time. There is a fine balance between perfection and a finished product. It is better to release a 'good' finished project in comparison to making it perfect. That said, you can always update it over time.

Feature / Scope Creep

Always be vigilant of feature creep, where a new idea sounds amazing and fun to add into the game but may not get you to your goal any faster, or better.

A good equation for this is :

(Added value to the game or Solving the goal) x Time needed = Worthwhile?

If the answer is not over 80% yes, then it can wait for a later version or even as downloadable content (DLC). Basically, keep it simple until you have the time and money to make it bigger.

One of the most common issues with any development is not keeping on top of Feature /Scope creep. The project will stretch out longer than your drive can hold you to it. So make sure to cut your project down constantly so that your drive is always higher than the project size.

Story

If your goal is to tell a story then you will need to make a good one. The time for crappy stories in games is done. Think of the story, and then how the game can best tell that story...if it is even a game. Rather than think of a game mechanic, and then tack the story on at the end. In some cases you may want the story to shape the gameplay, style and all other aspects of the game.

Style

The style of the game gives an immediate emotional response to the game. It is also what will sell the game initially, for the most part. Find a style that compliments your goal and your strengths.

Business Models

As there are so many different methods to monetize your game you need to consider this before going into your development. Let the business model work for you rather than against you and you will find that you will have more success. This section will list many of the possible paths to prosperity. Also note that, realistically, maybe be prepared not to make any money at all. The games industry is ridiculously competitive nowadays with an oversaturation of basically everything, and nothing short of a significantly good marketing campaign, or a ton of luck, will get you noticed out there. Occasionally, just occasionally, hard work might cut it too :)

We aren’t in this for the money. We are in this for the passion...if you manage to make money off it then that’s a bonus.

Soundboarding

Once you have all your ideas together and perhaps a core gameplay demo start throwing your ideas at people and see if they stick. Don’t just ask people close to you as usually that will be a biased opinion. This section will cover things you should ask, methods to get good feedback and similar topics.

Documentation

The development brief shows what needs to be made with enough detail for programmers / artists / musicians to create what the game leads and designers’ vision is. If you are the game designer then it could just be all in your head however.

Some developers don’t believe in dev briefs and prefer to jump straight into the creation/iteration process. Personally I find that while writing all my ideas down I refine and clean up my ideas a lot before I start creating, saving development time. Both systems are fine, and depending on your ability to create quickly and efficiently could use both as needed. The main thing is to create enough documentation, not too much.

Create Base Documentation

This is simply a resource to get everyone on the same page, in a place that everyone can access. This also should have all of the ‘style guides’ that your project has in regards to naming conventions, or how you plan to name everything uniformly so you, and anyone else, can keep to the same project no matter what time you come back to it.

Add Key Ideas

It is always good to write all the main points down so it solidifies the ideas for later and so you can refer to it later as needed. It’s all too easy to forget the best ideas. This is basically your goal, and how to achieve it.

Scope & Feature Creep

Scope is the overall scale of the project. The main thing here is if it is actually achievable within the resources you have. The Dev Doc is a good place to keep track of scope so that you keep things contained and under control.

Feature Creep is a constant issue and needs to be addressed on a regular basis. This is when you continue having ‘amazing ideas’ that ‘have to’ go in the game when in many cases they add far less to the game than the time it needs to be added.

Prototyping

Once you have all the base variables of your project you can begin creating!!! As noted above in the Gameplay Iteration section, this is trying to create a user experience that achieves your goal in the best way possible.

Base Mechanics

Prototyping is done to quickly create a working model of your idea to see if it works. This can save you a lot of time if you find your great idea on paper does not work in practice. Generally speaking a quick prototype will communicate your ideas much better and faster than any long winded development brief will.

Iterate

Prototyping is designed for iteration. This is where you refine, fix, tweak, and change the prototype over and over until you get the core fundamentals of your game perfect. If it is fun at this stage, without all the bells and whistles, then your game will be great when it gets the bells and whistles in place. And we all know how cool bells and whistles make a game.

Refine

Once you have a working prototype you need to playtest that thing to DEATH. This is basically a representation of the entire game. If it is not fun now, the final version won’t be fun either. The game mechanic will really click and you, and any other testers, will want to continue to play even though they should get on with the actual game development already. The true sign of great things to come!

Once you have the basics down you could add any other tweaks that improve the base core mechanic, but once again watch out for feature creep. There is always DLC and expansions for that. The more complicated the base core mechanic, the more layers of work you will have to do each step of the way forward. And if you can’t tell...there is a lot of steps.

Concepting

Reference

Reference is always important in regards to getting information quickly and giving you a jumping board to get into your ideas. Look at the competition if you have something similar, or even if you don’t! Find what works and what doesn’t and then add your own personal twist to make sure it stands out as your own. Reference is extremely important to make believable assets. It also saves a lot of time as generally everything has been created in one way or another.

Copying

There is a fine line between copying, imitation, cloning, stealing, and original ideas. One thing I didn’t realise until too late was that copying is perfectly fine within reason. As a wise man (Pablo Picasso in fact) once said, “Good artists copy, great artists steal”. Give credit where credit is due, learn what you can from the masters, and eventually start becoming a master yourself. By ‘appropriating’ other people's work and molding it into your own through hybridisation with other artists and your own ideas you are thereby creating new works. We all have to learn somewhere.

That said, copy to learn, do not copy to sell. You don't want to burn your brand before you even get going. And that's a sure fire way to do so.

Style Guides

Once you have your gameplay refined to the core you can start using that to help develop your visual grounding and style. Having a base for everything in your experience ties it all together which is very important for a polished result. If you have a base style guide to reference moving forward then it will be much easier to create a persistent world which is important for creating a living, breathing world.

Concept Art

A good concept is everything for a good asset. Here you can change, edit, develop and create your character quickly and efficiently without worrying too much about the repercussions. Later on as you actually create the content it is much harder to make changes. Although it is getting much easier with applications such as ZBrush etc. which are more non-destructive than they used to be.

Blocking

Blocking out your world into a simple environment that displays the gameplay and pacing in action is usually enough to show if the game works more completely. Assets are to be simple blocks or reuseable base characters that give a rough idea of environments and gameplay on a more ‘complete package’ sense. With this is is easier to further refine the mechanics, and the concept art to begin creating a final game.

Test & Refine

Having a good solid ‘test’ playground at the beginning will save you a lot of work in the end. If you have the luxury of spending more time in this stage then I recommend doing so. However in many cases, especially starting out, you will be impatient to get into the really fun stuff! That may be so, but I recommend at least trying to iterate these first stages to as good an experience as possible as tweaking core aspects of the game after creating the assets is much more difficult.

Game Development

Without stuff you will not be able to see and hear your world. This section will cover all the information needed to create your stuff.

Programming

Sometimes you need this for the prototype, however there are more and more engines out there that allow prototypes without much programming knowledge needed. However, once you get to the beginning of your actual project, you will need a programmer (usually).

Pseudo Code

Pseudo coding is very useful for both concepting the game itself and setting up a basic framework for you to program inside of. Pseudo code is much like telling a computer what it will need to do in plain english (or language of choice of course!). It lets you think in your native language but consider information and processes much like a computer. This has the benefit of organising your code in a more organised manner, but it also allows you to consider all of the required things the computer will or ‘can’ use for your game development and concepts. Another side benefit is that you can use a lot of this for commenting in the code, and it's always good to comment.

Fundamentals

The core ideas behind programming take some getting used to if you haven’t come across the logic before. When it comes down to it though you can think of programming language like ANY language. In this case, you are telling a game engine to do the things you want. And more directly, you are telling things in a game to do the things you want. The catch is, to do that you must tell them in a very exact manner where even the smallest grammar mistake will crash the whole conversation.

Common processes

Once you have the basics down you need to be able to do something with them. Most games have many things in common, and this section will cover many of the more common tasks found in games such as character controls, object generation and interaction, alongside many others.

Debug

The nightmare that is debugging is what all programmers complain about. Debugging is where you need to get rid of any issues or unwanted effects that your code produces. These issues are called bugs and they need to be stopped! Easier said than done in many cases.

Optimise

The other element of nastiness is optimising your code to do the tasks at hand in the best and fastest way using the least resources. This boosts your games performance in many ways from stability to better frame rates. All of which are needed to have a good user experience.

2D / 3D Assets

Importing 3D assets

Depending on your choice of engine you will have a different system and things to keep in mind for an optimised result. It is always good to setup, and test, a basic scene to make sure everything is facing the right direction, the scale is correct, and things actually work.

Creating Props VS Characters

Props make up most of the game, and are generally easier to make than characters. Characters, especially main characters, need the most time and attention from concept to completion than any other asset in the game.

High Polygon Modelling

The High Polygon model is the hi quality version of your asset. This is what you want your asset to look like in game.

Retopologise (In-Game Models)

Retopology, in this instance, is when you create a Low Polygon Model over the top of your High Polygon Model so that you can project the detailed information of the High onto the Low in order to save computer resources in the game. As powerful as computers can be nowadays they still have their limitations, and this is one of the most common methods to overcome it.

Unwrap UVW's

This process basically tells where the texture goes on the in game (Low Polygon) model. Much like flattening an origami box back into a flat piece of paper to make it easier to colour in.

Texture

Texturing includes projection mapping (projecting the high resolution model onto the game resolution model) as well as adding colour, shininess and other details.

Rig

Rigging your character is required for anything that has moving parts blended between joints such as animals, humans and in some cases complicated machines.

Animate

The final, and very important, touch to breathing life into a character or environment. A good animation can make even a simple box look alive.

User Interface (UI)

The user interface is how the player gets information, and in many cases interacts, with the game. Good UI can make a game super user friendly to an over complicated mess that no one wants to play with so they go and sit in a corner sulking. So don’t make your users sit in the corner sulking. It’s not fun.

Special Effects

Particles

Particles are used for more than you can imagine in games from obvious things like explosions and lightning to grass and leaves. Particle design is an integral part of a game and can be used to bring a lot of life into your world. From grass and sea spray to bullets and flames.

Sound FX

Another level of ‘life’ is in the sound effects. It is very important for your creations to sound right otherwise the believability of your world goes out the window. Not only can it make a world believable, but can add a significant amount of immersion behind actions in a game. You could also break a window.

Music

Music can set the feeling and emotion of any scene therefore adding a lot of depth to any game. It is very important to set the right tone to enhance the experience you are trying to achieve. Failure to do so may create an unwanted level of discord for the user where they need therapy after each game session. And we don’t want that.

Promotion & Community

If you can’t get your name and game out there you won’t make any money to continue working on your passion projects! You will need to look at this section just as much, if not more, than any other section if you want to get noticed in the competitive industry known as interactive media.

Company Brand

If you want your game to succeed it is no longer a case of simply making a great game. With the amount of media out there it is extremely important to be competitive in the marketing sense otherwise your game will be swept up in the maelstrom of games, movies, and other things people have easy access to on a daily basis.

To do so it is wise to have a portal to your games and your company. It is also wise to have the media needed to promote yourself as needed. Things like logos, business cards, advertising etc. If it is all created before you get famous then you have less to worry about when you are. Get the basics done and you won’t have to worry about missing a $2 billion dollar deal because you don’t have any business cards printed yet.

Business cards

As simple as a business card may be it is very important in order to get your name out there if you are in a position to meet real people at events such as conferences. You never want to be in a position where you have an interested investor standing in front of you wanting to give you millions of dollars and you have to give your name and number on a napkin (unless of course that's your ‘style’...of which I would recommend reconsidering).

Website / Blog

This website is the portal to your future empire. This is the simplest way to have a presence on the internet for your company and your games. It gives you a direct channel to your audience and allows you to advertise the benefits of your creation to the masses.

You could have separate websites for each game as well, depending on the amount of content, support and audience of your game.

Game Title

In many cases the title alone can make or break a game. It has to be catchy and reflect what your game is in less than 4-5 words at most, usually 1-2. This is actually quite hard! This section will go through some methods to try and come up with good titles.

Game Branding

Once you have a good name, you need to make it look good. Visuals sell games (in many cases)...and if you can’t get the title right how can you get a game right?! So it’s well worth investing in the titles appearance as this will pretty much always be the first thing people see about your game.

This is your game's virtual identity and needs to be protected at all times.

Speaking of protection it is a good idea to get your title and logo protected. Depending on your desired level of protection you can use this section to help you get started.

Videos

Videos have become integral in showing how your game looks to others. From general promotion to get some buzz using teasers and trailers through to gameplay videos to display the end result and convince people to buy your game. It is always important to show off your work in a professional manner. Gone are the days when a makeshift webcam of you playing your game will cut it (although was that ever really OK?).

Social Media

For most, the internet is where you will bring everything together. As your medium is digital then your audience is probably already using this as their main source of entertainment apart from TV and movies. There are many ways to use this to your advantage however it does take a lot of time and energy to make sure your game gets seen by your target audience. Twitter, Facebook, Pinterest, Banner advertising, website articles and previews and all manner of ways to get your game, and your name, out there.

Advertising

Once you have your virtual presence to link back to you can then go out into the world and convince everyone that you actually exist! There are countless methods to advertise, but it is a very competitive market so be prepared to go up against the rest and the best.

Forum

A Forum is a must to get continual feedback from your audience. It also allows for a sort of self support network with your users helping each other out. If you are a small developer then it is good to let your users help themselves so that you can focus on the more important tasks of spending all your new found money….ahem, continuing to kill any bugs and issues with your game.

Release the Game

Releasing your game is an art in itself. Where, when and how all come into sharp focus when it’s finally time to let the world full access to your hopefully finished game. It’s a big jump forward, especially if it is your first game, so this section is dedicated to helping you through that phase and embrace the madness that will follow.

Support

Feedback

Taking feedback is extremely important in both the development phase and after your game has been released. Through feedback you can make your experience more appealing to others and if you want to make money this is generally what you will have to do. If you don’t want the money though, then do whatever you like! Generally thought you should listen to every bit of advice as ‘constructive criticism’ and weed out the negativity that comes with putting yourself into the virtual space and bring out the best in your game.

Patching

Unfortunately there is a growing trend in patching games, even on first day. As much as you should try to avoid this trend there is a need to patch eventually.

Downloadable Content (DLC)

If you get a good response from your fans and you feel there is more life to be given to your project there is always Downloadable Content. This allows to add more characters, levels, skins, clothes, weapons, all sorts of things. You could be uber nice and do it for free, or you could charge for every single pixel if you wanted. Personally I like a mix of free and paid DLC. It’s good for keeping your customers on your side, but allowing you to continue working on the project!

Expansions

If there is a serious interest in your game that lasts for some time then you may be interested in expansions. This opens up whole new areas for you to explore as a developer and start adding in all those elements that we set aside in the feature creep section of the Dev Doc.

Tools

I will be using the following applications and tools for my game creation (disregard any words you may not know for now however as these will be introduced during the course of the tutorials). I have tried to keep the number of expensive commercial programs to a minimum so that small developers can stay in the green, at least in the black. Usually however there are alternatives as noted, although of course they would do things in different ways. In most cases I will show my way with occasional alternative methods.

Concepting Ideas, Project Management and Prototyping

Google Drive

Google Drive is fantastic for Development docs. It also allows you easy collaboration with other people who have google accounts by sharing documents. You have access to your files from anywhere with the internet and can be used on nearly any electronic device. It’s also free!

Alternatives include Microsoft Office, Star Office, pen and paper etc.

Trello

Trello is a project management tool found online and app on portable devices. Think of it like an advanced to do list. Also free, it allows for customised folders, checklists, Schedule/deadline tracking and easy collaboration with other people and an easy to use system for keeping track of the project. It also easily hooks into google docs.

ZOHO Invoice

ZOHO Invoicing is a online and mobile device app that allows you to easily track hours and work on projects for personal and client based projects. I use this just to keep a good idea of work done on a project, allowing you to guesstimate work and projects later on in the development cycle. Or if you start freelancing and need to give a quote to a potential client.

Photoshop

Photoshop is the most widespread photo and image editing software out there. I use this for concepting ideas and any other image editing tasks. Alternatives include Photoshop Elements, GIMP, MSPaint etc.

Unity

Unity is truly accessible to all, has a reasonable price (including a free version) and has a lot of support on the Unity site and forums. You don’t have to use unity of course. You could always use the Unreal Engine, Crytek engine, or any other engine out there. But personally I feel Unity is the go to for indie level developers with the potential to make a simple game of Asteroids to a full fledged AAA title (with the required amount of work and resources of course).

Note that the engine is quite specific to itself. Unlike many of the asset creation tools where many tutorials could easily carry across to the alternatives, Unity is very Unity, so if you plan on using any other game engine then it may be best to look elsewhere for tutorials specific to the engine you would like to use.

Alternatives include the Unreal, Crytek, Lumberyard, and Source engine.

C#

Unity uses C# as it's programming language. I have chosen this as I find it is easier to learn the basics of programming with an easier language. It is also a little less strict when it comes to getting the code right, so there is more room for error and still having things work...although on the flip side there is more room for error, and having things work.

There are of course other languages you could use such as C++ in the Unreal engine. These are a little more difficult to learn (in my personal opinion) but are generally seen as 'better' due to their more robust nature.

Asset Creation

Blender

Blender is a free tool that allows you to create 3D Assets. Alternatives include Maya, XSI, Blender, Modo etc.

Blender also offers 3D sculpting tools that are constantly improving, but if you want a more dedicated tool for this you can use ZBrush, but this uses a subscription model now.

Substance Designer / Painter

The Substance Suite (and similar products) have revolutionised texturing on 3D objects much like ZBrush revolutionised modeling. It’s is much like photoshop in 3D space, and then some.

I highly recommend buying Substance Painter on Steam as it will be on sale during one of their Steam Sales.

Affinity Photo

As Adobe have gone all in on subscriptions and AI I have tried to move away from it, as have moy other creators it seems. Affinity Photo seems a reasonable alternative.

Alternatives include Photoshop Elements, GIMP, Zbrush, Paint etc.

Unity

See notes on Unity in Concepting above.

Alternatives include the Unreal, Crytek, and Source engine etc.

Javascript

See notes on Javascript in Concepting above.

Alternatives include C# or Boo etc.

Blogger

I use Blogger to create my website as I’m not the most comfortable with programming for web and blogger does all I need it to do with more than enough templates to make it look how I like.

Your users will mostly get information about you and your game through your website as it will have screenshots, news, updates, media and other information. A website is actually vitally important to get your name out and a good buzz for your game.

Alternatives include Dreamweaver, BlueGriffon, KompoZer, Notepad etc.

Adobe After Effects

After Effects is useful for creating videos for promotion of your product. Premiere is similar, although it can do less in regards to special effects and composition as it is just an editing program whereas After Effects is a Compositing Program. You can do much more with after effects, however both should do if you just need to edit some video of you and / or gameplay.

Alternatives include Premiere, Nuke, Camtasia etc.

Adobe Audition

This program is used for editing sound effects and voice.

Alternatives include Audacity, Sound Forge etc.

Fruity Loops

I use this program to make all the music for the game. You will need to find instruments and sounds however to use with this application.

Alternatives include Ableton Live, Cakewalk Sonar, LMMS etc.

Camtasia Studio

Camtasia is screen capture program. I have used this for all my tutorials for standard screen capture and voice/webcam streaming.

Alternatives include TechSmith SnagIt etc.

Last updated