Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r328

Custom actions; new pathfinding features; move along curved paths & more

31 January, 2023 ()

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! This release introduces a major new feature: custom actions! At the moment these work a lot like functions, but they are associated with an object type or family and appear in their action list, which helps organize your logic in the appropriate place. We have a few more ideas to take this further over the next couple of releases, including better support for families, and in the long term we think it will also become part of a "prefabs" style feature. So it's not yet the final form of the feature, but we're creating a good basis to continue building on top of.

This release also brings a few new features and improvements to the Pathfinding behavior. This includes a path groups feature to help spread out paths, a direct movement setting to help smooth paths, and a few other smaller improvements and tweaks. These have all arisen from the Command & Construct game development project, and these features are explained in more detail in the blog post RTS devlog #9: Extreme pathfinding. We've also added a couple of new example projects which interactively demonstrate these features.

The Move to behavior now also supports moving along curved paths when following a timeline, which enhances the use of timelines as a way to design paths for objects to follow at a fixed speed rather than at fixed times.

Other than that there's a raft of other additions, changes and bug fixes. These include some new expressions, usability improvements, and the usual batch of bugs squashed, as ever largely based on all the feedback we get from you. Happy testing!

Like this Release?

Let us know with a thumbs up!

49
Launch r328

New Features

38 favourites
Custom actions

New Additions

19 favourites
Pathfinding: add 'Direct movement' setting
22 favourites
Common expressions BBoxMidX/Y
11 favourites
Pathfinding: add action to set move cost
20 favourites
System expressions ViewportMidX/Y
11 favourites
Pathfinding: start/end path group actions, for spreading out paths
13 favourites
Move To: support moving along a timeline with a curved paths
9 favourites
New examples 'Pathfinding direct movement', 'Pathfinding groups', 'Move along curved path'
9 favourites
Layout view: hold tab while right clicking to show the context menu on the current selection rather than the top instance
7 favourites
Templates & Hierarchies: add alternate keyboard shortcuts 'Alt Gr + [' and 'Alt Gr + ]' for the 'replace whole" and 'modify existing' template options

Changes

13 favourites
Pathfinding: improve A* heuristic when diagonals enabled
8 favourites
Templates: duplicating an instance which is a template now sets it as a replica of the corresponding template
8 favourites
Pathfinding: increase maximum allowed cost from 2^26 to 2^31
8 favourites
Avoid redundant title bar text when editor installed as an app in Chrome/Edge

Bug Fixes

6 favourites
Pathfinding: may not have removed redundant path nodes in some cases
6 favourites
Event sheet view: possible crash cutting and pasting function parameters
6 favourites
Sprite: possible runtime crash changing layout before 'Load image from URL' finished
6 favourites
Templates & Hierarchies: 'replace whole hierarchy' context menu option not producing the expected results every time
6 favourites
Animations editor: crash dragging an image from another browser
6 favourites
Animations editor: some zip files failed to be imported correctly
6 favourites
Animations editor: animation preview was not always consistent with the runtime
7 favourites
Tweens: incorrect end result in some tweens involving size and hierarchies
7 favourites
Timeline bar: editor preview not producing the expected results in some cases involving hierarchies
8 favourites
UI State: active layer was not restored properly on project load

SDK updates

7 favourites
Add runtime event "beforelayoutstart"

Scripting updates

4 favourites
Add Pathfinding property directMovementMode
4 favourites
Add Pathfinding map property moveCost
4 favourites
Add Pathfinding methods startPathGroup(), endPathGroup()
4 favourites
Add IRuntime.dtRaw

Share Construct 3 Release r328 Now

  • 24 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • Hi,

    The custom actions feature, isn't it harder to use in actual projects? Probably not if the engine is for education and teaching programming, but for actual projects this is hard when scaling.

    Imagine this, writing JavaScript functions directly like how it is in the event sheet. All functions are called directly, no strings, no dynamic names, etc.

    I feel like Construct 2's Function object represents actual functionality in programming. Now, in Construct 3, it looks more about cosmetic and which looks easier to use.

    I use JavaScript, so I'm not affected. Even with the new Construct 3 built-in Functions feature, I use "runtime.callFunction("functionName", param1, param2, param3,...)". However, those who don't will wonder why they have to create so many custom actions for such simple tasks.

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

      It's designed to be easier to use and better organised than functions. Instead of relying on a global list of functions that use "copy picked" (which is implicit and doesn't actually specify any particular object type), you can essentially list functions in the action list of the object type it is relevant for. That alone helps organise functions across the project and make it clear that functions affect specific object types rather than being global or general purpose things. And that's before additional features such as integrating with families.

      Still, everyone uses Construct differently, so some people may choose to use them and others may not! That's fine, it's not mandatory to use it.

      • That's understandable.

        If multiple event triggers for functions / actions cannot ever be supported. How about at least add some flexibility? For example: Call 'custom' action by name.

        At least we have an option, it's not mandatory to use. If some people find it unorganized, they don't have to use it.

        I think that's a fair balance for organization and functionality.

  • New Pathfinding and Move To changes are great! 👍

  • Wow thanks for all those amazing additions, especially BBoxMid, Pathfinding and MoveTo !

  • 1 step closer to prefabs is 1 step closer to greatness!

  • awesome update!

  • Thank you! Such a major update in regards to the custom action feature and possibly a "prefab" object in the near future. Thank you Ashley for the great work on this.

  • Wow, so many great improvements in one update. Super excited for custom actions!

  • Thank you!

  • Amazing update! Thank you so much! 💛

  • Very interesting, thanks!

  • Load more comments (11 replies)