Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
14. June 2018

Autodesk have announced the new features in the 3ds Max 2019.1.  The update includes massive performance improvements to Open Shading Language (OSL), up to nearly 100x faster than 2019.    Alembic support has also been improved in this release, including the ability to preview contents of an alembic file before you import it.  A summary of new features in this release:

Alembic file import and export
Improvements to Alembic files include being able to preview the contents of an Alembic file prior to import, Alembic Helper icons are resizable and can be toggled, and 3ds Max Object Properties and Custom Attributes can be imported and exported.

Improvements include the new Channel Field Object that lets you manipulate specific properties within your simulation, and the boundary controls and Volume helper, which are used to limit areas of effect. You can also now disable specific emitters, colliders, foam masks, kill planes, and motion fields on a per solve basis.

OSL (Open Shading Language)
Open Shading Language performance improvements include improved rendering performance for complex shaders, especially with Scanline renderer; improved viewport representation with native support for over 80 of the included OSL shaders; most user-created procedural OSL shaders can now be viewed in the viewport; and the OSL Editor has been improved, including font customization.

Shared Views
Shared Views improvements include support for all bitmap types, the ability to render and upload most procedural textures (including OSL shaders), the ability to resize textures on upload, support for Shell material, and arbitrary UV channels (limited to 1).

Switching between projects is now more manageable with the new Projects toolbar, that lets you easily see your project folder and switch between folders. Also, the Projects menu now has a checkbox allowing you to toggle the ability to automatically switch between projects.

General improvements
General improvements include archiving and scene file compression now supports large data sets (greater than 2GB), Vault users can check large files in and out as well as auto-login, FBX can now export animation without needing to include geometry, and attaching large meshes can be up to 7 times faster.

The full release notes of this release are available here.

GameDev News

13. June 2018

Godot Engine just got a new release, 3.0.3.  This is primarily a maintenance release, composed mostly of minor improvements and bug fixes.  Hands down the biggest new feature in Godot 3.0.3 is that exporting to all desktop platforms now works for Mono/C# projects.  Please note, this release does not yet include the Android APK fix and you will have to continue using the manual tool until Godot 3.0.4 is released with a full fix.


You must have Mono 5.12 or later installed if you are using the Mono/C# version.  Apparently this is causing crashes on start up for many users.  Additionally if you are on MacOS and use Homebrew for package management, it seems the version of Mono they distribute is out of date, requiring you to manually download the most recent versions.

Other details of the release from the release announcement:

What's new in this release

Here are some of the highlights of this release. See the full changelog for details.

  • Mono: Exporting to desktop platforms now works.
  • Universal translation of touch to mouse.
  • print_tree_pretty() was added allowing a graphical view of the scene tree.
  • Vector3::round(), Vector2::round(), and Vector2::ceil() methods were added.
  • Dynamic fonts can now have a hinting mode set.
  • Restore purchases feature for iOS.
  • AudioStreamPlayer, AudioStreamPlayer2D, and AudioStreamPlayer3D now have a pitch scale property.
  • Show origin and Show viewport setting in 2D editor.
  • You can now set Godot windows as 'always on top'.
  • --print-fps options to print FPS to stdout.

Fixed issues

Here are some of the highlights of this release. See the full changelog for details.

  • Mono: Signal parameters no longer crash the engine.
  • Asset library thread usage, this makes the asset library more responsive.
  • Several GLTF import fixes.
  • Several memory leaks were plugged.
  • iPhone X support.
  • Several fixes to audio drivers (WASAPI and PulseAudio).
  • Several crashes were fixed.
  • Export PCK/ZIP now works again.

If you are interested in learning more about Godot 3, be sure to check out our ongoing Godot 3 tutorial series.

One major push behind this release was to enable C# developers to be able to participate in the Godot Community Game Jam, starting Friday, June the 15th.  Godot game theme voting is occurring here.

GameDev News

13. June 2018

With Apple’s recent unfortunate decision to deprecate OpenGL support in iOS and Mac OS moving forward this will be the end to the only graphics API that worked natively across all platforms.  I think many developers would be willing to ignore the Mac OS market, but the iOS market is just too big for most people to ignore.  What then are theImage result for opengl logo alternatives to using OpenGL?  In this article we are going to look at exactly that topic.

Use a game engine and let them worry about it!

This is the category probably the majority of developers are going to fall under.  If you use an engine like Unity or Unreal this entire thing becomes a non-issue.  These engines generally already support a number of different rendering options, including native Metal support.  For other small or open source engines such as Godot, CopperCube, Shiva, Cocos, etc this is a bigger problem as they now potentially have to dedicate more time, money and/or resources to support yet another renderer… or drop support for Apple platforms completely.  Unless they rely on some kind of abstraction layer for rendering, life just got a bit more annoying for every single game engine manufacturer that previously supported Apple platforms.

The following engines have Metal support out of the box:

  • Unreal Engine
  • Unity
  • Lumberyard
  • Armory(via Kha)
  • Stingray (now defunct)

Use Vulkan + MoltenVK

A lot of game developers and engine developers specifically were planning to, or already have, implemented Vulkan rendering support.  Vulkan is a lower level alternative to OpenGL, from Khronos Group, the same people behind OpenGL.  Like Direct3D 12 and even Apple’s Metal, Vulkan is designed in a closer to the hardware manner, to better maximize new graphical functionality in modern GPUs.  Working in Vulkan takes a lot more effort than working in OpenGL or similar higher level APIs, but it is cross platform much the same way as OpenGL was.   The catch…  it doesn’t work on Apple products.   Ugh.  Ok, how then is this a solution?  We there is a product called MoltenVK that enables Vulkan to run on Apple’s Metal.  

Use an Abstraction Layer

Another option I’m really partial too… letting someone else do all the work!  There are a handful of low level cross platform graphics APIs that take care of the work for you.  So if you don’t want to use an existing game engine, but also don’t want to deal with rendering intricacies for each platform, this could be a great option.  Well will discuss available cross platform layers.


A cross platform “bring your own engine/framework” graphics rendering layer with bindings for several programming languages an renderers, including Metal ( and OpenGL, Direct3D, WebGL and more).  No Vulkan support however, at least not yet.


Kore is the open source C framework that kha is built on top of.  Kore supports a ton of renderers including metal.  You can learn more about kha in this video.


Ogre straddles the line between game engine and framework.  Either way, ogre3d has a metal renderer for iOS and MacOS.

The Forge

This one is fairly new to me, it’s a cross platform rendering framework that also supports Metal.


Veldrid is a .NET based rendering and computer library that supports Metal (as well as VUlkan, D3D11 and OpenGL, GL ES).  I have no personal experience with this library and it seems somewhat young from a developmental perspective.

SDL… maybe?

There are mutiple mentions and forks of SDL for supporting Metal.  I’m not sure if any are complete or still supported.

Implement A Metal Renderer

Of course you’ve always got the option of buckling down and implementing a Metal renderer for MacOS and iOS platforms.  Of course your work will only be useful on Mac/iOS platforms.  If you are interested in learning more about Metal you can learn more here.

Stick with OpenGL

Of course you’ve always got the option of just sticking with OpenGL.  Deprecated doesn’t mean it wont run on existing devices, just future ones.  Publish your game as it is now and let Apple deal with the fallout of their bad business decisions.


12. June 2018

Haxe 4.0 got one step closer with today’s release of Haxe 4.0.0 preview 4.  The release focuses heavily on improved compiler display services that will enable better editor support in IDEs such as Visual Studio Code.  Change will support auto imports, override completions, structure field name completion and more.  The Visual Studio code extension has already been updated to support the new Haxe 4.0.0 functionality.

Details of the release:

Improved compiler display services

Our focus for this release has been compiler display services. We implemented a new, JSON-RPC-based protocol which is utilized by the vshaxe Visual Studio Code Extension to provide a variety of new features:

  • Support for auto-import
  • Completion on override |
  • Completion for structure field names
  • Support for auto-generating structure declarations, functions, switches and more
  • Context-aware, sorted toplevel completion
  • Reference finding which explores modules that are not necessarily part of the compilation

Improved enum abstracts

Enum abstracts now get the treatment they deserve with a proper enum abstract syntax. Furthermore, values can now be omitted if the enum abstract is defined over Int or String:

enum abstract MyEnum(String) {
    var MyValue; // implicit = "MyValue"

enum abstract MyOtherEnum(Int) {
    var MyValue0; // implicit = 0
    var MyValue1; // implicit = 1
    var MyValue5 = 5;
    var MyValue6; // implicit = 6

Various syntactic improvements

  • extern is now recognized as a field-level modifier and can be used instead of @:extern
  • Metadata names can now use dots, e.g. @:haxe.json becomes a metadata entry named "haxe.json"
  • Structure fields now consistently allow var ?x and final ?x, meaning the same as @:optional var x
  • Type1 & Type2 is now a recognized syntax for intersection types. For the time being, it is only supported to merge structures (replacing the { >Type1, >Type2, } syntax) and for type parameter constraints (replacing T:(Type1, Type2) which has been removed from the language).

Be sure to check the change log for a complete list of changes and bug fixes in the release.  You can download Haxe 4.0.0 p4 right here.  If you are interested in developing games using the Haxe programming language be sure to check out our new Armory tutorial series or our HaxeFlixel tutorial series available here.

GameDev News

12. June 2018

If you’ve recently been to the GameFromScratch tutorial series page recently you may have noticed the addition of a new Armory game engine tutorial series.  It’s not actually hosted on GameFromScratch, instead it’s on our newly launched sister site (watch out, the paints still wet!)  Don’t worry though, nothings changed, it’s just a newer, cleaner, ArmoryDevGame900x600mobile friendly home for tutorial series, I’ll explain more about this later.  For now, just be aware there is a new text and video based tutorial series on the Armory game engine under development!

Armory (or Armory3D) is a newly free open source cross platform game engine that runs inside and tightly integrates with the Blender application.  If you are interested in learning more about Armory and why I’m so excited about it, be sure to check out Introduction to Armory video.  The series is still quite young but already there is a fair bit to get you started.  Right now the series consists of:

The entire series homepage is available here.

Additionally the video series has begun, lagging slightly behind the text series.  So far videos consist of:

There is a (very small for now…) playlist available here. is not a blog format and does not have any news, it’s just home to tutorials.  I will however announce new tutorials here on GameFromScratch, so stay tuned!  If you want to discuss the new series, there is a conversation over on the Armory discussion forums or leave a comment below or on YouTube.

Programming Art

AppGameKit Studio

See More Tutorials on!

Month List