Beta versions are not as thoroughly tested as stable

Beta versions are not as thoroughly tested as stable

Beta branch

Construct 3 r212

First parts of scene graph, more Project Bar copy/paste, new examples & more

18 August, 2020 ()

Email Me New Releases

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

Create an Account

Notes

In this release we're pleased to introduce the first parts of the new and popularly requested scene graph feature. It's a potentially vast feature that will likely span across many parts of the editor and runtime. Our aim is to implement it in small parts across lots of regular releases over time. This will help make sure everything works reliably, and will make sure we can review your feedback over time, and make sure that is incorporated in to how later parts of the feature are designed and developed. We want to make sure we get it right!

The very first part of the scene graph feature are just three new actions in the Sprite object to connect up objects. These include Add child, Remove child and Remove from parent. At this point it's a lot like a built-in pin behavior, but with better support for chains of objects. The pin behavior could sometimes have a bit of lag depending on the order behaviors tick in, but the scene graph always updates consistently since the engine knows about the full connections between the objects. We know this is a small part of the expected feature, but as mentioned we will be going a lot further over future releases, and we're keen to see your feedback as it develops.

We've also done more work to expand copy and paste in the Project Bar to cover everything in your project! So now you can copy layouts, object types, families, and everything else. This should make it much easier to transfer content between projects, such as if you have a splash screen you want to re-use in another project - now you can just copy and paste the layout.

There's also some new example projects to check out, including a stealth game example with some fairly sophisticated logic. As ever there's also a batch of other bug fixes and changes. Happy testing!

Like this Release?

Let us know with a thumbs up!

58
Launch r212

New Features

39 favourites
Scene graph actions for runtime (add child, remove child, remove from parent)

New Additions

28 favourites
Project Bar: cut/copy/paste for layouts, object types, families, scripts, files, timelines and eases
27 favourites
Project Bar: can now use keyboard shortcuts for copy/paste
24 favourites
Three new examples: 'Audio player', 'Gallery swipe gesture' and 'Stealth game example'

Changes

17 favourites
Project Bar: pasted items are now selected
9 favourites
Cloud Save: show "awaiting authentication" message in dialog as well as in status bar

Bug Fixes

8 favourites
Project Bar: could not paste if 'Use in-app clipboard' enabled in settings
7 favourites
Error exporting with advanced minification when using Move To behavior (regression r211)
12 favourites
Tweens & Timelines: fix angles interpolation (regression r211)
8 favourites
Animations editor: crash closing the editor after editing an individual tile while UI animations are disabled (regression r211)
8 favourites
Layout View: show the correct animation frame when previewing a timeline using the "Initial Frame" property
7 favourites
Layout View: timeline editing mode highlighting not shown on instances using the "Initial Frame" property
9 favourites
Timelines: incorrect playback speed when stopping and playing on the same tick
6 favourites
Tilemap bar: dropping a tsx file on the bar not populating the corresponding field in the load dialog

SDK updates

9 favourites
Allow boolean properties in Cordova plugin variables

Share Construct 3 Release r212 Now

  • 33 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • First test run with the actions. I added 2 sprites and put a drag n drop on the first one. Then in the event sheet i did a "on start of layout" Sprite 1 -> add child (sprite 2). And when i ran it, the second sprite didn't follow the first one.

      • [-] [+]
      • 1
      • DiegoM's avatar
      • DiegoM
      • Construct Team Construct 3 Developer
      • 1 points
      • (0 children)

      I did a quick test and it seems that it doesn't work if both instances are of the same object type. Will look into that, will likely get it fixed for the next beta.

      If each instance is of a different object type it should work doing what you described.

      • [-] [+]
      • 1
      • Fib's avatar
      • Fib
      • 1 points
      • *
      • (0 children)

      It worked for me just fine if you use 2 different sprite objects.

    • justifun, you need to set add child to the sprite with the drag and drop behaviour.

      I did a quick test and it works fine on my side.

    • If you run in to a bug or issue in Construct 3, please post it to the GitHub issue tracker here:

      github.com/Scirra/Construct-3-bugs

      You must follow the bug report guidelines or your issue will be closed without investigation.

  • Thanks for the great scene graph work! When appropriate, please add SDK and event script support for the new features, so we can create scripts and behaviors to extend it for specific applications / use cases.

    • [-] [+]
    • 4
    • Fib's avatar
    • Fib
    • 4 points
    • *
    • (0 children)

    Yay! Thank you for starting the scene graph. I'm super pumped to see it in action!

    Also thanks for starting with the runtime part. I know editor stuff will come later but the runtime is the most powerful part of it.

  • Ashley this is a great addition, thanks!

    Actually this really made my day since its extremely useful for complex User Interfaces.

  • wow.. major update, nice!

  • If sprite object is getting constantly more features, would it not be simple to make: Simple sprite, for performance; and Advanced Sprite object for complex manipulation.

    If features have on-demand memory load, then even if single sprite uses it, then are all objects affected or just 1 instance?

    Sprite is base building block for almost everything, while developing it, there should be some vision how it should be or how base building blocks are handled?

    Like blank sprite, collision sprite, advanced collision sprite, complex one, one with advanced shader effects/or different shader properties built-in etc.

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

      In general we aim to make sure features have no significant performance overhead, so this update should not cause any performance problems. Also splitting a sprite in to two variants could have serious usability problems - for example what if you need to switch from one to the other? How do you choose which you'll need in advance if you aren't sure which features you'll end up using?

      • I always thought that Sprites could be like an arduino plate. You keep adding mods to it to fit your needs, but it all starts blank. I don't think it should be several types, but rather this one "moddable" type.

        EDIT: Almost like we already do behaviors, but with deeper control.

        Load more comments (1 replies)
      • Good, that there are tests to keep base building block at good health.

        Considering usability, I don't think there is serious impact using them. There could be only high impact maintain them, while still developing them.

        Same with functions, you could do without them, but at some point switch to them for better usability.

        Choosing advance is always bad, you start with base object and start to replace and switch them in case you need more and different features. When user has used object even once, he already knows how he can use it later. Basic use-learn is everywhere around us.

        Sprite categories like: apparance, web, collision, animation, scene-view could indeed be, if possible, modules to be added by click? Or remove them. Something similar was added to scripting etc, to save memory.

  • This release is superb.

    Hopefully the Scene Graph feature will also be applied with Containers too, or something of the like.

  • Ashley, Any chance there is going to be a blog post highlighting the future of the scene graph features? Great feature and looking forward to see how it progresses!

  • I must have missed something huge because I have no idea what a "scene graph" is supposed to be.

    I know you'll add info to the documentation when all is in place or you have a new stable release, but could you summarize what such a feature is, please?

  • guys how I can implement Admob mediation.

    it needs an SDK!!!

  • Load more comments (14 replies)