Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Goombert

106
Announcements / Re: RadialGM Releases, MSVC, Vertex Buffers, and EGM
« 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 git clone --recursive https://github.com/enigma-dev/RadialGM.git then cd into the enigma-dev 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 qtcreator RadialGM.pro 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.

107
Announcements / RadialGM Releases, MSVC, Vertex Buffers, and EGM
« on: September 02, 2018, 10:26:30 AM »
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 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 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/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 *.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!

108
Sorry I didn't get to this sooner, this is probably a bug in LGM. Are you using OpenJDK or Oracle JDK? We've documented on several occasions where OpenJDK seems to have more bugs, especially with Java Swing apps (which LGM is). I wrote the copy and paste between events mechanism, and the issue could be as simple as the fact that I used a shallow instead of deep copy (programming mistake). I am still trying to focus on other things and we're still focusing on the new IDE, so if you can just ignore it for now, please do so.

Also, if you want, you can file an issue on LGM's tracker, but don't expect a response. It's unlikely I'll find time to do it, and nobody else is interested in developing LGM further. It may still be useful so other people at least know it's an issue. Totally going to leave this up to your decision.
https://github.com/IsmAvatar/LateralGM/issues

109
General ENIGMA / Re: Installing ENIGMA
« on: August 15, 2018, 11:22:28 PM »
The gtest errors are normal actually, make all includes make test-harness which is what we run in Travis CI to run regression tests. I get the same error myself, technically instead of make all just make -j4 will make CompilerSource for you, that's all that you need. Hence, why the wiki page doesn't say make all. I haven't clarified this to people until now.

You can just ignore the test-harness errors, it's a false positive in this case. We haven't ported the test-harness to Windows yet and you don't even need to run it locally, it's for the integration tests. We'll probably end up removing test-harness from the all target to avoid this confusion, I don't know why fundies added it there.

110
General ENIGMA / Re: Installing ENIGMA
« on: August 15, 2018, 11:11:24 PM »
Are you sure the dll is 64 bit? That's what causes this communication error. 64 Java can only load 64 bit dlls with JNI, and extension JNA. This is actually a Windows restriction that a 64 bit process can not load 32 bit dlls. ENIGMA uses JNA.

It's strange that reopening LGM did not rebuild the dll.

I would suggest looking in the terminal for G++ errors, because LGM calls make itself as soon as you open it. You can also remake the the dll yourself with make all -j4.

Again, make sure you are doing all of this from the Mingw64 version of the terminal. There are 3 versions in the start menu, one is MSYS2, one is MinGW32, and the one we use is MinGW64.

111
General ENIGMA / Re: Installing ENIGMA
« on: August 15, 2018, 09:40:17 PM »
@DarkStar2, so you did follow the msys2 setup all the way to step 8? You are running with a 64 bit Java? Try deleting compileEGMf.dll and then running LateralGM again. It's supposed to be remade each time. And make sure you are doing all of this from the mingw64 terminal.

Sorry about the video, I was not aware of it, as I am not the one who sent it to you. To some people it did help them, hence why it's being shared. Trust me when I say other than this we have a plan for an even easier setup that I am actually working on right now over Discord, not discussing much about it right now.

Keep us updated.

112
General ENIGMA / Re: Installing ENIGMA
« on: August 15, 2018, 02:04:27 PM »
No problem, but actually base-devel and the toolchain pkg was already there, the problem was not going to step 8 before running it the first time. To clarify, that was the package that was corrupted which was fixed by running it again.

As for the DirectX runtime, we had that listed on the Troubleshooting page.
https://enigma-dev.org/docs/Wiki/Troubleshoot#Why_am_I_getting_a_popup_about_d3dx9_43.dll.3F

The reason was because I expect that most people already have the runtime installed for playing games or using GMS. And I think since Windows NT 4.0, DirectX is actually installed by default (the issue is having at least 9.0). Also, the graphics actually defaults to OpenGL1.1 still (the most compatible system that is stable). Regardless, let's add it anyway, as I said it's better to be redundant than omit steps for people.
https://enigma-dev.org/docs/wiki/index.php?title=Install%3AWindows&action=historysubmit&diff=31820&oldid=31819

The Java download is still linked from the main download page, since it's essentially a requirement everywhere:
https://enigma-dev.org/download.htm

113
General ENIGMA / Re: Installing ENIGMA
« on: August 15, 2018, 01:13:45 AM »
We ironed this out over Discord, there were several issues in the install guide.
https://enigma-dev.org/docs/Wiki/Install:Windows

* DarkRonin didn't go all the way to step 8 of the MSYS2 setup (likely because it's hard to see and tripped me up too plus somebody else, so that makes 3...)
* Cheeseboy removed the second change directory step after cloning, it's still needed
* I told him to make all, which makes libEGM, but the guide didn't list rapidjson and pugixml or yaml-cpp as depends.

Changes made to improve the guide:
https://enigma-dev.org/docs/wiki/index.php?title=Install%3AWindows&action=historysubmit&diff=31819&oldid=31713

That should help people going forward.

114
Announcements / Re: Graphical Fidelity Testing and Engine Cleanup
« on: August 07, 2018, 10:41:59 AM »
Update again: We've now added a test for 3D shapes (though they aren't completely correct in GL1 right now, we'll at least know when they change).
https://github.com/enigma-dev/enigma-dev/pull/1350


115
Announcements / Re: Graphical Fidelity Testing and Engine Cleanup
« on: August 06, 2018, 01:48:55 PM »
I wanted to update this post a bit with some newer info on the drawing tests. We have finally merged them but we made some significant changes to the architecture. We no longer compare the results against golden images because we want to keep binaries out of the repository so cloning is quicker. What we do now is simply output the images from each draw test to a temporary directory and then essentially compare all the files in each directory.

We report when new tests are added or removed.



That is from a test I recently added when fixing a tile-related regression that occurred in HitCoder's Sonic game. The issue was that the tiles vertex buffer and index buffer was not cleared during room transition.
https://github.com/enigma-dev/enigma-dev/pull/1349



Adding tests in this way ensures that once issues get fixed, they don't come back again in the future. I hope that this shows to everyone this will lead ENIGMA to being more stable than it has ever been before! The future of the project is looking really bright.

116
This topic is way off the rails and clearly way over the line between trolling and constructive criticism. We honestly shouldn't justify it with a response, but I can't help myself except to refute nearly all of these bullshit points.

Quote from: jackass
your product is based on messed up code
You're absolutely right, ENIGMA is based on modular and extensible components that are open source. Modern ENIGMA is also a lot more stable because it has continuous integration tests that are making the project more stable than ever before.

Quote from: jackass
THINKING they can take ENIGMA in a new direction
Well, sorry if you have a problem with people coming up with innovative ideas and working hard enough to actually pull them off. I guess you don't like people who believe in themselves?

Quote from: jackass
have you done NOTHING
Wrong.

Quote from: jackass
messed up whatever tiny hope was left for this project
Wrong.

Quote from: moron
You have alienated 99% of your users
rofl

Quote from: fucking moron
download bloatware and manually compile SHIT
GameMaker: Studio requires the exact same bloatware in the form of LLVM & Visual Studio. The difference here is that ENIGMA is not a giant monolithic piece of bloatware shit like GMS is. You can remove any of the extensions and you don't have to install all of the dependencies. If you did that, then I just feel sorry for you that you clearly don't know how to use a package manager and probably don't even know how to use your computer either.

Quote from: gigantic fucking moron
are not required to download a full suite software
Except, they ARE, GameMaker: Studio is a giant monolithic piece of shit.

Quote from: jackass
At least people have a working product on this side of the fence, nobody said it was perfect but it works
Yeah, you're right again, GMS is really hard to install on anything except Windows because it's a big ass monolith turd. They spent most of their time making sure it was difficult enough to even make GameMaker run on Windows that it's also impossible to run it on any other platform. You used to be able to run GM8 in Wine, you can't do the same for GMS.

Anyway, thanks for showing up and clarifying to all of us why ENIGMA is a GREAT PRODUCT!!!

117
Off-Topic / Re: Fucking Microsoft
« on: July 15, 2018, 09:12:49 PM »
Why would you like to play offline? If you go offline you can't play online. Everybody wants to play with you online. What do you have against playing online? What have the people who want to play against you online ever done to you personally while being online? Online isn't as bad as you may think. At Microsoft we've been working tirelessly to ensure a continuous online experience for you to play your friends online. If you go offline, we're honestly going to just make it harder for you to play, because fuck you, we're Microsoft.

118
Announcements / Re: RadialGM
« on: June 29, 2018, 08:57:30 AM »
Quote from: Steve
Truly impressive effort!
Thanks Steve! We're really trying, and it wasn't always this great for ENIGMA either. What's really helping is our embrace of continuous integration and regression testing. The changes are truly revolutionary for this project. Please check out my other announcement for more on that.
https://enigma-dev.org/forums/index.php?topic=2904.0

Quote from: pavul
however i dont know if will be open source as well and i would like to see the improvements
Fear not, as we all intend to retain the open source nature of RadialGM and ENIGMA as well. Open source has always been a defining principle of this project and none of us have any intentions of changing that.

Quote from: pavul
if is an IDE for enigma with the UI to create a game like GMS but without unusable items would be better, for that i dont use D&D i dont need those bunch of icons, only script and the events.
The initial beta is going to lack a Drag & Drop UI completely for the time being. Games like this will continue to function partly thanks to the fact the Drag & Drop in GMS2 is actually embedded as regular GML and using a document generator to read metadata out of the comments. That allows it to completely function in ENIGMA without any UI when I get the YYP reading finished. I will continue to look towards keeping a non-drag and drop mode for users who prefer that if and when a drag and drop UI is developed here.

Quote from: pavul
and im from now on waiting some advancements.
Hopefully much more on this soon, we're almost done with the engine changes. Please read more about that on the announcement I linked for Steve above.
https://enigma-dev.org/forums/index.php?topic=2904.0



119
Announcements / Re: SDL Platform Released
« on: June 29, 2018, 07:35:10 AM »
These changes are closely related to the graphics changes I am doing too. I am really happy with the way this is going because we creating a very solid foundation on which nothing will regress either. It's going to be great to have Android working and I'm happy that Mac is working again too.

120
Announcements / Graphical Fidelity Testing and Engine Cleanup
« on: June 29, 2018, 07:23:13 AM »

Note: The two images are intentional false positives I did for the purposes of demonstrating the bot and to verify its behavior.

Hey guys! I've been busy for a few days working on a side improvement to the engine code base that I want to share with you all. It is closely related to the SDL changes fundies recently announced as well as us adding support for Direct3D11 and modern OpenGL ES. We have basically extended our continuous integration to perform an image analysis on graphics tests to improve graphical fidelity both between the graphics systems as well as between ENIGMA and GameMaker. This is still a work in progress but I just this morning got it fully working to where we can successfully screencap the game in the Travis CI virtual machine (minor bug in our test harness taking the screenshot directly after game start and before any draw events were processed).

You can see what we're up to on the pr here:
https://github.com/enigma-dev/enigma-dev/pull/1291

We expect to have it merged soon and will then be adding drawing tests from here on out.

I've also cleaned up the tile drawing code and optimized them on top of the vertex buffer functions I added for GMS compatibility. They are slightly different though because I use an index buffer to render them more optimally as an indexed triangle list. Regardless, from my benchmarks we can see that the tiles are not only more consistent now but also build and render much faster. When me and fundies get these image comparison tests merged into master, I will add a tile drawing test to prevent future regression of the functions and finally merge in the new tile code.
https://github.com/enigma-dev/enigma-dev/pull/1238

I will be following up those changes by rewriting the model classes as well:
https://github.com/enigma-dev/enigma-dev/pull/1289

The whole point of this changeset is to have less duplicate code by using proper abstractions of vertex and index buffer concepts, while essentially providing both to the user. This not only improves what ENIGMA already provided, but will bring new features and functions that users have desired. With all of that in place it will be super easy to finally have OpenGL ES working again as well as Direct3D11 because building a graphics system then simply consists of making each graphics system have working vertex functions.

I hope everyone likes these changes and will find that it's going to significantly improve the project. Open to comments/feedback/suggestions as always.