Skip to main content

你的生态

tip

构建属于你自己的生态。

介绍

生态规划方面,我们的游戏逻辑服是支持独立运行的,只需接入 Broker(游戏网关)上, 就可以为玩家和其他游戏逻辑服提供功能上的扩展与增强。 我们可以将一些游戏逻辑服组件化,并制作成相对通用的组件,从而实现功能模块化的可能性。这么做有几个优点

  1. 避免一些重复开发的工作量。
  2. 减少各功能模块的耦合。
  3. 更符合单一职责的设计,将相对通用的功能扩展成一个个的功能逻辑服。如,公会逻辑服、好友逻辑服、登录逻辑服、抽奖逻辑服、公告逻辑服、排行榜逻辑服...等。
  4. 由于模块功能是独立,那么将来可以对任意的功能逻辑服进行扩容,且不需要改动任何代码。
  5. 这些组件化后的功能逻辑服就好比一件件武器,积累得足够多时就形成了自己的生态武器库,可以更好的帮助公司与同行竞争。
  6. 代码泄漏机率更小。传统的游戏项目通常采用单机结构,把所有的代码放在一个目录中。这样做有很大的风险,因为如果代码泄漏了,就会泄漏整个项目的内容。当功能模块化后,可以让不同的开发人员只负责自己的游戏逻辑服模块,从而避免代码泄漏的风险和影响。
  7. 团队管理员只需要在内网服务器上部署一个游戏网关和游戏对外服,而开发人员就可以在本机上编码和测试自己的游戏逻辑服模块。这样还有以下好处
    • 游戏客户端不会因为游戏逻辑服的变更或重启而断开连接。
    • 开发人员不需要启动其他人的游戏逻辑服模块。
    • 开发人员可以通过 ioGame 自动生成的文档来进行模块间的对接。

游戏的组成

一个完整的游戏通常由多个功能模块组成,并且将来还可能添加新的功能模块,这里的功能模块指的是我们的游戏逻辑服。


图中,列出了一些游戏逻辑服

  • UserLogicServer,玩家逻辑服。
  • FriendLogicServer,好友逻辑服。
  • AnalysisLogicServer,数据分析逻辑服。
  • ChatLogicServer,聊天逻辑服。

An

构建你的生态

之前我们已经介绍过了,游戏逻辑服是支持独立运行的,只需接入 Broker(游戏网关)上,就可以为玩家和其他游戏逻辑服提供功能上的扩展与增强。

假设你的生态中已经有 ChatLogicServerFriendLogicServer 游戏逻辑服了, 将来在制作新游戏时就不需要重新开发这些类似的功能模块了。

除此之外,我们还可以将其他相对通用的功能扩展成一个个的 xxxLogicServer。 比如:公会逻辑服、登录逻辑服、抽奖逻辑服、公告逻辑服、排行榜逻辑服...等。

这些相对通用业务的游戏逻辑服是可以做成独立的扩展的, 当生态足够时,游戏服务器的开发工作将变得更加的轻松,因为大部分都可以通过组装来完成。

生态商机

或许有部分开发者看到了一些商机,大概就是你可以成为生态组件的提供商。 意思就是你可以开发很多生态组件库,并将这些组件提供给有需要的公司。

比如可以将一些游戏逻辑服组件化,如:抽奖逻辑服、数据分析逻辑服、统计逻辑服、排行榜逻辑服、商城逻辑服、chatGPT 逻辑服、关系图谱逻辑服 ... 等等。

独立的游戏逻辑服就好比一件件武器,积累得足够多时,就形成了自己的生态武器库,可以更好的帮助中小公司与同行竞争。

如果你从来没涉及过游戏相关的,也是可以建设自己的生态组件库的

  • 比如你擅长数据分析,可以制作这方面相关的的组件库。
  • 如果你想为游戏 NPC 提供一些智能对话的,或许可以提供一个 chatGPT 的组件库。
  • 如果你擅长图形数据模型的,或许可以提供一个相关方面的组件库。

从这里我们可以看出,即使你没有做过游戏,也是可以开发自己的生态组件库的。 你擅长什么领域,就制作与之对应的组件库,因为本质上都是对数据的处理。

小结

现在你已经知道如何构建自己的生态了,请积累你的生态库,这在将来制作新游戏时可以重复使用这些功能模块。

生态的构建能有效的减少开发者将来的工作量。