GameRDK aims to create a simple, modular, easy to use, low overhead environment to quickly develop your own game's engine. It focuses less on features for a specific genre, and instead focuses on making low-level features more easily accessible, so that you can create these genre-specific features yourself.
GameRDK aims to be cross compatible, but as true cross compatibility is a dream rarely achieved, we are going to state a defined goal for our cross compatibility: Windows XP or later, Linux (Ubuntu and Debian) and Mac OS 10 or later.
The entire RDK is organized in a modular fashion, with most elements being entirely optional. Modules can dynamically detect each other- to add or remove one, simple add or remove it from your project/solution.
GameRDK::Core is the only required module. It contains core and configuration information, as well as functions for modules to cross-detect and support each other.
GameRDK::Platform is a module that provides cross platform support for basic things like directory structure, creating windows, and similar.
GameRDK::GLW is an OpenGL wrapper aimed at simplifying this finite-state machine into something more comfortable for OO programmers. Can be used with raw structure information, but it also dynamically detects and supports GRDK::GLTypes.
GameRDK::GLTypes adds several helper classes such as Texture, Material, Light, Shape, etc to make passing information to GDRK::GLW much more comfortable.
GameRDK::Audio is an interface module that makes interfacing with audio libraries simple. There is a premade interface for the audio library Audiere (http://audiere.sourceforge.net/). Keep in mind that using this interface will require you accepting Audiere's license in addition to GameRDK's own terms.
GameRDK::Input is a cross platform input module, supporting Keyboard, Mouse, and most gamepads.
GameRDK::Font is an interface module that makes interfacing with font libraries simple. There is a premade interface for the font library FreeType (http://freetype.sourceforge.net). Keep in mind that using this interface will require you accepting FreeType's license in addition to GameRDK's own terms.
GameRDK::GUI is a GUI library that allows rapid development of common game GUIs. It includes several widgets to get you started, and is easily extensible.
GameRDK::Camera is a control library for the GLW camera object, providing several commonly used features for camera control.
GameRDK::Mesh is a library for loading of various model formats and animation support.
GameRDK::Physics is an interface module that makes interfacing with physics libraries simple. There is a premade interface for the physics library Bullet (http://bulletphysics.org/). Keep in mind that using this interface will require you accepting Bullet's license in addition to GameRDK's own terms.
GameRDK::Character is a basic character control library that makes getting your game to a playable state a much simpler task.
GameRDK::Terrain is a basic vertex terrain module that allows generation and manipulation of game world terrain.
GameRDK::Multiplayer is a basic networking library that allows communication between client->client, client->server, or server->client.
GameRDK::Network is a networking library that allows http file retrieval, http text import, and MySQL database access.
GameRDK is released under the Attribution Assurance License. Click here to read the [License].
It is quite liberal - the only right I have reserved is that you must visibly credit me somewhere in your application (and/or in source code, if you are distributing source).
For those of you that wish to help maintain this wiki, it uses the Markdown syntax.