Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon
11. November 2019


The folks over at Humble Bundle are running a deal on software until November 18th, 2019.  Included software includes game engines, art and video applications, audio applications, a 3D modeller and more.

Highlighted items from the sale include:

There are a few dozen more items on sale so be sure to check the sale homepage for more offers.  You can learn more about the sale in the video below.  All the above links contain affiliate codes that give GFS a small commission if you use them to purchase anything (and thanks if you do!).

GameDev News


10. November 2019


Every year GitHub release their State of the Octoverse report containing a huge number of insights drawn from datamining the massive number of public and private repositories on GitHub.  One of the most interesting parts of the report is always the most popular programming languages.  This year, the 10 most popular programming languages on GitHub are:

  1. JavaScript
  2. Python
  3. Java
  4. PHP
  5. C#
  6. C++
  7. TypeScript
  8. Shell
  9. C
  10. Ruby


The list was created using the following criteria:

Top 10 primary languages over time, ranked by number of unique contributors to public and private repositories tagged with the appropriate primary language.

Every year Stack Overflow have a similar report, drawn instead from a developer survey.  The language popularity reports are remarkably consistent between the two 2019 reports.

You can learn more about the reports watching the video below.

GameDev News Programming


9. November 2019


Sulis is an open source (GPLv3) licensed RPG written using the Rust programming language.  It is a full implementation of a western style ( Baldur’s Gate, Divinity) RPG with Lua scripting, turn based combat, dialog and inventory systems and much more.

Sulis is available for download for both Windows and LInux on sulisgame.com.  Features of Sulis include:

  • Cross platform native binaries, currently built for Windows and Linux
  • Multiple campaigns with over 8 hours of playtime, featuring both handcrafted and procedural content.
  • We are designing a detailed and fully realized world and story - check out the Lore page.
  • Designed with modding in mind - although more work still needs to be done in this area.
  • A powerful 2D graphics engine with zoom, scalable UI, HiDPI support, and a swappable graphics backend.
  • Runs on very modest hardware - even software renderers (although at a reduced frame rate).

The source code is hosted on Github.

You can learn more about, as well as see Sulis in action, in the video below.

GameDev News


8. November 2019


Unreal Engine have just released Unreal Engine 4.24 preview 1.  Preview 1 releases are always among the most interesting as you can see all the major new features that are going to be in the next version of Unreal Engine, although like all preview/beta releases, it should not be used in production.

Major new features of UE4 4.24 preview 1 from the Unreal forums:

Animation Updates:

  • Inertial Blending (Beta). Creates a natural procedural transition between poses. It is based on bone velocities and momentum from the outgoing pose.
  • Animation Blueprint Linking (Beta). An extension to the sub-instance system allowing for dynamic switching of sub-sections of an animation graph, enabling multi-user collaboration and memory savings for vaulted or unavailable items.
Audio Updates:
  • Stream Caching (Beta). A feature enabled at cook time that significantly changes the way audio is loaded and released from memory. When enabled, almost all compressed audio data is separated from the USoundWave asset and automatically divided into separate chunks.
  • Audio Synesthesia (Beta). The Audio Analyzer module and Audio Synesthesia plugin expose extracted audio analysis data to be used for gameplay scripting via Blueprint. This enables designers to drive animations, effects and other elements tightly coupled to sounds being played in game.
  • Audio Mixer on by Default. The new audio mixer, as first announced at GDC in 2017, will now be enabled by default in 4.24. The audio mixer in UE4 uses a common software audio renderer across all platforms. This not only provides feature parity across all our platforms, it also extends the audio feature set in a wide number of areas and prepares UE4 for continued audio innovation.
Editor Updates:
  • Variant Manager Improvements. The Variant Manager allows editing and control of a variant system. It can be used in car configurators or other customizable product experiences. The variant manager also has potential for TV & broadcast applications, where users can switch between created scene setups at runtime.
  • Datasmith for Alias Wire Support Improvements. Alias Studio is a product design software used for surface modeling.
  • Sun and Sky Actor. We modified the existing Sun Positioner plugin to wrap a directional light, a sky light, and the newly introduced Atmospheric Sky created by the rendering team. The goal is to provide a workflow similar to the HDRI Backdrop actor added to 4.23, where users are provided with self contained functionality into a single actor.
  • Extended Editor UI Layouts. You can now create, save, load, export, and import multiple Editor UI layouts—even across different machines or devices. Team members can create specific Editor layouts that improve their workflow, and share these layouts with everyone on the team. .
  • New Project Workflow. The new project creation dialog has been completely redesigned! Instead of the dialog with tabs, there is now a New Project wizard. This simplifies the workflow for creating projects by breaking it up into smaller steps that are easier to understand.
  • New Toolbars for Chaos Fracture Plugin (Experimental). The UI for the Chaos Fracture Plugin has been updated! We have moved the Fracture and Cluster tools from the Modes panel into two toolbar palettes. These two palettes are designed to naturally progress through the phases of creating a destructible mesh.
  • Datasmith Improvements for 3ds Max, SketchUp, CAD, AxF
Dev Tools
  • AutoSDKs (Beta). The AutoSDK feature enables customers to distribute target platform SDKs while configuring them for the Engine on demand. UnrealBuildTool, AutomationTool and the Unreal Editor are all designed to work seamlessly with AutoSDK — the switching between SDKs is handled by UnrealBuildTool, which is invoked by the other tools.
  • BuildAgent Tool (Beta). BuildAgent is a utility for managing agents on a build farm. It supports fast cleaning of Perforce workspaces using locally stored information about file timestamps, as well as fast switching of workspaces using a local cache of files addressable by MD5 digest. It also includes functionality for parsing errors and warnings from build steps and propagating them to UnrealGameSync to display for users.
Geometry Updates:
  • Modeling Mode (Experimental). We have implemented a new Editor Mode that allows users to create and edit static mesh assets directly in the main 3D viewport using existing Actors/Components that are placed in the world. This does not replace the Static Mesh Asset Editor, but is a separate set of tools that are focused on interactive 3D modeling.
  • Modeling Mode Sculpting Tools (Experimental). Sculpting Tools are a subset of the Modeling Tools Editor Mode. We know that this kind of tool is of particular interest to artists, so we wanted to give you some details! The feature is a simplified version of 3D sculpting found in DCC tools like Mudbox or ZBrush. The basic concept is the same: you click and drag on your mesh to push the vertices around.
Mobile Updates:
  • Auto-instancing on Mobile (Experimental). We are planning to support the auto-instancing feature of the HLR on mobile devices for improved performance due to reduced draw calls. This functions the same as desktop auto-instancing, but it uses a texture instead of a buffer due to limitations on Mali devices, which can only support a buffer of 64 kb.
  • Android App Bundles. Android App Bundles are a new upload format for the Google Play Store that defers APK generation and signing to Google Play itself. Google’s Dynamic Delivery system then provides an APK optimized for a user’s device configuration automatically. As of 4.24, we will be supporting App Bundle builds through the Unreal Engine.
Networking Updates:
  • Network Engine Test Suite. In 4.24, we added automated testing features to the EngineTest project for networked features. We added a FunctionalNetTest to this project so we can create tests designed to make sure that different areas of networked games behave properly. With it, developers can test network features such as replication and RPCs between server and clients. This allows for testing with both Listen Servers and Dedicated Servers.
  • DTLS Support (Experimental). The DTLS packet handler component uses OpenSSL to implement a DTLS (https://tools.ietf.org/html/rfc6347) based encryption scheme for network traffic. It provides two different approaches for accomplishing this goal, encryption based on pre-shared key values (similar to the existing AES packet handler), and a system based on exchanging self-signed X509 certificates.
  • Steam Sockets (Experimental). SteamSockets is a networking plugin that takes advantage of the new Steam network protocol layer that was introduced recently into the Steamworks SDK. This plugin empowers a project to take advantage of some of the finer benefits of Valve’s network functionality to provide a smoother (and safer) online experience for players when using Steam.
Niagara Updates:
  • System Overview (Beta). There is a new tab in the Niagara Emitter and System Editor, which gives a high-level overview of the system or emitter being edited. The System Overview panel combines the pan-and-zoom Graph node view with compact versions of the Emitter Stack. With this new panel you get something which feels similar to the Cascade editor, but matches the form, elements and style of Niagara.
Online & Media Framework Updates:
  • Pixel Streaming Updates (Beta). PixelStreaming plugin was re-architected to resolve various quality-related issues and for general improvement, plus adding features requested by current customers:
    • Fixed video encoding artifacts.
    • Improved streaming over limited bandwidth network connections like mobile networks.
    • Add “Freeze Frame” feature to Pixel Streaming API - to show a static image (either custom or automatically generated) and pause streaming by user request, e.g. to avoid wasting network traffic on user inactivity.
    • Added encoding support for AMD GPUs.
    • Early implementation, and not completely on par with NvEnc
    • Upgraded WebRTC version to release 70.
    • As an ongoing initiative, integrated PixelStreaming with UE4 Media Framework. This allows basic Pixel Streaming playback inside UE4.
Open World Updates:
  • Landscape Blueprint Brushes and Landmass Plugin (Beta). Up until now Landscape data could be imported and/or edited from the Landscape Editor Mode only. This new feature opens the Landscape data to Blueprints. It is now possible to assign Blueprint Brushes to the new Landscape Edit Layers. Those Brushes have a Render event that can be implemented in Blueprint that allows the user to inject landscape data (Height data and/or Weightmap data) into the Edit Layer.
Rendering Updates:
  • Ray Tracing Features Updates (Beta). We have a number of new improvements to highlight - some are:
    • New RTGI method that delivers faster results. (Experimental)
      • Enable it using r.RayTracing.GlobalIllumination.EnableFinalGather 1. It supports a single bounce and samples per pixel should be set to 8.
    • Improved instancing support for Instanced Static Meshes and Hierarchical Instanced Static Meshes with improved efficiency for large worlds.
    • Multi-view support for Virtual Reality devices and split-screen. (Experimental)
      • NOTE: denoiser support is not yet in Preview 1. It will come later in the preview releases.
    • World Position Offset support for Static Meshes (enabled with per-Actor setting)
    • Improved multi-bounce ray traced reflections with better support for area shadowing in reflections using samples per pixel greater than 1. We’ve also added support for SSR fallback when using the command r.RayTracing.Reflections.Hybrid.
    • Niagara VFX support for Ribbons.
  • Screen Space Global Illumination (SSGI) (Beta). We’ve added beta support for dynamic global illumination as a screen space effect. Currently, it can be enabled using r.SSGI.Quality. Use a value between 1-4 to choose a quality level. It’s intensity and tint color can be adjusted using the Post Process Volume > Rendering Features > Global Illumination category.
  • Material Layers (Beta). Will enable you to combine your Materials in a stack giving you similar functionality to Material Functions except that is supports the creation of child instances. Existing documentation on this feature can be referenced here.
  • New Atmosphere Fog Component. We have a new AtmosphereSky component which adds a physically based Earth-like atmosphere. It can be used to create exotic worlds and provides a ground view with and aerial perspectives, including ground to space views for planetary atmospheres.
  • Burley Subsurface Scattering. We’ve added the Burley algorithm to the SSS Profiles Asset. This method is more physically accurate and aims to improve the quality of skin shading and simplifying setup using physically based material properties. This SSS model targets high-end skin rendering with cleaner, more accurate falloff.
    • Enable it in the SSS Profile Asset.
    • The Editor Preview Level should be set to Cinematic
    • It requires Temporal Anti-Aliasing to be enabled.
    • For existing content using the standard SSS Profiles, it should require minimal changes to your existing content.
  • Hair and Fur Rendering and Simulation (Experimental). We have experimental support for hair rendering and simulation. In 4.24, you’ll be able to import your Alembic (.abc) groom from an external DCC application, create and setup your hair using the Groom component in UE4, Author and Edit your Material in UE4, and use Niagara to set up hair physics with some adjustable settings.
  • Runtime Virtual Texturing Improvements (Beta). We’ve continued to improve process and add useful updates to the RVT workflow for 4.24. These are some of the improvements coming this release:
    • Added settings for more refined control of your RVT through the RVT Asset.
    • Added RVT Material Types. We now have four options compared to the two in the previous release.
    • Added different RVT Base Color and Normal Storage settings for encoding.
    • Added two new RVT Asset actions through the context menu for “Find Material Using This” and “Fix Material Usage” to streamline workflows when creating or fixing RVT Assets and their references.
    • Ability to build a Streaming Virtual Texture from your RVT from its low resolution mips. This makes it more efficient to make use of both Streaming and Runtime Virtual Textures together to save memory.
    • Tied RVT to Scalability options for along with console variables to tune RVT settings per-project and/or per-platform.
Virtual Production Updates:
  • Pro Media Export (Beta). Currently, the export to disk capabilities from Sequencer is limited and does not address the production needs. We are adding Pro media codec support for Avid DNXHR to sequencer export to better integrate with film pipelines and TV Pipelines.
  • 3D Text (Experimental). As Unreal Engine becomes used in the Broadcast industry there have been a number of requests to support Geometry based 3D Text.
  • nDisplay QoL - Revised Architecture for Pawn, GameMode & Inputs. We have a number of improvements to highlight:
    • Pawn - We were forcing users to use a custom nDisplay Pawn - nDisplay would not properly work with regular Pawns or Character Classes.
    • GameMode - Must be using a Custom nDisplay Game Mode. We’re getting rid of that as well.
    • Consequences - Adding rotations via rotation components vs the controller
XR Updates:
  • OpenXR (Beta). A new UE4 plugin that utilizes the new OpenXR standard to support a wide range of VR and AR devices through a single plugin.
  • Magic Leap Update. We’ve updated the Magic Leap integration with support for their latest 0.22 SDK. This required updating almost the entire surface area of the plugin and brings us from a relatively old 0.19 integration up to what they are currently publicly shipping.

Be sure to check the complete forum post for a list of fixes and breaking changes in this release.  Check out the video below to see Unreal 4.24 preview 1 in action, including how to enable and use the new mesh modeling and sculpting tools.

GameDev News


7. November 2019


Back at GDC 2019, Unity announced Havok Physics would be coming soon.  Yesterday, Havok for Unity was released as a preview package in the Unity Package manager.  The Havok physics implementation is built on the DOTS framework therefore you will require Unity 2019.1 for higher to run it.

Details of the Havok preview from the Unity blog:

When we first set out to define what the future of physics would look like with our Data-Oriented Technology Stack (DOTS), we sought a partner that shared the same core concepts and values as us. Through our partnership with Havok, we were able to leverage DOTS to deliver the highly optimized, stateless, entirely C#, and performant Unity Physics. We also knew that some of you would have more complex simulation requirements, needing a stateful physics system. For that reason, we knew Havok would be the perfect solution to integrate into Unity for those high-end simulation needs.

Some of you might be asking, “Ok, but why did you make two systems instead of just one?” We know that our users have a plethora of different use cases, and we wanted to give everyone a choice based on what their needs are. For some, Unity Physics will suffice, while others will want the benefits and enhanced workflows of Havok Physics. Ultimately, there is no right or wrong choice, as we illustrate later in this blog post. You can switch between either solver without having to reauthor all of your content completely.

An obvious question you may have is, why should I choose Havok over the new Unity physics engine?  This is explained in the Havok documentation:

  • Higher simulation performance : Havok Physics is a stateful engine, which makes it more performant than Unity.Physics for scenes with significant numbers of rigid bodies, due to automatic sleeping of inactive rigid bodies and other advanced caching techniques (typically 2x or more faster).

  • Higher simulation quality : Havok Physics is a mature engine which is robust to many use cases. In particular, it offers stable stacking and a solution for smoothing out contact points when rigid bodies slide quickly over each other (known as "welding").

  • Deep profiling and debugging of physics simulations using the Havok "Visual Debugger" standalone application (available on Windows only).

You can learn more about the Havok preview in the video below.  In addition to an overview of what Havok physics is all about, it also covers the installation process and illustrates how to configure and run the Havok Visual Debugger.  The example repository used in the video is available here.

GameDev News


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List