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. In this article we give the required steps to get the platform up and running.
If you are only looking for a tutorial on uploading your game to GX.games, read this.
If you are looking for instructions on setting up the Opera GX target properly, or setting up its YYC output, continue reading.
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. No other browsers are supported by this export option (for that, see the HTML5 target) - if you do not have Opera GX installed, then doing a build will just open a page directing you to the Opera link above.
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
Note that YYC is only supported in March 2022 (2022.3) versions of GameMaker onwards - if you are on an older release, please update first.
For this packaging type you will need to install the Emscripten SDK yourself elsewhere on your computer and then point GameMaker at it.
The full documentation and the download links for this can be found at:
So if you have any issues following the rest of this guide, please refer to the link above in the first instance.
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 Opera GX 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.
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 Emscripten give you into an empty folder of your choice on your computer:
You can set the "Local path" wherever 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, we go back nearer the top of the Emscripten guide and perform the actual installation of the Emscripten SDK.
To do this, we open a command prompt in Windows, change into the directory we cloned the repository into in the section above, and 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:
- emsdk install 3.1.9
- emsdk activate 3.1.9
(Note: please 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 a little higher up, 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.