Torque Network Library - INDIE License
Robust Network API for Independent Game Developers
The Torque Network Library is a powerful, secure, easy to use cross-platform C++ networking API designed for high performance simulations and games. The network architecture in TNL has powered some of the best internet multiplayer action games, including Vivendi's Award-Winning Starsiege: TRIBES and Tribes 2 products, as well as independently produced titles including Bravetree's ThinkTanks, 21-6 Production's Orbz, Mecha title Dark Horizons: Lore.
TNL is designed to be easy to integrate into existing products. In less than an hour, you can have a minimal TNL implementation up and running in your game or network product. Within weeks you can take advantage of all the advanced features of the TNL, allowing your game to support more players while using less bandwidth per client than any other solution on the market.
The TNL Independent Game Developer License allows the licensee to use the TNL for the purpose of building any number of self-funded closed-source game products. Organizations with more than $250,000 in annual revenue, or whose use of TNL is for products that are not games, must purchase commercial licenses instead.
TNL is also available for use in Open Source projects. See www.opentnl.org for details.
Features
Multiple platform support
- Windows 98, ME, NT, XP
- Linux on x86
- Mac OS X
Robust connection architecture
- UDP based delivery notification connection protocol
- Two-phase connect for prevention of IP spoofing attacks
- Client-puzzle system for server CPU depletion Denial of Service protection
- ECC key exchange and certificate authentication
- AES symmetric encryption with SHA-256 message authentication
- Efficient packet streaming architecture for consistent bandwidth utilization
Multiple levels of data guarantee
- Reliable, ordered - data will arrive, and will be delivered in the order it was sent
- Reliable, unordered - data will arrive, and will be delivered as soon as it is received
- Unreliable - data is not guaranteed to arrive
- Most Recent State with prioritization - most recent state of an object will be reflected on a client, updated according to priority
- Guaranteed Quickest - data is sent with every packet until its delivery is confirmed
Bit-level compression using the BitStream class for optimal bandwidth utilization
- Specific bit length encoding for simple data types (floats, integers)
- 3D point compression based on maximum error tolerance from reference point
- Huffman encoded strings and common substring skipping
Server Object replication (ghosting) and management
- Objects can be cloned from server to client
- User code has complete control over scoping policy (which objects get replicated)
- Prioritization of updates can be specified on a per-object basis
- Support for up to 32 orthogonal state categories per object
- Automatic class registration and remote instantiation
Simple and efficient event and RPC (remote procedure call) framework
- RPC methods declared using simple macros
- RPC parameter lists can contain simple data types, as well as vectors
- RPC's can be invoked on connection instances as well as ghosted objects
- Generic network event class for data not suited to RPCs
Extensible master server framework
- Supports filtering of game servers on several criteria
- Acts as a matchmaker, and can facilitate a direct connection between hosts behind firewalls and NATs
- Easily extended to particular game needs
- RPC versioning feature makes exposing new interfaces easy while maintaining backward compatibility
Documentation, tutorials and example code, and full library source code
- Extensive API and usage documentation covering all members of every class in the library
- Simple "Hello, World" client/server example
- Example master server and client test program
- Graphical TNLTest example that demonstrates the higher level features of the TNL
- Full client/server team based space shooter ZAP
Proven successful technology
- Iterative improvement of core technology over the last 7 years
- Dozens of shipped titles, including the internet hits Starsiege: TRIBES and Tribes 2
- Award-winning network play
Support
- Free updates and bug fixes via SourceForge CVS
- Developer mailing list and forums for questions
- Email and telephone support packages are available on an annual contract basis
System Requirements
Windows 95/98/SE/ME/2000/XP
Pentium II 300, 64 MB RAM
Supported Compilers: Microsoft VC++ 6.0 Microsoft Visual Studio .NET 2003
OpenGL capable graphics card required for graphical examples.
MAC OS-X
G3 +, 64 MB RAM
Supported Compilers: XCode
OpenGL capable graphics card required for graphical examples.
Linux
Pentium 500, 128 MB RAM
glibc 2.2 or newer (e.g.: Redhat 7.x+, Mandrake 8.x+, Debian 3.0+)
Supported Compilers: GNU make and g++ (version 2 or 3)
OpenGL capable graphics card required for graphical examples.
About GarageGames
| GarageGames Our mission? To provide independent developers with tools, knowledge, co-conspirators, a market - whatever YOU need - to make and sell great games. |
Community Reviews and Discussion
Write your own Review
Talk to others about this product in the Torque Network Library - INDIE License forums.
Talk to others about this product in the Torque Network Library - INDIE License forums.
Product Support
In order to provide the best possible support and in keeping with the indie gaming culture, support for your product is provided by the actual developer that created it. GarageGames provides the tools, such as the forums and bug tracking systems to assist the developer in processing your support requests.
If you are having problems with this product please contact GarageGames directly via this support mail system. Submit a Support Request




Windows,
Macintosh,
Linux
