Giter Club home page Giter Club logo

kf2-hardcore-endless's Introduction

kf2-hardcore-endless

This repository contains custom hardcore waves (ini files) for Killing Floor 2 Endless mode using Custom Zed Waves mutator, as well as a generator of such files from YAML configs with convenient structure. Once you got/generated corresponding ini file, see the mutator's docs on how to use it.

Hardcore endless waves

  • config A is harder than config B
  • config B simply contain all kinds of so-called special waves (consisting of mostly one zed type), whereas more design thought to create more nasty waves is put into config A
  • both set of waves can be completed with a decent team, though it might take up to 10 hours depending on your skills
  • waves utilize all zeds in the game (including alpha-zeds, bosses, and alpha-Patriarch) available as per May 2018
wave
1 "First blood" Cyst
2 "2 surprises" Slasher
3 Crawler Crawler
4 Pondemonium prelude Clot
5 all 4 bosses (T=1min) Abomination
6 Bloat Stalker
7 "Alpha wave" Gorefast
8 Clot Rioter
9 Pondemonium AlphaSlasher
10 Hans, 2FPs, Abomination (T=2min) KingFP
11 Siren EliteCrawler
12 Husk prelude AlphaHusk
13 Gorefast Gorefiend
14 Pondemonium+ Siren
15 2x King{Flesh, Bloat} bosses (T=3min) Hans
16 Bloat + Siren Bloat
17 Husk AlphaStalker
18 Stalker AlphaClot
19 "All of them" AlphaCrawler
20 King Pondemonium (T=4min) AlphaPatriarch
21 "Untypical typical wave" AlphaGorefast
22 Scrake Quarterpound
23 Cyst AlphaSiren
24 mini-Pondemonium AlphaBloat
25 King Bloats (T=5min) Patriarch
26 Alpha Pondemonium Scrake
27 ????? Husk
28 ?????[2] AlphaScrake
29 โ€” AlphaFleshpound
30 โ€” Fleshpound

How to use the generator

$ python main.py -h

usage: main.py [-h] [--txt] [--markdown] PATH

Generate `kfzedvarient.ini` file from given YAML config and save it to the
same directory.

positional arguments:
  PATH        path to YAML config

optional arguments:
  -h, --help  show this help message and exit
  --txt       display wave names (default: False)
  --markdown  display wave names in Markdown format (default: False)

Generator features and YAML config structure

  • on top of config there are the following meta parameters:
    • n_players: even though the game will automatically adjust a number of zeds depending on the number of players, this might affect zed types ratio or the order in which they spawn; this option, in turn, can provide finer control if you know with how many teammates are you going to play
    • difficulty: used to calculate the number of zeds from [wiki]; for hardcore, only hoe is supported ๐Ÿ˜ˆ
    • zed_multiplier: a global multiplier of number of all zeds in all waves
    • custom_zeds_ratio_policy and custom_zeds_ratio_policy_params: control the ratio of generated (i.e. custom) zeds, as opposed to zeds generated in KF2 Endless by default; for instance, custom_zeds_ratio_policy: 'make_line_const_interp' and custom_zeds_ratio_policy_params: [[1, 0.975], [20, 0.825]] will gradually decrease the ratio of custom from 97.5% at first wave to 82.5% at 20th, keeping it like that afterward
  • after that there are zed-specific options, all of which can be set 1) globally for all waves and all zeds, 2) for all zeds in a specific wave, or 3) for specific wave and specific zed:
    • mutator options spawn_at_once, probability, spawn_delay, number
    • ratio: unnormalized non-negative fraction of certain zed type
    • n_generators: number of "spawners" for certain zed type; can be used to spawn zeds more rapidly (e.g. generate all Stalkers in the waves before zeds of all the other types)
  • total number of zeds is estimated from [wiki] using meta parameters n_players and difficulty, after that multiplied by zed_multiplier, and finally computed taking into the account custom_zeds_ratio_policy, custom_zeds_ratio_policy_params
  • for boss waves, total zed count is estimated by linearly interpolating between the adjacent waves
  • as per [wiki], zeds became to spawn faster in later waves, which was actually way too fast for provided set of waves (causing FPS drop); therefore, the multiplication of all spawn_delays the so-called "spawn delay multipliers" is undone (i.e. divided by); this also enables more transparent control of the spawn delays

kf2-hardcore-endless's People

Contributors

yell avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

anthonysirois

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.