RadialGM is currently
If you like the progress we've been making, please consider supporting us on Patreon!https://www.patreon.com/bePatron?u=10889206
It's been a while since I've updated everyone on the current progress around here. I am going to cover a couple of different topics, some related and some not.
First, I want to talk about how we've added MSVC & CMake building support for the enigma-dev command line tools as well as RadialGM. This is in huge part thanks to fundies whose proved himself to be a master of build systems once again. This has allowed us to create a static build of Qt using vcpkg and use it to deploy RadialGM on the GitHub releases page. Some of you watching us on GitHub may have already noticed you can download 4 builds of RadialGM already (permutations of x86, x64, Debug, and Release).
Please consider this an early alpha as we are still hard at work to bring our other ideas to fruition. Only GMK and GMX loading work right now and some editors are incomplete. Functionality is basically equivalent to the current emake used in CI testing. Actually running a project also does not work yet out of the box and I'm not going to bother explaining yet how to integrate it with your enigma-dev setup.
RadialGM Releases: https://github.com/enigma-dev/RadialGM/releases
You may or may not need to download and install the MSVC 2017 runtime as the only prerequisite dependency, everything else is statically linked into the release and ABSOLUTELY NO Java
From here on, we are hoping that later we can spread CMake & MSVC support to the engine as well as provide static releases and installers for additional platforms. This is just the start of many great things to come.
The next topic I want to cover is vertex buffers and recent graphics changes in the engine. I've been doing a massive overhaul to a lot of the sprite/primitive batching and model code to make it more abstract and eliminate duplication in the engine. I have also been benchmarking, regression testing, and fine tuning the API to perform well. You will find that tiles now work in Direct3D9 the same as they do in the OpenGL systems. You will also notice that the vertex_*
API of GMS is now 100% supported in ENIGMA. It is used as the basis of our new 3D model class and used to implement the tiles generically so they work the same in all systems. This has led to not just better performance and less code but improved consistency across the graphics systems.https://github.com/enigma-dev/enigma-dev/commit/8876f6141c575b7ee45dab3adea1fccfb7688331https://github.com/enigma-dev/enigma-dev/commit/5fa7fcecbd0aaf493103149407c88a13105280a5https://github.com/enigma-dev/enigma-dev/commit/21dce9bcc32963b788547db96c2215579970993ahttps://github.com/enigma-dev/enigma-dev/commit/4e05f616fa7bb02b5d6c7c2d9eb589ada494deeehttps://github.com/enigma-dev/enigma-dev/commit/c5a87764affa2fb9141aabfe0c711a859d06f45ehttps://github.com/enigma-dev/enigma-dev/commit/d490b5067a8b6f256c135e21ea187705fa414c9ehttps://github.com/enigma-dev/enigma-dev/commit/16807a76050455a379d2c434047dc7db12fb4bfchttps://github.com/enigma-dev/enigma-dev/commit/42b7d98efe9930acb3ade71205b3778108892730
There will be even more graphics changes to come. The next thing that I am working on is using GLM for matrices in all of the graphics systems. This will fix all of the current transform issues we have and may also improve performance. I already have Direct3D11 using GLM in private tests to pass various rendering tests.
Finally, I want to close by covering some of the things we are doing with the new EGM format that RadialGM will be using for serialization. We only know a few things for sure at this point in time. One thing we do know is that the format will still be based on YAML for the serialization. This time, the entire format will be YAML, and there will be no mix like having binary rooms and yaml objects like the old EGM format did. This will make projects much less likely to be corrupted and easier to recover.
We have already adopted a code-only model that converts the old drag and drop format to GML for backwards compatibility and will later work on a new Drag & Drop action interface. Events of objects will be stored in separate *.edl
script files where objects and timelines will be a directory. We hope that this will make it easier to edit the projects externally as well as add to git revision. RadialGM will facilitate external editing by detecting changes to the code files on the filesystem and reload them accordingly.
That said, I hope you are as excited as I am for RadialGM to reach the stability we want it to be so we can start making games with it. Now I am off to work with fundies on the EGM, please stay tuned for more updates!