Video Game Design/Programming/Framework
From Wikibooks, the open-content textbooks collection
[edit] General Architecture Issues
There is no one size fits all framework for video games. Each game requires a selection of components and strategies for linking them together.
[edit] Choosing an API (Application Programming Interface)
There are a large number of APIs that are suitable for Game Programming. APIs range from specialty (Graphics only, such as OpenGL) to very, very broad (windowing, graphics, networking, etc are available in ClanLib)
- OpenGL -- Specifically, this is a Graphics library. Some other APIs can integrate very nicely with OpenGL (such as SDL). It is also cross-platform.
- DirectX -- A set of APIs by Microsoft, specifically for machines running Windows, though it is on some other microsoft platforms(xbox 1 used an modified version of the directX api). They include sound, music, graphics, input, and networking.
- SDL -- A good C-based library that is very portable, and while pretty low-level, it is complete enough to control sound, graphics, and input (from joysticks, keyboard, mouse and CD-Rom).
- Allegro -- An easy-to-use library for C/C++ programs. Cross-platform (supports Windows, DOS, Mac OS X, UNIX, and BeOS). Provides functions for graphics, sounds, input, and timers.
- ClanLib -- A C++ toolkit and OpenGL 2.0 wrapper.