Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon Join the GFS Discord Server!
27. July 2017

Today Godot just released the first downloadable version of the upcoming Godot 3.0 game engine.  This is an alpha level release, so while mostly feature complete do expect to encounter several bugs.  If you are godwaiting for C# support, unfortunately it did  not make it into the alpha release but hopefully will be released soon.  This alpha however is absolutely packed with new functionality including the completely new 3D renderer and material system, a new visual programming language, GDNative, an updated UI and much more.

From the release notes:

The features

Now, there are still some cool features that can already be played with in this alpha1 build, and we are looking forward to seeing what you will come up with using the new 3D renderer. There is no exhaustive listing of all the new features to experiment with, but you can read past articles of this blog and check Juan's Twitter feed for some teasers :)

Please use the community channels to discuss with existing users and learn how to use the new workflows of Godot 3.0 - as of this writing there is almost no documentation on the new features, but this alpha1 build should serve as a starting point for documentation writers.

I made a 20 minute hands-on video showcasing some of the new functionality available in Godot 3.0 available here and embedded below.

GameDev News

25. July 2017

The Defold Lua powered game engine version 1.2.109 has just been released.  The Defold engine is a Lua powered mobile focused cross platform 2D game engine developed by King.  If you are interested in learning Defold, we have a full tutorial series available here.  This release comes just in time for the CoronaDefoldJam, starting a few days.

Details from the release notes:

This sprint we've been finishing the Particles in GUI task, and also added some smaller enhancements.

Particles in GUI

This release adds the feature of adding particle effects to your GUI scene.
Just as other resources in the gui, you add a .particlefx file to the scene,
and then you can reference it by adding particle fx nodes to your scene.

You can also add nodes dynamically at runtime.

Previewer in Editor 2

Also, please try playing the effect directly in the Editor 2 by pressing CMD+P
In the gui, you can change the color propery while the effect is playing.

The Lua API
  • gui.new_particlefx_node(pos, particlefx)
  • gui.play_particlefx(node, [emitter_state_callback])
  • gui.stop_particlefx(node)
  • gui.set_particlefx(node, particlefx)
  • gui.get_particlefx(node)


  • DEF-2106 - Added: Particles in GUI
  • DEF-2813 - Fixed: Fixed crash when error logging a bad string (in gui.delete_texture)
  • DEF-2437 - Fixed: The render.get_render_target_width() and render.get_render_target_height() now support BUFFER_TYPE_COLOR_BIT/BUFFER_TYPE_DEPTH_BIT/BUFFER_TYPE_STENCIL_BIT
  • DEF-2807 - Fixed: Added sound name output when it fails to decode
  • DEF-2809 - Fixed: Embedded camera component not working in Editor 1
  • DEF-2811 - Fixed: Target app: Failing to load project file restarts the target app
  • DEF-2814 - Fixed: Native Extensions now build debug builds for Win32 too

GameDev News

25. July 2017

Available on Github, Crytek have released a preview version of the upcoming CryEngine 5.4 game engine.  Obviously being a preview you should expect some bugs and glitches and should probably wait on the final release in a production environment.  The 5.4 release contains over 620CryEngine improvements including Substance material importing, Vulkan support, a new component system and more.  Not included in the preview release, but part of the 5.4 release is also the release of the editor source code.

Details from the release notes:

With over 623 improvements, fixes and features this release includes all new Vulkan API support, and although it’s our first step on the road you can expect further support on this soon. Also included is the Entity Component System with unified standard entities across C++ and Schematyc.

For Artists, we have a much requested Substance integration for the reading of material archives and manipulation of texture inputs with in-editor graphing. Additionally, we have expanded the feature set of the terrain system to allow for better blending of terrain and objects within your level.

Iterating on existing technology there is a second iteration of the Asset System which provides improvements and extended usage across tools, with thumbnail generation and all new dependency tracking. To get started, you can find the CRYENGINE 5.4 Preview on Github HERE!

GameDev News

22. July 2017

HaxeFlixel 4.3.0 was just released.  HaxeFlixel is a Haxe port of the popular Flixel 2D game engine.  If you are interested in learning more about HaxeFlixel we have a complete audio and text tutorial series.

Details of the release from the changelog:

New features:
  • FlxTween: added cancelChain() (#1988)
  • FlxMatrix: added transformX() and transformY() (dcc66b3)
  • FlxCamera: added containsPoint() (#1964)
  • FlxSubState: added openCallback (#2023)
  • FlxSpriteGroup:
    • added insert() (#2020)
    • added clipRect support (#2051)
  • FlxSoundGroup: added pause() and resume() (#2043)
  • FlxDebugger interaction tool:
    • added tooltips (#2006)
    • added a selection rectangle (#1995)
  • FlxDebugger console: added an "Entry Type" quick watch entry (d354352)
  • FlxStringUtil: added getHost() (#1996)
  • FlxPoint: added toVector() (#2061)
  • FlxGamepad: added getAnalogAxes() (#2064)
  • FlxMouse: added getters for justPressedTimeInTicks (#2070)
  • FlxEase: added linear / smooth / smoother functions (#2080)
<?XML:NAMESPACE PREFIX = "[default]" NS = "" />Bugfixes:
  • FlxAnimation: fixed reversed animations (#1998)
  • FlxRandom: fixed getObject() not respecting startIndex (#2009)
  • FlxGroup: fixed remove() with Splice = true not decreasing length (#2010)
  • FlxStringUtil: fixed an issue with decimals in formatMoney() (#2011)
  • FlxMouseEventManager:
    • fixed overlap checks for off-camera sprites (#1964)
    • fixed pixel-perfect overlaps with offset (#1999)
    • fixed reset logic on state switches (#1986)
  • FlxPreloader: fixed missing assets with full DCE (764a5a8)
  • FlxG.cameras: fixed reset() not removing all cameras (#2016)
  • FlxAnimationController: fixed flipX / Y not being copied in copyFrom() (#2027)
  • haxelib run flixel: fixed the working directory not being passed on (61f2c20)
  • FlxDebugger interaction tool:
    • fixed selection of FlxSpriteGroup members (89a4ee2)
    • fixed selection of objects in substates (69042ab)
    • fixed selections being canceled on interaction with debugger UI (897f21f)
  • FlxG.html5: fixed platform detecting iPhone and iPod as "Mac" (#2052)
  • FlxTilemap: fixed a missing bounds check in getTileIndexByCoords() (#2024)
  • FlxAnalog: fixed mouse input without FLX_NO_TOUCH (#2067)
  • flixel.input: fixed Float being used for tick values (#2071)
  • FlxCamera: fixed object visibility for zoom < 1 (#2003)
  • FlxEmitter: fixed issues with lifespan == 0 (#2074)
Changes and improvements:
  • FlxBitmapText: allowed negative lineSpacing values (#1984)
  • FlxStringUtil: made getDomain() more robust (#1993, #1996)
  • FlxG.signals: changed gameResized to be dispatched after camera resize (#2012)
  • FlxAtlasFrames: allowed passing a parsed Description in fromTexturePackerJson() (#2021)
  • optimized expression watch entries (#2004)
  • FlxDebugger console:
    • allowed null objects in registerObject() to unregister (f52c73e)
    • registered a reference to the current selection of the interaction tool (1bb7b48)
    • prevented unpause after manual pausing through UI (56854fc)
  • FlxBasePreloader: improved the design of the sitelock failure notice (#1994)
  • FlxFlicker: made stop() public (#2084)
  • FlxAnalog: several fixes and improvements (#2073)

GameDev News

20. July 2017

AppGameKit 2017.07.19 update was just released.  AppGameKit is a beginner/indie focused game engine supporting C++ that can target several different platforms.  We covered AppGameKit 2 a couple years ago as part of the Closer Look At game engine review series if you want more information.  Release 2017.07.19 brings several new features including automatic shadow generation, 3D particles and normal map support.

Further details from the release announcement:

AppGameKit Player Apps

  • The AppGameKit Player on iOS will now display the Wifi IPv4 address over the mobile data one, if available

3D Shadows

  • AppGameKit now supports 3D shadow effects. Shadows are cast automatically from the directional light.

  • There are three different shadow modes you can choose from:
    • Uniform shadow mapping
    • Light Space Perspective shadow mapping
    • Cascade shadow mapping
  • The new shadow commands are;
    • SetShadowMappingMode
    • SetShadowSmoothing
    • SetShadowMapSize
    • SetShadowRange
    • SetShadowBias
    • SetShadowLightStepSize
    • SetObjectCastShadow
    • SetObjectReceiveShadow
  • New tier 1 shadow demo (found in the 3D demo folder)

3D Particles

  • Added 3D particle commands
  • Added a 3D Particle example to demonstrate their usage


  • Added SetObjectNormalMap command to add a normal map to a 3D object that uses the default shaders
  • Added LoadShaderFromString command to specify the shader source code directly as a string
  • Changed the mesh to light distance calculation to prefer closer lights regardless of light range when the number of lights is exceeded
  • If the number of pixel lights affecting a mesh exceeds the limit (currently 4) then the additional pixel lights will be applied to the mesh as vertex lights if possible
  • Added support for tangent and binormal attributes in 3D objects loaded from external files
  • Objects using a normal map that don't have any tangents or binormals will have them generated at runtime

  • Added normal mapping example project
  • Added support for the vertex color attribute for 3D objects using the default shaders

3D Model formats

  • Upgraded to version 3.3 of the Open Asset Import Library for 3D model loading
  • Currently supported 3D model formats are: .x .fbx .dae .3ds .obj .b3d .3d


  • DrawLine on all platforms will now draw the last pixel of a line whereas previously the last pixel was left blank
  • Fixed DrawBox drawing unfilled boxes incorrectly if the virtual resolution didn't match the window size

2D Physics

  • Fixed SetSpritePhysicsOff causing a crash if called inside a contact loop using GetFirstContact and GetNextContact
  • Fixed a crash when setting a physics sprite to a width or height of 0

Raw File Paths

  • Fixed LoadVideo not working with "raw:" file paths on non-Windows platforms
  • Fixed LoadMusic not working with "raw:" file paths on all platforms


  • Added RequestAppReview for iOS 10.3 to rate the app from within the app itself
  • Changed iOS splash screen to fade to black instead of white before displaying your app
  • Fixed OpenBrowser on iOS not accepting URLs containing spaces


  • Added FacebookActivateAppTracking command to send app events to the Facebook app console and record app installs


  • Added ShareImageAndText command to share both an image and text at the same time


  • Fixed assigning default values to an array of strings in a function generating an error if the number of values didn't match the array size exactly


  • Updated Mac projects to use libc++, any Tier 2 projects will need to update their setings accordingly


  • Fixed spelling mistake in GetSocketListnerConnection command name, this is a breaking change and will need to be corrected in existing apps
  • Fixed network client disconnect not being forwarded to other clients
  • Added SetNetworkAllowClients to restart client listening after calling SetNetworkNoMoreClients
  • Added KickNetworkClient to kick a network client off the network, only the host can do this


  • Fixed ReplaceString cutting off the end of the string if the replace count limit is met
  • Fixed a memory leak in CountStringTokens and GetStringToken


  • Fixed Ouya Tier 2 template failing to compile


  • Fixed Android GameCenter commands crashing if passed an empty string for the leaderboard name
  • Exported Google Android apps should now be compatible with Android TV
  • Fixed ViewFile and ShareImage failing after the first attempt in exported APKs

Virtual Buttons

  • Fixed virtual button commands reporting the wrong button ID in error messages

Tier 2

  • Fixed Android ShowCaptureScreen in Tier 2 causing an exception
  • Removed old Visual Studio projects, AppGameKit now only supports VS2015
  • Support for Visual Studio 2017 has been delayed, we're awaiting a bug fix from Microsoft to continue support
  • Added a 64-bit template project for Windows using VS2015
  • Added a 64-bit version of the Windows interpreter to the Players folder, it will not be used automatically to maintain backwards compatibility


  • Added support for 64-bit plugins in the 64-bit Windows interpreter, 32-bit plugins can only be used with the 32-bit interpreter
  • Added Example Plugin source code to the installed files on Windows, Mac, and Linux
  • Fixed a memory leak when calling plugin commands


  • Debugging from the AGK IDE will now attempt to use the loopback addres if no other IP addresses could be found


  • Fixed DrawLine on Linux sometimes being off by one
  • Fixed GetResumed and GetPaused not working on Linux
  • Linux apps should no longer exit when a socket disconnects

GameDev News

See More Tutorials on!

Month List