SDK 0.26.0 is the first SDK release since Turbulenz went open source and there are plenty of new features for devs to sink their teeth into.
Data Shares API
The Data Shares API is a new Turbulenz service that allows games to save information between users, that are online or offline. While the User Data API allows games to save information specific to that user, Data shares allow running games to save key-value pairs that other games can read. One application of this feature is to create turn-based games or share game generated content with other users when the original player is offline. See the Data Shares API for more details.
The Notifications API is a new Turbulenz service that allows games to send notifications to users. These notifications are akin to the short messages that users of Turbulenz receive informing them of site activity, such as badges achieved or scores beaten in leaderboards.
Games are now able to send instant or delayed messages to a user (including the current user), which will be received in real-time (online playing), as a site notification (online) or as an email (offline). They can be used to inform users of activity, such as “It’s your turn” or “Your base is under attack”.
When used in conjunction with the Data Shares API, developers can now write games that combine, turn-based online/offline play with real-time communication. The new Tic-tac-toe app demonstrates how the APIs can be combined. See the apps directory of the SDK/Github repository.
Rapid prototyping with Protolib
See the Protolib documentation to get started.
Local server upgraded
Part of providing the Notications and Data Shares APIs, the local server now has support for logging multiple users in at the same time. This allows games to test multiple users interacting on the same server, which is the same functionality provided on hub.turbulenz.com and turbulenz.com.
In addition to the open source changes to how the Turbulenz local server and tools are packaged, the deployment process has been improved, now remembering which developer was logged in when deploying and making the discover of previously deployed project versions easier.
Rendering performance improvements
This SDK includes additional performance improvements to the 3D renderers focussing on reducing the CPU cost preparing for rendering. There are also improvements to the 2D canvas implementation, confirming it as viable option for accelerated canvas 2D rendering. These improvements should benefit machines that were previously CPU limited.
- Various fixes for the viewer rendering.
- Addition fixes to the dae2json and obj2json importing.
- T1424 - Local does not remember the password when deploying a game from Local to Hub.
More details of these features and additional improvements can be found in the release notes.