游戏服务端开源引擎GoWorld教程——(1)安装和运行
- 游戏资讯
- 发布时间:2024-11-09 09:50:03
GoWorld是一套分布式开源Go语言游戏服务器引擎,采用Entity/Space的逻辑抽象结构,适用于MMORPG、RTS、射击等类型游戏。这种结构使得游戏的网络通信模式较为统一,能够在框架层实现更多功能,顶层逻辑无需关心数据同步,能提高游戏开发效率。
GoWorld结构图展示了它会开启3类进程。其中dispatcher和gate是固定的程序,需要我们自己编写的game是游戏逻辑所在,也是Entity/Space活动的地方。客户端连接到gate,它负责网络消息的接收和转发;dispatcher负责消息分发;game处理游戏逻辑。
安装GoWorld项目后,可以通过命令行goworld进行操作,如使用goworld start examples/chatroom_demo开启聊天服务器。安装过程包括安装Go语言、设置Go路径、安装goworld所需的依赖包,以及手动安装某些依赖包。测试安装是否成功的方法是执行goworld指令。
GoWorld提供了聊天室示例,是运行它的起点。聊天室示例包含4个go文件,后续可以仿照示例编写自己的游戏逻辑。安装和运行聊天室示例的步骤包括安装依赖包、编译代码并生成可执行文件,以及运行示例程序。执行goworld指令查看服务器状态,执行stop指令关闭服务器。
推荐学习资料包括收听关于网络游戏同步算法的课程,以及阅读《Unity3D网络游戏实战(第2版)》书籍,这是一本专门介绍多人网络游戏开发的实战书籍,手把手教你搭建网络框架,制作大型项目。
以下为GoWorld教程系列文章链接:
罗培羽:游戏服务端开源引擎GoWorld教程—— (1)安装和运行
罗培羽:游戏服务端开源引擎GoWorld教程——(2)Unity示例双端联调
罗培羽:游戏服务端开源引擎GoWorld教程——(3)手把手写一个聊天室
罗培羽:游戏服务端开源引擎GoWorld教程——(4)制作多频道聊天室
罗培羽:游戏服务端开源引擎GoWorld教程——(5)登录注册和存储
罗培羽:游戏服务端开源引擎GoWorld教程——(6)移动同步和AOI
罗培羽:游戏服务端开源引擎GoWorld教程——(7)源码解析之启动流程和热更新
罗培羽:游戏服务端开源引擎GoWorld教程——(8)源码解析之gate
罗培羽:游戏服务端开源引擎GoWorld教程——(9)源码解析之dispatcher
罗培羽:游戏服务端开源引擎GoWorld教程——(10)源码解析之entity