Application architecture of a virtual world

There are two fundamental entities at the base of the SmartFoxServer architecture: Zones and Rooms.

SmartFoxServer can run multiple applications at the same time. Each zone represents a different application. A developer can configure different zones to host different virtual worlds or games in the same server instance. The activity, messages, and events are totally isolated among zones.

Room can be created within zones to logically group users. Users in the same room can chat, interact, or play games together. For example, I can send a message to all users in Room A when I'm in Room A. And those users in Room B would not receive this message because I'm only interacting with users in the same room. The following diagram shows the Zone, Room, and User relationship:

Application architecture of a virtual world

Rooms can also be used as a tool to organize the virtual world's areas into different connected parts. Depending on the virtual world design, a room could represent an entire city, a street, or just a physical room inside a building. These rooms are connected so that when a user walks from one street into another street, he is leaving the old room and joining a new room that represents the street he is walking to.

Most user interactions are limited within a room. Therefore, the resolution of the room that is representing affects how players can interact with others. For instance, users can interact with others within the same street if each street is represented by one room or they can interact with others within the same city if the entire city is represented by one room. The following diagram shows a virtual world in which each city is a room:

Application architecture of a virtual world

The following diagram shows a virtual world in which several streets compose a room:

Application architecture of a virtual world
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.21.166