Upcoming Events
Unite 2010
11/10 - 11/12 @ Montréal, Canada

GDC China
12/5 - 12/7 @ Shanghai, China

Asia Game Show 2010
12/24 - 12/27  

GDC 2011
2/28 - 3/4 @ San Francisco, CA

More events...
Quick Stats
51 people currently visiting GDNet.
2406 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!
Link to us Events 4 Gamers
Intel sponsors gamedev.net search:
Look Up: (916 Terms)
Browse the Dictionary
Section:
Categories:
Audio (80) Business (59) Community (19)
Design (89) Design Patterns (7) File Formats (32)
Games (64) General (83) Graphics (241)
Hardware (54) Network (41) OS (26)
People (30) Programming (143)
Browse Results: [All], Programming
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*
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
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.
Algorithm
A series of instructions for performing a task. This is the backbone of all programming.
Allegro
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.
ANN
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.
API
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.
Array
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.
Assembler
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.
Asset
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.
Bank
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.
BASIC
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

Operations:
A AND B
C/C++ : A & B

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

--------------------

A OR B
C/C++ : A | B

Truth Table
-----------
      0  1
    /-----
  0 | 0  1
  1 | 1  1

Translation: Yields true if either A or 
B is true


--------------------

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

--------------------

A XOR B
C/C++ : A ^ B

Truth Table
-----------
      0  1
    /-----
  0 | 0  1
  1 | 1  0

Translation: Yields true if A and B are different

bloatware
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.
Boolean
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.
BSOD
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.
C++
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.
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.
CDX
A DirectX 2D, 3D and sound wrapper with some very simple game basics such as tile/map support for 2D and sprite movement. (WWW)
CMS
Content Management System: A backend portal system which assists in the management (creation, deletion and modification) of content on web pages. Some examples are PHPNuke or GeekLog.
CoDec
Short for Compressor/Decompressor. The name used for libraries that will compress and uncompress data in various kinds of ways, such as video and audio.
Collision Detection
A process of determining if two objects have collided by testing their bounds or a spatial overlap.
Collisions
See Collision Detection.
Compiler
A program that translates a computer language into object code which can then be assembled into machine language. This is necessary for programming in all high level languages (like C/C++ and Pascal) which are not interpreted (like BASIC).
crunch mode
The last phase of development when people work day and night to complete the project on time.
C-Script
Formally "WDL". C-style programming langauge used in Conitec's game developing kit "3D GameStudio", available at http://www.3dgamestudio.com
CVS
Concurrent Versioning System: A system for managing simultaneous development of files. It is in common use in large programming projects, and is also useful to system administrators, technical writers, and anyone who needs to manage files. More info at http://www.cvshome.org/
D3D
Direct3D. Part of the API DirectX for Windows, it handles 3D rendering.
DarkBasic
Basic based lenguage made by The Games Creator which features easy direct 3d use provided by his functions
Debug
Debugging is the process of tracking and eliminating errors or bugs from your source code.
Delphi
A visual development environment created by Borland/Inprise, based on Object Pascal. Intended for use in Rapid Application Development.
See Also:Object Pascal
Dev-C++
A popular free IDE (Integrated Develpment Environment) for varius C++ compilers. Comes packaged with the MinGW compiler but can be used with almost any command-line compiler.
Direct3D
A 3D API developed by Micosoft and part of the DirectX SDK. Contains two modes, one working at a higher level but slower which is Retained Mode, and a lower level, faster version called Immediate Mode. (WWW)

See OpenGL, Glide.

DirectDraw
The initial API needed to manipulate anything regarding graphics through the DirectX API. Includes functions on setting the screen size and resolution. (WWW)
DirectInput
The API needed to closely access hardware through Windows, such as the keyboard, mouse, joysticks and joypads. (WWW)
DirectPlay
The API needed to connect over networks through DirectX. (WWW)
DirectShow
The API developed for easily playing media such as AVIs and MPEGs. (WWW)
DirectSound
The API needed to play sounds through DirectX. (WWW)
DirectX
A package of APIs developed by Microsoft to give developers greater control in developing applications for Windows. Individual APIs can normally be distinguished by having the prefix of Direct, as in DirectSomething. (WWW)
DJGPP
A freeware C++ compiler for DOS created by DJ Delorie.
DLL
Dynamic Link Library. Used to contain code that can be ran from executable but does not have to be compiled each time, practical to distributing abstracted functions.
Emergent Behavior
Behavior that was not explicitly designed but occurs from the existing routines. Usually implemented by defining simple rules that allow some overlapping.
Emulation
The act of simulation a set of circumstances out of the original context. Emulators often simulate hardware calls so that different machines can run each others software. This has been seen in the game world by programs like MAME which emulate old arcade machines on current machines and operating systems.
Euphoria
A new programming language. Remarkably simple, flexible, powerful language definition that is easy to learn and use. Euphoria runs under Windows, Dos, and Linux. Available memory usage equals the amount of onboard memory. Not an "object oriented" language yet achieves the benifits of these languages in a much simpler way.
Euphoria
Euphoria is a new programming language. A remarkably simple, flexible, powerful language definition that is easy to learn and use. Euphoria runs under Windows, Dos, and Linux. Available memory usage equals the amount of onboard memory. Not an "object oriented" language yet achieves the benifits of these languages in a much simpler way. The language definition is easy to learn and use.
File Formats
So that files can be loaded by different programs, there are different formats that are adhered to for compatibility. Examples of file formats would be .BMP, .TGA, .JPG, .WAV, .TXT. (Wotsit's Format)
Flowchart
A chart or plan that is used to help out in designing a program by using standard ANSI symbols to present the detailed series of steps needed to solve a programming problem (in chart form).
Foo
Foo is a generic word that game designers use to stand for any object.
FSM
Finite State Machine. A "machine" called every frame to control an object. An FSM can take care of allmost everything by looking at the current state, plus the input provided for it, and thereby achieving a new state.
Function
A group of instructions that perform one or more functions, mathematical or otherwise. (e.g.: main() )
Fuzzy Logic
Developed by Lofty Zadeth (UC Berkeley), it is based on a system of logic what uses 0s and 1s instead of True and False to attempt to more accurately represent a conclusion that cannot be a True or False result.
Game Engine
A program code that runs all aspects of the game.
GDI
Graphics Device Interface. The standard way to do graphics within Windows.
Genesis3D
An open source 3D engine which has recieved a large amount of community support. (WWW)
GLFW
GLFW is a free, open source, portable framework for OpenGL application development. In short, it is a link library that constitutes a powerful API for handling operating system specific tasks, such as opening an OpenGL window and reading keyboard, mouse and joystick input.
Glide
A 3D API developed by 3DFX for their Voodoo chipset.

Glide was once a very popular API, as it was the first available to utilitize hardware acceleration for the general gamer. Since the proliferation of Direct3D and OpenGL, Glide's usefulness has waned because it only works on 3DFX cards.

See OpenGL, Direct3D.

(Glide Underground)

GLUT
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
GUID
Globally Unique Identifier
HAL
Hardware Abstraction Layer. The driver used by DirectX to perform functions using hardware such as a graphics card.
Hash Table
The Hash Table is a data structure which is suited to searching large amounts of information by a key value. Hash tables are most useful with a large number of records are stored, and allow information to easily be located. Hash tables function by processing the key using a function which returns a hash value - this value determines where the the data the particular record will be stored. This same value can then be used to search the hash table, and will point to the same location.
Header Files
A header file is a file that is included into your program source. For Instance: #include "gamestuff.h" Whatever is in gamestuff.h is availible to the program.
HEL
Hardware Emulation Layer. The driver used by DirectX to perform functions that cannot be performed by hardware (and therefore cannot be done through the HAL).
Heuristic
A rule of thumb or educated guess that reduces or limits a search on a domain that is difficult to search.
Hierarchical Artificial Intelligence
Artificial intelligence that is build on several levels, in order to produce concrete and local actions from a global concept or strategy. Mostly used in Real-Time Strategy (RTS) games, in order to simulate military hierarchy.
HLSL
High-Level Shading Language. A C-like language developed by Microsoft for DirectX Graphics. Shader programs, such as vertex and pixel shaders, can be written and compiled in HLSL rather than the various hardware shader assembly languages. The resulting compiled can then be loaded onto modern graphics hardware that supports programmable shaders.
Hungarian Notation
A list of suggested prefixes to variable and function names created by Charles Simonyi. There are different versions for both Visual Basic and Visual C++. VC++: b - boolean operator by - byte (unsigned char) c - char cx / cy - size stored in a short dw - DWORD; double word, unsigned long fn - function h - handle i - integer l - long n - short int p - pointer s - string sz - ASCIIZ string terminated with a zero (null-terminated) w - WORD (unsigned int) x, y - short used as coordinates These can be combined in many cases. For instance, lpsz - long pointer to a null-terminated ASCII string. Visual Basic (almost all Visual Basic notations are three letters long): bln - Boolean chk - Check box cbo - Combo box cmd - Command button cur - Currency dtm - Date/Time (variant) dlg - Dialog Box (also used for common dialog control) dbl - Double (double-precision float) frm - Form fra - Frame hsb - Horizontal scroll bar img - Image box int - Integer lbl - Label lst - List box lng - Long mnu - Menu opt - Option (radio) button pic - Picture box shp - Shape or Line sng - Single str - String txt - Text box vnt - Variant vsb - Vertical scroll bar
IDE
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.
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
See Also:IDE
Initialize
When you initialize a variable, you give it its value. Used in programming. You can define and initialize a variable in one statement to help reduce code size. C++ Example: int num=3; ^ ^ ^ | | | | | value | variable name type
Instanciate
To make a instance of a class. To create a object.
See Also:C++, Object Oriented Designing
Interface
The means by which an entity interacts with something. In programming, an interface is often used to provide abstraction of functions. The interface defines what methods that a function or class MUST possess. This allows the simple replacement of functions with any other function which also meets the requirments, without requiring any modification elsewhere in the program (particular useful when porting to a different platform, or using an alternate rendering system, etc).
Interpolation
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.
Interpreter
A program that executes programs. Different from a compiler which turns a source code into an executable, the interperter will run interpret-compile each command while running.
Java
A cross-platform programming language developed by Sun Microsystems that often used on web pages and is capable of handling graphics.
Lerp
Abbreviation for Linear Interpolation.
Library
A collection of routines that are stored in a .lib file to be used at the linking time and are included in the executable file that is made.
Lua
"Lua is a powerful light-weight programming language designed for extending applications. Lua is also frequently used as a general-purpose, stand-alone language." http://www.lua.org
MaxScript
MaxScript is a built in feature of 3D Studio MAX. Is a very basic scripting language that allow you to customize the program (i.e. Macros). With MaxScript you can add buttons and tabs to the 3D Studio MAX interface, create small automated tasks, program shortcuts or just write a quick script to help you in a everyday task. MaxScript is versitle and very straight forward. You tell it what you would like it to do. It also comes w/ many functions that are in the Max/help/scrips file.
MFC
Microsoft Foundation Class library. This is an API which programmers may use when writing programs for Windows operating systems.
See Also:API
MingW32
A free Windows C/C++ compiler by Mumit Khan.
Minimax
An algorithm for searching through possible moves. Used in turn based AI to calculate best move.
Module
a collection of data and routines that act on the data. It might also be a collection of routines that provides a cohesive set of services even if no common data is involved. Examples include a source file in C, a class in C++, a package in Ada, and a unit in some versions of Pascal.
Morfit
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.
NAN
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.
NLP
Natural Language Processing
Object Oriented Designing
"Object-oriented design involves classifying real-world objects and actions as classes that can be created,manipulated and destroyed. The class should provide an interface,which is used to manipulate objects that are created from the class while keeping as much possible the implementation details hidden from the user.Objects used in OO design usually have to be unique and have functions or methods that can be applied to change its state,or to take advantage of the object's properties. "(Mickey Williams , ESSENTIAL VISUAL C++ 4).
Object Pascal
A Pascal-based object oriented programming language.
See Also:Pascal
OOP
Object Oriented Programming. The paragidm that models data and the functions that operate on that data together(in classes or object types) rather than separately(as functions and variables).
OpenAL
OpenAL is a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications. Visit site for more information.
OpenGL
A graphics API, primarily used for 3D, created by Silicon Graphics which runs on most platform OSes. The prime competitor is Direct3D. (WWW)

See Direct3D, Glide.

Paradigm
A model or pattern. Specifically in programming, the way in which your code is organized, be it functional, modular, or object oriented.
Parallax Occlusion Mapping
Employs per-pixel ray-tracing for dynamic lighting of surfaces in real-time on the GPU. The method uses a high precision algorithm for approximating view-dependent surface extrusion for a given height field to simulate motion parallax and perspective-correct depth. Additionally, the method allows generation of soft shadows in real-time for surface occlusions. Alternatively, POM can be coupled with well-known bump mapping algorithms such as normal mapping if physical accuracy can be sacrificed for greater computational efficiency.
Parsing
The act of extracting strings from a larger string to gather elements that are needed. Usually referred to when extracting data from a text file, which may or may not be formatted specifically for this purpose.
Pascal
A language created to teach structured programming. It was designed by Niklaus Wirth in the early 1970s and named after Blaise Pascal, a mathematician.
Perlin Noise
A function, inveted by Ken Perlin, who invented it to generate textures for the movie Tron (1982). One of the first films to use computer graphics extensively, Tron has a distinctive visual style. He won a special Academy Award for Perlin noise in 1997. Perlin noise is widely used in computer graphics for effects like fire, smoke and clouds. It is also frequently used to generate textures when memory is extremely limited, such as in demos.
PHP
PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. For more information, visit the official website.
Pointer
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.

Python
A high-level general-purpose programming language. It was created by Guido Van Rossum in early 1990. Python is quite commonly referred to as 'executable psuedocode' in reference to it's incredibly simple syntax. Python.org
Qbasic
Qbasic stands for Quick Beginners All-Purpose Symbolic Instruction Code.It was originaly made in 1975 by Biil Gates and Paul Allen. QBASIC is one of many BASIC programming launguages.
QuickBASIC
QuickBASIC stands for Quick Beginners All-Purpose Symbolic Instruction Code.It was originaly made in 1975 by Biil Gates and Paul Allen. QBASIC is one of many BASIC programming launguages.
Quicksort
The most popurar sorting algorithm to sort an array of items.
quicksort
an algorithm used to sort elements in an array. Developed by C.A.R. Hoare, it has an average efficency of 1.4n log2(n) as compared to Insertion, Selection, and Bubble with averages of n(n-1)/4, n(n-1)/2, and
RapidQ
A BASIC compiler/interpreter/IDE by William Yu. It's features are very similar to Visual Basic, and it is easy to use. (It's also free!) For more information, or to get a free download, check out the following address:( WWW)
Recursion
For a computer programmer, this is when a function you've written has to call itself in order to get a result. (The classic, textbook example is a routine which works out the factorial of a number.) It can be very elegant if done right. It can also be a complete bastard to debug if done wrong.
Refactor
To rewrite a piece of code in order to improve structure and/or readability without changing it's external behavior or overall meaning. Refactoring code will often result in simpler code which will potentially be more performant and/or readable than the original version.
Reference
An alias of a variable.
Repro
Short for reproduce. When testing the game, defects are typically logged into a database system. Bugs are then repro'ed (reproduced) according to directions left in the database to help the software engineer(s) locate and correct the defect.
Ruby
Ruby is the interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, extensible, and portable.
Scripting
The process of using an interpreted language, from a "script" file which is normally text, rather than a compiled executable which is binary. Scripting allows for higher level functions which can be changed without having to rebuild an executable.
SCUMM
Script Creation Utility for Maniac Mansion. The first scripting engine based on the "point-and-click" principle, written in 1987 by Ron Gilbert and Aric Wilmunder of LucasArts Entertainment. Still being adapted and enhanced for use in LucasArts' adventure games today.
SDK
Software Development Kit.
SDL
Simple DirectMedia Layer. A cross-platform game programming library. SDL uses the OS's native multimedia support to provide fast graphics, sound, and input processing on several platforms. SDL also provides a portable way to create OpenGL contexts, and can be used as a much more powerful replacement for the GLUT toolkit. SDL currently supports Win32, Linux, FreeBSD, IRIX, MacOS, and BeOS. It is covered by the GNU Library General Public License, and it may be used in commercial projects. SDL's website is http://www.libsdl.org.
shader
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).
Sieve of Eratosthenes
An algorithm to find all prime numbers up to a certain N. Begin with an (unmarked) array of integers from 2 to N. The first unmarked integer, 2, is the first prime. Mark every multiple of this prime. Repeatedly take the next unmarked integer as the next prime and mark every multiple of the prime.
Slerp
Abbreviation for Spherical Interpolation, based on Lerp for Linear Interpolation. Spherical Interpolation is used in Quaternions.
Smalltalk
An object-oriented programming language designed in the early days of Xerox PARC. Popular for its powerful English-like syntax and array of features only now coming to other programming languages (such as Java and C#). More information can be found here. It is extremely unpopular in game development, particularly due to the lack of large corporate backing -- it is nonetheless a good environment for learning and playing with the extremely powerful API.
See Also:C#, Object Oriented Designing
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.

Specular Highlighting
A graphics technique which creates the illusion of light reflected on a surface. A specular highlight is the brightest point on an object.
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).
STL
See Also:Standard Template Library
String
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.
Technical Design Document
A specification for all of the programming algorithms, data, and the interfaces between the data and the algorithms.
Ternary Operator
An set of operators that take three operands. In C, the ternary operators are ? and :, and the syntax for their use is ? : .
Tribology
From the Greek root "Tribos" which means 'to rub'. Tribology is the science or study of rubbing. Used in physical simulations to determine friction of two objects, such as tires on a road for a driving game.

This discipline includes the study of two interacting (sliding)surfaces, the materials that make-up the surfaces, the space between the surfaces and lubricants used to reduce friction between the surfaces. Tribology is used in many industries including Automotive, Research, Manufacturing, and High Tech.

TSR
Terminate but Stay Resident: TSR is when a program terminates, but remains resident in memory.
Tutorial
For game programming turoials of all type go to the: GameDev.net Programming Reference section.
Unary Operator
Operators that take only one operand, like Not, the minus sign, and the plus sign.
Variable
A place in the computer's main memory in which a certain piece of information is stored. Each variable is composed of four parts:

1;
The memory location in which the information is stored
2:
The type of information which will be stored in that location
3:
The information which is stored in that location
4:
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.

Variables
In most programming languages, there are areas of memory abstracted to contain certain values. Since most languages higher than C, do not worry about Registers and Memory Addresses, Variables are an abstract concept for those higher languages to store values that are not constant. In most languages, constants are not much use, as you may be required to gather user input, or change various states of the program. Constants generally include anything not put into variables. Just for further knowledge: [code] six = 4 + 2; # In this fictional example, six is a variable, while 4 and 2 are constants (or atleast as far as the interpretor/compiler is concerned). [/code] Generally the interpretor has the job of alloting various areas of memory for the variables to be put into and referenced from. In some languages (mostly compiled ones) variables may also be put into Registers--however that should be done with utmost caution.
VB
Visual Basic. An extension of BASIC made by Microsoft, often used to create Windows applications quickly.
Vector
1) A resizable array of elements (such as std::vector) 2) A mathematical object, usually in 2D or 3D space containing position elements of the same order. A vector is different than a point of the same magnitude in that it generally assumes movement from the origin of the coordinate system to the specified position.
Visual C++
An Integrated Development Environment used to create C++ programs.
See Also:IDE
WDL
WDL stands for "World Definition Language". WDL scripting is used to make interaction in 3D game programming. WDL is used with the powerful "Acknex" game creation system created by Conitec at conitec.com.
Wrapper
A set of code that creates an interface for another set of code. For instance there are many kinds of wrapper for DirectX which simplify initialization and other processes.
XBasic
A true compiler for the BASIC language by Max Reason. www.xbasic.org


Home
About
Contributors
Add Definition


The Game Dictionary™ is a trademark of GameDev.net LLC. No duplication, reproduction, or transmission of the Game Dictionary or its content is allowed without the consent of GameDev.net LLC.