Game Engine written in Rust
| crates | ||
| docs | ||
| moonhare_engine | ||
| playground | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
Moonhare Engine
Game Engine written in Rust
(Currently this is just a fun side project, sooo if this engine works eventually, use it at your own risk :D)
My Goals
- make a somewhat simple (mainly 3D) Game Engine
- provide some abstraction so that for example different graphics APIs could be used
- focus is on OpenGL
- allow Scripting via C#
- learn a metric ton about rust, game engine architecture and graphics programming :3
Blog
On my Blog I'm writing a series about building this engine. So far these parts have been published:
Architecture:
Crates
- MoonhareECS
- Entity Component System, (still debating with me if I want a proper ECS or not, current system takes inspiration from it though)
- MoonhareEngine
- MoonhareEvent
- MoonhareGame
- core Engine functionality
- MoonhareGraphics
- provides integration for GLFW with Glium (OpenGL)
- Abstraction for used Graphics API
- MoonhareLog
- Wrapper around the Log and fern crates
- MoonhareWindow
- deals with GLFW Window creation
Node System
Game Loop
window_update()
- is concerned about handling input
- checks if the window moves/minimizes,...
update()
- for example: calculates npc movement, etc.
render()
- renders updated game state to the screen

