New release ๐Ÿƒ Gotta Go Fast Edition

I just deployed a new update to the engine, focused on performance. Hereโ€™s whatโ€™s new:

In View

A new trigger behavior that activates any time an object enters or leaves the screen. This can be used to disable expensive behavior logic that doesnโ€™t need to run when the object cannot be seen.

Collision merging

Objects that meet the following critera:

  • static
  • no behaviors (and no parents with behaviors)
  • rectangle collision shape
  • not targeted by behaviors (e.g. collision checks)
  • and are the same type

All get merged together into larger rectangle collision shapes when playing. This means fewer in game objects (better performance) and it also means smoother floors so less snagging and catching on corners and edges.

Proximity Block

This is no longer a trigger, and has been moved to the Components section. It must now be activated manually, like Raycast. It has also gained a new input for changing the distance during gameplay.

This change is because Proximity checks can use a lot of CPU resources, and running them every frame is a major cause of lag in the games I have investigated.

New Tool: Display Performance Metrics

(This is available to upgraded accounts only)

Turn this on in the game settings, click the โ€œAdvancedโ€ button. It displays:

  • Frame rate
  • Number of Objects
  • Number of โ€œSmartโ€ Objects (with behaviors)
  • How long it takes per frame (average) to calculate the physics updates
  • How long it takes to run all behaviors

It also breaks down the individual behavior times, and will indicate which ones are the biggest contributor to lag. (You can see in the screenshot that the Proximity is a major problem in this instance, as well as Raycasts)

Various Fixes

  • Fixed occasional missing friction on bottom of capsule
  • Fixed crash in Text Length
  • Fixed crash in Expression block
  • Fixed crash in Link rendering
15 Likes

This is a really great update. I remember suggesting collision merging a few years ago and never thought it would be possible, so props to you. :smiley:

4 Likes

This is awesome! There could be so many new game ideas! :grinning:

Iโ€™ve been hoping for the day that Proximity would be a component. :pray:
But the Performance Metric is really great for finding the source of the problem of lag!

And Escape the Rewind has been optimized for the collision merging with debug test, so
NO MORE FLOOR SNAGS!

This also helps for for players set to Rectangle hitboxes.

4 Likes

@grazer I am really sorry for @ ing you but why is mailbox no longer in UI objects?

2 Likes

Yes, I noticed that for destroyer as well

2 Likes

I practically need it for my fade system

If you want to continue this in another chat I think I can help you, @sans7657

wdym another chat, like a dm or another disscusion?

Ok that is cool GOD THE 20 limmiiiitttt

20 limit?

1 Like

Yeah, I just saw that the Mailbox behavior is gone too. Maybe this is an error?

1 Like

He was talking about the 20 character limit.

Man now I really wanna be on the editor againโ€ฆ canโ€™t wait!

I know

If you all use a Global behavior instead it should be fine enough

2 Likes

Did you mean to @ me @Caden9?

Yeah, but I feel that using Mailboxes are much more simple to use, and they output immediately after the message is sent/received.

2 Likes

True, and no, I did not, @meburningslime

2 Likes