Libraries

From GDWiki

Jump to: navigation, search

Libraries are split into the following categories:

Contents

AI

Name Language Platform Description
ABKit C++ MacOSX, Linux & Win32 Open Source (GPL)
AI.implant Commercial.
AI Loom C++ Open Source (LGPL). Website not working as of 4th December 2005. Last updated 2003.
DirectAI MacOSX, Linux & Win32 Redirects to the source code for an AI textbook.
FEAR C++, Python, Scheme All Win32, All POSIX (linux, etc) GPL, Other/Proprietary License
GAlib
Louder Than A Bomb
LPA
Memetic AI
OpenAI Java & C++ BSD License. Last updated 2003.
OpenSkyNet
Renderware AI
SPADES
GAUL: Genetic Algorithm Utility Library. C++ Unix Like Platforms Open Source (GPL)
AINN C++

Audio

Name Cost Language Platform Modes File Format
Audiere LGPL C++, Python, Delphi, Java Windows, Linux, IRIX 2D MP3, OGG, WAV, FLAC, MODs*
BASS 100-950€ per project, free noncommercial C/C++ Windows, Mac 3D, 2D MP3, OGG, WAV, AIFF, MODs*
Dumb Freeware C/C++ Windows, Mac, Linux, BEOS 2D IT, XM, S3M and MOD, OGG <-- Via Extension
FMod 1000-4000$ per project, free noncommercial C/C++ & C# Windows, WinCE, Mac, Linux, PS2, XBox, GameCube 2D, 3D MP3, OGG, WAV, AIFF, MODs, WMA*
Hekkus SoundSystem Donationware C/C++ WinCE, Win32, Symbian, .NET 2D, 3D Wav (+ ADPCM compressed), OGG.
irrKlang 65-390€, free for non-commercial C++ Windows, Mac, Linux 3D, 2D MP3, OGG, WAV, MODs *
libMikMod LGPL C/C++ Win32 and most Unixes 2D 669, AMF, APUN, DSM, FAR, GDM, IT, IMF, MOD, MED, MTM, OKT, S3M, STM, STX, ULT, UNI, XM.
OpenAL LGPL C/C++ Windows, Mac, Linux, BSD, Solaris, IRIX, PS2, PS3, XBox, XBox360, GameCube 2D, 3D Wav, OGG, MP3 <-- Via Extension AL_EXT_MP3
PortAudio Free (open-source) C/C++ Windows, Mac, Linux, FreeBSD, Solaris, Irix 2D  ?
SDL_mixer LGPL C/C++ Windows, Mac, Linux 2D Wav, ???
SDL LGPL "Note SDL 1.3 will have commercial licenses option" C/C++ Windows, Mac, Linux 2D Wav, ???

Character Animation

Name Language Platform Description
Cal3D C/C++ Cross-Platform??? Cal3D is a skeletal based 3D character animation library written in C++ in a platform-/graphic API-independent way.
EMotionFX C/C++ PC, Mac, Linux, Xbox360, other Nextgen consoles EMotion FX is a realtime character animation system designed to be plugged into any 3D engine, game or any other product.

EMotion FX supports next generation multi-core, multithreaded consoles and PC as well as single threaded environments.

Compression

Name Language Platform Description
BCL C Windows, MacOS X, Linux The Basic Compression Library is a set of open source implementations

of several well known lossless compression algorithms. Currently, RLE (Run Length Encoding), Huffman, Rice, Lempel-Ziv (LZ77) and Shannon-Fano compression algorithms are implemented.

bzip2 C, C++ Cross-Platform Good compression, Many bindings for other languages
unrarlib Cross-Platform Good compression
zlib C, C++ Cross-Platform Fast compression, Many bindings for other languages
LZMA C, C++, C#, Java Cross-Platform The one that 7-zip uses, Good and fast, Open Source
gzip C, C++ Cross-Platform Fast compression, Open Source, Many bindings for other languages
lzo C, Perl, Python, Java Cross-Platform Very fast decompression, Small memory footprint, Open Source

GUI

Name Language Platform Description License
AntTweakBar C/C++ Windows, Linux AntTweakBar allows programmers to quickly add a light and intuitive graphical user interface into graphic programs to interactively tweak them. It is a small and easy to use library that can be readily integrated into OpenGL and DirectX applications. zlib/libpng license
Crazy Eddie's GUI System C++ Windows, Linux, Mac OS Crazy Eddie's GUI System is a free library providing windowing and widgets for graphics APIs / engines where such functionality is not nativley available, or severely lacking. The library is object orientated, written in C++, and targeted at games developers who should be spending their time creating great games, not building GUI sub-systems! LGPL, MIT
GTK+ C/C++ Windows, Mac, Linux and other UNIX variants GTK+ is a highly usable, feature rich toolkit for creating graphical user interfaces which boasts cross platform compatibility and an easy to use API. There is a OpenGL extension to GTK+ 2.0 or later called GtkGLExt LGPL
gtkmm C++ Same as GTK+ above A very nice C++ wrapper for GTK+ LGPL
Guichan C++ Windows, Linux, Mac OS Guichan is a portable C++ GUI library designed for games using Allegro, HGE, SDL and/or OpenGL BSD license
OpenGUI C++ Windows, Linux coming soon Extendable widget based GUI framework for 3D applications. Works with any graphics API or render engine. Comes with reference implementations for OpenGL and the Ogre rendering engine. Library is written in C++, aimed at game developers. BSD license
Qt C++ Linux and other UNIX variants, Mac OS X, Windows GPL, Qt Commercial license
Tk TCL, Perl, Python, Ruby, others *nix, Win32, Mac OS X A non-native (Motif-look) toolkit coupled closely with Tcl BSD-style license
wxWidgets C++, Python, Perl, C#/.NET Linux, Windows, Mac OS X, WinCE wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. wxWindows license (the LGPL with an exception to the distribution of binary form)
UIX C++ Windows, Linux and Mac coming soon... Provides an SDL-based GUI system in C++, trying to stick to the SDL standards as much as possible, also contains other features such as surface scaling, repeating, ... LGPL v2.1

General Multipurpose Libraries

Name Language Platform Description
Allegro C/C++ DOS, Unix (Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS and MacOS X Allegro is a game programming library for C/C++ developers distributed freely. It provides many functions for graphics, sounds, player input (keyboard, mouse and joystick) and timers. It also provides fixed and floating point mathematical functions, 3d functions, file management functions, compressed datafile and a GUI.
Amaltheia C/C++ Linux, Windows Amaltheia is a cross-platform game programming API that supports two backends, OpenGL and DirectX. The aim of the Amaltheia project is to create an intuitive and simple to use library, providing core 3d and 2d functionality in a platform independent manner. It also provides platform independence regarding basic network functions, input handling, threads and sound. Currently the GNU/Linux and the Windows OSes are supported.

Amaltheia library has the advantage of using the native graphics system (DirectX under Windows, OpenGL under Linux), thus achieving maximum performance. Developers using Amaltheia dont need to take care of the underlying details (be it Win32 or Linux). Amaltheia hides the differences through its API. The developer writes a unique code for the games/application that compiles and executes in both OSes.

ClanLib
DirectFB
DirectX C/C++ & .NET
G3D Win32, OS X, Linux Free library for managing graphics, networking, model loading, and basic 3D support code for games in C++.
GLFW C, Python GL Framework. Windows, Linux, SGI Irix, FreeBSD, SUN Solaris/SunOS, QNX, Mac OSX, AmigaOS, MS-DOS OpenGL Windowing framework with high-resolution timers, TGA loader, optional callback input routines
JGT Java Multiplatform Focuses on higher-level primitives for writing games in Java. LGPL license
Kyra C/C++
NeL
OGLWFW C++ Windows OpenGL Window Framework. Window framework for OpenGL supports multiple windows, querying display modes, zlib license
PLIB
Prototype JavaScript Any platform that runs IE6/7, Safari or Firefox Prototype is a JavaScript Framework that aims to ease development of dynamic web applications.
Pygame Python Everywhere SDL runs. Basically a Python-wrapped SDL. Plus some assorted features.
SDL C/C++
SxDL C++ MS Windows and MS DirectX SxDL is a powerful and an easy to use 2D and 3D Game Development Framework for MS Windows and MS DirectX.
SFML C/C++/D/Python/Ruby Windows / MacOS X / Linux SFML is a free multimedia C++ API that provides you low and high level access to graphics, input, audio, etc.
Tao Framework .NET / Mono Windows(.NET), Linux / Mac OS X / Solaris / et al (Mono) Mono / .NET bindings for several APIs and libraries, including OpenGL, OpenAL, Lua, SDL, GLFW, FreeGLUT, PhysicsFS, ODE, Cg, DevIL, and the Windows API.
TEKlib
Indiana Adventure Game Engine D Tested: Linux & Windows, probably Mac and other popular platforms work too (or short: Everywhere where D and SDL run) Does nearly everything you need in order to get a 2d-adventure game up and running. You just specify the user interface, the graphics and story/puzzles. (ie the fun part ;))

Graphics

Name Language Platform Description
Allegro C/C++ Windows, Linux Cross platform games programming library.
DirectX C/C++/.NET/VB Windows, XBox The Direct3D and DirectDraw components of DirectX are used for 3D and 2D rendering in most Windows platform games.
Gorgon C#/.NET Windows A 2D graphics library for .NET that uses Direct 3D (via SlimDX) for hardware acceleration. It includes standard 2D graphics functionality, a virtual file system, pixel/vertex shader support and tools for content management/creation.
Irrlicht C/C++/.NET Windows, Linux, Mac The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.
OpenGL C, but bindings exist for most languages Windows, Linux, MacOS X A low-level 3D graphics library. Most other 3D libraries use either this or DirectX to do their actual rendering.
SDL C, but bindings exist for most languages Windows, Linux, MacOS X SDL (Simple DirectMedia Library) is a cross platform library designed for simple 2D graphics. It also provides basic input and sound functions and is able to use OpenGL for 3D rendering.
SlimDX C#/.NET Windows An open source alternative to the now unsupported Managed DirectX. SlimDX surpasses Managed DirectX in that it is written using .NET 2.0, and includes support for newer APIs like XAudio and DirectX 10.
OGRE C++/.NET Windows, Linux, MacOS X An open source 3D rendering engine. Capable of using DirectX or OpenGL.
Beta Cell C# Windows, XBOX360 A free computer graphics toolkit capable of composing effects at runtime with

lots of documentation

Open Scene Graph C++ Windows, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX, FreeBSD An open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling.

Image

Name Language Platform Description
Anti-Grain Geometry (AGG) C++ Platform independent Anti-Grain Geometry (AGG) is an Open Source, free of charge graphic library, written in industrially standard C++. AGG doesn't depend on any graphic API or technology. Basically, you can think of AGG as of a rendering engine that produces pixel images in memory from some vectorial data.
corona
CxImage
DevIL
[freeimage.sourceforge.net FreeImage]
TGTL The Game Texture Loader C++ Windows Not API specific; supports OpenGL, D3D and other software renders : Load BMP, TGA, PNG, JPG, DXTn compressed. ZLIB license.
J2K-Codec
Open JPEG C Platform independent an open source JPEG 2000 codec
ImageMagick
libjpeg
SDL_Image
libpng
paintlib C++ - Images can be loaded from BMP, GIF, IFF, JPEG, PCX, PGM, PICT, PNG, PSD, SGI, TGA, TIFF and WMF files and saved in BMP, JPEG, PNG and TIFF formats.
Simple OpenGL Image Library (SOIL) C Windows tiny C library for OpenGL. Load: BMP, PNG, JPEG, TGA, DDS (DXT1/3/5), PSD, HDR. Save: TGA, BMP, DDS.
glpng C Windows, Linux and SGI Supports OpenGL

Miscellaneous

Name Language Platform Description
Sharp3D.Math
Boost Libraries C++ Windows/*nix a cross platform collection of libraries that extend the functionality of C++
CEL
libnoise
J2ME (Java)
SDL_Config
OIS C++ Windows/Linux/OSX a cross platform, simple solution for using all kinds of Input Devices

Networking

Name Language Platform Description
Boost.ASIO C++ Any A Boost-integrated library with an elegant C++ interface for Asynchronous or Synchronous IO operations for sockets. Accepted to Boost, but not yet in the main distribution.
libpkg C Any BRL-CAD's libpkg Network Package Library, simple interface for synchronous or asynchronous network transport
HawkNL
HermesNet Any .Net Any
Quazal
OpenTNL C++
SDL_net
Zoidcom
RakNet C++
DemonWare
eNet A wrapper over UDP allowing multipule reliable or unreliable streams through a single socket.
Twisted Python Any A highly recommended asynchronous networking framework for Python
Entanglar Any .Net Any A framework for automatic/transparent network synchronisation of properties and remote method calls on game entities, with remote simulation error prediction.
Zig

Pathfinding

Name Language Platform Description
MicroPather
PATHEngine

Physics

Name Language Platform Description
BRL-CAD Ray-Trace Library C Any BRL-CAD geometry modeling kernel (librt) provides high-performance collision detection via ray-tracing (millions of rays/sec)
Havok
Bullet Physics Library
ODE
Newton Game Dynamics
Tokamak
Novodex
True Axis
nV Physics
OPAL
Chipmunk Game Dynamics C Any 2D physics engine
Box2D C++ Any 2D physics engine

Text Rendering

Name Language Platform Description
Freetype C Win,Lin,Mac True Type loading and decoding, used by most TTF renderers]
FTGL
glFont
GLFT_Font C++ Win,Lin,Mac Simple Text in OpenGL on any platform with Freetype and OpenGL.
GLTT
SDL_TTF
NFont C/C++ Win,Lin,Mac Simple and fully-featured bitmap font struct/class for SDL
Glyph Keeper
OGLFT
TTME Java J2ME TTF library for J2ME

XML

Name Language Platform Description
C++ XML Parser C++ Windows ,Mac ,Linux 2 files(.h and .cpp) and 104 kB
TinyXML
Xerces-C++
Axl XML Library C/C++ Windows ,Linux Easy to use XML Library 114k kB

External Links

Personal tools