tag

编辑器

共 15 篇文章。
全部文章JavaGo书稿TypeScript游戏开发独立开发者小游戏游戏设计Godot性能优化RustKafkaPython游戏引擎
engine

《游戏引擎实现原理》8.2 文档模型与脏标记

一份可编辑的场景文档长什么样?本节用扁平节点表存节点树,区分运行期句柄 id 与稳定标识 uid,把「改了一个节点,哪些东西要重算」交给脏标记来回答:任何改动沿父链向上标脏到根,刷新时按祖先先于后代的顺序处理。每次改动还追加一条变更记录,作为第 9 章撤销栈的接缝。

7 分钟阅读
游戏引擎 子系统与工具 编辑器
engine

《游戏引擎实现原理》8.1 编辑器与运行时的关系

编辑器与运行时到底共用什么、隔离什么?本节用一份共享的场景数据模型,把编辑态与运行态拆成两份实例:进入 Play 时深拷贝文档,运行时只改副本,Stop 后编辑态原样恢复。最后用一组 vitest 用例把快照、暂停与幂等停止在本机真跑一遍,并说明为何场景文档用扁平节点表而不是 ECS。

8 分钟阅读
游戏引擎 子系统与工具 编辑器
engine

《游戏引擎实现原理》11.3 资产浏览器与关卡编辑

资产浏览器要把引擎眼里的扁平「路径→资产」解释成一棵可展开的树,关卡编辑则把《微光岛》的关卡数据装进编辑器并校验引用。本节实现资产树构建、类型判定、稳定 GUID、拖放载荷编解码与关卡加载,并在本机真跑 13 条 vitest 用例;拖放交互属 L4,需在浏览器中手动验证。

7 分钟阅读
游戏引擎 子系统与工具 编辑器
engine

《游戏引擎实现原理》11.1 gizmo 与拾取射线

视口要回答的是「鼠标点在画面上究竟选中了谁、拖动了多少」。本节把拾取射线与变换 gizmo 的几何抽成纯数学:像素→NDC→世界射线、射线与有限轴线的最短距离、轴手柄与面手柄判定、沿轴拖拽位移的求解,并在本机真跑 12 条 vitest 用例;真实鼠标拖拽属 L4,需在浏览器中手动验证。

10 分钟阅读
游戏引擎 子系统与工具 编辑器
engine

《游戏引擎实现原理》10.3 多选编辑与批量修改

同时选中多个对象时,属性面板该显示什么?本节实现多选编辑的纯数据部分:求公共属性、把值聚合成「全等」或「混合」两种状态、再生成只包含真正变化项的批量命令。公共属性、混合值判定与批量命令生成都在本机真跑并有 vitest 用例;面板渲染与交互属 L3/L4,需在浏览器中手动验证。

8 分钟阅读
游戏引擎 子系统与工具 编辑器
engine

《游戏引擎实现原理》10.2 编辑器控件与类型映射

面板拿到字段后,该给它配哪种控件?本节写一张字段类型到控件种类的映射表:数值对应数字框、bool 对应勾选框、vec3 展开成三分量、句柄对应对象引用,再叠一个可覆写的控件注册表处理个别特例。映射与解析逻辑在本机真跑并有 vitest 用例;真实 DOM 控件的创建属 L3,需在浏览器中手动验证。

7 分钟阅读
游戏引擎 子系统与工具 编辑器
engine

《游戏引擎实现原理》10.1 反射驱动的属性面板

属性面板不该为每个组件手写 UI。本节把卷一第 16 章的反射描述符接进编辑器:从类型描述与实例展开出纯数据的「面板描述模型」——字段名、标签、类型、当前值、只读与枚举候选,不含任何 DOM。该数据模型在本机真跑并有 vitest 用例;DOM 渲染属 L3,需在浏览器中手动验证。

8 分钟阅读
游戏引擎 子系统与工具 编辑器
nix

Nix 语言服务器与编辑器工具链:补全、格式化与静态检查

Nix 是动态类型、惰性求值的语言,写错一个属性名往往要等到求值才报错。语言服务器把补全、跳转、诊断搬进编辑器,格式化器统一风格,statix 与 deadnix 提前拦下反模式与死代码。本文对比 nil 与 nixd 的取舍、给出各编辑器的接入配置、讲清 nixd 的选项补全原理,并用 treefmt 与 pre-commit 把检查固化到 CI。

10 分钟阅读
Nix 工具链 编辑器
defold

Defold 关卡编辑器与数据驱动:Tilemap、Collection 复用与运行时构建

系统覆盖 Defold 关卡设计与编辑:Tilemap 关卡编辑(图块、图层、碰撞数据)、Collection 复用与预制关卡、关卡数据驱动(配置/JSON 描述关卡)、运行时动态构建关卡(程序生成、拼接)、玩家自制关卡(UGC)与导入导出、以及关卡编辑器的工程化(版本管理、批量编辑、热重载)。

9 分钟阅读
Defold Tilemap Collection
typescript

TypeScript 语言服务与编辑器插件:TS Server、LSP 与智能提示增强

系统覆盖 TypeScript 语言服务(Language Service)的底层架构与应用:TS Server 进程模型、语言服务 API(诊断/补全/语义标记)、LSP 协议与编辑器通信机制、内置的快速修复与重构能力、自定义 TS 插件(tsPlugins)的编写与发布、VS Code 扩展集成方式,以及性能优化与稳定性保障,帮助工具链开发者理解「编辑器里的 TS 智能提示从哪来」。

6 分钟阅读
TypeScript LSP 编辑器
game

Godot 编辑器与运行时开关:调试功能、实验玩法和灰度配置

开关多了以后,最怕不知道谁生效 游戏客户端里会有很多开关:调试面板、实验 UI、新手流程新版、战斗参数灰度、活动入口、性能诊断、编辑器辅助显示。早期用几个 bool 就够了,后期不同环境、不同账号、不同构建、不同平台都需要不同开关。没有统一管理,线上就会出现测试功能误开、实验功能只关了一半、编辑器开关进入正式包。

9 分钟阅读
Godot 编辑器