Micro Races is a multiplayer race game coded with C# and Microsoft's XNA Game Studio 4.0.
The objective of the game is to race against your friends in a LAN and collect money so you can unlock new cars.
I implemented a client-server architecture that keeps as much processing as possible inside an intelligent server and uses Dumb Clients. The Client doesn't run game code locally, instead it sends inputs such as key presses, mouse movement, and clicks to the server. It renders the game inside a Windows Form app.
The server updates the state of the car and replies with a packet containing the state of the car and the opponents. The client interpolates between these updates to provide the illusion of smooth movement.
The game packets are sent over the network using UDP sockets and I wrote a simple reliability system to handle packet loss.
The game also has a chat system so that players can talk between themselves. The chat messages are sent using TCP sockets with SSL encryption.
Micro Races is a multiplayer race game coded with C# and Microsoft's XNA Game Studio 4.0.
The objective of the game is to race against your friends in a LAN and collect money so you can unlock new cars.
I implemented a client-server architecture that keeps as much processing as possible inside an intelligent server and uses Dumb Clients. The Client doesn't run game code locally, instead it sends inputs such as key presses, mouse movement, and clicks to the server. It renders the game inside a Windows Form app.
The server updates the state of the car and replies with a packet containing the state of the car and the opponents. The client interpolates between these updates to provide the illusion of smooth movement.
The game packets are sent over the network using UDP sockets and I wrote a simple reliability system to handle packet loss.
The game also has a chat system so that players can talk between themselves. The chat messages are sent using TCP sockets with SSL encryption.