官术网_书友最值得收藏!

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:

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:

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

主站蜘蛛池模板: 天祝| 康保县| 新安县| 甘德县| 台州市| 光泽县| 吉安县| 巨野县| 平湖市| 乐东| 拜城县| 久治县| 凤凰县| 河间市| 惠水县| 桃园市| 会泽县| 泽州县| 襄樊市| 满城县| 黄冈市| 谢通门县| 龙州县| 化德县| 钟山县| 灵寿县| 郁南县| 河西区| 且末县| 朔州市| 南宫市| 商水县| 高安市| 兴山县| 蓬莱市| 溆浦县| 礼泉县| 长阳| 东辽县| 大石桥市| 桐城市|