Getting Started
Prerequisites
- A modern web browser
- The GMPulse extension (get it from itch.io)
- GameMaker
- IDE: 2023.11.1.129+
- Runtime: 2023.11.1.160+
WARNING
Older GameMaker versions may work but are untested; Use at your own risk!
Installation
Adding GMPulse to your project is the same process as adding any other local *.yymps
package. Drag the file into your IDE, click "Add All", then "Import". This will add a "GMPulse" folder to your project containing a few assets necessary for the extension to function properly.
INFO
GMPulse comes with a gm_pulse
object, but you do not need to add this object to any room in your game! That will happen automatically.
How to use it
Run your game and hit F3 on your keyboard. Tada! Your web browser should open directly to the interface, and you're ready to use all of its features. See Overview to learn more on how to use GMPulse effectively.
Speeding up compile time
By default, GMPulse includes a good chunk of extra code that powers the interface that opens in your web browser. Including this in the source code allows you to use GMPulse locally without any issue, but it can considerably increase your compile time in some cases. To fix this, GMPulse supports downloading the GUI code from a server so that it does not need to be a part of your project. To utilize this behavior, you can simply skip importing the ext_gm_pulse
asset from your game (or delete it from your project if you've already added it). GMPulse will automatically detect that it's missing and download the GUI code during runtime, which will require an internet connection.
Configuration
There are a few variables you can configure if you wish, however. These are located at the top of the create event of the gm_pulse
object:
GM_PULSE_ENABLED
Toggles GMPulse's functionality. This is set to true
by default (so that GMPulse can be used out of the box) but you may want to set this to a configuration macro or maybe even code_is_compiled()
to automatically disable the extension in production builds.
GM_PULSE_PORT
This changes the port that the local server uses to host the web interface. This is set to 1234
by default, but if you are already using that port you can change it to something else.
GM_PULSE_DEBUG_KEY
This is the key that will open the web interface. Set to vk_f3
by default, but if you hate that you can change it something else.
Why are the configuration variables in an object?
The gm_pulse
object actually contains all of the logic for the extension, including configuration variables. It was made this way so that the global scope of your project isn't polluted, and so that GameMaker's autocomplete list isn't filled with extra variables and functions that get in the way.
Compatible exports
GMPulse has been tested with the Windows and macOS exports, but should work with any export that supports creating networks. The HTML5 export does not support creating networks, so it isn't compatible with GMPulse. The extension will automatically be disabled on HTML5.