GameProgrammer
Glossary
The Glossary is constantly under construction. Right now it's rather
empty... Please send game programming related (or not) terms to: glossary@gameprogrammer.com and
we'll try to define them and add them to the glossary.
[A][B][C][D][E][F][G][H][I][J][K][L][M]
[N][O][P][Q][R][S][T][U][V][W][X][Y][Z]
A
API
Application Programming Interface. A set of data and
function definitions that define how programs access the capabilities of a computer
system. DirectX and Win32 are examples of commonly used APIs.
Assembler
A program that converts a symbolic representation of a
machine language program into machine language.
B
Barf
The junk left on the screen or in files
after a program dies. Originally referred to the core dump file generated on early
operating systems.
BIOS
Basic Input Output System. Originally the BIOS was a
small piece of code that resided in ROM on a computer that did two things, it
"booted" the computer and it provided a minimum input/output system, usually
just enough to support character mode communication with simple programs.
Over time the term "BIOS" came to mean any
code stored in ROM on a computer or and add in card. For example, the VGA BIOS is a small
piece of code stored in ROM of VGA cards that provide character output on the VGA screen
and control setting and querying the current video mode.
BLiT
Copying a block of pixels from one place to another.
Originally the name of an instruction on the DEC 10 that was very good for copying pixels.
Boot
I may have this wrong, but I like this story so here it
is. The term "boot" comes from "bootstrap" which comes from the legend
of Pecos Bill. At one time Pecos needed to cross the Brazos river, so he carried himself
across the river by lifting himself up by his bootstraps.
So, to boot a computer or to bootstrap a computer, is
the process by which a computer brings itself up with no outside help. The bootstrap
loader knows how to use the BIOS to find the initial program to run, loads it, and runs
it.
BTW
By The Way - A standard acronym used in
email, USENET postings, and chats.
bugfairy
Someone who reports bugs in you program. Often a
beta-tester. But, if the testing is being done off site then the person who sends bug
reports to you.
C
Compiler
A program that converts another program written in one
programming language into another programming language while retaining the semantics
specified by the original program. Usually used to convert programs written in a high
level language like C++ to a low level language such as assembly language, machine
language, or Java byte codes.
D
DLL
Dynamic LInk Library. Microsoft's way of loading
libraries at run time.
DOS
Disk Operating System. Now days most people use
"DOS" as a synonym for Microsoft's MSDOS. But, MSDOS is just one of the many
different DOSes that have run on many different computers.
In the bad old days computers didn't have disk drives,
in fact Tape Operating Systems (TOSes) were common back then. Before TOSes they had Card
Operating Systems on computers that could only read and write cards. As disk drives came
into use new operating systems had to be written that provided access to files stored on
disk. These new operating systems were called DOSes to distinguish them from earlier
systems.
Operating systems tend to get named after the cool new
features that they have that no OS ever had before. Now days we have the new operating
systems are named after there windowing systems. And, operating systems that use hand
written input are called Pen Operating Systems. If anyone every invents a mind reading
operating system I'm sure they'll call it either a MROS (Mind Reading Operating System) or
a TOS (Telepathic Operating System.)
DOS Extender
MS-DOS is strictly a 16 bit operating system. And, it
can only address 1 megabyte of memory. But, since the 286 came out, low these many years
ago, MS-DOS has been running on machines that could address many megabytes of memory. And,
since the 386 came out, it has been running on 32 bit machines. Ever since the 286 people
have wanted to access all that memory and since the 386 they have wanted to write 32 bit
code.
The answer to all these wants should have been a 32 bit
version of DOS. But for some strange reason Microsoft didn't produce one. They did work
with IBM to produce OS/2, and we know what happened to that...
So the DOS extender was invented. DOS extenders are
mini operating systems that run on top of DOS. The DOS extender knows how to put the
computer into the advanced modes, 16 and 32 bit protected mode, that allow programs to
access all the memory a computer has and allow 32 bit programs to run. And, they mimic the
DOS system calls. They give the program 32 bit versions of all the DOS calls by converting
the 32 bit calls into calls to the original 16 bit calls. They do this by setting up the
16 bit call, switching out of protected mode, back to so called "real mode"
doing the DOS call, saving the return status, switching back to protected mode, and
returning to the program.
So, a DOS extender is a wonderful kludge that lets us
use the processors we paid for the way the designer intended them to be used while
retaining all the value of MS-DOS.
E
F
Flame
A vicious email attack. The term comes from the phrase
"Flame On!" uttered by the Human Torch, a member of the "Fantastic
Four," when he wanted to light his fire and torch off the bad guys. In the early days
of the ARPANET it was common for people to put "flame on" and "flame
off" tags in their email and their mailing list postings to denote angry comments.
Some strange people have come to consider the flame and
flame baiting, also known as "trolling," to be a form of performance art. It is
not uncommon to get fan mail in response to a good flame.
Flame bait
Any of a number of topics that are so emotionally loaded that they
are guaranteed to cause people to flame the poster. One of the most well known examples is
the never ending Mac versus the PC debate.
G
H
Handle
A handle is a pointer to a pointer.
HIMP
Ho Iz Mo Prof - Who Is More Professional! Russian game
programming jargon. An exclamation made by a game programmer when he did something almost
unreal.
I
IEEE
The Institute of Electrical and Electronics Engineers.
IMHO
Abbreviation for "In My Humble Opinion."
IMNSHO
Abbreviation for "In My Not So Humble
Opinion."
Inline Assembler
Since the early days of the z80 and CP/M most
microprocessor based C and Pascal compilers have allowed the programmer to break out of
the high level language and code directly in assembly language. Assembly language code
that is coded inline with high level language code is called "Inline Assembly"
code.
It is a whole lot easier to use inline assembly
language than it is to figure out how to code an assembly language subroutine and link it
too your high level language code. This is especially true when you realize that it used
to be that an assembler cost as much as a compiler so you were likely to have a compiler
and no assembler.
J
K
Kilo
Usually seen as and abbreviation "K" means
1000 to everyone but computer people who think it means 1024. It as been suggested that K
means 1012, plus or minus 12.
L
Linker
Link Editor
A program that takes a set of object files,
concatenates them, and converts all the symbolic links contained in the object modules
into actual addresses. The result is a file that can be loaded and run by the OS.
M
MFC
Microsoft Foundation Classes. Also known as My First
Class. A set of C++ classes intended to make it easier to write programs for Windows.
N
NDA
Non-Disclosure Agreement
An contract in which you agree not to tell disclose
specific pieces of information in exchange for being allowed to know those pieces of
information. Used to control the spread of trade secrets and other intellectual property.
If you ever want to see the documentation for most game
consoles you will have to sign an NDA.
O
Object Module
A linkable file. Usually the output of a compiler or
assembler. Most programs contain references to functions and data that whose interfaces
are known to the compiler but whose definition is not known. An object module is usually a
mixture of machine code and symbolic references to external functions and data.
Operating System, OS
The lowest level software on a
computer. The software that controls access to physical devices. The software that loads
can controls execution of other programs.
Out-of-school-power-tool
Out-of-school-power-fool
A young, bright eyed, highly educated, highly skilled,
enthusiastic worker with no life. A person who is so interested in the work that they will
work long hours for low wages on salary. Guaranteed for 60 to 80 hours per week. Can only
be used for 3 to 5 years before they start asking for a real salary and stock options or
burn out altogether.
P
PEBCAC
"Problem Exists Between Chair And Computer",
which of course refers to the user, Common help desk talk.
Pixel
The smallest rectangular region of a picture or a frame
buffer for which you can specify unique properties such as color and transparency.
Platform
The combination of the hardware and all the software
that your game runs on.
Pflastering
Programming by adding patches and hacks to a piece of code that is
to fragile to modify in any straight forward manner. Usually means you wish you could find
the original programmer and make his life as miserable as he has made yours.
Pointer
In programming a pointer is the address of another piece of data. In
other words, a pointer variable contains the address of another variable.
Q
R
RPG
Role Playing Game. A game like Dungeons and Dragons.
S
T
TANSTAAFL
"There ain't no such thing as a free lunch", meaning that what ever you do,
there's always some kind of trade-off to give, be it time, speed, etc.
Troll
To post flames in a newgroups for the
purpose of starting a flame war.
U
V
Verblundgalet - fur-blun-ja-let
Totally messed up, like a rat in a
blender. Claimed to be a Yiddish programming term.
VESA
Video Electronics Standards Association http://www.vesa.org. VESA is an organization of
electronics manufacturers who establish standards for video displays, monitors, and
connectors. They created the VESA BIOS Extensions that provide established a standard way
of controlling super VGA display cards.
Voxel
A voxel is a volumetric pixel. Let's try that again. A
pixel is a little rectangle that has a color. That's how we draw pictures in a plane. A
Voxel is a little cube that has a color. That's how we draw solids in space. Well,
sometimes that's how we do it.
W
X
Y
Z
Copyright 1996, 1997 Robert C.
Pendleton. All rights reserved.
|