最早的商业化的逻辑服务器恐怕是mud系列了,国内的商用服务器大部分都源于此。在以前简单的说过mud,为了支援简单的访问模型mud的网络结构比较简单,没有线程结构。早期的扩展把mud作为了游戏逻辑服务器交互的命令一般通过一个服务器中转到mud.因为和客户端交互的指令已经不限于早期的文字,大量的图片,渲染,甚至声音这些已经不需要mud处理的了。完全可以通过简单的文件压缩然后下发客户端,通过文件名称等方式供逻辑系统调用。提到逻辑系统不得不提到一个概念心跳。目前的mud使用心跳的只是为了在定期的执行一些指令,所有的物件心跳是相同的。有一个很有趣的例子当把所有的指令通过一台服务器发送的到逻辑的服务器时。指令发送的快慢实际变成了服务器时间。传送的快服务执行时间就快传送的慢服务执行时间就慢。服务器的心跳演变成了服务器的时间每一次的脉动服务器时间就加一。但每个人的时间为什么要一样呢。如果不考虑思维一个人单位时间内作的事情多了,他的时间就快了,如果一个人单位时间做的事情少了他的时间也就慢了。如果考虑思维一个人想得多了他的时间也相当于快了。实际不过是人的身体里有好多的时间单位而显得时间不那么统一而以。当我们控制了时间的时候构造一个世界就容易多了。我们知道用户行为是由一些列的命令产生的命令和行为的最大区别就是行为和行为间没有因果关系而命令间会有因果关系。
为什么要区分命令上因果关系呢?前面我们把用户命令放到一个命令中转服务器里有中转服务器调用逻辑服务器注意这里的调用。逻辑服务器是被动的执行指令时间在这里被强迫的单一成一个线。容易产生一个问题就是一个用户的指令如果有问题都会令这个世界都崩溃的尴尬局面。只有两个指令是没有因果关系的这才是和我们现实世界很相似的描述。一个行为只能有两个可能,有效的和无效的,有效地指令到的结果奖励,无效的指令无结果。在游戏世界常用的一个判断是只有一个命令做完才可以引发下一个命令的行为逻辑在现实世界是的一个行为改变了某些东西可以用另一行为继续改变这个物品。重要的概念,行为是不应该有束缚的。什么样的行为有什么样的结果。这是游戏逻辑的
游戏服务器架构简述--逻辑服务器
最新推荐文章于 2024-04-23 09:48:21 发布