Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
6. April 2020

There are a trio of recent development updates over on the Godot news website.  Today we take a look at the 3 major updates that have been made recently.  Keep in mind that Godot 4.0 is heavily under development and in no way should be used for production work!  If you do not want to build Godot from code yourself, you can get compiled nightly builds here.

Core Refactoring

Several changes have been made to the core of Godot 4.0.  Some of this is relatively simple renaming of nodes and servers to give a consistent naming convention across the entire game engine.  The biggest change in the refactoring is the reorganization of the Display Server and as a direct result, Godot 4.0 will now support detachable dialogs making multi window support vastly improved!

Custom Sky Shader

Environment sky settings have been refactored into a single Sky class and includes a new Sky shader type.  This new functionality gives the user a great deal more control over the sky, including the ability to create programmatic dynamic skys.

C# Improvements

iOS support is nearly here for Godot, both in Godot 4.0 and hopefully in the upcoming Godot 3.2.2 release.  The other major announcement around C# is support for C#’s event system for handling Godot signals, making C# code look much more like… well, C#.

You can learn more about all these new features by clicking the appropriate link above or watching the video embedded below.  The 3D scene used in Godot was downloaded from Sketchfab and is available for free here.

GameDev News

6. April 2020

Today we are taking a look at PixaFlux, an interesting free Windows based image creation and manipulation tool capable of creating PBR textures.  The entire process is node based and PixaFlux ships with an absolute ton of nodes to work with.  PixaFlux isn’t really easily described and is better seen or experienced, as you can in the video below.

PixaFlux is free to download for Windows, the download link is available here.

There is plenty of documentation to get you started.  There is a complete Wiki with step by step text tutorials available here.  There are additionally dozens of video tutorials available here.

The best way to get started with PixaFlux though is to see it in action in this video.

Art GameDev News

3. April 2020

The Eclipse Foundation have released Theia, an open source desktop and cloud based IDE with it’s targets set firmly on Visual Studio Code.  In fact, it’s even compatible with Visual Studio Code extensions!   Theia 1.0 isn’t actually a downloadable product, instead representing a framework for creating your own IDEs on top of the modular and extensible core provided by Theia.

Details from the Eclipse Foundation press release:

The Eclipse Foundation, one of the world’s largest open source foundations, today announced the release of Theia 1.0, a true open source alternative to Microsoft’s popular Visual Studio Code (VS Code) software. Eclipse Theia is an extensible platform to develop multi-language Cloud and Desktop Integrated Development Environments (IDEs) with state-of-the-art web technologies that enable developers, organizations, and vendors to create new, extensible developer experiences. Early contributors and adopters span a broad variety of industries and applications, and include companies like ARM, Arduino, EclipseSource, Ericsson, Gitpod, Google Cloud, IBM, Red Hat, SAP, and TypeFox.

“We are thrilled to see Eclipse Theia deliver on its promise of providing a production-ready, vendor-neutral, and open source framework for creating custom and white-labeled developer products,” said Mike Milinkovich, executive director of the Eclipse Foundation. “Visual Studio Code is one of the world’s most popular development environments. Not only does Theia allow developers to install and reuse VS Code extensions, it provides an extensible and adaptable platform that can be tailored to specific use cases, which is a huge benefit for any organization that wants to deliver a modern and professional development experience. Congratulations to all the Theia committers and contributors on achieving this milestone.”

Started as a project by Ericsson and TypeFox in 2016, the Theia project has become an integral part of enterprise cloud solutions around the world. Its momentum and distribution became significant enough that last year, the project approached the Eclipse Foundation as a potential host and vendor-neutral foundation that could further guide the project’s growth. Today, Theia is one of the Eclipse projects encompassed by the Eclipse Cloud Development Tools Working Group  (ECD WG), an industry collaboration focused on delivering development tools for and in the cloud.

The most significant differences between Eclipse Theia and VS Code are:

  • Theia's architecture is more modular and allows for significantly more customizations
  • Theia is designed from the ground to run on both Desktop and Cloud
  • Theia is developed under the community-driven and vendor-neutral governance of the Eclipse Foundation.

Eclipse Theia is designed to work as a native desktop application as well as in the context of a browser and a remote server. To support both situations with a single source, Theia runs in two separate processes. Those processes are called frontend and backend respectively, and they communicate through JSON-RPC messages over WebSockets or REST APIs over HTTP. In the case of Electron, the backend, as well as the frontend, run locally, while in a remote context the backend would run on a remote host.

While Theia isn’t a downloadable product, you can easily check out a Theia implementation in the cloud in the form of GitPod.  You can also learn more about Theia and see GitPod in action in the video below.

GameDev News

2. April 2020

The Defold game engine is a free cross platform 2D focused game engine from King, we previously covered here and here as well as a video tutorial here.  The Defold team recently released an update on the future roadmap of the Defold game engine.

Details from the Defold blog broken down by engine category:


We will continue to keep the iOS platform support up to date with the latest iOS versions and requirements. Specific iOS tasks in no particular order:


Apple has announced that OpenGL will be deprecated on iOS and macOS, but no date has been announced. We have worked during 2019 to add a new Vulkan based graphics backend. This work is nearing completion and it will allow us to use MoltenVK on iOS and macOS. MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple’s Metal graphics framework, enabling Vulkan applications to run on iOS and macOS. We have worked together with members of the Khronos Group to benchmark our implementation and have received only a few points of improvement.

Sign in with Apple

Apple will require that apps that authenticate or set up user accounts must support Sign in with Apple (SIWA). The deadline is June 30, 2020. We will release SIWA support through a native extension in Q2 of 2020. The extension has been developed at King and has already been tested in production.

Storyboard launch screens

Apple will require that apps use Xcode storyboards as the app’s launch screen. The deadline is June 30, 2020. We will automatically create a launch screen storyboard from the launch images set in game.project.


We will continue to keep the Android platform support up to date with the latest Android requirements. We are collaborating with the Android and Google Play partnership teams to identify important tasks. The top four tasks in order of priority are:


Google Play Billing is a service that lets you sell digital content on Android. We will add support for the new Billing API via the existing IAP extension.

Google Play Game Services

We will continue to improve on the existing Google Play Game Services extension to ensure that it supports all of the latest features of Google Play Game Services.

Android App Bundles

Android App Bundle is a publishing format that includes all your app’s compiled code and resources, and defers APK generation and signing to Google Play. Google Play uses your app bundle to generate and serve optimized APKs for each device configuration, so only the code and resources that are needed for a specific device are downloaded to run your app. We will initially add support for basic bundling of applications using Android App Bundles and then expand upon the feature as needed.

Google Play Instant

Google Play Instant enables native games to launch on devices running Android 5.0 (API level 21) or higher without being installed. By allowing users to run an instant game, known as providing an instant experience, you improve your game’s discovery, which helps drive more active users or installations.


We will focus on increased performance and reduced application size on HTML5. We will when possible update to newer versions of Emscripten and WebAssembly to achieve this.


On desktop our only identified focus area is to add the ability to run the engine loop while the window is in the background.


We will mainly focus on performance and stability improvements in the editor. In terms of new features we have identified the following (in no particular order):

Improved 3D support

In 2019 we added support for perspective cameras and made some improvements to how collision shapes were visualised. These changes made it easier to work with and place 3D models in a collection, but there are still many improvements to be made to scene navigation when working in a 3D.


While we did some minor improvements to the tilemap system in 2019 (better tile palette and interleaved layers) we have so far left out auto-tiling. Auto-tiling can really speed up tilemap editing and it is the next big feature to add for the tilemap editor.

Editor extensions

We plan to expand the existing system for editor scripts to allow for more complex operations and we will look at how to customize the UI and/or add new UI widgets using editor scripts.

GUI layouts and templates

The system with GUI layouts and templates where one or both involve value overrides is fairly complex and hard to work with from a code maintenance perspective. We plan to review the system and possibly simplify it.


In 2019 we made several changes to improve editor stability. Two examples of this were reduced ANRs on Android and a standardized application loop on iOS. In 2020 we will continue to identify and fix stability issues in the engine. Besides stability improvements we will also work on the following features (in no particular order):

Sound threading

Sound playback is currently done on the main thread together with the rest of the game loop. This can become a problem if loading large resources while playing sound, resulting in playback stutter. The solution is to do sound playback on a separate thread to avoid stutter when loading content.

Physics decoupling

Physics is currently running at the same rate as the rest of the game loop. We will try to decouple the physics simulation from the game loop by running the simulation on a separate thread and optionally with a different number of updates per second.

Spine as an extension

We will look into the possibility of using the official Spine runtime as an extension and a replacement for the existing custom made native Spine support. This will allow the use of newer versions of Spine, something that currently is not possible with the existing and custom Spine runtime.

Physics as an extension

We will look into the possibility of moving the Box2D and Bullet3D physics engines to a native extension. This will allow the community to update or replace the physics simulation with an update version or completely different implementation.

Live update

We’re very happy to see that the live update functionality is used in several different scenarios (from Android Expansion Files to Steam DLCs). We have with the help of the community identified several improvements and we plan to deliver the most critical improvements in 2020.

Mesh component

The custom mesh component will be released in Q2 of 2020.


We will release support for Vulkan on all systems where it is supported. On Android it will be used by default on newer devices. On iOS it will be used under the hood to be able to use MoltenVK (see iOS above).

Build server

The Defold build server for native extensions will be open sourced in Q2 of 2020 to allow developers to build locally or set up their own build servers to cut the dependency to the Defold provided build service.

You can learn more about the Defold Game engine roadmap in the video below.  The tutorial mentioned in the video is open source and available here on Github.

GameDev News

2. April 2020

EDIT – It seems we have pushed the download server capacity.  If you want to download Effekseer, use this mirror instead.

Effekseer is an open source particle effect creation tool we covered previously in this video.  They just recently released version 1.5:

New features include:

Material Editor

A new node-based material editor has appeared. Further expression is possible with custom materials!

Added trendy toon effect samples!


Turbulence function has been added.
The Absolute Position window has been changed to the Force Field window and includes turbulence parameters.

Dynamic parameters and expressions

Enables you to control the effect with dynamic parameters.

New format "efkefc"

.efkefc will be used instead of the traditional .efkproj.

Effekseer is available open source under the MIT license on GitHub.  You can download the most recent version here.  Learn more about Effekseer in the video below.

GameDev News

AppGameKit Studio

See More Tutorials on!

Month List