SNS游戏和MMO类的游戏最大的区别是不分在线和离线状态。SNS游戏中存在大量的某个角色对另外一个离线角色交互。

我们拿农场类游戏举例。像偷菜之类的功能都在社区Server(SS)中实现。偷菜之外,我们可以和另外一个角色进入到某个房间进行PK,最后获得经验和物品等,这类功能我们都放到游戏Server(GS)中。这里说一种简单的SS和GS数据交互的策略。

1. A从SS切换到GS,GS从SS拉A的某些数据,包括BASE_EXP;

2. A与B PK, A得到10点EXP, 记作DELTA_EXP,GS把DELTA_EXP发给SS;

3. A退出GS,进入SS。


注意看第2步,做过MMO的兄弟们一般应该是把(BASE_EXP+DELTA_EXP)发给SS,但在存在杂交互的SNS类游戏中发结果值是存在问题的。比如,A还在GS上,GS发全量EXP时,SS上的有另外一个角色C可能对A进行某种操作,导致A的EXP发生变化了。这时,发全量的EXP给GS,最终SS上的EXP就有可能是错的。





Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐