Abstract: We propose to design and implement a
real-time networked multi-player naval warfare game. The players participate in
a battle between submarines and destroyers in an underwater 3D environment.
Each player seeks to destroy all of the other players and be the last survivor,
or if the game set to team-based play, to destroy all of the other players that
are members of opposing teams. The environment is based upon a first person
view of the ship and the surrounding visible objects, along with status
indicators and "radar." The game will be targeted towards Linux i386 with
an optional Windows port.
Graphics
Subsystem: Graphics will be
implemented taking advantage of SDL, lib3DS, and possibly other libraries and
will be OpenGL based. The user will be able to view the realtime battle through
various camera angles. There is a visible range which the user can see. Objects
may exist beyond visible range, however they may still be detectable using sonar.
The environment consists primarily of submarines, the sea floor, and fired
weapons.
Networking
Subsystem: The networking
subsystem is based upon a state machine where a master server keeps track of
the state of the entire network game. The master receives player action reports
from slave machines, and handles all game related computions and modifications
to the game world.
Game
Play: Controls will be
similar to those of a first person shooter. Players may play either
individually or in teams.
Optional
functionality: If time
allows, we would like to add network text and voice in-game chatting,
additional
weapons and perhaps
a purchasing scheme (ala CounterStrike), damage based on location of where
weapon detonated, sound, and different ships for the player to select between.
Deliverable Schedule:
Deliverable 1:
Basic Sub navigation around a 3d world
Obstacles and static objects in world
Move camera around
Visibility limitations (fog)
Deliverable 2:
Basic Multiplayer Network gameplay
Bells+Whistles