• 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!
  • Hello [name]! Thanks for joining the GMC. Before making any posts in the Tech Support forum, can we suggest you read the forum rules? These are simple guidelines that we ask you to follow so that you can get the best help possible for your issue.

Windows Included files in the executable

yeo

Member
Hello.

Help says about included files:

"
So, for example, in a windows game they will be bundled within the *.exe and exported when run
"

But if I choose to build a game as .zip included files are in that .zip and not in .exe. Is there any way to put it in .exe?

Thanks.
 

Weird Dragon

Wizard
GMC Elder
I suppose you refer to what is written in the manual regarding .zip files:

Quote 1:
Default Packaging Type: When building a final Windows executable package, you can choose between creating either an installer (using NSIS) or a compressed ZIP file that will have the game and any additional files within. By default you will be given a choice of which of these two options you wish to choose on compile, but you can set this preference to always use one or the other. Note that when this option is set to Show Dialogue, in the actual dialogue window that pops up on compile, choosing "Remember Packaging Option" will set this preference to the option you select.
Quote 2:
Windows - Compiling for the general Windows OS will first request that you choose between creating an Installer or a Zip package, where the installer will be a single executable that will install your game, and the Zip file will be a single zip format compressed file with all your game files stored within (the files will need extracted for the game to run).
From those two quotes I get the understanding that when you create a .zip file for your game then all your included files are in fact included in the exe. So they are not added as external files in the .zip which then need to be put into the exe. It can be difficult to understand from the manual, but it is the last bracket in quote 2 "(the files will need extracted for the game to run)." which tells that the files are in fact included in the exe.

To say it shortly:
1) Make your game with your included files.
2) Then choose between creating an Installer or a Zip package, in either case the included files are included in the .exe.

EDIT: Disregard this post. As you can see in the replies below I got a misunderstanding of the text in the manual.
 
Last edited:

c023-DeV

Member
Not the installer, the actual game.exe
I guess that the OP is about the included files not beeing compiled into the .exe anymore. I noticed the same and that the manual still says that they would be.
GM 1.4 used to compile the included files into the .exe (therefore 'hidden' from users). You would only have one file to run the game (not the installer), I think they called it a 'cabinet' ...
 

Weird Dragon

Wizard
GMC Elder
Not the installer, the actual game.exe
I guess that the OP is about the included files not beeing compiled into the .exe anymore. I noticed the same and that the manual still says that they would be.
GM 1.4 used to compile the included files into the .exe (therefore 'hidden' from users). You would only have one file to run the game (not the installer), I think they called it a 'cabinet' ...
Seems as if I have misunderstood the manual completely. I haven't tested it out. My normal rule is to only reply to something if I have actually tested it myself. So I better stick to that rule although I believed that I understood the manual. It is only a couple of weeks ago I downloaded Studio 2 so I have a lot to catch up.
 

DukeSoft

Member
Yep, thats new. They now bundle a GM Runner (.exe) with your game code + shaders + texture pages (the .win file), or in the case of YYC a complete .exe with code, shaders and texture pages, and all the seperate files (audio groups + external files).

That will either be bundled in a ZIP or in an installer, either way, the files are not "in" the exe. You can make something yourself with WinRar though - you can make the .zip file, extract the files, pet them all in a winrar container, and store that container as a runnable .exe. You can then select the icon and file that has to be ran (or change the icon with an icon changer) and you should be good to go - you then have a static .exe without any seperate files.

Cheers,
Rob
 
M

Marcus12321

Guest
Or you can encrypt the file(s). That way, even though it is exposed to the end user, you can keep them from reading/modifying it. You can encrypt/decrypt it yourself, or you can put it in an encrypted zip file and get the file out of the zip file when running.
 

yeo

Member
> Or you can encrypt the file(s).

Why should I do it? I better use an old version of GMS (while it works on modern computers).

I don't really understand decisions like this (removing of included files in the new version of program). But it's their engine so they can do anything they want. You can't really complain here.
 
M

Marcus12321

Guest
I'm guessing it was removed, because it wasn't compatible with ALL of the target platforms.

By using an older version of the engine on a new project, you are exposing yourself to the chance that it won't work by the time you finish your project. But probably not that big of a deal.

As for not being able to complain here, I don't think there is a problem with that. I haven't seen them trying to stop people or anything. But it definitely pretty much falls on deaf ears. It amazes me how little the developers participate in their OWN forums here.
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
I don't really understand decisions like this (removing of included files in the new version of program).
Single Runtime Executable option was removed in GMS2 because it used UPX (which you can still use yourself if you so desire), which, just as about any packer, had multiple downfalls:
  • Longer load times (every time the game is ran, game files have to be extracted to a temporary directory, and removed when it's done)
  • False positives with antivirus software (because people also use these same packers to try masking malware)
  • No actual added protection (as these tools are publicly available, so are the extractors - even 7-zip or WinRAR can extract files from a UPX exe)
While it is possible to develop tools that would package your included files inside the actual executable, the victory wouldn't last too long - eventually people would still find how to get the files out, so may as well just use directories in the included files (so that your game directory is tidy) and use this tool so that the sounds aren't lying around either.
 

Dog Slobber

Member
Single Runtime Executable option was removed in GMS2 because it used UPX (which you can still use yourself if you so desire), which, just as about any packer, had multiple downfalls:
Studio never used UPX for exe creation, though GameMaker 6 did.

Studio 1.4 used IExpress (Win32 cabinet self-extractor), but it was removed because of Windows platform incompatibilities. Basically, if you created a single runtime executable on Windows 7, it was incompatible on Windows 10 and vice-versa.
 

yeo

Member
Did you even read what I wrote?
Why are you so rude? Yes, I read it.

> It amazes me how little the developers participate in their OWN forums here.

You can see the reason above. I asked simple question and now I have to read these insults. I better try to figure something on my own next time.

> While it is possible to develop tools that would package your included files inside the actual executable, the victory wouldn't last too long - eventually people would still find how to get the files out,

Yes, but majority of players won't bother to search for them, it's not the same when files are just there.

> By using an older version of the engine on a new project, you are exposing yourself to the chance that it won't work by the time you finish your project. But probably not that big of a deal.

I actually used GM 8.0 till this April and it worked damn good. Then I lost a license and had to move to GMS 1.4 and for Switch port I had to move to GMS 2.
 

GMWolf

aka fel666
Yes, but majority of players won't bother to search for them, it's not the same when files are just there.
So you want to stop them from seeing and editing the files?
Why?

If it's to keep the game fun: well some people enjoy modding. No sense in stopping them.

If it's to keep it secure for networking, and anticheat, well those people will end up digging in the exe anyway. Never trust ANYTHING on a user machine. Do server side checks.

If it's to keep your assets safe: people who rip assets can easily bypass that.
Besides your art would still be protected by copyright law. Use that instead.
 

yeo

Member
> Why?

What do you mean why? For example, I have some "main_plot_dia.txt" which contains all dialogues. I don't want players to see it instantly after they unzipped the game. I don't want to bother with encrypting also and all that stuff. Why should I do it if I have the same engine which does is it for me (GMS 1.4)?
 

DukeSoft

Member
For example, I have some "main_plot_dia.txt" which contains all dialogues. I don't want players to see it instantly after they unzipped the game. I don't want to bother with encrypting also and all that stuff.
You can make something yourself with WinRar though - you can make the .zip file, extract the files, pet them all in a winrar container, and store that container as a runnable .exe. You can then select the icon and file that has to be ran (or change the icon with an icon changer) and you should be good to go - you then have a static .exe without any seperate files.
... because it used UPX (which you can still use yourself if you so desire)
Studio 1.4 used IExpress (Win32 cabinet self-extractor), but it was removed because of Windows platform incompatibilities.
I don't see what questions remain unanswered in this topic.
 

GMWolf

aka fel666
> Why?

What do you mean why? For example, I have some "main_plot_dia.txt" which contains all dialogues. I don't want players to see it instantly after they unzipped the game. I don't want to bother with encrypting also and all that stuff. Why should I do it if I have the same engine which does is it for me (GMS 1.4)?
Well, if they choose to read the main plot file, that is their loss. If you move it into a data folder. Then they won't see it as soon as they unzip it.
 

yeo

Member
> I don't see what questions remain unanswered in this topic.

> I see. So I have to use GMS 1.4 for Windows version... It's really a shame.
> Why should I do it? I better use an old version of GMS (while it works on modern computers). I don't really understand decisions like this (removing of included files in the new version of program). But it's their engine so they can do anything they want. You can't really complain here.

I don't see where I ask new questions.
 

DukeSoft

Member
Problem: I want to pack included files with the game, so I just have 1 executable.

Solutions: 3 posted, all work with GMS2.

You state: I have to use GMS1.4.

What other questions do you have? :p I honestly don't know. The 2 quotes you posted there are not really questions - the only part I can see is "Why should I do it" and thats also been answered.. There's pro's and cons listed to packing your files in an .exe.
 
Top