Try the new Construct 3 runtime

15
Official Construct Post
Ashley's avatar
Ashley
  • 24 Sep, 2018
  • 963 words
  • ~4-6 mins
  • 6,503 visits
  • 0 favourites

Back in April we first released an alpha of a brand-new runtime for Construct. This has been completely rewritten from the ground up and brings huge performance improvements and major new features to your games!

Initially this was an alpha-quality feature for testing and you had to enable a special setting to try it. However over the past few months we've been working hard to finish all the features and fix any issues that came up in testing, including dealing with around 80 issues reported by testers. The new runtime is now feature-complete, and robust and compatible enough to run real-world games. Accordingly we feel it's ready to advance from "alpha" to "beta" stage. So as of the latest stable release r120, the new runtime is now available by default! Since we think it's ready for a broader audience you don't need to change any settings any more - you can simply opt-in to using the new runtime by changing a setting, and we encourage you to try it out.

How to try the new runtime

You can switch your project to using the new runtime with the following steps:

  1. Click the project name in the Project Bar to display project properties.
  2. Scroll down to the Advanced section and expand it.
  3. In the Runtime property, click the dropdown and select Construct 3.

If your project uses anything that isn't supported by the new C3 runtime, such as a third-party addon that has not been ported yet, you'll be notified when you try to change the setting and you won't be able to use the new runtime yet. However if everything is supported, you can switch back and forth between the runtimes at will - so you can easily switch back if anything isn't working right.

Once you're using the new runtime, some new features will appear in the editor which you can try out. Note that if you start using these in your project you won't be able to switch back to the old runtime unless you first remove them.

If you run in to any new problems with the C3 runtime, please file a bug to let us know about it, and try to follow the bug report guidelines to make sure we can help!

New features in the C3 runtime

We've done loads of work to make the new runtime faster and more powerful, with new features, and a better codebase that is easier for us to maintain. Here's a list of everything new, including links to our prior blogs on some features:

  • Massive performance improvements, including much faster events, a new expression compiler (later optimised further), lower engine overhead, faster effects, faster tilemap rendering, faster startup and layout switching, faster pathfinding and WebAssembly-powered physics
  • Use BBcode to style Text and SpriteFont objects including typewriter text and other text animations
  • A new Color filter property for most objects, providing a high-performance built-in tint effect
  • A brand-new debugger for the new runtime, with a new GPU profiler, better CPU profiler, screenshot tool, support for breakpoints in loops and triggers, and local variables and loop inspectors
  • A range of new plugins including Platform Info, Game Recorder, Speech Synthesis and Speech Recognition
  • Reduced memory usage for large projects, and new features to control memory management from events
  • A significantly modernised codebase built for the modern web platform with an improved architecture, making it easier to maintain and add new features, also sharing much code with the editor for easier development
  • Many other improvements including a new viewport-stable Lens2 effect, rotatable 9-patch, audio latency setting, and more

And we're just getting started! We have many more features in the works for the new C3 runtime.

Next steps

We'd like you to try the new runtime and see how it works for your projects! Currently everything will remain using the old runtime (the C2 runtime) unless you opt-in to the new runtime by changing the project Runtime property. However we intend to make the new runtime the default in the near future. So you can get a head-start on this change by switching over now.

In the long-term we'd like to eventually deprecate the old runtime, especially since we are a small team with limited resources. Maintaining multiple codebases takes up a lot of development time which slows down things like building exciting new features that lots of people want. However we're aware that many users have big projects that may not be able to switch over to the new runtime for reasons out of their control, such as relying on third-party addons only available for the C2 runtime. So we will keep maintaining the old runtime, but mainly with bug fixes only - all new feature work will only be done for the new C3 runtime. This is another reason to switch over if you can!

We won't switch existing projects over to the C3 runtime automatically, since this might break them. However later down the line when the new runtime is more mature, Construct might start showing prompts to switch to the new runtime if your project is compatible. Ideally we can have as many users as possible using the new runtime so they can get the benefits, and reduce the maintenance work that needs to be done on the old runtime.

Conclusion

The new runtime is a major milestone in the development of Construct. It leaps ahead in performance and already has significant new features - and we're just getting started! We have plenty more on the way, so keep an eye out for future updates.

Our main task from now on is to fix any last bugs and then start switching as many projects as possible over to the new runtime. So give it a go today!

Subscribe

Get emailed when there are new posts!

  • 18 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • We're going to need a guide on how to fix the following error, as I'm heavily using the Rex_Hash plugin... I can only assume some devs will not be updating their plugins:

    The runtime of this project cannot be changed to the Construct 3 runtime due to the following reasons:

    Plugin JSON (Rex_Hash) is not supported in C3 runtime

    Behavior Health (Health) is not supported in C3 runtime

    Behavior Health Regen (HealthRegen) is not supported in C3 runtime

  • Congratulations Scirra.

  • Great work, Construct 3 is really coming along nicely!

    I'd like to do a full switch, if it wasn't for unsupported 3rd party addons. Not a lot of 3rd party addon Dev's seem to have the time or motivation to port their addons to the new c3 (and C2.5) runtime yet unfortunately. Judging based on the recently added features, wouldn't surprise me to see those 3rd party addon features as official features in the near future though.

  • Good job!

  • Hi, are you aware of the Construct 3 runtime having issues running in safari? I've published a sample project using that runtime: jmkit.com/c3test and can only see it in Chrome and Firefox

  • Amazing.