Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

4. April 2018


GameMaker Studio 2.1.4 was just released.  German, French and Spanish speakers rejoice, as GMS has be localized to those languages, chosen during the installation process.  If you are interested in learning more about GameMaker Studio 2, be sure to check our Closer Look at GameMaker Studio 2 review.

In addition to the new localization, GMS2 contains several other improvements and fixes, details from the release notes:

  • The audio engine has been consolidated across all platforms and audio synchronisation issues have been fixed
  • Support for IPv6 has been introduced within the networking functions - if you find any issues, please send a sample project to the Helpdesk
  • Async network connection events now contain a new 'other_port' variable
  • #macro definitions now support configs. Use the syntax #macro CONFIG:MACRONAME to override #macro MACRONAME for a given config
  • Buffer-management functions buffer_compress() and buffer_decompress() added
  • Tilemap-management functions tilemap_set_width() and tilemap_set_height() added
  • Fixed an asset compiler crash when a SWF is imported over an existing sprite
  • Instances now correctly inherit Object Variables from parent instance
  • Fixed issues with startup sequence when launching a Steam game outside of the Steam client
  • Fixed issue where a view was not updated first when calling camera_apply()
  • Fixed issues with gamepad support on mcOS and Ubuntu
  • Fixed issues with some string comparisons failing in YYC
  • Fixed issues with screen_save() on several platforms
  • Fixed issues with physics bodies when removing all fixtures and then adding a new fixture
  • Fixed 28482 - Asset Compiler crashes if you have /* as your last line
  • Fixed 21791 - Memory leak when loading/unloading Audio Groups
  • Fixed 28894 - Global variables created using the variable_global_set function don't show up in the watches
  • Fixed 28933 - Steam: Leaderboards - Emojis in usernames cause runner crash
  • Fixed 27413 - GM_version returned only 3 parts of the version number on several platforms
  • Fixed 28946 - font_add_sprite_ext(spr, str, true, 0) when using SWF for "spr" crashes the runner
  • Fixed 28376 - Sprite Editor: [Precise overrides Manual mask values, but the editor does not communicate this properly]
  • Fixed 28723 - steam_set_stat_float doesn't work correctly
  • Fixed 28610 - Object variables of type "Colour" don't seem to work on certain platforms
  • Fixed 28759 - Added new function bool(val) - returns val as a boolean, if val is a number then if it is >0.5 then it is true, if it is a string it will be converted to a number and if >0.5 then it is true, if a ptr it is treated as a number, otherwise it is false.
  • Fixed 28716 - Asset compiler crashes when building this project as there are empty views
  • Fixed 28698 - instance_deactivate_layer doesn't deactivate instances on a layer as they still move using built in variables
  • Fixed 28636 - Having a comma in your YoYo Account name causes a 'Permission Error' compile error when running
  • Fixed 28632 - Issues with instance depth when importing from 1.x
  • Fixed 28358 - Spine: Event information only takes the default value and ignores the value at individual keyframes
  • Fixed 28483 - Debugger: Breakpoints in Clean Up event not triggered if event called by game_end()
  • Fixed 28494 - Configurations: Swapping configs on new projects doesn't work, uses first run config instead
  • Fixed 27564 - Remote Worker: There is no way to set the Steam SDK location
  • Fixed 28367 - Runner titlebar is thinner and uses 1.4's runner icon if built using YYC
  • Fixed issues with image alpha not being processed correctly when compiling using the Mac IDE and running on Mac
  • Fixed 28815 - window_set_fullscreen() doesn't work unless multiple game options are enabled
  • Fixed 28757 - Providing a larger splash screen than your display resolution causes your splash screen to break
  • Fixed 28583 - Xbox One controller has mis-mapped inputs on Mac Runner
  • Fixed 26920 - show_debug_message() doesn't work on Mac IDE
  • Fixed 28021 - YYC runs can't be stopped by the IDE
  • Now support 16.04 LTS 64bit (and this is what the runner is now built using)
  • Fixed Steam integration
  • Changed default index.html template to include "window.onload = GameMaker_Init" to allow delayed game start, so you can inject startup code into your pages, etc.
  • NOTE: If you are using a custom index.html you will need to add that new line, otherwise you'll just get a black screen on startup
  • Fixed 28227 - tilemap_clear() no longer skips some tilemap cells
  • Fixed 24947 - ds_list_sort() does not work in HTML5 (now works generally close to Windows's behaviour)
  • Fixed 25723 - window_get_cursor() returns cr_none by default, in spite of GGS setting
  • Fixed 28626 - load_csv() throws a reference error when used
  • Fixed 28765 - ds_map assumes pairs with "undefined" values to be nonexistent
  • Fixed 22247 - pointers are not identified by is_ptr()
  • Fixed 22248 - ds_list_find_value() unable to return a stored pointer
  • Fixed 15450 - window_has_focus() is incorrect at game launch
  • Fixed 17677 - HTML5 module cannot read INI entries stored from ds_grid_write()
  • Fixed 28774 - buffer_delete() does not fully free up the buffer data
  • Fixed 28331 - Drawing a # using draw_text breaks your alignment
  • Fixed 23271 - sprite_delete() doesn't release VRAM in HTML5
  • Fixed 24669 - High DPI Support
  • Fixed 28821 - Some ds_ functions don't return "undefined" on out-of-bounds access like native ones
  • Fixed 20399 - keyboard_key behaves differently in HTML5 than Windows
  • Fixed 19081 - Obfuscated function crashes application after cutscene plays
  • Fixed 25628 - string_count(chr(13), " " + chr(13)) yields 0
  • Fixed 25577 - file_text_write_string() turns "#" into newlines
  • Fixed 21165 - background_get_height() returns cropped texture height instead of asset height
  • Fixed 16924 - game_end() causes an error
  • Fixed 15608 - Destroy Map HTML5 does not remove nested maps
  • Fixed 24070 - texture_set_interpolation is not supported on 2d
  • Fixed 28817 - Select functions replace "#" with newlines while they don't on native
  • Fixed 28309 - Using skeleton_animation_set_frame() freezes your animations permanently
  • Fixed 19994 - 'Destroy instances at position' action does not work as expected
  • Fixed 28760 - Function.arguments is deprecated
  • Fixed 28627 - Keyword "undefined" handling fixed
  • Fixed 28620 - Object Variable definitions do not work on HTML5
  • game_end() will send the game to the background and return the user to the Android desktop, as per Google's specification
  • Debug dialogs show_question(), show_message(), get_string() and get_integer() have been deprecated - please use the '..._async()' versions instead
  • Fixed 29109 - Android package names with a '.' anywhere in the string are disallowed
  • Fixed 28863 - "Always do full install of APK" setting in Preferences in Android tab doesn't work
  • Fixed 28846 - 'APKExpansion' extension does not create a .zip
  • Fixed 25340 - Android SDK 25.2.3+ has no separate "Support Library" package - update Andriod options
  • Fixed 28484 - Uncaught TypeError: _uC1.getParameter is not a function when setting collision mask in GML
  • Fixed 28643 - Runner crashes if you use draw_text_ext with string_width
  • Fixed 28065 - Does not actually disable Lint analysis when this game option is set
  • Fixed 22689 - YYC builds fail if folder path contains special characters
  • Fixed showing the correct splash screens for iPhone SE, 7, 8 and X
  • game_end() won't do anything on iOS now
  • Debug dialogs show_question(), show_message(), get_string() and get_integer() have been deprecated - please use the '..._async()' versions instead
  • Fixed memory leak when calling extension functions
  • Fixed 27752 - iOS debug should connect without requiring the device's IP to be provided by the user
  • Added support for the Microsoft 2017 stats and achievements system
  • Added xboxlive_matchmaking_join_session to join a specific session handle
  • Fixed 28400 - Fullscreen switching on Alt+Enter now works
  • Fixed 28398 - Disable cursor on windows now works
  • Fixed 28742 - Windows UWP splashscreen background colour only shows blue on build
  • Fixed 26092 - Remote Worker: Unable to use UWP as a target since no target for UWP can be provided
  • Fixed 28613 - Games crash upon being restored after the OnSuspended event has been fired

GameDev News

2. April 2018


LÖVE 11.0 was released yesterday… yes, on April Fools day.  You may notice that goes silent every April 1st I take a holiday from the internet to avoid the “humour”.  Turns out this was actually a real release and yes, they did in fact rebrand their versioning, by going from 0.11.x style numbering to 11.0 to represent that maturity of the product.  I personally agree with this change (although not the date of the announcement) as the low version numbers really hid just how mature a library love was. 

As to this release, there is actually quite a bit going on here.  Quite a few upgrades in the audio department, a move to normalized numbers for colour data as well as >8bit colour support.  The actual full list of changes is pretty massive, here however are the highlights from the forum:

  • Loads of audio additions:
    • Queueable audio sources
    • Recording support
    • Support for audio effects and filters
    • A simplified Source API
  • Added a module, containing functions for encoding, hashing and compression
  • Added Transform objects to love.math
  • Added more ImageData formats, Image formats, and new texture types
  • Added support for depth buffers
  • Added a deprecation mechanism
  • Added automatic batching
  • Deprecated love.filesystem.exists / isFile / isDirectory / isSymlink / getLastModified / getSize in favour of getInfo
  • Changed colour values to be in the range 0-1, rather than 0-255
  • Changed, to support co-operative multitasking environments


If you are interested in learning more about Love, be sure to check out our complete tutorial series available here.

GameDev News

30. March 2018


Valve have just open sourced on Github their GameNetworkingSockets library.  This library is a subset of the networking library available in the Steamworks SDK, but does not require SteamThe library provides reliable and unreliable UDP messaging.


The library features:

  • Connection-oriented protocol (like TCP)
  • ... but message-oriented instead of stream-oriented
  • Mix of reliable and unreliable messages
  • Messages can be larger than underlying MTU, the protocol performs fragmentation and reassembly, and retransmission for reliable
  • Bandwidth estimation based on TCP-friendly rate control (RFC 5348)
  • Encryption
  • Tools for simulating loss and detailed stats measurement


The library is released under the BSD 3 Revised license, which permits commercial closed source usage, but offers no warrant nor takes any liability.  The code is only currently compiled under Ubuntu Linux, but should run on Windows, OS/X as well as Android.

GameDev News

29. March 2018


Universal Studios and Unity have teamed up with Microsoft and Intel to hold a rather unconventional contest.  Universal are looking for developers to pitch game concepts for their various different IPs.  The properties in question include:

  • Back to the Future
  • Jaws
  • BattleStar Galactica (2004)
  • Turok
  • Voltron Legendary Defender


The contest is over two phases.  In Phase 1 you are expected to submit a design document, a pitch video and whatever supporting materials you think will help.  6 teams will then be chosen to advance on to Phase 2, where you are expected to make a small demonstration version of your game. 


Prizes include:

For Phase 1:

  • Six (6) finalists will be selected by judges will receive:

  • 3-Day VIP Mentorship Summit in Southern California

For Phase 2:

  • One (1) grand prize winner selected by Universal's Game Team will receive:

  • 1-year consulting contract with Universal to develop your PC game

  • $150,000 cash prizing

  • Two tickets to Unite North America in 2018

  • Five (5) runner up winners will receive:

  • $20,000 cash prizing (per team)

  • Two tickets per submission to Unite North America in 2018


Your game must incorporate Microsoft Mixer technology and use the Unity game engine on the Windows 10 platform.  For more details on the contest be sure to watch our video embedded below or read more here.  Be sure to hurry however, Phase 1 ends 04/19/2018.

GameDev News

27. March 2018


The Defold game engine just released a new version, 1.2.124.  This patch contains mostly fixes and some minor new features.  However the 2.0 version of the editor got a long overdue and nice new feature, the ability to create new projects without having to log into the dashboard.  If you are interested in learning more about the Defold game engine, be sure to check out our tutorial series available here.


Details of this new release:


  • DEF-3167 - Added: Method to set GUI node inherit alpha from scripts.
  • DEF-3180 - Added: Support for more mappable keycodes on Android devices.
  • DEF-1636 - Fixed: Issue with euler to quaternion conversion with identity rotations (i.e. zero rotation).
  • DEF-3182 - Fixed: Missing color for Spine mesh/attachment.
  • DEF-3132 - Fixed: Spine component transform was not applied to bone GOs during animation.
  • DEF-3186 - Fixed: Better compression of iOS launch images in developer app.
  • DEF-1952 - Fixed: Territory was wrong when calendar were non-gregorian.
  • DEF-3161 - Fixed: Correctly handle https response with status 204 No Content.
  • DEF-3189 - Fixed: Issue with DM_LUA_STACKCHECK when throwing Lua error in NE/SDK.

Editor 2

Editor 2 now has a new Welcome dialog that allows you to create new projects without having to go through the Defold Dashboard. We've provided a few template projects and samples that you can use as a starting point, and intend to grow this list over time. After you've created a new project, simply choose "Synchronize..." from the File menu to push the project to your Defold Dashboard.

  • New Welcome dialog with friendly onboarding workflow.
  • You can now create new local projects from templates or samples without having to go through the Defold Dashboard. Local projects can be Synchronized to the Defold servers at a later time.
  • We now show progress while downloading or importing projects, and the operation can be canceled.

GameDev News

Month List

Popular Comments