Game Development Guide
Game Development Guide
Game Developer
For Hobby or Career, Discover
What It Takes To Get Started!
1st Edition
Introduction.........................................................4
Your Game Dev Office .........................................5
Hardware .......................................................................................................................... 6
Software ............................................................................................................................6
Introduction
You like playing games on consoles, computers, or mobile devices, and now youve started
thinking about making your own video game. Is it even possible for someone by themselves
to do that?
Heres the hard truth: If you want to make something that rivals World of Warcraft or Call of
Duty, no, thats not possible for a lone game developer. But just about every casual game in
existence, most arcade games, many adventure games, role-playing games, etc., can be
created by a single game developer.
Game development has exploded in recent
years, both as a career and as a hobby. As
tools have become readily available, more
and more people have decided to dive in
and create their own game as an indie
game developer (indie as in independent).
You dont need specific schooling or training in
order to get started whats most important is your enthusiasm.
Second to enthusiasm are common sense guidelines, which is what this report will give you.
If you think game development is for you, this guide will show you whats needed in order to
get started.
Note!
This isnt a how to program guide this is the thing you need before ever starting that part
of the process. What kind of computer is necessary? How do you know what software tools
youll need? Do you have to draw your own artwork?
Keep going and Ill answer your questions about indie game development.
Chapter 1
While it would be awesome to have an actual office (with a secretary!) in which to work, one
of the coolest advantages of game development is that youre able to do it with a minimum of
cash outlay and in just about any location you can imagine. Many game developers work
from a simple desk in their house, and some small game studios have their members work
out of local coffee shops all over the world.
A few years ago my family of four lived on the road for about a year,
traveling the West and Southwest United States. My office during that
time was my laptop in whichever coffee shop was closest to the
campground where we were staying the night. During that time I
completed many projects (and drank many cups of coffee).
The best option for a home office is an actual room that can be used specifically for game
development. Most people dont have that advantage, but if you do, use it. Second choice
and what many people settle for is a
desk in the corner of some room in the
house. In fact, as I write this guide thats
where I am right now, my living room. I
have a desk set up in the corner with two
bookcases within reach (holding the
many reference, programming, and
game books Ive collected over the
years). On my desk I have a laptop with
an external monitor as well as a desktop
machine. Using this office Ive
published almost a dozen games so far.
Dont let the lack of a real office stop you from working on your game. If all you have is a
laptop that you set up on the kitchen table in the evenings, go for it youre not alone!
Hardware
While a fast computer and multiple monitors are helpful for game development, that kind of
system is not a requirement. Those people who do all their development in coffee shops have
a laptop and thats it.
One thing you will want to make sure is that the computer you use is capable of running the
game engine software you end up choosing. For example, something like Corona SDK will
run on just about any laptop or desktop. Use Unity and youll need a bit more horsepower.
Try the Unreal Engine and youll need some heavy-duty hardware. In general, 3D game
development will require more resources than 2D game development, so check the system
requirements for the software you want to use to make sure what you have will work.
Outside of a computer, theres little hardware thats actually required. If youre going to be
drawing your own artwork (not a requirement, by any means) you may want a digital tablet.
If youre going to be making games for mobile devices youll probably want at least one such
device for testing (most people have a mobile phone and tablet, so thats already covered).
Most of game development can be done with minimal hardware just your computer.
Software
The list of game engines section on Wikipedia shows more than 120 different game engines
(including frameworks/libraries), so theres a lot to choose from. Whats really nice is that
many of them (possibly most) are either free or have a free version so it wont cost you
anything to get started. (To be fair, some on the list are proprietary and not available to be
used by the public.)
If you looked at that list and started scrolling through all the options you could quickly
become overwhelmed. In an upcoming section of this guide youll decide what kind of game
you want to focus on, what your target platform will be, and make other decisions that will
pare that list down to a manageable size (because not every game engine is right for every
type of game).
So youll need game engine software, but what other programs will you need? Much of that
depends on what kind of game youll be making, but heres a quick list:
Code Editor - While some game engines (such as Unity) come with an editor built in,
others expect you to have your own. You cant use a word processor such as Microsoft
Word or Apples Pages, it has to be a text or code editor. There are many available
cheaply and even free.
Graphics Editing - Even if you wont be creating your own artwork from scratch, there
are always things you need to tweak. Adobe Photoshop is somewhat the standard in this
area, but there are very many options available, both free and paid.
3D Modeling - If youre going to be diving into 3D programming youre probably going
to need a 3D modeling package. Most of those are high-priced, but theres at least one
free option available thats used by many indie game developers.
Audio Editor - Every game is going to
need sound effects and even if you get a
professional to create them, youll often
need to edit them in some fashion. One
of the most-used audio editing packages
is free (Ive used it for years).
Be sure and see the Resources section at the
end of this report for links to some of the
more popular software packages available to help you get ready for developing games.
Thats about it. There are many, many tools and utilities out there that can help with game
development, but if you had one of each from the above list youd have everything necessary
to create your own video game. The software you actually need can all be had for free.
Chapter 2
2D vs 3D
A typical 2D game might be Angry Birds, Candy Crush Saga, or the classic Super Mario
World. While some of the artwork may be drawn to imitate 3D images, and some sprites
(images on the screen) go behind or in front of others, the games themselves are created with
horizontal (X) and vertical (Y) coordinates, and dont use depth (Z).
A 3D game on the other hand, uses X, Y, and Z with examples like God of War, Battlefront,
and the classic Doom and Quake franchises.
What kind of games do you like to play, more 2D, more 3D, or a mix?
Ill be right up front with you even if your plan is to create a first-person shooter (FPS) or
some kind of 3D adventure game like Tomb Raider, you should start by building some
2D games first. This does two things:
1. Gets you up to speed with your new game engine as easily as possible.
2. Allows you to learn game dev techniques without also learning 3D-specific techniques.
Developing 3D games is much more
complex than developing a 2D game, but
the skills you learn with a simpler 2D
game will help you once/if you make the
jump to 3D game development. One of
the complexities of 3D game
development is the artwork creating the 3D models that make up the game worlds require
a completely different set of skills than any of the programming.
In another section of the guide Ill go into how to find both 2D and 3D
art assets in case you dont want to have to create them all from scratch.
So the first thing to do is decide whether youre going to stick to 2D game development or
whether you also want to get into making 3D games. That decision is one of the major keys to
determining what game engine youll wind up using.
Scope
While this is something that youll be worried about more when you actually start putting
your game design down on paper (yes, usually the first pass at video game rules, level design,
and such are done with pencil and paper), Ill mention it here because it can have an affect
on which engine you choose.
Your first several games should be small. Mainly because theyll probably be pretty bad.
Hey, its the same for everyone me included! But the only way to get better is to finish one
game, and start the next one. With each one youll become better and faster.
In order to actually finish a game, youll need to limit the scope how large the game is
and how complex. For your first few games you must to keep them small and simple, that
way youll have better luck at finishing them.
Many people want to start making The Perfect Awesome Game and grab the biggest
engine and come up with the biggest plan
and then quickly run out of gas and the dream dies. The best way to keep the dream alive is
to feed it with several smaller games as you become better and better.
The people who build mansions today started out building birdhouses!
Chapter 3
There are two ways of looking at game engines should you create an engine yourself, or
use one thats already made by someone else? There are pros and cons to both.
Chapter 4
disadvantage to buying artwork, in many cases its still worth it working on a game with
good-looking art is more fun that using stick figures drawn by the programmer. And after the
game is done you can publish it with that artwork (your gameplay will still be different than
anyone else whos also using the same artwork), or you could go with the next option to make
sure you have unique artwork, and just replace the artwork before publishing.
Hire an Artist/Musician
Instead of buying stock assets, you can hire an artist or musician to create them according to
your specifications. You tell them exactly what you want, what style, etc., and theyll create
unique art and music for you. Your game will be the only one with those characters.
Thats the upside. The downside is that way of doing things can cost you a lot. As in,
thousands of dollars, and up. Or, theres the option of working with an artist and splitting the
proceeds, which means theres sometimes no money up front at all the artist gets paid
when you get paid. (In many cases its hard to find someone who will work for that kind of
deal, but it does happen.)
Chapter 5
Chapter 6
Recommended Resources
Tools for game development.
Below youll find links to some of the resources I recommend for beginning (and above)
game developers. Everything you see here will work well for game dev.
Game Engines
Wikipedia Article - List of Game Engines
The list of game engines mentioned earlier in the report. Could give you some ideas on which
game engine you want to use.
https://en.wikipedia.org/wiki/List_of_game_engines
Corona SDK
A fun 2D game engine. Easy to get into and rapid game development make it my favorite of
all the game engines Ive tried.
http://coronalabs.com
Unity
Works for both 2D and 3D game development. At this point the most popular choice for
indie game development. Fairly steep learning curve. My overall 2nd choice, personally.
http://unity3d.com
Stencyl
A fun game engine that doesnt require any actual programming. Because of that the learning
curve is a little higher, however.
http://www.stencyl.com
Art Assets
kenney.nl
This site has a huge collection of 2D assets that are in the public domain, which means
Audio Assets
Freesound
http://freesound.org
Noise for Fun
http://www.noiseforfun.com
Incompetech
Great place to look for music for your game. Some free, some paid, but lots of good stuff.
http://incompetech.com/music/royalty-free/music.html
Code Editors
Sublime Text (Mac OS X, Windows, Linux)
One of the most popular code editors, its not cheap, but youre allowed to evaluate the full
version free for as long as you like.
https://www.sublimetext.com
Visual Studio Code (Mac OS X, Windows, Linux)
Not the full Visual Studio IDE, this is a stripped down version that is free and cross-platform.
https://code.visualstudio.com
ZeroBrane Studio (Mac OS X, Windows, Linux)
If you end up choosing an engine that uses the Lua language, this free and open source IDE
is a great option.
https://studio.zerobrane.com/
Graphic Editors
Acorn (Mac OS X)
A commercial package (only for Mac), but reasonably priced and the one I end up using most
of the time.
http://flyingmeat.com/acorn/
Paint.NET (Windows)
Free image and photo editing software (Windows only).
http://www.getpaint.net/index.html
Gimp (Mac OS X, Windows, Linux)
Probably the most popular free image editing program, but be aware the learning curve for
getting up to speed can be pretty steep.
https://www.gimp.org
Piskel (Mac OS X, Windows, Linux)
A specialized online editor that allows you to create pixel graphics, great for that 8-bit
retro look.
http://www.piskelapp.com
Inkscape (Mac OS X, Windows, Linux)
A professional vector graphics editor that's free and open source.
https://inkscape.org/en/
Blender - 3D Modeling
Free software thats used by many in the game industry. Very steep learning curve, so give
yourself some time to really dive into it.
https://www.blender.org
Audio Editors
Audacity
While the interface is not the prettiest in town, the price (free) and power (lots) more than
make up for it. Ive used Audacity for many years and cant imagine leaving it.
http://www.audacityteam.org
Video Tutorials
Mastering Corona SDK
Professional tutorial videos that walk you step-by-step and dont waste your time. Greta for
beginners to game development. (Full Disclosure: I made this course.)
http://masteringcoronasdk.com
Mastering Unity 2D
While Unity is most known for 3D game development, it has a set of tools that are specific to
2D games. The tutorials on this site are aimed at 2D game development using Unity. (Full
Disclosure: I made this course.)
http://masteringunity2d.com