Absolute Beginner
Frequently Asked Questions
How do you make a program?
A program usually comes in the form of an exe file. The exe
file is created by the compiler and the linker from the source code.
What is source code?
Source code is what the programmer writes. It looks something like
this:
highscore[game]++;
printf("%d\n",highscore[game]);
This source code tells the program to add one to the high score for
the current game, and then print the high score.
Programmers write a lot of source code. It is not unusual for a program
to have 10,000 lines of source code. A very sophisticated game will
have much more.
What is a compiler?
A compiler is the tool a programmer uses to turn source code into an exe file.
Most modern compilers come with helpful tools, like an integrated
editor, and visual programming tools.
What is a linker?
A linker is a program like the compiler. These days, it is usually part of the
compiler. The linker takes care of the linking process. That is the process
by which the source code, which has been compiled, is combined with
certain other resources and libraries, to make the exe file.
Where can I get a compiler?
You can buy one. There are a variety of compilers available, from companies
like Inprise and Microsoft. There are also some freeware compilers available.
Which compiler is the best compiler?
It depends on what you are looking for. Get the compiler you can afford,
and which supports the language and features you want to use. Click
here
for a list of compiler recommendations.
What is a programming language?
Source code comes in different languages. Some popular ones are C, C++,
Pascal (including Delphi), Fortran and Basic. They all have strengths and
weaknesses. Some are easier to learn, some have more powerful features.
Professional programmers are usually familiar with more than one language.
How can I learn a programming language?
You can get a
book
and study it. Or you can get a compiler and study the manual
and try all the example programs. Or you can take a class.
What language should I learn?
That's up to you. If you are just starting, you may find Microsoft's Visual Basic
or Inprise's Delphi a good starting point. If you are serious about a career in
programming, you will want to learn C and C++ eventually. But don't feel like
you have to learn everything the first week. Pace yourself.
What is the difference between C and C++?
C++ uses quite a bit of the same syntax as C, but it adds structure in the form
of "classes". You use C++ to write object-oriented programs. It's a bit harder
than to learn C. I don't usually recommend it as a first language.
What is debugging?
Debugging is what happens when you have a bug, which is a mistake or problem
in your program. Sometimes the compiler catches your bugs and you can fix them
right away. Sometimes the bug doesn't show up until you try to run your program.
Plan to spend a lot of time debugging. Even really good programmers like me
spend a lot of time debugging.
What classes should I take in school?
That's up to you, of course. But I would recommend taking as many classes as you
can in as many subjects as you can. I found these classes particularly helpful:
-
Mathematics (my major)
-
Physics
-
Engineering
-
Programming
-
Logic
Less obvious, but also helpful in your career are:
-
Technical writing (people will think you are intelligent if you can write well)
-
Psychology (it will help you understand what motivates people to buy/play games)
-
Sociology (it will help you understand trends in society)
-
History (strategy games, war games and some simulations rely on this)
-
Literature (games often draw from classic works)
-
Marketing (selling games is very important)
-
Art (games use lots of art)
-
Music (games use lots of music too)
As you can see, just about any class you take will help your game development
career. If you are thinking about dropping out of school to become a game developer,
I would advise against it. You might profit in the short term, but nothing can replace
a good, well-rounded college education. Stick to it.
How much money do game developers make?
There is no limit to what a game developer can make, but to tell you the truth there
are a whole bunch of game developers who aren't making anything. And not because
they have no talent, either. It's a tough industry. You have to be very clever to survive.
The short answer to this question is, "I don't know". But there is some data available
on the IGDN Salary
Survey.
How do you put graphics in games?
There are several ways to do this. Your compiler may come with some simple
graphics capabilities: lines and rectangles and so on. Usually gamers need more
than this in their games. So they use a third party strategy, in the form of libraries,
drivers, and dll's, such as DirectX, OpenGL, or Fastgraph.
I should note at this point, my company develops and markets
Fastgraph. That
is how I make my living. (I also write games).
What is DirectX?
DirectX is Microsoft's answer to graphics and animation for Windows. It has
several parts, including DirectDraw, DirectInput, Direct3D, DirectSound, etc.
It has some advantages: drivers are provided by hardware manufacturers and
support hardware acceleration features. It has some disadvantages as well. The
biggest disadvantage, in my opinion, is how convoluted and tricky it is to use.
There is a significant learning curve associated with DirectX.
What is OpenGL?
OpenGL is an alternative strategy to DirectX, with some differences in
features and strategy. OpenGL is available on a variety of platforms. It
particularly focuses on 3D programming.
What is Fastgraph?
Fastgraph is a general purpose graphics library that works with Windows
or DOS. You can use it with or without DirectX. It is written
in assembly language, so it is very fast.
Fastgraph is good for beginners because it is so easy to use. It is also
powerful enough to satisfy the demands of advanced programmers.For
example, to display a pcx file and paste it to the screen, your
code would look something like this:
fg_showpcx("game.pcx",0);
fg_vbpaste(0,639,0,479,0,479);
There is no function in DirectX or OpenGL that simply displays
a pcx file. Fastgraph gives you lots of functions to do animation
in 2D and 3D. For more information, and a shareware version,
you can click on the banner below.
Will you mentor me?
No. Sorry. I'm busy. Besides, you don't need me to hold your hand.
If you will read all the material on the makegames site, and go to the
links and read all that material, and get a compiler and try it out, and
practice on the examples I gave you, you should do just fine.
Good luck! Now get to work.
Click here to returne to makegames.com.
Copyright © 2000 Ted Gruber Software, Inc. All Rights Reserved.
|