THE GETTING STARTED GUIDE TO GAME DEVELOPMENT FAQ

 THE GETTING STARTED GUIDE TO GAME DEVELOPMENT FAQ.


A FAQ by Ben Sawyer                          Version 1.3


Please feel free to distribute this document electronically as

much as possible for non-profit use only.  This document may not

be printed and/or distributed in any fashion in any for-profit

manner whether for a newsletter, online zine, or professional

publication without the written permission of Benjamin G. Sawyer.


(c) 1995 Benjamin G. Sawyer

===============================================================


Improvements from Version 1.0


- Fixed file format

- Fixed some erratta

- Added better explanation of DOS/Windows C/C++ Compilers

- Improved book listings with more explanations - Added some new

game types to game categories - Improved On-Line resource

sections

===============================================================

Contributors:  The following people have assisted in the creation

of this document.  Dave Snyder/MVP Games, Bruce Lewis CyberSims,

Gregg Seelhoff, Jim Bucher, Akiva Atwood, Chris Crawford, Kevin

Gliner/CGDA, John Eichelberger, and Chris Newland.


Plus anyone I forgot and thanks to all my downloaders over 500 I

know of with the first version.


PREFACE


Thanks for reading this document. Just this week I answered

several calls for help from fellow developers looking to create

games. In fact like many of you, I'm now working on a game which

hopefully won't see as many delays as this FAQ did.


Starting out I had a lot of questions; being someone who hates

unanswered questions, I set out to answer them myself.  The

result is this document.


While I'm sure there is useful information here for every game

designer, it is really meant to be the first stop on a long, and

hopefully rewarding

journey.  I'm not trying to give you programming howto's or even

tips on creating art.  Instead, what I have tried to do is create

a simple and fun overview.  This FAQ details what steps you will

take, what books you need to read, and what tools you will use en

route to game-creation.


There's my Chinese food at the door, so as you read on, rmember

that this is only the beginning, and frankly, there is no end to

the learning or to your imagination from this point on...



                                   Ben Sawyer January 30, 1995


Special Thanks:


Everyone who frequents CompuServe's GamDev forum, especially...


Karen Crowther


Without Karen initially persuading, (suckering) me into this, I

would not have thought I could be helpful. Her advice is always

available and always good.  Anyone else wishing to thank her

should purchase her games: Rescue the Scientists (Retail from

Comptons), Pickle Wars (shareware from MVP), Math Rescue, and

Word Rescue (Shareware from Apogee).


Keith Weiskamp


Keith is the publisher of the Coriolis Group, which has recently

brought out such books as Visual Basic Multimedia Adventure Set,

Arcade Action Adventure Set, and PC Game Programming Explorer, to

name just a few.  I cannot thank him enough.  Keith spotted my

work early on and has served as an excellent resource, editor and

all around cheerleader.  Anyone else wishing to thank him should

buy his books and even if you didn't initially want to thank him,

you will probably want to do ultimately, anyway since they are

among the best books published.


Swen Vincke


Swen came all the way from Belgium to help me to explain some DOS

Specifics like DOS Extenders and Midpak that programmers should

learn.  Anyone else wishing to thank Swen should either

contribute to his collaborative game project titled Chronicles

(visit the CompuServe Gamdev forum for more info) or buy his

upcoming Adventure RPG Ragnarok.


The following developers\producers for their divine inspiration

to me, I've never met them, but their games have always inspired

me to become a game programmer.


Bill Budge (Pinball Construction Set)

Danielle Bunten (Seven Cities of Gold, M.U.L.E.)

Chris Crawford (Balance of Power, Excaliber)

Don Daglow (Producer of many EA Hits)

Richard Garriot (Lord British)

Sid Meir (Pirates, F-15 Strike Eagle)


and Bill Williams (Sinbad, Alley Cat, Necromancer)



OK! WHAT DO I DO BEFORE STARTING TO WRITE OUR GAME?


A lot more work than you will do once you start coding!


HOW DO I PREPARE?


1. First find a good Chinese food take-out place. You will be

eating at-home a lot.


2. Flesh Out Your Design.


Try to really flesh out your idea as much as possible.  Put your

ideas on paper first.  Diving in might seem like the quickest way

but sooner or later, you are going to hit design and programming

snags.  Why? Because you have not completely thought through your

idea.  Always remember: designing and coding are two separate

tasks that deserve equal attention.


3. Line Up Your Resources.


Like a cook preparing ingredients, during the design process I

line up lists of the graphics, sounds, and music I will need.

Remember, creating a game requires a lot of non-code items.  Make

sure you have a good idea of what those will be and how you will

acquire or create them.


"I'm Going To Do It My Way"-- Frank Sinatra


For organizing my game, I got a loose leaf binder. In the binder,

I have three sections:  To Do, Design and Resources.


TO DO


The To Do section is a running list with notes about stuff I want

to work on to make my game.  For example I might have an entry

titled Movement Scheme For Enemies, and below it some notes

concerning how I might do it.


At the beginning of the section is a running Top Ten list.  Not

my list of the best David Letterman lists, but a list of the next

ten features or things I am going to do when I sit down to work.

I do this because, like you I pursue this craft in my spare time.

I find that good design notes and a To Do work list helps me make

the most of that time.


I also always carry a printout of my code so I can edit it on the

road.  By using lots of pen and paper, I turn what spare time I

have away from my computer into productive time.


DESIGN


This is simply a running set of sketches, short

essays and notes about the overall design like storyline and

interface design, etc.  I am constantly adding to it until I have

a complete picture of what the game will be, always being careful

not to do too much.


RESOURCES


Just as I said before, your game will have many elements besides

programming code.  This section is a running list of the artwork,

sounds, data files, etc. which will need to created.


WHAT ARE SOME OTHER ISSUES AND QUESTIONS THAT DEAL WITH DESIGN?


DECIDING ON A PLATFORM.


Windows or DOS: that is the question.


Lately, there has been a huge shift toward the Windows market for

games.  Windows has been used mostly for applications. Recent

developments for Windows.  The new WinG graphics library and the

upcoming release of Windows '95, means Windows is becoming more

and more the dominant form of PC Game development. Bill Gates

wins again.


On the other hand, many computers which do not use Windows still

exist.  Some people refuse to give in to Microsoft.  These people

remind me of people who say they can ride out hurricanes.


In addition to this major decision come secondary decisions.  For

example, like hardware requirements, if your game is multi-

player, what networks will you support?  Will your game will

require a printer?


A great deal of game development does not happen on the computer.

It is very important to design, document and plan your program.

I cannot stress this enough.


AM I UP TO IT?


Remember Not Everyone is Ray Tobey.


Discovered by the inventor of the Apple Computer, Steve Wozniak,

Tobey programmed his first commercial game, SkyFox, at the age of

16! Rumor has it, Bill Budge in his 30's at the time - author of

Pinball Construction Kit, quit the game business when he saw

Tobey's amazing game.


Its Important To Finish. Always walk before you compile!


The most important thing to consider when developing games is to

finish them.  I must have started at least three projects which

were beyond my means before I got smart and scaled back my

ambitions. It may seem neat to make a DOOM style game right away.

That level of programming takes a lot of work and experience  (Id

had been creating games for several years prior to DOOM).  Start

simple, learn, read, and build your skills.


A finished game with less flash and dazzle is better than no

game.  In short, learn to work within your skills and learn to

finish.


WHAT IF I WANT TO SELL MY GAME WHEN IT IS DONE?


What you mean you don't want to slave for seven to twelve months

and then give it away?


IS IT UNIQUE?


Either by storyline, game dynamics, graphics or whatever, your

game in order to have any chance at success has to have a

discernible difference from everything else out there.  Remaking

a clone of Asteroids is not a good way to go about making money

because it already exists.


Remember: not every game need be a best seller. Just understand

the level of sophistication, polish, and uniqueness that such a

product requires.  Even if you feel your game is not up to these

standards, press on, and you will see that there are many outlets

beyond the retail realm for showcasing and receiving credit for

your work.


IS IT BETTER?


One way to be unique that is it just simply better. Many games

are newer versions of older ideas.  For example, NASCAR by

Papyrus-now certainly car racing simulations are nothing new-but

NASCAR is absolutely amazing.  It is simply better, so not only

will it sell outright, but anyone with a love for car racing

simulations will want this game too.


Being unique is a general code word for simply offering the

consumer of your game a specific reason to choose that game when

they compare it to verses other available options.


WHAT SHOULD I DO ONCE CODING BEGINS?


Order that chinese food, lots of it.


All of the steps in the design stage above apply while coding

too.  I just want to add a few things to this.


TAKE BREAKS.


Even God took a day off!


Breaks help a lot remember to rest. Try to take breaks from time

to time.  My trick is to take regular breaks, sometimes

programming a second project, a more mundane small application

utility. This keeps me programming, just not in the same manner.


COMMENT YOUR CODE.


Reedabilllity es gooing 2 b impertant.


Remember to comment your code.  A typical mistake of many

programmers, game or otherwise is not placing comments in your

code.  Game programming requires a lot of clever work arounds,

much more so than other forms of programming, and requires

serious optimization many times late in the work.  This means

commenting is even more important for games.


WRITE REUSEABLE CODE!


As you write your game try to make sure you create code that can

be applied to other games later.  For example my RPG game, which

features a tiled multiple

scrolling map.  Now certainly the map can be used for other

games, so I made sure it was wellcommented and very open ended to

apply to future projects I have in mind.


BRAINSTORMING TECHNIQUES


Everyone has ideas that need development.


Games are perhaps on of the most creative mediums ever.  They

require music, sound, art, storytelling, writing, programming,

and more!  This requires a lot of brainstorming!!!


If Leonardo or Michaelangelo were alive today, there is no doubt

they would be game developers.  Also, if Leonardo were alive

today he wouldn't have paid 30 million dollars for his book at

auction which Bill Gates did.


Every creative person needs to come up with ideas, and with games

even more so, as this medium has perhaps the most fickle

customers.  So lets talk a little about brainstorming.


I don't have anything special to say here, but I always think of

two things I have read or heard from two great programmers when

dreaming up ideas:


DANI BUNTEN

Ozark Softscape:  Author Seven Cities of Gold, Heart of Africa,

M.U.L.E. and other classics.


I read that Dani starts by listing every game idea she has in her

head in very simple terms like Columbus Game, Robot Game,

Exploration, etc.  She just goes and goes, not really thinking

much more than a quick thought about the games.  She especially

tries to think of things not exactly closely associated with

traditional computer games.


When she is done he goes back and reviews all her ideas.  Dani

starts by thinking about the uniqueness, feasibility etc,

constantly narrowing his choices until she arrives at her final

idea that she then develops further.


The trick is to be very open and write down whatever comes to

mind.  Try to focus on different things, such as adventures you

have had, non-game things you like, movies you have seen, books

you have read. Try not to think about other games.


LORD BRITISH a.k.a. RICHARD GARRIOT

Origin Systems: Author of Ultima I-VIII and Worlds of Ultima and

for trivia buffs, Akalebeth!


I always emulate Richard Garriot in that he constantly carries a

pad of paper around to work ideas out immediately.  You never

know when an idea can come to mind.  I also try to make little

notes about books I've read and movies I've seen.  I use these

notes later when considering actual game ideas like I described

above.


I would add only the following comments of my own:


PLAY LOTS OF GAMES


The Worlds Best Excuse.


Spend a lot of time reading about and playing other games.  A lot

of great ideas exist which are merely new twists on existing

themes.  Again, remember the unique rule-attempt to

differentiate!


I'm lucky I have a few friends who play lots of games-so every

once and a while I take a trip over to their house and play all

their games. I spend several minutes with each, evaluating the

way they play, the documentation etc.


Become a Comparison Developer!!!


I am constantly in stores reading backs of the boxes, and

evaluating demos.  In a creative medium like this, ripping off

someone else's ideas is how we create.  When a new game is

written, it attempts to incorporate (read: rip off) all of the

current ideas out there and then move beyond them (only to create

new features which themselves are incorporated).  This is how

games evolve.  So, being as much of a player as creator has a lot

of merit.


READ READ READ


And did I say Read?


Spend a lot of time reading non-technical materialsbecause I

enjoy Adventure/RPG games, I draw a lot of my ideas from

mythology, science fiction, etc.  You have to read.  A programmer

of games is a new-age Renaissance person.  They must have an

understanding of many different elements of the arts, technology,

and the general world around them.  How are you going to write a

game about geopolitics if you haven't read about the world around

you?  What are you going to do-just make it up?  Read Read Read.


NEVER


Never brainstorm on your computer. Use paper and a pen or pencil.

Always brainstorm in a relaxed atmosphere, and set aside time to

do so every week.


WHEN IN DOUBT, WRITE WHAT YOU KNOW.


If you can't seem to generate what you feel is an original idea,

consider what many writers simply do, write what you know.  I am

an RPG nut, so I am writing what else, an RPG!  Of course, I have

some innovative ideas for that RPG, but starting with an idea

based on what I know got me going initially.


BRAINSTORMING BOOKS


For other reading on creative brainstorming, check out the

writing section of your favorite bookstore. There are usually

several good books about creative idea development to be found

there.


WHAT IS GAME DESIGN?


"The answer my friends is blowing in the wind." Bob Dylan


The answer is infinity.  Well, sort of, game design is an endless

process which we could talk about forever, but you and I don't

have forever, so here is a "Reader's Digest" essay about game

design to help you understand the thought process about creating

games.


Game design concerns one thing tantamount to all else and that is

Interaction.  What separates games from similar creative mediums

like, art, movies, music, and books, is that the player interacts

with the medium.


You don't stare at, or just listen to a game-YOU CONTROL IT!  So

as designers, we have to create a product which entices people to

play, and at the same time, provide the storyline, the emotional

feel, the realistic tone, and the other qualities all other

creative mediums give us.  A tall order, but this is what makes

creating games so much fun!!!


Playing means making decisions.  Therefore our games need to

create situations where the player has to decide what to do, and

then to perform that action, which our game then reacts to.  This

can be as simple as PAC MAN where the player has to decide

whether to go UP, DOWN, LEFT, or RIGHT, or as complex as Balance

of Power; should I or shouldn't I arm the rebels in this country?


This is what makes games appealing:  A set of decisions which the

player controls and, based on their skill and intelligence, by

which they ultimately decide the outcome of their game.


So when sitting down to design a game, attempt to create

entertaining interaction, try to provide an easy way for the

player to make decisions about the situation you put them in.

Then return interesting outcomes which in turn lead to new

situations and the whole process starts over until there is a

final outcome.


KEEP IN MIND:


As you sit down to design your games try to keep the following

things in mind as you decide on what it will be:


Am I creating Interaction?  Does my design create a decision

dilemma for the player or not?


Are clear situations provided to the player?  Is there enough

information in the game (graphical/sound/text) to illustrate to

the player what situation they are in.


Am I providing them with the proper information to make

decisions? Is the interface by which the player commands the game

clear and easy to use? Does it provide the proper information to

them to help them input desured actions?


Do the outcomes of the player's decisions end or continue the

game?


Does skill and intelligence of the player produce the outcome?

Random outcomes not based on the skills of the players decisions

are not games. Players must know they are controlling the

outcome.


Is it entertaining?  If it isn't fun, they won't play it.


In short, concentrate on providing interaction, creating player

control of their outcomes based on their skills and intelligence,

and make it fun.


WHAT TYPES OF GAMES DO WELL?


Good ones.


The are many types of games which do well.  Game players come in

many shapes and sizes. Here is a list of game categories which

seem to dominate the shelves.  Remember that GOOD GAMES will do

well regardless of the category, but by evaluating these

categories you can find a niche to write a GOOD GAME in.  The

following not in any order of importance.


3D Games - Now commonly referred to as "Doom Style" games, these

games feature texture mapped 3D environments and usually a lot of

action and shooting.  Already several books have come out which

show you how to write games like this.


RPG - Role-Playing-Games are like Dungeons and Dragons, though

they might be about space, postapocalyptic, sci-fi oriented, they

still share the statistical characteristics and strategic

features of games like D&D.


Adventure - Not to be confused with RPG's these programs, such as

Sierra's King/Police/Space Quest series or Lucas Arts Indiana

Jones games, are more puzzle based games, and are not based on

building up a character, or statistics like an RPG.


Edutainment - This is a hot hot category right now. Games like

Carmen Sandiego and Rescue the Scientists are traditional

educational games with exciting game elements melded in.  Games

which become "learning experiences" so to speak, rather than the

first generation of "flash card" like products.


Retro Games - This is a relativly new category of games.  What

the term refers to is the recreation for a new platform of an old

classic like say Microsofts Arcade Pack which features 4 original

coin-op Atari classics.


Simulation - Computer Simulations like Flight Simulator, F-15

Strike Eagle, and Comanche have been excellent sellers.  There is

nothing like a detailed simulation to entertain gamers.  However,

be careful, trying to put together a complex simulation game can

take a lot of work.  Gamers in this category are extremely picky.


Sports Games - EA probably tripled the size of their company on

its sports titles alone.  Prior to the release of their first

classic, Earl Weaver Baseball, sports games tended to be

simplistic arcadish games or dry statistical models.  Earl Weaver

brought both of those approaches together and gave birth to the

statistical/simulation model.  One note here:  Check out FIFA

Soccer for the 3DO an amazing look at the where this type of game

is going.


God Games - God games refer to those simulations where you

essentially simulate an environment and give the player control

over factors which affect it.  SimCity and Sim Earth as well as

Populus by Bull Frog/EA are great examples of this game type.


Shooters:  Usually viewed from above, the screen scrolls as the

player -you guessed it- shoots everything.  Examples might be

Raptor from Cygnus/Apogee or  Space Invaders and Asteroids.


Fighting games:  Fighting games like Mortal Kombat and Virtua

Fighter have become so popular they really do warrent their own

category.  Most of these game involve heavy arcade action as

players either vs. the computer or their friend duke it out in

some for of hand-to-hand combat with special moves and sometimes

hand weapons like swords or flails.  Other games in this category

are things like Street Fighter, and One Must Fall.


Platform games:  Ever since the original Donkey Kong, 2D

side/verticle scrolling screen, jump n' shoot games have been

amongst the most popular form or arcade games made.  In the PC

world the role of shareware alone has brought side scrolling

games like Commander Keen, Jazz Jackrabbit, and Duke Nukem to

much prominance.


Overall, though many games tend to have 80% of themselves firmly

rooted in one of these categories, great games always tend to

overlap into other game types as well.  Magic Carpet, a huge hit

right now (Bull Frog/EA) is both a flight simulation, an

adventure game.


It's always good to keep track of new and interesting gaming

types, there are more than what I've touched on, and new hybrids

emerging every day. Keep track and you might just create a game

that is either a benchmark for its category, or the newest game

for the next great game type!


Oh and did I say GOOD GAMES sell well?


HOW DO I GET A JOB AS A GAME DESIGNER?


Jobs are tough write your own game!


JOBS


AS A PROGRAMMER/DESIGNER


As for an actual job, a good article appeared in the February 95

issue of Computer Gaming World.  Without going into detail I will

summarize the key points.



1. Getting hired is tough.  There is a lot of competition,

programming and/or art skills are a must.



2. Having a good demo or a good game already completed is a big,

big plus.



3. College graduates are the choice of company recruiters, and a

non game specific background is also important.



In short, go to college-this isn't a simple job-and write

something on your own.  It will give you at a big advantage.



THEY'RE ARE OTHER OPTIONS



As the game industry evolves from single designers who did

everything to team oriented multimedia megagames, there are many

other job types which have opened up.



Artists 2D & 3D.  Musicians, Writers, Level Designers, Marketing

etc.



If you feel you have a special talent - like Art for instance -

and you feel you understand Game Development as it relates to Art

(or writing or ...) then you might want to put together examples

of your work and send them to the human resources departments of

companies.



Remember, though: As with any creative medium - or any job for

that matter, getting one will be tough. It won't happen

overnight.  Also, if you are approaching the Game Development

field for a job in one of these support positions, it is

important to really understand the process and the difference

that the notion of interactivity presents to the product.

Writing your own game might develop that!



If you're really interested in the industry, check out:


THE CGDA


The Computer Game Developers Association.


What is the CGDA?


The CGDA is an association of interactive entertainment

professionals dedicated to serving the careers and interests of

its members. It's not a trade association or a union. The

purposes of the CGDA are:



To foster information exchange among professionals in the

industry



To represent the community of interactive entertainment

developers when policy issues arise in industry or government


To increase artistic and financial recognition for developers


To enhance the quality of interactive entertainment and

educational software



Why should I join the CGDA?


The most important reason for joining the CGDA is that it lets

you participate in a community of people with similar interests

and concerns. The CGDA will take an active role in helping to set

government and industry policy on important issues such as

software ratings. In addition, the CGDA will offer a variety of

services to its members, designed to assist them in their

careers.


They also have a newsletter which has all kinds of good info too.


What does it cost?


Membership will cost $75 for 1995. (Foreign memberships will be

somewhat more!)


How do I get in touch with them?


Computer Game Developers' Association

555 Bryant Street Suite 330

Palo Alto, CA


voice:    (415) 948-CGDA

fax: (415) 948-2744


Please note: In order to keep costs down, this phone line is not

staffed by a live person. Leave a message and someone from the

CGDA will return your call as soon as possible.


CONFERENCES


All right Deductible Junkets!!!!!


Several conferences exist.  The major one to attend is:


The Computer Game Developers Conference (What else did you expect

it to be named,)


This is held every year in the spring.  In 1995 it is being held

at the Westin Hotel in Santa Clara, CA, April 22-24. Contact the

CGDA, an affiliate of the producer of the conference for more

information.


There is also an East Coast Developers Conference.


This is held in the fall.


Call Alexander Associates in New York (212)-684-2333 for more

info.


What About The Consumer Electronics Show?


CES is a good place to go too, but it is mainly a

show for retailers and vendors to hook up, so while you'll have

fun playing all the games and looking at the latest gadgets, the

amount of networking you can do isn't as good as the Computer

Game Developers Conference.


What About Comdex/Windows World?


These are business-oriented shows, I've never seen much in the

way of games at either show.


CAN I SELL MY IDEAS?


Write your own game, everybody has ideas.


The fact is, just like in any other creative medium, ideas are

plentiful.  This means it is unlikely a publisher would be

interested in your idea alone. In fact, the way copyright laws

work, they probably won't even look at it because it could open

them up to a lawsuit if you later claim they 'took' your idea.


In order to attract the talent to make the game you will need to

have capital, or some very friendly developers.  However, if

you're reading this, you probably now know that you need to

develop your ideas yourself and that is probably what you had in

mind to begin with.  So, read on!


OK! Enough talk about ideas and getting employed, lets find out

how to turn our ideas into finished games and our finished games

into products!!!!



WHICH LANGUAGE SHOULD I USE?


C/C++


The dominant language of game development is C/C++ for both

Windows and DOS.


Almost every game you see is written in this language originally

developed at AT&T Bell Labs.  C is the original version of the

language and C++ is a newer version, geared toward a system of

programming known as object oriented programming (OOP for short).

C++ programming is not much different from C, so I use the two

together since even most C compilers you can buy will allow for

both flavors of C programming. C is also a great language to

write in because it is easy to move a hit games C/C++ code from

one platform to the other - more so than any other language.

Even though "easier" hybrid languages exist for Windows (which we

will discuss below) C/C++ is the dominant Windows development

language too.


What more can I say - it's the dominant language of game

development.


ASSEMBLY


The Road Runner of languages.


Since it is the fastest language, some Assembly

Language is used.  Assembly is usually used to create subroutines

to call from C/C++ for sections requiring intensive speed.

Assembly language is the most difficult to understand.  The

general law of computer languages states: The lower level the

language, the faster it is, and the harder it is to program in

it.  Don't be discouraged though, learning Assembly is a great

tool; DOOM would not have had it's blazing speed without some

programming in Assembly, and people who know it can accomplish

amazing things.


With its portability and easier learning curve, C/C++ is much

easier than Assembly.  C/C++ like assembly "compiles" to

standalone executable files.


However no one said programming in C/C++ was easy either, just

easier than Assembly, and many people are a little intimidated by

all of the coding required and such.  First, with a little work

and some good books, programming in C/C++ is not as hard as it

seems. Hell - even I know how to program a little in C!  There

are, however, some alternatives to programming in C.


VISUAL BASIC


You mean I can create great Windows products and actually get

some sleep too?


Visual Basic from Microsoft is a hybrid form of Basic written

especially for Windows. VB works in the Windows environment so

you can create neat interfaces and professional looking products.


Visual Basic also has a much easier learning curve. In addition

by learning how to access the Windows API, a special slew of

calls to the Windows Operating System, you can do some nifty

animation and sound effects!


There are also third-party add-on products that extend its VB's

features which are referred to as VBX's.  VB skills can

eventually be used in C/C++, especially concerning API calls.

This makes your skills here transferable to the next level of

Windows programming with C/C++.


However, you should know that VB has its drawbacks. C/C++ is much

faster, and speed in games can be crucial.


I don't think you'll see Doom being created with VB any time

soon.


VB also does not create stand-alone executables like C/C++.  VB

is what we call an interpretive language it doesn't actually

compile.  While you can create "executable stand-alone" versions

of your VB programs (royalty free), your user must also have the

VBRUN300.DLL file in order to use the program. While you can

distribute this DLL (and many users already have it on their

systems) this is an extra burden for VB to carry.


More and more, though I am amazed at the stuff

possible with VB.  I wholeheartedly recommend it to beginners,

and even pro's, to create games.   If you find it too limited or

slow, than just move on to C/C++


ARE THERE ANY OTHER CHOICES?


Yeah! DELPHI!


The other language is Delphi, a recently released hybrid Windows

programming language, from Borland. Delphi is a hybrid Windows

version of Pascal.  It allows you to create full .exe files with

no additional files needed (as opposed to VB) and its very fast.


One note it does require 6mb of memory.



SUMMARY


C/C++ is the leading development language of game creation,

Visual Basic by Microsoft has some merit, especially for non-

action intensive products, and Delphi, a new language for

Windows, by Borland shows promise.  For beginners I recommend

Visual Basic, perhaps Delphi if they know some programming

already.  For people already familiar with VB or other flavors of

Basic or Pascal, go for C/C++ and some Assembly.


ANYTHING ELSE?


It pays to be multilingual.


While you may have chosen one language to become proficient in,

take the time to learn about some of the other languages I've

mentioned.


While you may not want to program in C or Assembly, having a

basic knowledge can help you look at code examples, and gain

ideas for whatever language you're using.  I'm drawing on my

rudimentary knowledge of C to read books about Windows

programming to learn more about controlling Windows from Visual

Basic.  While I can't write a program in C, I can dissect code,

understand so I can learn from it.


Concentrate on one, but pay attention to the others.


WHAT ARE SOME PROGRAMMING BASICS and DESIGN BASICS?


If you're absolutely brand new to programming, you have a lot of

work to do.  Order some more Chinese food and maybe a lot of Jolt

Cola.


One trick: Build your game-developing skills by designing new

levels\scenarios with games that have built-in editors.


For example, learn about wargame design by developing neat

scenarios with Empire Deluxe's scenario editor, or how about a

new level for Doom, using many of the public domain and shareware

WAD file editors?  A list of some of the better

'Designable Games' can be found in the Resources Section.


Learning The Ropes.


What I've provided here is a list of basics specific to game

development that assumes you know programming basics.   If you

don't know basics, like variables, looping conditions, etc. skip

this and come back when you do.  If you've already mastered some

of the basics, here is a rundown of the type of game specific

programming abilities you will want to learn about.  Not all will

be needed depending on your game, but that is for you to

determine.


GRAPHICS


Graphics files can come in many shapes and sizes. You should be

somewhat familiar (if not thoroughly familiar) with the various

formats and how to load them into your program for later use in

animation and such. PCX and BMP are Examples of these formats.


Another point to be made about graphics is that 320 * 200 used to

be the dominant form of games, but with most things progress has

raised that level. Right now the dominant resolution is 640*480

which is also the default Windows resolution.


ANIMATION


Animation in games involves copying sections of the screen to and

from sections of memory that contain the graphics information.

Widely referred to as a BitBlit, it is one of the most basic

graphics programming skills you will need to master.


ARTIFICIAL INTELLIGENCE


AI or Artificial Intelligence concerns the creation of

intelligent reactions by the game's of the situation and the

player's decisions.  Most commonly used to create computer

opponents assessment.  It is not an arcane art and many

established methods have been developed, mostly by game

programmers.


DOS SPECIFIC


Here is a list of the specific items you need to understand which

concern are involved in games for DOS.


SOUND


In DOS, programmers mainly use MidPak and DigPak to create music

and data files and to control their playback.  These programs

allow a developer to write sound routines for multiple sound

board types with one set of code, saving an extensive amount of

programming.


MODE_X


Mode_X is a special VGA graphics mode which displays 256 colors

on the screen at once.  Every game programmer for DOS, needs to

be familiar with

working in this special graphics mode.


Much has been written about it in the books listed in the Book

Section of this FAQ.


FASTGRAPH


FastGraph from Ted Gruber Software is a library of graphics

routines and software which helps with displaying graphics on the

screen in Mode_X, as well as many other useful game-oriented

tools, like joystick reading.  Many programmers use it and the

company offers excellent support.  While it is not necessary to

have this product to make games, many hours will be saved by

using it.   A shareware version of the program, called FastGraph

Lite, is available on the GamDev forum on CompuServe, as well as

on a disk included with Action Arcade Adventure Set, by Diana

Gruber, from Coriolis Books (See Book Section).


DOS EXTENDER


Without going into a dissertation on how DOS memory works, let me

explain what this is.  A DOS Extender allows you to program your

DOS based game without the memory restrictions placed on

traditional DOS programs.  Before DOS extenders came along, games

were limited how much memory, they could use to store graphics,

sound, etc. in the computers RAM. Today's games require 256 color

graphics and sound; this means you will need to use as much of

the computers memory as possible, and thus you will probably need

a DOS Extender.  So, investigate these programs and choose one to

use.  One of the more popular is a product called DOS4GW.


WINDOW SPECIFIC


Here are specific Windows items you should familiarize yourself

with.


THE WINDOWS API


The main component that Windows programmers need to learn about

is the Windows API or Application Programmers Interface.  The API

is a pre-defined set of routines that the programmer can use to

do many things in Windows, from the basic displaying of text in a

window, to the more complex playback of full motion video.

Several good books exist which detail the multitude of API calls.

Even if you plan on using a much higher level language like VB,

you can still make use of the Windows API.  In fact for VB game

development it is absolutely necessary!


Of special interest to Windows programmers are three special new

products that were created specifically to help with the

construction of games in Windows.


WING.DLL


WinG (Win-Gee) is a new version of the Windows API which includes

many new and redesigned API calls specifically geared toward the

intensive graphic and sound requirements of games. Game

programmers for

Windows are especially advised to familiarize themselves with

this new API.


WAVEMIX


This special additional API for Windows allows you to manipulate

multiple .WAV files in real-time for your games.  Windows as it

is does not allow for simultaneous playback of multiple .WAV

files.  With WaveMix this problem is solved.  However, be warned:

WAVEMIX has started life as a non-supported program from within

the ranks of Microsoft.  Recently, problems and bugs have cropped

up.  Microsoft has announced new support for the product, but it

is uncertain at this time when the bugs will be fixed.

Investigate thoroughly if WAVEMIX can work in your program--it

might, it might not.



WINTOON


While not as necessary for Game Development as other products,

WinToon can be a great tool for animationintensive products.


WinToon is a utility whereby you can create animated cartoons

which are stored in the Video For Windows format, making later

playback very easy because of Video For Windows wide acceptance

and extensive existing API.


All three of these items can be found in the WINMM forum on

CompuServe and Via Anonymous FTP at ftp.microsoft.com


WHAT TOOLS WILL I NEED?


As we have already said, creating a game is far more than knowing

how to program.  Games include music, sound, and of course,

graphics.  Therefore there are many other tools and products you

will need to collect before creating your game.  Let's briefly

discuss some of these.


COMPILERS


Let's take a brief moment to discuss 'C/C++' compilers.  You'll

remember C/C++ is the dominant language of game development.  C

however, unlike VB and Delphi, has many different implementations

to choose from.  Here is a run down with the pro's and cons of

the major packages.


Everyone has their favorites, but the most popular version of

C/C++ seems to be Watcom, followed by Borland, and then

Microsoft.


All of the products above have a Linker option which will let you

produce DOS EXEs even while developing in Windows.


Here is a more specific rundown contributed by Chris Newland (so

blame him if you disagree -- actually I think its overall well

done)


Borland C++ 4.5    $495 Retail


If you can afford it ($495 retail, probably more if you are

ordering from another country) this is a really good package.


Some things to be aware of are:


The size of the box is huge!...some people have expressed

difficulty installing it...a resident DPMI extender is used

instead of DOS4GW....However, 6070% of the libraries out there

are Borland Compatible.


Turbo C++ 3.0 DOS    $99 Retail


This is the last great compiler.  From what I hear, Borland will

no longer be supporting their DOS package any longer.  It's got

powerful tools and just about every library on the market

supports it. And once you get a feel for using it, you can easily

zip up a file that has the command line compiler, basic library

files for all memory models, all include files and even one or

two 3rd party libraries in it and still be able to fit it on a

single disk to take with you when you program on another machine.


Be aware of the following:


You don't get a library reference so you will probably have to

buy a TurboC++ specific one....The BGI is slow and limited.... It

comes with NO Windows tools, so if you ever decide to write

Windows games, you will have to get another compiler.


Turbo C++ 3.1 WIN    $89


Hmmm, this is cheaper than the DOS package and it comes with many

more tools...I wonder what Borland is trying to tell us?  This is

a good solid package with lot's of features.  It comes with an

application wizard, written by a 3rd party outfit, that will

develop the shell for your applications totally...leaving you to

do the boring tedium of actual programming.


For your consideration:


This compiler will not link to a DOS EXE....If you develop in it,

make sure you run Windows in High Res SVGA Mode or you'll be ALT-

TABing back and forth.


Microsoft Visual C++ PRO    $229 Retail


Forget the Standard Edition if you want to program games, it

doesn't allow you to compile to a DOS EXE, but the PRO version

does.


As a general Game compiler, I can't say I would recommend this

one and from what I hear, no one uses it for DOS Game programming

either, however, on the Window's game programming front, WING and

the latest CARTOON graphics packages work seamlessly with it. And

of course, they are both by Microsoft.


Symantec C++ 6.1 Standard  $99 Retail/ Pro  $199

Retail


The interface is great.  You have a TAB type interface where each

note tab is a seperate programming function, i.e. EDIT, DEBUG,

etc.. Either version will compile a DOS EXE in Windows, but the

Pro version comes with a DOS Command Line version that allows you

to develop solely in DOS if you want.


However:


Most stores are selling the 6.0 version.  If you buy it,

immediately upgrade to 6.1.  If you don't you will find that

Windows will start crashing in your house and I know you don't

want to step on all of that glass <g>...On the same note, I have

WFWG and if you run 6.0 or 6.1 in it and you have 32bit File

Access turned on, you will TRASH your system.  I had to reinstall

WFWG twice before I figured out what it was. My system ran

slower, but it ran happier.


Watcom C++ 9.0     $199 Retail


This is a good package and most of the games you see that bring

up the DOS\4GW message are using this compiler for development.

I only had 1 oppurtunity to use the compiler and I found that it

was different but still excellent for developing games.


However:


Inline assembly is declared differently in Watcom....DOS Extender

programming requires you to access memory differently as well...a

reference to the screen at address A000 will have to be extended

out to 00A000 to account for the extended memory addressing.

This probably will be changed once in a #DEFINE statement in your

code and you will never think about it again......From what I

hear, Borland libraries won't work with it.


Be careful to make sure that the package you buy has everything

you need, including Windows support. Windows is, as we have said,

the emerging dominant game platform, so you will need Windows

support.


A PAINT PROGRAM


You will definitely need a paint program to create or edit

graphics for your game.  Behind every good programmer even ones

who aren't artists is a good paint program.  My personal

recommendation is:


Deluxe Paint IIe


This program, from Electronic Arts, allows for editing images in

256 colors in many different resolutions.  Also included is a

good conversion program to output your graphics in many different

variations of size and graphic formats.  It also is fairly cheap,

costing less than $100.


Whatever paint program you use, make sure it can output to

different sizes and formats, and additionally be able to paint in

256 colors in

multiple resolutions (especially 320*200 and 640*400).


As I write this update EA has officially discontinued Deluxe

Paint -- however if you act fast you may still locate a copy at

some of the larger mail-order places.  There is also a chance EA

may sell the product to people who want to continue updating it.

Stay tuned.


SCANNING


You may also wish to use a scanner or digital camera to

incorporate drawings on paper.  Just remember: If this is your

desired process, scanned artwork looks like scanned artwork.


Many artists sketch out their artwork in line drawings, then scan

it in and from there add color and other embellishments.


Any developer worth their salt may scan, but they always touch it

up in a paint program to clear up color distortions and imperfect

scans.


Just an additional note here, I was visiting a friend who is an

excellent critic of games -- in fact he is called upon by

distributors when he returns from CES to get his opinion which

they use to decide how much of which games to order.  Anyways we

were talking about game art and looking at his SONY

PSX/PLAYSTATION!!! - the new gamebox from Japan.  He made a point

that I thought is very relevant here -- GAMERS LIKE ARTWORK --

scanned pictures may look more real or whatever but, the fact is

people enjoy art and animation created by artists its part of the

enjoyment factor.  It may seem obvious but it really hits home

when you actually state it.  I’ll say it again people like art.


GRAPHIC CONVERSION


You will also need to get a conversion utility to convert a

graphic file to different formats.  As I said, Dpaint comes with

a very good one.


Debabbelizer, a commercial product is a very powerful and popular

stand-alone graphic conversion utility.


ANIMATION CREATION


Many programmers create animation by programming it directly with


individual frames of animation they've drawn.  However-there are,


some programs which help you create stand alone animated files


which can be used for more intensive animation.


WINTOON


We've already discussed this above.


AUTODESK ANIMATOR


Autodesk Animator is an excellent 2-D program for

creating animation, Autodesk has published several Windows and

DOS programming tools for people interested in creating products

which use these animation programs.


DELUXE ANIMATOR


This product uses the Dpaint engine, but only works in 320x200

mode and creates animation.  Go to the GamePubA forum and

download EA's C source code for controlling playback with your

own routines.


VIDEO CAPTURE SYSTEMS


In addition there are several Video Capture Cards and Programs on

the market which allow you to create digitized video.  The two

major formats for these video files are QuickTime, which was

created by Apple but exists for Windows (and possibly DOS, but

not yet), and VFW (Video For Windows), which was created by

Microsoft and Intel.  Also, look for the book How To Digitize

Video for more information about creating animation of this kind.


3-D CREATION


Looking to create neat 3-D scenes or programs like 7th Guest?

Then you will need a 3-D modeler.


Two of the better DOS-based 3-D programs are:


CALIGARI TRUESPACE


This program was originally created for the Amiga PC more than 5

years ago and is now steadily finding users among DOS-based

machines.


AUTODESK 3-D STUDIO


This was the main 3-D modeling program used by many program

houses before they could afford Silicon Graphics Workstations.


GRAPHICS PROGRAMMING Libraries


Several programming aids are available to help you with creating

graphics from the programmer standpoint, as opposed to the

creator.  We have discussed two of these: FastGraph, from Ted

Gruber Software, and WinG.DLL from Microsoft.


For VB, there is one really popular package called MediaKnife.VBX

It helps VB programmers create really wild graphics by bypassing

VB's internally slow routines.  $349 from Media Architects, (503)

639-2505.



SOUND and MUSIC


The most important feature of doing your own sounds is having a

good sound board and a GREAT MICROPHONE!!!  A key fact, sound

recording, is no matter what the format is, is a good microphone.

Any sound engineer will tell you the same.


SOUND EDITOR


GoldWave


This is a great shareware sound editor I have recently found.

It's available in the WinFun Forum, among other places on

CompuServe.


MUSIC CREATION


Music is the hardest thing to get if you're going it alone and

don't have a lot of money.


A tip here is to use public domain MIDI files, though always

check with the author of the Midi file before including it to

make sure the song is actually public domain.  While a song may

be public domain, the actual arrangement created by the author

may not be.


As for professional composition, post messages on the MIDI or

GAMDEV forums on CompuServe but be prepared to provide proper

compensation: Just like any other worker,  musicians expect to be

compensated.


EDITING MIDI FILES


WinJammerPro


This is an excellent shareware MIDI program I have used a couple

of times.  You can find it in the WinFun forum among other

places.


Music Programming


We've already talked about MidPak and DigPak a little.

DigPak/Midpak costs a one time $1000 fee for use in commercial

programming and free for noncommercial programs.  You can contact

the creators of DigPak/MidPak at there BBS:


The Audio Solution

747 Napa Lane

St. Charles, MO 63304

BBS: (314) 939-0200


There is a new package coming out from MVP Software, a leading

Shareware developer.  Called Diamondwares Soundkit, it will offer

the same functionality of the stalwart MidPak/DigPak, and,

according to the company, have a better royalty arrangement.

Check it out when it becomes available.  I am told that a

shareware version will be made available.


WHAT ABOUT DEVELOPING GAMES FOR OTHER PLATFORMS?


At this point I'll take some time to discuss some issues and

tools concerning game-developing for platforms other than MS-

DOS/Windows.


Much of what we've talked about conceptually applies to any

conceivable platform. Since we've now discussed some of the

specifics concerning MSDOS/Windows development, I will discuss

specifics for Video Game machines, like 3DO, Sony PlayStation

and SEGA, as well as the Mac.


APPLE MACINTOSH


While it has never achieved the success of the IBM\Clone world,

Apple's Macintosh still has a sizable installed base of users who

want to play games.  Indeed, some major products saw their first

version created for the Mac, (Myst, Balance of Power and SimCity,

to name a few.)  However, the Mac, in all seriousness, is best

viewed as a good platform to port wildly successful games from

the IBM/Clone world.


As for languages to use, Mac game development doesn't feature

some of the Hybrid languages like Delphi and Visual Basic.  The

two major development languages on the Macintosh are 'C/C++' and

Pascal. Think C and Zortech C seem to be the most popular brands

of C/C++ and Think Pascal seems to be the dominant brand of

Pascal used.


As for tools, the Mac perhaps has better graphic, and music tools

than the IBM/Clone world.


VIDEO GAME CONSOLES


Without going into much detail, let's talk about developing games

for such platforms like 3DO and SEGA.  These systems were

traditionally, cartridge based and are now becoming solely CD-ROM

based. These platforms are developed to play only interactive

entertainment, and are not computers. Yet now, many are even more

powerful than computers you and I are using, especially

concerning graphical output and sound, which is of course the

basis for games.


Video Game development is accomplished using what is commonly

known as a cross-development-system. A cross-development-system

is one in which a game is programmed on one machine but written

for another one.  For example, I might use a Mac-based cross

development system to create a game for the SEGA. These systems

are sold as "Development Kits" and sometimes are available not

only from the Company but other sources as well.  They can be

very costly.


The best way to find out more is to write directly to the

particular company about what the contents of their development

kits and what hardware they work with.


Keep in mind though that writing a game for a Video Game machine

is expensive; if you can't find a publisher, chances are you

won't be able to publish the game, given the methods of

distribution associated with Video Game systems and the royalties

the manufacturers collect in licensing fees.


If you are successful at creating a computer game, you might,

however--like in Id's case--want to move it to other platforms to

reach a wider audience. Chances are though, if you are in this

situation, You're already working as or with an established

developer.


SUMMARY


Non MS-DOS/Windows development consists of Macintosh and Video

Game System platforms.  Macintosh is a viable, yet less-developed

option because of a smaller installed base, and while Video Game

Systems have a large installed base, development via Cross

Development-Systems can be costly and generally is not

recommended to beginners as an initial foray.



I KNOW A LOT MORE BUT, STILL NOT ENOUGH TO WRITE A GAME.


Well, say no more. I've compiled below one of the best lists

around (if you find a better one, send it to me!!!).  If you

can't learn game development after reading this stuff, then I

don't think anyone can help you.


EDITABLE GAMES


For beginners and pros alike, designing scenarios/variations for

existing games with level/scenario/environmental editors is, as

said above, a great way to build skills.  Many of the online

services maintain sections where you can upload your creations

for others to play and enjoy. Now what follows is not a complete

list by any means, look through your existing software collection

and through new products on the shelves for other interesting

editable games.


DOOM 1.666 Registered and Doom II - Id Software


In order to edit and experiment with levels in Doom, you might

want to check out CyTech CodeHouses, DOOMWARE developers network

CD.  This is packed with WADS, Editors, Sounds, and Graphics.

Sold for $34.95 Call 1-800-382-5656


These products are available at your local reseller or favorite

mail order resource.  All include builtin editors.


Klik and Play: Maxis


This is a game construction kit which helps you make neat

arcadish products, which can be distributed free-of-charge when

you're done.  Example creations exist on CompuServe GamDev forum.


SimCity/SimCity 2000 - Maxis


Another great product from Maxis contains excellent scenarios

editors.


Empire Deluxe - New World Computing


Empire is one of the all-time greatest computer wargames.  It

includes an excellent scenario editor and many examples already

exist on the Net.


Flight Sim Toolkit - DoMark


This product allows you to create your own 3D flight simulators.


Lode Runner - Sierra-OnLine


This is a remake of an all-time great platform game which

includes an excellent editor that can be used to create your own

puzzling platforms.


WHAT TO READ


MAGAZINES


Game Industry/Reviews    Computer Gaming World, PC Gamer

                         Computer Strategy+, GameFan, Edge

                         Wired


General Programming      Dr. Dobbs Journal, CD-ROM Developer

                         Visual Basic Programmers Journal

                         Software Development,  PC Techniques


Multimedia               New Media, Morphs Digital Outpost,                 

                         Multimedia World


Artwork                  Computer Artist, Computer Graphics World


Game Dev Specific        The Journal of Interactive Entertainment     

                         Game Developer, Game Hack Mag - 

                         (available online) and CGDA Newsletter


Others                   Ziffnet Threads (For Ziffnet Subscribers)

                         Zshare (Available On-line GO SHAREWARE)

                         Lots of Shareware Development Coverage


Note: The Journal of Interactive Entertainment Design, published

by Chris Crawford is not available in stores or on line:  Send a

check for $36 to:


Journal of Interactive Entertainment

5251 Sierra Road

San Jose, CA 95132


BOOKS


I've tried to provide as much information as possible to locate

these books at your local bookstore.  I've also tried to give a

brief synopsis of what the book covers and what language you need

to know to understand the source code.  If you can't find them,

or you live far from a bookstore, call the Coriolis Group 1-800-

410-0192.  They not only publish their own books but they also

carry the majority of titles listed here from other publishers.



GAME SPECIFIC

Action Arcade Set by Diana Gruber Coriolis: ISBN 1-883577-06-3

Covers the basics of arcade game creation.  Includes information

about FastGraph, Mode_X.  The accompanying disk includes

FastGraph Lite, the shareware version of FastGraph.  Requires

basic knowledge of C.  Includes some good info on shareware

marketing.

Flights of Fantasy and

Gardens of Imagination by Chris Lampton

Waite Group Press:   ISBN:1-878739-18-2(FoF) 

                          1-878739-59-X(Gardens)

                

Flights of Fantasy, covers the basics of creating 3D flight sims.

It starts with some of the most basic 2d graphics programming

routines and ends up with basics of 3D programming.  Disk

Includes all the source code, and again a basic knowledge of C is

needed.


Gardens of Imagination is Chris's second book and shows you how

to create 3-D games like Wolfenstein and Doom.  It comes with a

disk full of source code and requires a good knowledge of C.


The Black Art of Windows Game Programming by Eric Lyons

Waite Group Press:


Tricks of the Game Programming Gurus by LaMothe, Ratcliff,

Seinatore and Tyler

Sams: ISBN 0-672-30507-0


CD-ROM included


This book dives into the creation of 3D raycasters, sound, midi,

game AI and more.


The CD-ROM includes source code, graphics and more.


Visual C++ Multimedia Adventure Set by Peter Aiken and Scott

Jarol

Coriolis: ISBN 1-883577-19-5.


CD-ROM included.


This book covers WinG and WinToon and other Windows programming

stuff for gamers and multimedia developers.  Topics covered are

full-motion video, animation, music, image manifpulation and

special effects.


PC Game Programming Explorer by Dave Roberts. Coriolis: ISBN 1-

883577-07-1


Dave Roberts has created an excellent introductory book to using

C/C++ to create DOS games.  Explaining ModeX, MidPAK, Keyboard

and Joystick handlers.  The book also goes step by step through

the creation of a shoot’em up game including collision detection,

scrolling screens, memory management and design.


Includes disk of source code.


Teach Yourself Game Programming In 21 Days by Andre LaMothe

Sams: ISBN 0-671-30562-3


Amazing 3D Adventure Set by Lary Myers

Coriolis: ISBN 1-883577-15-2


Includes CD-ROM


This book offers the latest and greatest version of Lary Myers

ACK 3D raycasting engine including graphics, source code and map

editors.  Covers both DOS and WinG versions.  Just a note here if

you've seen versions of ACK before they may be derivatives of the

original 2 year old version this book is the official source code

guide to the latest version.


Programming Windows Games with Borland C++

ISBN 0-672-30292-6


Netwarriors In C: Programming 3-D Multiplayer Games in C by Joe

Gradecki

Wiley: ISBN 0-471-11064-7


Includes CD-ROM.


Netwarrior in C++:Programming 3-D Multiplayer Games For Windows

by Mark Andrews

Wiley: ISBN 0-471-11337-9


Includes CD-ROM.


VISUAL BASIC SPECIFIC


Visual Basic Multimedia Adventure Set by Scott Jarol Coriolis

Group: ISBN 1-883577-01


Covers many aspects of VB useful for game development like Sprite

Animation, WaveMix and Video For Windows.


The Visual Basic Guide To The Windows API by Daniel Appleman.

Ziff Davis Press:


Includes Disk.


This is an extensive book, covers how to call the Windows API

with VB code.


Visual Basic -- Game Programming for Windows

ISBN: 1-55615-503-4


Programming Games for Beginners: Visual Basic for Fun and Profit

by Chris Howard

Published by SAMS

ISBN: 0-672-30313-2


GRAPHICS PROGRAMMING


Encyclopedia of Graphic File Formats. by James D. Murray and

William VanRyper

O'Reily Associates.  ISBN 1-56592-058-9


CD-ROM Included


There have been guides to graphics file formats and then there is

this.  All others pale in comparison. Just some of the formats

included are BMP, TIFF, GIF, Kodak Photo CD, Dore raster file,

Pixar and Rayshade to name a few.


The CD-ROM includes all kinds of source code and vendor tech

documents.



Zen of Graphics Programming by Michael Abrash. Coriolis: ISBN 1-

883577-08-X


Includes Disk.


The Zen master himself Michael Abrash weighs in with all his

ModeX expertise and then some.  Over 1000 pages of awesome

graphics programming power.  The disk includes the latest version

of his Xsharp graphics programming routines.


Bitmapped Graphics by Steve Rimmer

Windcrest: ISBN 0-8306-3558-0


DESIGN TECHNIQUES


The Art of Computer Game Design by Chris Crawford


Originally published by McGraw Hill. This is available in unbound

form.  To order send a $25 check made payable to "Chris Crawford

Games", PO Box 360872, Milpitas, CA 95036.


Balance of Power by Chris Crawford

Microsoft Press: ISBN 0-914845-97-7


This book covers the design concerns, strategies and thoughts

about this classic game of international diplomacy.


Computer Gamesmanship, Elements of Intelligent Game Design, David

Levy.

Simon & Schuster.  ISBN  0-67149-532-1


Focuses on chess, checkers, and poker algorithms.


Artificial Intelligence 2nd edition by Rich and Knight.

ISBN 0-07-052263-4


The Complete Wargame Handbook by James Dunnigan. William Morrow

and Co., ISBN 0-688-10368-5


Game Plan: The Game Inventor's Handbook by Stephen Peek.

Betterway Publications, ISBN 1-55870-315-2


The Art of Wargaming by Peter Perla.

Naval Institute Press, ISBN 0-87021-050-5


Games Programming by Eric Solomon.

Cambridge University Press 1984. ISBN 0-521-27110-X


General theory.


MARKETING


Software People by Doug Carlston. Simon & Schuster ISBN 0-671-

50971-3


This a great book, albeit a little dated, about the early days of

the computer biz and the computer game biz specifically.  Doug

Carlston is president and one of the original founders of

Broderbund Software, makers of such hits as Karateka, Print Shop,

Lode Runner, Living Books and of course Myst!


The Macintosh Way by Guy Kawaski.

Scott Foresman ISBN 0-673-4615-0


Guy was one of Apple's first Evangelists. No not Apples answer to

Jimmy Swaggert. He spent time trying to get companies to produce

products for the Macintosh when it first shipped.  He later went

on to become president of Acius which makes 4th Dimension, a

powerful database product for the Mac. This book is sort of a

neat hybrid of marketing advice and anecdotes from the computer

business.  It is also a laugh riot, Guy is somewhat of a comic.


Managing Software Maniacs by Ken Whitiker


Covers lots of stuff concerning managing software development and

marketing, including some stuff about shareware.


Making Money Selling Your Shareware by Steven C. Hudgik.

Windcrest/McGraw Hill: ISBN 0-07-030865-9


How To Sell Your Software by Bob Schenot.

John Wiley & Sons: ISBN 0-471-06399-1


ONLINE DOCUMENTS


PCGPE.Txt and PCGPE.HLP - The Game Programmers Encyclopedia


This is a document compiled together by a group of regulars from

the Rec.Games.Programmer newsgroup on the Internet and is

available in DOS based (.TXT) and Windows based (.HLP) flavors.

It is a hodgepodge of many different game-oriented programming

articles, like starfield creations, reading joysticks, graphics,

etc.



You can find this on the CompuServe GAMDEV forum among other

places.


Define.zip - A general glossary of game programming terms

available in the CompuServe GameDev forum.


Design Theory Thread - The ongoing discussion on Design Theory in

the GamDev forum which is sort of moderated by game development

master Chris Crawford is now being archived for all of you who

aren’t daily visitors to the forum.


ONLINE SITES FOR GAME DEVELOPERS


COMMERCIAL NETWORKS


America On-Line


AoL has several good things for game programmers.


It is an excellent site for uploads for shareware authors.


In addition AoL has a lot of content stuff like newspapers and

magazines, plus an extensive search engine for wire feeds.


I use this to search for news on Game Development to see press

releases and stories about the industry its an excellent place to

keep up on the business until I start a weekly or find one that

covers it already.


Compuserve


CompuServe has perhaps the best single service for Game

Developers and that is the GAMDEV forum which if you have read

this far is a personal favorite hangout.


In addition here are some other interesting places on CompuServe

to go to.


Go GAMDEV  - The Game Dev Forum


Go GAMERS - Good place to read about what people are playing and

what they like


Go SDFORUM - The sdforum is the hangout for all the major

programming journals including Game Developer


Go SHAREWARE - The official forum of the Association of Shareware

Proffessionals.


Go VBPJ/MSBASIC - These two forums are useful for VB programmers.


Go WinMM - The official Microsoft forum for multimedia/game

development with Windows.


Finnally you might want to GO ZIFFNET.  Ziffnet is a section of

CompuServe which is extra -- $2.95 a month I believe.  It offers

access to many Ziff magazine forums including Computer Gaming

World and you also receive ZiffNet Threads every quarter which

has lots of Shareware entertainment coverage.


INTERNET


These are sites on the Internet from which you can download

various development oriented stuff from via FTP (File Transfer

Protocol).  For more about USENET NewsGroups and FTP in

conjunction with CompuServe GO INTERNET.



USENET NewsGroups


Rec.Games.Programmer

Rec.Games.Announce

Rec.Games.Design

Rec.Games.Video.Programmer

Rec.Games.Video.Sega

Rec.Games.frp.misc

comp.sys.ibm.pc.games.misc



ANONYMOUS FTP SITES CONCERNING GAME DEVELOPMENT


x2ftp.oula.fi

ftp.uml.edu

Ftp.Microsoft.Com


WEB SITES CONCERNING GAME DEVELOPMENT


http://www.coriolis.com/coriolis


The Coriolis group is developing this Web site not only for

selling their awesome books, but they are also turning it into a

great overall resource for Game Developers.  Sooner or later this

document may end up in an attached Web Document on the site.

Check it out and stay tuned.


Bulletin Board Systems


Software Creations BBS--The Home of the Authors.


508-368-7036

508-368-7139


A Division of Linton Enterprises

26 Harris Street, Clinton, MA 01510

Telephone: (508) 368-8654

Fax: (508)-365-7214


O.K. I'M NOW AN EXPERT.  I CAN PROGRAM DOOM III NOW WHAT?


You aren't done yet, its time to order some more Chinese food!

You're far from done.


BETA TESTING


Before you start showing the world your game, you might want to

make sure there are no bugs or problems.


Even with many promised solutions with Windows 95, there are many

slight differences among machines out there.  Even moderate Beta

Testing will let you know if there are any problems.   Beginners:

don't make the mistake of not asking some friends, online or

across the street, to check out your game prior to releasing it,

to make sure it runs properly.


Posting a solicitation on CompuServe for Beta Testers always

seems to bring a response.


If you're really concerned about problems with unknown beta

testers, and if you plan on using use the shareware method

contact the ASP, The Association of Shareware Professionals.

They have a Mentor program setup to help with things like beta

testing.


MANUALS AND DOCUMENTATION


In rushing to create games, many beginners fail to understand it

is important to create documentation for your game.


Either by good Help Files, via a Readme.Doc, or a full fledged

printed manual, at some point your player will have questions.

Remember before you ship, via shareware or even send out a demo

to a company create some good documentation concerning

installation, how to play, storyline etc.  I have seen many games

where the documentation really helps, (e.g. the superb

documentation for Ultima) Poor documentation even if written by a

professional writer can be traced back to the programmer/designer

many times.  Keep notes and include docs.  It is that simple.


I'M WORRIED ABOUT PROTECTING MY IDEAS.  HOW DO I COPYRIGHT MY

GAME?


(Editors Note: Some of this was edited and outright lifted from a

nice earlier piece on game design by Travis S. Casey titled

Design.153, last updated in Nov. 94.   It is available on the

Internet and may be referred to as the Rec.Games.Design FAQ)


If you're in the U.S., England, any Western European Country,

Canada, or Australia, anything you write is considered to be

copyrighted under the terms of the Berne convention that all

these countries adhere to.


A copyright does NOT protect your ideas.   All a copyright does

is protect the expression of an idea. Thus, it's perfectly legal

for someone to take all the rules of, say, Advanced Dungeons &

Dragons, paraphrase them, and eliminate references to Dungeon

Master and a few other terms TSR has trademarked, and sell the

resulting product.


That said, including a copyright notice in your work does give

you one benefit:  it makes it easier to collect damages if

someone does copy your material. If there is no copyright notice,

the copier can claim "innocent infringement" (that is, "I didn't

know I couldn't copy it") and get off with a slap on the wrist.

In addition, you may want to look into registering your

copyright.  In the U.S., at least, this provides definite proof

that you wrote your material first, and allows you to collect

money from copiers beyond simple damages.


OVERALL REMEMBER: YOU CAN'T EXPECT TO HIDE YOUR EVERY IDEA IN

SECRECY OR BEHIND LEGAL FIREWALLS. YOU SHOULDN'T GIVE AWAY ALL

YOUR IDEAS OR SHARE HUGE AMOUNTS OF SOURCE CODE, AND COPYRIGHTING

HELPS. JUST REMEMBER, IN A CREATIVE MEDIUM SOME SHARING MUST

HAPPEN BEFORE YOU WILL GET FEEDBACK.  DON'T BE TOO AFRAID TO

SHARE.


If you only create games for your own play, then stop reading.  I

suspect, however, you want some tips on how to let others enjoy

your work and maybe even make some $$$.


HOW DO I PUBLISH MY GAME?


You can pursue two routes.  The first is submitting it to a

publisher who will then distribute the game. Or you can consider

or self publishing.


I THINK I'LL SUBMIT.HOW DO I CONTACT A MAJOR PUBLISHER?


First off, before you do, you need to realistically ask yourself:

Do I think this is a game a publisher will want.  If not, see

self publishing.


If it is, then here are some tips:


RESEARCH


Do some research, think about which publishers might be best for

your product.  For example, Microprose is well-known as a leading

publisher of Simulation software.  Picking a logical match will

help.


REQUEST AUTHOR INFORMATION


When you have decided on the company, contact them either by

letter or phone, and ask them to send you information about their

guidelines for unsolicited submissions.  Read this and give it to

your lawyer to read it over.


Most likely, the guidelines will include a nondisclosure

agreement which bars you and them from discussing the product

publicly and requires that you submit a demo version for

evaluation.


NEVER SUBMIT SOURCE CODE OF ANY KIND WITHOUT SPECIFICALLY BEING

ASKED FOR IT AND EVEN THEN CONSULT YOUR LAWYER.


GET A LAWYER


I am not a lawyer and I don't play one on TV.  If you plan to

submit a game professionally to a publisher, get a lawyer first--

preferably one with a good background in contract law and

copyright law and, if you can, find one in the computer games

industry.


Now before you go getting the wrong idea, let me explain.  I

refer you to a lawyer not to have you march in a bunch of suits

to do your negoiating for you.  That's a fast way to

nowheresville.


I refer you to them for use as a personal resource, on your end.

A lawyer may never be needed for a face-to-face meeting with your

publisher, but always run contracts and legal documents of any

kind by an attorney.  I had a friend who was once burned in the

GamDev biz becuase he had failed to understand a clause which

held his company responsible for conversion costs and sales.

This actually reduced his overall compensation for their product

which went from good to poor because they were required to port

it to poor selling machines.


Most game companies are on the up and up.  That, however, is no

excuse not to have a lawyer handy to check things out.  Lawyers,

fortunately or unfortunately are a necessary part of the

business.


BE PROFESSIONAL


"Ma'am, we're professionals" - Jake Ellwood


Just remember that submitting your product to a publisher

requires a professional outlook on your part.  Always remind

yourself that this is a serious business.  At times fun, at times

serious.


Type all correspondence.


Send multiple disks, in case of damage.


Make sure you include all background details, manuals and other

necessary materials and be patient-if your game is truly good, a

publisher will eventually take interest.



WHAT IS SELF PUBLISHING?


Self publishing is either Shareware or the commercial creation of

your own company to publish it.  (I won't go into much depth

about this.  If you've got the money to create a retail software

company you don't need my advice!)  Mostly though, self

publishing is SHAREWARE.


WHAT IS SHAREWARE?


Shareware is the hottest software marketing concept since the

album package.


Shareware is the process of giving away a portion of your game,

say 1/3 and from within the product, soliciting, a purchase of

the final 2/3 or full version of the game.


Note:  Some people--including the ASP--hold that the shareware

version can be no different than the full version.  There is no

1/3-2/3 concept.


This is derived from the practive of some Shareware authors who

were shipping products with essential features disabled from

their products.  The technique, known as crippling, is outlawed

by the ASP because it hurts the notion of a full-workingversion

and discourages people from using shareware to begin with.


I would say that this is a very plausible view. However, much

research has shown that without strong incentives, registrations

suffer.  This is a debate that will rage for a long time.


My general rule is that your game should offer a complete

experience in the Shareware version: That it have a beginning, a

middle, and an end, and all the features required for it are

available.  For the registered version, offer an enhanced

version.  Just be careful not to offer an unplayable shareware

version, you will be doing yourself and every other shareware

author a great disservice.


Shareware authors write their game, then after deciding on what

features/levels etc. of the product they will include in their

"shareware" version, give away that portion.  Via uploading to

online networks, BBS's, and the Internet shareware authors make

their game available to millions of computer users (who

subsequently may copy versions and give them to their non-online

friends) for next-tonothing.  Then users download or acquire the

shareware version and if they like it, and feel enough incentive

to upgrade, will usually send a check or credit card order(if you

can accept them), directly purchasing the full version from the

author.


Shareware has been noted recently with the success of DOOM and

other products from companies like APOGEE, EPIC and MVP which

have used the Shareware method.


Shareware's main attraction is the low cost for marketing and the

high margins of direct orders (cutting out the publisher, the

distributor and the retailer means more money per copy for the

creator). It's other attraction is the ability to publish special

interest stuff for example: a sailing, simulator--that otherwise

might not sell in a crowded retail environment.


However, there are downsides to Shareware.  Selfpublishing is a

lot of work, and not every consumer has the means to acquire

shareware versions, and recently it is getting crowded with tough

competition.  On the bright side, the business is still growing

by leaps and bounds.


There is too much to be said about Shareware beyond the simple

stuff I've touched on.


FOR MORE INFORMATION ABOUT SHAREWARE


If you are truly interested in the Shareware method, I implore

you to do the following two things:


JOIN THE ASP


The Association of Shareware Professionals.  This organization,

accessible on CompuServe (GO SHAREWARE), is the best resource for

budding Shareware authors.  There is a ton of information

available about Shareware marketing in their libraries, so fire

up your modem and check them out.


READ


There has been a lot written about Shareware recently, much

concerning its viability, tips on how to be successful at it,

etc.  Most of this is available from the ASP but there are

articles showing up in traditional business publications,

mainstream computer magazines and books.  Shareware is more than

just simply labeling your software SHAREWARE and waiting for the

checks to arrive, so a

few days reading about it will go a long, long way towards being

a successful shareware publisher.


TALK TO OTHER SHAREWARE PUBLISHERS.


As I mentioned before, there are also several successful

shareware publishers, many of whom you can find in both the

GamDev forum and the Shareware forum.  They can offer tips and

perhaps even aid you in publishing your product.  While you will

split your profit, the shareware method they use still provides

higher margins and many will tell you that their established

expertise and distribution networks will result in more sales of

the full version then going it alone.  In addition, they may help

with the development by finding you artists and musicians and

other resources.  However, that is not for me to corroborate and

if you are interested in what these companies have to offer, you

need to contact them directly.



WHAT IS THE BEST WAY TO PUBLISH?


There is no easy answer.


Shareware is all the rage right now, because Id hit it big time

with Doom and Wolfenstein and MVP, Epic and Apogee have created

excellent businesses and the margins are higher.  Remember,

though: Successes of any kind are exceptions to the rule.  The

fact is most shareware products don't make the millions that Id

made.  Don't get discouraged, you may be the next exception, just

be prepared to be happy for a mere trickle of orders.  Shareware

success is about good products and great effort--read the stuff

about shareware I referred you to, and you'll see.


Self-pblishing requires a lot leg work.  Processing orders,

technical support, and so on are going to be big requirements on

your time.  Even if you sell only 10 to 20 copies a month after 2

years, you may have some 500 users.  That is why many people

submit to publishers.  In addition to helping with programming,

publishers can market your game much better than you yourself.



QUICK RULES


In short: Just as in many things in life, there are tradeoffs.

My advice is to follow these rules:


Self-publish via freeware if: (That is, simply give the complete

product away for free)


1.You don't think your product will generate enough sales to be

viable.


2. You don't have a desire for the money you might make.


Self-Publish via shareware if:


1. Your product is good--not good enough for a publisher--but you

still think people will pay for it.


2. If you really are someone who enjoys the idea of creating the

next successful publisher, not just the next great game, and

you're seeking a potentially higher profit margin.


Use a Retail-oriented publisher if:

     1. Your product is good enough.

     2. You want to concentrate on nothing other than making games.

     3. You want a traditional Retail distribution of your product.


Use a Shareware-oriented Publisher if:

     1. Your product is good enough.

     2. You want to concentrate on nothing other than making games.

     3. You want to still use the Shareware method.


WHAT's THE PUBLISHER'S PRESPECTIVE?


We've talked a lot from the developers prespective but the other

side of the equation is equally if not more important.  I asked

Dave Snyder of MVP GAMES to write up a little something about

what goes through his mind as a publisher when he approaches game

development and submissions.  Here's what he had to say:


I cannot give you any general rules on submitting products to

other publishers.  Nor can I give you any general rules on what

publishers look for or what they expect in a submission.


The only general rule is to contact the publisher directly before

submitting a product to find out what is of interest.


Moreover, while every publisher will tell you that they will

consider any type of game, the fact is that most publishers

specialize in certain types of games.  Familiarize yourself with

what types of games a publisher has done well before submitting

anything.


Here's another thing not to expect from publishers these days: an

advance, unless you are an established developer with at least

one hit under your belt.


Advances are big risks for publishers.  All of us, MVP included,

have paid advances at some point in the past and have not gotten

a product in return. Since these days there are more good games

than can possibly sell or even be published, you are selling in a

buyer's market.  Consider that lots of publishers, including

major ones, have faced recent financial difficulties, with more

to come, and you will see that publishers must be very careful how 

they spend their money.


Having said what I cannot tell you, I will say what MVP expects.


First, we want to see at least a demo.  While we don't care

whether the artwork, music or sound effects are polished (we have

professionals to do that), we do want to see a good

implementation of an interesting idea.


And we want to see enough of it to be in a position to make a

decent evaluation.  We are not interested in seeing mere ideas,

generally speaking, because everyone has ideas.  We want to see

some sort of implementation of that idea.


Frankly, we are much more concerned about your commitment to the

project, your ability to pull it off, and your ability to take

direction and criticism, than we are interested in seeing a

polished product.  When a publisher invests in a product, even

without paying an advance, that represents a substantial

commitment of resources.  A publisher is buying you, not just

your product.


You have to convince the publisher that the investment is worth

it.  You should have ideas on how to complete a cool game, but

you had better be willing to listen to direction.  MVP, and, I

suspect, most other publishers, are not interested in prima

donnas.


The world of computer games is as competitive a business as there

is these days.  Unless you are committed to working 80-hour

weeks, for as long as two years or more, don't kid yourself about

trying to break into it.  Most of those who are developing games

full-time have done that.  Lots of others are willing to do that.

That is the norm in any extremely competitive business.  Since

getting an advance will be tough to do, you must be committed to

working your day job, and putting in at least 4 hours a day,

every day, on your game.


No taking Saturdays off.  No parties, no social life-no kidding.

Just a few years ago, people could make it in this business

without making that kind of sacrifice, but that is not possible

any longer.


Finally, consider a small publisher for your first game.  Usually

a small publisher will give you more attention and help than a

large publisher can. Consider shareware, but work with a

shareware publisher.


Even if you hope someday to release shareware games on your own,

work with an established publisher first.  Your game will be

better, you will learn from their experience, and you may find

that you don't especially want to run a business, you want to

just write games.  If you do find that, working with a publisher

will spare you from getting into something you later discover

prevents you from doing what you want.


IS DEVELOPING GAMES THAT BRUTUAL?


Yes and no. Dave certainly conveys the seriousness of the

business and the time it takes and the

competition.


The life of a Game Designer is brutal for beginners, just as any

similar competitive industry is. However as Chris Crawford

pointed out in an Email to me while discussing finishing touches,

approaching it as a hobby much like  photography can be fun!  If

you do something and you think it's really good or you find your

skills are developing to a professional level then maybe the next

step takes you to that level.


Overall, have fun.  Just don't get stary-eyed ideas that your

work will make you a millionaire.  Work hard, regardless of your

goals.


CONCLUSION


Well, I hope you've found the above informing.  I've found Game

Developing to be a big trial-and-error process.


Why?  Because not enough of the know-how has been disseminated

and that makes it difficult to learn, let alone even start.


Game development, unlike a lot of other programming, is at the

forefront of the technology curve.  That is why you see games

pushing the hardware limits of your machine more so than, say, a

Wordprocessor.  So much of what you see done today was figured

out by someone only yesterday.  Thus, it takes time to filter

out.


It is frustrating to have all these ideas in your head and no way

of knowing how to accomplish them. If that is your case, I hope I

have enlightened you enough to motivate you to go out and learn.


Only now have enough books, experts, and tools come together that

give people the power to create their own products.  There are

not too many businesses like that left--surely no one can go out

and make a hit movie with a camcorder.  But even with a 4 meg 386

that, maybe even millions will want to play. Hopefully, with some

devotion, hard work, skill and a little help from (this FAQ)

above, it will be your game.   GOOD LUCK!!!


NOTES


Any one wishing to correct, object or update information in this

file E-mail Corrections to:  Ben Sawyer@AOL.Com or at my

CompuServe Address: 73522,1470 This FAQ will be updated once

every two three months.


Please be sure to include non-email contact information and your

full real name if you are using a screen name and, how you would

like to be named in the donors column.


Submitters remember that this FAQ is a general purpose FAQ aimed

at general game development issues.  Please stick to the basics.

Thanks.


DISCLAIMER!!!!!


ANY ADVICE GIVEN HERE IS NOT LEGAL IN ANY WAY, I AM NOT A LAWYER.

ALL OF THIS ADVICE IS GIVEN TO YOU AS IS AND IS NOT MEANT TO

COVER EVERY ISSUE AND THEREFORE USE IT AT YOUR OWN RISK.  I TAKE

NO PERSONAL RESPONSIBILITY FOR ITS CONTENTS.  I DO NOT TAKE ANY

RESPONSIBILITY FOR ANY OF THE PRODUCTS MENTIONED ABOVE AND HAVE

NOT RECEIVED COMPENSATION FOR LISTING THEM AND TAKE NO

RESPONSIBILITY FOR THERE USE.  HAVE A NICE DAY ;-)



Comments

Popular posts from this blog

BOTTOM LIVE script

Fawlty Towers script for "A Touch of Class"