Jump to content

  • Log In with Google      Sign In   
  • Create Account

Game Development Dictionary


  • You cannot add terms

  Term Name Description


The name for a group of more than one characters stored as a single unit. Often stored in classes or as an array of characters in memory ending with a "null terminating" character.


Terminate but Stay Resident: TSR is when a program terminates, but remains resident in memory.


A 3d engine developed in the late 1990s based on DirectX. Now known as 3d State. It has generated a large following of programmers and is praised for it's ease of use and compatability with many programming languages and compilers such as Microsoft Visual C++, Borland C++, Delphi, and Visual Basics. More information can be found at thier website at www.3dState.com.


An approximation between two known values. In graphics, this is a process in which the software increases the resolution of an image by first filling the image with blank pixels and then coloring the blank ones based on the color values of its surrounding pixels.


Not a Number; usually refers to the result of an unsuccessful floating point operation. A NaN is generated when the result of a floating-point operation cannot be represented in Institute of Electrical and Electronics Engineers (IEEE) format. To check if a floating point value is Not A Number, use the function _isnan(). NaN is also the name of a 2D game engine created by Andrei Bazhgin. View the website here.


The OpenGL Utility Toolkit. This set of libraries provides a set of helper functions to OpenGL, including methods to abstract the windowing system (for cross-platform development), rendering "standard" 3D objects, etc. For more info, visit the GLUT homepage

Carmack's Reverse

Refers to a modification to Heidmann's original stenciled shadow volumes technique generally attributed to John Carmack, although others came up with the same modification at about the same time. Rather than incrementing and decrementing for the front and back faces (respectively) when the depth test passes, the method increments for back faces and decrements for front faces when the depth test fails. This prevents shadow volumes from being clipped by the near plan, but introduces the problem of them being clipped by the far plane.

You can find out more about the algorithm here.

Infinit Loop

This is a condition when a cycle does not terminate. In programming, infinit loops are caused when the termination condition cannot be meet due to a coding error. The following are infinit loops would include: // No termination condition for(;;) { // No termination, has nothing to stop the loop } // Unreachable termination condition for( int i = 0; i != -1; i++) { } // Constant true condition while(1) { } // Incorrect use of operators while(i = 4) { } The above are just a few conditions that will cause an infinite loop. See: Infinit Loop


Formally "WDL". C-style programming langauge used in Conitec's game developing kit "3D GameStudio", available at http://www.3dgamestudio.com


An assembly-like program which replaces part of the rendering pipeline with custom code. Shaders that affect vertices (vertex shaders) replace the normal transformation and lighting stage of the pipeline, while shaders that affect pixels (pixel shaders), work at the rasterization stage, affecting how the final screen color is determined. Shaders are supported in DirectX 8 and later, and in OpenGL through extensions (and as part of the proposed OpenGL 2.0 standard).

Standard Template Library

The STL is a set of template classes included as part of the C++ standard library. They provide support for standard containers (such as linked lists, hash tables, and dynamic arrays) and algorithms (such as sorting and searching).


Object Pascal

A Pascal-based object oriented programming language.


A visual development environment created by Borland/Inprise, based on Object Pascal. Intended for use in Rapid Application Development.


Software that is needlessly large in size, that is, requiring a noticable amount of hard drive space (for installation) and RAM (while running). Bloatware is created by the inclusion of more than the necessary features for a particular program.


A pointer is a variable which stores the memory address at which certain information is stored. A pointer may hold the address of another variable, an object, a function, or other important data.

source code

In compiled languages, such as C++ and Java, this is the set of instructions which the programmer types and edits. Source code is not understood by computers.

One of the advantages of source code is that it is easy for a person to read and understand. A computer needs its information in the form of numbers. But 0068 3A6C doesn't make much sense to most people!

So when creating a program, the programmer uses instructions such as "currentHitPoints -= damageAmount;". This is much easier to understand than 06FF 3D4A! A compiler later converts these instructions into a form which a computer can understand.


Microsoft Foundation Class library. This is an API which programmers may use when writing programs for Windows operating systems.


An Integrated Development Environment. An IDE consists of all the basic tools a programmer needs to create a program. Typically, an IDE consists of a text editor, a compiler, a debugger, and other necessary tools.

Visual C++

An Integrated Development Environment used to create C++ programs.


Acronym short for "Blue Screen Of Death", commonly displayed after a major system error under numerous versions of Microsoft Windows. Seeing a BSOD generally means a reboot is soon to follow.

crunch mode

The last phase of development when people work day and night to complete the project on time.


An algorithm for searching through possible moves. Used in turn based AI to calculate best move.


A place in the computer's main memory in which a certain piece of information is stored. Each variable is composed of four parts:

The memory location in which the information is stored
The type of information which will be stored in that location
The information which is stored in that location
An identifier (The name of the variable) When the programmer declares a variable, he is telling the computer to set aside a certain amount of space in memory. The computer needs to know how much space to set aside, and the programmer gives this information by declaring what type of information will be stored. (Some types of data require more space in memory than others.)

The programmer must also have some way of keeping track of which information is stored in which location. Modern computer games require tremendous amounts of information. Keeping track of the exact memory location of each piece of information would be tedious. So the programmer assigns the variable an identifier. This is the name by which the programmer will refer to the variable.

Suppose a programmer needs to retrieve the hit points of a character named Toadbottom. If the programmer needed to refer to this as "the information stored at 00FF 92CA" it would be a nightmare. But by using an identifier, the programmer could refer to this information as "Toadbottom.hitPoints", or something equally nice.


Globally Unique Identifier