Killing Floor 2

Killing Floor 2

Controlled Difficulty
 This topic has been pinned, so it's probably important
blackout  [developer] 25 Jun, 2017 @ 5:29pm
FakePlayers Confusion & Proposed Changes
Edit: the changes described in this post were implemented in the following release:
https://steamhost.cn/steamcommunity_com/workshop/filedetails/discussion/738484519/1471966894875023135/

FakePlayers options in CD are confusing

CD's group of new FakePlayers-related options have prompted more confusion and questions than any other single topic in CD. I specifically mean these options:

  • FakePlayers=#
  • BossFP=#
  • FleshpoundFP=#
  • ScrakeFP=#
  • TrashFP=#
  • FakePlayersMode=add|replace

That's a pretty ugly list. This arrangement is the product of messy evolution, rather than one-time design. It's easy to see how this could be confusing. Here are some problems with it:

  • It's not clear from the names how FakePlayers interacts with the other *FP options. Multiple people thought this is what FakePlayersMode controlled; this is incorrect.
  • The naming scheme is internally inconsistent ("FP" only abbreviated in some of the options).
  • FakePlayersMode has caused no end of confusion. It's not clear to people which options it affects (the name makes it sound like just FakePlayers would be affected, but it affects the *FP options too) or what it even does ("add" and "replace" are too cryptic).

I generally avoid changing config options to keep compatibility with old configs. But the situation with fake players options is so bad that I think intervention is warranted.

Proposed changes

I propose the following:

  • WaveSizeFakes=#
  • BossHPFakes=#
  • FleshpoundHPFakes=#
  • ScrakeHPFakes=#
  • TrashHPFakes=#
  • FakesMode=add_with_humans|ignore_humans

Each option controls fake players in one specific aspect of the game, independent of the other aspects. "Aspect" here is wave size, boss hp, etc. FakesMode says whether the aspect's end result includes human players (by adding the Fakes # to the human player count) or ignores human players (by counting only the Fakes #).

Benefits of this approach:

  • Internally consistent name scheme ("Fakes" appears in every option in the family)
  • Makes it clear that old FakePlayers -- now WaveSizeFakes -- does not affect the HP Fakes options
  • FakesMode=add_with_humans|ignore_humans is less confusing (I hope) than add|replace
  • No more cryptic "FP" abbreviation


Furthermore, this would be trivial to implement, because it's actually just a mass-rename of existing options. No functional changes inside CD are required, aside from renaming options and converting "add" -> "add_with_humans" and "replace" -> "ignore_humans".

Here's a table showing the explicit correspondence between new and old option names:


New Name Old Name ----- ----- WaveSizeFakes FakePlayers BossHPFakes BossFP FleshpoundHPFakes FleshpoundFP ScrakeHPFakes ScrakeFP TrashHPFakes TrashFP FakesMode=add_with_humans|ignore_humans FakePlayersMode=add|replace

I considered several ideas before settling on this one. I even briefly considered abandoning the idea of "fake players" in these options, but I decided that "fake players" as a concept was too deeply entrenched in the KF community for me to walk away.

What about my config? It contains old options like FakePlayers.

Those option will be silently ignored. I apologize for the inconvenience. I think the cost of backwards-compatibility is just too steep. If I accidentally introduce a bug specific to a hypothetically backwards-compatible config system, then the cost might even outweigh the benefits.

However, because every one of the old options corresponds exactly to one of the new options, you could convert your config using simple text search-and-replace. It would work identically after conversion.

These options are longer to type. Is there a shortcut to save typing?

Chat command shorthands help. For instance, we have !cdfakeplayers and shorthand !cdfp today. This might become !cdwavesizefakes and !cdwsf in the proposal. That's one more character.

The longer option names will still have to be typed in KFGame.ini and on the `open` command-line.
Last edited by blackout; 29 Jul, 2017 @ 12:12pm
< >
Showing 1-3 of 3 comments
Leenker 25 Jun, 2017 @ 11:22pm 
The limit value for bosshpfake is only 32. Can you extend it ? I just want to increase it to 64 or higher.
blackout  [developer] 26 Jun, 2017 @ 1:05am 
I can probably increase the limit, but just out of curiosity, why do you want such a high value? Are you running a server with dozens of people?
Leenker 26 Jun, 2017 @ 1:14am 
Ah... Only max 16 players and somehow they feel that boss wave is only most boring wave.. Even sometime, we just have 10 players in server, we feel that a boss with 32 player's health is still easy. But increasing boss health is just one solution, i hope you can tweak any new config option for increasing boss's damage... lol.
< >
Showing 1-3 of 3 comments
Per page: 1530 50