frag

FRAG
Framework for Realtime Ad-hoc Games
Tutorial outline
•
•
•
•
Motivation
FRAG based game worlds
FRAG structure
Core FRAG components
13 Nov 2002
ARENA Tutorial - FRAG
2
Problem
• Distributed games
• Ad-hoc networking
• True Peer-To-Peer (no dedicated servers)
13 Nov 2002
ARENA Tutorial - FRAG
3
Solution
FRAG
•
•
•
•
•
•
Object management
Network communication
Distributed control
Load balancing
Game state replication
Peer management
13 Nov 2002
ARENA Tutorial - FRAG
4
Peer-to-Peer network
Peer 2
Peer 1
No dedicated server!
13 Nov 2002
ARENA Tutorial - FRAG
Peer 3
5
World overview
Object A
Peer 2 Focus
Peer 1 Focus
Object B
Object C
Peer 3 Focus
World
13 Nov 2002
ARENA Tutorial - FRAG
6
State replication
Object A
Object A
Object B
Object C
Peer 1
Object B
Object A
Object C
Object B
Peer 2
Object C
Peer 3
13 Nov 2002
ARENA Tutorial - FRAG
7
FRAG structure
Game
Manager
Object
Manager
Object A
13 Nov 2002
Object B
Peer
Manager
Remote
Event
Dispatcher
Peer 2
Connection
Local
Event
Dispatcher
Peer 1
Peer 3
Connection
ARENA Tutorial - FRAG
8
Game Manager
•
•
•
•
Handles game creation and joining
Initializes the game world
Transmits initial world copies to joining peers
Serves as interface between FRAG and the
underlying network/ARENA layer (peer discovery
and connection)
13 Nov 2002
ARENA Tutorial - FRAG
9
Object Manager
•
•
•
•
•
•
Maintains objects hashtable and object states
Handles incoming state updates
Generates state updates for controlled objects
Chooses which objects to control
Resolves controller conflicts between peers
Provides object lists for the visualization
components
13 Nov 2002
ARENA Tutorial - FRAG
10
Information Sources
• FRAG source code (still undocumented) in the
ARENA CVS repository, module frag
• Me ([email protected])
13 Nov 2002
ARENA Tutorial - FRAG
11