GP Mailing List
     Thread Index
     Date Index

     Thread Index
     Date Index




GameProgrammer Glossary

The Glossary is constantly under construction. Right now it's rather empty... Please send game programming related (or not) terms to: and we'll try to define them and add them to the glossary.




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.


A program that converts a symbolic representation of a machine language program into machine language.



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.


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.


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.


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.


By The Way - A standard acronym used in email, USENET postings, and chats.


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.



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.



Dynamic LInk Library. Microsoft's way of loading libraries at run time.


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.




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.




A handle is a pointer to a pointer.


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.



The Institute of Electrical and Electronics Engineers.


Abbreviation for "In My Humble Opinion."


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.




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.


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.



Microsoft Foundation Classes. Also known as My First Class. A set of C++ classes intended to make it easier to write programs for Windows.


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.


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.


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.



"Problem Exists Between Chair And Computer", which of course refers to the user, Common help desk talk.


The smallest rectangular region of a picture or a frame buffer for which you can specify unique properties such as color and transparency.


The combination of the hardware and all the software that your game runs on.


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.


In programming a pointer is the address of another piece of data. In other words, a pointer variable contains the address of another variable.




Role Playing Game. A game like Dungeons and Dragons.




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


To post flames in a newgroups for the purpose of starting a flame war.



Verblundgalet - fur-blun-ja-let

Totally messed up, like a rat in a blender. Claimed to be a Yiddish programming term.


Video Electronics Standards Association 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.


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.





Copyright 1996, 1997 Robert C. Pendleton. All rights reserved.