i was using containers as an explanation for how simultaneous objects should be created in general, not for your example. trust me, containers are GREAT, and they lower the amount of coding. also, when it comes to your example, i don't see the problem. random 1-3, have a var which defines what is 1,2,3, spawn depending on the number. also i was talking about design in general.
that's not true. during my time of development with c# / c++ i've noticed a lot of things that don't work as expected and need workaround because computers calculate them differently. the same is with this wait thing. you either accept it, or leave it. you will see much more trouble with unity / ue4 / any engine. but it all depends how masochistic you are
to work your ass off on something. and in the end it all comes down to learning how computers work, how interpreters work, how compilers work, to just fix that ONE bug.
of course it's not impossible that something relies on something else. but you used "on created" that was connected to another "on created" that was calling a function that does something. you can't do that in 1 tick since you've got a chaining of events. that's why wait (0) stops the chain before calling function for 1 sec so that the objects are completed and then continues from there to get the right values and print them out.
i'm pretty sure you don't know what happens, and how c2 engine works.
Sorry Saiyadjin, but you speak to me like you assume that I have no clue how C2 works, which of course is fair enough if that's how you see it. But I did make you aware of this issue in the first place, which is known by Scirra, that it is designed that way. Why I asked about it in the first place. I fully respect if you do not see a problem with this, but that doesn't make it go away. And I made a simple example of how and when it happens, not because I was trying to show good design, but to explain the problem to those people, including yourself that related this issue to being maybe about the UI. If you have never used a wait() in your code to solve varies issues even though you knew it was bad, then I fully understand why you haven't noticed this.
Besides that im not comparing to other software solutions and whether they have problems or not, because its of no concern to me. But if you have experience with C++/C# you know just as well as me, that you would never solve problems with creating objects by throwing in waits(). So why you would even compare those with C2, im not sure of.
Besides that you have moved from my initial question, which I have no clue why you would even argue against in the first place, that if objects could be created so they exist instantly, that it wouldn't be better than having to wait? to how I made the example, which shows the problem and then explain to me, what happens in it? Since I made the example, im well aware of what it does, again it weren't made to show good design, but to show where the problem occurs and in what situations. And if you can solve it some other way under the same conditions that I put up, then I would be glad to see it and learn from it. But still why defend how it works now, if it can be changed in C3 so this wouldn't even be an issue, since this is a part of the core of how C2 works, it would make sense to change it for C3 if possible, which is why I asked the question and not to be shown 10 examples of how to use waits for varies things, that have nothing to do with what this is about.