All GameMaker licence types (including free) come with an export platform for Opera GX, which is a free online game-hosting and sharing community where other people from all around the world can easily play your games. This guide covers setting up the Opera GX target and making your game packages.
There are two other guides for what comes after you have made your game package:
> How to Publish Your Game to GX.games
> How to Publish a Mobile Game to GX.games
Requires Opera GX (The Browser) Installed On Your Machine
Note that before following this guide you will need to have installed the Opera GX browser itself and run it at least once to set it up however you would like. You can test your games later on using other browsers, but you will need GX to be installed and this will be the default browser used.
It's also important that you keep the browser version up-to-date, as GameMaker and the browser may rely on something the other one has just introduced in a new version.
Note also that Opera GX is a high-performance, compiled package with in-game functionality and behaviours more similar to Windows, macOS, etc., than it is to the HTML5 target.
To target Opera GX from the IDE, use the Target Manager, which is located in the top-right of the GameMaker window:
Once you have selected this target, you can run your game from the IDE as you would for any other target or for testing and it will open your installed Opera GX browser and run the game.
Note that you may get a Firewall warning the first time you run the target as GameMaker uses a micro web server (see here for more information) to serve the game to the browser and this will require access to your network.
Building For VM
There is actually nothing further you need do beyond installing the Opera GX browser and GameMaker - GameMaker already includes all the tools it needs.
Simply pick the "VM" option as shown in the screenshot near the start of this page and then click to run/debug/create your games.
Building For YYC
For this packaging type you will first of all need to install the Emscripten SDK yourself elsewhere on your computer and then point GameMaker at it.
Emscripten is supported on Windows, Mac and Linux, so it doesn't matter which GameMaker IDE version you're using. However, be aware that when doing GX.games YYC builds using the Windows IDE, it will always automatically disable the use of subst for that build as the Emscripten tools do not like these temporary drives and short file paths. You should therefore take care with the length of your project name, save location, and asset names, etc., so that you stay within Windows' 260 character path limit.
We will show exactly how to install everything further down this page, but the full documentation and the download links for the Emscripten SDK can be found here - so if you do have any issues following the rest of this guide, please refer to the link above in the first instance.
Setting Up For YYC
We will now very briefly demonstrate the steps for a working Windows PC-based install. (Mac/Ubuntu users, there are very similar steps you will take, but enough differences in how to get the packages that you should refer to the Emscripten guide we linked above).
First of all, you would need to install Python from its official page, as this is required by the Emscripten SDK: https://www.python.org/downloads/
We recommend v3.10.2 (Jan 22), but note that this is not usable by anyone using Windows 7, so if you're using Windows 7 you would need to use an older release. Emscripten itself currently has a minimum requirement of Python 3.6 and we cannot guarantee how long they will continue to support Windows 7 usage in their future releases.
Install Python using these settings:
Cloning the Emscripten SDK
For this, you will need a Git client installed and set up to your liking. Our screenshot shows Github Desktop, but other clients are available.
Simply clone the URL which the Emscripten guide says to use into an empty folder of your choice on your computer:
You can set the "Local path" to be whatever you want, but we would of course recommend a short path and somewhere easy to remember and locate later on.
Once the clone operation is complete you can close your git client.
Installing And Activating Emscripten
Now, open a regular Command Prompt in Windows (the "cmd" application), change into the directory we cloned the repository into in the section above, and then perform the actual installation.
So, for our example location as shown in the screenshot a little higher up (your location may differ), that would be the two commands:
- cd EmscriptenSDK
Then, when you're in the correct location for your install, run the two commands Emscripten uses to set up your installation for the specific version of Emscripten your current version of GameMaker requires (we show 3.1.9 as an example below, but this might not be the version you need!):
- emsdk install 3.1.9
- emsdk activate 3.1.9
(Note: Again, please see our FAQ link above and do not use Emscripten's "latest" keyword to just grab their newest files!)
This results in a working installation on Windows.
Android developers: One thing to note is that your cmd shows that the Emscripten SDK will modify your JAVA_HOME variable by default. We have not seen any issues, but your Android setup may need you to change this back to some other path once the Emscripten SDK install is complete.
Setting Up GameMaker's Preferences
Once Emscripten is installed okay, you now need to tell GameMaker where to find it during your Opera GX YYC builds (again, this is not used in VM builds).
Open Preferences and change GameMaker's default to the folder you cloned the SDK into. Using our example location above, this would result in:
Apply/OK this to set the Preference as the value to be used by your runtimes before attempting to do any builds.
Updating Your Emscripten SDK Later On
Again, please do not use versions newer than what we state on the Required SDKs FAQ, but obviously at some point you will need to update your Emscripten installation. So here's how to do that...
Open cmd and change directory into your Emscripten install folder, then run the command to list everything your Git folder currently knows about:
- emsdk list
If the new version you need is already in that list, then you can simply use the install and activate commands to switch your version straight away and then you're done with this guide.
However, if the version you need is not in that list, then this is because you need to update your Git folder's contents so it gets the current list of Emscripten releases before you can proceed.
You can see this is mentioned at the very bottom of the "list" command's output:
To actually do this, open your Git client and fetch the origin for the Emscripten repository:
Then pull the changes it found:
Now, go back to your cmd window and run the list command again, and this time your required version should be shown.
You can now install and activate the version we say above is the one to be used.