Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

27. June 2017

Leadwerks game engine 4.4 was released yesterday  Leadwerks bills itself as the easiest to learn way to build 3D games.  The primary scripting language is Lua, while the professional version has C++ programming as an option.  The 4.4 release adds new GUI support, inverse kinematics, updated post processing effects and more. 

From the release blog:

Leadwerks Software today announced the release of version 4.4 of their topselling game engine on Steam.  This version adds a new GUI system, support for inverse kinematics, and enhanced visuals.  The free update goes out today to over 20,000 paid users on Steam. Screenshots_screenshot259.thumb.jpg.7fe75bab83a6be87c1aa01f197efa93a.jpg

Leadwerks Game Engine 4.4 sees the introduction of Leadwerks GUI, a system for creating resolution-independent in-game menus.  Custom GUI elements can be created with Lua script, or an item can be selected from a number of pre-built GUI scripts including buttons, tabbed panels, slider controls, and more.  Leadwerks GUI is designed for the future, with support for 4K and 8K displays, as well as VR menus of any resolution.

Inverse kinematics are now supported, with two new joints that provide fine control over the orientation of physics bodies.  These can be used to control the end effector in an IK setup, or for precise control of moving objects.  The Leadwerks physics system has been updated to the latest Newton Dynamics 3.14.

Post-processing effects have been updated to enhance visual quality.  Bloom, HDR iris adjustment, SSAO, and fog have all been updated for improved graphics.  A new shader has been added to the vegetation system that scattering millions of rocks across a landscape to make terrain more detailed and realistic.

The Leadwerks learning materials have been converted into an all-new documentation system.  This allows easier searching and browsing of tutorials, API documentation, and examples.  A new series of tutorials has been added to teach the basics of C++ programming, in addition to the existing lessons on Lua scripting.

Leadwerks Game Engine can be purchased at a discount during the Steam summer sale.  All Leadwerks games have Steamworks support integrated out-of-the-box and are ready to publish through Steam Direct.

If you are interested, Leadwerks is currently available as part of the Steam Summer Sale at an 80% discount.

GameDev News

27. June 2017

Defold Engine 1.2.107 has just been released.  The Defold Engine is a Lua powered 2D focused game engine made freely available by King.  If you want to learn more about the Defold Engine, we have a full tutorial series available here.  The 1.2.107 release improves asset pre-loading, texture loading/creation performance and more.

Details from the release notes:


  • DEF-2772 - Added: Async decoding of WebP images
  • DEF-2651 - Added: Async texture GPU upload
  • DEF-2770 - Added: Added LuaSocket documentation
  • DEF-2688 - Fixed: The particle spawn rate spread is now working
  • DEF-2768 - Fixed: Libraries with unusual folder structure crashed Bob
  • DEF-2756 - Fixed: Small improvement on error handling if the generated doesn't compile
  • DEF-2625 - Fixed: Increased buffer used to parse game.project values to 2048


  • We've added a brand new tutorial of how to make a classic 15 puzzle game
  • we've also added documentation for LuaSocket in both editors
  • Lots of smaller fixes

There was also some discussion on features that are currently in the works:

Native Extensions

The work on Windows support is progressing nicely.
The main parts of the build pipeline is functional, with some cleanup left to do.
Planning for a release in the next sprint.

Facebook Gameroom

Another upcoming big feature is support for Facebook's Gameroom.
This will allow you to use Facebook and in app puchases on the Windows platform through their new platform.
This feature is estimated to arrive in the next release.

Particles in GUI

A long awaited feature is support for particles in GUI.
It is a big task with some big refactoring involved, but it is going well.
A recent benefit from this was the batching of particle systems.

One other small part of this release is anonymous usage tracking, something many are surely not going to like.

We have also added anonymous tracking of how the editor is being used* in order for us to better understand our users, help us with prioritisation and improve the product.

(*Clarification edit: it tracks what version is running and what parts of the editor that are used)

People REALLY hate this stuff, myself included, so if it can’t be toggled off, this new feature strikes me as a mistake.

GameDev News

27. June 2017

Starling 2.2 was just released today.  Several new features were added including inverted masks, stronger blurs, binding scale9 grids to texture, async bitmap upload and more.  Starling is an open source game framework for ActionScript (Flash)  offering an easy 2D api with graphics acceleration.  The Starling framework has been used to power several popular games including titles in the Angry Birds series.

Details from the changelogs:

  • added 'DisplayObject.isMaskInverted' (thanks to Ehsan Marufi)
  • added support for stronger blurs with fewer passes to BlurFilter
  • added 'Image.bindScale9GridToTexture' for automated scale9Grid setup (thanks to Kevin Foley)
  • added 'Image.bindPivotPointToTexture' for automated pivot point setup
  • added 'Image.automateSetupForTexture' for automated setup of all the rest ;)
  • added workaround for memory issue on iOS concerning BatchPools
  • added 'padding' to TextField class → allowing injection of 'TextOptions' into TextField
  • added convenience methods and properties to 'Padding' class
  • added 'Painter.setupContextDefaults' and using it in 'DisplayObject.drawToBitmapData'
  • added support for asynchronous bitmap texture uploads (via 'Texture.asyncBitmapUploadEnabled')
  • added support for specifying the alpha value with which the context is cleared each frame
  • added support for overriding 'updateTransformationMatrix' in display objects
  • added methods for quickly checking the current platform in SystemUtil (thanks to Kevin Foley)
  • added 'numSides' parameter in 'Polygon.createEllipse' and 'createCircle' (thanks to Ehsan Marufi)
  • added 'StringUtil.parseBoolean' and using it for XML parsing in TextureAtlas
  • added 'TextureAtlas.addSubTexture' (thanks to Ehsan Marufi)
  • added 'RectangleUtil.extendToWholePixels' and using it to optimize area processed by fragment filter
  • added 'DisplayObject.drawToBitmapData' method
  • added link to new manual to README
  • added iPad support and auto-orientation to scaffold project
  • added 'Field Agent' utility for simple distance field creation
  • added depth test settings to RenderState (thanks to Alexander Mokretsov)
  • added 'styleSheet' property to TextField
  • added color component setter functions to 'Color' class (thanks to Alexander Mokretsov)
  • added 'letterSpacing' property to 'TextFormat' class (thanks to pbalmasov)
  • added 'antiAliasing' property to FragmentFilter
  • changed 'TextField.setRequiresRecomposition' to be public
  • changed that Travis build now always uses the latest AIR SDK
  • changed that Starling now stops with an error if AIR/Flash runtime version is not supported
  • changed 'scaffold_mobile' project to be better suited for current mobile device
  • changed that 'copyFrom' is called before setting the new style in MeshBatch (thanks to Robert Carone)
  • changed IntelliJ IDEA resource utility so it's easier to use
  • changed that 'depthAndStencil' warning is printed out on first use of masks
  • optimized MiniBitmapFont: replaced XML with compressed ByteArray to save space
  • optimized masking: now using depth test to prevent masks from being drawn (thanks to Ehsan Marufi)
  • optimized transformation matrix workflow
  • optimized 'removeEventListener' by avoiding duplicate vector creation (thanks to Josh Tynjala)
  • optimized pushing and popping of state stack in DisplayObjectContainer (thanks to vroad)
  • fixed that objects were not notified if HOVER phase ended due to display list changes
  • fixed possible null reference error in Sprite3D instances
  • fixed that back buffer could be left in unknown state after disabling 'Starling.shareContext'
  • fixed that 'alignPivot' did not force transformation matrix update on Sprite3D
  • fixed that internal 'dispose' was called twice on empty TextField (thanks to 5k0rp)
  • fixed that render context was disposed before the stage (thanks to neuronix)
  • fixed that changing camera settings did not force redraw
  • fixed 'drawToBitmapData' when called on the stage with negative viewPort.x/y
  • fixed that DisplacementMapFilter did not clamp edge pixels
  • fixed that 'copy_resources.rb' script could not handle multiple configurations
  • fixed that helper matrix was not initialized in FragmentFilter (thanks to bwhiting)
  • fixed iPad logic of mobile scaffold
  • fixed that 'Juggler.removeDelayedCalls' didn't remove the id of the delayed call
  • fixed that disposing video texture did not always cut connections to camera and net stream
  • fixed some class references in the API documentation
  • fixed that 'setRequiresRedraw' was not called after resizing native window (thanks to Josh Tynjala)
  • fixed that masking a filtered object with a clipRect did not work
  • fixed exception on rendering of mesh occurring when its style was changed
  • fixed that back buffer sizes below 32x32 lead to an exception (now forcing this minimal size)
  • fixed null pointer exception in Pool.getPoint3D

You can read a great deal more about this release here.  Starling is available for download here.

GameDev News

27. June 2017

Microsoft just launched Win2D version 1.21.0.  Win2D is an immediate mode GPU accelerated 2D library using C++, C# or VB.Net on Windows platforms.  By far the biggest new feature of this release is the ability to draw SVG (Scalable Vector Graphics) graphics. 

From the release announcements:

Win2D version 1.21.0 is now available on NuGet (for Windows 10 or Windows / Phone 8.1) and GitHub.

New in this release:

  • Load, draw, and manipulate SVG (scalable vector graphics) documents  (requires Windows 10 Creators Update)
  • Load and save JpegXR images using extended precision pixel formats  (16 and 32 bit floating point, or 16 bit normalized integer)
  • ColorManagementProfile now supports Simple and Extended types as well as ICC color profiles  (requires Windows 10 Creators Update)
  • Added a CanvasComposition.CreateDrawingSession overload that allows specifying DPI
  • Building Win2D for UWP now requires Visual Studio 2017  (but if you are just using it in an app rather than compiling it yourself, both VS 2015 and 2017 continue to be supported)


  • #479 – CanvasVirtualControl OnRegionsInvalidated not triggered when launching app
  • #486 – Crash when resource loading completes after Canvas is already unloaded
  • #487 – ComputeHistogram does not take into account the SourceRectangle
  • #491 – CanvasControl & CanvasVirtualControl do not disable the accessibility view
  • #496 – Crash in Microsoft_Graphics_Canvas RegisteredEvent::Release
  • #498 – CanvasGradientMesh TensorPatch Colors documented incorrectly
  • #515 – Crash when passing a CanvasCommandList to CanvasImage.SaveAsync

Win2D supports a subset of SVG 1.1. For more details, see Direct2D’s page about SVG support.

Win2D is available on Github as well as NuGet.

GameDev News

23. June 2017

It’s once again that time of year!  The Steam Summer sale is on, so its time to load up on cheap games that you will probably never actually have the time to play!  In addition to a ton of games however, more and more Game Development related software has been showing up on Steam and as part of the sales.  Do keep in mind however, that most of the items you see on sale will be on sale again. 

The following are a few (somewhat random) highlights of what is currently on sale and of interest to game developers.

There are of course several dozen more programs for sale in the sale.

GameDev News

Month List

Popular Comments