Main
- Init
- display
- input
- sound
- network
- introduction sequence
Main Menu
(Will be a menu overlay over some type of background)
- Join Game
- Options...
- Player Options...
- Quit
Game
check input state
if (b_menu)
call menuhandler
else
do game stuff (update game's current state from server)
eg.
if (input['a'])
Monkey->physics->moveforward();
...
...
...
call graphics engine to draw world with new updated state
Audio
rough high-level architecture:
Singleton MonkeyMusic object to play .wav or .mp3 files as a loop
in the background (sound located where monkey is located). MonkeyEffects
object attached to each Monkey (player) instance, to play from monkey
and weapon resources (i.e., walking sound, damage grunt, weapon
discharge, etc.). WeaponEffects object attached to each instance
of a projectile/mine/bomb/etc., to play from weapon resources (i.e.,
explosion, whistle, etc.)
Network
Server
- receives data and passes instructions
- keeps track of data
- Position of each character
- all physics will be done with server
- user just passes data to server, and server decides what user
should do and broadcasts updated state to everyone
Client
- gets user inputs
- transmit user actions to server
- gets updated state from server, and updates display
File Structure
- root
- server
- network
- physics
- graphics
- resources
- client
- resources
- gfx
- input
- network
- intro
|