It’s only curiosity, for know a bit more about the logic system of GD. I would like to know the difference when you use extra events, that you could minimize. The principal reason is because in the condition Other ==> f(x) compare two expressions, the equal (=) symbol doesn’t work (I tried to do 5=5 in the comparisson and didn’t work, also I tried ==, I didn’t wait it works).
What is the difference to do:
f(x): if 5 = 5
f(x): if 5 != 5 (invert the condition)
? This second works
I suppose that, in one event, you’ll not found difference, but if you repeat this process, I don’t know… 100 times, what happen with the game speed, and the memory.
Others examples are:
Use condition Advanced ==> Not and invert the condition under it
Use the same condition twice
Variable Pos_X = 3 Move Object to 0;0
Object is visible
Variable Pos_X = 3 Move Object to 5;5
Object is not visible
Instead of use sub-events
Variable Pos_X = 3
...Object is visible Move Object to 0;0
...Object is not visible Move Object to 5;5
Concerning the memory, there is no difference. Concerning the speed, the difference should not be noticable, even if inverting the condition is maybe slightly slower ( In the generated code, there will be an extra operator ( ! in C++ ) ) but again, the difference will be negligible ( Inverting a boolean is really fast, even if you do it in a large scale ).
Contrary to a simple boolean inversion, as done most of the time when a condition is inverted, the advanced condition will generate a bit more code. Moreover, some conditions are specially coded to handle the inversion as a special case ( Like the collision condition. If it is inverted, it will pick only objects which are not colliding with any other objects ). If you’re using Condition Not + Invert the condition, you could get unwanted results.
Concerning the sub events and the example you gave, the second version ( i.e. using sub events ) is far better as the condition “Variable Pos_X = 3” will be evaluated only one time instead of two. This is especially true when you’re using a lot of events with the same conditions : Try to use as much sub events as possible to gather the same conditions. It will make your events more structured and faster.
If you’re using conditions like collision which are time consuming, you can get a performance boost by using sub events instead of a list of events with similar conditions. ( You can use the profiler to see the events which are the most time consuming ).