LibNRG  0.0.1
Networking for Real-time Games library
 All Classes Files Functions Variables Friends
LibNRG Documentation


This is the documentation for LibNRG (Networking for Real-time Games) - a library which was created by myself, Alex Baines, for my third year computer science project at Warwick University.
The library provides a high-level of abstraction over UDP networking that can be used to implement client / server online multi-player in video games.

Source Code

Available on Github here.

Main classes

  • nrg::Server
    • Create one server-side to set up a game server
  • nrg::Client
    • Create one client-side to set up a game client
  • nrg::Entity
    • Inherit from this class or EntityHelper and put some nrg::Field classes inside to define a struct that will be replicated from the server to all connected Clients
  • nrg::Input
    • Inherit a single class from this CRTP class and puts nrg::Field classes inside it, this will be the data the client sends to the server each frame such as mouse position, camera angles
  • nrg::Field
    • Wrap types like int in this template class to define a piece of data to be replicated inside an nrg::Entity or nrg::Input.
  • nrg::Message
    • Create instances of this variadic template class to define RPC methods between server and clients


The other classes are less important (and may only be for internal use) but still have some associated documentation.