Skip to content

This Project shows the synthesis of Network TCP/IP knowledge and Python Socket Programming techniques to create an online math game

Notifications You must be signed in to change notification settings

NatanGrayman/Network-Fundamentals-Synchronisation_Protocol_Game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Network Fundamentals Project: Multiplayer Math Game using TCP/IP Synchronization Protocol

Introduction

This project, undertaken as part of the ELEN4017A: Network Fundamentals course at the University of the Witwatersrand, Johannesburg, illustrates the design and implementation of a synchronization protocol for an online multiplayer reaction game. The project achieved a distinction.

Project Description

The project aims to design a robust synchronization protocol using socket programming to enable synchronized gameplay for multiple users in a networked environment. A simple mathematics game was implemented to demonstrate the protocol’s functionality. The project focuses on latency checking, delay propagation, and response time capturing to ensure fair and synchronized gameplay.

Key Features

  • Synchronization Protocol: A custom synchronization protocol ensuring all users receive the game challenges simultaneously.
  • Multithreading: Utilized to handle multiple client connections efficiently.
  • Latency Check and Delay Propagation: Dynamically calculated and applied to ensure fair play.
  • Login System: Secure username and password authentication, with passwords 'stored' with hashes.
  • Error Handling: Robust error checking and timeout functionalities on both server and client sides.
  • Score Calculation: Dynamic calculation and update of players' scores based on response accuracy and speed.

Technologies Used

  • Programming Language: Python
  • Libraries: Pandas, NumPy, Scikit-Learn, Matplotlib, Seaborn, Scipy, OS
  • Tools: Wireshark for packet capturing,

Results

The synchronization protocol was successfully implemented and tested, ensuring fair and synchronized gameplay across different network conditions. The project achieved a distinction, demonstrating the effective application of network TCP/IP Knowledge , programming and synchronization techniques.

About

This Project shows the synthesis of Network TCP/IP knowledge and Python Socket Programming techniques to create an online math game

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages