Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
5. March 2018

Hot on the heels of last months Phaser 3 release, Phaser 3.2.0 has just been released.  Considering the short period that has elapsed, there are actually a fair number of new features, bug fixes and changes in this release.

New features in this release:

  • The new Render Texture Game Object is now available. You can clear, fill and draw texture frames to it. The Render Texture itself can be displayed in-game with its own transform, or you can use it as a Bitmap Mask for another Game Object.
  • Game.resize allows you to resize the game config, renderer and input system in one call.
  • When Game.resize is called it causes all Scene.Systems to have their resize method called. This is turn emits a resize event which your Scene can respond to. It will be sent the new width and height of the canvas as the only two parameters.
  • InputManager.resize allows you to update the bounds def and input scale in one call.
  • Game.Config.roundPixels property added to prevent sub-pixel interpolation during rendering of Game Objects in WebGL and Canvas.
  • Load.plugin now accepts a class as an argument as well as a URL string (thanks @nkholski)
  • Tween.complete will allow you to flag a tween as being complete, no matter what stage it is at. If an onComplete callback has been defined it will be invoked. You can set an optional delay before this happens (thanks @Jerenaux for the idea)
  • The Headless render mode has been implemented. You can now set HEADLESS as the renderType in the Game Config and it will run a special game step that skips rendering. It will still create a Canvas element, as lots of internal systems (like input) rely on it, but it will not draw anything to it. Fix #3256 (thanks @rgk)
  • GameObject.setInteractive has a new boolean argument dropZone which will allow you to set the object as being a drop zone right from the method.
  • Sprites can now be drop zones and have other Game Objects dragged onto them as targets.
  • The SceneManager has a new method: remove which allows you to remove and destroy a Scene, freeing up the Scene key for use by future scenes and potentially clearing the Scene from active memory for gc.
  • SceneManager.moveAbove will move a Scene to be directly above another Scene in the Scenes list. This is also exposed in the ScenePlugin.
  • SceneManager.moveBelow will move a Scene to be directly below another Scene in the Scenes list. This is also exposed in the ScenePlugin.
  • Quadratic Bezier Interpolation has been added to the Math.Interpolation functions (thanks @RiCoTeRoX)
  • A new Quadratic Bezier Curve class has been added, expanding the available Curve types (thanks @RiCoTeRoX)
  • Path.quadraticBezierTo allows you to add a Quadratic Bezier Curve into your Path.
  • Loader.multiatlas now supports Texture Packers new JSON atlas format which exports one combined atlas for all image files. This is available if you use the new Phaser 3 Export from within Texture Packer (thanks @CodeAndWeb)
  • Modified WebGLPipeline to make it easier to extend and easier to create custom rendering passes.

Be sure to check the full change log for full details on the bug fixes and updates in this release.  If you are interested in learning more about Phaser 3, be sure to check out our Getting Started with Phaser 3 video.

GameDev News

2. March 2018

Xamarin just announced the release of UrhoSharp 1.8.  UrhoSharp is a set of C# bindings of the Urho3D open source game engine, an engine I reviewed a couple of years back as part of the Closer Look series.  With UrhoSharp 1.8 they brought the bindings to parity with Urho 1.7, the most recent release.  A major focus of this release is supporting augmented reality, using both ARKit and ARCore libraries. 

A small selection of the new features added in Urho3D 1.7 ( and thus UrhoSharp 1.8 ) include:

  • Inverse kinematics support.
  • Bullet RaycastVehicle support.
  • AppleTV platform support.
  • WebAssembly support on the Web platform.
  • IME support on Linux platform.
  • Several font rendering improvements and TypoGraphy sample.
  • WebP image loading support.
  • Sparse navigation meshes and navmesh streaming support.

This is just a small sample of new functionality.  For the full list be sure to check out the release notes available here.

GameDev News

2. March 2018

Everyone’s favourite GLSL shader website ShaderToy just got closer to full release with the release of version 0.9.9.  ShaderToy is a great online repository of GLSL shaders, see them in action in your browser, tweak the settings or even share your own.  One of the nicest features of this release is only shaders that actually compile will be made available to the public!

Details from the release notes:

- Added shader statistics to user’s profile page
- Added playlist to see all previous Shaders of the Week :
- Added playlist to see all previous Featured Shaders :
- Added links in the welcome page to access previous Shaders of the Week and Featured Shaders
- Input Selection dialog show only legal inputs for Sound shaders
- Only shaders that compile can be made public
- Fixed global mute
- Fixed keyboard state
- Fixed error reports in the correct line

I previously featured ShaderToy in the GameDev ToolBox video series, the video is embedded below.

GameDev News

1. March 2018

Version 2.0.8 of the popular open source 2D framework SDL (Simple DirectMedia Layer) was released today.  This long running framework has been used in several cross SDL_logoplatform commercial games and provides the low level functionality required to create a game such as window creation, input handling, audio playback and more.  This release includes new functionality including Metal support on iOS/Mac,  as well as several improvements and bug fixes.

Details from the release announcement:


  • Added SDL_fmod() and SDL_log10()
  • Each of the SDL math functions now has the corresponding float version
  • Added SDL_SetYUVConversionMode() and SDL_GetYUVConversionMode() to control the formula used when converting to and from YUV colorspace. The options are JPEG, BT.601, and BT.709


  • Implemented WASAPI support on Windows UWP and removed the deprecated XAudio2 implementation
  • Added resampling support on WASAPI on Windows 7 and above

Windows UWP:

  • Added SDL_WinRTGetDeviceFamily() to find out what type of device your application is running on

Mac OS X:

Mac OS X / iOS / tvOS:

  • Added a Metal 2D render implementation
  • Added SDL_RenderGetMetalLayer() and SDL_RenderGetMetalCommandEncoder() to insert your own drawing into SDL rendering when using the Metal implementation


  • Added the hint SDL_HINT_IOS_HIDE_HOME_INDICATOR to control whether the home indicator bar on iPhone X should be hidden. This defaults to dimming the indicator for fullscreen applications and showing the indicator for windowed applications.

iOS / Android:

  • Added the hint SDL_HINT_RETURN_KEY_HIDES_IME to control whether the return key on the software keyboard should hide the keyboard or send a key event (the default)


  • SDL now supports building with Android Studio and Gradle by default, and the old Ant project is available in android-project-ant
  • SDL now requires the API 19 SDK to build, but can still target devices down to API 14 (Android 4.0.1)
  • Added SDL_IsAndroidTV() to tell whether the application is running on Android TV

Android / tvOS:

  • Added the hint SDL_HINT_TV_REMOTE_AS_JOYSTICK to control whether TV remotes should be listed as joystick devices (the default) or send keyboard events.


  • Added the hint SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR to control whether the X server should skip the compositor for the SDL application. This defaults to “1”
  • Added the hint SDL_HINT_VIDEO_DOUBLE_BUFFER to control whether the Raspberry Pi and KMSDRM video drivers should use double or triple buffering (the default)

In addition to the SDL release, SDL_Image 2.0.3 was also released.  SDL_Image is an image file loading library that works with SDL.  The SDL 2.0.3 release was entirely around dealing with some security related issues.

GameDev News

1. March 2018

Kotlin 1.2.30 has been released.  Kotlin is a new JVM powered programming language from JetBrains, the makers of popular development tools such as Intellij IDEA, WebStorm and CLion IDEs.  While initially targeting the existing Java VM environment and maintaining compatibility with Java libraries, Kotlin also can now be compiled to JavaScript as well as LLVM targets making native no VM compilation possible.


New features in this release:

  • Adds a new declaration in the standard library, which imitates the suspend modifier for lambda expressions
  • Adds support for TestNG in kotlin.test
  • Brings support for Android modules in multiplatform projects
  • Introduces a new feature in kapt for reporting annotation processing errors along with proper links to the original Kotlin declarations
  • Adds a lot of new inspections and intentions in the IntelliJ plugin and improves its performance
  • Fixes bugs in the compiler and IntelliJ plugin

The update is compatible with all versions of IntelliJ IDEA from 2017.1 until 2017.3 and 2018.1 EAP, as well as with Android Studio 3.0.

If you are interested in getting started with Kotlin development, be sure to check out this excellent resource list.

GameDev News

AppGameKit Studio

See More Tutorials on!

Month List