Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r309

Multiplayer improvements; updated project folder format; lots of bug fixes

06 September, 2022 ()

Email Me New Releases

Don't miss out on the latest and greatest new features in Construct 3

Create an Account

Notes

It's the start of a new release cycle! This is usually when we introduce our bigger changes, and that's the case this time too.

Please back up any important projects before using this beta release. This is our strongly recommended best practice and you should be doing it anyway to protect your work in the event of a disaster. However we are emphasising this as this beta release changes some important details around the way project files are saved. While we've worked hard to try to make sure this works reliably, there is a risk of a mistake causing problems with project files, which could make then unopenable. So please take care with this release in particular.

The change to the project file format is that subfolders in the Project Bar are now represented with real subfolders in the project. It also preserves the case of filenames. Previously content was always saved in the same folder regardless of the use of subfolders, and all names were lowercased. While this change affects .c3p files (which are zip files of a project folder), it will be more noticable with project folders: the first save will rearrange folders and rename files. This could also cause a significant change if you are using source control. However it should make for a better experience when editing large projects, especially if using an external JavaScript code editor. We also intend to later update exported projects to also use real subfolders, and so this change will help make things consistent between project folders and exported projects.

We've also done some work on Construct's Multiplayer feature. The biggest change is it now supports continuing games when the host disconnects from the signalling server. So now all peers in a room can disconnect from the signalling server but preserve their connections to one another and continue transmission, whereas previously if the host left the signalling server it would also close the game. This helps ensure any problem with the host signalling server connection does not stop the game, as well as making it possible to lighten the load on the signalling server as once a game is set up everyone can disconnect from the signalling server. Note however that once disconnected from signalling, it is no longer possible for anyone else to join, as that is what the signalling server facilitates. We've also added a script interface for the Multiplayer object. This only exposes the signalling and peer transmission APIs, but it makes it possible to use Construct's signalling infrastructure to set up peer connections, and then transmit any text, JSON or binary data you like between peers using JavaScript.

Aside from that there's a range of smaller additions and changes which you can find in the changelog, and lots of bug fixes, especially for Timelines and the Animations Editor. Happy testing!

Like this Release?

Let us know with a thumbs up!

33
Launch r309

New Additions

14 favourites
Timer behavior: 'Stop all timers' action
12 favourites
Multiplayer: 'On host disconnected' trigger
4 favourites
Browser: set/get CSS properties for entire document
11 favourites
Multiplayer: make most signalling actions async

Changes

17 favourites
Use real subfolders in project folders to match subfolders in the Project Bar
13 favourites
Multiplayer: keep peer connections when host disconnects from signalling server
7 favourites
Preserve case on filenames in saved projects
11 favourites
Update 'Multiplayer chat' example to allow chat to continue if disconnected from signalling server
4 favourites
Require valid filenames for project files and folders (may cause some invalid names to be changed)
4 favourites
Timeline bar: overwrite keyframes when dragging another keyframe on top of it
2 favourites
Timeline bar: 'ease' and 'path mode' value of master keyframes will now take precedence over the same property in a corresponding property track

Bug Fixes

4 favourites
Timeline bar: crash moving keyframe to time 0
3 favourites
Timeline bar: crash toggling the 'transform height' property of a hierarchy child while it is on a timeline
3 favourites
Timelines: possible runtime crash using the 'Set Time' action
3 favourites
Timelines: 'On finished' trigger not fired in certain conditions
3 favourites
Properties bar: instance layers property showing wrong text for overridden layers
5 favourites
Animations editor: snap selection to grid if needed when pasting
6 favourites
Animations editor: allow pasting animations to the root of the animations pane by clicking on the empty space
5 favourites
Animations editor: copying animations could copy the incorrect content
5 favourites
Animations editor: select all the content of a subfolder when it is selected
5 favourites
Animations editor: crash closing the editor and undoing changes to object types with no animations (regression r308)
3 favourites
Hierarchies: loading the same save state multiple times causing unexpected results
3 favourites
Hierarchies: instances using the 'No Save' behaviour not restoring hierarchies properly
3 favourites
HTML element: 'Set CSS style' did not handle CSS variables propertly
4 favourites
Data editor: allow text wrap when editing long text (regression r305)
0 favourites
Possible issue with collisions after loading savegame using hierarchies

Scripting updates

7 favourites
Add Multiplayer script interface
4 favourites
Add List script interface

Share Construct 3 Release r309 Now

  • 19 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • Still having same hierarchy + save issues as last week unfortunately, thought this one would fix them considering multiple hierachy bugfixes were mentioned and one especially with saves. Are there any more issues you already know of that might not have been fixed yet on that end? I tried to do a bug report project for my issue but it didn't replicate with a clean project so far.

  • Nice! Always like to see improvements on the Multiplayer features. Would also love if there would be a multiplayer host migration if the host disconnects from the peers.

    • I thought this is what this update was, but it seems like it isn't :(

      I tested it with the updated chat example, and if the host disconnects it's just as before, no one can chat anymore. Maybe they forgot to updated chat example?

      • No this isn't about host migration. The update has something to do with the hosts connection to the signalling server (which coordinates the players to the rooms).

        Hopefully we will get a real host migration soon. It is annoying for players to loose the session because the host did alt+f4 or lost it's conncetion.

        Load more comments (1 replies)
        • [-] [+]
        • 3
        • Ashley's avatar
        • Ashley
        • Construct Team Founder
        • 3 points
        • (1 child)

        The change is that the host can disconnect from the signalling server and still communicate with peers. This does not change the fact that if the host disconnects it ends the game. (Host migration is very complicated and I suspect it would be error prone too - you could probably give it a go with events anyway and get the peers to rejoin a new room)

        Load more comments (1 replies)
  • The multiplayer is really important, thank you very much!

    I understand that now there will be no disconnections? How It Works? One of the other players becomes the host?

      • [-] [+]
      • 1
      • Ashley's avatar
      • Ashley
      • Construct Team Founder
      • 1 points
      • (0 children)

      The change only means if the host is disconnected from the signalling server, it can keep its existing connections to peers.

  • Good work... To host transfer i have a tip for you, now with the condition "if the host leaves" we can recover the layout by saving the current data and whoever is there and flags as a host will continue the game . In my case in the game pixel bombarda (in scirra arcade) I save the terrain data in a string.

  • So now I can just send any text with the messaging? No need to try and send data with bitcodes?

    If so, when will this is applied in the stable update?

  • Good to see improvements in multiplayer system. But the multiplayer really needs a function to lock the room any time, and maybe change the players limit after the room was openned.

  • host transfer. Today I took a test and got it. I made a condition of, in the peer group... If peer disconnects and peerid is the same as hostid then all peers leave the room and re-enter. By doing this someone will be the new host and the game can continue, but you need to record data from where the original host left it depending on your game. I will make a tutorial.

  • The Layers are impossible to drag now. they keep sub linking but wont simply move above or below a layer by dragging. now it only snaps each layer you drag into a sub layer automatically

    ;(

  • Thank you, you are doing a great job.

    I would be happy if in your examples there would also be examples of mobile controllers (Joystick) of different behaviors such as 8 directions, platformer and more.

    Most of the time I see people building browser and mobile games with Construct And the browser has the keyboard control built into the behavior but no mobile control so I would be happy for such examples because I think that for you it is really simple and for the users it is really important.

    Thanks!!

  • make the appodeal advertising plugin, otherwise the admob alone is no longer there. everyone has been sitting on mediations for a long time, and we all pray on admob

  • Load more comments (1 replies)