Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Mutagen Catalyst (again) #70735

Closed

Conversation

fairyarmadillo
Copy link
Contributor

@fairyarmadillo fairyarmadillo commented Jan 7, 2024

Summary

Balance "Removes mutagen catalyst, carries its function over to primer"

Purpose of change

Continued from #70699 - @kevingranade mentioned that I hadn't adequately explained my reasoning for this proposal. @I-am-Erk convinced me to open a second PR, as the first had most of its justification buried in comments to attempt to do so.

A quick clarification before I get started: When I say 'catalyst' I am referring to the vitamin which is currently called 'mutagen'. When I say 'primer', I am referring to the vitamin which is currently called (type) primer. These are different from the item which is called (type) mutagen.

So here goes:

Mutate() currently works by checking for two vitamins, catalyst and primer. Primer doesn't do anything but give you buffs. Catalyst also doesn't do anything. Every 45 minutes to 6 hours or something like that, the game spends 100 catalyst to roll to see if you get a mutation. If you do, it then picks a primer vitamin you have, and if you have enough, it deducts some from that and gives you your mutation.

  • There is an irreconcilable issue with our system needing two vitamins to work. The vitamins have an asymmetrical decay/expenditure rate, and without removing one of the vitamins, this can't be fixed without dumping most of our existing mutation code, as it relies on a lot of randomness so that results aren't deterministic. Specifically, the system is always spending catalyst at a random and highly variable rate, but only spends primer when you actually mutate. As @actually-a-cat pointed out, this results in a situation where you are always running out of catalyst. As @Terrorforge points out, crafting primer is a trap option because of these lopsided requirements. The result is that you are forced to wait for weeks while nothing interesting happens just so your primer can decay.
  • Primer, a substance made of concentrated blob matter, gives you free long-term buffs without mutating or in most cases even harming you. This is off-theme and runs counter to what we want out of mutations, which is life-altering body horror, not temporary super doggo juice. These long-term risk-free buffs were the stated reason for catalyst being a thing at all. If we remove the buffs, it serves zero purpose.
  • Mutating is confusing in an out-of-character way that discourages people from engaging with the system. Rather than encouraging experimentation and exploration, it is mostly just alienating for players and is driving many away from using the system. See additional context for evidence and testimonials.
  • As @Zireael07 pointed out, 'catalyst' and 'primer' don't translate well conceptually to other languages. I don't think they're good terms in English either, as they're neither medical terms nor familiar fictional ones like "mutagen". What players are expecting when they go to a mutagen lab and inject a vial labeled BIRD is that they will enter a state of possibly gaining some bird traits. They are understandably confused when instead, nothing happens, especially when there's a good chance that the chemical that actually turns them into a bird doesn't even spawn in the same facility. Having nothing happen will be their experience taking 3 and possibly 4 of our current types of mutagen drugs!
  • There are 3 vitamins and 5 items named "mutagen". One of the reasons this PR is so verbose is because it's difficult to even discuss the system because you constantly have to clarify what you're even talking about.
  • Worse, typed mutagen contains both primer and catalyst, but with a much higher amount of primer, so you can't use it to top off your catalyst because overdosing on primer is deadly. You might assume that regular mutagen (the item) would work for that purpose, but that's actually a completely different thing that contains a small amount of every primer in it. So "mutagen" = all primers, "(type) mutagen" = mutagen+1 primer, "catalyst" = mutagen, "primer" = 1 primer. Madness!
  • Players can't see how much of either vitamin they have. Their only guidepost is in the effects panel, which shows a chunk of prose that is only meaningful if you already know the system. I always have to go look it up, myself. The effect intensity names are all just synonyms for the same thing - changing, metamorphosing, warping, mutating, transmogrifying - it doesn't matter what you write, it's largely subjective, especially once we translate it into another language. Even if it showed the numbers plainly, you'd still need to consult a guide to understand what your target numbers were even supposed to be.
  • Your excess primer that you can't get rid of can in some cases damage you over time and eventually kill you, and there's not a lot you can do about it. Chelator can address this, but it's rare and uncraftable. Of course overdosing on mutagens should be dangerous, but you have no way of knowing if you're a dead man walking for quite some time after your fate is sealed.
  • The above issue incentivizes largely avoiding the system until you have a huge stockpile of primer and catalyst so that you can deal with any life threatening oopsies, rather than mutating gradually over the course of your adventure.
  • Getting rid of one of the vitamins and just having primer do everything will maintain all the benefits of the current system, and the only things that will be lost are the confusing black box micromanagement, the free long-term buffs with no downsides, and weeks of waiting with nothing happening.

Describe the solution

Mutate() will work by checking for any primer in your system. Every 45 minutes to 6 hours or something like that, the game picks a primer vitamin that you have and spends 100 of it to roll to see if you get a mutation. If you do, it then picks a primer vitamin you have, and if you have enough, it then deducts some from that and gives you your mutation.

  • Catalyst (the vitamin currently known as mutagen) is removed.
  • All of Catalyst's former functions are simply ported over to primer, so that one vitamin does both jobs. This is currently accomplished by replacing Catalyst's EOC with a few lines of C++ that accomplish the same thing, checking for effect flags instead of a specific effect. If it's absolutely critical that not one new line of C++ be added to the mutation system, I can probably figure out a way for EOCs to pass the effect's mutation category as an argument to mutate(), though I don't understand why we'd want this specifically in an EOC. I also suspect a new EOC would need to be made for every single mutation category, including all those added by mods. They would not differ in any way from each other, because that difference is handled in the existing primer jsons.
  • Truly random untyped mutagens are re-introduced for players who enjoy playing Russian roulette, or who just want to dip their toes in and see what happens. This also means that if a new player is exploring a lab, finds a mutagen, and says "I wonder what this does", the answer isn't "nothing, actually."
  • Player-side, nothing changes from the current system, except that they inject a primer instead of a primer and a catalyst. All of the probabilities, risks, messaging, time to mutate, and everything else is kept as it was.
  • This also keeps the current weighted selection of mutation categories, and has no effect on the risk involved in trying to mutate multiple categories at once.

Describe alternatives you've considered

  • Renaming the chemicals and vitamins without deleting any: This is addressing a symptom, not a cause. It might reduce some confusion, but it won't alleviate it because we're still dealing with 3 vitamins and 5 chemicals that have opaque and lopsided interactions.
  • Signpost it better with messaging: The messaging is already painfully clear, the player is told far more than their character could possibly know in mostly out of character terms. It literally tells you to go inject more primer if you're out. People still aren't understanding why it isn't working. The problem is not a lack of explanation, it's that the task is artificially complex in a way that is not always able to be intuited even by attentive players.
  • Signpost it better with effect descriptions: Again, these are just prose, we don't (and shouldn't) show numbers. Players are forced to guess whether metamorphosis is better or worse than transformation or mutation. This also runs into the translation problem.
  • Signpost it better with snippets players can find in labs: We already do this.
  • Help files: This should be done in any case, but we all know that only a small percentage of players will ever consult the help files, especially with HHG and a very outdated wiki sitting right there. Most people assume the helpfiles aren't maintained, or if they're like me, they don't want to do a bunch of math homework in order to play a video game.
  • Adjust spawns: Again, this would help, but not fix the core problem with the system.
  • Adjust decay rates: This won't work because what's happening is that you are being taxed an amount of catalyst every time mutate() runs (which itself happens at random intervals) regardless of whether you mutate or not, and that's in addition to the natural decay rate. So your catalyst rapidly ticks down at an unpredictable rate while your primer just sits there.
  • Increase the decay rate of primer: If this was done at a sufficient rate to keep up with Catalyst's decay and expenditure, you'd usually run out too quickly to mutate.
  • Remove or reduce primer buffs: Yes, absolutely, but it won't fix the core problem.
  • Make chelator craftable: This is the worst kind of fix. It's just handing the player even more busy work to fix a problem that does not need to exist, and it further convolutes a convoluted process.

The burden of justification is on the contributor, and I think I've done that, but I should also ask: What exactly is the benefit of not doing this? The proposed system is exactly as random, exactly as risky, has the exact same chance of not working even if you do it correctly, and takes exactly as long to mutate you. All that is lost is the guesswork trying to balance two randomly changing integers you can't see with chemicals that take days or weeks to acquire.

Testing

Ongoing

Additional context

The first four quotes are random people on my discord. They're obviously going to be biased toward me, but the collection of reddit posts is just what I immediately got searching 'primer' on the subreddit. I keep up with people over there and these complaints are as frequent as they look.

image
image
image
image
image

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON [C++] Changes (can be) made in C++. Previously named `Code` Game: Balance Balancing of (existing) in-game features. labels Jan 7, 2024
@carlarctg
Copy link
Contributor

carlarctg commented Jan 7, 2024

Thank you so much. It's so nice to see this, and I really appreciate the writeup.

Two personal anecdotes:
When i was mutating some of my companions, I had to constantly manage their primer and catalyst. It was very annoying as I had to micro-manage two types of vitamin, and that's with me not caring about their phenotype stability.

I injected some purifier to reverse my mutations, and apparently I overdid it heavily. It took weeks for it to go from Human Reversion to Human Purification or whatever, and I died before the effect fully cleared. I didn't have any mutations left to purify so I was just screwed. Chelator exists but is uncraftable and so rare it doesn't matter.

The latter won't quite be solved with this but it'll help with both.

@I-am-Erk
Copy link
Member

I-am-Erk commented Jan 7, 2024

So, after reviewing with several others, I think the consensus is:

  1. We do still want catalyst
  2. Catalyst isn't doing what we want
  3. You've identified several other issues in the process.

1. What do we like about catalyst?

Well first, the complex two variable problem you've described isn't currently balanced right, but it is desirable. It makes the system feel chaotic and mad sciency because it isn't easy to game and predict. However it should be easier to use.

Second, it adds a lot of flexibility in how we can work mutations that we just aren't using yet. The system wasn't finished so that's understandable, but some things could be done pretty easily now. For example we could make post thresh mutants produce a small amount of primer vitamin constantly, to help encourage mutations in that line regardless of what mutagen you take. We could also have primer have some kind of effect in post thresh mutants (eg a mutation that requires them to ingest primer in order to sleep or heal) to create an "unstable mutant" feeling.

2. What do we want catalyst to do?

Right off the top I'd suggest:

  • significantly reduce the rate catalyst drops when you "fail" a mutation roll. This number was meant to be playtested and adjusted and didn't get that, and I think a lot of trouble here is that it's just dropping too quickly, making it hard to tell whether you're going to mutate or not. At a guess we might change it to drop by 50 or 25 on a first pass and see how that feels.
  • consider removing the mutagen type that includes catalyst. Let's just have primers and catalysts. If we want to keep something like the old weak non_serum mutagens we could just have weaker primers but I'm not sure we need to keep those.
  • consider adding primer as a vitamin to some consumables in the world. Eating mutant meat may give you a small chance to mutate, but only if you take catalyst. This is one of my favourite changes because it lets us bring back some of the nonsensical mutation stuff from long ago but now it isn't nonsensical. Eating a mutant bug won't turn you into a bug, unless you also take catalyst, which is the thing that actually causes you to mutate.

3. Some of the other issues

  • primer should have flavour only effects, not buffs. The idea is to give you a clue about how much is in your system, the stat buffs have become undesirably meta.
  • chelator has always been intended to be widely available and craftable, it just never got implemented.
  • Mutagen spawns should probably be increased across the board.

Not solved

I still don't really consider it a problem that you have to balance two types of vitamin to make this work. That complex balancing act is desirable. However I agree that it seems to not be very fun to manage it right now. I think that's fixable, but it's kind of a desired design goal that it feel complex and easy to mess up, just not so obnoxious.

Hope this is helpful.

@Zireael07
Copy link
Contributor

@I-am-Erk First, we need a naming change AND translator comments. I am an English major yet I couldn't figure out what the two things are and how they work, whether I tried to play in my native language or in English.

Without that, any attempts to keep the "two types of vitamin" around fail to address the core issue - that the two types aren't described or named well and that they are unclear in practice. (I'll grant that you likely have a different perspective, as a programmer you have access to the code behind it)

@I-am-Erk
Copy link
Member

I-am-Erk commented Jan 7, 2024

I don't think a name change is a great idea now as it will invalidate a lot of tutorials, but a translator comment would be doable.

@actually-a-cat
Copy link
Contributor

actually-a-cat commented Jan 7, 2024

This is something fairyarmadillo has already explained, but I'd like to highlight the naming problem as possibly the biggest issue that causes confusion, far more than the actual mechanics. It's not that the mechanics are extremely complex, but they are almost impossible to talk about because of the confused terminology.

  • "Mutagen" refers to four distinct things or categories, which must be distinguished to make meaningful statements about the system: the general concept of items that cause you to mutate, the mutagen item, the mutagen_* items and the mutagen vitamin.
  • "Primer" refers to two, the iv_mutagen_* items and the mutagen_* vitamins
  • mutagen and mutagen_* are very different items with completely different uses, but they both have "mutagen" in their name, and there is no reasonable term available to refer to either in exclusion of the other
  • A "catalyst" provides "mutagen". A "primer" provides "primer". A "mutagen" provides "mutagen" and "primer".
  • "vitamin" is a technical term that is misleading for those not familiar with game internals, but mutation "vitamins" must be explained to explain the system, and there is no other term available
  • Some of those things also use legacy IDs different from their actual names, which doesn't affect players, but makes things even more difficult for contributors.

This is a NIGHTMARE. I play with mutagen with almost every character who survives long enough and I still had to look things up while writing this comment to avoid confusion. It inevitably leads to any help-text or guide relating to mutation being extremely verbose and baffling. Anyone writing about mutations has to either begin by laying out their own set of definitions, or parenthesize every other sentence.

To make sure I'm getting across the problem, as an example, let's try to answer a very simple question (variations of which I have been asked many times):

how do I use mutagen to mutate?

first, what does the asker mean? Any mutation-related item? Specifically the "mutagen" item? A "typed mutagen"? Let's assume the first and compose an answer...

To mutate, you need to have enough mutagen and primer in your system. You can get the mutagen from mutagen, or the other mutagens, or catalyst. You can get random primers from mutagen, but if you want a specific primer, use the other mutagens, or primer. The mutagens also give you mutagen, but the primer only gives you primer, so if you're using primer, you'll have to use catalyst to get your mutagen. The mutagen is also quite unhealthy and can make you sick and increase your chances of bad mutations, but the other mutagens are safe. The mutagens also don't give you an optimal amount of mutagen, so it's useful, but optional to supplement some catalyst.

(poe_staring_at_paper.jpg)

This is an accurate and complete answer, and I made a genuine attempt to make it as simple as possible, but it's incomprehensible because of the massive ambiguity of the terminology. I leave as an exercise for the reader to attempt to disambiguate the above, or otherwise write an answer that means something, without making it into an essay.

Coming up with distinct (and ideally intuitive, but above all else, distinct) names for every mutation-related item, vitamin and concept would dramatically reduce confusion without any actual mechanical changes. It would be far more feasible to communicate how this all works in-game if it took two sentences to answer a question rather than twenty, and out-of-game help would be far more digestible too.

@GuardianDll
Copy link
Member

it is something you tried to fix in #62018, right? i agree it is confusing topic, and we should resolve it even if it can hurt the guides, and resolve it from both naming side and id side

@actually-a-cat
Copy link
Contributor

Yes, I made a half-hearted attempt at it. It wasn't completely thought through and I didn't have it in me to endure the bikeshedding inevitable in a PR of this type so I let it go, but I still think it's necessary to do.

@anoobindisguise
Copy link
Contributor

anoobindisguise commented Jan 7, 2024

We could do:
"X Blueprint" (drunk) and
"Concentrated x Blueprint" (injected) which should have a massively higher payoff rather than being two mutagens in a syringe.
If we're absolutely deadset on keeping generic "fuel" mutagen rename that to something obvious to make it clear it's the "fuel".
Then possibly make it give you random mutations if you don't also have a typed mutagen present to tell it what to do. So it becomes the actual mutation source and typeds tell it what to do but it can act on its own too.

@I-am-Erk
Copy link
Member

I-am-Erk commented Jan 7, 2024

I should clarify I'm okay with making the names more clearly distinct, but I don't want to completely change them to the point that it will make the last year of guidelines confusing. What I would suggest is maybe:

  • "mutagen" refers to catalyst. I suggest we change the name to "mutagenic catalyst" so that it's completely clear what it is but the old terms still stand.
  • "primer" is what you take to tell your body how to mutate. Let's maybe call it "mutation primer".
  • like I said, let's remove the mixed type of mutagen so there's just these two. (Or make it a weaker primer, eg "impure mutation primer")
  • there's no real way around the body amounts of these things being called vitamins but we could give them clearer terms like "absorbed_primer" and "absorbed_catalyst" or something like that so that it's clearer if we're talking about the items or the vitamins.
  • anything that's not the catalyst item or vitamin should not be called a mutagen. This makes it clear that catalyst is what actually causes you to change.
  • Anything that's not the primer item or vitamin should not be called primer.
  • Some names to sprinkle through could be "mutation precursor", "biological extract", etc... it doesn't really matter too much as long as we ensure that there are just two parts that you can take to mutate and they have two distinct names, and those names are fairly understandably equivalent to what they used to be called.

@I-am-Erk
Copy link
Member

I-am-Erk commented Jan 7, 2024

To be extra clear, I think we should try to discourage primer from being called mutagen at all. It's part of the mutation process but it's not actually a mutagen, itself. This is both technically correct (it does not cause you to mutate) and helpful to show what I mean. Catalyst is the mutagen, and so if we're calling anything else a mutagen we're both being incorrect and confusing. (I know the internet at large is still going to call everything loosely associated with mutation "mutagen" but we can do our best)

@anoobindisguise
Copy link
Contributor

(I know the internet at large is still going to call everything loosely associated with mutation "mutagen" but we can do our best)

Name changes are hard so it's important that we choose one "sticks" and is easy to remember. I know I still call the needley ones "serums" by habit. As I said I'm personally partial to glass vial > bird blueprint

@I-am-Erk
Copy link
Member

I-am-Erk commented Jan 7, 2024

I think blueprint is going to make people think it's a written document.

@anoobindisguise
Copy link
Contributor

So "lore" question then from a realism standpoint - if mutating requires a lab specific chemical and doesn't happen without it and that chemical doesn't occur naturally how is the world filled with mutants? I'd assume the directed mutation would be something a lab can do, but chaotic random mutations would be common and possible without labs or tickling a yugg.

@prharvey
Copy link
Contributor

prharvey commented Jan 7, 2024

One small nit that has kind of bothered me, is that the name "catalyst" isn't accurate since it is being consumed to mutate. Changing it to "reactant" would be more accurate, and would make it clear that it is a fuel that is being consumed.

@Zireael07
Copy link
Contributor

@I-am-Erk Maybe "liquid DNA blueprint"? A bit wordy but if we want to avoid having everything be named mutagen, we pretty much can't avoid wordiness.

@prharvey "reactant" has the same problem "catalyst" had. How do you make it clear what it does as opposed to "primer"? (Also, "catalyst" is a much better known word, "reactant" is extremely niche, if you're not a chemist you won't know what it is and how to translate it)

@prharvey
Copy link
Contributor

prharvey commented Jan 7, 2024

I will leave the discussion around clarity to others that understand the system better, but the fact that "catalyst" is a better known word in your opinion is kind of irrelevant - the word is being used wrong. It isn't a catalyst, it's a reactant. I would think the wrong word being used would be a greater barrier to accurate translations than how better known it is.

@Zireael07
Copy link
Contributor

Zireael07 commented Jan 7, 2024

@prharvey Point. I'm not a chemist, just a player and a translator (not CDDA translator, though)

Even more proof how important name selection is

@I-am-Erk
Copy link
Member

I-am-Erk commented Jan 7, 2024

how is the world filled with mutants?

It's reasonably clear that mutation happens randomly. There are NPCs with it. It's just pretty rare, completely random, and not something that is fun to happen to a player.

It's way out of scope here but there can be options for a player to be someone who randomly mutates without catalyst.

Re. Catalyst being consumed: this isn't as big a problem as it appears. It's entirely possible that it's being metabolized by the body, not destroyed in the mutation reaction. This is kinda shown already by how the level drops even when you aren't mutating. As stated above I really don't want to remove the term "catalyst" at this stage of the game. (If we did, I'd call it Mutagen Activator).

Re. Blueprint, I just don't think this is significantly clearer than "primer". A mutation primer primes you for mutation, a mutagenic catalyst activates (catalyzes) the change.

@I-am-Erk
Copy link
Member

I-am-Erk commented Jan 7, 2024

Before the next sequence of replies I'm going to add:
"How do we change the mechanics", "what do we call the parts", and "what do we call the internal mechanics" are three largely unrelated questions. I would suggest that this pr should really only be about how we do the mechanics. This conversation about terminology should be made into a separate issue and stop clogging the PR up.

@fairyarmadillo
Copy link
Contributor Author

fairyarmadillo commented Jan 7, 2024

Leaving two vitamins in is a huge mistake and any attempt to fix it without changing that is arranging deck chairs on the Titanic. Our players are not CDDA developers, they do not understand the system, and it only feels like "mad science" to you because you already know how it works.

Unnecessary obfuscation and make-work are a poor substitute for something that's genuinely mechanically engaging, and the fact that we've had to litter it with way too much out of character information means it isn't even immersive.

@ADekema
Copy link

ADekema commented Jan 7, 2024

I think we should keep the buffs. They add a interesting layer and flavor to mutation. I also very much like the idea of certain mutations introduce a certain amount of primer into the system of a mutant with thier associated buffs and down sides. Something like post-thereshold chimera having a random set of primers in thier systeem giving them random buffs or debuffs with the possibility of sometimes overdosing. On some moments they would be really powerful on others not so much.

The problem is that you can roid yourself with 12 differant types of primer without suffering complete metabolic collapse. The total amount of all types of primers should probably be checked. If the total amount gets to high there should be consiquences:

1-2 primers at high (non-overdose but with noticable buff effects): Your metabolism is altered by the primer giving your buffs but your body can handle it. Maybe you need extra water and calories becease you are effectively overclocking yourself.

3-4 primers at high (non-overdose but with noticable buff effects): Your metabolism doesn´t function as well and you start to notice it. Probably gives some debuffs that negate some of the primer buffs and mild extra symtomes like sudden pains needing extra calories and water.

5+ primers at high (non-overdose but with noticable buff effects): Your metabolism can´t handle all the primers anymore and starts to repadly fail.

Another way to increase the cost would be to move the health impact from using primers and catalysts from the consumtion of the item itself to the effect it gives. This way you can have a character walk around for weeks with a buff from primer. It will however also very quickly destroy thier health.

@fairyarmadillo fairyarmadillo deleted the removecatalyst branch January 7, 2024 20:41
@I-am-Erk
Copy link
Member

I-am-Erk commented Jan 7, 2024

At this point I will probably have to go repost this discussion onto a set of issues, so you'll have to watch for those and make your arguments there @ADekema, they run the risk of being lost here. I don't disagree with you but I think that mechanic belongs elsewhere, not with primer.

@fairyarmadillo
Copy link
Contributor Author

(eg a mutation that requires them to ingest primer in order to sleep or heal) to create an "unstable mutant" feeling.

This would be unplayable. The reason nobody plays mutants currently is that it takes such an ungodly amount of resources to even get there that there's zero breathing room for experimentation, the real-life time loss if you mess something up or get unlucky is unbearable. Requiring more of those resources which are locked in subway lab slogs or the one admittedly good but gets old fast TCL just to survive would be a ridiculous mistake.

@GuardianDll
Copy link
Member

> it takes such an ungodly amount of resources to even get there

It can be fixed by giving more resources for player

> zero breathing room for experimentation

So does in old system

> the real-life time loss if you mess something up

messing up doesn't kill you, what the problem?

@fairyarmadillo
Copy link
Contributor Author

messing up doesn't kill you

Yes, it does.

@CleverRaven CleverRaven locked as too heated and limited conversation to collaborators Jan 7, 2024
@esotericist
Copy link
Contributor

esotericist commented Jan 7, 2024

alright, i'm calling it here. if someone wants to pursue a specific line of change in a new issue or pr, feel free to start fresh from there, but we don't need bickering in a closed PR.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
[C++] Changes (can be) made in C++. Previously named `Code` Game: Balance Balancing of (existing) in-game features. [JSON] Changes (can be) made in JSON
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants