Client:
	loops
	handles input from the user
	handles graphics and sound
	communicates with the server (how?)

-------------------------

Server:
	loops
	accepts new connections, disconnections, and handles loss of connections
	holds the positions/data of all players

Player:
	id
	[graphical stuff]
	position
	velocity

-------------------------

Player's movement in a server

#define PLAYER_FACE_DOWN 0
#define PLAYER_FACE_UP 1
#define PLAYER_FACE_LEFT 2
#define PLAYER_FACE_RIGHT 3



Player:
	index --global index on the server
	position
	motion
	image --avatar chosen by the player (later)
	ShiftMotion(vector relativeMotion)


PlayerManager:
	Update(delta) //all player objects
	Synchronize(dataArray) //possible

-------------------------

Rememer: Top down programming/K.I.S.S.

KeyDown:
	up:
		PlayerManager.ShiftMotion(playerIndex, up)
	down:
		PlayerManager.ShiftMotion(playerIndex, down)
	...
end

Receive:
	switch(message->type):
		player update:
			PlayerManager.Update(message)
end
