Game Networking

This project is an in house game engine developed for use in lab assignments and student projects at Full Sail University. The engine implementation is partly done in libraries that students have to replace as they go through various courses such as Engine Development, Networking and AI.

Software Used  

Languages Used  

Visual Studio

C++

Feel Free to Download the Source Code.
Source Code

Project Content

Spaghetti Relay
Real Time Chat
Meatball Tennis (Pong)

Programming Explanation

Spaghetti Relay

Spaghetti

The Spaghetti Relay lab is intended to introduce basic networking concepts involved in binding, listening, and accepting server connections and connecting via clients, as well as sending and receiving simple messages via TCP/IP.The front-end deals with two dynamic linked libraries (DLLs), Client.dll and Server.dll, through the ClientWrapper and ServerWrapper interfaces. These wrappers instantiate and call the Client and Server classes.

Chat Application

image

This project implements the client module and sends/receives specific message data with the server. This also handles closing down the established communications at networking termination. The server module implements multiplexing logic designed around the management of multiple client I/O. Reinforcement of the sending and receiving as responds to the messages sent by your client and send back the messages received by the client.

Pong

3. Meatball Tennis (Pong)

Client/server “pong” application using UDP datagram sockets. The server accepts connection requests from up to two clients. When a client connects to the server, it requests to either be the server-side client (on the listen server) or the standalone client. This dictates whether the client is Player 1 (left) or Player 2 (right). Clients send input messages to the server, and the server sends a snapshot every game tick.

As part of this assignment students must determine how to use UDP and conserve bandwidth. The exact method of doing so in code is left up to the student.

Pong game
  • BUGS:
  • If you start and stop a 3rd running client, the two other clients will crash.
  • If you close the server the client window for player two does not close in all instances.