James Koehne – Game Developer Portfolio

Game Programmer from Melbourne

James Koehne – Game Developer Portfolio

Client/Server Networking - Personal Project

The goal of the project is to network a client and server together and send data between them.

The client connects to the server, joins a matchmaking lobby, a map is generated by the server using procedural noise generation and then sent to each client. Clients can spectate and move around the generated map, they are also able to see other client's locations on the map.

Utilizing boost’s Threading helped to create a server that was very versatile, creating systems such as a command line input to control the server, matchmaking that would automatically connect clients together and a 2D procedural map generator. Though, being threaded the sub-systems were disconnected so to solve that I built a message bus infrastructure within the server that connected the sub-systems together enabling them to communicate with each other by sending data or running functions using these messages.

First generation that resembled terrain!

The final view which the clients could spectate


  • Role Programming

  • For Personal Learning

  • Date April 2016

  • Languages C++

Up Next:

Hunt 'n Sneak - Game