Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r198

New beta cycle: nested timelines & lots more!

04 May, 2020 ()

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 beta release cycle, and we have a big update for you today! The main new feature is the ability to use nested timelines. The Timeline Bar now supports adding an existing timeline at a position in another timeline. Nested timelines can also include further nested timelines, so it is quite easy to create complex structures. This is particularly useful for things like chaining timelines together - previously you would have to set up events or use keyframe tags, which could be cumbersome. While in the editor, a nested timeline becomes part of the main one, so the preview works as if it was a single timeline. At runtime everything continues working as before, so no changes there if you don't need to use this feature. This has been quite a long time in the making and we hope you find this useful!

Other key changes include:

Cloud Save with Google Drive now shows shared folders that you have write access to. This should be useful for conveniently sharing your work with others.

Physics now defaults to framerate independent. This is to ensure it works at the same speed on devices with different display refresh rates. However it also means it can be non-deterministic due to variations in frame times, which means physics can work slightly differently each time even with the exact same inputs. You can always opt back in to framerate-dependent mode with the 'Set stepping mode' action, but this will then cause physics to work at different speeds depending on the device. It's probably best to use framerate independent mode, and adjust your project to be more reliable if necessary.

Worker mode has a new default mode Auto, which means Construct decides whether to turn it on. Currently this means it is turned off if you use any scripting at all in your project, otherwise it's turned on. This is intended to make sure beginners using scripting don't run in to unexpected problems due to the code running in a Web Worker. You can still force it enabled or disabled by changing the Use worker property to Yes or No.

• Note a potentially breaking change in how timelines handle absolute result modes.

There's even more in the full changelog below, including the new ability to access sprite collision polygon points, physics contact points, and more, and as ever a batch of bug fixes. Happy testing!

Like this Release?

Let us know with a thumbs up!

54
Launch r198

New Features

21 favourites
Nested timelines

New Additions

16 favourites
Google Drive cloud save: now also lists shared folders that you have write access to
17 favourites
Sprite: expressions 'PolyPointCount', 'PolyPointXAt' and 'PolyPointYAt' to get collision polygon point positions
16 favourites
Physics: expressions 'ContactCount', 'ContactXAt' and 'ContactYAt' to get list of contact points
18 favourites
Move To behavior: specify image point for 'Move to object'
17 favourites
Line-of-sight behavior: specify image point for 'Has LOS to object'
6 favourites
Browser: 'Set hash' action, 'On hash changed' trigger
9 favourites
Browser: 'Port' expression

Changes

6 favourites
Timelines: a timeline using absolute result mode now overrides all other changes (breaking change)
9 favourites
Physics: now defaults to framerate-independent mode (possible breaking change)
8 favourites
'Use worker' property has new default 'Auto' mode
6 favourites
Layout View: drag-dropped SVG files now use a more appropriate size
10 favourites
Mobile advert: update Google Mobile Ads SDK to 7.58.0
14 favourites
Animations editor: improve the flood fill tolerance algorithm

Bug Fixes

5 favourites
Tilemap bar: tile collision polygons not drawn after using the eraser tool
5 favourites
Tilemap bar: show error feedback when loading invalid map files
9 favourites
Animations editor: minor color changes when swapping between the primary and secondary color
7 favourites
Animations editor: possible crash using the rectangle select tool
7 favourites
Sprite: 'On frame changed' could incorrectly trigger at end of animation
6 favourites
Mirrored/flipped objects rendered incorrectly with background-blending effects
8 favourites
MoveTo: ensure stops on solid closer to solid
7 favourites
iOS: did not always show on-screen keyboard when focusing a text input
7 favourites
Pressing 'Escape' to cancel a dialog in a popup window did not always work

Scripting updates

7 favourites
Sprite: getPolyPointCount(), getPolyPointX(), getPolyPointY(), getPolyPoint() methods
7 favourites
Sprite: getImagePointCount() and getImagePoint() methods
7 favourites
Physics: getContactCount(), getContactX(), getContactY(), getContact() methods
6 favourites
Fix crash autocompleting localVars inside a function block

Share Construct 3 Release r198 Now

  • 18 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • New "Sprite: expressions", does such things add overall for sprite performance, increased memory usage if sprites has 10+ poly points?

    And c3runtime did got update some time ago to lower memory usage, as it uses new method for memory save, when you don't use some features it does not cost memory. Then if some sprite expressions/settings are never used, it will not impact memory, but if i use it for once it will add a bit extra memory overall? Is it still like this, or it was only for scripting?

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

      I'm not quite sure what you mean. But if you are wondering what the performance or memory usage impact of something is, measure it. That's the only real answer.

      • Anyway it's more wider topic, but to make it simple and which i know:

        "features that are not used do not allocate memory"

        "things like instance variables, behaviors and effects do not allocate memory unless they are actually used"

        Does this also applies to new sprite expression.

        From this: does it applies to imagePoints?If i got 1000 copys of 1 sprite with 10 imagepoint, and i only use 10 imagepoints on 5 copys, will it impact all copys? Same for instance var, will it allocate memory for all instances or just thous sprite copys which i use instance vars on?

        Just my random thought!

        Load more comments (3 replies)
  • Good Job Construct team

  • Man, I'm glad to be back around Scirra, it's so satisfying how frequent these updates are.

    Many thanks Ashley!

  • Somebody's been busy, thanks!

    I think a guided tour for Timelines is a real good idea now.

  • The Best for game developement.

    thank you construct very much.

    All the best for the future!

  • The Best for game developement.

    thank you construct very much.

    All the best for the future!

  • Hi , Is It Possible improove the srites editor with Bezier curves and other features like Inkscape does ? Thanks and Great Job

  • Many thanks

  • I don't really want to have to make an entire bug report for this, it's pretty simple, if you use the paint bucket tool in the sprite editor on a sprite, it crashes.

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

      I just tried it and it worked fine. Please do file an issue, because we usually need much more information than this to solve problems, and it also avoids the problem being lost and forgotten.

      • Oh yeah weird, it's working now. I guess it is more obscure than that. It was on an empty project though. If I manage to replicate it again I'll file a bug report, thanks Ashley!

  • Add posibility / feature to make easy parralax to rotating platformer type game

  • Load more comments (1 replies)