Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

2. March 2018

Xamarin just announced the release of UrhoSharp 1.8.  UrhoSharp is a set of C# bindings of the Urho3D open source game engine, an engine I reviewed a couple of years back as part of the Closer Look series.  With UrhoSharp 1.8 they brought the bindings to parity with Urho 1.7, the most recent release.  A major focus of this release is supporting augmented reality, using both ARKit and ARCore libraries. 

A small selection of the new features added in Urho3D 1.7 ( and thus UrhoSharp 1.8 ) include:

  • Inverse kinematics support.
  • Bullet RaycastVehicle support.
  • AppleTV platform support.
  • WebAssembly support on the Web platform.
  • IME support on Linux platform.
  • Several font rendering improvements and TypoGraphy sample.
  • WebP image loading support.
  • Sparse navigation meshes and navmesh streaming support.

This is just a small sample of new functionality.  For the full list be sure to check out the release notes available here.

GameDev News

2. March 2018

Everyone’s favourite GLSL shader website ShaderToy just got closer to full release with the release of version 0.9.9.  ShaderToy is a great online repository of GLSL shaders, see them in action in your browser, tweak the settings or even share your own.  One of the nicest features of this release is only shaders that actually compile will be made available to the public!

Details from the release notes:

- Added shader statistics to user’s profile page
- Added playlist to see all previous Shaders of the Week :
- Added playlist to see all previous Featured Shaders :
- Added links in the welcome page to access previous Shaders of the Week and Featured Shaders
- Input Selection dialog show only legal inputs for Sound shaders
- Only shaders that compile can be made public
- Fixed global mute
- Fixed keyboard state
- Fixed error reports in the correct line

I previously featured ShaderToy in the GameDev ToolBox video series, the video is embedded below.

GameDev News

1. March 2018

Version 2.0.8 of the popular open source 2D framework SDL (Simple DirectMedia Layer) was released today.  This long running framework has been used in several cross SDL_logoplatform commercial games and provides the low level functionality required to create a game such as window creation, input handling, audio playback and more.  This release includes new functionality including Metal support on iOS/Mac,  as well as several improvements and bug fixes.

Details from the release announcement:


  • Added SDL_fmod() and SDL_log10()
  • Each of the SDL math functions now has the corresponding float version
  • Added SDL_SetYUVConversionMode() and SDL_GetYUVConversionMode() to control the formula used when converting to and from YUV colorspace. The options are JPEG, BT.601, and BT.709


  • Implemented WASAPI support on Windows UWP and removed the deprecated XAudio2 implementation
  • Added resampling support on WASAPI on Windows 7 and above

Windows UWP:

  • Added SDL_WinRTGetDeviceFamily() to find out what type of device your application is running on

Mac OS X:

Mac OS X / iOS / tvOS:

  • Added a Metal 2D render implementation
  • Added SDL_RenderGetMetalLayer() and SDL_RenderGetMetalCommandEncoder() to insert your own drawing into SDL rendering when using the Metal implementation


  • Added the hint SDL_HINT_IOS_HIDE_HOME_INDICATOR to control whether the home indicator bar on iPhone X should be hidden. This defaults to dimming the indicator for fullscreen applications and showing the indicator for windowed applications.

iOS / Android:

  • Added the hint SDL_HINT_RETURN_KEY_HIDES_IME to control whether the return key on the software keyboard should hide the keyboard or send a key event (the default)


  • SDL now supports building with Android Studio and Gradle by default, and the old Ant project is available in android-project-ant
  • SDL now requires the API 19 SDK to build, but can still target devices down to API 14 (Android 4.0.1)
  • Added SDL_IsAndroidTV() to tell whether the application is running on Android TV

Android / tvOS:

  • Added the hint SDL_HINT_TV_REMOTE_AS_JOYSTICK to control whether TV remotes should be listed as joystick devices (the default) or send keyboard events.


  • Added the hint SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR to control whether the X server should skip the compositor for the SDL application. This defaults to “1”
  • Added the hint SDL_HINT_VIDEO_DOUBLE_BUFFER to control whether the Raspberry Pi and KMSDRM video drivers should use double or triple buffering (the default)

In addition to the SDL release, SDL_Image 2.0.3 was also released.  SDL_Image is an image file loading library that works with SDL.  The SDL 2.0.3 release was entirely around dealing with some security related issues.

GameDev News

1. March 2018

Kotlin 1.2.30 has been released.  Kotlin is a new JVM powered programming language from JetBrains, the makers of popular development tools such as Intellij IDEA, WebStorm and CLion IDEs.  While initially targeting the existing Java VM environment and maintaining compatibility with Java libraries, Kotlin also can now be compiled to JavaScript as well as LLVM targets making native no VM compilation possible.


New features in this release:

  • Adds a new declaration in the standard library, which imitates the suspend modifier for lambda expressions
  • Adds support for TestNG in kotlin.test
  • Brings support for Android modules in multiplatform projects
  • Introduces a new feature in kapt for reporting annotation processing errors along with proper links to the original Kotlin declarations
  • Adds a lot of new inspections and intentions in the IntelliJ plugin and improves its performance
  • Fixes bugs in the compiler and IntelliJ plugin

The update is compatible with all versions of IntelliJ IDEA from 2017.1 until 2017.3 and 2018.1 EAP, as well as with Android Studio 3.0.

If you are interested in getting started with Kotlin development, be sure to check out this excellent resource list.

GameDev News

27. February 2018

Once upon a time there was OpenGL and it was…  ok I guess.  That’s actually incredibly unfair, OpenGL was a game changer, allowing applications to use a great deal more of the underlying video hardware in a way never before seen.  It was mostly used in the world of computer graphics workstations, in fact starting life as IrisGL on SGI machines and gained a great deal of fame in the game development world when iD software threw their weight behind it with GLQuake.

Since those early days of 3D graphics, OpenGL and Direct X followed a very similar path.  At first, when new features were added to the hardware, they needed a new corresponding feature to be added to the underlying renderer.  At this point, it was the GL layer that was more and more of a roadblock in the way of progress.  A work around was extensions but this was certainly a kludge fix.  In this time too, the world moved from a fixed pipeline to a programmable model and shader programming became the new norm. 

Eventually drivers became a cumbersome and bloated beast, while graphics developers wanted more and more control.  This lead to a move closer to the hardware.  First there was AMD’s Mantle followed by Apple’s Metal.  In time Mantle was opened up and given to the Khronos Group, the people behind the OpenGL libraries (and much more), ultimately becoming Vulkan.

The major problem here is, while the rest of the world embraced Vulkan, Apple did not, they stuck with Metal for iOS and later MacOS hardware acceleration.  This ultimately meant game engines had to support both Metal and Vulkan if they wanted to support all platforms.  In fact, Microsoft also released a low level graphics API, Direct X 12 in the same period of time.  This means Vulkan might the right API for you, but if you wanted to support Apple or Xbox One, you were out of luck or more accurately, had to support multiple rendering back ends.

In steps MoltenVK, a technology that enables you to run 99% of Vulkan code on Apple’s Metal SDK, essentially expanding Vulkan to support iOS and Mac OS.  They also have a DirectX 12 back end in the works, essentially bringing Vulkan to every current platform.  The final piece just fell into place, MoltenVK has been made free and released under the Apache2 source license.

The announcement has already had an immediate impact.  Today the Godot Engine announced they will switch to using Vulkan/MoltenVK instead of the problematic OpenGL ES renderer back end.  To the vast majority of game developers, this is simply an implementation detail and wont directly affect their daily life in any noticeable way, at least, not initially.

You can learn more about this release on the Khronos page or by watching the video below.

GameDev News

Month List

Popular Comments