TSDL was written for the turn-based strategy game "Turious", but is a stand alone library. It provides a number of useful widgets and event handling functions. Its widgets include container, label, button, text, numbox, checkbox, and console. All of the widgets can be given individual background images and custom text. Containers and widgets can be shown and hidden individually, and will retain their visibility state. The library uses OpenGL for rendering, allowing it to be used in 3D games as well as 2D.
Bullet is a 3D game multiphysics library that provides state of the art collision detection and soft body and rigid body dynamics. Bullet is integrated into Cinema 4D, Lightwave, and Blender. A Houdini and Maya Plugin is available. It has a modular extendible C++ design with hot-swap of most components. The back-ends were optimized for pthreads/Win32 Threads multi-threading and PS3 Cell SPU. Other features include discrete and continuous collision detection (CCD), swept collision queries, ray casting with custom collision filtering, generic convex support (using GJK), capsule, cylinder, cone, sphere, box, and non-convex triangle meshes. Rigid body dynamics include constraint solvers, generic constraints, ragdolls, hinges, and ball-sockets. Constraint limits and motors are supported. Soft body support includes cloth, rope, and deformable objects. Import and export into COLLADA 1.4 Physics format is supported. Dynamic deformation of non-convex triangle meshes is supported by refitting the acceleration structures.
The Open Game Libraries is a collection of separately usable C++ libraries for creating games. It provides OpenGL window management, zip file management, OpenAL audio management, a developer console window, input management, bitmapped fonts with Unicode and kerning support, image loading and saving, model loading and importing, and generic classes and objects for game development such as math and text processing.
The J2DGAMEFRAMEWORK provides the necessary classes to implement a simple 2D game in a window enviroment using Java Swing libraries. This framework also provides a Sprite Collision Manager and a simple GUI template. By using this framework, the developers only concern is how to implement classes, and not the 2D World, the collisions, etc. It uses the Observer Design Pattern. It has double-buffered rendering, simple use of collisions, and user-transparent multi-threading for collision classes. You can move sprites like a vector with speed and angle, and simply save and load your game.
The Gluon project is an open framework for creating and distributing games, supporting the flow of the idea all the way from the author to the player of the finished game. The current goal for the first stable release is to create games using 2D graphics. The reasoning behind this is that the niche for this type of visual is very large and so far untapped by specialized tools. In the world of 3D games there are solutions such as Unity3D, which provide a distribution system, but in the 2D game development world there are no tools to provide a complete ecosystem for creation, distribution, and feedback gathering. The three main audiences of Gluon are game creators, game players, and application programmers. Each of these are a user of one of the tools.
crunch/crnlib is a lossy texture compression tool and library for developers that distributes and uses content in the DXT1/5/N or 3DC/BC5 compressed mipmapped texture formats. crnlib can compress mipmapped 2D textures and cubemaps to .8-1.25 bits/texel, and normal maps to 1.75-2 bits/texel. crnlib's quality and performance is competitive to transform-based solutions, or other offline/real-time DXTn compressors such as squish or ATI_Compress. crnlib implements a new form of "clustered" DXTn compression, with a compressed texture data format that was carefully designed to be very quickly transcodable directly to raw DXTn texture bits with no intermediate recompression step or individual pixel-level operations. The typical single threaded transcode to DXTn rate is equivalent to 100-250 megatexels/sec. Fast random access to individual mipmap levels is supported.