Game programming

Game programming is part of the game development and describes the process for programming a computer game. Computer games are developed for a variety of platforms including PCs, game consoles and smartphones. The most widely used programming language is C or C , as in the development of games especially the speed is paramount. Especially demanding games need a possible direct and efficient access to the system's hardware, this is especially true for the graphics hardware. For the PC, and now other platforms specific APIs for this purpose were developed. The two most famous for access to the graphics hardware are DirectX and OpenGL. Since these APIs, however, restricted to the bare essentials, developed in the course of time many libraries such as Allegro, SDL, SFML, which are based on DirectX or OpenGL.

  • 2.1 programming Languages

Development process

For a modern commercial computer game programmers often write up to 30 estimated over a million lines of source code. This requires good project planning and the use of version control software, bug trackers and automated build processes.

Planning

A professional game programming is based on the game design document. Because of this more detailed plans for the implementation of the game functions are created. Most phases of development will run through several times, as in all phases repeatedly surface changes. To be able to respond quickly to such changes is of particular importance for the whole project.

Implementation

The source code for a computer game is constructed in the normal case, according to a layered model: At the bottom are the drivers they provide direct access to the hardware. It is a low-level API, such as DirectX or OpenGL is used by probably the most important element in the game project, the overlying game engine, which was mainly composed of the graphics engine, a sound engine, a possible physics engine and other systems for collision, animation, control, network, etc. and composed the core of the game is. A game engine is mostly used for several games and is therefore universally applicable in the limited framework. When lying on the game engine part, you can look at the scripting system that provides a scripting language available and used parts of the game engine, but is used only in specific areas. The conclusion then is the source code for the game logic that is written specifically for each computer game.

In addition, several tools are still programmed, which are designed primarily for the creation of graphic elements, such as a level editor, can be created with the game worlds.

Test

A first playable version of the computer game called Alpha version. A first proposed for the release version is called the beta version, where the definitions here, however, differ somewhat. Both versions are tested by professional game testers for bugs out, which are then repaired by the programmers until at last the finished release version ( RTM) version is also called " Going Gold".

Tools and Supplies

The source code for a computer game can be written with any text editor and then compiled with a compiler. For a professional and effective working process is an integrated development environment, such as MS Visual Studio, Eclipse, Netbeans, etc., which offer a variety of tools for developing software indispensable.

Programming languages

The most important decision factors for the choice of programming languages ​​to be used, the speed, the amount of work, the target platforms and languages ​​in the APIs and libraries used.

When designing a computer game, the question arises, what APIs and libraries to use. This decision depends, inter alia, depend on for which target platform to develop and if you programmed a 2D or 3D game. The probably most important for 3D game programming APIs for Windows OpenGL and Direct3D.

Game programming as a hobby

The most used platforms for the hobbyist development are operating systems for the PC since the game projects for game consoles are often more difficult and more expensive to implement. An exception here offers, for example, Microsoft's XNA game development platform can be developed with the computer games for both Windows and the Xbox easier. Hobby game projects are well suited to gather experience in the field of game programming.

741678
de