so you want to be a game developer · so you want to be a game developer for hobby or career,...

20
So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

Upload: others

Post on 17-Apr-2020

33 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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

Page 2: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

1st Edition

Copyright 2016 by Three Ring Ranch • All rights reserved.

Page 3: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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...............................................................................................................

Page 4: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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.

Page 5: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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!

Page 6: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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).

Page 7: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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.

Page 8: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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

Page 9: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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,

Page 10: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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!

Page 11: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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!

Page 12: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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.

Page 13: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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.

Page 14: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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

Page 15: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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.

Page 16: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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!

Page 17: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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

Page 18: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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/

Page 19: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.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

Page 20: So You Want To Be A Game Developer · So You Want To Be A Game Developer For Hobby or Career, Discover What It Takes To Get Started! Written by J. A. Whye for ThreeRingRanch.com

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