Important - code being run as if there multiple copies of the sprites
-
Hello. I am here to report a bug which is causing massive issues on my World of Conquest game.
The center of this bug is in the sprite which controls all the audio and visual effects for rainy weather. Here is the code for context:
The code runs normally when the “start game” command is sent in any weather conditions "weather is used as the variable for the weather effects. It is randomly determined each game if the weather in the previous match was sunny.
However, the minute that Rain or Cyclone weather occurs in 2 of the total matches in one session, it seems like the scrips are being run as if there is so much copies of it. I’ve done troubleshooting to see if the raindrop clones was doing this, seeing if the layout of the code was causing it, but to no probable results.
Thus, I concluded this is an editor bug, and there isn’t any way to fix this directly using code in the editor. I’d like this to be fixed as it impedes development.
-
Can you please try to confirm the issue? You can add some “print to console” blocks to confirm if there are indeed many copies of the sprites that are running.
If that’s confirmed, can you share the project link and a method to reproduce the issue? We will fix that ASAP.
-
@info-creaticode I will. Upon update release, it will be avaulable for you to study and find the issue. During the game trials, I will run console blocks to further confirm the issue.
-
@info-creaticode After doing some trials with the console blocks, it is indeed a editor bug.
I studed the rate at which the console imput “yes” (shows the frequency of a raindrop being cloned and the frequency at which the rain ambiance sound is repeated) at around the same ratio as the “wait # seconds” used in each of the forever loops.
Upon getting another rainy event later on, the bug then occurred. When comparing the rate at which console inputs are logged before and during the bug, the console logging frequency during the bug, after doing some math, has increased by almost 8 times than before the bug occurrence. Therefore this confirms that this is a problem in the editor.
To recreate this bug, just simply keep playing the game until you get 2 instances of rainy weather. Upon the 2nd instance, the bug will occur. It should take between 2-5 matches to get 2 rainy or stormy weather occurrences.
-
Picture for ref
-
Can you share the project URL?
And to clarify, is this the bug: When a new clone is created, more than 1 clone is created?
-
@info-creaticode It’s like the scripts themselves are being cloned. I confirmed that the clones themselves aren’t the problem when I was troubleshooting. It’s when the code is run when there was a previous rainy event.
I don’t really know the exact cause of what’s causing the code to do this, I only know how to make the code do this and rule out possible causes.
-
@sirbots Here is the link to the game:
-
@sirbots I think this has been happening to me also, my code for my project when making 1.05-alpha-release was running multiple times. This could be a bug or could be an issue with my device.
-
Thanks for the link. This is a fairly large project, and it is hard to say if the issue is in the system or in your code.
As you should already know, when you make a clone, its script is copied, so that’s expected. Are you seeing more than 2 clones when it should only generate 2 clones? For example, if you add a “print” block whenever a new clone is created, do you see many such print logs or just 2?
-
@info-creaticode When clones are made, that clone only runs code under a “When I start as clone” In this case the only such instance is to control the rain effects. everything else is to make the clones and for audio effects, which are not under a “when I start as clone” I had previously shared the code which controls the weather effects for reference. It’s like those scripts are being treated as the aformenteoned when I haven’t written in that way.
-
That’s not entirely true. When you broadcast a message, all clones would respond to that message.
-
@info-creaticode How can they respond to that message when clones do nothing unless there is code under a “when I start as clone” block in that same sprite? To back this up, my AI would also be doing the same if that logic was true, thus that would also be broken.
-
Not sure if we are talking about the same thing. This is an example of clones responding to messages even though there is no code for “when I start as a clone”:
It is shared here:
play.creaticode.com/projects/68c44068f8e2996ebfb5e1d0 -
@info-creaticode No, thats not it. I’m talking about the possibility of the scripts duping themselves. It doesn’t happen the first time, but it does it again on the 2nd instance.
-
OK. All clones come with a copy of the scripts. It is not clear what you are referring to. Can you make a simple example to illustrate like what I did? Thank you
-
@info-creaticode It would be rather hard to do so.
This is the best I can do.
Look at the code I provided for reference at the start and study it.
Then, play the game until you get either rainy or cyclonic weather at least twice. On the second attempt, that bug will occur. I can’t really explain it well with words or pictures, its a see it for yourself kinda thing. Once the bug occurs, then it should be more understandable.