2025-05-18 18:32:39 +00:00
|
|
|
|
# Onyx Engine
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
**Onyx** is a modern, modular, and fast C++ game engine built for real-time 2D applications.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2025-05-18 18:33:05 +00:00
|
|
|
|
## 🧩 Features
|
2025-05-18 18:32:39 +00:00
|
|
|
|
|
|
|
|
|
- 🔧 **Onyx Engine** – The core runtime, managing rendering, layers, and systems.
|
|
|
|
|
- 🖥️ **Obsidian Editor** – A standalone GUI editor powered by ImGui and Onyx for scene editing, live profiling, and asset management.
|
|
|
|
|
- 💡 **Glint Lighting Engine** – A flexible and performant 2D dynamic lighting system.
|
2025-05-18 17:24:00 +00:00
|
|
|
|
|
2025-05-18 17:26:46 +00:00
|
|
|
|
|
|
|
|
|
|
2025-06-02 18:15:09 +00:00
|
|
|
|
## Project Layout
|
|
|
|
|
|
|
|
|
|
'uaid':
|
|
|
|
|
Unique asset ID: example: 12345678901234567890123456789012
|
|
|
|
|
it's 32 chars long and is unique for every loaded asset.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
|
|
|
|
|
# MyGame.onx
|
|
|
|
|
project:
|
|
|
|
|
name: MyGame
|
|
|
|
|
version: 1.0.0
|
|
|
|
|
description: A top-down RPG made in the Onyx Engine
|
|
|
|
|
author: <Author name>
|
|
|
|
|
|
|
|
|
|
assets:
|
|
|
|
|
- type: texture
|
|
|
|
|
uaid: <len 32 int>
|
|
|
|
|
path: res://assets/textures/player.png
|
|
|
|
|
uid: player_texture
|
|
|
|
|
- type: audio
|
|
|
|
|
uaid: <len 32 int>
|
|
|
|
|
path: res://assets/sounds/theme.ogg
|
|
|
|
|
uid: theme_music
|
|
|
|
|
|
|
|
|
|
scenes:
|
|
|
|
|
- id: main_menu
|
|
|
|
|
uaid: <len 32 int>
|
|
|
|
|
file: res://scenes/main_menu.yaml
|
|
|
|
|
- id: level1
|
|
|
|
|
uaid: <len 32 int>
|
|
|
|
|
file: res://scenes/level1.yaml
|
|
|
|
|
|
|
|
|
|
settings:
|
|
|
|
|
resolution: [1920, 1080]
|
|
|
|
|
fullscreen: false
|
|
|
|
|
vsync: true
|
|
|
|
|
language: en-US
|
|
|
|
|
|
|
|
|
|
```
|