HTML5技术

游戏服务端究竟解决了什么问题? - fingerpass(12)

字号+ 作者:H5之家 来源:H5之家 2016-02-02 09:51 我要评论( )

整理下这篇文章到目前为止做了什么事情: 在文章的一开始确定了游戏服务端要解决的核心两个问题:消息的pipeline与游戏世界状态维护。 通过回顾历史的形式提出游戏服务端中最常见的需求情景:多玩家场景同步,并梳

  整理下这篇文章到目前为止做了什么事情:

  • 在文章的一开始确定了游戏服务端要解决的核心两个问题:消息的pipeline与游戏世界状态维护。
  • 通过回顾历史的形式提出游戏服务端中最常见的需求情景:多玩家场景同步,并梳理了场景同步最适合的消息pipeline。
  • 结合切场景的扩展需求,提出Gate这种基础设施抽象(infrastructure abstraction,简称IA)。
  •   总结下出现的几种概念:

      到目前为止的拓扑图:

     

     

      系统设计中的static parts与dynamic parts

  • static
  •       gate/mq/zk/redis/mysql

  • dynamic
  •       almost all custom services

     

      这篇文章的灵感起源是the log,看完之后深有感触。虽然JAVA不是一门好语言,但是JAVA技术栈却发展得如此优雅。JAVA技术栈上的每一种IA都专注于解决特定的一小块问题,比如这里提到的。未来的应用框架开发者,就像是用胶水将这些基础设施粘合起来。游戏服务端程序员通常习惯于c++的小圈子,甚至有一种传教的趋势宣扬c++才是代表的游戏服务端的核心技术。有的时候,游戏程序员需要从c++的小圈子跳出来向外走一走,有可能你就不想再湮没在繁文缛节中,而是发现更大的世界。

      不过话又说回来,不喜欢跳出c++小圈子的游戏服务端程序员,大部分又都对c++本身其实知之甚少,奉OOP为圭臬,各种虚继承、多继承出来的代码看到想吐。尝试用模板的各种奇技淫巧把c++写成haskell的虽然更有跳出c++小圈子的倾向,但是既然都如此用了,又何必拘泥于c++?

     

    其他

      我在这篇文章里尽量少的插入代码,尽量描述游戏服务端定义问题、解决问题的思路。服务端用C#写的毕竟是少数,但是有了思路随便改写成其他语言都没问题。

      我顺便也借着写这篇博客的机会,整理了下一些小东西放在github上。

      比如之前的面向组合子博客提到的代码生成器组合子,CodeC

      比如之前的定时器博客提到的linux内核风格定时器,以及基于定时器写的example,C#协程,都放在这里,CoroutineSharp

      比如之前的游戏AI博客提到的行为树编译器原型和c# runtime示例,Behaviour

      还有学习parsec的一个小结,可以用来parse单个c#文件拿到一些描述信息的,当然纯属学习性质,有这种需求的时候最好优先用反射。cs_file_parser

      然后就是跟这篇博客相关的

        一个简单的网络库,Network;

        一个简单的基于Network的Gate,GateSharp;

        规范的整个底层库,Phial;

        为底层库开发的两个配套代码生成器,Phial.CodeGenerator;

        示例实现,Phial.Fantasy。

      github中的以演示为目的,因此相比于博客,还有不少部分是to be determined(比如详细的配置流程、MQ的集群化、mysql的故障转移集成、落地服务的实现细节等等),之后我也会继续维护。

      

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 网页版扫雷游戏 - 季末的寂寞

      网页版扫雷游戏 - 季末的寂寞

      2017-04-21 13:00

    • net.sz.framework 框架 登录服务器架构 单服2 万 TPS(QPS) - 失足程序员

      net.sz.framework 框架 登录服务器架构 单服2 万 TPS(QPS) - 失足

      2017-04-13 11:05

    • 面向个人的技术咨询服务 - 思想瞭望者

      面向个人的技术咨询服务 - 思想瞭望者

      2017-04-05 12:07

    • net.sz.framework 框架 轻松搭建服务---让你更专注逻辑功能---初探 - 失足程序员

      net.sz.framework 框架 轻松搭建服务---让你更专注逻辑功能---初探 -

      2017-04-02 10:11

    网友点评