Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon Join the GFS Discord Server!
22. December 2015


Unreal have just released a preview version of Unreal Engine 4.11 today. 

The following is a list of items updated within this release:

  • Rendering Updates:
    • New physically based shading model for realistic hair based on the latest research from film. It models 2 specular lobes, transmission, and scattering.
    • New physically based shading model for eyes.
    • New physically based shading model for cloth. This combines the standard shading model with a layer of velvet fibers. This layer simulates fuzz and fabrics.
    • Capsule Shadows - We now have support for very soft indirect shadows cast by a capsule representation of the character
    • Lightmass Portals - Skylight quality indoors can be massively improved by setting up Portal actors over openings. Portals tell Lightmass where to look for incoming lighting, they don’t actually emit light themselves. Portals are best used covering small openings that are important to the final lighting. Placing large Portals all over the level will dramatically increase build times.
    • Per-vertex translucency lighting - There are two new translucency lighting modes available in the material editor which compute lighting per-vertex. PerVertex lighting modes use half as many shader instructions and texture lookups.
    • We now have support for 3 lighting channels. You can set which channels a PrimitiveComponent or a LightComponent is in.
    • We’ve integrated Intel's Embree ray tracing library into Lightmass and we got a huge lighting build speedup from it, as the majority of lighting build time goes toward tracing rays to figure out how light is bouncing.
    • We’ve integrated updates to the D3D12 RHI to allow better CPU utilization while generating rendering commands in parallel.
    • Improved quality and performance of the SubsurfaceScatteringProfile shading model.
    • Circle Depth of Field post process - New Material Functions to render small particles with out of focus.
    • Materials using separate translucency can now be rendered at a lower resolution, which can be useful to improve GPU performance for fillrate and overdraw heavy geometry (for example particle effects).
      The resolution is controlled via a console variable, r.SeparateTranslucencyScreenPercentage, which expresses separate translucency as a percentage of current screen resolution.
    • Static mesh LOD transitions now supporting dithering.
  • Core Updates:
    • CrashReporter Server available
    • Improvements
      • Garbage Collection up to 4x faster
      • Dependency preloading - brings us close to seek free loading (90% of the time seek free), faster package loading
      • UnrealHeaderTool makefiles - iterative UHT runs are 5x faster
  • Platform Updates:
    • Metal on Mac
    • AppleTV support
    • Fast Semantics on XboxOne
    • VS2015 on XboxOne
    • Code plugins for PS4
    • Deterministic cooking "bug-finder" commandlet
    • Background content precaching for most-recently-cooked-platform
  • Editor/Tools Updates:
    • Sequencer improvements
      • New tracks: Shot/director, play rate, slomo, fade, material, particle parameter tracks.
      • Improved movie rendering, exr support
      • Improved/consistent keyframing behaviors, copy/paste keyframes, copy keys from matinee, 3d keyframe path display
      • Master sequence workflow
      • Spawnables workflow
      • UI improvements: track coloring, keyframe shapes/coloring, track filtering
  • Framework Updates:
    • Anim Dynamics Skeletal Control for Animation Blueprints - allows dynamic motion to be procedurally added to skeletal meshes without having to use a full physics solution. This is accomplished using the new “Anim Dynamics” node in the Animation Graph of an Animation Blueprint.
  • Networking Updates:
    • Packet handler system
      • Easy interception of packets for things like encryption, compression, etc
      • Added CryptoPP, and packet handler components that support it out of the box
    • Oodle integration (SDK purchase required)
    • Client-side replays
  • Blueprint Updates:
    • The Blueprint search tool has been updated to support more advanced search functionality (to get more targeted results).
    • Native C++ functions marked BlueprintCallable can now also be optionally marked as DevelopmentOnly. This new metadata allows calls to those functions to be disabled (compiled out) of all Blueprint function graphs in cooked/packaged builds without breaking the execution flow.
  • Mobile Rendering Updates:
    • Support for hardware instancing on iOS and many Android devices, reducing draw calls for Foliage and InstancedStaticMeshComponents.
    • Improved reflections on mobile, optionally interpolating between up to 3 reflection captures and performing parallax correction
  • VR Updates:
    • Instanced Stereo Rendering
    • Head Mounted Display Camera Refactor
    • Stereo Layers
    • SDK Updates: Oculus SDK 1.0, SteamVR 1.0, PlayStationVR SDK3 Updates, and Gear VR LibOVRMobile 1.0 (not yet updated for Preview 1, but will be by final release)
  • Landscape/Foliage Updates:
    • Landscape layer whitelisting, allowing you to control which landscape components should accept which layers in the painting tool
    • Landscape layer usage view mode, to quickly see which landscape components are using which layers
    • Support for baking WorldPositionOffset changes into landscape collision


Known issues in this release are:

UE-24744 Editor crashes when a Character is selected in Paint Mode.
UE-24721 Hot Reload fails to take effect when compiled from Xcode
UE-24716 Crash occurs selecting to open Session Frontend on Mac
UE-24715 Unplayable GearVR tracking sensitivity in First Person Template
UE-24699 Unable to build Linux editor ConvexHull2D file not found
UE-24650 Materials using separate translucency stop rendering if r.SeparateTranslucency is 0
UE-24590 Crash resetting Bound Bone in Anim Dynamics node
UE-24369 MAC: UI: Top half of the game client is not visible to users when Mac client is launched in fullscreen.
UE-23231 Can't Upload iOS build signed on PC


More details of the release are available here.  You can download the preview release using the Epic Game Launcher.

GameDev News

22. December 2015


LÖVE, the popular Lua based open source game engine, just released version 0.10.  This is excellent news for me as I can now use the newest release in my upcoming complete beginners series.


So, what’s so special about this release?  Well the biggest feature has to be iOS and Android support, which I think you will agree is pretty big. 


That said, there are tons of new features in this release:

Changes from 0.9.2

Changed APIs
Renamed APIs
Performance improvements
Other changes

GameDev News

21. December 2015


Gideros, the free cross platform Lua based game engine, now runs on Raspberry Pi, the card sized single board computer intended for teaching computer science (and staggeringly cheap).


From the release announcement:


It’s amazing that Christmas is approaching already. As you get older the time between Christmases seems to shrink alarmingly and it feels like about five minutes since last Christmas when we were deep in the middle of our Kickstarter campaign to add WinRT and desktop support for Gideros. At that time we added an additional stretch goal: to port Gideros to the Raspberry Pi. I bought my son a Raspberry Pi for a Christmas present with the secret intention of “borrowing” it to fiddle with Gideros. Well to quote from Wham! it was a case of “Last Christmas, I gave you a Pi and the very next day, I took it away” and my son has had barely a go this year as I’ve taken the Pi to my office where it sits attached to a monitor and an Ethernet cable. At home we had it connected to the TV but that is not really practical for serious programming, especially with Gideros where you need constant access to internet tools like git and apt-get.

It’s important to remember what our goals were in porting Gideros to the Pi. The Pi is an educational computer designed to teach children to code, it is not a games machine. So we wanted the Pi to be a development environment allowing children to code games and apps in Lua and export them to all the supported operating systems. While it might be nice for users to, say, develop code on a PC and export as a stand alone game on the Pi (alongside Android etc) this is a secondary goal. The Pi should be thought of as a development machine like PC or Mac, not a target “device” like an iPad or Android phone.

For a good chunk of the year, I’ve been trying to port Gideros to the Pi which has proved surprisingly difficult, due to two problems. Firstly Gideros is built with a compiler system called Qt and in particular Qt5. The operating system that originally came with my (I mean “our”) Pi (pre-installed using the NOOBS system) was Raspbian Wheezy which for some reason only has access to Qt4. That is, it was only possible to install Qt4 directly from binaries via apt-get. I did attempt to compile Qt5.5 from sources but, after a 3 day compilation process (!), this did not entirely work. I did get a working Qt5 compiler, but there were a few anomalies: resulting executables had all fonts missing and did not run in a window but in a large “panel” which overlapped the entire X-Windows desktop. I now realize that the latter “bug” was actually a useful feature for reasons that will become clear in a moment. I also flirted with the option of rolling back Gideros to Qt4 (which it has previously used) but that turned out to be impractical. Yet another option of rewriting Gideros completely so it does not use Qt (I’m not a fan of Qt personally) proved even less practical…


Read more here, or check out the source code here.

GameDev News

21. December 2015


FNA began life as a MonoGame port to SDL2.  Since then it has been used to port nearly 40 games to Mac and Linux including Axiom Verge, Terraria and Dust.  Today the first formal release was announced.  The follow excerpt from the formal press release:

Details: After three years of development and dozens of commercially-released ports, developer Ethan "flibitijibibo" Lee is announcing the first official release of the FNA project.

FNA is a brand new open source reimplementation of the Microsoft XNA 4.0 Refresh runtime libraries for Windows, Mac OS X, and GNU/Linux. Originating as a rewrite of MonoGame's desktop platform, FNA features a complete reimplementation of the graphics and audio subsystems in addition to a dramatic increase in portability on the desktop. With a single FNA binary, it is possible to ship for Windows/Mac/Linux without having to recompile for each individual target.

FNA is also a complementary library to the MonoGame project; while MonoGame intends to succeed XNA 4.0, FNA intends to preserve XNA 4.0 with accuracy and preservation as the project's top priorities. With XNA-compliant code and content, a game can be running under FNA with nothing more than a new project file.

Demonstrated as production-ready through over three dozen released titles, FNA has enabled critically-acclaimed titles such as Axiom Verge, Dust: An Elysian Tail, Hacknet, Rogue Legacy, Apotheon, Terraria, and more to be deployed across desktop platforms with confidence. Along with XNA games, a handful of MonoGame titles have also made the move to FNA, including Wyv and Keep, Bleed, Wizorb, and the upcoming 1.12 update for FEZ.


- FNA is now officially released
- A free, open source reimplementation of XNA 4.0
- Windows, Mac, and Linux support with a single binary
- Already ships in dozens of games for Windows/Mac/Linux
- Developed by professional video game porter Ethan Lee


FNA source is now available on Github or binaries can be downloaded here. A much longer release blog is available here.

GameDev News

21. December 2015


Graphine have released version 3 of their Granite 3 texture streaming technology.  Available stand-alone or as a plugin for Unity and Unreal, Graphine enables you to use gigapixel level texture detail in your game or application.


This release brings the following new features:

Detailed Technical Features

  • Greatly improved sparse data handling. Data no longer needs to be available at all resolution levels on all layers.
  • Duplicate tile elimination. Duplicate tiles will be eliminated by the tools and only streamed once at run-time.
  • Support grayscale texture formats (BC4, 8-bit).
  • Large individual GPU caches up to 1GB. Cache sizes are no longer limited to the maximum texture size supported by the GPU.
  • Caches are now build per datatype instead of per layer layout.
  • More efficient cache memory use. Caches can now be shared between tiles sets with a different number of layers and layer datatypes.
  • Significant speedups in Granite core both on the GPU and CPU side. Overall up to 50% CPU and 50% GPU speedup may be seen in the Granite "Tick" per frame update call.
  • Tiling textures are now more efficiently handled reducing memory and bandwidth use.
  • Fixed several cubemap mipmapping issues.
  • New file format (version 3), Granite is backwards compatible with version 2.
  • Improved GPU memory tracking & logging.
  • Separate tool set installer for faster tool updates.
  • Total texture import freedom: Combine single images, tiled images and UDIM images in one stacked texture.
  • Many Tile Set Studio usability improvements.
  • Support for importing custom mipmaps.


In other Granite news, released an updated plugin for Unreal 4.10.1:

So what’s new in Granite for Unreal 4.10.1?

  • New GPU cache settings: one global setting with the option to specify the cache size per texture format. It’s easier to use and allows Granite to optimize memory usage even more.
  • Sampling quality can now be set in every individual Granite sample node. This allows a better trade-off between quality and performance on a per-node basis.
  • Large individual GPU caches up to 1GB.
  • Import custom mipmaps.
  • Separate tool set installer for faster tool updates.
  • A number of bugfixes.
  • All other benefits from using Granite SDK 3.0.

GameDev News

See More Tutorials on!

Month List