Upload
others
View
29
Download
0
Embed Size (px)
Citation preview
So You Want To Be AGame Developer
For Hobby or Career, DiscoverWhat It Takes To Get Started!
Written by J. A. Whye for ThreeRingRanch.com
1st Edition
Copyright 2016 by Three Ring Ranch • All rights reserved.
Introduction 4 .........................................................Your Game Dev Office 5 .........................................
Hardware 6 ..........................................................................................................................Software 6 ............................................................................................................................
Choosing Your Target 8 ..........................................2D vs 3D 8 ............................................................................................................................Target Audience and Platform 9 .........................................................................................Scope 9 .................................................................................................................................
Choosing A Game Engine 11 ...................................Coding vs Drag and Drop 11 ................................................................................................Rolling Your Own 12 ............................................................................................................Use an Existing Product 12 ..................................................................................................
Game Development Assets 13 ................................Create Your Own 13 .............................................................................................................Buy Existing Art, Music, and Sound 14 ...............................................................................Hire an Artist/Musician 15 ..................................................................................................
Your Next Step 16 ...................................................How To Actually Learn Game Development 16 ..................................................................
Recommended Resources 17 ..................................Game Engines 17 ..................................................................................................................Art Assets 17 .........................................................................................................................Audio Assets 18 ....................................................................................................................Code Editors 18 ....................................................................................................................Graphic Editors 19 ...............................................................................................................Audio Editors 20 ..................................................................................................................Video Tutorials 20...............................................................................................................
Introduction You like playing games on consoles, computers, or mobile devices, and now you’ve started
thinking about making your own video game. Is it even possible for someone by themselves
to do that?
Here’s the hard truth: If you want to make something that rivals World of Warcraft or Call of
Duty, no, that’s 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 don’t need specific schooling or training in
order to get started — what’s 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 what’s needed in order to
get started.
Note! This isn’t 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
you’ll need? Do you have to draw your own artwork?
Keep going and I’ll answer your questions about indie game development.
Chapter 1
Your Game Dev Office What are you going to need?
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 you’re 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 don’t 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 that’s
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 I’ve collected over the
years). On my desk I have a laptop with
an external monitor as well as a desktop
machine. Using this “office” I’ve
published almost a dozen games so far. When your kid moves out, turn their room into an office before they have a chance to find out how tough it is out there and tries to move back home!
Don’t 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 — you’re 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 that’s 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 you’ll need a bit more horsepower.
Try the Unreal Engine and you’ll 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, there’s little hardware that’s actually required. If you’re going to be
drawing your own artwork (not a requirement, by any means) you may want a digital tablet.
If you’re going to be making games for mobile devices you’ll probably want at least one such
device for testing (most people have a mobile phone and tablet, so that’s 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 there’s a lot to choose from. What’s really nice is that
many of them (possibly most) are either free or have a free version so it won’t 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 you’ll 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 you’ll need game engine software, but what other programs will you need? Much of that
depends on what kind of game you’ll be making, but here’s 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 can’t use a word processor such as Microsoft
Word or Apple’s Pages, it has to be a text or code editor. There are many available
cheaply and even free.
• Graphics Editing - Even if you won’t 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 you’re going to be diving into 3D programming you’re probably going
to need a 3D modeling package. Most of those are high-priced, but there’s at least one
free option available that’s 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, you’ll often
need to edit them in some fashion. One
of the most-used audio editing packages
is free (I’ve 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.
That’s 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 you’d have everything necessary
to create your own video game. The software you actually need can all be had for free.
Chapter 2
Choosing Your Target Who will be playing your games?
What kind of games do you want to make? Is it going to be a 2D or 3D game? Who’s your
target market? What platforms (mobile, desktop, etc.) will you focus on, etc? The answer to
those questions will help you determine which game engine you should choose.
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 don’t 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?
I’ll 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 I’ll go into how to find both 2D and 3D art assets in case you don’t want to have to create them all from scratch.
So the first thing to do is decide whether you’re 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 you’ll wind up using.
Target Audience and Platform Who is your game’s target audience? Young people between the ages of 13-25? Women aged
35-55? Hard-core gamers? People who like casual puzzle games? The more specific you can
be about who your target audience is, the better
off you’ll be when you start designing and
making your game.
Your target audience can also affect which
engine you choose — if your target market
usually plays on consoles, you’ll want to consider
that and choose an engine that allows console
deployment. If you’re shooting at mobile devices,
look for an engine that’s good for those. Of course, most modern engines can target multiple
platforms, but some have a really good focus on a specific platform or two.
Special note: If you want to target consoles, be aware that many console companies require
you to be a registered developer with their company before you’re allowed to make a game
for their console. In some cases it costs a good-sized chunk of money to make that happen.
Mobile devices and desktop computers, on the other hand, are fair game for anyone.
Scope While this is something that you’ll 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), I’ll mention it here because it can have an affect
on which engine you choose.
Your first several games should be small. Mainly because they’ll probably be pretty bad.
Hey, it’s 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 you’ll become better and faster.
In order to actually finish a game, you’ll 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 you’ll 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
Choosing A Game Engine The software that makes your game go.
Video games are typically created with a game engine — software that’s specifically made for
game development. In some cases there’s not a specific piece of software, but a library of
code routines that are used to put together a game. While those are technically “frameworks”
and not engines, they are often referred to as game engines and we’ll use that standard in
this report.
While using an engine doesn’t make game development as easy as pressing a “Make
Awesome Game” button, having something that handles the low-level work of displaying and
moving graphics, etc., takes a lot of the grunt-work out of making a game. Some engines
handle more of the “heavy lifting” for you than others — and which one you end up using
depends on a lot of different factors.
Coding vs Drag and Drop There are several game engines available that don’t require any programming at all —
everything is “drag and drop” based. Drag a sprite (game image) into a scene and position it,
then choose what kind of behavior it has, etc. While fun games have been made with those
engines, they’re more limited in what you can accomplish. If you’re more “artistically
inclined” and have no desire to learn programming, you may want to play around with one of
those engines.
Even “artististic types” can learn to code. Joe Kauffman, owner of Fire Maple Games, started out as an artist/animator. He decided to make a game and learned to program in order to publish The Secret of Grisly Manor, The Lost City, and more — his games have been downloaded millions of times. Kauffman is a self-made game millionaire!
There are two ways of looking at game engines — should you create an engine yourself, or
use one that’s already made by someone else? There are pros and cons to both.
Rolling Your Own I’m going to cover this one first because while it has one main advantage, I believe the
disadvantages far outweigh it. The advantage is that if you create your own engine from
scratch you know everything about it. If there’s a bug, you can fix it. If you want an extra
feature, you can add it.
So what’s not to like? Making your own game engine means most of your time will be spent
making a game engine and NOT making a game. Those are not the same thing.
Don’t get me wrong, for programmer nerds (I’m one!) it’s fun to dive in and create a game
engine, so if that really floats your boat, go for it. Just realize that making an engine and
making a game are two very different things.
Use an Existing Product This is the approach I suggest for people who want to make games — especially if they’re just
getting into game dev. Leave the “under the hood” aspects to the guys who really geek out on
that kind of thing, and instead, focus on making the most fun game you can.
Using an existing game engine doesn’t mean all the work has been done for you. Unless you
choose one of those “no coding” engines, you’ll still be writing code to make things happen.
So making a space ship show up on the screen might look something like this:
display.newImage(“spaceship.png”)
If you didn’t have an engine helping you, there could be dozens of lines of code to do the
exact same thing instead of that one line that’s fairly understandable (even if you’ve never
programmed anything before). An engine handles a lot of the mundane housekeeping chores
for you.
While many indie game developers stick to just a single game engine, many others are fluent
in more than one because you want to use the best tool for the job. But while there are
a ton of game engines to choose from, don’t worry that you’ll pick “the wrong one” —
switching game engines at some point is kind of typical.
Chapter 4
Game Development Assets All about artwork, music and sound effects.
The art, music, and sound effects of a game can’t be considered “second class citizens” to the
programming because those are what’s most visible when a player is having fun with your
game. The programming all but vanishes into the background, and to the player the graphics
and sound are the game!
There are three main ways to get great art and sound into your game and we’ll look at some
of the advantages and disadvantages of each here.
Create Your Own If you have the talent — and the time — this is the absolute best way to go because you end
up with a game that can be completely unique. From a marketing standpoint that is pure
gold. While you can buy multi-thousand dollar digital drawing pads and rent recording
studios, there are many more budget-conscious ways to create your art and sound assets.
Since this isn’t a “how-to” course I’ll just briefly mention some of the ways:
• Draw pictures on paper and scan them to turn them into digital images for your game.
• Draw on a tablet and transfer to your computer for use in your game.
• Record different sounds with your phone or digital recorder, transfer them to your
computer and tweak them for sound effects.
• Use a digital piano or other digital instrument to record music for your game.
Maybe you’re a great musician but can’t draw, or it’s the other way around. You can still
create the assets you’re able to and use one of the following methods to get the ones you still
need for your game.
Buy Existing Art, Music, and Sound Most of us are missing the talent or the time needed to create our own assets (okay, some of
us are missing talent and time!), but all is not lost. There are artists and musicians out there
who create art and sound packs for those people without talent and/or time to buy and use in
games. Those packs can usually be purchased for a pretty low price.
What you’re going to be looking for is “royalty free” art, music,
and sound effects. That way you pay one time and then don’t have
to worry about it again. Need fantasy backgrounds? Buy ‘em. Need
a girl archer who can jump and run? You can buy that, too.
Same goes for music and sound effects. I’ve purchased packs
consisting of hundreds of sound effects that I can pull into my
games. In the last game I had sound effects such as:
• Swords striking
• Enemy getting hurt
• Hero getting hurt
• Door unlocking
• Treasure chest opening
I also have different packs of music in different genres and moods. If I want suspenseful
music I can grab that. Exciting, fast-paced music for a chase? That, too.
To be honest, I now have more music and sound effects than I’ll ever use, but building a library like that makes it easy to add something to a game without losing your momentum. As you get into game development you’ll end up with the same kind of collection.
How much will you pay? At the low end I’ve paid as little as $8-$10 for graphics, and the
same for music and sound effects. Of course, there’s a lot available for around the $50 mark,
and on up.
The downside to buying artwork like that is that it’s for sale and anybody else can buy that
package and use the same characters, objects, and backgrounds in their game. While that’s a
disadvantage to buying artwork, in many cases it’s 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 who’s 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 they’ll create
unique art and music for you. Your game will be the only one with those characters.
That’s the upside. The downside is that way of doing things can cost you a lot. As in,
thousands of dollars, and up. Or, there’s the option of working with an artist and splitting the
proceeds, which means there’s sometimes no money up front at all — the artist gets paid
when you get paid. (In many cases it’s hard to find someone who will work for that kind of
deal, but it does happen.)
I teamed up with an artist a few years ago to create a game called Horse Crazy. I did all the programming and he did all the artwork and we split the proceeds of the game 50/50. The experience was good and we hope to work together on another game in the future, but I’ve also heard many stories where things turned out badly. If you go with that option, a signed contract among all parties is a must.
Chapter 5
Your Next Step Where to go from here…
From a hardware standpoint you’re probably ready to get started (for at least some of the
game engines) if you have a fairly recent desktop or laptop computer, so your next step is to
use the links in the following Resources section to explore some of the recommended game
engines.
Using the questions mentioned earlier, figure out what kind of games you want to make and
then choose a game engine based on those answers.
How To Actually Learn Game Development Once you’ve chosen a game engine to use, how do you actually discover what to do in order
to make a game? There are two major ways to learn to make games:
1. Dive in and start splashing! Read the documentation on the game engine you’ve
chosen and look for example code, try demo projects, etc. Many game developers got
their start this way (including me).
2. Find someone who knows how to teach game dev and take some lessons. This is
probably the fastest way to get a firm foundation under your feet.
Trying to find someone in your area who can teach game development is often hard, but
there are some very good video courses available online that can walk you through the
process, step-by-step. Find someone with good teaching and good game dev skills, and then
start following their tutorials.
Most of all, remember that it’s not a
race — learning game development
should be fun, so enjoy the journey!
Chapter 6
Recommended Resources Tools for game development.
Below you’ll 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 I’ve 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 doesn’t 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
they’re free to use — even in commercial games.http://kenney.nl/assets
Game Art PartnersGreat looking cartoon artwork. Not free, and costs more to be able to use in multiple
projects, but very nice artwork options. (There is some free art available on the site.)http://gameartpartners.com
Audio Assets Freesound http://freesound.org
Noise for Funhttp://www.noiseforfun.com
IncompetechGreat 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, it’s not cheap, but you’re 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/
Outlaw (Mac OS X, Windows) Created specifically for people who use Corona SDK, this IDE is cheap and also includes a
free version. (Full Disclosure: I made this software.)http://outlawgametools.com/outlaw-code-editor-and-project-manager/
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 ModelingFree software that’s 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. I’ve used Audacity for many years and can’t imagine leaving it.http://www.audacityteam.org
Video Tutorials Mastering Corona SDK Professional tutorial videos that walk you step-by-step and don’t waste your time. Greta for
beginners to game development. (Full Disclosure: I made this course.)http://masteringcoronasdk.com
Mastering Unity 2DWhile 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