Jump to content

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 algorithm for searching through data using heuristics, most usually used for path finding.

(Amit's Game Programming Information)

Abstract Data Type

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


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

Adaptive Learning

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


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


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

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.


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.


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.


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

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.


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.

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.


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.


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.


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.

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.

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.

Binary Operator

An operator(like +, -, *, or /) that take two operands.

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


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.


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.


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.


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.