Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more

Tech

Upcoming Stable Release - What To Look Out For

Posted by Dan Cleaton on 27 March 2015

Moving from Stable 1.4.1474 to 1.4.1567

We will shortly be updating the version we have set to the Stable channel to be the recent 1.4.1567 release currently live on the Beta channel, and there have been an awful lot of changes and improvements made in the last run of Betas since 1.4.1474, so I thought I’d take you through some of the key things to be aware of as you upgrade to the new release.

We would, of course, still suggest you thoroughly read the release notes for all releases since 1474, just in case there is something important to you which is not covered here - I’m also not going to cover bugs fixed in too much detail, otherwise this blog would easily be five times as long!

 

Installer

We would recommend a fresh install for moving to this Stable, as the updater has had several fixes since 1474, which you will not have before you begin the update. Also, the full installer now offers you the GameMaker: Player and some additional tools which often cause issues when running games on systems which don’t already have DX 9.0c or have a corrupted install of it. The DX and VisualC++ runtime installers will only run it we detect that your system requires them, so please do leave them checked.

Please note that as you move through the Studio installer the first thing to be installed will be the Player if you have chosen to install it. This means if you choose to run the Player during the Studio installation your Studio installer will be sitting waiting in the background. We default the checkbox for running the Player during the installer to be off and if you’re not familiar with the Player and Studio install process we’d recommend you leave it off, click “finish” on the Player install and return to installing Studio, before checking out the Player later on.

You’ll have seen that the 1.4 releases so far have said to use the full installer if you’re not already on a 1.4 release. This will be removed from the release notes after this new Stable release, but will always remain true.

As for the actual update downloads, please be aware that due to tools changes on a couple of the platforms some module zips will be bigger than they were in 1474, so your download may take longer than you were expecting – especially if you have iOS.

 

IDE Fixes

There have been several licensing fixes if your PC username contains non-ANSI characters. Also, Putty tools being missing on Standard licenses and no YYC unlock for some specific Pro users.

Fixes for project saving and backups not being made. Save behaviour when exiting and choosing okay on the "Do you want to save?" prompt is now Save All.

There are lots of stability fixes for the IDE: lots of small bug fixes for the code editor; memory usage reduced and drawing speed-ups for the room and path editors; better memory handling for the font properties form when it saves your font; the image editor now has a better RAM limit for its undo queue, which should prevent "Out of Memory" errors; room instance order lists are not shared anymore, avoiding a rare issue where rooms contaminated. Fixes for IDE windows drawing repeatedly, shown as flickering along title bars and the close buttons – also fixed for the resource tree, which means it’s much easier to drop files into groups and the correct new locations.

We also now have a preference for if you want backups to be made when building your project (Studio always did this), which can speed up your build times significantly with larger projects, but of course means fewer backup opportunities. A preference has also been added to completely disable source control inside Studio if you wish to use external tools only. You’ll find the source control tab has been moved a little way further along the tabs.

Several parts of the product have had fixes for if your OS language uses “,” as your decimal separator rather than “.”: Marketplace asset uploads, building YYC projects.

Inside GGS, we now have a fix for the Extras tab missing for some license holders. iOS splash screens can be portrait and now validate the image you’re supplying is the correct dimensions.

Along the menu bar, “Remove all Breakpoints” and “Remove all Bookmarks” menubar items. Help > “Contents” has now been renamed Help > “Open the manual”.

Fix for some keypress input going to the debugger rather than the game.

In the resource tree, Extensions now always have the Export tab shown to allow you to make .gmezs with assets included even when not for Marketplace purposes

Inside the room editor, the Isometric grid toggle has been moved from the main toolbar to the drop-down "show" list, and you will also get a warning on enabling this. Remember that there is a demo for how to do isometric via code, which will give you a much better result anyway.

There’s also been a bit of a clean-out of obsolete functions/constants, plus clarification for a few functions' arguments in autocomplete. New constants have been added for path end actions also. You will find a stack of new functions – far too many to list here – so again, please read the release notes and consult the manual.

 

Steam IDE Fixes

We have removed all project restrictions for free users, and users on XP 32bit can now use recent 1.4 releases again. WP8 and Mac OSX module downloads have also been fixed.

 

Marketplace / Player

We’ve made several fixes to Marketplace integration: better handling of large manifest files and also added advance warnings for when your purchased asset list is getting large; fixes for certain file types not importing correctly; some fixes for the auto-update assets option. We’ve also added a handy "Review" button next to each Marketplace asset in your library.

The Player has also been greatly improved: it now detects there is an update waiting and downloads the installer for you, rather than asking you to visit the website; paid-for games (and selling yours!) are now available; it scales the window to fit different monitor sizes/resolutions, and you don’t have to have it fullscreen all the time.

 

Required SDKs/Tools for Building Projects

Android NDK 10b is strongly recommended. Please remove any other versions - the next EA will support 10d, so leave that installed if you have it already, but ensure this 1.4 does not target it. 10c is not recommended.

iOS now has support for 64bit apps, so you will need to ensure you have Xcode 6.1.1 installed. We also now support simulator builds for testing and also submitting to Facebook – always ensure you test your game on a range of real devices before submitting, though, and make sure at least one is an iOS 8 device! You don’t need to make any changes to your main project or GGS in order to support 64bit, but you will need to add in 64bit support yourself for any extensions you are using (or ask the original author to do this). Also be aware your game packages will be significantly larger and your build times will be longer.

Steamworks SDK support was updated to v1.32, so you must also update your installed copy to this version.

Spine support was updated to 2.0.18 and multiple in-game fixes were made. Please ensure when you export from Spine you are using this version or exporting to this format. Note that we are aware Spine has already moved on to later releases, and so as of the next EA we support 2.1.08.

If you are using console platforms, please check the Helpdesk for our currently supported SDK versions and updated documentation.

For future releases, we’re working on a new FAQ which will hold an up-to-date list of the SDKs and tools the current releases support, so you know when/when no to update external software. This FAQ will then be a link under Help on the main toolbar.

 

Major In-Game Fixes/Changes

Again, it’s very important to note that this is only a small number of the changes and fixes made in the last series of Beta releases and so you should read the release notes in much greater detail than I’m going to skim over them here.

Here are some of the changes you’re likely to notice quite quickly as you bring projects into this new release (in no particular order):

  • Improved performance in both YYC and runner versions of your game – with fewer coding discrepancies between supporting both platforms.
  • Lots of bugs around memory leaks – particularly using/freeing ds maps and also with particles – have been fixed, making your game more stable than before.
  • Crashes fixed with duplicating rooms.
  •  IAPs were found to have a couple of issues introduced by the change in ds maps returning undefined instead of 0. Plus, the wrong status code was then being returned if you cancelled an IAP purchase. Please ensure you re-test your projects if you’re using IAPs, but you should find they are much better now.
  • browser_input_capture() added for toggling whether the game allows other page elements have user input
  • We’ve made as many keyboard keys as we can work on OSX the same way as they do on Windows – a couple of system keys like ScrLk have no equivalent.
  • Support added for working with Steam Workshop content inside your game - Windows/OSX/Ubuntu
  • Linebreaks via newline in in-game draw_text() won't give you a double-spaced line anymore, works the same as #
  • Mouse Leave Event will now get triggered by object leaving mouse (so the mouse is held still while the object moves)
  • Fixes for XP and Intel GPUs crashing when maximising/minimising the game window
  • ds_map_find_value() finding a null string won't crash the game now
  • New checkbox in Windows > Graphics to allow borderless windows
  • New field in HTML5 to set the page title to be displayed in the browser – note on a free license this has some restrictions.
  • Creating buffers with an invalid type constant will now throw an error instead of defaulting to standard
  • Ogg streaming has been added using audio_create_stream()
  • audio_create_sync_group() allows you to add multiple sounds into the group and all will be played in parallel
  • audio_debug() / audio_sync_group_debug() added for showing debug info regarding the audio playback system
  • Non-blocking sockets have been added for platforms which support networking
  • Client sockets can now recieve data if previously-deleted server starts up again
  • Sending a UDP packet now results in an error value if an error occurs, or bytes sent if all okay
  • Your game will no longer try to de-reference a noone value if you have done instance = no one. NOTE: You will now get the "instance not found" code warning, so you may require some careful testing of your code!
  • Multiple fixes for maintaining game taskbar icon/info and previous window size values, etc., when toggling fullscreen on Windows
  • window_set/get_pos() and window_set_min/max_height/width() take border/borderless into account. NOTE: window_get_pos() and window_set_pos() now both work with the first game pixel (not black borders) as 0,0, so now values required or returned by both functions match.
  • Games which use Steamworks can be tested outside of Steam again
  • Fix for D3D games on Android Lollipop

Mac OSX Gamepad Support

Mac gamepad support has been temporarily removed, as Apple now reject projects using the old API but only provides a 64bit version of the new one. We will add this back in for non-AppStore projects in the next EA.

SWF Rewrite

We have now changed to using our own SWF parser for the IDE and in-game, as it allows us to optimise the import process and boost in-game performance. It’s quite new at the moment, but already supports everything the old system did.

 

Further Info

So you can see that even from this quite brief blog there are a lot of changes and fixes which we’ve made to increase stability of the IDE, improve in-game performance, and add more functionality throughout. For further info see the release notes and help.yoyogames.com.

 

 

Back to Top