【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站、知乎、抖音和快手搜索“游戏脉搏”,老李会在这个频道分享自己对于游戏的独到见解。
谢谢大家!拜拜!