// SERVER
// initialial handshake
send_team_data();
if (wait_for_remote_team_data(timeout))
{
send_game_start_to_remote();
// game loop
while (!exit)
{
get_remote_keys();
game_play();
send_frame_data_to_remote(actors_positions_and_timeframes,
camera_position);
}
}
// CLIENT
// initiali handshake
send_team_data();
if (wait_for_remote_team_data(timeout))
{
wait_remote_game_start();
while (!game_end)
{
get_frame_data_remote();
set_camera();
draw_actors();
read_keys();
send_keys_to_remote();
}
}