综合 / 后端 · 2026-10-03 14:38 · 6 阅读 · 0 赞
做游戏不用从零开始:15 个开源项目 + Claude Code、Codex 上手清单
整理 15 个开源游戏开发项目,涵盖通用引擎、网页图形、轻量框架与资产工具,并说明如何配合 Claude Code、Codex 这类编码助手快速起步。
昨天整理了一批视频制作方向的常用开源项目:Claude Code、Codex 做视频?这几套现成 Skills,直接抄作业!
今天继续看游戏制作方向的开源项目。如今做游戏的门槛确实低了不少,自己动手做一个已经不是遥不可及的事。

开源引擎这几年成熟得很快,再加上 Claude Code、Codex 这类编码助手能直接帮你写脚本、调参数、查文档,做游戏这件事已经从“系统学半年”变成了“一个周末先跑起来再说”。

GitHub 上游戏方向的两个头部开源项目——引擎 Godot 和网页 3D 库 Three.js,star 数都超过了 110k+,放在整个开源世界里都属于前排。


下面按四类介绍一批开源游戏开发项目:完整引擎、网页方向、轻量特色引擎、资产工具。

一、通用游戏引擎
1、Godot:想完整做一款游戏,可以先看它
GitHub:https://github.com/godotengine/godot
Godot 自带可视化编辑器,场景搭建、动画、脚本编写都能在里面完成,2D 和 3D 游戏都能做。它的 GDScript 语法接近 Python,也支持 C#,有编程基础的话上手不算难。
对个人开发者来说,Godot 比较省事:编辑器轻便,资料也多,不用一开始就花大量时间搭工具链。采用 MIT 协议,可以用于商业项目。需要发布到哪些平台,尤其是使用 C# 的项目,建议先确认对应的导出支持。
2、Bevy:用 Rust 写游戏
GitHub:https://github.com/bevyengine/bevy
Bevy 是用 Rust 编写的游戏引擎,支持 2D 和 3D,主要通过代码组织游戏。它采用 ECS(实体组件系统)架构,把对象的数据和处理逻辑拆开管理。
如果你已经在学 Rust,想找个游戏项目练手,可以试试 Bevy。不过别按传统可视化引擎的使用习惯来期待它。使用时还要留意版本变化,升级可能需要跟着迁移指南修改代码。
3、GDevelop:通过可视化事件编写玩法
GitHub:https://github.com/4ian/GDevelop
GDevelop 的主要特点是可视化事件系统。比如“角色碰到金币,分数加一”,可以通过设置条件和动作完成,不必先写一段代码。
没学过编程,也能从简单的玩法开始做;会写代码的人,则可以用它快速验证想法。随着逻辑变复杂,事件同样需要整理,无代码只是换了一种表达方式。
4、Flax Engine:C++ 内核,C# 脚本
GitHub:https://github.com/FlaxEngine/FlaxEngine
Flax 偏向 3D 游戏开发,自带编辑器,使用 C++ 编写内核,支持用 C# 写游戏逻辑。习惯 C#、又想了解引擎底层实现的开发者,可以关注这个项目。
它的源码可以查看,但使用的是自定义许可,不能直接按 MIT、Apache 这类开源协议理解。用于商业项目时,需要查看它的授权和收费条款。
二、网页游戏与图形开发
5、Three.js:做网页 3D 的常用库
GitHub:https://github.com/mrdoob/three.js
Three.js 是 3D 图形库,产品展示、交互动画、数据可视化和网页游戏都能用。场景、相机、材质、灯光这些基础功能已经提供,具体怎么组织项目,由开发者自己决定。
它的示例和周边工具很多,做网页 3D 时经常会用到。不过要完成一款游戏,物理、玩法逻辑等部分仍需要自己补上。
6、Babylon.js:功能比较齐全的网页 3D 引擎
GitHub:https://github.com/BabylonJS/Babylon.js
Babylon.js 提供场景管理、动画、粒子、WebXR 等功能,也能通过插件接入物理引擎。官方还有 Playground,可以直接在浏览器里修改和运行示例。
如果你准备做一个包含较多交互的网页 3D 项目,可以先看看它的现成功能是否够用。和 Three.js 怎么选,拿同一个小场景分别试做一次,比单看功能列表更容易判断。
7、Phaser:专注网页 2D 游戏
GitHub:https://github.com/phaserjs/phaser
Phaser 面向 2D 游戏,提供场景管理、输入、音频、动画和物理等常用功能,可以用 JavaScript 或 TypeScript 开发。
消除、平台跳跃、休闲闯关这类网页小游戏,都可以用它来做。对前端开发者来说,语言和开发工具比较熟悉,可以把更多时间放在玩法上。
8、PixiJS:侧重 2D 渲染
GitHub:https://github.com/pixijs/pixijs
PixiJS 主要负责 2D 图形渲染,适合精灵动画、交互界面和需要绘制大量图形的项目。
它不提供 Phaser 那样完整的游戏开发功能,游戏规则、物理等部分需要另外组织。如果你只需要渲染能力,或者准备自己搭一套框架,可以看看它。
9、PlayCanvas:带配套在线编辑器的网页引擎
GitHub:https://github.com/playcanvas/engine
PlayCanvas 面向网页 3D,除了引擎,还有配套的在线编辑器,支持场景编辑和团队协作。游戏、产品展示、交互演示都可以用它制作。
这里的 GitHub 仓库是开源引擎本身,在线编辑器属于配套平台服务,两者需要分开看。如果打算依赖编辑器协作开发,还要了解平台套餐和项目管理方式。
三、其他值得关注的引擎与库
10、raylib:用 C 语言直接写
GitHub:https://github.com/raysan5/raylib
raylib 是一个 C 语言游戏开发库,支持 2D 和 3D。创建窗口、绘制图形、读取输入,基本都通过直接的函数调用完成,没有复杂的编辑器操作。
想通过做小游戏练习 C 语言,或者写一些图形演示和教学案例,可以从它开始。代码如何让画面动起来,看得比较清楚。
11、Defold:关注包体和运行开销
GitHub:https://github.com/defold/defold
Defold 使用 Lua 编写游戏逻辑,自带编辑器,支持跨平台发布。它比较重视包体大小和运行效率,适合关注加载速度、下载体积的网页与移动端项目。
做 2D 休闲游戏可以重点看看,也具备 3D 能力。另外,它虽然公开源码,但采用自定义许可,选型时应单独查看授权条款。
12、LÖVE:用 Lua 做 2D 小游戏
GitHub:https://github.com/love2d/love
LÖVE 是一个 Lua 2D 游戏框架。准备几个脚本文件,就能开始绘制画面、处理键盘输入和播放声音。
它适合喜欢直接写代码的人,做小型游戏、玩法原型都比较方便。没有完整的场景编辑器,项目结构和关卡组织需要自己安排。
13、O3DE:体量较大的 3D 引擎
GitHub:https://github.com/o3de/o3de
O3DE 由 Amazon Lumberyard 演变而来,是一个面向复杂 3D 项目的开源引擎,包含渲染、动画、物理和编辑器等系统。
它的工程规模较大,搭建环境、学习工具和理解架构都需要时间。团队有明确的 3D 项目需求,或需要研究、定制引擎底层,可以进一步评估;只想做个小型游戏的话,没必要从这么重的工具开始。
四、模型与资产工具
14、Blender:制作模型和动画
GitHub:https://github.com/blender/blender
Blender 主要用来制作 3D 内容,包括建模、雕刻、绑定、动画和渲染。做游戏时,角色、场景、道具等素材都可以在这里制作,再导入游戏引擎。
它和前面的引擎分工不同:Blender 负责制作资产,引擎负责把素材和玩法组织成游戏。实际配合使用时,需要留意导出格式,以及材质、动画在目标引擎中的兼容情况。
15、Assimp:给程序增加模型导入能力
GitHub:https://github.com/assimp/assimp
Assimp 是一个 3D 模型导入库,可以读取多种模型格式,并转换成统一的数据结构,方便程序继续处理。
它主要面向开发者,不是建模软件。如果你正在写自己的渲染器、模型查看器,或者需要给工具增加模型加载功能,可以用它减少逐个解析文件格式的工作。
总结
- 想要免费全能、教程最多:Godot。
- 喜欢 Rust 和现代架构:Bevy。
- 不会写代码先做出东西:GDevelop。
- 网页 3D 要自由度选 Three.js,要开箱即用选 Babylon.js。
- 网页 2D 直接上 Phaser,要极致性能往下沉到 PixiJS。
- 做模型和动画,Blender 早晚要用上。
不说了,我去把 Godot 的新手教程跑通,争取这周别弃坑~