ENIGMA Forums

General fluff => Announcements => Topic started by: Goombert on September 02, 2018, 10:26:30 am

Title: RadialGM Releases, MSVC, Vertex Buffers, and EGM
Post by: Goombert on September 02, 2018, 10:26:30 am
RadialGM is currently (https://dev.azure.com/enigma-dev/RadialGM/_apis/build/status/enigma-dev.RadialGM?branchName=master) (https://dev.azure.com/enigma-dev/RadialGM/_build/latest?definitionId=5&branchName=master)

If you like the progress we've been making, please consider supporting us on Patreon!
https://www.patreon.com/bePatron?u=10889206
(https://c5.patreon.com/external/logo/become_a_patron_button.png) (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 is required.
https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads

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 [snip]vertex_*[/snip] 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/8876f6141c575b7ee45dab3adea1fccfb7688331
https://github.com/enigma-dev/enigma-dev/commit/5fa7fcecbd0aaf493103149407c88a13105280a5
https://github.com/enigma-dev/enigma-dev/commit/21dce9bcc32963b788547db96c2215579970993a
https://github.com/enigma-dev/enigma-dev/commit/4e05f616fa7bb02b5d6c7c2d9eb589ada494deee
https://github.com/enigma-dev/enigma-dev/commit/c5a87764affa2fb9141aabfe0c711a859d06f45e
https://github.com/enigma-dev/enigma-dev/commit/d490b5067a8b6f256c135e21ea187705fa414c9e
https://github.com/enigma-dev/enigma-dev/commit/16807a76050455a379d2c434047dc7db12fb4bfc
https://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 [snip]*.edl[/snip] 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!
Title: Re: RadialGM Releases, MSVC, Vertex Buffers, and EGM
Post by: hpg678 on September 02, 2018, 01:32:51 pm
well written and very informative. I'm just bursting with excitement ;D ;D . Thing that interest me most is this new DND interface.  (Y) (Y)
Title: Re: RadialGM Releases, MSVC, Vertex Buffers, and EGM
Post by: Wendigo on September 03, 2018, 06:37:38 am
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!
That for sure  ;D
Can it already be built on Linux?
Title: Re: RadialGM Releases, MSVC, Vertex Buffers, and EGM
Post by: Goombert on September 03, 2018, 12:39:39 pm
Quote from: hpg678
I'm just bursting with excitement
Woah, easy cowboy, ENIGMA is #1 best of the best we have all the best engineers, you don't need to worry it'll be stable soon  (Y)  :eng101:

Quote from: Wendigo
Can it already be built on Linux?
Yes it can, but like I said it's still highly experimental, we're hard at work. I just merged in the start to the preferences dialog and was designing an updated room editor this morning. If you get on Discord we can help you build it on Linux, fundies is still on Linux remember.

You just need to recursively clone the RadialGM repo with [snip]git clone --recursive https://github.com/enigma-dev/RadialGM.git[/snip] then cd into the [snip]enigma-dev[/snip] submodule and make all the libEGM depends the same as you do for the main ENIGMA setup right now. Then you go back to the top-level RadialGM folder and open [snip]qtcreator RadialGM.pro[/snip] to build. Fundies uses qmake though, so that way should work also. I still have to review the Linux CMake pull request he just sent the other day, we don't support CMake build on Linux just yet.

Also, instead of building it, there's something much simpler you can do if you just want to test. Run the Win32 release in WINE, I am told by people on Discord that it works. I wasn't even expecting it but people tried it on their own. I am also told that GMS stopped working in WINE a long time ago.
Title: Re: RadialGM Releases, MSVC, Vertex Buffers, and EGM
Post by: time-killer-games on September 03, 2018, 11:24:24 pm
I wouldn't mind being an official Mac beta tester. It seems hugar already wants to do that for Linux and I'm sure there's plenty of people who can and will test on Windows. I'd like to cover whatever everyone else can't or doesn't want to do, as far as platforms are concerned, so we can get this ball rolling on all three.
Title: Re: RadialGM Releases, MSVC, Vertex Buffers, and EGM
Post by: Goombert on September 04, 2018, 03:11:13 am
That'd be good Sam, and that's a really smart idea too. I don't want to jump on that train yet until we have more editors working though, but let's definitely do that.  (Y)
Title: Re: RadialGM Releases, MSVC, Vertex Buffers, and EGM
Post by: pavul on September 19, 2018, 03:59:21 pm
i would like to use mac or linux as well, but honestly i am lost, i may need a manual step by step to install all necesary and build.
Title: Re: RadialGM Releases, MSVC, Vertex Buffers, and EGM
Post by: hpg678 on September 20, 2018, 02:37:21 am
i would like to use mac or linux as well, but honestly i am lost, i may need a manual step by step to install all necesary and build.


When RGM is fully finished, the process will be fully documented, so there's no need to worry. As Goombert said, it will be similar to LGM, but without having to use Java.


Much process have been made to RGM though. The guys have really worked hard and done a magnificent job. They really have. (Y)


if you have any problems or need help, you can also chat with them on the Discord channel, or as usual, post here in the Forums.
Title: Re: RadialGM Releases, MSVC, Vertex Buffers, and EGM
Post by: pavul on September 20, 2018, 10:01:19 am
i would like to use mac or linux as well, but honestly i am lost, i may need a manual step by step to install all necesary and build.


When RGM is fully finished, the process will be fully documented, so there's no need to worry. As Goombert said, it will be similar to LGM, but without having to use Java.


Much process have been made to RGM though. The guys have really worked hard and done a magnificent job. They really have. (Y)


if you have any problems or need help, you can also chat with them on the Discord channel, or as usual, post here in the Forums.


i'll wait, im on discord channel as well, but im waiting eagerly.