47 lines
2.7 KiB
Markdown
47 lines
2.7 KiB
Markdown
# Tourmaline Engine
|
|
Tormaline Engine is a game engine created for C++23. [Source Code](https://git.thenight.club/cat/Tourmaline-Engine/).
|
|
|
|
### Currently the project is still trying to incorporate following parts (in no particular order):
|
|
- [ ] ECS (Builtin)
|
|
- [X] Logging (Builtin)
|
|
- [X] Random Generation (Builtin)
|
|
- [ ] Graphics (Magnum Graphics)
|
|
- [ ] Physics Integration (ReactPhysics3D)
|
|
- [ ] Audio (Builtin + miniaudio)
|
|
- [ ] Particles (Builtin)
|
|
- [ ] Video playback (Builtin + FFmpeg(subject to change))
|
|
- [ ] Asset Archiving (Searching for a library)
|
|
- [ ] UI (Magnum UI)
|
|
- [ ] Shaders (Builtin)
|
|
|
|
# Usability Status
|
|
Tourmaline is by no means currently usable. The project is incredible volatile with constant changes and improvements. Please wait until a release is made.
|
|
|
|
However if you cannot just help yourself you can compile a tourmaline demo by running
|
|
```
|
|
g++ program.cpp -std=c++23 -lTourmaline -lCorradeUtility -lCorradePluginManager -I/usr/local/include/TourmalineExternal -o program
|
|
```
|
|
|
|
# 3rd Party Libraries Credits
|
|
- [Corrade/Magnum](https://magnum.graphics/) - graphics middleware by Vladimír "Mosra" Vondruš.
|
|
- [miniaudio](https://miniaud.io/) - audio playback and capture library by David "Mackron" Reid.
|
|
- [Xohiro](https://github.com/david-cortes/xoshiro_cpp/blob/master/xoshiro.h) implementation by David Blackman and Sebastiano Vigna.
|
|
|
|
# Special Thanks
|
|
- [Lars "harmonyisdead"](https://github.com/larsl2005) for hosting the thenight.club services.
|
|
- [Vladimír "Mosra" Vondruš](https://github.com/mosra) for their mentorship of my C++ knowledge/projects, and the people at the [magnum gitter channel](https://matrix.to/#/#mosra_magnum:gitter.im), for their continous support and feedback of this project.
|
|
- [Kae "voxelfoxkae"](https://voxelfox.co.uk/) for mentorship.
|
|
|
|
# Not-so frequently asked questions
|
|
### Version Scheming
|
|
Tourmaline uses a single digit that ticks up by 1 for each version. There are no major or minor updates or versions. The project can be seen as a rolling release project.
|
|
|
|
### What is Tourmaline and Why is that the name?
|
|
From [Wikipedia](https://en.wikipedia.org/wiki/Tourmaline)
|
|
> Tourmaline is a crystalline silicate mineral group in which boron is compounded with elements such as aluminium, iron, magnesium, sodium, lithium, or potassium.
|
|
|
|
From [Find Gemstone](https://www.findgemstone.com/blog/what-is-tourmaline-used-for-in-industry/)
|
|
> Tourmaline has unique electric properties, including the ability to generate an electric charge as well as maintain electromagnetic radiation. These characteristics make tourmaline useful in the production of a range of electronics.
|
|
|
|
In short Tourmaline is a very versatile "Gem". This name is given to the third iteration of a project that once only concern itself with Video playback on Magnum graphics.
|