Jump to content

  • Log In with Google      Sign In   
  • Create Account

Game Development Dictionary


  • You cannot add terms

  Term Name Description

3D Engine

A set of code that creates graphics that looks 3D. An engine would have all the necessary components from loading the models and data to drawing them on the screen.

(3D Engine List)


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.


A programming language derived from C, based on Object Oriented Programming (OOP) using classes. The programming model for OOP focuses on the data being used instead of procedures.


A algorithm for searching through data using heuristics, most usually used for path finding.

(Amit's Game Programming Information)


A game programming library which has been ported to a number of operating systems. (WWW)


A series of instructions for performing a task. This is the backbone of all programming.

Artificial Intelligence

Intelligence that mimics human intelligence. The main types of Artificial Intelligence used in games currently are State Machines, Expert Systems, Fuzzy Logic, Genetic Algorithms and Neural Networks.


Application Program Interface. A set of routines which acts as a go-between for the operating system and a program. For instance, DirectX is a Windows API.


ActionScript: A ECMAScript-based programming language used for controlling Macromedia Flash movies and applications. More


Beginners All-Purpose Symbolic Instruction Code. Originally created to teach the basics of programming, it uses a loose type casting system and has been brought back into the mainstream by Microsoft's Visual Basic.

Assembly Language

A low level programming language that uses hexadecimal values in the form of mnemonics. Each mnemonic corresponds to one or a set of instructions which is specific to the processor that the code is being written for. This means that assembly language is not very portable but is extremely powerful for optimizations. In fact many C/C++ compilers today come with inline assemblers for optimization. However unlike C/C++ and other higher level languages, which shields the programmer from a lot of what's going on, in assembly language the programmer must enter every instruction that the computer is to do. That also means that to write anything useful takes many more lines of code.

Adaptive Learning

An artificial intelligence system that can re-program itself based on environmental factors and influences.


A generic term for graphics, sounds, maps, levels, models, and any other resources. Generally assets are compiled into large files. The file formats may be designed for fast loading by matching in-memory formats, or tight compressions for handheld games, or designed to otherwise help in-game use. It is often useful to have an asset tool chain. The original models may be high-density models with R8G8B8A8 images. You may have a model striper and image compresser that reduces the model for LOD, and compresses the texture to a DXT compressed image. These assets may then go through further transformations, and end up in the large resource file.

Big-O Notation

A theoretical measure of the execution of an algorithm, usually the time or memory needed, given the problem size n, which is usually the number of items.

Informally saying some equation f(n) = O(g(n)) means it is less than some constant multiple of g(n). More formally it means there are positive constants c and k, such that 0 f(n) cg(n) for all n k. The values of c and k must be fixed for the function f and must not depend on n.

Bitwise Operators

Operators (such as And, Or, Not, and Xor) that do operations on the bits of an integeral type.

Modification by Michael Tanczos

C/C++ : A & B

Truth Table
      0  1
  0 | 0  0
  1 | 0  1
Translation: Yields true if A and B are true


C/C++ : A | B

Truth Table
      0  1
  0 | 0  1
  1 | 1  1

Translation: Yields true if either A or 
B is true


C/C++ : ~B
NOT is an operator which negates a bit value


C/C++ : A ^ B

Truth Table
      0  1
  0 | 0  1
  1 | 1  0

Translation: Yields true if A and B are different


A set of characters and/or numbers defined within a variable. Used in programming to store data, create matrices, and other. C++ Example: char array[11]="Hello world"; ^ ^ ^ ^ | | | | | | | contents | | | | | number of characters | | | variable name type


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.

Abstract Data Type

A mathematically specified collection of data-storing entities with operations to create, access, change, etc. instances.

Beta Testing

The second stage of testing where software is given to a group of users to test it in a real world environment. Software is usually functionally complete by this point and the goal is to work out the glitches.


An expression resulting in a value of either true or false. In general, zero is considered false while any other value is true. Also used as a variable type in some languages for storing boolean results.


Artificial Neural Net: A structure based on several weighted nodes used to process inputs. Particularly useful to Artificial Intelligence, because they aren't perfectly precise, and can be "trained" in a more realistic fashion.


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.

Alpha Testing

The first phase of testing, where the software is tested in-house. The code is normally mostly functional, but some minor design decisions may still be tested.


An assembler is basically a low level compiler which translates assembly instructions into object code, which can be read by the processor. See also: Assembly language.


A 64K segment of video memory commonly found in older video cards which were made during the times of 16-bit compilers which had a maximum word size of 2 bytes, allowing a programmer to linearly address only 65K of screen space at any time.