vgstation-coders / vgstation13

Butts
GNU Affero General Public License v3.0
266 stars 545 forks source link

Dynamic mode discussion or : Should we go back to secret ? #23153

Closed ShiftyRail closed 5 years ago

ShiftyRail commented 5 years ago

Description of issue

Dynamic mode options made it possible to emulate the "classic secret" experience - one gamemode, only autotraitor and minor antags spawned.

People are complaining about dynamic a lot. This issue is here to give them a platform to discuss their ideas.

What is wrong with Dynamic, and why can't we (seem to) make it work, more than half a year after its released ?

First, dynamic code in itself has been pretty much rewritten extensively since its inception. Midround rulesets are now a lot clearer to write and execute ; a lot of numbers have been tweaked ; we can implement delayed rulesets, and so on.

The issue is that the code is too complicated and with way too many factors to tweak efficiently. It's extremely hard to represent what 35 or 25 threat cost will do as a difference ; the end result is that you get something that is very hard to balance.

There is simply way too many variables to track, understand, and analyse for it to be balanced properly. We're reduced to throwing numbers at the walls and see what sticks.

Solutions

There are several possible solutions to this :

*there's a PR up to tone that down already ; it's just conflicting.

OriginalBorbsRA commented 5 years ago

I can't give a detailed opinion giving I know jack and shit about the escalation rules, but definitely toning down or removing some of the more obtuse parts of the threat generation should be a part of it, if not trying out secret again in some capacity. Preferably when some part of the administration is around so we don't return to the (X)-stended of old.

Caboozles commented 5 years ago

I feel like sometimes we don’t need everything at once. Even just the threat of dynamic is more interesting (people won’t immediately yell “IT’S CULT” and not think there’s anything else going on)

But not every round needs three vampires and a cult. Sometimes just a cult or just tators could be fun.

ancientpower commented 5 years ago

While I think dynamic is far better than secret (at least now), there's definitely room for improvement. There's issues popping up constantly that drastically improve dynamic when fixed. The current one with cult spawning with only one enemy is indicative of a major problem with dynamic where it tends to fall to one extreme or the other instead of creating robust conflict.

Having a chance for classic secret (or any other possible variations on dynamic) to fire would be interesting as long as players can't easily tell what's happening.

Kitfox88 commented 5 years ago

Dynamic is okay, it's just a little heavyhanded sometimes. Reduce ways to generate additional threat during the round and maybe have it spawn only a single round-ending thing per shift. Changing it to just low, medium, and high threat would be simpler for any future tweaking as well.

FudgePucker commented 5 years ago

We might just need more non round gunking things to be generated. Right now its cult every round because it's a six sided dice. Cult and wizards and such would be less common if it was a twenty sided dice

FudgePucker commented 5 years ago

Also have random events be tied into threat. Space carp migration would require X amount of threat and remove Y threat when generated. This would require reworking the event system, but it is the next possible step towards getting dynamic to work

Lunstra commented 5 years ago

Random events having threat impacts would be nice, a xeno empress spawning in the library or something really should cost threat.

DeityLink commented 5 years ago

Reminder that original Dynamic was never planned to allow for midround threat generation. I suggest disabling both that and reducing the occurence of multiple roundstart rulesets, which according to the logs are already fairly uncommon.

DeityLink commented 5 years ago

Also tying in the random events do dynamic is fairly easy, just add another cooldown variable similar to the latejoin/midround ruleset ones, and create midround rules for every random event you wish to reimplement. Dynamic can easily be tweaked to allow for antag-less rulesets (and honestly I thought someone else would care enough about random event to do it but I guess midround threat generation was more important)

utilitas- commented 5 years ago

Here's an idea. Have a minor chance to start with no roundstart ruleset even if the threat isn't low, with only midround and latejoin antagonists. You could give it a special summary report (Wandering Station.) Call it Extended+. It would serve two purposes: Further incentivize latejoining (we need more latejoin antags either way) and to fight against "didn't get an antag roll time to shuttle call" heads. Plus it'd be nice to have a chance for the station to prepare against threats without adminbussing late into an extended round.

Arthurdentist commented 5 years ago

I really just feel like we need more variety of antags. Its no wonder people get sick of it when its so incredibly predictable.

DeityLink commented 5 years ago

Beside cult, only minor antags have been added since datums, and in the last survey poll they performed quite poorly. Only vampire is less popular than ninja.

groosbstrd commented 5 years ago

Too many antags at once

icantthinkofanameritenow commented 5 years ago

I really just feel like we need more variety of antags. Its no wonder people get sick of it when its so incredibly predictable.

That's the best solution, although I think "weighting" the choices so the low-threat options will be chosen consistently even at high threat levels (e.g. if threat is high enough to have both cult and traitors as viable choices, traitors are still more likely to show up than cultists) will also help with the "antag overload" issue. As for new antagonists, we already have the changeling in the code- I think one way of fixing things would be to make it so their "power progression" is independent of needing to absorb people (both differentiating them from vampires and making it so they don't just wait for people to be braindead)- it would give a big boost to their chemical storage so there's still some kind of reason to do it, but they could gain DNA points some other way, like the DNA absorption sting they already have.

From there, we could incorporate antags from other servers- Goonstation's "Flockmind" (https://wiki.ss13.co/Flockmind) seems interesting, as does Paradise's "Terror Spiders" (https://nanotrasen.se/wiki/index.php/Terror_Spider)- it helps that we already have plenty of spider sprites and have made spiders playable before via adminbus. All that's needed is to throw in a few verbs and it'll work. The Abductors from a couple other servers seem like they're also a good choice for midround antags, since they don't quite cause enough chaos on their own for them to rank as a full fledged antagonist type.

utilitas- commented 5 years ago

Or maybe, you know, we could make the changeling actually be The Thing as originally intended, and make vampires actual vampires instead of discount changelings. I have never heard of a vampire that can fly through walls or change into someone else.

And now that we have both the tools and the ambitious coders, there is no reason why we couldn't make changeling stand out a lot more. Old changeling was designed way, waaaay before bay medical and breakable limbs existed. But now we can feasibly have multiple player changelings, where each cut off body part can become another changeling- we could implement body morphing and body horror using cut off limbs and the whole shebang. Crawling hands, wriggling arms, writhing and exploding torsos, locomotive heads; dogs transforming into horrid abominations from hell; bodies suddenly chomping off a doctor's arms while he's trying to defib them. Always better than lol i sting u ded.

icantthinkofanameritenow commented 5 years ago

Or maybe, you know, we could make the changeling actually be The Thing as originally intended, and make vampires actual vampires instead of discount changelings. I have never heard of a vampire that can fly through walls or change into someone else.

And now that we have both the tools and the ambitious coders, there is no reason why we couldn't make changeling stand out a lot more. Old changeling was designed way, waaaay before bay medical and breakable limbs existed. But now we can feasibly have multiple player changelings, where each cut off body part can become another changeling- we could implement body morphing and body horror using cut off limbs and the whole shebang. Crawling hands, wriggling arms, writhing and exploding torsos, locomotive heads; dogs transforming into horrid abominations from hell; bodies suddenly chomping off a doctor's arms while he's trying to defib them. Always better than lol i sting u ded.

Very much agreed, though it would be an ambitious plan. But in any case, they will still need a way to change into other people that doesn't necessarily involve the succ.

And adding entirely new antagonist types certainly won't hurt either.

ShiftyRail commented 5 years ago

The problem with coding new antags is that we would need coders with time, experience, and motivation for that.

groosbstrd commented 5 years ago

Or maybe, you know, we could make the changeling actually be The Thing as originally intended, and make vampires actual vampires instead of discount changelings. I have never heard of a vampire that can fly through walls or change into someone else.

The original vampire from Bram Stroker's "Dracula" could turn into a bat, a wolf, and fog that could pass through doors and shit. Just putting that out there.

DamianX commented 5 years ago

So if the issue with dynamic is that there aren't enough antag types, I don't see why we don't just bring back secret. If what you're saying is that regardless of whether we have dynamic or secret the issue is still the pool of antags then it's a unrelated problem...and we can go back to secret?

DeityLink commented 5 years ago

If the issue is the lack of antag types then whether is secret or dynamic the problem will persist.