Cataclysm-dda: Security Bots spawning in lab on computer check failure is bad gameplay mechanics.

Created on 15 Oct 2018  路  10Comments  路  Source: CleverRaven/Cataclysm-DDA

Describe the bug
Security Bots spawning in lab on computer check failure is bad gameplay mechanics.

To Reproduce
try to hack computers. Fail.
https://youtu.be/ZBK33SpfrtI?t=2879

Expected behavior
Not have instant, unrecoverable death for a mid game play-through. Even the bone juggernauts and grenadiers are survivable (if sometimes you need some luck); this isn't.

Screenshots

https://youtu.be/ZBK33SpfrtI?t=2879

Versions and configuration(please complete the following information):

  • OS: ?
  • Game Version: Exp. Build #7983. Everything default except - City Size: 8, City Spacing: 6, Spawn Rate: 1.5, Item Spawn: 0.8, Monster Evolution: 3.0 Wander Spawns:ON, Random NPC: on, Static NPC:on,
  • Graphic Tileset: MSX++Dead_People
  • Mods loaded: Medieval and Historical content, More survival tools, Fuji's More Buildings, Vehicle additions pack, Tanks and other vehicles, Bionic systems mod, Boats, Folding Parts Pack, Icecoons Arsenal, Filthy clothing, Makeshift Items mod, More buildings, Classes and Scenarios, More locations, Disable NPC needs, Disable Religious texts, Mutant NPC's.

Additional context

https://github.com/CleverRaven/Cataclysm-DDA/blob/93d2b034f5e421a2952608e01c491cac97bf337c/src/mapgen.cpp#L7583
and related other lines (i think, my cpp is about 20 years rusty, but the context looks right)

<Suggestion / Discussion> Fields / Furniture / Terrain / Traps Balance Monsters Spawn stale

Most helpful comment

I like most of @nexusmrsep's suggestions. This one in particular:

place a warning sign in the room and/or in the terminal that the room is protected.

I would strongly encourage actually putting a warning in the terminal itself before the user decides to take the action. This is an entity that can very, very easily end a run. We should be hitting a user over the head with warnings, much in the same way that this would be implemented in the real world.

All 10 comments

I saw that too on Vormithrax playthrough. And I must agree - that is a bit too much. A few manhacks falling from the ceiling is ok, but sudden appearance of a bot or turret next to you without a warning or previous knowledge that that might happen, and where might it happen is realy terrible. Not to mention - where would there be a room/space for such big robots? Ceiling and floor on multi level labs would not, unless there is an assumption, that the levels are separated by a large amount of ground in between.

Security measures are introduced to deter thieves, trespassers, etc. - if potential thieves know of the danger, they are less likely to attempt theft. Following this logic its always good to inform and warn: "No fiddling or else!"

@BrianLefler, since you are our beloved lab-guy, can you perhaps consider one or more of these options, please:

  • lock secubots behind a reinforced glass wall that will slide back and release them on fail (this might require AI change, so the secubot would not deplete its ammo trying to shoot through the glass)
  • as above but behind opaque service-door with black-yellow stripes and a message "Secubot automatic service door" or something similar; door would open on fail.
  • place special tile with black yellow stripes and a warning that it's a secubot/turret automatic hatch, hatch opens on fail, secubots/ turrets spawn on hatch only, perhaps pushing player away.
  • place "inactive" version of secubots, or active but neutral to player and limited to the room itself, hostile when attacked and hostile on fail.
  • place a warning sign in the room and/or in the terminal that the room is protected.
  • add a countdown message or sound, before spawning secubots/turrets so the player can have those couple of turns to react.

This is the action in question:

https://github.com/CleverRaven/Cataclysm-DDA/blob/9178ad978e517c78fe4d91c2db87ba59a486668a/src/computer.cpp#L1305-L1320

It's used on computers in a few places in the lab (primarily the finale), and in one missile silo layout:
https://github.com/CleverRaven/Cataclysm-DDA/search?q=secubots&unscoped_q=secubots

No wonder the player @yarbelk linked to wouldn't have expected this. It's a failure mode that's only implemented in a handful of places.

I also think that the secubot itself is fine, but it should spawn from somewhere instead of appearing out of thin air next to the player.

I like the place them in something and release them upon fail. I'm thinking fallout protectrons here.

I like most of @nexusmrsep's suggestions. This one in particular:

place a warning sign in the room and/or in the terminal that the room is protected.

I would strongly encourage actually putting a warning in the terminal itself before the user decides to take the action. This is an entity that can very, very easily end a run. We should be hitting a user over the head with warnings, much in the same way that this would be implemented in the real world.

I really like those suggestions; they convey the potential doom prior to the action. The bots not bad per-say, but rather its the combination of surprise and lack of agency that really causes the problem.

I also like that your suggestions make use of a clear design language that is common in most media (danger colours, doors with warnings, countdowns): this should really help ratchet up the anxiety without removing all options out except RNG.

From an implementation standpoint, a very quick change would be:
1) Allow a custom json-specifiable msg to replace "ERROR! Access denied!"
2) Change COMPFAIL_SECUBOTS to place the spawned secubot on a red floor tile if it exists.
3) Update the ~15 existing places that have a secubot failure to include a new error msg like "ERROR! Access denied! WARNING: Secubot protection!" and a nearby red floor tile if the map permits.

That would not prevent someone from adding secubots as a failure mode without adding warnings, would not break mods, and would not add any complexity to computer.cpp. So pros and cons.

Well, going into an evil government lab unprotected knowing there are still powered robots and having no way to deal with them except one EMP and messing with a terminal specifically placed for access to a vault wasn't a good idea. +I would give it a run over the terminal, given possible speed advantage and a chance to dodge or survive one hit it might have worked. Well, who knows now...

At the same time time points outlined seem to be very correct and don't seem to make sense from the realism point of view. As a guy designing an evil lab I would put a lockdown on the place, fire an alarm over the whole lab or to security officers specifically and probably would despatch security bots either from remote location or from would activate turrets in this room that were already around but dormant. Or put active ones at the first place. Bot with a machinegun appearing out of nowhere seems kinda out of place and even reduces immersion.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

If we still insta-spawn bots on computer failure, then I feel this issue of providing ample warning to the player is still relevant.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Regularitee picture Regularitee  路  3Comments

Tsunder picture Tsunder  路  3Comments

Coolthulhu picture Coolthulhu  路  3Comments

ituluwituluwzev picture ituluwituluwzev  路  3Comments

Cyrano7 picture Cyrano7  路  3Comments