Page 1 of 1

Chutes and ladders

Posted: Thu Dec 05, 2019 4:01 pm
by ducci
Idea: a room exit that’s only visible to and usable by mobs

(Unless this already exists?)

Mob chutes control how mobs enter the area, and mob “ladders” could give the option of mobs exiting the area. The basic use would just be to allow mobs back into a chute. Then you have mobs popping in and out of the area at all hours, and the area is a little more dynamic.

I could see it being used to create some very elusive mobs and some very scary ambush mobs.

Re: Chutes and ladders

Posted: Fri Dec 06, 2019 10:46 am
by ducci
I should add, when a mob uses one of these invisible exits, there wouldn’t be an exit message displayed, or it wouldn’t give a direction (“Mob X slinks away.”)

Re: Chutes and ladders

Posted: Fri Dec 06, 2019 8:31 pm
by Everybody
I will start by saying that mob chutes, as they exist today, are a very elaborate building design to (initially) get around that the mud doesn't have the capability to differentiate rarity of loads in any fashion.

This particular idea has a lot of fairly complicated ramifications from a code perspective, as I'd have to potentially touch (or at least look at) every point in the code where it cycles through the exits of an individual room. And I'm not sure the benefits gained outweigh that effort.

I'd much rather add something like a formalized timed flag on mobs, wherein they only exist for a number of ticks after they initially spawn, then vanish. This solves some of the existing decaying mob solutions already in place (poison/plague affect bits on lower leveled mobs), allows for more interesting chutes (have a timed Waldo on a long countdown and you have the chance of a per-reset either/or Waldo chute to reset to the other side), and provides the option of the dynamic changes you suggest.

Re: Chutes and ladders

Posted: Sat Dec 07, 2019 12:56 am
by ducci
I can see how chutes plus timed mobs would accomplish a lot of what ladders could do. I do still think there are at least 2 benefits that only ladders would have.

One is that a chute and ladder setup could have a mob circulating into and out of an area with higher and more variable frequency than a timed mob. I assume when a timed mob times out, he won’t respawn until the area repops. When he does respawn, it’s in his usual chute with the usual average time to enter the area. But an untimed mob, in an area with many ladders leading into a small chute, would move in and out of the area every few minutes. Then by chance he hits a ladder leading to a larger chute, and suddenly he makes a five day disappearance from the area.

The other benefit would be the special movement it would allow mobs. An example I was thinking of was a “white stag” type of mob that uses ladders to move among a few special rooms that are widely separated within the area. Hunting this mob is an extra challenge because he might escape to the other side of the area in one move.

As for the difficulty in coding, point taken. :) Is there any way to let a mob pass a door that a player can’t? I thought there might be a possible workaround there.

Re: Chutes and ladders

Posted: Sun Dec 08, 2019 11:41 pm
by Everybody
I'm fairly sure that mob move code is effectively indistinguishable from PC move code once it hits the execution point. I know it bypasses some parts of normal move code, but I don't recall which ones, and it's probably not pass door.

With this said, a super-pass mob flag wouldn't be particularly difficult to code (i.e. can pass door through !pass marked doors - then it's just a matter of making the door otherwise unopenable, but still is clunkier for what you seem to want to achieve). I'd like to see other benefits we could gain from having the super-pass flag, though, before considering implementation of it.

Re: Chutes and ladders

Posted: Mon Dec 09, 2019 12:48 pm
by ducci
If super-pass mobs didn’t appear with the “translucent” flag, there could also be some applications of super-pass instead of “regular-pass” for controlling mob movement in chutes using doors.

By the way, I don’t want to sound like I’m pushing for this change anytime soon. I think I wanted to talk about it more than see it implemented. Like I was telling Brodgar the other week, there is a very small set of people to discuss this stuff with! :)

To flesh out the workaround idea a little more, a mob with super-pass and sneak would be two-thirds of the way to using a ladder exit. The last third is hiding the ladder from players. Did I understand your recent note correctly that you’re adding hidden exits and a new command to search for them? If so, could there be a “!search” type exit?

A super-pass mob could sneak through a hidden, !search, unopenable exit, and the only indication to the player would be the different message they’d get from bumping into it. Not perfect, but maybe the closest we could get without a major project?

Re: Chutes and ladders

Posted: Mon Dec 09, 2019 8:20 pm
by Everybody
So, to hidden doors - yes, there's already a !search flag implemented. This is specifically to provide for the two principal cases for hidden doors - 1) you want people to search where it makes sense and reveal doors, which then can require keys, etc. as normal, and 2) you want to force people to interact using keyword doors (again they can be locked as normal). !search is for puzzles involving keyword doors, as the only way to interact with that door is via its keyword (which can't be n/north, e/east, w/west, or s/south).

Note that players do not "bump into" hidden doors - they get a "You see no exit that way" message, just like if there were no exit in that direction. So, in the context of super-pass mobs, yes, that could lead to some odd disconnects if a player sees a mob go a direction that they effectively aren't allowed to follow.

Re: Chutes and ladders

Posted: Tue Dec 10, 2019 6:14 am
by ducci
Yes, this why mobs who use ladders would need the super-pass bit AND the sneak bit. It sounds like the hidden door code is perfect for this, too.

Re: Chutes and ladders

Posted: Tue Dec 10, 2019 2:55 pm
by Everybody
Ah, yes. I must've glossed over the "sneaking" bit.

The only significant downside (aside from coding super-pass) is that you'd be limited in ladder placement to rooms (and directions) that don't have exits, currently. Also, while not super-significant, it would allow imms to walk into your mob chutes (instead of forcing them to goto it).

Re: Chutes and ladders

Posted: Wed Feb 19, 2020 9:09 am
by ducci
It just hit me that this can be accomplished already with T-resets, so there’s no need for a “super-pass” mob bit. Just give the mob an invisible !take key, and give him the script to unlock and use the ladder exit. He’s less likely to use the exit when there are players around, so he probably doesn’t even need sneak.

Re: Chutes and ladders

Posted: Wed Feb 19, 2020 2:37 pm
by Everybody
Possibly. It breaks some of the desired effects you had, however. Particularly, the mob will only do said movement at area reset (so less frequently). If they otherwise wander, they could easily wander away from the "ladder" door. And, then, on the technical side, you'd need to make sure the door reset for that particular door is after the T actions in the reset cycle, otherwise it won't be hidden.

Re: Chutes and ladders

Posted: Thu Feb 20, 2020 8:13 am
by ducci
I was thinking about this a little, and it’s funny because I was worried they’d use the ladder exits too frequently. I might not have an accurate picture of how mob movement works, though.

Is it right that a mob only moves on ticks, and that areas reset every 3-4 ticks when no players are present? And if you have just two connected rooms, and a mob is standing in one, each tick he has a 50% chance to stay in his room and a 50% chance to exit to the second room?

Re: Chutes and ladders

Posted: Thu Feb 20, 2020 9:23 am
by Everybody
Mobs move a lot more frequently than that - it's closer to "checks to see if it moves every combat round".

Re: Chutes and ladders

Posted: Fri Feb 21, 2020 4:28 pm
by ducci
Okay that makes more sense. I did a quick and dirty experiment by setting a drunk loose in the astral plane, and sometimes he moved after 4 s, but there’s a lot of randomness in the frequency because he averaged moving every 20 s.

If that holds, I think it means that the T-reset mobs will use ladder exits slightly less frequently than super-pass mobs, depending on the number of available exits in the room. It would be 1/3 as often if the ladder exit is in a room with only one other exit, and just as often if the ladder exit room has 6 available exits.

So halt all work on the super-pass mob bit LOL!