不懂代码,也能把游戏发到Steam?
GDevelop 是一款免费开源的 2D、3D 和多人游戏引擎。用可视化事件表就能做玩法,并发布到 Web、桌面和移动平台。

想做游戏的人很多,实际打开 Unity 、 Godot 或 Unreal 以后,常常先被脚本、工程结构和构建环境劝退。
GDevelop 给了爱好者一条轻一些的路线:拖入角色和场景,用“条件 + 动作”的事件表描述规则,再点预览运行。它可以做 2D 、 3D 和多人游戏,也支持 Web 、 Windows 、 macOS 、 Linux 、 Android 与 iOS 等发布方向。
这里要先纠正一个容易混淆的词:游戏平台名称是 Steam,Stream 是常见误写。 GDevelop 能导出桌面游戏包,提交 Steam 仍要自己注册 Steamworks 、准备商店资料并完成平台审核。
GDevelop 是什么
GDevelop 是一套开源、跨平台的游戏编辑器与运行引擎。 GitHub 仓库 4ian/GDevelop 目前有 2.4 万多个 Star 。仓库说明写得很明确:它面向 2D 、 3D 和多人游戏,核心玩法可以通过事件系统与模块化 Behavior 完成,AI 功能用于辅助创建。
编辑器和引擎的主要部分采用 MIT 许可证。使用 GDevelop 导出的游戏可以闭源、出售,也可以发布到商业商店。 GDevelop 名称与 Logo 仍属于项目方,不能把品牌标识当成自己的资产使用。

它内部并不“简陋”:2D 渲染使用 PixiJS,3D 使用 Three.js,物理能力包含 Box2D 和 Jolt Physics 。只是这些复杂技术被包在对象、行为和事件表后面,普通用户不需要从底层写起。
它适合做什么
比较适合的方向有:
- 2D 平台跳跃、俯视角射击、塔防、解谜、卡牌与休闲小游戏。
- 简单 3D 跑酷、探索、射击原型和低多边形游戏。
- Game Jam 、课程作业、互动广告、活动页面和玩法验证。
- Web 小游戏、 Steam 独立游戏、 Android 与 iOS 轻量游戏。
- 想学游戏逻辑,但暂时不想先学一门编程语言的人。
它也有边界。大型开放世界、复杂网络同步、追求顶级画面或大量自定义渲染的项目,通常更适合 Unity 、 Godot 或 Unreal 。 GDevelop 支持 JavaScript 和扩展开发,但项目一旦大量依赖定制代码,零代码优势会逐渐变小。
“无需写代码”也不等于无需思考逻辑。变量、状态、碰撞、计时器、对象生命周期和性能优化仍然要懂,只是表达方式从代码换成了事件表。

免费到什么程度
GDevelop 的编辑器和游戏引擎可以免费使用,免费计划能创建完整游戏、使用大量免费素材、发布到 gd.games,也提供有限次数的桌面与 Android 云构建。
当前官方价格页列出的免费额度包括:
- 完整开源引擎与编辑器。
- 免费计划可保存少量云项目。
- 桌面端和 Android 云构建每天各有有限次数。
- 可以试用 AI 、多人游戏与在线服务,但额度有限。
- 支持手动导出;部分手动流程需要开发工具。
iOS 云发布、更高的云构建次数、更多 AI 额度、多人协作与更长版本历史属于付费计划中的能力。官网还写明:如果账号用于年收入超过 5 万美元的公司,需要 Pro 会员。

发布到商店也会产生平台侧费用。 Steam Direct 、 Apple Developer Program 、 Google Play Console 都有自己的账号、费用和审核规则,这些不包含在 GDevelop 的“免费开源”里。
详细教程:做一个能跑、能跳、能捡金币的小游戏
下面用 2D 平台游戏做示范。目标很简单:玩家左右移动和跳跃,捡到金币加分,碰到敌人重新开始,走到终点进入胜利画面。
第一步:打开编辑器
可以直接使用网页版:
https://editor.gdevelop.io/
也可以下载 Windows 、 macOS 或 Linux 桌面版:
https://gdevelop.io/download
第一次体验建议用桌面版,资源文件和本地预览更直观。注册账号后可以使用云项目、在线构建与发布服务;只做本地项目时,也可以把工程保存在自己的磁盘里。
第二步:新建项目
进入首页后选择:
Create a project → Empty game
如果想更快看到结果,也可以搜索 Platformer 模板。模板适合学习现成结构,空项目更容易理解每一步发生了什么。
设置项目名称,例如:
Coin Runner
打开第一张 Scene,把它重命名为:
Level1
第三步:加入玩家角色
在 Objects 面板点击“添加对象”,选择 Sprite,命名为:
Player
上传一张角色图片,或者从 Asset Store 选择免费素材。打开 Player 的 Behaviors,添加:
Platformer character
这个行为已经包含左右移动、重力、跳跃、落地检测等逻辑。属性里可以调整:
- Maximum speed:最大移动速度。
- Acceleration:起步加速度。
- Deceleration:松开按键后的减速。
- Jump speed:跳跃力度。
- Gravity:重力大小。
先保留默认值,进入预览确认方向键和空格键能控制角色。
第四步:制作地面和平台
新增一个 Sprite 或 Tiled Sprite,命名:
Ground
给 Ground 添加 Behavior:
Platform
把它在场景底部拉长,再复制几个对象放到不同高度。 Player 的 Platformer Character 会自动识别带有 Platform 行为的对象,不需要手写碰撞和重力代码。
如果玩家会穿过平台,检查三件事:Ground 是否添加了 Platform 行为、碰撞遮罩是否覆盖图片主体、 Player 的碰撞遮罩是否过大或过小。

第五步:加入金币
添加 Sprite,命名:
Coin
在场景中复制多个 Coin 。打开 Events 页面,建立一条事件:
条件:Player is in collision with Coin
动作:Delete Coin
动作:Add 1 to scene variable Score
事件表的理解方式很直接:左边条件满足时,执行右边动作。
为了防止同一枚金币在一帧内重复计分,可以在条件里加入:
Trigger once while true
第六步:显示分数
添加 Text 对象,命名:
ScoreText
放到左上角。再添加一条没有条件、每帧执行的事件:
动作:Change ScoreText text to "金币:" + ToString(Variable(Score))
为了让分数一直固定在屏幕上,可以把 ScoreText 放到单独的 UI Layer,或者添加“Anchor”行为,让它固定在窗口左上角。
第七步:让镜头跟随玩家
在 Events 中添加:
无条件
动作:Center the camera on Player
横版关卡很长时,镜头就会跟着 Player 移动。如果不想上下晃动,可以只修改相机 X 坐标,Y 坐标保持固定。
第八步:加入敌人与失败规则
添加 Sprite,命名:
Enemy
给 Enemy 添加 Platformer character、Pathfinding 或社区移动扩展都可以。最简单的方式是使用 Tween 或固定速度,让敌人在两个点之间移动。
先完成失败事件:
条件:Player is in collision with Enemy
动作:Restart the scene
如果希望角色有生命值,可以创建场景变量 Life,碰撞时减 1,并用计时器做短暂无敌。第一版先用重开场景,测试链路更短。
第九步:制作终点
添加 Sprite,命名:
Finish
新建第二张 Scene:
Victory
在 Level1 的 Events 中添加:
条件:Player is in collision with Finish
动作:Change the scene to Victory
Victory 场景放一个“通关”文字和 Restart 按钮。按钮点击后执行:
Change the scene to Level1
第十步:预览、调试、保存
点击顶部 Preview 。每做完一个小功能就预览一次:
- 角色能否移动与跳跃。
- 平台碰撞是否稳定。
- 金币是否只计分一次。
- 敌人碰撞是否触发失败。
- 终点是否切换场景。
如果事件没有执行,先打开 Debugger,看对象数量和变量值。很多问题来自对象名写错、行为没添加、事件条件永远无法满足,或者资源路径失效。

做成 3D 游戏怎么开始
新建项目时可以选择 3D 模板,或者在场景中添加:
- 3D Box:地面、墙体和占位模型。
- 3D Model:导入角色、道具和建筑模型。
- 3D Light:添加光源。
- 3D Camera:控制视角。
- 3D Physics:处理重力、碰撞和刚体。
第一次做 3D,建议先做一个房间:地面、一面墙、一个可移动角色、一个终点。模型数量少、贴图尺寸小,预览性能会更稳定。 GDevelop 的 3D 能力适合原型和轻量作品,复杂材质、超大场景与高级渲染需要更多测试。
发布到 Web
打开 Publish 菜单,选择 Web 或 gd.games。填写游戏名称、缩略图和说明,构建完成后会得到可分享链接。
Web 发布前要检查:
- 游戏窗口比例是否适配手机和桌面。
- 触控按钮是否只在移动设备显示。
- 音频是否需要用户首次点击后才播放。
- 图片和音频体积是否过大。
- 浏览器刷新后存档是否正常。
Web 是最适合第一版试玩的渠道。先让朋友玩,收集卡关、误触和性能问题,再做商店版本。
发布到 Windows 、 macOS 、 Linux 和 Steam
在 Publish 中选择 Desktop,生成对应系统的构建包。免费计划当前提供有限的每日云构建次数;也可以按官方文档使用开发工具进行手动导出。
发 Steam 的基本流程是:
- 在 Steamworks 注册并完成 Steam Direct 流程。
- 创建 App,填写商店页、分级、隐私和系统要求。
- 从 GDevelop 导出 Windows 、 macOS 或 Linux 桌面包。
- 在 Steamworks 中配置 Depot 和 Launch Options 。
- 使用 SteamPipe 上传构建。
- 在测试分支验证启动、存档、分辨率、手柄和成就。
- 提交商店页与游戏构建审核。
GDevelop 负责生成游戏,Steam 负责商店、支付、分发和审核。 Steam 成就、云存档、创意工坊等功能需要额外接入相应 SDK 或扩展,导出桌面包不会自动拥有这些能力。
发布到 Android
项目属性里先设置:
- Package name,例如
com.example.coinrunner。 - Version number 与 Version code 。
- 横屏或竖屏方向。
- 游戏图标、启动画面和权限。
测试阶段生成 APK,安装到自己的 Android 手机。准备上 Google Play 时生成 AAB,并在 Play Console 创建应用、上传构建、填写隐私与内容分级。
免费计划当前允许有限次数的 Android 云构建。 Google Play 开发者账号、签名、商店审核和隐私政策仍需自己处理。
发布到 iOS
iOS 发布门槛更高,需要 Apple Developer 账号、 Bundle ID 、证书与签名配置。使用 GDevelop 的 iOS 云发布要看当前会员计划和额度;官方价格页目前把 iOS 云发布列在较高等级方案中。
手动路线通常还需要 macOS 和 Xcode:
- 从 GDevelop 导出 iOS 工程或使用支持的构建流程。
- 在 Xcode 中设置 Team 、 Bundle Identifier 和签名。
- 真机测试屏幕比例、触控、音频和后台行为。
- Archive 后上传 App Store Connect 。
- 填写截图、隐私标签、年龄分级与审核说明。
- 通过 TestFlight 测试,再提交正式审核。
所以“支持 iOS”是平台能力,不等于免费账号点一下就能直接上架。
素材、音乐和版权别漏掉
Asset Store 里有大量免费与付费素材,每个素材包的许可证可能不同。发布商业游戏前要保存授权记录,确认图片、字体、音乐和音效允许商用。
AI 生成素材也要检查平台条款、相似作品风险和人物商标。模板可以拿来学习,但不要只换标题和图标就上架,玩法、关卡和美术最好做出自己的版本。
适合爱好者的学习顺序
第一周做一个 2D 平台游戏,理解对象、行为、事件和变量。第二周加入 UI 、音效、存档与移动端触控。第三周发布 Web 试玩版,根据真实反馈修改。
等第一款小游戏完整跑通,再碰多人游戏、 3D 物理、广告、内购和 Steam SDK 。这样能更快获得一个“真的可以玩”的成品,也更容易判断自己是否愿意继续投入。
GDevelop 降低的是实现门槛,游戏是否好玩仍取决于关卡、反馈、节奏和反复测试。对喜欢折腾的爱好者来说,它很适合用一个周末验证点子;如果越做越深,事件表、 JavaScript 和扩展系统也留出了继续学习的空间。
来源链接: https://github.com/4ian/GDevelop
相关分享: https://x.com/GithubProjects/status/2075965850146963573