Networking


Networking comes to the scenario if you want to implement Multiplayer games. Effective use of the network is important to multi-user games. To support games played over the Internet, it is necessary to deal with problems of network performance, fault-tolerance, concurrency control and security.

RekNet - Windows, *nix; Free under GPL (free commercial use with permission) Used in quite a number of Ogre projects. From the web page: "RakNet is a networking API that is a wrapper for reliable UDP and higher level functionality on Windows, Linux, and Unix. It allows any application to communicate with other applications on the same computer, over a LAN, or over the internet. Although it could be used for any networked application, it was developed specifically for rapid development of online games and the addition of multiplayer to single player games."

OpenTNL - Windows, Mac, Linux; GPL or Commercial License. From the web page: "The Torque Network Library is a robust, secure, easy to use cross-platform C++ networking API designed for high performance simulations and games."

Zoidcom - Windows, Linux; Free or Commercial License. From the web page: "Zoidcom is a high-level, UDP based networking library providing features for automatic replication of gameobjects and synchronization of their states over a network connection in a highly bandwidth efficient manner. This is achieved by multiplexing and demultiplexing object information from and into bitstreams, which make it easily possible to avoid sending redundant data. Bools only take one single bit, integers and floats are stripped down to as many bits as needed."

HawkNL - Windows, Mac, Linux; GNU Library General Public License (LGPL). From the webpage: "Game oriented network API HawkNL (NL) is a fairly low level API, a wrapper over Berkeley/Unix Sockets and Winsock. But NL also provides other features including support for many OSs, groups of sockets, socket statistics, high accuracy timer, CRC functions, macros to read and write data to packets with endian conversion, and support for multiple network transports (version 2.0 is beta)."

ENet - Windows, Linux; Free. From the webpage: "ENet's purpose is to provide a relatively thin, simple and robust network communication layer on top of UDP (User Datagram Protocol). The primary feature it provides is optional reliable, in-order delivery of packets."

ZIGE Game Engine - Windows, Mac, Linux; GNU Library General Public License (LGPL). From the webpage: "ZIG is a free, LGPL licensed, extendable client-server game engine. Besides networking, it provides support for other features like: logging, an interactive debug console, timing control (for client framerates and server packet rates), automatic downloading of game files from server to client, etc. From the standpoint of ZIG, the graphics renderer, the sound engine and the input handler are all extensions you must provide. You will be able to plug your Allegro, SDL, DirectX, OpenGL etc. stuff into ZIG with ease. ZIG is a cross-platform C/C++ library which depends on HawkNL and Pthreads (POSIX Threads)."

SDL_net - Windows, Mac, Linux; GNU Library General Public License (LGPL). From the webpage: "SDL_net is a small sample cross-platform networking library [that] runs on all platforms supported by SDL."


 

Home    Resources