GMS2 Version 2.2.2 Now in Beta
GameMaker Studio 2 version 2.2.2 has been released to our Beta channel! 2.2.2 sees a major update to our Spine support, an update to our font functionality, and changes to handling audio on HTML5 (especially iOS and Android browsers). It also brings more stability fixes and extra dialogues to better inform you of system issues. With the 2.2.2 version beta releases, we're especially keen for feedback on the following key areas. For those key areas, we have created a different thread on our GameMaker Community forum.
General Feedback Thread
Spine Runtime Update
Spine Feedback Thread
- The IDE now imports sprites exported using Spine 3.7 - see this guide for more info
- Fixed issues where importing new Spine sprites to replace existing data didn't clear the old files from your project folder
- Added support for several spine features and you can find the detail for these in the manual and here: https://help.yoyogames.com/hc/en-us/articles/360018864552
- Clipping attachments - These are attachments assigned to Spine slots which clip away parts of the sprite.
- Per-attachment colours - We now support tinting attachments based on their assigned colours.
- Per-slot blend modes - We now support per-slot blend modes as specified in the Spine IDE.
- Partial tint-black support - Note that this requires the use of a custom shader (see our manual).
- Multiple texture page support - We now support Spine sprites which use atlases referencing multiple image files (see this guide)
- Floating point frame indexes - so you get super-smooth animations, especially noticeable for slow-mo or speed-up effects
We have used a public fork of the spine runtimes (see https://github.com/YoYoGames/spine-runtimes/tree/3.7-beta). We plan to use this repository going forward, so if you are interested in seeing which changes, we have had to make, or which changes/fixes we have taken from the original Esoteric repository, you can.
Font Editor / Font Support Update
Font Update Feedback Thread
- Fixed being able to type characters in the Add Range textbox and have the IDE determine the range automatically
- Changed Freetype from 2.8 to 2.9.1 to fix various issues with specific fonts and how they rendered
- Added a new Preview window so you can see your generated font inside the font editor
- Added a new Generate button to refresh a font if it is updated outside GMS2 (also used for refreshing the preview window)
- Added support for detecting fonts installed to Windows's registry via some third-party applications
- Added support for not automatically regenerating a font if it comes from a 1.4 project, and you also cannot regenerate a font which is not actually installed - both of which stop unwanted font changes
- Please note you need to use 2.2.2 IDEs with 2.2.2 runtimes, otherwise, your fonts may not generate as you expected!
FreeType library update
- All platforms now use v2.9.1 of FreeType. Fixes incompatibilities with some fonts and should improve the rendering quality of others - requires 2.2.2+ IDE also, otherwise, your font might not look as expected!
HTML5 Audio Feedback Thread
- Fixed the check for detecting if Opera supports WebGL or not (it does)
- Android and iOS no longer wait for streaming sounds to download during the loading screen - they now download async and are later queued and decompressed as required
- Added audiosoundis_playable() so you can query if a sound is actually ready to be played in browsers which require touch permission from players before streamed audio can be used
No change to audio-handling on non-HTML5 platforms (though the new function will work on those platforms too), but for HTML5 we have changed how audio is loaded and played back to match the rules on the executing platform. The general rule of thumb is that a touch (or mouse) event has to be recorded on the canvas for the game before any audio is played, and on iOS, we need to decompress any audio before playback (as Apple have disabled streaming audio) which can introduce a delay. Again, see the manual for further details.
Beta IDE Release Notes
Beta Runtime Release Notes
Beta Opt-In FAQ (How to get on the Beta Channel)