• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Legacy GM Compiling without using GMS

H

HolyEggplant

Guest
I am hoping this is the right section of the forum to be asking this particular question. I couldn't find anything more fitting but feel free to correct me if I'm wrong.

While I own GMS, I am not overly thrilled with it as an IDE and so am trying to understand how possible it is to set up an alternative workflow that does not involve it. Compiling and running games is my main concern.

When GMS compiles and runs a game, its build output dutifully informs me that it is actually using GMAssetCompiler.exe to compile the project, followed by a call to Runner.exe to run the thing.

Both these are very much accessible and runnable. If I run:
GMAssetCompiler.exe /?
I even get back a nice printout of all available arguments and their meaning. However I have not been able to make the asset compiler do anything useful by invoking it directly, and sadly it doesn't even print out any error information (not even when I ask it to be verbose).

Does anyone know if what I'm attempting is possible? (well, I'm sure it's possible, but I'm not in the habit of tricking the tools I am using to work in a way that is unintended) If so, is there any documentation I can look at to get this working?

Thanks.
 
M

MonikerHart

Guest
I have never heard of any documentation along these lines, I highly doubt there is any.

Tools like Enigma via the LateralGM plugin (both free) and Parakeet 2 (not free) can compile GM projects. If you don't like the GM IDE perhaps you might like Enigma more. I have only heard of these programs in passing, so if you do feel like you might want to use them you're on your own there.

Unless of course someone with more knowledge of their working posts in this thread.
 
D

Dark

Guest
I have done it successfully before, so it is possible. When you compile it shows the parameters being passed to the compiler so you can simply imitate those. Not sure if the rules allow for doing that though.
 
H

HolyEggplant

Guest
I have never heard of any documentation along these lines, I highly doubt there is any.

Tools like Enigma via the LateralGM plugin (both free) and Parakeet 2 (not free) can compile GM projects. If you don't like the GM IDE perhaps you might like Enigma more. I have only heard of these programs in passing, so if you do feel like you might want to use them you're on your own there.
I am actually using Parakeet 2, but it doesn't really know to compile it just delegates that to GMS. What I'm really trying to avoid is all the reloading (and excessive recompilation of assets) that occurs as the two programs change the project files under each other's feet. I was considering using Enigma's compiler, but it's not entirely compatible and I'd really rather not go down that path just yet.
 
H

HolyEggplant

Guest
I have done it successfully before, so it is possible. When you compile it shows the parameters being passed to the compiler so you can simply imitate those. Not sure if the rules allow for doing that though.
Is this something you've done at least semi-recently? I tried doing just that but ended up with a big heap of nothing (GMAssetCompiler just quickly ran and didn't seem to do anything).
What was your motivation?
 
D

Dark

Guest
Is this something you've done at least semi-recently? I tried doing just that but ended up with a big heap of nothing (GMAssetCompiler just quickly ran and didn't seem to do anything).
What was your motivation?
Well to be fair what it did was intercept the compile calls from GM:S then pass them on to the compiler after backing up the source and doing some on the fly changes to it. So GM:S might need to do something in the background before calling the compiler for it to work.
It was around half a year ago and I stopped doing it after I realized that it might be against the rules.
Also it seemed to cause some DRM to think that GMS was pirated and it would close itself randomly.
 

Fern

Member
If your concern is related to GM:S re-compiling assets and taking forever, I recommend grabbing the latest early access build of GM:S. Load times are drastically faster and as a result, some of the initial compile time is reduced.
 
H

HolyEggplant

Guest
If your concern is related to GM:S re-compiling assets and taking forever, I recommend grabbing the latest early access build of GM:S. Load times are drastically faster and as a result, some of the initial compile time is reduced.
Oh hey, great fan of your videos (though admittedly they mostly pile on top of things I never manage to get around to).
Faster is almost always better. I wasn't aware there are early access builds up for grabs, so I'll get grabbing.
 

GMWolf

aka fel666
Am I the only one thinking about an Intelij based IDE for GM?

Anyhow, you could always write your own compiler and runner: GML is an easy enough language to parse (with ANTLR for example), and the project files are quite self explanatory.
Only problem would be replicating the entire GMS engine.
At this point, you may as well spend your time building your own (better?) Engine.

I would be interested to know how gmlateral and parakeet do it...
[Edit] ah, it just uses GM...
 
Top