Home This Article Is Taken From The Game Programming MegaSite, A Definitive Resource For Game Developers!

Getting Started in the Games Industry
By: Geoff Howland

The game industry is an alluring business. It has highly intellectual aspect as well as the fun of creating and playing games. It also recently has taken on an air of fame as well since success stories such as iD Software have become the common dream for thousands of would-be game developers.

How do you get into the industry and how do you make a game? These are the questions we are going to tackle in this article.

Where do I start?

This is a question almost everyone asks at some point. It's important that you have a plan of action, if you don't you will most likely not be able to get the results that you want because you will never finish.

Goals

"I want to get a job in the computer game industry."

A common answer to this question has always been to "Create a demo." What exactly does this mean? This means that you will create a program, or animation, or a set of music or sound effects that can pertain to video games and could practically be a part of a current video game.

For programmers this would take the guise of a 3D engine, or a 2D tile scrolling system (platform or overhead), or possibly tools for working on games such as map editors. The closer you create these to actual production games or tools, the more of an impression on a potential employer. If you create a small platform jumping game from start to finished with multiple levels, lives, scores, goals, beginning and ending sequences you have definitely shown that you understand how a video game basically works. You have also proven that you have the initiative to make a project to show your potential employer and the willpower to stick to it.

The better a game you can produce the more likely you will be able to use it to help you get a job. Just put yourself in your employer's position, hundreds of applicants are showing up asking to get a job in your company. Won't the ones who show up with playable games they have created stand out the most?

"I just want to create games for fun."

You will always be fulfilled with this attitude since no one can stop you from doing it and you don't need any outside assistance. A lot of groups have started freeware projects that you can join or create your own. Working in teams especially long distance can be difficult so think about this before you decide to give it a try.

"I want to get a publisher so that I can afford to do this full time."

Unfortunately so do thousands of other people. To do this your going to need to make something that stands out from everyone else and looks like its going to make money. This requires that you create a working demo of your game. You could create a video of it with an animation, this has worked for some people but it is less likely that you will be able to get funding this way since it is less tangible than a playable demo. People that already have been in the business or developed games before are much more likely to have a video succeed for them.

How much of a demo do you need to build? You need to have an equivalent of at least one level or one playable area for it to be a viable playable demo, the more you do however the more likely you will be received in the way you want. You should have a concept of what the art is going to look like, and if you can't actually have it in place then have sketches for it. If you don't have any sounds effects or music this probably will not hurt you since publishers routinely expect to put this in at the end and often have on-board sound crews that can do it for you. This isn't the best way to create the sound for your game since it could end up having less effort put into it then, but it is one less thing to worry about for the demo.

There are two important things to remember in your demo that you will have to show. If your game is going to be technically difficult then get as much of the technical things done in your demo as possible, this proves that you will be able to handle the job of completing the game and you havenÆt bitten off more than you can chew. The second thing to remember is the point of your game, if you can get the feel of how you want your game to play in your demo. A demo with the feeling of a fun game has a lot more probability of drawing attention then one that plays lifelessly.

"I want more Ferraris than iD."

So does everyone else, and teams of dozens of people are working on this as hard as you can. This is the Holy Grail of game developers recently, not the Ferrari's but the success of iD Software. You have to keep in mind that iD did not start their careers with Doom, or even Wolfenstein 3D. They worked on many smaller projects first, a lot of 2D games. If your going to try to take on the big boys with your first title you need to realize just the amount of resources it can take to make a game that detailed. You may want to set this aside for after you have completed at least several simple demo games for yourself, or even better a published simpler game.

How do I do it?

If you are trying to develop a game by yourself and have no idea where to start the best suggestion for you is that you are going to have to learn a lot first. So put away the idea for the game and learn how to program or do whatever it is you want to do in the games business.

To be harshly realistic in this industry you need to learn C++, and your best bet for a compiler is Microsoft's Visual C++. You can create games on your own with Visual Basic or Delphi but when you decide you want someone to pay you to write games for them then you had better know C++.

Knowing how to program is essential to creating a video game. If you do not know how to program yet forget about making games for a few months and concentrate on learning to program. In a few months you will not have mastered C++ but you should be able to function with it and understand it enough to read the examples you are going to need to figure out game programming.

What platform should I learn on?

You want to learn on the Windows 95/98 platform. Why? Because it has more than 90% of the market share for personal computers. That's where the people are, that's where the money is.

How do I learn how to program?

There are courses on this at independent technical schools and colleges, but you can just pick up a book as well. In fact you are going to need one to at least one for a reference when you program. You will probably end up buying several books, here's some suggestions on topics that you will want:

The C++ book will be about straight C++, that you can use anywhere. You want this. You want to know how to REALLY program because in a couple of years the current Windows API could be totally replaced with something else and if you donÆt know the basics you won't be able to make the transition. Also, the more you know about C++ the better you will be able to debug your code, and your going to spend what seems like millennia's on this.

The Window's API (Application Programming Interface) book does not have to focus on MFC (Microsoft Foundation Classes). In fact, it's best if it does not even talk about it at all because you will not need it. MFC classes are slow and large, the exact opposite of what your game will require to work.

DirectX is the current API for accessing graphics, sound, networking and 3D hardware on Windows 95 machines. You will need a book as a reference and to give you examples. Microsoft provides source code examples but they are not always easy to read or understand. A book of the subject should detail what each line of code is doing and how you can use it for your own project. If you find a book that is talking about writing something specifically for the book's project, such as a class for DirectX do not buy it. These are confusing and they donÆt explain DirectX like your going to need it explained.

Game programming books should show you the basics of how to write a computer game. It will go into the simplest elements of what a video game does. If you can get one that talks about more than one type of game, since these games are simple a wider range will help you more in the beginning then a lot of details about one specific kind of game.

Math is absolutely crucial to creating video games, the comment "I have never seen a piece of math that couldn't be applied to video games" is completely true. You need to know basic algebraic equations by heart and you should own a copy of a Geometry and Trigonometry book as well. For 3D graphics you will need to learn a lot about linear algebra.

Your best bet is NOT to create a 3D game for your first piece. It's a lot more than you need to worry about all at once. Work in small steps and you'll eventually get there, try to make a leap across the Grand Canyon and your not going to make it. There's a reason that 3D games have hundreds of thousands to million dollar budgets.

Do I work alone or with others?

This is really about personal preference. Do you work well with others? Do you want to share the burden and responsibility? Can you manage others? Do you want someone managing you?

My advice to you in the beginning is to work by yourself. At least become a competent programmer and create a few small games on your own. Draw the art yourself in a freeware paint program or Paint Shop Pro by Jasc which is shareware. It's ok that it looks bad, the point is that your gaining experience, and this will help you enormously when you raise your standards for your next project. There are also free or very cheap sprite collections such as SpriteLib available on the Internet for you to use as well. These can save you a lot of time since you are just trying to learn and create something simple. The graphics are probably better than you can draw if you draw as well as most programmers.

When you decide you need a real artist then try to get someone who is close to you so that you can work together. Working over a distance takes more work and a good ability to communicate. You may think this won't be a problem but if you try it you may find out you can not communicate your needs and can not get what you need to done.

If you are thinking about starting your own "group" or team, be careful whom you select to work with. Managing people is difficult and time consuming, many new comers say they want to make a game and then will never do anything, if you are being pulled down by people like this because their part of the bargain is not being done it can ruin your project.

What do I create?

First thing you need to think about is what kind of game you want to make. Is it going to be a driving game? A shoot-em up? Beat-em up? Level jumping game?

Try to pick something that you think you can accomplish and you would like to play. That way when you get stuck, and you will, you have more incentive to keep going and finish it. If you pick something you're not really interested in you will have a lot of trouble with motivation.

The very first game you make you want it to be so simple you can't fail to finish it. Many people write remakes of Breakout, Tetris or PacMan. You want to finish your first game. It's crucial that you do, donÆt move on until you have your first game completely finished.

This can become a pattern for you if you are not careful, you don't finish one thing and then move on to the next "bigger, better" thing. A lot of game programming is the ability to stick to it. The statistic that I have heard is that 1 in every 50 games gets completed. You donÆt want to be part of the 49 people who do not complete their game.

A lot of people want to start out with a role playing game (RPG). This is not a good idea and I'll explain why. RPG's are not necessarily more difficult to program than any other kind of game, but they are incredibly detailed. It could take you months just to create all the basic items and combat systems. If you start with a simpler type of game you can learn how to do the graphics, and the interface and controls and not have to worry about a lot of game internals. It will take you a lot less time to create than an RPG, after you have finished a small project like this then you can start creating your RPG. With the knowledge you gained from your first game it will be a lot easier and move a lot smoother and you'll be a lot more likely to finish.

How do I create it?

Your game should be well planned out. You should try to think it through from the first screen to the end and every action the player or the computer will make in between. The reason to be so detailed about it is that if you don't know what you're really creating it can take a really long time to make it. You will keep changing ideas, or adding on things and different pieces of your program may not work together correctly.

The Design Document

This is where the design document comes in to play. The design document is what every game developer uses to create his game. In it will detail everything that will go on, from start to finish, in the minutest detail. I recently overhead someone say, "A design document should be detailed enough that two different groups of people could read it and produce basically the same game."

If you think about how different people's interpretations of anything is you can see the truly vast significance of the design document. It is the game.

What is in the design document?

The design document should be broken up in to several categories, with sub-categories.

Here is an example list.

    I. General Description
  1. Backstory
  2. Introduction to the Game
  3. Cast of Characters
  4. Feature List
  5. Definitions and Descriptions
  6. Introduction Sequence
  7. Game Selection Sequence
  8. Game Start Screen
  9. Game Play
  10. Game Levels
  11. Milestones in Game
  12. End of Game
  13. Game Exit
    II. Screen Description and User Interface Specification
  1. Introduction Sequence or Movie Before the Game
  2. Game Selection Screen
  3. Branch off screen for options before the game starts
  4. Game Screen
  5. Flowcharts of Screens
  6. Controls
    III. Art Specification
  1. Colors and Resolution Modes
  2. Masking Color
  3. Naming Conventions and File Types
  4. Background Art List
  5. Foreground Art List
  6. Character Art List
    IV. Sound and Music Specification
  1. Sound Effects List
  2. Voice Talent List
  3. Music List and Description of
    V. Paradigm Specification (How things are done)
  1. How is the project going to be completed, who is going to do it?
  2. What are the milestones for the game to be completed?
  3. What functions and procedures are needed?
  4. What information do we need on our characters?
  5. How is the screen drawn?
  6. How many frames per second are needed?
  7. What libraries are needed to complete the game?
  8. Flowchart of the game from beginning to end
    VI. Artificial Intelligence Specification
  1. What do the characters need to know?
  2. What will the characters do that someone could not do in real life?
  3. Is everything fair?
    VII. Legal Stuff
  1. Copyright notices
  2. Non-disclosure agreements

As you can see here, this is an incredibly long list and it's just a list. When you fill in all those topics with extremely detailed information about your game its going to get very large. For large projects it's normal for design documents to be 100 pages and more.

When do I need to stop writing?

There comes a time when you have to stop writing and produce. This is a necessary balance and it's actually dangerous to write too much. You can burn yourself out and quit the project just from frustration.

Writing a design document is very difficult but it is also very rewarding. Your ideas will solidify as you write your document, you are forced to ask yourself, "How am I going to do this?" This is so important for creating your game, it will give you a true direction.

Spend a couple of days writing it at the least, this should be enough time for you to fill in the basics and expand a good deal on the beginning topics. Your design document is going to change and be wrong, this always happens when you turn concepts into reality, just go back and change your design document when you change the way your doing things. This always keeps you on track.

I'm just doing a small game do I still need a design document?

Yes, you do. First of all, you need the practice and it will still help you in your programming. Secondly itÆs a small game so the design document will be smaller; it won't take you that long to create or update it so just stick with it.

I started working on my game, but now I'm stuck.

This is going to happen, even after you gain experience you are going to run in to roadblocks that you just can't seem to get over. Fortunately in this connected age you can go to places on the Internet and get help.

There are a lot of sites up that have tutorials in every subject you can think of, go to your search engine and search on the topic your having a problem with. If you can't find it just search on "games programming" and then look through the sites that come up.

If and only if you can't find a tutorial on something that helps you fix the problem you should go and ask on newsgroups. Before you post to a newsgroup read from it for a few days first. See the way people act and post on it so that you donÆt make a mistake that people yell at you for.

The long time rec.games.programmer newsgroup has recently been split into a comp.games.development.* series of groups.

You need to choose the appropriate group to post in before you start asking questions, if your question is about programming in DirectX do not ask in the design group, or the art group. Do not post more than one message in more than one newsgroup. If no one responds to your message re-post it in two days, not less.

What to do after you make your game?

After you create your game you have to decide how to distribute it. After all, you donÆt want to be the only one who plays it right?

Luckily there are many ways to do this. As I spoke of earlier you can try to get a publisher or distributor and put it in stores. This will depend a lot on the quality of your game. It has to be comparable to other games that are also in stores.

One alternative to this is to go with a value software publisher or through a regular publisher in their value line. Several value publishers are Expert and MVP, you have likely seen their software in all types of stores in racks by themselves and they at times get placed with other games as well with just a reduced price.

You can also take your game the shareware route. Even with this there are many alternative ways to distribute it. There are CD packs that contain hundreds of games and you could get your game put on there and people may send you money if they like it. There are also several hundred sites on the Internet that have download sections for games such as download.com.

If you decide you want to sell it yourself there are places that will do the credit card transactions for a fee with every transfer. Its usually about $5, but if you sell your game for over $15 it can definitely be worth it.

Even better than that a lot of providers have site hosting that has credit card set ups as a built in service with shopping cart CGI scripts as well. This basically handles all of the transactions for you all you will need to do is set up your bank account with the company.

How to contact publishers?

Publishers will generally have links of their site that so you can email them about your game. Never just send them your game, they will just delete it so that you can't sue them. Before any game company will ever look at your game you will have to sign a Non-Disclosure Agreement (NDA) which will protect them, and if they have written it fairly it will protect you as well.

NDA's are standard procedure and you can not get around this. If you don't see an NDA with instruct on their site with procedures of what to do email them and ask them. Some publishers do not accept 3rd party submissions and some only want games for consoles so you will have to ask around to find out if they are looking for something like your game.

A safe bet is to just ask them if they are looking for games of your genre and platform type. A yes or no answer is a good start.

How do you protect yourself and your game?

Protecting your work is important, you put a lot of time in to it and you donÆt want to lose any of it to someone who would steal it.

Anything you write is protected by the Copyright laws, but you still have to prove you wrote it first right?

First thing you should do is put a Copyright symbol next to your work with a message saying that you own this and it is your property. This just shows people that you know you have a right over it.

You also need to send in a copy of your material to the Copyright office. If you don't a lawyer will not even touch your case. You can find out more information by going to the US Copyright Office homepage at:

http://lcweb.loc.gov/copyright/

Trademarks

Trademarks cost money, but they are the best way to make sure you have all the rights to your game, starting with the name. The last time I checked I believe the price was $250 approximately to get a Trademark and $500 for a lawyer to do a search for you to find out if anyone else already has it.

If you donÆt have the money for this you can use what is called a Service mark. Instead of a small TM next to your game's name you would put a SM. Service mark's give you the same protection of a Trademark but they are not yet registered so there is still some risk to it. Signing a service mark to your game's name is basically saying that you intend to trademark that name within a given period of time. It is from 2-5 years, I forget how long precisely but it will at least give you enough time to get your game out the door safely.

Agents

Yes there are really agents for computer game developers now. These people usually get their money from the publishing companies for finding talent. Since your not the one paying them they donÆt really work for you, it is still in their best interest to get you to a publisher though.

Just like dealing with anyone about your game though you will want to be cautious. Until you have a signed deal or a signed NDA your ideas can be taken.

My advice is to be only somewhat paranoid about your game's idea. Obviously you donÆt want to give away your secrets that will make your game the best, so just describe your game in terms of other peoples games until you get an NDA signed.

This is also usually clearer as well. For instance you could say, I'm doing a game thatÆs like a mix between SimCity and Links Golf, you have to design golf courses for the rich and famous. They can use their imagination.

Conclusion

In conclusion I wish everyone who really wants to create games good luck and a reminder that if you work hard enough at anything you can get there, especially if you are capable of taking small steps.



The Game Programming MegaSite - ⌐1996- Matt Reiferson.