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.
ENet for C# wraps the C-language ENet networking library. For games and other realtime applications, if you use TCP, old data can hold up newer data, even if it is no longer relevant (old positions, etc.). Your players will perceive any lost packet as a "lag burst". ENet supports multiple in-order streams of data, and allows you to decide on reliability on a per-packet basis. The library is useful for both client-server and peer-to-peer architectures.