You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
1.3 KiB
24 lines
1.3 KiB
2 months ago
|
# gæmstone Game Engine
|
||
|
|
||
|
Similarly to a certain billionare with his obsession with the letter 𝕏, I have
|
||
|
my own issues. More specifically, I want a game engine that allows for content
|
||
|
creation and scripting at runtime, and while in multiplayer, without any
|
||
|
significant interruptions. It doesn't exist, so I have to write my own.
|
||
|
|
||
|
This has been going on for over a decade, and the name "gæmstone" stuck, thus
|
||
|
there's a couple of failed iterations, such as one written in C#. Considering
|
||
|
the lack of professionalism in this readme, and by how long this has been going
|
||
|
on, you can likely tell the chances of any semblance of success are very low.
|
||
|
However I've had a lot of fun writing my own "toy" ECS in Rust, and I just like
|
||
|
sharing my code for others to see, maybe get inspired by, so here you go!
|
||
|
|
||
|
The idea is to have a sufficiently dynamic [Entity Component System (ECS)](ECS)
|
||
|
at the core, inspired by [Flecs], to support both runtime creation and deletion
|
||
|
of components, as well as first-class support for entity relationships. Then
|
||
|
throw in some [wasmtime] for scripting. As for windowing, events, rendering and
|
||
|
such.. who knows? Maybe WebGPU.
|
||
|
|
||
|
[ECS]: https://en.wikipedia.org/wiki/Entity_component_system
|
||
|
[Flecs]: https://github.com/SanderMertens/flecs
|
||
|
[wasmtime]: https://github.com/bytecodealliance/wasmtime
|