Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

14. August 2016



The following is a recap of major events in the world of game development for the week ending July 18th, 2016.  I do a weekly video recapping the news available here with this week’s video embedded below.  This post is a collection of links mentioned in the recap.


The Video

GameDev News

11. August 2016


Unity have released another patch for the Unity game engine.  Composed primarily of fixes, the only new improvements in this patch are removal of the 16GB limit on Windows and an update to Oculus plugin 1.6.

From the release notes:

  • Linux: Removed 16GB total memory limit.
  • VR: Oculus Plugin updated to version 1.6.
  • (811963) Android: Audio - Fixed glitches on GearVR when Best Latency is selected.
  • (746248) Android: Buildpipe - Don't check for passwords if exporting project.
  • (746248) Android: Buildpipe - Don't merge manifests if exporting project.
  • (797965) Android: Editor - Added a workaround for AAPT sometimes crashing for no good reason.
  • (808817, 805086, 801150) Android: Fix for clip() in ES3 shaders on some Adreno devices
  • (813681) Animation: Fixed a crash that happened when disabling a gameobject during animation-triggered physics callbacks.
  • (813105) Animation: Fixed an issue where an assert that couldn't be acted upon was popping in the AvatarMask inspector.
  • (813805) DX11: Fixed some drivers crashing when using GPU skinning and tessellation shaders happen to be set up.
  • (none) Editor: Fixed the inspector UI for some Renderers where Light Probe and Reflection Probe options were not displayed correctly.
  • (none) GI: Fixed performance regression of LightProbes.GetInterpolatedProbe API.
  • (814402, 811236) Graphics: Fixed image effects being rendered twice when the camera is instantiated from prefab or copying another camera. This issue was player only.
  • (809995) IL2CPP: Corrected an exception during code generation with the NPOI library.
  • (807653) IL2CPP: Fixed IPEndPoint on IPv6 network.
  • (813962) IL2CPP: Generated C++ code properly for two structs that contain arrays of each other as fields.
  • (815722) IL2CPP: Prevent a stack overflow during code conversion which can occur for mutli-dimensional arrays with generic types.
  • (812570) IL2CPP: Properly marshal delegates when they are fields of a struct.
  • (818102) IL2CPP: Renamed the types.h file to be il2cpp-string-types.h to avoid the possibility of is conflicted with a user-defined header file.
  • (809864) IL2CPP/PS4: Fixed the exception "System.Net.Sockets.SocketException: System call failed" which can occur when UDP sockets are used.
  • (805892) IL2CPP/XBoxOne: Prevent the C+ compiler from crashing while compiling the IL2CPPCompilerCalculateTypeValues.cpp file for some projects. This file was just too large in these cases, so IL2CPP will not generate multiple smaller files instead.
  • (817335) iOS: Fixed iOS 10 simulator crash.
  • (808536) iOS/IL2CPP: Fixed an error in generated C++ code due to duplicate extern declarations when an extern method in C# is overloaded.
  • (735709) Linux: Added fall back to NET_WM_ICON for custom player icon.
  • (816514) Linux: Don't unnecessarily clear mouse position.
  • (810964) Mono: Properly locate the libMonoPosixHelper.dylib file in the editor on OS X when it is used.
  • (820523) OS X: Fixed HTTPS support for WWW/UnityWebRequest when Mac App Store receipt validation is on.
  • (772640, 817337) Profiler: Fixed GPU profiling showing "N/A" for most draw calls, instead of associating with proper objects.
  • (813763) UnityWebRequest: Fixed errors in console when downloading texture.
  • (none) UnityWebRequest: Fixed memory leak and possible crash when doing mulpiple request using the same object
  • (817745) VR: Fixed possible crash on shutdown.
  • (818044) WebGL: Fixed compressed build files (.*gz) creation if they already exist.
  • (796508) WWW: Fixed occasional crashes in il2cpp projects.


The patch is available for download here.

GameDev News

11. August 2016


Corona Labs, the makers of the Lua powered 2D game engine Corona, just launched a Steam plugin named Steamworks.  Given that Steam is preeminent store for games on the PC this is a welcome move.  This plugin gives access to leaderboards, achievements, user stats, player information and access to the Steam overlay system.


From the release announcement:

This plugin is a bit different than our other game networking plugins. For example, there is no login API. Instead, you must be logged into the Steam client on your computer. The plugin then talks to the Steam client to exchange information with the Steam servers. On macOS, it’s best to set up the Corona Simulator as a Steam app and launch Corona SDK from Steam for maximum support.

Many of the API calls return data immediately, if the data has been cached or is readily available. For instance, if you are getting information about a user and the plugin previously retrieved the data, it is returned to you immediately. However, if the data is not immediately available, and you have set up an event listener for that type of data, an event will trigger the listener and then you can update your local data with the new information.


The plugin is available here.

There is also a new Steamworks example hosted on Github available here.

GameDev News

11. August 2016


SFML, the Simple Fast Multimedia Library, just released version 2.4.0.  As it’s name suggests SFML is a cross platform media framework written in C++ most often used to make 2D games.  I actually have a pair of tutorial series ( SFML 2.x here || SFML 1.6 here ) if you are interested in learning more.


This release brings several changes and fixed.  From the release notes:

  • Added deprecation macro (#969)
  • Fixed issues reported by Coverity Scan static analysis (#1064)
  • Fixed some initialization issues reported by Cppcheck (#1008)
  • Changed comment chars in FindSFML.cmake to # (#1090)
  • Fixed some typos (#1098, #993, #1099, #956, #963, #979)
  • Updated/fixed string comparisons in Config.cmake (#1102)
  • Added the missing -s postfix for the RelWithDebInfo config (#1014)
  • [Android] Fixed current Android compilation issues (#1116, #1111, #1079)
  • [OS X] Update Xcode template material (#976, #968)
  • [Windows] Added support for VS 2015 (#972)
  • [Windows] Create and install PDB debug symbols alongside binaries (#1037)
Deprecated API
  • sf::RenderWindow::capture(): Use a sf::Texture and its sf::Texture::update(const Window&) function and copy its contents into an sf::Image instead.
  • sf::Shader::setParameter(): Use setUniform() instead.
  • sf::Text::getColor(): There is now fill and outline colors instead of a single global color. Use getFillColor() or getOutlineColor() instead.
  • sf::Text::setColor(): There is now fill and outline colors instead of a single global color. Use setFillColor() or setOutlineColor() instead.
  • sf::LinesStrip: Use LineStrip instead.
  • sf::TrianglesFan: Use TriangleFan instead.
  • sf::TrianglesStrip: Use TriangleStrip instead.
  • [Android] Added sf::getNativeActivity() (#1005, #680)
  • Added missing include in String.hpp (#1069, #1068)
  • Fixed encoding of UTF-16 (#997)
  • [Android] Fixed crash when trying to load a non-existing font file (#1058)
  • Added ability to grab cursor (#614, #394, #1107)
  • Added Multi-GPU preference (#869, #867)
  • Added support for sRGB capable framebuffers (#981, #175)
  • [Linux, Windows] Improved OpenGL context creation (#884)
  • [Linux, Windows] Added support for pbuffers on Windows and Unix (#885, #434)
  • Updated platform-specific handle documentation (#961)
  • [Android] Accept touch events from "multiple" devices (#954, #953)
  • [Android] Copy the selected EGL context's settings to SFML (#1039)
  • [Linux] Fixed modifiers causing sf::Keyboard::Unknown being returned (#1022, #1012)
  • [OS X] Improved memory management on OS X (#962, #790)
  • [OS X] Fixed crash when resizing a window to a zero-height/width size (#986, #984)
  • [OS X] Use the mouse button constant instead of 0 to avoid a compiler error on OSX (#1035)
  • [OS X] OS X improvement: warnings + bugfix + refactoring, the lot! (#1042)
  • Added support for outlined text (#840)
  • Add support for geometry shaders (#886, #428)
  • Feature/blend mode reverse subtract (#945, #944)
  • Implemented support for mipmap generation (#973, #498, #123)
  • Added new API to set shader uniforms (#983, #538)
  • Rewrite RenderWindow::capture (#1001)
  • Exporting some Glsl utility functions due to linking issues (#1044, #1046)
  • Fixed missing initialisation of Font::m_stroker (#1059)
  • Changed primitive types to be grammatically correct (#1095, #939)
  • Implemented stereo audio recording (#1010)
  • Added an assignment operator to SoundSource (#864)
  • [OS X] Updates OpenAL-soft for OS X to version 1.17.2 (#1057, #900, #1000)
  • Fixed a bug where vorbis can't handle large buffers (#1067)
  • Added support for 24-bit .wav files (#958, #955)
  • Fixed threading issue in sf::SoundRecorder (#1011)
  • Made WAV file reader no longer assume that data chunk goes till end of file to prevent reading trailing metadata as samples (#1018)
  • Fixed seeking in multi channel FLAC files (#1041, #1040)
  • Added optional argument on which address to bind (socket). (#850, #678)
  • Fixed FTP directory listing blocking forever (#1086, #1025)


SFML is available for download here.

GameDev News

10. August 2016


Amazon just released Lumberyard 1.4 Beta.  Lumberyard is Amazon’s fork of the CryEngine game engine, which is free to use, as long as you use Amazon’s cloud services (or host your own) for your game server.  I did a Hands On With Lumberyard video shortly after it was released if you want more details on Lumberyard.


The Lumberyard 1.4 Beta release focuses on making multiplayer games more cost effective and to improve team workflow when developing with the engine.decal_screenshot_01  All told there were over 230 improvements or fixes in this release, including:


  • News messages now shown in Lumberyard editor
  • New gem samples for environment special effects (rain, clouds, etc )
  • New Decal sample
  • New API enabling mannequin controller using Lua script
  • Automatically live reload skin files in Editor
  • Define Cloud Canvas resource manager resource groups using gems
  • New sample level illustration motion controller setup/scripting for VR
  • New preview mode in editor for previewing canvas at different resolutions
  • UI Canvas now support keyboard and gamepad operation
  • GridMate now supports encrypted connections
  • Amazon GameLift now tracks health of each server process.
  • Various Improvements
  • Various Fixes


More details are available in the release notes as well as on the Amazon GameDev blog .

GameDev News

Month List

Popular Comments

New Loom Engine released… no more Cocos2D
Subscribe to GameFromScratch on YouTube Support GameFromScratch on Patreon

28. June 2013

I have been following the Loom Engine since it was first publicly released.  I even did a five part guided tour of Loom Engine functionality, so this is one that I've been keeping an eye on.  One of the major aspects of Loom was it was layered over top of Cocos2D-x, for better or worse.

(Sadly, not that Loom)


In this release, that has has changed.


Loom Engine

The Loom Engine saw a huge amount of work this sprint. You will notice substantial gains in performance and stability.

We shifted to the new bgfx-based renderer this sprint, improving Loom2D performance substantially and setting the stage to support DirectX and other graphics APIs. Cocos2DX is now unsupported.

We have extended Loom2D with some new features and filled in some missing features: 
* You can specify z-sorting mode to have C++ sort large numbers of sprites for you. This is demonstrated in IsoVille.
center() method on DisplayObject to set the pivot point to the center of the DO.
* Keyboard input now works.
* Touch handling is much better.
* TMX loading/rendering works (now implemented in LS).
loom2d.animation package is ported.
* Text rendering/text input works!
* Hierarchical alpha works.

All package names are lower case now. If you run a sprint27 project under sprint28 you will see a lot of errors due to this; we recommend doing a replace-in-files to replace all your import Loom2D.Display. with import loom2d.display. and so on - this will get you up and running within minutes. Don't do it by hand unless you like menial labor! :)

Loom projects now inherit from loom.Application and do not require a any longer. Cocos2DApplication and Cocos2DGame and Application are all combined now.

Feathers is now a standard Loom library and available to use in your projects!

The profiler works, and also reports a lot of object allocation statistics. Use profilerEnable and profilerDump in the Loom console to start it and have it report results.

Porting Feathers (50,000 lines of AS3 code) drove major improvements to LoomScript. Wins include:
is/as/instanceof now are compliant with AS3/JS standards.
* Allow {foo: "bar"} style Dictionary literals.
* Added NaN and isNaN, and some useful constants on System.Number.
* Convenience for porting: try/catch/finally parse, but the catch/finally blocks are never run. throw triggers a Debug.assert. Vararg type specification is now allowed (but does nothing). new <String>[] syntax is now supported for initializing Vectors.
Array is now an alias for Vector.<Object>.
* Fixed crashes related to printing too-long strings with trace().
Vector.push() is now much more efficient for pushing a single item.
* You may reference properties via super, ie, super.x.
trim/split work properly now, and are much faster.
* Added Number.fromString.
* Added a Base64 utility class.
* ByteArray gains uncompress and the position property.
Stage gains a method to dump the DisplayObject hierarchy; it also has a bunch of nice new methods for dealing with scaling/native size.

Loom CLI

Loom CLI's loom new template was updated to use the new Loom2D APIs as well as package naming convention. Also the default Curse Font color was changed to Blue, as the white font tended to disappear on the default background.

We added new commands:
loom gdb Launches the current Loom project under gdb to help debug runtime crashes.
loom gdb compile Compiles the current Loom project under gdb to help debug compiler crashes.
loom android release Prepares a release-ready APK! It has options to set the keystore and signing settings.
loom init Set up the current directory to be a Loom project. Mostly useful for tool developers.
loom build android --unsigned was removed

You can add --verbose to any CLI command to get more log output.

CLI now explains why it asking for your system password to update on OSX.

So, Cocos2D is out and a custom C++ renderer is in.  Additionally they added support for the feathers UI library as well as TMX loading/rendering.  There are other changes as well as numerous bug fixes, mentioned in the release post.  Loom is no longer completely free, although they offer a free option and quite reasonable pricing.  Of course, if you signed up when I first linked it, it's still free for you.

News, Programming , ,

blog comments powered by Disqus

Month List

Popular Comments