Announcement: Be excellent to each other.


Caravel Forum : Caravel Boards : General : Possible Master Wall glitch solution? (On General so I don't make a fool of myself on Bugs)
New Topic New Poll Post Reply
Poster Message
Kwakstur
Level: Smiter
Avatar
Rank Points: 385
Registered: 05-05-2006
IP: Logged
icon Possible Master Wall glitch solution? (0)  
Just throwing this out in the open, but couldn't most master wall glitches be fixed by including an extra variable in each demo that tells whether or not the wall should be down?

I don't know how the game works, but I'll make the assumption that it wouldn't affect existing demos since all the ones that pass over a master wall are invalid anyways.


This could make an issue with the game not being able to find this variable on old demos, so let me try and counter that.

Even though the pieces of the code that I've seen show that variables are stored by name, I could've sworn that C++ is capable of storing variables by location; byte offsets from the start of a file. If so, you can use some location that some old demos already use for something else. But tell the game, when writing new demos, to avoid putting anything else there.


This is kind of risky, and may not even be possible in C++ for the computer. I have no expertise in that programming language (quite inconvenient, as I won't easily get a video game job if I only know certain forms of BASIC), and apparently I was already wrong about one thing that I thought would be obvious.
But if my assumptions are right about how it works, it will corrupt some demos, which is why it's risky.
But I'm guessing that new demos will be fine, while old demos will seem rather random with whether or not the wall is up (as it will depend on seeming unrelated things that merely share the same spot in the memory).

But this will only corrupt old invalid demos. A valid demo doesn't care about whether or not a master wall is down, and they probably don't even have a master wall in the room to begin with.
Even though the game will check for an incorrectly made variable, that variable couldn't possibly have an effect on a valid demo, as an old demo wouldn't be valid if it ever had to use the variable for anything.
However, if there is an old valid demo with a master wall in the room (which could only happen if nothing crossed the wall), then it will remain valid (as nothing depends on the wall's behavior), but it will have unpredictable cosmetic differences since the doors appearance depends on a variable that was defined by an unrelated process.



I'm guessing that this fix will:
1) Allow new demos to be valid while passing over a master wall.
2) Not invalidate old valid demos (but may make some rare demos differ visually, but, if you think about it, does it matter whether or not the door is there in those cases?)
3) Validate about 50% of the old invalid demos that passed over a master wall



I'm probably going to wish I spent less time on this post as, more likely than not, this solution will be shot down by someone who actually knows a thing or two about how this all works.

But I'm just throwing it out there. That is, if a 1000 word post can be thrown.

____________________________
Also known as ExpHP everywhere else.

[Last edited by Kwakstur at 07-31-2007 01:18 AM]
07-31-2007 at 01:17 AM
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: Possible Master Wall glitch solution? (+1)  
I think the scariest thing about Master Walls is that they can change mid-demo, for no other reason related to the demo other than you reloaded it halfway through the room after mastering the hold. And then you can have the Master Wall close again if a new version of the hold is released with another secret room. It's quite a difference from Blue Doors or even variables. And thus, quite a thorny logic problem.

I suppose one possibility would be not allowing Master Walls to change state unless you re-enter the room or load a Room Start save... that way, the variable you speak of would be able to make sense throughout the whole demo. I'm not sure how that solution should act with regards to new versions of holds with updated secret rooms you've no longer completed though.

Like I said, thorny problem.
07-31-2007 at 02:15 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
AlefBet
Level: Smitemaster
Rank Points: 979
Registered: 07-16-2003
IP: Logged
icon Re: Possible Master Wall glitch solution? (+1)  
I'm not sure what problem you're trying to solve here. Is it the fact that if you cross a master wall, your demo is not considered for high scores? This behavior is by design. Master walls are intended to allow access to "extras" type sections and they're just too powerful to be used as a puzzle element -- Beethro can do some fancy dodging of monsters, explosions, etc. If someone does inadvertently or carelessly put them in a puzzle room, I don't want the score in that room to be effectively a race to see who masters the hold first. A room solution should be based on the room itself, for the most part (blue doors being an exception to this, but even so, it's only level-based, and blue doors become floor).

The state of a master wall is supposed to be changeable at any time, too. This is to allow master walls to be used in locations where backtracking from the dungeon exit stairs is impossible or tedious. As a result, you might play the first half of the room with the master walls up, then beat the hold, then restore back and play the second half with the walls down.

As a side note, adding variables to demos isn't a big deal if it's justified. The old engines will get a bit confused about the variable's meaning, but all the rest of the data will just move over and make room for the variable. But I don't see what problem it's solving in this case.

Another side note: If this is a bug, shouldn't the thread be on the Developer board, and if it's a requested change, shouldn't it be on the FR board?

____________________________
I was charged with conspiracy to commit jay-walking, and accessory to changing lanes without signaling after the fact :blush.

++Adam H. Peterson
07-31-2007 at 02:52 AM
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: Possible Master Wall glitch solution? (0)  
AlefBet wrote:
If someone does inadvertently or carelessly put them in a puzzle room, I don't want the score in that room to be effectively a race to see who masters the hold first. A room solution should be based on the room itself, for the most part (blue doors being an exception to this, but even so, it's only level-based, and blue doors become floor).

I don't really want them in puzzle rooms in the first place, but if they're in there, the question becomes: why are they there? I'd also hope that these rooms that already exist are the rare exception.

AlefBet wrote:
The state of a master wall is supposed to be changeable at any time, too. This is to allow master walls to be used in locations where backtracking from the dungeon exit stairs is impossible or tedious. As a result, you might play the first half of the room with the master walls up, then beat the hold, then restore back and play the second half with the walls down.

This, I don't understand. Correct me if I'm wrong though, but... aren't there only two possibilities where something can be loaded mid-room? Those being loading from a Checkpoint, and Continue Playing? In both of those, you can reset to the start of the room and then could theoretically play the entire room with the Master Wall down. Now, possibly the room could be tedious to get to the "halfway" point, but I'm not sure I'd like the idea of a Master Wall being there in the first place - it could've easily been a room onwards, far away from any puzzles.

AlefBet wrote:
Another side note: If this is a bug, shouldn't the thread be on the Developer board, and if it's a requested change, shouldn't it be on the FR board?

I think it's just a discussion sparked from another strange thing I posted about them in the Bugs board. Not quite as strong as a Feature Request, more like: "Why is it this way?"

Anyways, while we're on the topic, what unique/problematic uses for Master Walls have appeared in holds? Perhaps that would help bring up some case studies for exactly why Master Walls are the way they are.

[Last edited by TFMurphy at 07-31-2007 03:24 AM]
07-31-2007 at 03:24 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
AlefBet
Level: Smitemaster
Rank Points: 979
Registered: 07-16-2003
IP: Logged
icon Re: Possible Master Wall glitch solution? (0)  
TFMurphy wrote:
This, I don't understand. Correct me if I'm wrong though, but... aren't there only two possibilities where something can be loaded mid-room? Those being loading from a Checkpoint, and Continue Playing? In both of those, you can reset to the start of the room and then could theoretically play the entire room with the Master Wall down. Now, possibly the room could be tedious to get to the "halfway" point, but I'm not sure I'd like the idea of a Master Wall being there in the first place - it could've easily been a room onwards, far away from any puzzles.
Yeah, a player can restart and play the room again, but they don't have to, and I'm certainly not going to force them to. (In the extreme, I certainly don't want to invalidate all checkpoint progress just because someone has mastered the hold. Nor do you, I think.) If they choose not to restart the room, what is the correct state for this "master walls are down" flag? It depends on what you mean by it or what it's used for. Which brings us back to "what is this solving"?
Anyways, while we're on the topic, what unique/problematic uses for Master Walls have appeared in holds? Perhaps that would help bring up some case studies for exactly why Master Walls are the way they are.
Good question, and I tnink it's quite related to what I posted. What is the problem that is occurring here that we need to solve? I don't see what it is, and since you do, maybe you can explain it in a bit more detail.

____________________________
I was charged with conspiracy to commit jay-walking, and accessory to changing lanes without signaling after the fact :blush.

++Adam H. Peterson
07-31-2007 at 04:00 AM
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: Possible Master Wall glitch solution? (0)  
AlefBet wrote:
Yeah, a player can restart and play the room again, but they don't have to, and I'm certainly not going to force them to. (In the extreme, I certainly don't want to invalidate all checkpoint progress just because someone has mastered the hold. Nor do you, I think.) If they choose not to restart the room, what is the correct state for this "master walls are down" flag? It depends on what you mean by it or what it's used for. Which brings us back to "what is this solving"?

Well, the last question is, I guess, part of the discussion, but we can get back to that. The only checkpoint progress this would invalidate though would be checkpoints in the same rooms as Master Walls. That's a pretty small subset. Further, it only becomes a problem when you both (1) want to go through the Master Wall after restoring from the checkpoint and (2) it's tedious to go through the room again when starting. Which cuts things down even more. Furthermore, restoring from the checkpoint and then reseting the room doesn't delete the checkpoint save, and if you really wanted, you could save again with the Master Wall down.

Personally, I'd hope that all of the above weren't strong issues or in lots of holds, but if they are, that's certainly something that could be brought up.

AlefBet wrote:
Good question, and I tnink it's quite related to what I posted. What is the problem that is occurring here that we need to solve? I don't see what it is, and since you do, maybe you can explain it in a bit more detail.

Well, I didn't make this topic and wasn't planning to, because I'm ambivalent about Master Walls themselves becoming puzzle elements or used in highscores. I am a little concerned that at the moment, DROD has to sort of 'guess' whether a Master Wall was up or down in demos (and thus saved games), based on whether the player is 'successful' in his move or not. At the moment, it converts anything it deems to be an 'unsuccessful' bump of a Master Wall into a wait. This isn't working with a particular new combination when there's a Mirror on top of the Master Wall. (Yeah, I know, who puts Mirrors on top of Master Walls?) As a result, it's possible with this element to create a demo that DROD thinks is "corrupted or from another version of DROD with different gameplay behavior."

Now, isolated, this can be fixed. It does, however, seem like a roundabout way for demos/saved games to understand Master Walls. I mean, we can certainly hope that if that issue with Mirrors is fixed that we'll never have another problem with Master Walls ever again... but should it be this way? And if not this way, how could demos understanding of Master Walls be improved so they don't have to "guess"? (On another note, this isn't about the highscorability of Master Walls - that's more a decision made explicitly by the spider, as I understand, and not one I'm going to argue with)

Anyways, like I said, not quite strong enough for Feature Requests - in my opinion, I'm not sure exactly *what* would be the right request, so the discussion route seems more sensible. Still interested in what unique uses Master Walls have been put to use though, which could be an interesting topic in itself.
07-31-2007 at 04:47 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Mattcrampy
Level: Smitemaster
Avatar
Rank Points: 2388
Registered: 05-29-2003
IP: Logged
icon Re: Possible Master Wall glitch solution? (0)  
A possible solution: any rooms with Master Walls in them are considered uninteresting for the purposes of high scores.

____________________________
What do you call an elephant at the North Pole?
Click here to view the secret text

07-31-2007 at 06:08 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
Beef Row
Level: Smiter
Rank Points: 471
Registered: 12-28-2005
IP: Logged
icon Re: Possible Master Wall glitch solution? (+1)  
Mattcrampy wrote:
A possible solution: any rooms with Master Walls in them are considered uninteresting for the purposes of high scores.

Well, that wouldn't solve the mirror + master wall problem that actually causes a misreading of the demo.

Also, I believe there are a fair number of rooms that are interesting, and just happen to have a Master Wall at some edge which generally does not matter to scoring.

Also, I'd be interested in seeing a hold similar to Easy or Hard, but where the 'Easy' solution invariably requires passing over a Master Wall at some point in the room. (The hold would have to contain no rooms marked as secret and have a hold exit stair in the start room.). That way you could have a hold where you have (at least) two solutions, but you can only compete to optimize the room if you do it the hard way. This suggestion would make that impossible.

____________________________
"Now I will repeatedly apply the happy-face rule"
07-31-2007 at 07:05 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
AlefBet
Level: Smitemaster
Rank Points: 979
Registered: 07-16-2003
IP: Logged
icon Re: Possible Master Wall glitch solution? (+1)  
TFMurphy wrote:
Well, I didn't make this topic and wasn't planning to, because I'm ambivalent about Master Walls themselves becoming puzzle elements or used in highscores. I am a little concerned that at the moment, DROD has to sort of 'guess' whether a Master Wall was up or down in demos (and thus saved games), based on whether the player is 'successful' in his move or not. At the moment, it converts anything it deems to be an 'unsuccessful' bump of a Master Wall into a wait. This isn't working with a particular new combination when there's a Mirror on top of the Master Wall. (Yeah, I know, who puts Mirrors on top of Master Walls?) As a result, it's possible with this element to create a demo that DROD thinks is "corrupted or from another version of DROD with different gameplay behavior."
Ah, okay. I think I'm understanding what's going on now. I haven't done this particular interaction before, though, so what is the specific result when this happens, both when walls are up and when they are down? If there's a move you can perform with master walls up that you can't do with master walls down, that sounds like a bug, either a code problem (which should just be fixed straightaway), or a semantic issue wherein, more than just moves becoming possible after MWs drop, they change semantics. If it's the second, it's a bit trickier, but I think the semantics need to be unified so that a move either succeeds or has the same semantic as a wait so that the only consequence of MWs dropping is that new moves (onto the MW) become possible.

I'm not sure exactly which this is, though -- I don't know what the mirror issue is -- so what happens when you bump a mirror on a MW (up or down)? I guess it would be good to have the reference to the thread where this came up.

____________________________
I was charged with conspiracy to commit jay-walking, and accessory to changing lanes without signaling after the fact :blush.

++Adam H. Peterson
07-31-2007 at 07:14 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
Kwakstur
Level: Smiter
Avatar
Rank Points: 385
Registered: 05-05-2006
IP: Logged
icon Re: Possible Master Wall glitch solution? (0)  
AlefBet wrote:
I'm not sure exactly which this is, though -- I don't know what the mirror issue is -- so what happens when you bump a mirror on a MW (up or down)? I guess it would be good to have the reference to the thread where this came up.

The mirror issue is described here.

It seems to basically say this:

Lets say you have a mirror on a wall, and there is more wall behind it. If Beethro gets his sword on the mirror without smashing it, then if he bumps into it, it'll get smashed.

But this won't happen for a master wall in a demo, because when Beethro tries to bump into the master wall with the mirror, the game automatically counts it as a "wait" command instead of a bump.

____________________________
Also known as ExpHP everywhere else.
07-31-2007 at 07:38 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
AlefBet
Level: Smitemaster
Rank Points: 979
Registered: 07-16-2003
IP: Logged
icon Re: Possible Master Wall glitch solution? (+1)  
Okay, it seems to me like the best solution is for the game engine to not automatically swap a MW bump for a wait if the player wouldn't have moved onto the MW anyway. However, since this is a pretty rare interaction and I don't think it has any puzzle use, the easiest solution is probably just to forbid mirrors (and any other T-layer objects? or movable T-layer objects?) from being placed on master walls to begin with.

____________________________
I was charged with conspiracy to commit jay-walking, and accessory to changing lanes without signaling after the fact :blush.

++Adam H. Peterson
07-31-2007 at 06:35 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: Possible Master Wall glitch solution? (0)  
That doesn't completely solve the related problems: as I later noted in the bug thread, it's not the only time bumping into a Master Wall can cause something to happen (as an example: the script event Wait until player bumps obstace fires when this happens).

After thinking about it some more, how about this?

1) Any command that the player makes that indicates that he wants to move in the direction of a *closed* Master Wall should be immediately turned into a Wait, regardless of what else is there. If it needs to cue an event to give feedback to the player that this occurs, so be it. Alternatively, it could be like Room Lock in that the command is simply ignored with either a message or special sound. This prevents any interaction with a Master Wall that would be impossible if the Master Wall was passable.

2) Otherwise, an interaction with the Master Wall should act just as normal, with Beethro attempting to pass through it and other obstacles taking possible effect. This is never turned into a Wait. This allows interaction with stuff in or past the Master Wall, but does not prevent anything that you could've done when the Master Wall was closed.

How does that sound? Demos will still have to guess, but the interaction would be caught sooner, and less likely to cause a mismatch between demostate and gamestate.
07-31-2007 at 07:18 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
AlefBet
Level: Smitemaster
Rank Points: 979
Registered: 07-16-2003
IP: Logged
icon Re: Possible Master Wall glitch solution? (0)  
TFMurphy wrote:
That doesn't completely solve the related problems: as I later noted in the bug thread, it's not the only time bumping into a Master Wall can cause something to happen (as an example: the script event Wait until player bumps obstace fires when this happens).
It does? That seems like a pretty big flaw to me. What happens when the player comes back and restores to a checkpoint after mastering the hold? The demo will replay in error! It should never be possible to bump into a master wall, and if trying it has side effects, it's a bug.

Edit: Actually, come to think of it, if the bump event fires during play-through, but a wait move gets stored, this will cause the event not to fire on replay, which is a flaw whether or not the master wall is dropped. All around bad. (It would even affect one-move undo.) That event just should not fire for a bumped master wall. (A bumped object on the master wall would be okay, though, I think, if it's not tricky to code.)

____________________________
I was charged with conspiracy to commit jay-walking, and accessory to changing lanes without signaling after the fact :blush.

++Adam H. Peterson

[Last edited by AlefBet at 08-01-2007 12:16 AM]
07-31-2007 at 10:24 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
Rheb
Level: Smitemaster
Avatar
Rank Points: 1211
Registered: 08-04-2006
IP: Logged
icon Re: Possible Master Wall glitch solution? (0)  
Err, how can this room be high score able? :?

____________________________
Voligner is my very own DROD-like game. Please check it out!
08-04-2007 at 08:02 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
Rheb
Level: Smitemaster
Avatar
Rank Points: 1211
Registered: 08-04-2006
IP: Logged
icon Re: Possible Master Wall glitch solution? (0)  
VIPCOOL wrote:
Should I make it unhighscorable?

If you want to... I just wondered how anyone could have gotten any high scores on it since you step on a master wall when you enters the room.

____________________________
Voligner is my very own DROD-like game. Please check it out!

[Last edited by Rheb at 08-04-2007 08:57 PM]
08-04-2007 at 08:56 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
silver
Level: Smitemaster
Rank Points: 915
Registered: 01-18-2005
IP: Logged
icon Re: Possible Master Wall glitch solution? (0)  
yah. it seems the spider should be rejecting it. it's possible that the spider is ignoring the master wall because you're only on it for the first turn and exit via the script in the tunnel?
(or that the script in the tunnel is messing up any masterwall check at all)


____________________________
:yinyang

[Last edited by silver at 08-04-2007 10:48 PM]
08-04-2007 at 10:48 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
schep
Level: Smitemaster
Avatar
Rank Points: 865
Registered: 03-01-2005
IP: Logged
icon Re: Possible Master Wall glitch solution? (0)  
According to the demo the spider receives, you (probably) don't step onto the master wall. You begin there and step off of it. What if there were a level entrance on that same tile? The behavior is a little surprising here, but I don't think it's worth "fixing".
08-05-2007 at 02:48 PM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
New Topic New Poll Post Reply
Caravel Forum : Caravel Boards : General : Possible Master Wall glitch solution? (On General so I don't make a fool of myself on Bugs)
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.