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


The open source MIT licensed game engine Xenko just released version 3.1.  We have featured Xenko several times in the past including this somewhat outdated tutorial series.  The 3.1 release is somewhat difficult to nail down what is new, as the release blog post primarily focuses on the new NuGet features:

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:

GitHub

As a result, it is now possible to create a game project that references only the packages you want.

You can learn more about the release, as well as a complete unfiltered change long here.  One other thing to be aware of before upgrading to Xenko 3.1 is the requirement to use Visual Studio 2019!  You can learn more about Xenko and this release in the video below.

GameDev News


26. October 2019


NeoAxis 2019.3 was just released.  NeoAxis is a free C# powered 3D game engine with an editor capable of targeting Windows and UWP platforms currently with more planned in the roadmap.  The 2019.3 release brings several major new features such as a new terrain system and a built in 3D building for assembling geometry directly inside the game engine.

Details from the changelog:

  • API of the engine and the editor have been updated. Now they are considered complete.
  • Terrain.
  • Builder 3D. Fast level creation tools, 3D modeling tools, constructive solid geometry operations.
  • Three ways to create objects in the scene are now available: Drag & Drop, By Click, By Brush.
  • Tools for creation a huge amount of objects.
  • Surface component. A definition of surface type which contains material, set of meshes and other objects. Surfaces are used for painting and object creation by means brush.
  • Group Of Objects component. An object in a scene designed to store and display a large number of similar objects.
  • Decals.
  • Material: Advanced blending. The ability to configure which channels to write to the G-Buffer. Used for decals.
  • Per-object motion blur.
  • Smooth LOD transition.
  • Area component. Represents an area in space defined by the set of points.
  • Layers in the scene.
  • Package manager has been added.
  • Support for creating a build for the target platform has been improved. Now scripts and engine add-ons are supported. The process of creating a build is simplified. The page about build in manual has been added.
  • Build for Universal Windows Platform (UWP) has been improved.
  • Engine DLL assemblies management has been improved. Now unnecessary assemblies are not loaded into the simulation, thereby reducing the load on garbage collector.
  • C# Editor: Work with CS files has been improved. Now changes are synchronized between files. Now there are no invalid warning markers.
  • C# Editor: The ability to customize the visibility of markers has been added.
  • Occlusion query API has been added.
  • Lens flares now use occlusion queries to detect visibility on the screen.
  • Lens flares now appear and disappear smoothly.
  • The ability to change video mode, fullscreen mode, vertical sync in the player app.
  • Editor: Tool tips for events.
  • Editor: Many small fixes.
  • Material Editor: Access to TexCoord 2 and 3 from the shader editor.
  • Material Editor: DitherBlending function.
  • Objects Window: Search.
  • Scene Editor: Select same objects in sphere area by mouse double click.
  • Vignetting screen effect: Noise.
  • Bug fix: Physics: No collision between soft bodies and rigid mesh shapes.
  • Bug fix: Scene Editor: Unable to detach the object when it contains collision body.
  • Bug fix: Screen Space Reflection effect fixed.

You can learn more about the release and see NeoAxis in action in the video below.

GameDev News


21. June 2019


After almost a year of silence, WaveEngine 3.0 preview has just been released.  WaveEngine is a cross platform C# powered ECS based 3D game engine that is completely free to use.  Sporting a new renderer and a sporting a completely new editor, WaveEngine 3.0 preview is still quite an early release.  We did a hands-on Closer Look review at a previous version of WaveEngine 3.0 for a good basis in how WaveEngine programming works.

Highlight details of the 3.0 preview release:

  • New launcher and update system
  • New WaveEditor
    • Effects Viewer
    • Materials Viewer
    • Render Layer Viewer
    • Sampler Viewer
    • Textures Viewer
    • Model Viewer
    • Audio Viewer
    • Scene Viewer
  • New Effect Editor
  • XR Ready
  • Single Pass (Instanced) Stereo Rendering
  • New extensible Render Pipeline
  • New life cycle for entities
  • New web project support
  • New serialization system based on YAML
  • New HoloLens 2.0 support

You can learn more and download the 3.0 preview release right here.  Keep in mind WaveEngine 3.0 is nowhere near ready for production use, with only a limited subset of platforms and features available.  Check out WaveEngine in action in the video below.

GameDev News


10. May 2019


While Unreal Engine doesn’t provide C# support out of the box, it does provide an exceptional plugin system, so it was only a matter of time until C# plugins arrived.  Today we are looking at the open source USharp extension, which is based on the MonoUE plugin project.  Using this plugin, UE4 gains C# functionality with the following features:

  • Write C# using UObject exposed types (AActor, AGameMode, UActorComponent, etc). Define new UObject types and inherit existing ones. Exposed C# types can then be used in (or extended by) Blueprint.
  • Access to Unreal's reflection system (UClass, UFunction, UProperty, etc).
  • Hot-reload
  • Dynamically switch between .NET Framework, .NET Core and Mono for an improved debugging / runtime experience without having to reopen the editor
  • Supports Windows, Mac and Linux

There are however some downsides:

  • This project depends on a lot of PInvoked functions which could potentially behave differently on different C++ compilers. This project may not work on some target platforms.
  • Like mono-ue this project depends on lots of generated code and IL weaving. It probably isn't the best for performance and there is a huge amount of generated code everywhere.
  • The weaved IL currently seems to break edit-and-continue debugging (issue with cecil?)
  • There is currently too much marshaling on structs / collections (list, map, set). Marshaling needs to be redesigned to avoid copies of entire collections / structs on trivial calls between C# / native code. Additionally marshaling of delegates needs to be redesigned (various issues such as being referenced as a copy of the delegate).

If you are interested in checking out USharp, you can find the installation instructions here.  One potential problem to be aware of, the project creator doesn’t seem to have attached a license to the code repository!  While this code is not production ready, if you intend to use it in any capacity, I would make sure the license is suitable.  See the results of the plugin in action in the video below.

GameDev News


8. May 2019


At the MSBuild 2019 developer conference, Microsoft made a pretty huge announcement about the future of .NET.  With the release of .NET 5, there will be one .NET, that is cross platform and open source.  Essentially .NET Core, .NET Framework and Xamarin will all be replaced with a single unified .NET 5 framework.

In this blog post Microsoft discuss the future of .NET 5, as well as how we got here and how it will impact developers.   The core (pun intended) of .NET is:

  • Produce a single .NET runtime and framework that can be used everywhere and that has uniform runtime behaviors and developer experiences.
  • Expand the capabilities of .NET by taking the best of .NET Core, .NET Framework, Xamarin and Mono.
  • Build that product out of a single code-base that developers (Microsoft and the community) can work on and expand together and that improves all scenarios.

This isn’t going to happen overnight however.  Here is the announced timeline of developments:

coresched

This means in November of 2020, there will be just one version of .NET available for all platforms.  With the release today of .NET Core 3.0 Preview 5, that seems to be the ideal platform to develop .NET applications in anticipation of .NET 5.

GameDev News


AppGameKit Studio

See More Tutorials on DevGa.me!

Month List