Skyler Clark's Portfolio Software Engineer and Game Designer

23Dec/09

GNET

Gamepipe Networking Framework

GNET's Logo, from the FlyerOver the semester of my Networked Games class, I worked on a group project that was to be a multi-threaded and easy to use networking framework, primarily for use with games. I volunteered to be one of two leaders, even though I was the only first-year grad in the class. Throughout the term, I worked primarily on the framework, personally designing and implementing most of it myself; while most of the other students worked on small features and demos to showcase them. Eryu, another programmer, was a great help in working on the framework. Together we practiced pair programming and debugged many issues.

Some of the features of our framework include:

  • Automatic C++ Structure Serialization
  • Three threads with intermediate buffers
  • Composition-based Architecture
  • Smart Pointers to handle memory management and reduce CPU load
  • Peer to Peer networking with a 3-handshake connection protocol
  • Unreliable, Reliable, and Sequenced UDP
  • Optional Huffman Tree Compression

Also during this class I got hands-on  experience with building and using prediction, dead reckoning and convergence to smooth player movement in an imperfect networked environment.

Files

Filed under: Programming No Comments