Closed fnaith closed 4 years ago
- 在這個架構中
不同的Game
指的就是不同款遊戲
,這樣理解對嗎?
不同的Game
是指不同的进程。Game进程是负责进行游戏逻辑处理的,都属于同一个游戏。多个Game的目的是为了把游戏的计算压力分到多个进程。
- 在這個架構中
Space
可以理解成是一個遊戲房間
嗎?
可以。需要注意的的是Space
和它里面的所有Entity
都是在同一个Game
进程里。
- goworld-chatroom-demo 中的 SendChat 呼叫的是 SendChat_Client 嗎? 怎麼註冊的?
是的。这个注册过程是服务端自动的。
- entity 可以藉由 space 屬性對同一個 space 中的其他 entity 做廣播。那能廣播通知給所有同一個 game 的 entity 嗎?
同一个Space
里的所有Entity
都在同一个进程,所以他们相互之间不需要进行通信,直接调用其他Entity的函数即可。所以如果你需要广播只要遍历Space
里的所有Entity
然后调用函数即可。
- 如果想啟動多個server / 掛ngnix跨機器 的話,有跨server的溝通方案嗎?
只要设置好配置文件goworld.ini
,然后启动多个Game
, Dispatcher
, Gate
进程,他们之间就会自动相互连接形成一个集群。不需要Nginx。
感謝您的回覆!很詳細啊,只有第5點goworld.ini
的部分目前還懵懵懂懂,會再研究範例。
覺得這種架構挺精實的,很想導入現有專案,所以有些問題想請教。
在這個架構中
不同的Game
指的就是不同款遊戲
,這樣理解對嗎?在這個架構中
Space
可以理解成是一個遊戲房間
嗎?goworld-chatroom-demo 中的 SendChat 呼叫的是 SendChat_Client 嗎? 怎麼註冊的?
entity 可以藉由 space 屬性對同一個 space 中的其他 entity 做廣播。那能廣播通知給所有同一個 game 的 entity 嗎?
如果想啟動多個server / 掛ngnix跨機器 的話,有跨server的溝通方案嗎?
還請作者指點。