Jump to content

Post-Freeze PR: SSD Bot


Kyet

Recommended Posts

 

This is a discussion thread for a PR I am going to put up after the freeze is over.

 

What does the PR add? A bot that automatically takes SSD people to cryo.

 

Why is this a good idea?

1) It stops SSD people littering the hallways

2) It frees their job slots, resulting in more usable job slots for everyone else

3) It frees up admin time currently spent stopping clueless newbies from attacking/stripping these SSD people

 

How does it work?

1) There's a bot, rather like an automated ambulance trolley, that lives in cryodorms.

2) When it detects someone is SSD (and alive, and not buckled to a chair, and on the station zlevel, and a few other conditions) it wakes up, zooms over to them, picks them up, carries them back to cryodorms, and dumps them into a cryopod.

3) If all cryopods are full, it drops them on the floor next to a pod.

4) If the person wakes up before the bot arrives, it won't pick them up. If the person wakes up in transit, they can hop off at any time. If they're put in cryo, they still have the normal cryo timeout to log back in before they're moved to long-term storage.

5) The bot will open any normal door, and closes them quickly behind it to prevent tailgating. It can path around most obstacles. It won't hurt you if it runs into you. It moves quite fast, and is hard for greytide to destroy.

 

Code comparison: https://github.com/ParadiseSS13/Paradis ... yep:ssdbot

 

Link to comment
Share on other sites

 

I like the idea, on the condition it be giving a brief grace period before the bot starts to head over. (2-3 minutes)

That gives someone more then enough time to recover from a simple error like accidentally closing out the client (Don't judge me.) and should be enough of a delay to let people who had some more serious issues have a chance to recover in time.

 

But in general, 's a pretty solid idea. I wish people would take more SSD's to cryo after a few minutes of making sure they're not immediately comin' back.

 

Link to comment
Share on other sites

 

I predict SSD-bot cheesing to escape areas.

An auto teleporter might be better.

 

I thought about that.

Currently it has a safeguard where it won't pick up anyone who is buckled. So if someone tries this this, you can simply buckle them for a minute to see if they're attempting it.

There is also a safeguard which prevents it picking up the same person more than once. So no matter what, this will only pick you up once per round.

 

I have debated making it ignore people SSDing in areas that they don't have access to. Haven't coded that yet, though. Probably will.

 

Edited by Guest
Link to comment
Share on other sites

 

The list of criteria for pickup is currently:

- Must be a /mob/living/carbon/human (ie: no borgs, no simple_animals, etc)

- Must be on cyberiad zlevel

- Must be not dead

- Must be SSD (controlled by a player who is logged out)

- Must not be anchored

- Must not be handcuffed

- Must not be at our home position in cryodorms

- Must not be someone we've previously tried to pick up, and failed

- Must not be on a space tile

- Must not be buckled/attached to anything

- Must not be in a completely inaccessible area (e.g: behind a bolted door)

 

Link to comment
Share on other sites

 

I don't like the idea of the SSD bot frankly... but understand all the reasons for it.

 

Instead I'd suggest that people SSD for a certain period of time get flagged as SSD on their health / manifest status. (Active/SSD/Deceased etc).

 

This'd also then make it easier to understand that certain people have been SSD for siginficant periods of time, and you'd know "oh all three botanists are SSD... guess we'd better sort that out" - rather than a bot that handles all that. Plus the pathfinding on these bots are notoriously bad.

 

Link to comment
Share on other sites

 

What about important items that the person has? Maybe the nukedisk, stamps, ids, pai, positronic brains, traitoritems, ai, boards. Will they vanish too, if they are in the backpack of the ssd person ?

 

How is the idea the teleport to a secure space strip of all items and then proceed ( teleport back to station ) to cryodorm. Maybe somekind of storage.

 

Link to comment
Share on other sites

 

What about important items that the person has? Maybe the nukedisk, stamps, ids, pai, positronic brains, traitoritems, ai, boards. Will they vanish too, if they are in the backpack of the ssd person ?

 

How is the idea the teleport to a secure space strip of all items and then proceed ( teleport back to station ) to cryodorm. Maybe somekind of storage.

 

 

If the nuke disk was not on the station the the Nuke ops CAN take ALL the TIME in the world to get it and after they get it then they can just make a bee line to the nuke and turn it on..... aka no, If a the captain went ssd then He will be left where he or she is at.

 

Link to comment
Share on other sites

I am reticent with this idea, because there are a LOT of ways it could be abused, and would lead to the whole PR needing to account for all these little potential issues. Not sure how well this could be implemented.

Link to comment
Share on other sites

 

I like the idea, on the condition it be giving a brief grace period before the bot starts to head over. (2-3 minutes)

I thought about this. But I decided not to implement it, on the grounds that the bot already takes time to get to the person, haul them back, cryo to count down, etc.

Adding a timer before the bot even picks them up probably won't do much.

I mean, sure, it could stop someone being picked up if they disconnect for a moment... but the existing delay between the disconnect and the bot picking you up (it has to physically reach you, for example) should be adequate for this.

 

Instead I'd suggest that people SSD for a certain period of time get flagged as SSD on their health / manifest status. (Active/SSD/Deceased etc).

Flagging people on the manifest does literally nothing to address any of the three problems I outlined that were the motivation for creating this PR.

 

Plus the pathfinding on these bots are notoriously bad.

I've tested the pathfinding a fair bit, and it seemed to work well when I tested it.

I even tested weird things, like blocking the bot off mid-path with walls.

Are there scenarios you've seen bot pathfinding fail in before? If so, can you list them? I would like to test all possible pathfinding scenarios.

 

What about important items that the person has? Maybe the nukedisk, stamps, ids, pai, positronic brains, traitoritems, ai, boards. Will they vanish too, if they are in the backpack of the ssd person ?

 

How is the idea the teleport to a secure space strip of all items and then proceed ( teleport back to station ) to cryodorm. Maybe somekind of storage.

 

New safeguard added: the bot will never cryo the Captain, or any head of staff, on the grounds of them probably carrying restricted items.

 

Picking SSD people out of cells may be problematic, too.

 

New safeguard added: the bot will never cryo anyone in viro/xenobio (on the grounds of the locked door preventing access there) or cells/permabrig (on the grounds of people trying to use it to cheat out of those areas).

 

I am reticent with this idea, because there are a LOT of ways it could be abused, and would lead to the whole PR needing to account for all these little potential issues. Not sure how well this could be implemented.

 

Please list them. I want to have coded-in safeguards which prevent people abusing this.

 

Link to comment
Share on other sites

 

I think the SSD Bot is an excellent idea. We have a significant problem on the server of a variety of jobs not being available to late-joiners. This is a way to fix that. And to those who say the SSD bot could be abused, I'd say this: simply extend the same rules we have on SSD persons to the bot. You abuse the bot for access or advantage, you are just as wrong as looting an SSD person. We already hold ourselves to the standard of not messing with SSD players, which until very recently was mostly regulated by community policing and rules.

 

Perhaps the bot could create mime-like invisible walls behind them, just long enough to ensure no one abuses the open door, which would close immediately on the bot clearing the doorway. And/or a holo image could be projected for a few moments in the doorway, much like the janitor's holo-signs. "SSD STAND CLEAR!" If you are observed crossing a holosign and don't have the requisite access, you are subject to banning. Perhaps some sort of logging could be generated for the admins in this case, too.

 

Or, perhaps, the bot could use bluespace technology and not use doors at all. Not necessarily cryo-to-SSD teleportation, but rather the bot simply moves toward a door but beams through the closed door, without any opportunity for someone to hop through as well (i.e. not using a portal). Perhaps the player could be teleported to cryo upon the bot reaching the player, but the bot proceeds back normally, and only inserts the player into a cryopod upon returning to cryo. Or, there are two bots: one that moves from SSD person to SSD person, and a second bot who remains located in cryo which simply takes the SSD crew members beamed in by the mobile bot and places them in pods, meanwhile the mobile bot just moves on to the next SSD individual, if any.

 

Sorry, hope I didn't overwhelm with different ideas there. But I think better SSD management could mean for a better gameplay experience for latejoiners.

 

Link to comment
Share on other sites

Sometimes I think it would be a good idea to make small dorms like outposts have inside every department where people who need to afk for a while can take a nap in-character. Because its not always possible to AFK properly by heading to dorms and lying in sleeper so you would log-off as soon as your connection is lost for some reason during you being AFK.

Link to comment
Share on other sites

 

I think the SSD Bot is an excellent idea.

Thanks!

Perhaps the bot could create mime-like invisible walls behind them, just long enough to ensure no one abuses the open door, which would close immediately on the bot clearing the doorway.

Currently, the bot opens doors - but it also forces the door to close as it moves past, making tailgating the bot very difficult.

 

Link to comment
Share on other sites

Honestly I think it would be muсh better to get ant automatiс radio message when someone is SSD for too long just like when someone arrive at station or moved to сryostorage. Let people put their department mates in сryo and return their gear to its respeсtful plaсe. Its not hard to PM admin for permission. There was not suсh an oссasion when admin denied me permission for returning SSD things baсk to plaсes and then сryo them.

Link to comment
Share on other sites

It sounds like a decent idea which has good reasons, however I can see far too much potential for abuse to allow it to go through, for example going SSD after stealing a high importance item and using the bot to evacuate you from the area. Personally I think the idea sounds good on paper, but when applied and put into effect it simply won't work

Link to comment
Share on other sites

 

It would need like a 10 minute delay I think. Otherwise if someones internet goes down or crashes they have time for the modem to reconnect (some can take a few minutes) or if they restart into a windows update or other such things like that.

 

I think it should also only work for the main departments and hallways, I don't want it taking a hike through maintenance, possibly blocking maintenance, pulling people out of hiding places and shit. If im sitting in a solars room and d/c for some reason it would be stupid to be grabbed and taken to a highly visible area near security where I can wake up to an arrest.

 

I think either having a long timer OR make it so you can mark SSD people for retrieval via ingame character or AI. You could have a player report or mark an SSD player and after 5 minutes or something the bot would head over.

 

Link to comment
Share on other sites

 

Updates (in most recent commit, added today):

- Bot will now give people at least 2-4 minutes of time SSD before it decides to go fetch them

- Bot will now detect when someone it is going after wakes up, or becomes unreachable, and return home immediately

- Bot will now be able to handle cases where a body is moved (e.g: by a blast) after the bot has left cryodorms but before it reaches them.

- Bot will NOT chase SSD people whose bodies are being moved by crew (grabbed, pulled).

- Refactored cryopod code to be cleaner

 

going SSD after stealing a high importance item and using the bot to evacuate you from the area.

The bot will take several minutes to notice you're SSD, then more to get to you, and more to get back.

You'd find it far faster to get out of the area yourself, such as by using a garbage disposal.

If someone is abusing the bot for invincibility... simply ahelp it and we'll look into it.

As an admin, I'm betting that will be a lot less common than the "X attacked a SSD" issues we see right now every shift.

 

It would need like a 10 minute delay I think. Otherwise if someones internet goes down or crashes they have time for the modem to reconnect (some can take a few minutes) or if they restart into a windows update or other such things like that.

Ten minutes is kinda excessive. The vast, vast majority of people won't see a big difference between a 2-4 minute grace period and a ten minute one.

If your connection dies, and you either know it is dying, or you're known to have a bad connection, someone can simple buckle you to a chair, grab you, or pull you, in which case the bot will ignore you completely.

I think it should also only work for the main departments and hallways, I don't want it taking a hike through maintenance, possibly blocking maintenance,

It can't block maintenance like that.

If you and the bot meet each other going opposite ways down a hallway, the bot will simply run you over. It'll stun you for 2-3 seconds, move past you, and then you can keep going. This is faster than you both getting stuck on each other.

pulling people out of hiding places and shit.

 

If your hiding place is remotely secure (ie: bolted door, secret wall, etc) then the bot won't be able to path there, and it will completely ignore you, no matter how long you are SSD.

 

Edited by Guest
Link to comment
Share on other sites

recalculating as it goes is probly bad performance wise really, I think it'd be wiser to instead reach the destination, and calculate once it reaches that spot. If it gets blocked, it can calculate again also. That way it isn't just constantly calculating a path

Link to comment
Share on other sites

 

recalculating as it goes is probly bad performance wise really, I think it'd be wiser to instead reach the destination, and calculate once it reaches that spot. If it gets blocked, it can calculate again also. That way it isn't just constantly calculating a path

Calculating en-route prevents the bot from making potentially long journeys only to find there is nobody there at the end.

Also, this update doesn't increase calculation. All it does is update the target destination so that IF the bot pathfinds (e.g: because it is blocked, and has to recalculate its route) then at least it pathfinds to the current location of the SSD person its going after, not where they were when it left the shed.

If anything, this update will reduce calculation, as the bot now completely ignores anyone grabbed or pulled. This means that the bodies most likely to move (the SSDs being dragged around by other players) are now completely ignored by the bot.

 

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use