Il livello di difficoltà (DL) sarà visibile ad alto livello e modificherà fattori di gioco quali “numero di nemici per stanza” e “livello di forza dei nemici per stanza” durante la progressione della run.
Il DL sarà salvato all’interno del game manager settato a 1 all’inizio della run.
All’interno del game manager ci sarà una table che definisce per ogni pianeta :
Ogni stage avrà un livello di difficoltà iniziale (StageDLStart) pari a PlanetDLStart + SSincrement x posizione dello stage all’interno del pianeta
.
Dall’inizio dello stage alla fine dello stage il livello di difficoltà varierà dal StageDLStart
al PlanetDLtarget + SSincrementMax x posizione dello stage all’interno del pianeta
, passando da stanza a stanza ci sarà quindi un incremento del DL pari a (PlanetDLtarget - StageDLStart) / numero stanze dello stage.
il numero di nemici per stanza sarà uguale a :
rounded(numero di spawner della stanza x 2 x DL)
All’interno dell’EnemyManager ci sarà una table che associa ad ogni tipo di nemico un relativo livello di difficoltà/livello di forza del nemico.
La probabilità che un tipo di nemico spawni all’interno di una stanza è gestita dal livello di difficoltà attraverso la seguente formula :
exp( - 0.5 * pow((DL - enemyType.level)/ s, 2))
s = ampiezza della gaussiana, più piccolo è s più i nemici spawnati saranno esclusivamente del livello di forza più vicino al DL corrente. Aumentando s si aumenta varianza tra le tipologie di nemico spawnate.