Announcement: Be excellent to each other.


Caravel Forum : DROD Boards : Bugs : Bug involving briars (and possibly other stuff)
New Topic New Poll Post Reply
Poster Message
Jacob
Level: Smitemaster
Rank Points: 3746
Registered: 10-01-2004
IP: Logged

File: Bug.hold (852 bytes)
Downloaded 53 times.
License: Public Domain
icon Bug involving briars (and possibly other stuff) (+3)  
I accidentally discovered this behaviour in a room I was making (in 3.0). I tried to replicate the behaviour in a simpler room (otherwise I'd have had to write a walkthrough of the room to get to that point).
This is the simplest room I've managed to reduce it to. It seems to require briars, speed potion, gel and the conquer token, but may be derived from some simpler behaviour requiring fewer elements.
Anyway, go NW twice, kill the tar babies and step on the conquer token. Then UNDO. Beethro jumps back to a position that never happened and dies. If you double undo (in the editor, unless you have UU enabled) you will correctly go to where he was 2 moves ago, ignoring his intermediate death!
Very bizarre.

____________________________
New to DROD? You may want to read this.
My Holds and Levels:
Click here to view the secret text


[Last edited by Jacob at 08-04-2007 11:21 AM]
08-03-2007 at 07:58 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Kwakstur
Level: Smiter
Avatar
Rank Points: 385
Registered: 05-05-2006
IP: Logged

File: Lampmans bug.zip (2.7 KB)
Downloaded 40 times.
License: Public Domain
icon Re: Bug involving briars (possibly requiring gel,speed potions AND conquer tokens) (0)  
I think you win the prize for "Most incredible/inexplicable glitch ever."

That being said, I'm still trying various ways to modify the room to see if it still works. But it seems like, no matter how you do it with the current configuration, it works, but if you change the room at all, it won't work.

Never mind. Once again, before posting, I figured out something: It only works if you and the briars cut the gel at the same time! As long as all the gel dissapears in one go (safetly), it works. Try modifying it and see.


EDIT: See this and the two demos. There is another glitch, where it doesn't fully undo; some briars unmature, but it doesn't go back. Follow both demos and press undo after each.

EDIT AGAIN: The file won't attatch when I edit. Doesn't it allow zip folders?

EDIT AGAIN AGAIN: Apparently, you can't have an apostrophe in a file name. Attatched.

____________________________
Also known as ExpHP everywhere else.

[Last edited by Kwakstur at 08-03-2007 09:26 PM]
08-03-2007 at 09:17 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
TFMurphy
Level: Smitemaster
Rank Points: 3118
Registered: 06-11-2007
IP: Logged
icon Re: Bug involving briars (possibly requiring gel,speed potions AND conquer tokens) (+2)  
It has to do with the following apparent bugs:

1) Briar roots that are connected through 'stagnant' briar (already placed briar on Turn 0, or briar that is later forcefully cut off from its root) don't seem to work properly when they grow and thus connect (converting all the 'stagnant' briar into living briar). In this case, only one briar root will mature an immature briar after growth. You can check to see if briar roots are considered properly connected by left-clicking on them - if they don't give you a root number as well as a turn count, then they're not considered connected to anything.

EDIT: This is apparently only occurring with some formations of briar, and I haven't quite yet found any defining pattern or reason why. It's not affecting all briar formations, anyways.

EDIT 2: After further research, I have a feeling that the condition is that a briar root needs to be fully surrounded by briar that is part of another briar patch, and the root hasn't yet fully merged with it. In the case of Turn 0 stagnant briar, this occurs when the first root converts all the briar, but the other roots find themselves surrounded by the first root's claimed briar and can't convert any immature briar this turn.

2) Closing those green gates on the briar overrides this, and somehow, the roots decide they are connected properly for the next growth (which happens before the gates actually close).

3) Undoing from this state uses the more mature version of the briar in #2. In some configurations, those extra mature pieces could easily be enough to have a briar grow a turn early, resulting in Beethro's early demise.

Speed Potions, Gel and Conquer Tokens are unnecessary to see this bug. It's all down to briars, I'm afraid. The green gates are only helping us see it by showing a difference between demostate and gamestate.

[Last edited by TFMurphy at 08-03-2007 10:17 PM]
08-03-2007 at 09:42 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Kwakstur
Level: Smiter
Avatar
Rank Points: 385
Registered: 05-05-2006
IP: Logged
icon Re: Bug involving briars (possibly requiring gel,speed potions AND conquer tokens) (0)  
So why does Beethro appear on top of the briars? The things with the briars becomming immature instead of disappearing seems to always happen in this room (in both of the things for my version of the hold), but under certain circumstances (which, in this room, is when the gel is cut by both the briars and beethro at the same time), not only will the briars not fully undo, but Beethro is warped back 3-4 tiles, right onto the bulk of them!

____________________________
Also known as ExpHP everywhere else.
08-03-2007 at 09:51 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
TFMurphy
Level: Smitemaster
Rank Points: 3118
Registered: 06-11-2007
IP: Logged
icon Re: Bug involving briars (possibly requiring gel,speed potions AND conquer tokens) (+1)  
An undo restarts the room and plays your movements again, like a demo, until it reaches the move just before your last one. If there's a problem with this demo, however, then Beethro will end up doing strange things. In this case, the briar caught up with him a turn early, and in the saved demo, he didn't move out of the way in time. Thus: death.

This is similar to the problems between demostate and gamestate when looking at the Master Wall issues in another topic - certain things break demos. And usually, if they break demos, they break undo as well. In this case, I don't think it necessarily breaks demos... but it might break the periodic saved roomstates the undo feature creates so that undo doesn't take as long as it could.

Altogether, it's a very strange bug, but the primary cause of it all is briars.
08-03-2007 at 09:56 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Jacob
Level: Smitemaster
Rank Points: 3746
Registered: 10-01-2004
IP: Logged
icon Re: Bug involving briars (possibly requiring gel,speed potions AND conquer tokens) (0)  
Very interesting and very odd. Thanks for the analysis.
I'm not too sure I fully understand this behaviour, but hopefully mrimer and the rest of the team do!

____________________________
New to DROD? You may want to read this.
My Holds and Levels:
Click here to view the secret text

08-03-2007 at 10:17 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
TFMurphy
Level: Smitemaster
Rank Points: 3118
Registered: 06-11-2007
IP: Logged

File: DROD Briar.patch (880 bytes)
Downloaded 39 times.
License: Public Domain
icon Re: Bug involving briars (possibly requiring gel,speed potions AND conquer tokens) (+4)  
Okay, put together a patch for the first part of this issue. Well, I see it as an issue, anyways: it's not intuitive and very difficult to predict it'll happen - connecting briar shouldn't prevent a briar from taking its maturing turn.

Explanation of patch: Originally, when a briar is considered 'stuck', it's also considered 'done' with its turn. However, briar that belongs to another root is also considered an obstacle to briar growth until the two groups are joined. Group joining only happens after briar growth is considered, and if the briar was considered stuck before, it's now unstuck. However, it's still 'done' with its turn, which it shouldn't be since it now has a whole set of other briar tiles for it to check.

As such, I have removed the automatic "if stuck, briar is done with turn". Now, it waits until all merges have been done, and then if the briar is still stuck after that, only *then* is it done. Otherwise, it can go back and check if there's any edge tiles that need looking at, and if needs be, expand *again*.

Note: This *will* break some rooms. I've already found one of mine that's affected, simply because I had two roots growing together, and at *one* point, the first briar growth 'obstructs' the second. Threw the timing of the room right out, so if we go with this patch, I'll have to retime it. I don't mind doing that for my own rooms, of course, but I can't say what other rooms it will break.

Basically, any briar room that requires perfect timing and has multiple roots may become broken by this patch. Of course, it won't be the first time a change to briars has broken rooms, but fair warning in advance. Also, again, this is only if this particular quirk of briars gets fixed - if it doesn't, then you don't have to fear any change. But I still think it's a bug.

Finally, this does not do anything about the perceived problem with undo. I don't know what's causing that. I do know that Jacob's example hold no longer bugs, primarily because Beethro now dies when he should (I can't clear the gel in time, so the death is always like it was supposed to be). But whatever the root issue of that was, I don't know, and it might be worthwhile tracking it down. But I think it's possibly a bit beyond my scope.

Hope that helps.

[Last edited by TFMurphy at 08-03-2007 11:23 PM]
08-03-2007 at 11:18 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Jacob
Level: Smitemaster
Rank Points: 3746
Registered: 10-01-2004
IP: Logged
icon Re: Bug involving briars (possibly requiring gel,speed potions AND conquer tokens) (0)  
TFMurphy wrote:
Basically, any briar room that requires perfect timing and has multiple roots may become broken by this patch.
Quite possibly a whole level of my hold.

TFMurphy wrote:
...But whatever the root issue of that was...
Very punny.

____________________________
New to DROD? You may want to read this.
My Holds and Levels:
Click here to view the secret text

08-03-2007 at 11:32 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
CuriousShyRabbit
Level: Smitemaster
Rank Points: 3170
Registered: 10-14-2006
IP: Logged
icon Re: Bug involving briars (possibly requiring gel,speed potions AND conquer tokens) (+1)  
Almost all of the rooms in the Under the Library level of TCB have briars with multiple roots that merge as time goes on. None of the rooms require perfect timing, but some are still pretty tight, especially for newer players. Is Under the Library still a medium-difficulty level with the proposed patch?
08-03-2007 at 11:53 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
TFMurphy
Level: Smitemaster
Rank Points: 3118
Registered: 06-11-2007
IP: Logged

File: Briar Race.jpg (122.7 KB)
Downloaded 75 times.
License: Public Domain
icon Re: Bug involving briars (possibly requiring gel,speed potions AND conquer tokens) (+4)  
It's very difficult to say. Very difficult. I test my 3.0.2 builds with the demo, so it'd take me a while to copy across my full data files and test those. I'll see what I can do there.

Not all of Under the Library is affected. The requirements are very stringent: not only do we need multiple roots, but to activate the current bug, when two roots connect, the root that grows first has to completely envelop or block the second root with its growth. If the second root has no immature briar of its own to mature during its turn, then it's a wasted turn, and that *will* impact things. (Edit: Oh, and remember the stagnant briar on Turn 0. If multiple roots are connected on Turn 0 through briar, then it's highly likely that the first root to expand that briar will block the other roots on this turn - this is what broke the River Dugan demo for me. This particular case happens a lot more often than others, and that's what can kill precise timing. This doesn't affect multiple roots connected directly at the root though - again, simply click on the root to see if they're already connected when Turn 0 starts.)

I think 2N4W may be affected by this, but as said, I'll need to get my data files moved across to be sure if it's still completable. I'll bet some demos will be dying there though.

EDIT: 2N4W is indeed affected, but not unbeatable. My #2 Tie score of 89 moves dies though. The 90 move solution works.

EDIT 2: Another room affected is River Dugan 2S2E (breaks demos, but I don't *think* it's unbeatable - I lost because my Fegundo died too early). I think I've now checked all my demos - none of the rest seem broken, except Holding Vats 3S4W (which is broken by the *other* 3.0.2 Briar change, but still beatable... just much more annoying to do so now). Also, I successfully escaped from the Library on return trip, so that doesn't seem like a problem. So not as damaging to TCB as it could've been.

EDIT 3: Oh, and for those of you who'd like to see just how unintuitive it currently is, I took a quick screenshot of a test room. The challenge for you is simple: guess which turn the two brains die on.

[Last edited by TFMurphy at 08-04-2007 04:01 AM]
08-04-2007 at 12:09 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5058
Registered: 02-04-2003
IP: Logged
icon Re: Bug involving briars (possibly requiring gel,speed potions AND conquer tokens) (+1)  
TFMurphy wrote:
Okay, put together a patch for the first part of this issue. Well, I see it as an issue, anyways: it's not intuitive and very difficult to predict it'll happen - connecting briar shouldn't prevent a briar from taking its maturing turn.
...
Basically, any briar room that requires perfect timing and has multiple roots may become broken by this patch. Of course, it won't be the first time a change to briars has broken rooms, but fair warning in advance. Also, again, this is only if this particular quirk of briars gets fixed - if it doesn't, then you don't have to fear any change. But I still think it's a bug.
Yikes! Yes, that's definitely a bug that needs fixing. Thanks for the patch -- it looks great. Briars are a quirky element, so I think it's important that we fix all these things together in the same patch before the public 3.1 TCB release. Thank you very much for the analysis of what TCB rooms would be affected and in what way. The new behaviors sound acceptable without modifying any rooms.
Finally, this does not do anything about the perceived problem with undo. I don't know what's causing that. I do know that Jacob's example hold no longer bugs, primarily because Beethro now dies when he should (I can't clear the gel in time, so the death is always like it was supposed to be). But whatever the root issue of that was, I don't know, and it might be worthwhile tracking it down. But I think it's possibly a bit beyond my scope.
Yeah, I've seen this bug happen since before TCB's 3.0.0 release and it's bugged me but I've never been able to track it down. Now with a hold that can reliably reproduce the issue, I hope I can finally squash it. It looks very obscure. Stay tuned...

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.

[Last edited by mrimer at 09-08-2007 07:08 PM]
09-08-2007 at 06:16 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5058
Registered: 02-04-2003
IP: Logged
icon Re: Bug involving briars (and possibly other stuff) (+2)  
Jacob wrote:
Anyway, go NW twice, kill the tar babies and step on the conquer token. Then UNDO. Beethro jumps back to a position that never happened and dies.
I've found the cause of this and fixed it. Now undo in rooms with briars should work correctly.

<dev stuff>bRecalc wasn't being reset when CFlow::clear() was called, causing the initial briar state to not be the same on undo as when the room was originally loaded.

P.S. In the code, I'm going to rename the briar classes to CBriar*.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.

[Last edited by mrimer at 09-08-2007 07:10 PM]
09-08-2007 at 07:07 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Briareos
Level: Smitemaster
Avatar
Rank Points: 3516
Registered: 08-07-2005
IP: Logged
icon Re: Bug involving briars (and possibly other stuff) (0)  
mrimer wrote:
I've found the cause of this and fixed it.
Hey, no wasting a good pun in these parts of them internets - go ahead and say you've found the root cause... :P

np: Kraftwerk - The Robots (Minimum-Maximum (Disc 2))

____________________________
"I'm not anti-anything, I'm anti-everything, it fits better." - Sole
R.I.P. Robert Feldhoff (1962-2009) :(
09-08-2007 at 07:36 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
Jacob
Level: Smitemaster
Rank Points: 3746
Registered: 10-01-2004
IP: Logged
icon Re: Bug involving briars (possibly requiring gel,speed potions AND conquer tokens) (0)  
Jacob wrote:
TFMurphy wrote:
...But whatever the root issue of that was...
Very punny.

____________________________
New to DROD? You may want to read this.
My Holds and Levels:
Click here to view the secret text

09-08-2007 at 07:52 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
New Topic New Poll Post Reply
Caravel Forum : DROD Boards : Bugs : Bug involving briars (and possibly other stuff)
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.