Network Racers

Network Racers is a game which was aimed to be a networked real time racing game where 2 users can join and race each other.

Goal

To create a real time racing game with a client server architecture.

Method

I researched client server architecture and used libev for creating the server with classes to handle multiple clients and used select calls on the client end to connect to the server

Novelty

I wanted to create it such that any client can connect to the game at any point and race.

Results

I got a client server program working where multiple clients can connect at any point to an existing game of >2 players.

I have realised coding a real time game is hard! as you need to keep track of a lot of things at every frame and there are a lot of cases where there can be blocked situations and lag.

I created a good expandable structure for the architecture and did some good parsing of messages sent from client - server.

I kind of got stuck in getting the client server architecture to work for a long time since I didn't want to strip off Jim's code but really understand it. It was worth it I feel, since I have a really good understanding of it now.