Real Time Framework by Tonny

19
@agatestudio A Real-Time Framework (MMO) Tonny Knight Agate Studio

Transcript of Real Time Framework by Tonny

Page 1: Real Time Framework by Tonny

@agatestudio

A Real-Time Framework (MMO)

Tonny

Knight

Agate Studio

Page 2: Real Time Framework by Tonny

2014/06/21 BANDUNG DIGITAL VALLEY Tonny K Agate Studio [email protected]

Page 3: Real Time Framework by Tonny

Developer The University of Muenster, Germany

Publication

“RTF: A Real-Time Framework for Developing Scalable Multiplayer Online Games”, 2007

”From a single-to multi-server online game: a Quake 3 case study using RTF”, 2008

“High-Level Development of Multiserver Online Games”, 2008

Page 4: Real Time Framework by Tonny

The development of large-scale MMOGs* is complex and expensive huge game content

complicated technical architecture

MMOGs must provide mechanisms for advanced

scalability to support an increasing amount of players by using additional resources

High performance is especially important for real-time games

MMOGs: Massively Multiplayer Online Games

Page 5: Real Time Framework by Tonny

Design and realization of scalability mechanisms within online games are challenging and error-prone

socket-based communication and scalable distribution management in traditionally used programming languages (e. g., C++) are complex and code intensive.

Page 6: Real Time Framework by Tonny

object-oriented, C++-based middleware system for developing real-time MMOG

The RTF provides to the developer an easy-to-use interface for abstract description of the game state distribution among multiple servers

Page 7: Real Time Framework by Tonny

Contemporary multiplayer online real-time games implement an endless loop, called real-time loop

Page 8: Real Time Framework by Tonny
Page 9: Real Time Framework by Tonny

Development Tasks

Page 10: Real Time Framework by Tonny

For all transmittable objects like entities, events and messages, the RTF provides an automatic serialization mechanism.

Page 11: Real Time Framework by Tonny

The RTF supports three basic distribution concepts for real-time multiplayer games within a multi-server architecture: zoning instancing replication

The RTF allows the game developer to arbitrarily combine the described three distribution approaches depending on the requirements of a particular game design.

Page 12: Real Time Framework by Tonny

partitions the spatial world into disjoint parts, called zones Clients can move between the zones, but no inter-zone events exist calculations in the zones are completely independent from each other

Page 13: Real Time Framework by Tonny

Used to distribute the computational load by creating multiple copies of highly frequented subareas of the spatial world

some subareas are copied multiple times and assigned to instance servers

Page 14: Real Time Framework by Tonny

Replication uses the assignment of calculations to entities as a distribution criteria

The entities are distributed among all servers

Active entities

Shadow entities

Page 15: Real Time Framework by Tonny

For the movement of players and entities between zones, especially between zones that do not lie next to each other

The RTF supports three types of portals

Dimension sizeAB = Dimension (1, 1, 0); Dimension sizeC = Dimension (0.5 , 0.5 , 0); AbstractPortal & portalA = * new SpaceToPointPortal (Space (4, 2.5 , 0, sizeAB ), Vector (8, 3, 0)); AbstractPortal & portalB = * new SpaceToSpacePortal (Space (10 , 2.5 , 0, sizeAB ), Space (1, 2.5 , 0,sizeAB )); AbstractPortal & portalC = * new BidirectionalPortal (Space (3, 1.5 , 0, sizeC ), Space (3, 2, 0, sizeC ));

Zone A

Zone C

Zone B

Page 16: Real Time Framework by Tonny

Zoning Restrictions

entities and clients must be transferred between the participating servers if they are moved between the zones

no interactions are allowed across zone borders

The RTF allows an inter-zone migration and interaction by creating an overlapping area between two or more adjacent zones.

Page 17: Real Time Framework by Tonny
Page 18: Real Time Framework by Tonny

Supports the publish-subscribe abstraction for interest management that allows the developer to subscribe a client to an entity of the game world

RTF provides a basic Euclidian Distance AoI implementation based on the position of entities

Page 19: Real Time Framework by Tonny