Just a experimental WIP game engine im building for fun and for learning Rust. It doesn't have an actual name..
it's so cool when it doesn't segfaults
It Bullet Physics for real-time 3D collision detection.
Support for rust is provided by the wrapper for rust bulletrs.
Examples:
sphere
It uses Deno under the hood for Javascript and WebAssembly support. But instead of using whole Deno itself, it only uses a modified version of it's core package.
deno_core
itself is a wrapper for rusty_v8, so in the end, we end up using v8.
As deno_core
is very opinionated to be used in servers and cli contexts in a secure manner, its Rust/Javascript bridge (called ops) is a bit slow, as all data passed must be serialized. The modified version intents to expose the raw V8 api to the JSRuntime
object, while keeping still useful parts like: module loading, async code and error handling.
Examples:
javascript-hello-world
javascript-builtin
javascript-modules
javascript-exceptions
javascript-op-sum
javascript-webassembly
It uses Skia (the graphics engine for Google Chrome) for basic 2D graphics, the created images can be turned into OpenGL textures, and be used for stuff like: GUIs, performance graphs, and writting to disk. Although there isn't a complete Canvas2D like API yet, basic support exists.
There is a basic Entity Component System implementation. Although it is not the fastest implementation out there (see cold_ecs
in build, update) it's has a very nice syntax, and is easy to use IMO.
The engine ships with windowing functions, OpenGL 4.5 core profile functions, and a basic graphics API.
Texture Atlases created with TexturePacker can be loaded using the JSON output format.