|
Post by De Lírios on Jul 20, 2014 2:08:17 GMT 1
Browser Link:aboutmybrowser.com/JHvLUrM4Steps to Reproduce (uncertain steps):1. Join a game with a round cube and an object enabler running on it. 2. Make sure that there is someone else playing the game when you join. So, that's what happens: if you join the game in the middle of some round (I faced the problem with time rounds and star rounds), where an object enabler is activated, you won't be able to see the specific object/model. While everyone can see and touch the model, you won't see it and probably will pass through. I don't understand logic very well, but let's say that the logic signal is sent to the object enabler when you're out, and due to a synchronization problem, you can't see the model when you join. The signal is not running for you. I believe that's the same bug which used to happens with toggles and object enablers back then in 2012/2013. If you want to test it into some game, try this one: friends.kogama.com/games/profile/98765/The environment is supposed to change after each round. If you join later, there will be no environment until the game resets. Logfile: Attachment Deleted
|
|
|
Post by Jatsu on Jul 21, 2014 4:39:27 GMT 1
Issue:This is due to a flaw in the logic system, specifically when a Toggle precedes a Randomizer. The Randomizer's current state is not synced nor calculated with the joining player, so any current signals after the Randomizer are lost on join. The logic system syncs the current state of Toggles and Timers while joining a game. Either during or shortly after joining, the game calculates the remaining states of the game's logic setup based on states of the Toggles and Timers. However, Randomizers are not factored into this calculation, and this is the main cause of the problem in this thread. Another subfactor of the problem is that any currently active signal that precedes a Toggle or a Timer gets lost on join, which can lead to missing results. Example:After viewing the project that was linked in this thread, the particular logic setup used in the game is: Pressure pad -> Toggle -> Randomizer -> Object Enabler So when the new player joined, they received the state of the Toggle. However, because the Randomizer isn't factored, the state of the object enabler is lost - hence why new players initially see an empty game until it resets. Solution:The basic solution is to add a Toggle for every event path after the Randomizer to save the current state of the Randomizer. This ensures that when a new player joins, that they sync with the correct event despite the Randomizer being ignored in the factoring calculation. However, this leads to a nasty problem with logic reset which requires an even further solution. For some unknown reason, any Toggle behind the Randomizer while reset ( video link) has a chance to fire twice during a logic reset causing the proceeding Toggles to reactivate and screw with the system. For this reason, all signals behind the Randomizers must be suppressed to prevent any unintentional misfires. My solution for this thread's problem is: | ~~~~~INPUT~~~~~~| | ~~~~~~~Suppress Condition~~~~~~~| | ~~~Event Selector~~| Pressure pad / Pulse Box -> Toggle --------------------------------------> And -> Randomizer -> Toggle(s) -> Object Enabler \ -> Timer -> Toggle -> Negate / Additional Details:I performed additional tests to be able to affirm that it's only Randomizers that aren't being factored. Negates, ANDs, Timers, and Pulseboxes that followed a Toggle are all calculated correctly when a Toggle's state is relayed to the joining user. It is only the Randomizer that doesn't keep its current state. Source: Puzzle Me 5, I experienced the same problems until I found the above solution. TL;DR: It's a syncing problem, but caused by how the logic system factors the randomizer on join.
|
|
|
Post by Daniel Everland on Jul 22, 2014 10:22:58 GMT 1
Am I wrong when I say we've seen issues like this before? I could've sworn this was investigated before, but I can't seem to find it in our database.
|
|
|
Post by Jatsu on Jul 22, 2014 13:49:33 GMT 1
I'm unsure to which issue you're referring to. There's three related reports I've made, - The Randomizer's seed is constant and therefore its randomness is limited to how a creator connects it to events.
- Joining players don't load current signals. I found that this now applies especially to signals after Randomizers, in addition to any signal preceding a Toggle or Timer.
- There's also flaws in logic reset that cause it to misfire when active signals are present in a logic system.
Are any of these what you're referring to? If not, I'll try to elaborate on whatever the problem is.
|
|
|
Post by Daniel Everland on Jul 22, 2014 15:02:38 GMT 1
Cheers, it was the second one I referred to. I'll update that with the new information and give both of you a point towards reported bugs. Good job, guys
|
|