Microsoft Store
 

Game programmer


 

A game programmer is a software engineer who primarily develops computer or video games or related software (such as game development tools). Game programming has many specialized disciplines; practitioners of any may regard themselves as "game programmers". A game programmer should not be confused with a game designer; many designers are also programmers, but not all are, and it is rare for one person to serve both roles in modern professional games.

Languages and tools

Most code in commercial computer and video games are written in C++, C, and some assembly language. Most games, especially console games, tax the hardware to its limit, and tight, optimized code is required in order to allow the game to run at its target frame rate of 30 to 60 frames per second, therefore compiled rather than interpreted code is usually used. Almost all PC games also use either the DirectX or OpenGL APIs to interface with hardware devices. Xbox games use an API similar to DirectX.

Related Topics:
C++ - C - Assembly language - Frames per second - Compiled - Interpreted - PC - DirectX - OpenGL - API - Xbox

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Various script languages are also used for the generation of content such as artwork and especially AI. Scripts are generally executed by an interpreter, resulting in much slower code execution than compiled C++, C or assembly code. Scripts are therefore sometimes used sparingly, mostly for content design and not for modules where high speed is critical such as rendering logic. Some games are designed with high depedency on scripts; the scripts are compiled to binary format before game execution so they can execute with little degradation compared to native code. In the optimization phase of development, some script functions will often be rewritten in a compiled language.

Related Topics:
Script language - Interpreter

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Java is used for many web browser based games because it is cross-platform, does not usually require installation by the user, and does not pose security risks, as may a downloaded executable program. Java is also the dominant language for mobile phone based games. Macromedia Flash is also a popular development tool for browser-based games (there is some debate as to whether Flash actually constitutes a "language," but it is a popular web-based game development medium).

Related Topics:
Java - Web browser - Cross-platform - Security - Mobile phone - Macromedia Flash

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

As games have grown in size and complexity, middleware is becoming increasingly popular with the industry. Middleware provides greater and higher level functionality and larger feature sets than the standard lower level APIs such as DirectX and OpenGL, such as skeletal animation. In addition to providing more complex technologies, some middleware also makes reasonable attempts to be platform independent, making common conversions from, for example, PC to PS2 much easier. Essentially, middleware is aimed at cutting out as much of the redundancy in the development cycle as possible (e.g. writing new animation systems for each game a studio produces), allowing programmers to focus on new content.

Related Topics:
Middleware - API - DirectX - OpenGL - Skeletal animation - Platform independent - PS2

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Other tools are also essential to game developers: 2D and 3D packages (for example Photoshop, Maya and 3D Studio Max) enable artists to produce cutting edge art and animations; source control systems keep precious code safe, secure and optimise merging; and IDEs with debuggers (such as Visual Studio or CodeWarrior) make writing code and tracking down bugs a less painful experience.

Related Topics:
Photoshop - Maya - 3D Studio Max - Source control - IDE - Debugger - Visual Studio - CodeWarrior

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

~ Table of Content ~

Introduction
History
Disciplines
Platforms
Experience needed
Compensation
Job security
Languages and tools
Notable game programmers
See also
External links

 

 

~ What's Hot ~


~ Community ~

History Forum
Come and discuss about History, Civilizations, Historical Events and Figures
History Web-Ring
A community of sites, blogs and forums dedicated to History. Do not hesitate to submit your site.