Announcement: Be excellent to each other.


Caravel Forum : Caravel Boards : General : Infravision
New Topic New Poll Post Reply
Poster Message
adS
Level: Master Delver
Avatar
Rank Points: 214
Registered: 05-02-2010
IP: Logged

File: Infravision.png (7.2 KB)
Downloaded 644 times.
License: Public Domain
icon Infravision (0)  
This probably has been discussed already:

In this example the plates toggle the doors. When Beethro steps NE on both plates the eye wakes up although at no visible point in time both doors seem to be open. This feature is used by architects.

It's feature, not a bug.

Anyway, can somebody explain what's going on here?

adS



____________________________
pauca sed matura
05-24-2014 at 11:32 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
Red-XIII
Level: Smitemaster
Avatar
Rank Points: 623
Registered: 08-05-2012
IP: Logged
icon Re: Infravision (0)  
I also noticed this many times and not only with EE but I agree with the current movement.
The only reason I can think of is that Beethro moves first to the second plate (opening the door) and in that istant both doors are open, then the eye "moves" and he actually sees you since the plates are both open and finally the first plate close the door. Which means the EE does his move after the first plate is pressed and before the last plate is released.
I'm not sure if this is the right movement order (the code game movement) but is the one that makes more sense to me.

____________________________
There's not some other world out there where everything's gonna be okay.
There's just this one, just this rock.
-33th Skywatcher
05-24-2014 at 12:15 PM
View Profile Send Private Message to User Send Email to User Show all user's posts This architect's holds Quote Reply
adS
Level: Master Delver
Avatar
Rank Points: 214
Registered: 05-02-2010
IP: Logged
icon Re: Infravision (0)  
In my eyes this behavior is nonsense.
Of course, it cannot be changed but I would like to understand it.

What exactly happens here within a single move?





____________________________
pauca sed matura
05-24-2014 at 12:28 PM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
Moo
Level: Master Delver
Rank Points: 224
Registered: 10-14-2006
IP: Logged

File: DRODDoorFail.png (61.7 KB)
Downloaded 625 times.
License: Public Domain
icon Re: Infravision (0)  
Hmm... I was trying to duplicate it, and had kind of the opposite happen. Stood in front of two obviously open doors without the eye waking up. I can step between the two pressure plates as much as I want and the eye doesn't notice... Definitely a bug, in my eyes.



And I don't think that "because someone has used it on purpose" is relevant to whether it's a bug or a feature... Such edge cases should not be relied on, and architects should understand that if they do use them, their holds may break when these bugs are fixed.

[Last edited by Moo at 05-24-2014 12:48 PM]
05-24-2014 at 12:47 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
Pinnacle
Level: Smitemaster
Avatar
Rank Points: 1129
Registered: 06-10-2004
IP: Logged
icon Re: Infravision (0)  
Simple. Pressure plates get pushed in as part of the player's move. The evil eye checks LoS as part of its move. Then pressure plates check if they're occupied, and in the case of an on/off pressure plate, trigger, at the end of the turn. It's 100% consistent if you understand the timing structure. Not everything that happens in a turn is simultaneous.

____________________________
Once (adv.): Enough.
Twice (adv.): Once too often.
~Ambrose Bierce, The Devil's Dictionary

[Last edited by Pinnacle at 05-24-2014 01:21 PM]
05-24-2014 at 01: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
Jacob
Level: Smitemaster
Rank Points: 3746
Registered: 10-01-2004
IP: Logged
icon Re: Infravision (0)  
There is a breakdown of the order within a turn here:
http://forum.caravelgames.com/site/rules

Not sure it is sufficient to explain this, but I agree with the last comment - it is the breakdown of events within the turn and their order that is the important issue here.

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

05-24-2014 at 01:21 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
adS
Level: Master Delver
Avatar
Rank Points: 214
Registered: 05-02-2010
IP: Logged
icon Re: Infravision (0)  
Moos' example is even better.
If this is not a bug...

Anyway, It is not the player's task to understand program internals. The program should behave reasonable which it does not in these two cases.

I wonder if there is any room that exploits Moo's example :)

adS

____________________________
pauca sed matura
05-24-2014 at 02:13 PM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
Pinnacle
Level: Smitemaster
Avatar
Rank Points: 1129
Registered: 06-10-2004
IP: Logged
icon Re: Infravision (+2)  
adS wrote:
Anyway, It is not the player's task to understand program internals. The program should behave reasonable which it does not in these two cases.

It's not a matter of "program internals" any more than vertical preference is. It's a matter of understanding how the rules of the game work. It is completely intuitive with an understanding of the rules. If you want to play Magic competitively, you need to understand the stack, and you really need to understand it because no program will do it for you. Understanding the turn structure in DROD is no different.

While we're testing things in the editor, run over an on/off pressure plate with a speed potion. Notice how it only checks if it's unoccupied at the end of a full turn?

____________________________
Once (adv.): Enough.
Twice (adv.): Once too often.
~Ambrose Bierce, The Devil's Dictionary

[Last edited by Pinnacle at 05-24-2014 02:24 PM]
05-24-2014 at 02:21 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
Doom
Level: Smitemaster
Avatar
Rank Points: 3226
Registered: 07-05-2004
IP: Logged
icon Re: Infravision (0)  
I'll just add that this has come up before. And there *is* reasoning for why it works the way it does.
coppro wrote:
This is intentional. The rationale exists somewhere in the TCB Beta board... I'll edit this post when I find it.

EDIT: Here we go...
mrimer wrote: Yes, it's intentional. We must wait to see whether monsters and tarstuff expansion press down the pressure plate before determining whether it can pop back up or not. We won't have it go up and down if a monster steps off it, then another one steps on it, which would be unobvious to the player since it would appear to all happen simultaneously. So we'll just wait till the end of the turn, then check each plate once.

05-24-2014 at 02:50 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
adS
Level: Master Delver
Avatar
Rank Points: 214
Registered: 05-02-2010
IP: Logged
icon Re: Infravision (0)  
I understand your arguments.

But I still believe that Moo's examples looks ridiculous.

Anyway, as I said I wanted to understated the behavior, not change it.

Thanks

____________________________
pauca sed matura
05-24-2014 at 03:12 PM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
skell
Level: Legendary Smitemaster
Avatar
Rank Points: 3734
Registered: 12-28-2004
IP: Logged
icon Re: Infravision (+1)  
adS wrote:
Anyway, It is not the player's task to understand program internals. The program should behave reasonable which it does not in these two cases.
I am afraid I can't agree with that. If it were a matter of internals, it would have no effect in the gameplay, and as it has an effect on the gameplay, it is a rule of the game.

Please remember that DROD, despite each element on itself being simple, has really complex interactions between the elements and it is impossible to have everything be reasonable, because different solutions will be reasonable for different people.

One person claimed I/We are incompetent programmers, because when he saw explanation about vertical preference he concluded the game is lazy written and we can't even write a pathmapping. For that guy, only pathmapping is a reasonable solution.

I take the rules as they are because that's how the game works and since it's not the most unintuitive thing in the game (serpents, wraithwings, multiple decoys, Stalwarts) and rather something easy to remember, I have no issue with this. And the Moo's example is just another consequence of the rules mentioned by Doom - one of the door opens only after the player moves off the pressure plate, and walking off from the pressure plate is only processed after all monsters move.

----

Sure, it could be made that "whenever door opens, see if any evil eye can see Beethro" but then it would create a question - should the eye get a move when waking up, even if it wakes up after everything else moves or should it not? If the latter, we get a special exception the player has to keep in mind, that "Evil eyes always get a move when they wake up, except if they woke up after their turn to move". And special exceptions to established rules are much worse than more rules.

If we decide that they DO get their move, then we have a different issue - an evil eye, which is farther in the monster order than a different monster, when it wakes up outside their specified order are capable of moving outside that order. It's again a special exception, this time which will sound "All monsters will move in their specific movement order, except evil eyes which wake outside their order".

This might not sound so bad, but we have only covered Evil Eyes so far, what about other monsters? Should they also get free actions when doors open? Why should Evil Eyes be the only ones who have that ability?

I can't really see a good solution save for not implement pressure plates at all, and any other one will suffer from some kind of issues which might be a problem for different people. It's just a decision taken by the games developer, just like someone once decided to have Castling in chess.

____________________________
My website | Facebook | Twitter
05-24-2014 at 03:32 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts High Scores This architect's holds Quote Reply
Pinnacle
Level: Smitemaster
Avatar
Rank Points: 1129
Registered: 06-10-2004
IP: Logged
icon Re: Infravision (0)  
skell wrote:
One person claimed I/We are incompetent programmers, because when he saw explanation about vertical preference he concluded the game is lazy written and we can't even write a pathmapping. For that guy, only pathmapping is a reasonable solution.

Wait, did he not realize that brains exist?

____________________________
Once (adv.): Enough.
Twice (adv.): Once too often.
~Ambrose Bierce, The Devil's Dictionary
05-24-2014 at 03:45 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
stigant
Level: Smitemaster
Avatar
Rank Points: 1182
Registered: 08-19-2004
IP: Logged
icon Re: Infravision (0)  
It's a matter of understanding how the rules of the game work. It is completely intuitive with an understanding of the rules.
I don't buy this argument. Or, perhaps, there's more than one meaning for the word "intuitive".

In this case, the confusion is caused by the separation, in time, of the effects of a pressure plate being depressed and being released. This was a decision by the game designer, and so it's easy to understand if you are familiar with some very subtle points of turn order. It's not however intuitively obvious why that decision was made over (what I would argue is a more natural and intuitive option) having effects of pressure plates depress and release happen at the same time, perhaps both at the end of the turn. In a game like DROD where the (exact) rules are never spelled out but learned through experience (one of the charms of the game IMO), it's quite difficult to get the player to understand the subtleties of a rule like this. Their intuition is probably going to default to everything happening at once since everything appears to happen simultaneously. Even if the player has grokked the necessity to have things happen in a particular order rather than simultaneously, most players are going to intuit that a group of elements, say pressure plates, will probably all act simultaneously regardless of whether they're going up or down (why would the release be somehow different from the depression?).

That's not to say that the intuitive "pressure plates act simultaneously" is the better option in this case. It's possible, for example, that separating releases from depressions in the turn order makes for more interesting puzzles. Or that making them simultaneous just wasn't feasible for other reasons. But those are empirical observations by the development team. It's not really fair to say that the player should intuit conclusions that the development team came to through hard sweat and tears.

____________________________
Progress Quest Progress
05-24-2014 at 04:02 PM
View Profile Send Private Message to User Show all user's posts Quote Reply
skell
Level: Legendary Smitemaster
Avatar
Rank Points: 3734
Registered: 12-28-2004
IP: Logged
icon Re: Infravision (0)  
Pinnacle wrote:
Wait, did he not realize that brains exist?
No, he did not know but that's, well, that is a completely different issue, that situation. I just wanted to point out that there are always solutions which are not intuitive or sensible to some people. Or recall a person recently which commented that Beethro should not be able to squeeze past tight for a different example.

____________________________
My website | Facebook | Twitter
05-24-2014 at 05:07 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts High Scores This architect's holds Quote Reply
disoriented
Level: Smitemaster
Avatar
Rank Points: 2386
Registered: 08-07-2007
IP: Logged
icon Re: Infravision (0)  
skell wrote:
One person claimed I/We are incompetent programmers, because when he saw explanation about vertical preference he concluded the game is lazy written and we can't even write a pathmapping. For that guy, only pathmapping is a reasonable solution.

Every time I encounter something like vertical preference which requires suspension of disbelief, I just throw another dart at my Erik Hermansen foam board.

____________________________
34th Skywatcher

Best to PM me, since I might miss your message on CaravelNet chat.

[Last edited by disoriented at 05-24-2014 10:23 PM]
05-24-2014 at 10:23 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
Tim
Level: Smitemaster
Avatar
Rank Points: 1979
Registered: 08-07-2004
IP: Logged
icon Re: Infravision (0)  
disoriented wrote:
Every time I encounter something like vertical preference which requires suspension of disbelief, I just throw another dart at my Erik Hermansen foam board.
Well, in that case, your wish may come true soon.

My hunch is that in TSS you will be able to create randomly moving roaches that can move towards you in a nondeterministic way. And these rooms would be solvable, as you will then be able to use unlimited undo to undo their movements until they move exactly the way you want to kill them. ;)

I can already think of such a hold for you to play with. No more vertical or horizontal preference. :lol

____________________________
The best way to lose customers is to let little kids running loose on a forum with too many mod points.
05-24-2014 at 11:33 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Zaratustra00
Level: Master Delver
Rank Points: 107
Registered: 11-12-2004
IP: Logged
icon Re: Infravision (0)  
Pinnacle wrote:
It's 100% consistent if you understand the timing structure.

Well, if you have the entire source code memorized, every behavior is 'consistent'.
05-24-2014 at 11:40 PM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
Jatopian
Level: Smitemaster
Rank Points: 1842
Registered: 07-31-2005
IP: Logged
icon Re: Infravision (0)  
This whole issue is basically a matter of movement order, which has traditionally been held to be something a player shouldn't have to worry about unless specifically alerted that it is part of the puzzle. It's unlikely to sneak up on you in a good hold.

That said, you can do some neat things with the order things happen, such as using yellow door cleverly to make a zone that excludes only Beethro and not monsters, or vice versa.

____________________________
DROD has some really great music.
Make your pressure plates 3.0 style!
DROD architecture idea generator
05-25-2014 at 04:14 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
Pinnacle
Level: Smitemaster
Avatar
Rank Points: 1129
Registered: 06-10-2004
IP: Logged
icon Re: Infravision (0)  
There are really 2 distinct kinds of movement order though. Fixed movement order (i.e. the knowledge that guards move before other monsters, roach queens move before their spawn, etc.) is fine to rely on, since it's always the same, not hidden in any way. The kind of movement order that's bad form is the kind that's based on placement order in the editor. While it's possible to check, it's a bit more hidden.

This particular interaction is part of fixed movement order, which (IMO) is fair to include in a puzzle without warning, since it's a universal rule. Editor-placement movement order is different, since that's a rule that only applies to the current room.

____________________________
Once (adv.): Enough.
Twice (adv.): Once too often.
~Ambrose Bierce, The Devil's Dictionary
05-25-2014 at 04:49 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Jatopian
Level: Smitemaster
Rank Points: 1842
Registered: 07-31-2005
IP: Logged
icon Re: Infravision (0)  
Yeah, but there's not always a good reason for element movement order to be the way it is, and you can't check it by right clicking on a monster.

____________________________
DROD has some really great music.
Make your pressure plates 3.0 style!
DROD architecture idea generator
05-25-2014 at 04:58 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2794
Registered: 02-04-2003
IP: Logged
icon Re: Infravision (+2)  
Jatopian wrote:
Yeah, but there's not always a good reason for element movement order to be the way it is, and you can't check it by right clicking on a monster.
Agreed.

Monster movement order is something I would do differently if I were writing DROD from scratch. I would prefer some kind of algorithm that let monsters move into squares that are blocked by another monster if that blocking monster will vacate. This needs a recursive check or some kind of multi-pass evaluation.

And I would also like it if in the case that two or more monsters are trying to move into the same square, some simple preference order like NW,N,NE,E, and so on clockwise would settle which monster gets in.

In the late 90s, anything slightly complicated like the above would tax hardware and result in a noticeable update delay after you hit a key to move Beethro.

Sometimes I could manage to tweak algorithms to find the performance at the cost of spending weeks of rewriting and optimizing. The brain path-mapping is an example of that. Commonly recommended pathfinding algorithms were too slow. I had to think for a long time about how to write it using a shared pathmap that generated all possible paths for all monsters in one pass. Today, I just would have had each monster calc an A* path to its target. (Probably, some of Mike's newer monster code does that--not sure.)

For the sake of backwards compatibility, the old algorithms (monster movement order determined by editor placement order) stayed in. You can't fix these things without breaking years of level editing work. And to split the engine into multiple versioned behaviors is a feature that probably isn't worth the hassle.

A great place to fix this stuff is in a DROD clone (or other variant).

-Erik



____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
dev journals | twitch stream | youtube archive (NSFW)
05-25-2014 at 05:39 AM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
skell
Level: Legendary Smitemaster
Avatar
Rank Points: 3734
Registered: 12-28-2004
IP: Logged
icon Re: Infravision (0)  
ErikH2000 wrote:
Monster movement order is something I would do differently if I were writing DROD from scratch. I would prefer some kind of algorithm that let monsters move into squares that are blocked by another monster if that blocking monster will vacate. This needs a recursive check or some kind of multi-pass evaluation.

And I would also like it if in the case that two or more monsters are trying to move into the same square, some simple preference order like NW,N,NE,E, and so on clockwise would settle which monster gets in.

I commend your ingenuity in coming up with a better solution, but I refuse to believe it would be so much better and reliable and intuitive. Sure, as long as you only had monsters who act the same it wouldn't really make a difference how the preferences work. But once you add to the mix other monsters, I am kinda worried it would be even more complex.

I mean, unless I see a successful implementation including ALL of the current monsters in the game, I won't believe it would be very much better :P

Today, I just would have had each monster calc an A* path to its target.
I think Builders and Stalwarts have it that way. Pathmapping is a very computationally intensive algorithm, so in my opinion not reusing an already created pathmap is a bad idea. I know that premature optimization is a root of all evil, but from my experience in making games (and I have worked on much more projects than I have released) some decisions need to be done early on.

____________________________
My website | Facebook | Twitter
05-25-2014 at 07:45 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts High Scores This architect's holds Quote Reply
skell
Level: Legendary Smitemaster
Avatar
Rank Points: 3734
Registered: 12-28-2004
IP: Logged
icon Re: Infravision (0)  
Also the discussion was about action order of pressure plates and it's like Pinnacle said - the monster movement order and the order of game actions in a turn are completely separate things and it's impossible to play the game without knowing the latter.

____________________________
My website | Facebook | Twitter
05-25-2014 at 07:48 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts High Scores This architect's holds Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2794
Registered: 02-04-2003
IP: Logged
icon Re: Infravision (0)  
skell wrote:
Also the discussion was about action order of pressure plates and it's like Pinnacle said - the monster movement order and the order of game actions in a turn are completely separate things and it's impossible to play the game without knowing the latter.
Hmm. I went on a long tangent because Pinnacle brought up monster movement order. Which is a little weird of me, I guess.

Sure, as long as you only had monsters who act the same it wouldn't really make a difference how the preferences work. But once you add to the mix other monsters, I am kinda worried it would be even more complex.
Yeah, I think I agree with that already. I wasn't saying mix in new behavior and old behavior. It all has to be the same behavior for all the monsters, or the benefit of predictable movement is lost.

And that isn't practical to change in the official DROD engine. It would be something you can do in a new game that is like DROD.

-Erik

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
dev journals | twitch stream | youtube archive (NSFW)
05-25-2014 at 08:05 AM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
disoriented
Level: Smitemaster
Avatar
Rank Points: 2386
Registered: 08-07-2007
IP: Logged
icon Re: Infravision (+1)  
I think Erik just announced DROD 6.

____________________________
34th Skywatcher

Best to PM me, since I might miss your message on CaravelNet chat.
05-25-2014 at 08:19 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
ErikH2000
Level: Legendary Smitemaster
Avatar
Rank Points: 2794
Registered: 02-04-2003
IP: Logged
icon Re: Infravision (+1)  
disoriented wrote:
I think Erik just announced DROD 6.
Yes, but Skell will write it.

____________________________
The Godkiller - Chapter 1 available now on Steam. It's a DROD-like puzzle adventure game.
dev journals | twitch stream | youtube archive (NSFW)
05-25-2014 at 08:21 AM
View Profile Send Email to User Show all user's posts This architect's holds Quote Reply
skell
Level: Legendary Smitemaster
Avatar
Rank Points: 3734
Registered: 12-28-2004
IP: Logged
icon Re: Infravision (0)  
ErikH2000 wrote:
disoriented wrote:
I think Erik just announced DROD 6.
Yes, but Skell will write it.
And thus all the secrecy is now busted.

____________________________
My website | Facebook | Twitter
05-25-2014 at 10:33 AM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts High Scores This architect's holds Quote Reply
New Topic New Poll Post Reply
Caravel Forum : Caravel Boards : General : Infravision
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.