Migrating from gather.town?
Get a discount!

Release Note : 1.19

May 3, 2024
A laptop showing the new 1.24 version of WorkAdventure.

What’s new

We are super happy to announce the release of WorkAdventure 1.19, packed with a host of features! πŸŽ‰

Map / explorer view

You can now explore the map by the click of a button. The new explorer view will zoom out and show you the whole map. From there, you can zoom in and out as you want and move the camera freely. There is also a search bar to quickly find any area or any item of the map.

The map editor was also extended to allow you to define descriptions for areas and items. These descriptions will be displayed when you click on an area or an item in the explorer view.

Map Overview

In case you don’t want this feature enabled (maybe your map is an escape game and you don’t want the player to see the whole map?), you can disable this feature using the Scripting API.

Room list

A much requested feature! 

You can now see the list of all rooms connected to your current world. The notion of “world” is defined from the Admin API. If you do not use an Admin API, the “world” is the list of all maps stored in your map-storage container.

Click the “Open room list” button in the action bar to teleport to any map of your world.

Rooms list

New Map-storage API

The map-storage API is now available to SAAS users.

This API allows you to create, update, delete, and list maps stored in your world. It is finally possible to create maps dynamically from a remote system.

// TODO: link

Removed old Outbound API

The old Outbound API has been removed . This API was already declared deprecated. It was used to delegate the authentication and the routing to maps to a third-party system. It was hard to maintain and was not playing well along the map-storage API.

It has been replaced by the new webhook API (see below)

New Webhook API

The new Webhook API allows you to receive events from WorkAdventure in real-time. As of now, only one event is available: the “player-joined” event. This event is triggered when a player joins a map.

You can use this hook to do some checks when a player joins a map, and to modify the player’s data before they enter the map. For instance, it can be used to dynamically edit the tags of a player right before WorkAdventure performs the permission checks.

If you want to deploy a permission system with custom rules, the Webhook API is the way to go.

// TODO: link

Improving White labeling: customize mail templates

You can now customize the mail templates sent by WorkAdventure.

When you send a mail invitation, it was already possible to customize the text of the invitation.

You can now customize the logo and the background color of the mail.

In addition, you can register your own SMTP server to send the mails. This is useful if you want your users to receive a mail from your own domain (instead of a mail originating from WorkAdventure).

//Screenshot

New self-hostable admin dashboard

Last but not least, we are proud to announce we are making our admin dashboard self-hostable under a commercial license.

Until now, only the “free” parts of WorkAdventure were self-hostable under a “AGPL + Commons clause” license. If you wanted to use the admin dashboard, you had to use the SAAS version. This is how WorkAdventure (the company) is making money and can continue to develop WorkAdventure.

For some very specific clients however (extremely large companies or government agencies), the SAAS version is not always an option. This is why we are now offering the admin dashboard as a self-hostable product under a commercial license.

Unless you are a very large company or a government agency, we ask you to continue to use the SAAS version. This is the easiest way to use the more up-to-date WorkAdventure.

If you are interested in the self-hostable admin dashboard, please contact us at [email protected].

//TODO link to documentation

Improvements

Google Drive picker

You can now directly embed links to your documents stored in Google Drive using a Google Drive picker from the chat and the map editor.

Map editor improvements

The UI and UX of the map-editor has been improved, to make it more intuitive.

The creation of areas has been improved. When creating an iframe, policies can now be set more intuitively using tags, …

Video overlay improvements

The video overlay that displays the video of the users has been slightly improved. When a screen share is active, the video of the screen share is now slightly bigger, making it easier to read text on the screen share.

In the future, we will completely rework the video overlay (and the design of WorkAdventure) to allow for a complete full-screen experience.

Megaphone UX improvements

There are many ways to send a message to all users in a map. One of them is the “megaphone” feature. It enables you to speak to everyone on the map directly. The other is to send a “global message”: a text message that will be displayed to everyone on the map. The third one is play an MP3 file to announce something to everyone. Those three features fill the same purpose but were scattered in the UI. We have now grouped them in a single “megaphone” button.

New scripting API features

The scripting API gains new features. You can now:

  • Trigger a “follow-me” from the Scripting API
  • Detect who is following you or stopped following you
  • Enable / disable access to the map editor
  • Enable / disable access to screen-sharing
  • Enable / disable zoom using the mouse wheel or a pinch gesture on mobile devices
  • Enable / disable moving the Woka by right-clicking on the destination or by tapping on the screen in mobile mode
  • Set a movement speed when controlling the camera via API

Scripting API state typing

When using variables (whether they are global variables or variables attached to a player) in the Scripting API, the type returned by the variable was not known. By security, the Scripting API would type any variable as unknown. This leads to many type checking errors forcing the user in the best case to use type guards, or in the worst case, to case the variable.

Starting with 1.19, the Scripting API now provides interfaces for the room variables and the player variables. Those interfaces are by default empty. But thanks to interface merging, you can extend those entities in your scripts.

By doing so, you can benefit from IDE autocompletion and type checking in the scripting API without having to resort to casting the results.

A word of caution: Typescript types are removed at compile time. This means that in order to be truly sure of the type of a variable, you still need to do runtime checks (using type guards or specialized libraries like Zod).

Miscellaneous / code improvements

New supported install method: Helm chart

Starting with 1.19, the WorkAdventure team officially supports the installation of WorkAdventure using a Helm chart.

The team would like to send special thanks to @klauserber who provided the initial Helm chart that is now part of the main WorkAdventure repository.

Migrating to Phaser 3.80.1 / Fixing erratic glitches when moving with mouse cursor

Phaser (the game engine used by WorkAdventure) was migrated from 3.60 to 3.80. This migration allowed us to benefit from the new setDirectControl method implemented in 3.70. This method allows to take direct control of the Woka. This fixes a long-standing issue where the Woka would move erratically when the user was controlling it with the mouse cursor on a laggy hardware.

“Got-it” checkbox when a user faces Turn connection issues

When a user faces Turn connection issues due to a restricted network, a popup is displayed. This popup was always displayed, which could be frustrating for users who cannot do anything about the network setup. Now, a “got-it” checkbox is displayed at the bottom of the popup. This checkbox allows the user to acknowledge the issue and not be notified again.

Bug fixes

Screen sharing fix

When a user opened and closed a screen share in a bubble, the other user could not open a screen share anymore. This annoying bug has finally been solved. Thanks @gparant!

Special thanks

We would like to express our special thanks to the CEA (French Alternative Energies and Atomic Energy Commission) for their support in the development of WorkAdventure. A lot of the features developed in this release were funded by the CEA πŸ™πŸ™πŸ™.

If you have special needs that are not yet covered and are interested in funding the development of WorkAdventure, do not hesitate to contact us at [email protected].

Complete release notes

Check out the release notes for more details.

What’s next?

So… what’s next for 1.20?

We are working on a lot of things, but we are particularly excited about the following features:

  • Bots: we are working on a bot system that will allow you to create bots that can interact with users in the map. These bots will be powered by a the OpenAI GPT-4 engine, or your own conversational bot using Tock.ai.
  • User status: Finally, you will be able to set your status in WorkAdventure. You will be able to decide if you are available or not, without having to run to a silent zone.
  • Image upload: from the map editor, you will be able to upload images to use as items.
  • Personal desks: we are working on a feature that will allow you to create a personal desk for each user. This desk will be a private area where the user can store items.
  • Right access management on areas: you will be able to define areas in the map restricted to some users only. Or you will be able to grant edition rights through the map editor to some users only in a given area.