Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon Join the GFS Discord Server!
24. December 2018

Xenko 3.1 beta has just been released.   This is the first major point release since the Xenko project went open source this summer.  The primary focus of this beta is reorganizing Xenko to make it play nicely with the NuGet distribution system, although this refactoring has some very cool side effects.  Now you are able to use individual components of Xenko on their own.  For example, if you wanted to use the Xenko graphics library on it’s own, you can, independent of the rest of the Xenko game engine.  This release also moves towards Xenko using .NET standard.

Details of the release from the Xenko blog:

Xenko was always a big proponent of NuGet: since first version, Xenko was distributed as a NuGet package.

However, due to limitations (hello packages.config and project.json!), we were leveraging NuGet more as a distribution medium than proper NuGet packages: Xenko 3.0 is still a monolithic single package and it would not work out of the box when referenced from Visual Studio without using Xenko Launcher and Game Studio.

Xenko 3.0 paved the way by making Xenko compatible with the new project system (game projects were referencing Xenko using a PackageReference).

Today, Xenko 3.1 brings Xenko as a set of smaller NuGet package, each containing one assembly, with proper dependencies:


As a result, it is now possible to create a game project that references only the packages you want. Here are a few examples of “core” packages:

  • Xenko.Engine: allows you to use core engine runtime (including its dependencies)
  • Xenko.Core.Assets.CompilerApp: compile assets at build time
  • Xenko.Core.Mathematics or Xenko.Graphics: yes, if you want to make a custom project only using Xenko mathematics or graphics API without the full Xenko engine, you can!
  • Xenko.Core.Assets, Xenko.Presentation or Xenko.Quantum: all those piece of tech being used to build Xenko tooling are also available for reuse in other projects. Nothing prevents you from generating assets on the fly too!

Then, various parts of the engine are distributed as optional packages:

  • Xenko.Physics
  • Xenko.Particles
  • Xenko.UI
  • Xenko.SpriteStudio
  • Xenko.Video

If you don’t reference those packages, they won’t be packaged with your game either. In many situations, it results in a smaller packaged game and improved startup time.

In addition to the above changes, you can take a look at the commit log on GitHub for other aspects that made it into the 3.1 release.

GameDev News

8. December 2018

The open source Duality game engine just received a 3.0 release.  The duality engine, that we featured previously in the Closer Look series is a complete 2D game engine built on top of a C# framework that also includes a comprehensive game editor, a modern component based design, as well as good documentation and a decent sized community.  The only real flaw I can think of is that it is currently Windows only, so that limits the audience to a certain degree.  The 3.0 release is loaded with features, the largest of which is due to the complete rewrite of the rendering pipeline and underlying design, which resulted in a more modern shader based approach and up to a doubling of per frame performance.


Rewrote the entire rendering pipeline, allowing massive improvements in efficiency, ease of use and feature coverage while at the same time shifting towards more modern, shader-focused rendering techniques.

  • RenderSetup resources allow replacing how Duality renders a frame, providing a simple entry point for pre- or post processing steps, as well as completely customized rendering behavior.
  • Self-contained scenes allow using Scene resources as isolated simulation spaces independently of the active main scene.
  • Focus on performance and a more data-oriented design of both rendering and update cycles. A worst-case rendering benchmark comparing v2 and v3 performance went down from 13 ms to 6 ms per frame, as well as 2000+ (gen0 to gen2) GC collections per minute to about 5 (gen0) collections.
  • Refactored core API, replacing many “first iteration” designs with more streamlined ones. The most prominent example might be the deprecation of manual context checks in ICmpInitializable in favor of a simple OnActivate / OnDeactivate method pair, but many similar improvements were done as well.

Be sure to check out the full change log, as the above summary only scratches the surface of what’s new in this release.  As mentioned earlier, the Duality game engine is open source and available on Github.  If you want to see a quick hands-on introduction to Duality, be sure to watch the video embedded below.

GameDev News

4. September 2018

Last week we took a look at the available C++ game engines, that is, 3D game engines that you can use C++ to write game logic.  Today we are going to look at C# game engines.  We are using the same criteria as the last list, the engine must be 3D, actively under development and programmable using C# (regardless to the language used to write the actual engine).  Over time I have covered several of these engines, in which case I will add a learn more link when applicable.

C# powered game engines, in no particular order:

Unity (Learn More)

CryEngine (Learn More)

Xenko (Learn More)

WaveEngine (Learn More)

Godot (Learn More)

Banshee (Learn More)

FLAX (Learn More)

UrhoSharp (Learn More)

If you have a suggestion that didn’t make this list, please let me know below!


23. August 2018

JetBrains, the makers of popular developer tools such as IntelliJ IDEA, WebStorm, CLion and ReSharper just released an updated version of Rider, their C# IDE.  This release contains numerous bug fixes as well as several new features such as complete C# 7.3 support, being able to debug Docker containers, MacBook TouchBar support, improved unit testing, integrated spell checking and more.

Details of the release from the release blog:

  • Debugger: call stacks are now displayed in a more understandable way, thread-specific breakpoints have been introduced, and inspecting and expanding unsafe pointers is now supported.
  • Docker support has reached the debugger: It is now possible to debug ASP.NET Core apps in a local (Linux) Docker container: inspecting variables, the stack frames, threads, as well as stepping through your own or decompiled third-party code.
  • Publishing: We have added two new run configurations: Publish to IIS and Publish to custom server. Currently, only publishing of ASP.NET Core Web projects is supported.
  • Code completion: we now use ReSharper’s statistics-based scoring algorithm to provide more relevant items higher in the code completion popup. Moreover, code completion now works in scratch files, debugger watches, and the C# Interactive tool window.
  • Solution Explorer redesign: a new toolbar with Show all files, Autoscroll to/from source and File Nesting Settings icons. The Solution Explorer now includes Scratches view, handles nested files better, and gets the File System and the Folders always on top modes.
  • MacBook Touch Bar support for the IDE, new icons, dark window headers on Mac.
  • dotCover comes to Rider: Unit test coverage and continuous testing are now available out of the box. It is currently only available on Windows for now but it is the first step towards dotCover integration on all supported platforms.
  • Integrated spell checking: ReSpeller plugin was finally merged to ReSharper and now it comes out of the box. Other updates included from ReSharper 2018.2: C# 7.3 support, initial Blazor support, and more!
  • Templates editor: You can now manage, add, and modify Live/Surround/File Templates right from the Rider settings.
  • Frontend development features: TypeScript 2.9/3.0 support, improved support for React, Angular, and Vue.js.
  • VCS update: Easier resolve of merge conflicts, enhancements in VCS Log tab, favorite branches in Branch filter, Browse repository at revision action, and more!
  • Unity support: support for .asmdef and csc.rsp files, an option to disable Unity Reload Assembles in Play mode, Unity players in the Attach to Unity Process list, a fix for the invalid warning for this == null in Unity types, improved support for debugging remote players, Packages and Scratches nodes in Unity Explorer, and more!
  • F# support: File Templates now work inside F# projects, F# 4.5 features like Span support and the match! keyword come to FSharp.Compiler.Service.
  • C# Interactive: a new Reference in the C# Interactive context menu is available to reference the selected assembly or project in C# Interactive tool window, and the debugger can be attached to C# Interactive tool window.
  • Unit Testing: Discovering and running tests in SDK-styled projects is now faster, a new lock/unlock icon has been added to the Unit Test Session toolbar, Unit Testing related actions have been added into the default keymap, and more.
  • NuGet support: We added a filter, format customization, and advanced diagnostics to NuGet logs, support for AutoReferenced packages and TLS-1.2-only NuGet feeds.
  • Roslyn Analyzers: This release comes with initial support for .ruleset files and stylecop.json settings are now respected.
  • Other features: Generate GUID, “Custom tools”, the Re-run action on the Find Usages tab, and Runtime arguments for Run/Debug Configuration are just some of the new cutting-edge features we have included.

You can download a 30 day trail of Rider here.  Rider 2018.2 is available for Windows, Mac and Linux.  If you are an open source developer there are free licenses available, simply fill out the form available here.

GameDev News Programming

2. August 2018

Today saw the release of version 3.0 of the Xenko game engine.  The Xenko game engine was made by Silicon Studios in Japan, previously known as the Paradox 3D engine.  It was obviously having some issues as a product, with a few announced changes to the licensing structure and then in March rumours that it would be open sourced.  Today that exact thing happened, Xenko 3.0 was released under the MIT license and is now available on GitHub.

As part of this release, Silicon Studios are no longer going to be supporting Xenko development.  Fortunately though, this is not the end for Xenko, as one of the engine developers is currently going to be supporting the engine full time, at least in the short term.  He has started a Patreon account in an attempt to raise the funding required to continue supporting the game engine going forward.

Details from the announcement:

You read that right. Xenko 3.0 is out now, released under the permissive MIT license.

From now on, you can use and modify Xenko completely free — whether you’re a professional, a student, or just looking for a new hobby. This includes both the runtime and editor.

Main focus for this release was on the open-source transition, but Xenko 3.0 also includes some new features, such as a switch to the new C# project system, video, hair and skin rendering. Read the full release notes here.

Silicon Studio no longer supports Xenko, but members of the Xenko team will continue to work on it independently as part of the community. More specifically, I will personally work on it fulltime for the next few months to see if it picks up some steam as a community project. Kudos to Silicon Studio for starting and supporting the project so far! Turning the project open-source and community-driven is a fantastic achievement.

While the majority of the 3.0 release was targeting at moving to open source, there were a few additional features including video playback support and hair rendering.  Additionally the SiliconStudio namespaces were removed, so if you are an existing Xenko developer, you will have to do some refactoring. 

If you are interested in learning more about the Xenko game engine, be sure to check out our Closer Look review, as well as our much older Tutorial Series.   You can see hands-on with the engine in this video and see what it is capable of in the 2017 demo reel.

GameDev News

AppGameKit Studio

See More Tutorials on!

Month List