heheboobes
nebula-engine
Nebula Engine - 2D game engine built on C++ and SFML
Documentation snapshot
README 快照
翻译暂时拿不到。
机器翻译的项目简介,仅供参考。原文在下方,也可以直接用浏览器自带的整页翻译 (Chrome / Edge 点地址栏右侧的翻译图标,或用右键菜单里的「翻译成中文」)。
下面正文是项目自己的英文 README。想读全文就用浏览器自带的整页翻译: Chrome / Edge 点地址栏右侧的翻译图标,或用右键菜单里的「翻译成中文」; 手机浏览器一般在菜单里。
本页保存的是公开项目资料快照,阅读过程不需要连接 GitHub。
Nebula Engine
图片:Build Status 图片:Version 图片:License 图片:C++ 图片:Platform 图片:Tests
A high-performance 2D game engine built on C++ and SFML, designed for rapid prototyping and production-grade game development.
Features
- Entity Component System (ECS) architecture
- Hardware-accelerated 2D rendering pipeline
- Built-in physics engine with collision detection
- Spatial audio system
- Scene management with transitions
- Live editor and debugging tools
- Cross-platform (Windows, Linux, macOS)
- Post-processing effects pipeline
- Particle system
- 2D lighting system
- Networking (TCP/UDP)
System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| OS | Windows 10, Ubuntu 20.04, macOS 11 | Windows 11, Ubuntu 22.04, macOS 13 |
| CPU | Intel i5 / AMD Ryzen 3 | Intel i7 / AMD Ryzen 5 |
| RAM | 4 GB | 8 GB |
| GPU | OpenGL 3.3 support | OpenGL 4.5 support |
| Disk | 500 MB | 2 GB |
Dependencies
- C++17 compatible compiler (GCC 9+, Clang 12+, MSVC 2019+)
- CMake 3.14+
- SFML 2.6+
- OpenGL 3.3+
- OpenAL (audio)
Building
# Clone the repository
git clone https://github.com/heheboobes/nebula-engine.git
cd nebula-engine
# Configure
cmake -B build -DCMAKE_BUILD_TYPE=Release
# Build
cmake --build build --config Release
# Run tests
ctest --test-dir build
Build Options
| Option | Default | Description |
|---|---|---|
NEBULA_BUILD_TESTS | ON | Build unit tests |
NEBULA_BUILD_EXAMPLES | ON | Build example projects |
NEBULA_BUILD_EDITOR | ON | Build the editor |
NEBULA_ENABLE_PROFILING | OFF | Enable built-in profiler |
Quick Start
#include
using namespace nebula;
class MyGame : public Application {
public:
MyGame() : Application("My Game", 1280, 720) {}
void onInit() override {
auto player = ecs::World::createEntity();
ecs::World::addComponent(player, "hero.png");
ecs::World::addComponent(player, {640, 360});
}
void onUpdate(float dt) override {
auto& t = ecs::World::getComponent(player);
if (Input::isKeyHeld(Key::Right)) t.position.x += 300 * dt;
if (Input::isKeyHeld(Key::Left)) t.position.x -= 300 * dt;
}
void onRender() override {
Renderer::begin(camera);
Renderer::drawSprites();
Renderer::end();
}
ecs::Entity player;
gfx::Camera camera;
};
int main() {
MyGame game;
game.run();
}
Downloads
| Platform | Link |
|---|---|
| Windows | nebula-engine-v0.7.0-win64.zip |
| Linux | nebula-engine-v0.7.0-linux.tar.gz |
| macOS | nebula-engine-v0.7.0-macos.tar.gz |
Documentation
- API Overview
- Getting Started
- ECS Tutorial
- Graphics Guide
- Physics Guide
- Audio Guide
- UI Guide
- Scene Guide
- Networking Guide
- Editor Guide
- Performance Guide
- Best Practices
- Examples
- Changelog
Acknowledgments
- SFML - Multimedia library
- Dear ImGui - Editor UI framework
- Tracy Profiler - Performance profiling
- nlohmann/json - JSON serialization
- All contributors and community members
License
MIT License
Official distribution
获取与安装
暂未发现可确认的官方软件包地址
当前 README 快照没有出现 npm、PyPI、Crates.io、pub.dev 等官方包页链接。本站不会根据仓库名称猜测下载地址。
本站不托管项目文件;需要安装时,请以项目维护者发布的官方文档为准。
Before installing
使用前核验
本站保存公开资料用于阅读,不代表安全审计或功能背书。安装前请核对许可证、依赖来源和发布签名,不要直接运行来源不明的二进制文件或高权限脚本。