The Machinery Beta — August 2020 (version 2020.8)

Hope you all have managed to get some rest and relaxation during these strange times. We are wrapping up our summer vacations at The Machinery and getting ready for an interesting autumn. First up, we have three new people who will join us in working on The Machinery: Simon and Frank from Breda University in The Netherlands and Leonardo from Italy. You may find them on the forum or the discord channel in the near future!

As always, registered beta users can download the build from our forum. If you want to join the beta, sign up! If you find bugs in this release or have requests for specific features, post them to our issue tracker. For more general discussions, hit us up on the forum or Discord.

Key highlights in this release are:

  • HTTPS Support — The Machinery now integrates BearSSL to provide support from fetching data over https.

As always, we also have a number of smaller updates.

HTTPS Support

The Machinery now comes with a plugin that provides integrated SSL support through the BearSSL library. This let’s you connect securely to online servers, talk to REST APIs, etc.

The https plugin provides two interfaces. A simple get() interface that blocks while it’s waiting for the page to download and an asynchronous interface that lets you send requests without blocking and without using a background thread.

Note that the https plugin is client-only for now. It doesn’t let you run a https server and it doesn’t support the websocket protocol. We might add that in the near future if there’s demand for it.


UI

  • We now support UI resolution scales < 1.0. [#271]
  • Fix for border offset problem after restoring a maximized window from being minimized. [#269] [#234]
  • Fix for a bug that caused files to accidentally be saved in the new (not yet released) database format.
  • In the Preview Tab, it is now possible to rotate the Lighting Environment by clicking and dragging while holding Ctrl. [#157]
  • When dropping an entity into the scene tab, the root object of the scene is now always used as parent. This prevents a confusing situation where if you dropped multiple objects they would end up as children of each other. [#282]
  • Fix for menu bar still being active after a system dialog is shown. [#280]
  • Fix for Left, Right and Space keys not working in entity tree [#277]

Build

  • Added the --clang build option to the gameplay plugins in the sample-projects directory.
  • the-machinery.exe can now be launched from the users PATH. [#268]
  • You can now specify a project to load as a regular argument to the-machinery.exe . This lets you set up file associations for The Machinery projects in Windows. [#272]

Animation

  • Fix for crash when adding a state to a state machine without a preview unit.
  • Fixed crash when right-clicking in the animation state machine tree.
  • The blend state now supports blending up to 32 animations (previously 16) and it won’t crash if you try to add more than 32 animations (previously it did).
  • Added a context menu for the motion mixer in the animation state machine tree.

Graphs

  • The Creation Graph specific Input node has been removed. When importing results from other Creation Graphs, the Import node should now be used. For other usages, use the general Input node (the same that is used in subgraphs). See the Creation Graphs located in the core folder for usage examples. Creation Graphs that are instances of those that live in the core folder are automatically migrated to use the new nodes.
  • Improved Subgraph navigation: There are now breadcrumbs for going to parent graphs. Backspace may be used to go back to the immediate parent. Subgraph nodes are now clearly marked as such, and there is a context menu item for opening the subgraph. There is also a mouse help text that tells the user that they can double click the node to open the subgraph. [#281]
  • The logic that figures out nodes compatible with a connection in the graph has been improved. [#275]