A Space Game By William Sistar The Problem What is provided: Most network games are single player Some do allow team work but not in a common environment What we want: A networked game designed around team play Team members work together to manage what they cannot on their own Team members play the roles they either like to or that they do best A Solution A Space Game A team based, networked, multi-player game Designed to be played with at least 4 players Players would be in teams of at least 2 Theme: Spaceship fighters Roles: Pilot – Controls spaceship maneuvers Gunner – Manage weapon systems The Requirements Functional Common Communication protocol Message handling Data structures for managing player information The Requirements Server Capable of authentication Ability to create and delete games Handle multiple games at once Modular for future requirements The Requirements Functional Game Player should be able to remain logged in to server Allow for player selection of team and position Allow for at least 2 players and 2 teams For demo purposes 1 player on each team At least one ship with at least one weapon Collision detection (for weapon fire) Provide smooth display of enemy ships when in view Support joystick and keyboard for control Have a scoring system to determine a winner Provide basic sound effects The Design Spiral design process Prototyping used for research and proof of concept Client – Server model Design with cross-platform in mind Modular for future expansion The Design ASG Server Server Process ASG Client / Game Client Process Thread Login Create Join Login Thread Admin Game Process Game Play Threads Game (1) (2) (3) Server communication Client-Server Relationship The Design Main UDP Client Game Message Handler Team Pilot Display Message Player Arena Texture Loader Gunner Display Spacecraft Weapon Game Class Abstraction The Design Server Main Client Main _games Message Handler UDP Client Message Handler _teams Message Message _positions Server Class Abstraction Client Class Abstraction Design Decisions OpenGL vs. Direct GLUT vs. DirectX Command Line Interface vs. Windows Interface C/C++ vs. Java UDP vs. TCP Movement communication Server Running ASG Client Running Client logged in to game Initial view in game The Challenges Object synchronization Collision detection Graphical Display Client – Server communication Development and Testing Time constraint Requirement creep Interest balanced with other commitments Conclusion I have developed a networked game designed around team play Completed a project involving many facets of Computer Science Learned many lessons about game design and project management Questions Thank you!
© Copyright 2026 Paperzz