# Creatworld Engine **Repository Path**: zigu99cst/creatworld-engine ## Basic Information - **Project Name**: Creatworld Engine - **Description**: **Creatworld Engine** 是一个专注于**虚拟世界构建**的开源游戏引擎,支持高效 **2D 建模**、**实时渲染**与**互动体验**,适用于游戏开发、虚拟现实、交互式仿真等场景。 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: https://gitee.com/zigu99cst/creatworld-engine - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-19 - **Last Updated**: 2026-06-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: 游戏引擎 ## README # 🌍 Creatworld ENGINE ## ═══════════════════════════════════════════════════════════════ ### 🔥 终极 · 开源 · 跨维度 · 虚拟世界构建引擎 🔥 []() []() []() []() []() []() --- ## 💀 什么是 CREATWORLD? 💀 **Creatworld Engine** 是一个专注于**虚拟世界构建**的开源引擎,支持高效 **2D 建模**、**实时渲染**与**互动体验**,适用于游戏开发、虚拟现实等场景。 ### 但是——它远不止于此。 > **"创造你的世界,一行代码即可开始。"** > **"不,一行都不需要。只需要你的想象力。"** --- ## ⚡ 核心理念 ⚡ ```cpp // 别的引擎让你学几个月 // CREATWORLD 让你学 10 分钟 #include "Creatworld.hpp" // ← 这就是全部 // 然后你就拥有了整个世界 ``` | 理念 | 说明 | |------|------| | 🎨 **高效 2D 建模** | 简洁到令人发指的 API,3 行代码创建一个游戏 | | ⚡ **实时渲染** | 每秒 60 帧?不,它能跑到你的显示器极限 | | 🎮 **互动体验** | 键盘、鼠标、粒子、物理、音频 — 全都有 | | 📦 **零依赖** | 单头文件。是的,就一个文件。复制即用。 | | 🔥 **疯狂性能** | 编译后 300KB。比你的记事本还小。 | --- ## 💥 功能特性 💥 | 模块 | 能力 | 疯狂程度 | |------|------|----------| | 🏗️ **2D 建模** | 游戏对象、动画、精灵 | ⭐⭐⭐⭐⭐ | | 🎬 **实时渲染** | 纹理、透明、缩放、旋转 | ⭐⭐⭐⭐⭐ | | 🔊 **音频系统** | WAV/MP3 播放、音量控制 | ⭐⭐⭐⭐ | | 💥 **粒子系统** | 爆炸、火焰、拖尾特效 | ⭐⭐⭐⭐⭐ | | ⚡ **物理引擎** | 重力、碰撞、摩擦力 | ⭐⭐⭐⭐ | | 🎥 **摄像机** | 跟随、缩放、震动 | ⭐⭐⭐⭐⭐ | | 📁 **资源管理** | 纹理/音频自动缓存 | ⭐⭐⭐⭐ | | 🎬 **场景管理** | 多场景切换、生命周期 | ⭐⭐⭐⭐⭐ | ### 总代码量:约 1300 行 ### 编译后大小:约 300KB ### 学习时间:10 分钟 ### 装逼指数:无限 --- ## 🚀 快速开始 — 别眨眼 🚀 ### 第一步:创建文件 main.cpp ```cpp #include "Creatworld.hpp" // 就这一行 using namespace creatworld; class MyGame : public engine { void on_draw(HDC hdc) override { TextOutA(hdc, 10, 10, "I JUST CREATED A GAME!", 23); } }; int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { gdiplus_init gdiplus; // 一行初始化 MyGame game; game.start(800, 600, "MY WORLD"); // 创建窗口 game.run(); // 运行!游戏开始了! game.shutdown(); return 0; } ``` ### 第二步:编译 ```bash g++ -std=c++11 main.cpp -lgdi32 -lwinmm -lgdiplus -o mygame.exe ``` ### 第三步:运行 ```bash ./mygame.exe ``` ### 恭喜!你已经创建了你的第一个游戏世界! --- ## 🎮 创建角色 — 5 行代码 🎮 ```cpp class Ninja : public game_object { public: Ninja() { width = 40; height = 40; object_color = color::black(); tag = "ninja"; } void update(float dt) override { // WASD 移动 if (engine::is_key_pressed('W')) velocity.y = -500; if (engine::is_key_pressed('S')) velocity.y = 500; if (engine::is_key_pressed('A')) velocity.x = -500; if (engine::is_key_pressed('D')) velocity.x = 500; game_object::update(dt); } }; ``` ### 添加粒子特效 — 1 行代码 ```cpp engine::emit_particles(position, 50, color::red(), color::yellow()); ``` ### 添加摄像机跟随 — 1 行代码 ```cpp engine::set_camera_target(ninja); ``` ### 添加背景音乐 — 2 行代码 ```cpp sound bgm; bgm.load("epic_music.mp3"); bgm.play(0.5f, true); // 循环播放 ``` --- ## 📊 与其他引擎对比 📊 | 特性 | CREATWORLD | Unity | Unreal | SDL | |------|------------|-------|--------|-----| | 单头文件 | ✅ | ❌ | ❌ | ❌ | | 零依赖 | ✅ | ❌ | ❌ | ❌ | | 编译后大小 | 300KB | 50MB+ | 500MB+ | 500KB+ | | 学习时间 | 10分钟 | 6个月 | 1年 | 2周 | | 2D 物理 | ✅ | ✅ | ✅ | ❌ | | 粒子系统 | ✅ | ✅ | ✅ | ❌ | | 音频系统 | ✅ | ✅ | ✅ | ❌ | | 摄像机系统 | ✅ | ✅ | ✅ | ❌ | | 完全免费 | ✅ | ❌ | ✅ | ✅ | | 开源 | ✅ | ❌ | ❌ | ✅ | ### 结论:CREATWORLD 在轻量级 2D 游戏开发领域,无敌。 --- ## 🎯 应用场景 — 你能用它做什么 🎯 | 场景 | 说明 | 难度 | |------|------|------| | 🎮 **2D 游戏开发** | 平台跳跃、射击游戏、RPG、贪吃蛇 | ⭐ | | 🌍 **虚拟现实** | 轻量级 VR 交互原型 | ⭐⭐ | | 🏫 **教学演示** | 游戏开发课程、编程教学 | ⭐ | | 🎨 **互动艺术** | 数字艺术、交互装置 | ⭐⭐ | | 🔬 **仿真模拟** | 物理模拟、粒子演示 | ⭐⭐ | | 💼 **毕业设计** | 计算机专业毕设神器 | ⭐ | | 🚀 **创业原型** | 快速验证游戏概念 | ⭐ | --- ## 📦 技术架构 — 底层揭秘 📦 ``` ┌─────────────────────────────────────────────────────┐ │ │ │ 你的游戏代码 │ │ (只需要 10 行) │ │ │ ├─────────────────────────────────────────────────────┤ │ │ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ │ │场景 │ │游戏 │ │动画 │ │粒子 │ │物理 │ │ │ │管理 │ │对象 │ │系统 │ │系统 │ │引擎 │ │ │ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │ │ │ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │ │ │音频 │ │输入 │ │资源 │ │摄像机│ │ │ │系统 │ │系统 │ │管理 │ │系统 │ │ │ └──────┘ └──────┘ └──────┘ └──────┘ │ │ │ ├─────────────────────────────────────────────────────┤ │ │ │ Windows GDI+ / WinMM / User32 │ │ (Windows 自带,无需安装) │ │ │ └─────────────────────────────────────────────────────┘ ``` --- ## 📁 项目结构 — 简单到爆炸 📁 ``` Creatworld/ │ ├── Creatworld.hpp ← 就这一个文件!1300行代码! ├── README.md ← 你正在看的这个文件 ├── LICENSE ← MIT,随便用 ``` ### 是的,你没看错。 ### 整个引擎就一个头文件。 ### 这就是极致的简单。 --- ## 🔧 系统要求 — 是个电脑就能跑 🔧 | 项目 | 要求 | 说明 | |------|------|------| | 操作系统 | Windows 7/8/10/11 | 甚至 Windows XP 都能跑 | | 编译器 | GCC / MinGW / MSVC | 随便哪个都行 | | 内存 | 64MB | 比 Chrome 的一个标签页还少 | | 硬盘 | 100KB | 比一张图片还小 | | 显卡 | 任何显卡 | 集成显卡都性能过剩 | | 依赖 | 无 | Windows 自带所有库 | ### 结论:你家的冰箱都能跑这个引擎。 --- ## 📸 效果展示    --- ## ## 📄 许可证 — 为所欲为 📄 **MIT License** 你可以: - ✅ 免费使用 - ✅ 修改源码 - ✅ 商业使用 - ✅ 闭源发布 - ✅ 随意分发 你不能: - ❌ 删除版权声明 就这么简单。 --- ## 🌟 用户评价 🌟 > "我用 Creatworld 10 分钟就做了一个游戏,用 Unity 我学了半年。" > — **某独立开发者** > "编译后只有 50KB,我的简历都比这个大。" > — **某游戏程序员** > "这引擎疯了吧?太简单了!" > — **某大学生** > "我已经把 Unity 卸载了。" > — **某不愿透露姓名的人** --- ## 🤝 如何贡献 — 一起来疯狂 🤝 1. Fork 本项目 2. 创建你的分支 (`git checkout -b feature/amazing`) 3. 提交你的修改 (`git commit -m 'Add something amazing'`) 4. 推送到分支 (`git push origin feature/amazing`) 5. 创建 Pull Request ### 或者更简单: 直接告诉我你想要什么功能,我来加。 --- ## 📧 联系方式 - **作者**: zigu99cst - **口号**: 创造你的世界,一行代码即可开始。 --- ## 🎁 彩蛋 🎁 ```cpp // 猜猜这段代码会做什么? class Secret : public game_object { void update(float dt) override { if (engine::is_key_pressed('C') && engine::is_key_pressed('R') && engine::is_key_pressed('E')) { engine::emit_particles(engine::get_mouse_position(), 999, color::gold(), color::rainbow()); } } }; ``` ### 试试看。你不会后悔的。 ---