Go游戏服务器开发的一些思考(二):综合考察(上)

对Go做体检

Go语言在游戏服务器方向的开发,起步比较晚。有必要考察下使用Go来实现,该怎么去做,会遇到什么问题,以及怎么克服。这里把使用Go语言开发MMO RPG游戏作为考察对象,对Go做一次体检。

MMO RPG最小功能清单

首先,罗列下开发一个MMO RPG必须具备的功能。目标是实现这些功能后,玩家能登录游戏,在地图上跑动,能相互看到对方。若能很好的实现这些功能,各项运行指标达标。那么,我们就可以罗列更多的功能清单,来丰富它。按照这样的方式,经过多次迭代后,最终达到一个完整MMO RPG的水平。

以下是个人认为MMO RPG游戏服务端 必备功能。

主要功能:

  • 如何与Unity3D交互
  • 网络层
  • 定时器、事件投递
  • 多任务系统
  • 数据持久化方案
  • 配置文件及热配置
  • 引擎与应用逻辑框架
  • 服务发现机制
  • 服务器架构实现
  • 帐号与角色
  • 登录流程(包括登出、重登陆)
  • 世界场景搭建
  • 移动、寻路及同步
  • AOI算法实现

辅助功能:

  • 自动构建
  • 单元测试
  • 部署及监视
  • 调试演示

加粗的条目都有“大体相同、又有细微差异”的功能,因此在使用Go语言开发时,需要合理的使用 Go接口机制 + 反射机制,实现能按默认逻辑,又可制定某些差异的方式运行。

下面将依次考察这些条目。

如何与Unity3D交互

  • protobuf

    这里是

你可能感兴趣的:(Go游戏服务器开发的一些思考)