Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
23. March 2017


Phaser 2.7.4 CE was just released.  Phaser is a HTML5 based 2D game engine.  If you are interested in learning more, we have a complete Phaser with TypeScript tutorial series available here on GameFromScratch.  You may be wondering about the CE tag, this simply refers to community edition.  The primary developer Photon Storm turned over development of Phaser 2.x to the community, while they focused on the next release.phaser-ce-274-released


Details from the release announcement:

The new features include:

  • New method Phaser.Math.hypot() calculates the length of the hypotenuse spanning two given lengths
  • Added copyBitmapData function to Phaser.Bitmap
  • Added noPause logic to src/input/Pointer.js
  • Added timeStep parameter pass to state.pauseUpdate call at src/core/Game.js
  • Added tileOffset (Phaser.Point) property to Phaser.TilemapLayer. This allows offsetting layer positions in a way that plays well with the camera and Arcade physics. Also, the offsetx and offsety properties are now read from the layer properties of Tiled maps.

And updates include fixes to FireFox image caching, a new yarn lock file, a travis build script, lots of TypeScript defs updates, new Text fixes, JSHint fixes and loads more.


Phaser is available for download on Github.

GameDev News

23. March 2017


Another Unity patch has arrived, this one version 5.5.2p4, once again entirely composed of bug fixes. 

New fixes in this patch:

  • (851523) - Android: Fixed incorrect dangerous permissions dialog behavior when the app was suspended while the dialog was on screen.
  • (888274) - Android: Fixed an issue where ApplicationId was missing from AndroidManifest.xml in Gradle builds.
  • (887998) - Animation: Fixed Assert Thread::CurrentThreadIsMainThread() from Animator::IsHuman() when run in a job thread.
  • (884643) - Animation: Fixed a crash when re-enabling GameObject that was running a Playable.
  • (884472) - Asset Pipeline: Fixed a crash that occurred when loading the same asset both synchronously and asynchronously simultaneously.
  • (864237) - Graphics: Fixed an issue with Assert "Texture aux property (unity_SpecCube0_HDR) should never be a built-in name!".
  • (851265) - Graphics: Fixed a crash when switching from DX12 to DX11 graphics API in the Editor.
  • (887912) - IOS: Added support in order to enable auto-rotation while broadcasting using ReplayKit.
  • (788515) - iOS: Fixed Airplay mirroring mode when using Open GLES.
  • (876169) - Particles: Fixed a NullReferenceException, when Inherit Velocity was set to less or more than 0 and Rigidbody2D was set to Dynamic.
  • (890937) - Physics 2D: CapsuleCollider2D now correctly calculates its mass when using auto-mass.
  • (888302) - Scripting: Fixed a coroutine crash in Coroutine::CompareCoroutineEnumerator.
  • (881103) - Shaders: Fixed an internal error on a GLSL/Metal shader compiling corner case.
  • (886841) - VR: Fixed a subtle timing bug on Rift that could cause very minor view stuttering in certain situations.


The patch is available for download here.

GameDev News

22. March 2017


One thing many programmers struggle with is finding art for their game.  There is a new site, The Open Pixel Project that aims to make life somewhat easier for people.  It’s essentially a community for publishing, requesting and downloading pixel art graphics.  It just went live and there are already hundreds of tiles and sprites available, all under the Creative Commons Zero license, which is about as liberal as they come.


I did a quick hands-on video on the Open Pixel Project available below.


The only immediate recommendation I have, beyond fixing the png links, is that they publish to a much higher resolution.  It’s easy to go down in resolution, but not so easy going up!  It will be interesting to see how this project turns out.

GameDev News Art

21. March 2017


KDevelop started life as a Linux based IDE created by the KDE group.  In the last year however it has expanded to have beta support for Windows while a Mac OS version is also under development.  They just released KDE 5.1.0 bringing tons of new features to the IDE including LLDB support, cppcheck, OpenCL language support, improved Python language support, in-IDE theme selection, Perforce integration and more.


Details from the release announcement:

LLDB support

We had a great student for GSoC 2016 implementing LLDB support in KDevelop. The end result is that we now have a debugger framework which can be used both for the GDB & LLDB MI communcation. The LLDB plugin teaches KDevelop to talk to the standalone LLDB MI Driver (lldb-mi); so now it's possible to use LLDB as an alternative debugger backend for KDevelop. One interesting thing with LLDB that it's also potentially useful on OS X & Windows for us, especially when the Windows port of LLDB is getting more and more stable.

Analyzer run mode

With 5.1, KDevelop got a new menu entry Analyzer which features a set of actions to work with analyzer-like plugins. During the last months, we merged analyzer plugins into kdevelop.git which are now shipped to you out of the box:


Cppcheck is a well-known static analysis tool for C/C++ code. Cppcheck is useful for taking a closer look at your source code checking for common programming faults such as out of boundsKDevelop accesses, memory leaks, null pointer dereferences, uninitialized variables, etc. pp. With the Cppcheck integration in KDevelop running the cppcheck executable is just one click away. KDevelop will pass the correct parameters to cppcheck including potential include paths and other options.

Other analyzers in the pipeline: Valgrind, clang-tidy, krazy2

While the Cppcheck plugin is shipped out of the box, other analyzers are not considered 100% stable yet and still reside in their own repositories. The clang-tidy plugin looks super promising (another static analysis & refactoring tool for C/C++) as it really easy to use from the command-line and thus easy to integrate into our IDE. We plan to import more of those analyzers into kdevelop.git so they'll be part of the kdevelop tarball and are thus available to you without having to install yet another package.

Initial OpenCL language support, CUDA support upcoming

Since 5.1 KDevelop is able to parse code written in the Open Computing Language (OpenCL). The OpenCL language support inside KDevelop is backed by our Clang-based language support backend and thus just required minimal changes in KDevelop to start supporting it. Support for handling NVidia's CUDA files will be part of 5.2 instead. Stay tuned.

Note that for KDevelop to detect .cl files as OpenCL files, an up-to-date shared-mime-info package which contains this patch is required. Alternatively, you can add the mime type yourself by creating the file /usr/share/mime/text/x-opencl-src.xml with appropriate contents and re-running update-mime-database yourself.

Improved Python language support

Python language support now supports Python 3.6 syntax and semantics. In addition, thanks to the work of Francis Herne, various long-standing issues in the semantic analysis engine have been fixed:

  • Loops and comprehensions infer types correctly in many more cases, including on user-defined types with __iter__ and __next__ methods.
  • Type guessing works for arguments named by keywords (not only **kwargs), and works better for class/staticmethods.
  • Property accesses get the return type of the decorated method.
  • Types are inferred correctly from PEP-448 syntax in container literals.
  • Unsure types are handled in subscripts and tuple unpacking.
  • Uses are found for __call__() and __get/setitem__().

These improvements were accompanied by cleaning up dusty code, making future changes simpler as well.Furthermore, our style checker integration has been rewritten, making it much faster and easier to configure.

Perforce integration

Thanks to Morten Danielsen Volden we now have Perforce integration in kdevplatform.git, which can be used freely starting with KDevelop 5.1. Perforce is a commercial, proprietary revision control system. The Perforce integration in KDevelop simply works by running a local version of the p4 executable (needs to be installed independently of KDevelop) with appropriate parameters. This is similar to how KDevelop integrates with other VCS, such as Git & Bazaar.

Color scheme selection inside KDevelop

It is now possible to select the current color scheme from within KDevelop, a feature which has been requested several times in the past. This is especially useful for when KDevelop is run under a different desktop environment than KDE Plasma, where the color scheme settings may not be easily accessible.

Ongoing support for other platforms

We're continuously improving the Windows version of KDevelop and we're planning to release a first KDevelop version for OS X soon (yep, we're repeating us here, please stay tuned!). For the Windows version, we upgraded the KF5 version to 5.32 and the LLVM/Clang version to 3.9.1.


KDevelop is completely free and available for download here.

GameDev News

21. March 2017


There is a new release of the Lua powered Defold Game Engine, bringing it to version 1.2.100.  In addition to several bug fixes, the release added a new Lua module for creating and manipulating memory buffers.  If you want to learn more about using the Defold game engine, we have a complete tutorial series available here.


Details of the release:


  • DEF-2483 - Added: Added buffer Lua module for creating buffers and manipulating streams
  • DEF-1217 - Fixed: Spine keyable draworder
  • DEF-1688 - Fixed: Fixed issue of not flushing all purchases on Google Play after reconnecting to wifi
  • DEF-2024 - Fixed: Multi touch gave inconsistent input messages
  • DEF-2500 - Fixed: Extensions are now only initialized once
  • DEF-2519 - Fixed: CONSTANT_TYPE_WORLD is set to the identity matrix for model components
  • DEF-2538 - Fixed: When issue of last sound having gain 0, muted all audio
  • DEF-2547 - Fixed: Removed unused shader constants from builtin shaders
  • DEF-2554 - Fixed: Detect configuration change and reenable immersive mode
  • DEF-2558 - Fixed: Fix discrete sampling midpoint calculation in Spine animations
  • DEF-2561 - Fixed: Handling reset keys for spine draw order offsets
  • DEF-2565 - Fixed: Debug rendering for circles in 2D physics
  • DEF-2568 - Fixed: Typo fix for dmGraphics::GetNativeiOSUIWindow


  • Added examples for gui scripts
  • Lots of minor fixes

AppGameKit Studio

See More Tutorials on!

Month List