第二十一部分:时间系统基础:游戏内时钟、白天黑夜、日期、季节、每日刷新、睡觉存档
这一部分开始给游戏世界加“时间感”。 前面我们的世界已经有: 但它还是比较静态: 时间系统要解决的就是: 比如: 这套系统一出来,你的 RPG 就会开始有“生活模拟”的味道。 1\. 游戏时间和真实时间不是一回事 先分清两个概念: 比如: 这就是很多 RPG / 农场游戏 / 模拟经营游戏的时间压缩。 不要用电脑系统时间直接当游戏时间。 原因: Godot 的 单例可以读取系统时间,也能提供单调递增的 ticks;官方文档特别提醒,系统...
第二十七部分:敌人 AI 进阶:巡逻、追击、攻击、逃跑、技能释放、仇恨范围、状态机拆分
这一部分开始升级敌人 AI。 前面我们的 Enemy 可能已经能做到: 但目前敌人还比较简单: 现在要做得更像正式 RPG: 这一部分会让你的战斗体验提升很多。 1\. 敌人 AI 的核心问题 敌人 AI 本质上是在回答: 比如: 所以敌人 AI 最适合用: 前面 Player 已经用了状态机。 Enemy 也应该有自己的状态机。 2\. 第一版进阶 Enemy AI 要做什么 这一部分建议做: 先不要做: 第一版目标: 3\. Ene...
第二十三部分:NPC 日程系统基础:按时间移动、白天开店、晚上回家、雨天待在室内
这一部分开始做 NPC 日程系统。 前面我们已经有了: 现在可以让 NPC 从“站桩工具人”升级成“会生活的人”。 比如: 这会让世界更有生活感。 1\. NPC 日程系统要解决什么 NPC 日程系统核心就是: 比如: 所以 NPC 日程不是简单的“走来走去”。 它本质上是: 2\. 第一版 NPC 日程先做什么 第一版先做: 先不要做: 第一版目标是: 3\. 日程数据应该怎么表示 一个 NPC 一天可能有多条日程。 比如商人: 每一...
第二十二部分:天气系统基础:晴天、雨天、雪天、雾天、天气概率、天气视觉效果、天气存档
这一部分开始做天气系统。 前面我们已经有了: 天气系统就可以接在时间系统上。 比如: 这样世界就会更有生命感。 1\. 天气系统要解决什么 天气系统主要负责: 第一版不要一上来做复杂气象模拟。 先做: 就够了。 2\. 天气系统第一版目标 第一版建议做到: 先不要做: 这些都可以后面慢慢加。 第一版核心就是: 3\. WeatherManager 放在哪里 天气属于全局世界状态,所以推荐做成 Autoload。 创建: 设置为 Auto...
第二十五部分:战斗技能系统基础:技能数据、冷却、蓝量/体力、近战技能、远程技能、AOE 技能
这一部分开始升级战斗系统。 前面我们的战斗已经有: 但现在玩家的战斗方式还比较单一: 现在我们要做技能系统,比如: 技能系统会让战斗从“平砍”变成“有选择、有节奏、有资源管理”。 1\. 技能系统要解决什么 技能系统主要解决: 比如一个火球术: 比如一个横扫斩: 比如一个治疗术: 第一版不要做得太复杂。 先做: 2\. 第一版技能系统目标 第一版建议做这些: 先不要做: 第一版核心是: 3\. SkillData 为什么也适合用 Res...
第二十六部分:Buff / Debuff 系统基础:中毒、燃烧、减速、眩晕、攻击提升、防御提升、持续时间管理
这一部分开始做 Buff / Debuff 系统。 前面我们已经有了: 现在要继续升级战斗状态。 比如: 这就是 Buff / Debuff 系统。 1\. Buff 和 Debuff 是什么 简单理解: 比如 Buff: 比如 Debuff: 在代码层面,Buff 和 Debuff 可以用同一套系统处理。 区别只是: 所以我们可以统一叫: 或者: 为了 RPG 里好理解,这一部分统一用: 但它可以表示正面 Buff,也可以表示负面 D...
第二十四部分:对话选项与分支系统:购买、聊天、任务、条件对话、任务状态分支
这一部分开始升级对话系统。 前面我们的 NPC 已经可以: 但目前交互还是比较直线: 现在我们要做成更像 RPG 的形式: 这就是对话选项系统。 1\. 为什么需要对话选项 没有选项时,NPC 只能做一件事。 比如商人 NPC: 但真实 RPG 里,商人可能有多个功能: 任务 NPC 也可能有多个状态: 所以对话选项系统要解决的是: 而不是 NPC 自己直接决定全部流程。 2\. 第一版对话选项要做什么 第一版建议做这些: 先不要做:...
第二十部分:地图状态保存:宝箱已打开、Boss 已击败、机关已触发、采集点刷新
上一部分我们已经能做到: 但现在还有一个大问题: 这就是“地图状态保存”要解决的问题。 1\. 什么是地图状态 地图状态就是: 比如: 这些状态和玩家背包、等级不一样。 玩家数据属于: 地图变化属于: 也就是: 2\. 第一版地图状态先保存什么 第一版建议先做这几类: 先不要做: 普通小怪可以切地图刷新。 普通掉落物也可以切地图消失。 第一版重点保存“重要且不可重复领取”的东西。 3\. 为什么每个地图对象都需要 persistent...
第二部分:Godot 的运行结构:SceneTree、节点生命周期、脚本、信号
这一部分很重要。你后面做 RPG、地图、角色移动、天气、四季、怪物、交互、UI,都会不断碰到这几个概念: Node 节点 Scene 场景 SceneTree 场景树 Script 脚本 Signal 信号 可以先把 Godot 理解成: 一个游戏 = 一棵正在运行的树 树上的每个对象 = Node 一组节点保存成文件 = Scene 场景运行后挂到总树上 = SceneTree 节点之间通过 Signal 通信 Godot 官方文档也...