不会写代码,也能做出自己的游戏
GDevelop 是一款开源的无代码 2D/3D 游戏引擎。这份教程从创建角色、金币和计分规则开始,一直讲到 Web、Android、iOS 与 Steam 发布。

想做游戏的人很多,打开 Unity 、 Godot 或 Unreal 后,常常先被脚本、节点、材质和工程配置劝退。
GDevelop 提供了一条轻量路线:拖入角色和场景,用“条件 + 动作”写游戏规则,不会编程也能做出可玩的 2D 、 3D 或多人游戏。它有网页版、桌面版和移动版,完成后可以发布到网页、 Windows 、 macOS 、 Linux 、 Steam 、 Android 和 iOS 。
先把“免费”说清楚:GDevelop 的编辑器、游戏引擎和内置扩展采用 MIT 许可证,制作出的游戏可以发布和销售,也不必公开自己的项目源码。它的云打包、 AI 、云存档和多人服务有免费额度与订阅档位;Steam 、 Google Play 、 App Store 的开发者账号和上架费用由各平台收取。公司年收入超过官方条款所列门槛时,需要使用 Pro 方案。
GDevelop 能做什么

它适合制作这些项目:
- 横版跳跃、俯视角射击、塔防、解谜、卡牌和点击类 2D 游戏。
- 低多边形 3D 跑酷、探索、射击和物理小游戏。
- 带大厅、玩家登录、排行榜的轻量多人游戏。
- 游戏 Jam 原型、课堂项目、互动广告和可在浏览器运行的小作品。
编辑器里有 Sprite 、 Tilemap 、文字、粒子、灯光、 3D 模型、 3D 盒子、相机和 UI 对象。常见逻辑可以直接添加 Behavior,例如平台角色移动、寻路、生命值、拖拽、 Tween 、物理和触屏摇杆。

它也留了继续深入的出口。事件系统不够用时,可以插入 JavaScript,或者编写扩展。源码仓库里的游戏运行时使用 TypeScript,2D 和 3D 渲染分别依托 PixiJS 、 Three.js,物理部分包含 Box2D 和 Jolt 等组件。
它不擅长什么
GDevelop 降低了编程门槛,但游戏设计、素材制作和调试仍要自己完成。碰撞不合理、关卡不好玩、资源太大、手机发热,这些问题不会因为“无代码”自动消失。
大型开放世界、写实 3A 画面、重度主机项目、需要深度原生插件的工程,已经超出它最舒服的范围。 3D 功能可以做完整作品,工具深度和生态规模仍与 Unreal 、 Unity 有差距。第一次尝试建议从 2D 小游戏开始,完成速度更快。
“可发布到 iOS”也不等于免费点一下就上架。 iOS 云打包属于付费方案范围,还需要 Apple Developer 账号、证书、 Provisioning Profile 和 App Store 审核。 Steam 需要 Steamworks 账号、产品页面、每个应用的费用和商店审核。
安装与创建第一个项目
下载地址:
https://gdevelop.io/download
Windows 、 macOS 、 Linux 都有桌面版,也可以直接打开网页版:
https://editor.gdevelop.io
桌面版更适合长期做项目和管理本地素材。网页版适合先体验,登录后可使用云项目。安装完成后按下面操作:
- 点击 Create a project。
- 初学者可以选择 Platformer 模板,先看一个能运行的项目。
- 想从空白开始,选择 Empty game。
- 新建场景,命名为
Level1。 - 在项目属性中填写游戏名称、窗口尺寸、包名和图标。包名可先写成
com.yourname.mygame,后续发布移动端时再确认唯一性。
界面通常分为三块:场景编辑器负责摆放内容;项目管理器保存对象、场景和资源;事件编辑器负责游戏规则。版本更新后按钮位置可能略有变化,核心概念基本不变。

详细教程:做一个“吃金币”平台游戏
下面做一个最小可玩的版本:角色能左右移动和跳跃,站在地面上,碰到金币后金币消失,分数增加。
第一步:创建玩家
在 Level1 场景中:
- 点击 Add a new object。
- 选择 Sprite,对象名填
Player。 - 添加一张角色图片。没有素材时,可以从 Asset Store 选择免费资源。
- 把
Player拖到场景左侧。 - 打开 Player 的 Behaviors。
- 添加 Platformer character 行为。
这个行为已经包含左右移动、重力、跳跃和落地判断。默认键盘控制通常可以直接预览,参数页还能调整加速度、最大速度、跳跃速度和重力。
第二步:创建地面
- 新建 Sprite 对象,命名为
Ground。 - 使用一张地面或方块图片。
- 把它拉宽,铺在场景底部。
- 给
Ground添加 Platform 行为。
Player 的 Platformer character 会识别带 Platform 行为的对象。点击顶部预览按钮,角色应该能站在地面上移动和跳跃。如果直接掉下去,先检查地面是否添加了正确行为,再看两个对象的碰撞蒙版。
第三步:添加金币
- 新建 Sprite 对象,命名为
Coin。 - 添加金币图片,放到角色能够跳到的位置。
- 复制几个 Coin,摆成一条路线。
- 如果素材有多帧,可以在 Sprite 动画里调整播放速度,让金币旋转。
第四步:用事件实现吃金币
打开 Level1 的 Events 页面,添加一条事件:
条件:Player 与 Coin 发生碰撞
动作:删除 Coin
动作:场景变量 Score 加 1
在可视化界面里的操作大致是:
- Add condition → 搜索
Collision。 - 第一个对象选
Player,第二个对象选Coin。 - Add action → Coin →
Delete the object。 - 再加动作 → Variables → 给场景变量
Score增加1。

这就是 GDevelop 的事件思路:左边放条件,右边放满足条件后执行的动作。它看起来不像代码,但仍然是在表达程序逻辑。
第五步:显示分数
- 新建 Text 对象,命名为
ScoreText。 - 把它放在屏幕左上角。
- 新建一个图层,命名为
UI,把 ScoreText 放到 UI 层,避免相机移动时文字跟着关卡跑。 - 添加一条没有条件、每帧执行的事件:
动作:把 ScoreText 的文字改为
"分数:" + ToString(Variable(Score))
表达式输入框可以帮助搜索变量和文本转换函数。预览后,每吃一个金币,数字就会加一。
第六步:让相机跟随角色
添加一条每帧执行的动作:
Center the camera on Player
如果只想横向跟随,可以调整相机 X 坐标,保留固定的 Y 。场景比窗口大以后,相机跟随才能看出效果。
第七步:增加失败和重新开始
在地面下方放一个不可见对象,命名为 DeathZone,再添加事件:
条件:Player 与 DeathZone 发生碰撞
动作:重新开始当前场景
也可以给 Player 增加生命值 Behavior,做受伤、无敌时间和游戏结束界面。第一版先保持简单,确保移动、金币、分数和重开都稳定。
调试时先看这四处
预览没反应时,按这个顺序检查:
- 对象名称:事件里的 Player 、 Coin 是否选对。
- 行为:Player 是否有 Platformer character,Ground 是否有 Platform 。
- 碰撞蒙版:透明边缘太大时,角色可能隔空碰撞;蒙版太小又会漏判。
- 事件顺序与变量范围:场景变量只属于当前场景,全局变量可跨场景保存。删除对象后再访问它的动作,要注意事件执行顺序。
编辑器里的 Debugger 可以查看运行中的变量和对象实例,Profiler 可以定位耗时事件。游戏一旦出现“偶尔才复现”的问题,调试器比反复猜更有效。
做 3D 游戏时怎么开始

3D 入门可以从空场景开始:
- 添加 3D Box 作为地面和障碍物。
- 添加 3D Model 作为角色或场景资产。
- 放置 3D Light,调整环境光和阴影。
- 使用 3D 相机行为或扩展控制视角。
- 需要物理效果时添加 3D Physics 行为。
- 先用低多边形、低贴图尺寸素材测试手机性能。
2D 与 3D 可以混用,例如 3D 场景配 2D UI 。第一次做 3D 时,不要先堆大量模型。先验证角色移动、相机、碰撞和一张小地图,性能稳定后再加内容。
发布到网页和 gd.games
项目能稳定预览后,点击工具栏里的 Share。
发布到 gd.games 的路径最短:
- 选择 Web 或生成网页链接。
- 登录 GDevelop 账号。
- 生成链接,先发给朋友测试。
- 确认无误后,将该构建发布到游戏页面。
官方文档说明,gd.games 托管免费,可以更新当前公开构建。发布前建议设置 16:9 缩略图、游戏简介和操作说明。
如果要上传到自己的网站、 Itch.io 、 Poki 、 CrazyGames 或 Newgrounds,可导出 HTML5 文件夹或 ZIP 。服务器需要正确提供 index.html 和资源文件,不要只上传入口文件。
发布到 Windows 、 macOS 、 Linux 和 Steam

桌面版发布路径:
Share → Desktop → Windows / macOS / Linux
免费方案当前提供桌面云打包额度,官网价格页标注为每天一次;订阅方案额度更高。需要完全自己掌控构建时,可以选择手动导出 Electron 项目,再运行:
yarn
yarn build
产物通常在 dist 目录。跨系统构建可能失败,正式发布最好在目标系统测试。
发布 Steam 还要完成这些步骤:
- 注册 Steamworks,创建应用并支付平台要求的应用费用。
- 在 GDevelop 中填写 Steam App ID;需要成就、 Overlay 或其他能力时,启用 Steamworks 集成。
- 分别导出 Windows 、 macOS 、 Linux 构建。
- 在 Steamworks 为每个平台建立 Depot 。
- 上传构建,配置 Launch Options,先走测试分支。
- 完成商店素材、年龄分级、问卷和审核后再公开发布。
macOS 构建有一个常见坑:Steam 网页上传可能破坏应用包里的符号链接。官方文档建议用 macOS 或 Linux 的 unzip 解压,并使用 steamcmd 上传 macOS Depot,避免应用启动时报 Electron Framework 缺失。
发布到 Android
先在项目属性里确认:
- 包名唯一,例如
com.yourname.mygame。 - 游戏图标齐全。
- 触屏控制、屏幕比例和返回键逻辑已经在真机测试。
然后进入:
Share → Android → One-click packaging
选择输出格式:
- APK:适合直接安装到手机测试。
- AAB:Google Play 上架使用。
点击 Package for Android,云端构建完成后下载文件。免费方案当前标注为 Android/桌面每天一次云打包。发布 Google Play 还需要 Google Play Console 开发者账号,并按商店要求准备隐私政策、应用图标、截图、内容分级和数据安全信息。
发布到 iOS
iOS 流程更长:
- 注册 Apple Developer Program 。
- 在 App Store Connect 创建应用与 Bundle ID 。
- GDevelop 项目的包名必须与 Apple App ID 完全一致。
- 准备 Development 或 Distribution 证书。
- 创建 Provisioning Profile 。
- 在 GDevelop 中选择 Share → iOS → One-click packaging。
- 生成 IPA,提交到 App Store Connect,先通过 TestFlight 测试,再申请 App Store 审核。
当前官方价格页把 iOS 云发布额度放在 Gold 与 Pro 方案中。 Apple Developer Program 也有独立年费,所以“引擎免费”不等于 iOS 上架全程零成本。想先验证玩法,可以先发布 Web 版或 Android APK,等游戏稳定后再处理苹果证书和审核。
免费版够不够用
对爱好者和第一次做游戏的人,免费版足够完成从原型到可分享作品的全过程:编辑器和引擎功能完整,能本地开发,可以发布 gd.games,也有桌面与 Android 的每日云打包额度。
可能产生费用的地方包括:
- AI 调用、更多云项目、版本历史和多人服务额度。
- 高频云打包与 iOS 云打包。
- 高级素材、模板、字体和音效授权。
- Steam 、 Google Play 、 App Store 的开发者账号或应用费用。
- 广告、服务器、域名、隐私合规和推广。
素材商店里同时有免费和付费资源。发布商业游戏前,要逐个检查图片、音乐、字体、模型和扩展的许可证,不能因为它们能被导入编辑器,就默认拥有商业使用权。
适合怎样的折腾路线
第一周可以只做一个场景:角色移动、收集物、分数和失败重开。第二周增加开始菜单、音效和第二关。第三周发布网页链接,让朋友试玩,再根据反馈修碰撞、操作和难度。
这条路线看起来慢,却能尽早得到一个完整游戏。直接挑战大型 RPG 或多人 3D 项目,往往会在素材、关卡和状态管理上卡住。
GDevelop 很适合想把游戏点子做成可玩原型的人。它省掉了大量语法和工程配置,但没有省掉游戏制作本身。事件、变量、场景、碰撞、资源和发布流程,仍然值得耐心学一遍。