【nakama+godot4联机教程】00 课程简介

开场白

好久不见,大家!宣布一个大新闻:最近我准备专职做视频UP主了!

所以未来需要大家更多的照顾,麻烦点赞、评论、转发,将我分享给更多朋友。

未来老李要靠大家养活了!感谢大家!给大家鞠躬了!

之前挖了很多坑没有填,心里很过意不去,也希望借这个机会能够把从前的坑都填上。

好的,废话不多说,开始本期得内容吧!

很久之前我曾经尝试使用godot + golang开发网络游戏,不过那次也是浅尝辄止,最近一直关注nakama(golang开发),让我们采用这个服务器框架继续我们的开发之旅吧!

为什么使用nakama?

nakama提供了很多开箱即用的功能

通过这种方式,您可以专注于构建游戏,并利用 Nakama 实现所有这些很酷的服务器端功能。(此外,Nakama的创作者Heroic Labs是Godot的白金赞助商,也是一群非常好的人。

种类繁多的客户端SDK

nakama提供了种类繁多的客户端SDK,且很多常用功能都是开箱即用(只需简单修改配置)。服务器框架很多,能支持godot的确实不多(泪目)。

多种脚本语言可用

nakama提供了多种运行时脚本语言,我们计划使用ts作为后端开发语言,后面视情况补充lua、golang版本。

  • TypeScript: TypeScript 是 JavaScript 语言的超集。它允许您使用类型编写代码,这有助于减少错误和意外的运行时行为。Nakama 对 JavaScript 的支持旨在直接考虑在代码中使用 TypeScript,并且是开发 JavaScript 代码的推荐方法
  • golang: 选择使用 Go 编写游戏服务器自定义逻辑带来的优势是 Go 运行时代码可以对服务器及其环境进行完全的低级访问
  • lua: 与使用Go或TypeScript编写服务器逻辑不同,使用 Lua 编写代码时不需要工具链或其他设置。Lua 是一种功能强大的嵌入式脚本语言,不需要编译或转译。如果您想快速轻松地启动并运行,这将是一个不错的选择。

系列教程视频内容

  • nakama服务器快速入门
  • godot4客户端权威游戏:FishGame,官方案例,在其基础上添加一些新内容
  • godot4 服务器权威游戏:Sunnyside World ,包含实时聊天、组队战斗等功能的完整mmo游戏demo;
  • unreal 客户端权威游戏:坦克大战,前端计划使用puerTs插件https://github.com/Tencent/puerts
  • unreal 权威服务器游戏:SHWorld,3DMMOARPG项目,可能会采用unreal的DS 游戏服务器 + nakama做网关服务器的方式(类似龙之谷的架构)

nakama服务器快速入门

这部分我们计划用一节课快速入门,讲解一下nakama的基本概念。如果大家对这些概念依然不甚了解也没关系,我们会在后续实例开发过程中详细讲解。

  • nakama服务器架构,子系统介绍
  • nakama 的安装和配置
  • nakama的CLI命令
  • nakama的简单控制台

godot4点对点游戏:FishGame

官方提供的游戏demo,采用的是客户端权威的架构,使用了godot自带的高级联机API。不过遗憾的是官网提供的demo是godot3版本的,这里我们会将项目升级到godot4 版本。并且尝试添加一些新内容。

在这个案例中,我们将介绍以下 Nakama 功能:

godot4 权威服务器游戏:Sunnyside World

这次我们将介绍一个2D俯视角的MMORPG游戏Demo。

它展示了以下Nakama功能:

  • 身份验证、会话和断开连接
  • 套接字和管理连接
  • 带有弹出窗口的应用内通知
  • 角色自定义
  • 角色状态同步(包括位置同步)

在这个项目中,我们将讲解nakama 如何开发服务器权威的游戏项目。这对于我们制作一些大型的(比如MMO)项目很有帮助。

unreal 客户端权威游戏:坦克大战

近两年我的兴趣从unreal逐渐转移到了godot,因为godot 更适合开发独立游戏。而我近两年的主要目标就是转型成为一名独立游戏制作人。不过这次我打算借这个机会把unreal 捡起来复习一下。

制作这个demo的原因有几个:

  • 我希望自己能捡起unreal开发,给粉丝一个交代;
  • nakama 官方提供的unreal案例很少,我们可以为开源社区做贡献
  • 借这个机会了解一下puerTs插件:https://github.com/Tencent/puerts
  • 很久之前就想制作一款快节奏的坦克大战竞技游戏;
  • 可以的话会将游戏发布到itch或steam

unreal 权威服务器游戏:SHWorld

最后计划是制作一款3DMMOARPG项目,作为整个项目的收官作品。

素材会使用官方提供的免费素材。

计划的架构方式是采用unreal自带的DS(专用服务器)作为房间服务器 + nakama作为网关服务器和世界服务器。这种架构方式类似龙之谷这种对及时反馈要求比较高的游戏。

具体还要评估制作难度和自己的能力。

可以的话,也希望这个项目最后能够发布在itch或者steam上,希望大家到时候捧场。

结束语

最后就是感谢我的粉丝过去对我的支持,谢谢你们给了我全职做UP 主的勇气。

未来我会努力制作更多更精品的游戏开发、游戏设计教程,不辜负大家的期望!

打个广告,B站、知乎、抖音和快手搜索“游戏脉搏”,老李会在这个频道分享自己对于游戏的独到见解。

谢谢大家!拜拜!