news 2026/9/4 13:54:08

免费开源游戏引擎 GDevelop:从克隆仓库到跑起编辑器、写出第一个扩展

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
免费开源游戏引擎 GDevelop:从克隆仓库到跑起编辑器、写出第一个扩展

免费开源游戏引擎 GDevelop:从克隆仓库到跑起编辑器、写出第一个扩展

【免费下载链接】GDevelop🎮 Open-source, cross-platform 2D/3D/multiplayer game engine designed for everyone.项目地址: https://gitcode.com/GitHub_Trending/gd/GDevelop

做游戏却不想啃引擎源码?GDevelop 把这条路铺平了:事件系统加模块化行为,2D、3D、多人游戏都能做,MIT 协议意味着你的作品可以随意发布和售卖。而这篇文章面向另一类人——想把功能塞进引擎里的你:给对象加一个新行为、让事件面板多一个动作。跟着走,一两个小时内你就能看到自己的扩展出现在编辑器里。

先认识仓库的 5 个顶层目录

在敲任何命令前,值得花两分钟搞清楚代码放在哪。仓库拆成职责明确的五块:

目录干什么的
Core/C++ 核心类,定义游戏结构,支撑 IDE 与工具链
GDJS/用 TypeScript 写的游戏引擎本体,2D 靠 PixiJS、3D 靠 Three.js 渲染
GDevelop.js/把 C++ 核心编译成 WebAssembly 的 JS 绑定,供 IDE 调用
newIDE/编辑器本体,React + Electron
Extensions/内置扩展,平台行为、物理、灯光、文本都在这里

记住一句话就够:你改扩展只碰Extensions/,改引擎才进GDJS/Runtime/。两者之间的桥梁是编辑器自带的 watcher——编辑器运行时它会自动重新构建引擎,改完代码直接跑一次场景预览即可生效。

GDevelop 编辑器界面,展示事件系统与对象属性编辑

装 3 样东西,然后跑起来

准备清单很短:Git、Node.js、一个顺手的代码编辑器(VS Code 即可,建议带上 Prettier 和 ESLint 插件)。Yarn 可有可无。

然后是最短路径:

git clone https://gitcode.com/GitHub_Trending/gd/GDevelop cd GDevelop/newIDE/app && npm install && npm start

npm start之后浏览器会自动打开本地服务,看到编辑器界面就算跑通了——这一步同时就是验证方式,不用额外跑测试。有两个高频坑先说在前面:Linux 上若报ENOSPC,是文件监视上限太低,调高 inotify 即可;想跑 Electron 桌面版,需保持npm start的终端不关,另开终端在newIDE/electron-app/里执行npm install && npm run start

扩展长什么样:先读一遍官方示例

写自己的代码之前,先把Extensions/ExampleJsExtension/读一遍——仓库自带的示例扩展,声明、工具函数、行为、对象、PixiJS 渲染器一个不少,是最可靠的对照手册。

一个 JS 扩展固定由两半组成:

  • 声明:文件名必须叫JsExtension.js,放在Extensions/下你自己的目录里。它向 IDE 注册扩展名、动作、条件、表达式、属性和依赖;
  • 运行时实现:TypeScript 文件,按惯例叫xxxtools.ts(通用函数)、xxxruntimebehavior.ts(行为)、xxxruntimeobject.ts(对象)。

行为要继承gdjs.RuntimeBehavior,关注构造函数、doStepPreEventsdoStepPostEvents这几个钩子就够了;对象则继承gdjs.RuntimeObject,再配一个 Pixi 渲染器。细节别硬记,写的时候对照示例文件抄结构。

GDevelop 开发的游戏作品,展示引擎在不同品类上的表现

验证与求助:控制台就是你的调试台

扩展改动不需要手动打包,编辑器开着时JsExtension.js和 runtime 文件的变更会被自动导入。判断是否成功就两条:改声明文件后在开发者控制台按 Ctrl+R(macOS 用 Cmd+R)重载,改 runtime 文件后重新跑一次预览。

卡住时,永远先打开开发者控制台:

  • 启动时看到Loaded x JS extensions.,说明扩展加载完成;
  • 看到GDJS Runtime update,说明你刚改的文件已导入;
  • 出现红色报错就点开它,参数没传够、API 用错,绝大多数"静默 bug"都在这里现形。

官方文档在 GDJS/ 目录下有入口,运行时 API 的类级说明(RuntimeBehaviorRuntimeScene等)可直接在引擎源码旁读到;更深的架构问题,Core/GDevelop-Architecture-Overview.md 值得通读一遍。

下一步:挑一个官方扩展改个参数

别一上来就写新目录——先去Extensions/PlatformBehavior/这类成熟扩展里动一个数值或加一条动作,走一遍"改声明 → 看控制台 → 跑预览"的完整循环。等这条链路你闭着眼都能走通,再新建Extensions/MyExtension/,从JsExtension.js里声明一个最简单的动作开始,就是你的第一个真正属于 GDevelop 生态的扩展了。

【免费下载链接】GDevelop🎮 Open-source, cross-platform 2D/3D/multiplayer game engine designed for everyone.项目地址: https://gitcode.com/GitHub_Trending/gd/GDevelop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/4 13:53:35

如何用 MLX 在苹果芯片上跑通推理与训练:3 条命令上手指南

如何用 MLX 在苹果芯片上跑通推理与训练:3 条命令上手指南 【免费下载链接】mlx MLX: An array framework for Apple silicon 项目地址: https://gitcode.com/GitHub_Trending/ml/mlx MLX 是苹果机器学习研究团队为 Apple Silicon 芯片打造的机器学习数组框架…

作者头像 李华
网站建设 2026/9/4 13:50:48

MiniMax H3系列评测解析:本地部署与选型指南

前几天,我在一个技术社群里看到有人问“MiniMax H3 能不能本地部署”,底下十几条回复,讨论重点很快从部署命令滑向了一个更实际的问题:就算装上了,它跟 H3 Max、FastH3 preview 到底有多大差别,值不值得为多…

作者头像 李华
网站建设 2026/9/4 13:49:08

LLM应用架构:单一模型与动态路由的工程权衡与实战对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华