Table Of Contents

Previous topic

31.6. Turbulenz SDK 0.24.1

Next topic

31.8. Turbulenz SDK 0.23.1

This Page

31.7. Turbulenz SDK 0.24.0

31.7.1. Summary

Turbulenz SDK 0.24.0 is an update for both the Turbulenz Engine Installer and SDK components.

31.7.2. Change List New Features

  • Turbulenz Engine versions >=0.23.3 have a new feature that allows specific versions of the Turbulenz Engine to be loaded at runtime. For most developers, this change will not require any changes to existing code. The code to handle this is included in the maketzjs/makehtml generated output and on When a project is uploaded to developers must specify a 2-digit engine version string that the game is compatible with e.g. 0.24 This indicates that the game should be compatible with engines 0.24.0, 0.24.1, and all following interface compatible versions in the form 0.24.x. For details on changes see the engine version requirements.

  • The NetworkLatencySimulator has been added, which allows you to simulate spikes in latency for multiplayer sessions.

  • Added a section with various tips and tricks for Games Development.

  • The Turbulenz JavaScript libraries now contain debug code to check for errors in parameters or internal state of the engine. This is implemented as calls to the debug object, and such calls are stripped out of plugin and canvas builds by the maketzjs tool (which in turn calls the new strip-debug tool).

    Generally, developers will not need to invoke strip-debug directly. However, developers using customized build processes, or wishing to use this functionality in their own code should see Asserts and Debug Code and related links to familiarize themselves with the new behavior.

  • A new method calculateTransform has been added to RigidBody, CollisionObject, and Character to efficiently calculate the world transform for those objects.

  • Added contact callbacks to RigidBody, CollisionObject, and Character in physics 3D.

  • Added support for triggers in physics 3D.

  • Added InputDevice.isSupported() for testing the capability of input, for example POINTER_LOCK.

  • A new leaderboards sample has been added. This sample demonstrates the use of the LeaderboardManager, GameProfileManager and AssetCache (Used to load Avatars) libraries.

  • The local server now has a set of default users for testing leaderboards. See the devserver/defaultusers.yaml and devserver/user.yaml files for more information.

  • The LeaderboardResult object now exposes a getSlidingWindow and onSlidingWindowUpdate function for viewing all of the results of the current HTTP request.

  • Added a section giving requirements for Turbulenz Services Assets.

  • The SDK now downloads and installs a version of node.js for use in the Turbulenz Environment. To run Node in the environment, type ‘node –help’ for more information. Node is used maketzjs in the SDK. It also allows developers to use UglifyJS and UglifyJS2 without separately downloading Node. Changes

  • Badges icons must now be 256x256 pixels. For more information see the badge icon requirements.
  • Leaderboards and Store icons must now be 256x256 pixels. They can also be provided optionally at 48x48 and 32x32 pixels to avoid reducing quality at lower resolutions. For more information see the leaderboards and store icon requirements. This will require changes to the leaderboards.yaml and storeitems.yaml files as the icon property has been replaced by icon256, icon48 and icon32.
  • Animations now use typed arrays to store keyframe data. This greatly reduces the number of objects created and the amount of memory used to store the data.
  • Animations now use typed arrays to store keyframe data. This greatly reduces the number of objects created and the amount of memory used to store the data.
  • The max number of user’s game profiles per request has been increased to 64.
  • The GameProfileManager leaderboard example has been updated to make fewer requests while scrolling.
  • Clarified the Xcode requirements for Mac in docs and SDK installer. See Developer Requirements. Fixed

  • Profile standard deviation.
  • T1292 - Fixed crash when not specifying callback in makePublic, updated docs.
  • T1246 - Fixed Websockets implementation on plugin not handling fragmented messages. Corrected for Windows/Mac.
  • T1299 - Updated documentation for additional Mac/Linux commands
  • T1243 - Fixed issue where plugin hideMouse and showMouse didn’t behave as described in the docs

31.7.3. Known Issues New

  • Publishing of games built against SDK 0.24.0 requires the new engine loader functionality to be enabled on This will be enabled when Turbulenz Engine 0.24.0 is available on In the meantime developers will be able to upload and test projects built against 0.24.0 on the Hub, but will get a warning when publishing, such as:

    Version not publishable as engine version must be a three-part (X.Y.Z) string. Uploaded as: 0.24

    When the feature is enabled, you must upload the project again and this warning will no longer appear.

  • Error checking of arguments for various jslib functions in debug mode is stricter e.g. Math functions. Please check your usage of such functions.

  • Manually uninstalling the latest Turbulenz Engine you have installed may result in other installed engines appearing as not installed. To work around this, you may need to reinstall older engines. The assumption is that users will continually install engines as new ones become available. A fix to clear all engines when uninstalling the latest engine will be available in the future. Unchanged

For a list of current known issues see the known issues section.