0
Declined

Smart Live Validation to prevent embarrassing bugs

Christian 3 years ago updated by Lazlo Bonin (Lead Developer) 3 years ago 1

I've just looked at the ad images for Bolt in the asset store and saw a something that you should make impossible: a bug. The image that proudly proclaims 'Macros & Nesting' shows a bit of visual code where the output is 'dead' when A <= B, and 'alive' when A >= B. So when A = B, it's both alive and dead, or rather, whatever you guys happen to generate code for, i.e. unpredictable. It should be impossible from the interface to connect any node that contains '<' or '=' once the '<=' node is used. Your tool should validate and enable/disable nodes based upon current context.

If you don't you might overlook such a blatant bug, and perhaps even include a silly bug it in your promotional material.

Just a thought.

(Note: I haven't yet purchased our product - just looked at the images and this kind of leaped out.)

Bolt Version:
Unity Version:
Platform(s):
Scripting Backend:
.NET Version (API Compatibility Level):

Answer

Answer
Declined

Hi Christian! Welcome to the community.

D'oh! You're right, I set up that promo screenshot too quickly and included a bug in it. I'll try to have it fixed soon.

However, Bolt cannot do any kind of validation in this case that would reliably predict a mistake.

For example, you could have a graph for another purpose than "alive or dead" that does output two true booleans when the value is equal to zero. Just like the following code is perfectly legal C#:

var x = Mathf.Rand(-10, 10);
var a = x >= 0;
var b = x <= 0;

I don't want Bolt to restrict your scripting possibilities any more than C#, even if it allows for silly mistakes sometimes. However, Bolt does include predictive debugging (validation) for a lot of silly-mistakes scenarios, like null refs, missing components, etc.

Answer
Declined

Hi Christian! Welcome to the community.

D'oh! You're right, I set up that promo screenshot too quickly and included a bug in it. I'll try to have it fixed soon.

However, Bolt cannot do any kind of validation in this case that would reliably predict a mistake.

For example, you could have a graph for another purpose than "alive or dead" that does output two true booleans when the value is equal to zero. Just like the following code is perfectly legal C#:

var x = Mathf.Rand(-10, 10);
var a = x >= 0;
var b = x <= 0;

I don't want Bolt to restrict your scripting possibilities any more than C#, even if it allows for silly mistakes sometimes. However, Bolt does include predictive debugging (validation) for a lot of silly-mistakes scenarios, like null refs, missing components, etc.