Skip to content

Improved Level Type Distribution

Compare
Choose a tag to compare
@Coolcord Coolcord released this 29 Apr 04:42
· 174 commits to master since this release

Github releases (by release)

Ever since the first public release of Level-Headed (v0.1.0) back in 2014, users have had the option of setting the commonality for each level type before generating a game. While most people seemed to like this concept, people never seemed too happy with the results. This was mostly due to how Level-Headed used to handle level distribution. Originally, when Level-Headed went to generate a new level, it did not care about what came before or after. This meant that even with a level type being set to Rare, it was possible (though very unlikely) to get an entire game of just that level type. As of v0.3.7, the level distribution algorithm has been completely rewritten. Users now have a choice between "Standard" level distribution and "Random" level distribution.

Standard Level Distribution

This mode is the default and the recommended way of using Level-Headed. It works in one of two ways depending on how large of a game is being generated.

If it is a larger game (currently about 10+ levels), the weights of each level type will be compared against the total number of levels. A maximum number of levels for each level type will then be allocated and distributed in a random order. Level-Headed will also try to prevent level types that are not Very Common from spawning three times or more in a row.

If it is a smaller game, level types will be chosen at random with weighted favor given to levels with higher commonality. A few additonal rules will also be used. For example, Rare levels will only be able to spawn once per game. Uncommon levels will only be able to spawn twice per game. Level-Headed will also try to prevent Common levels from spawning three times or more in a row.

Random Level Distribution

This mode effectively works the same as setting everything to "Very Common" in v0.3.6 and prior. Every level has an equal chance of spawning. In this mode, Level-Headed does not care what came before or what will come after. It will be completely possible to get an entire game of just Underground levels or just Underwater levels. No restrictions have been placed on the level distributor in this mode.

Additional Minor Changes

  • Large Fire Bars now spawn a minimum of 24 blocks apart
  • Added an option to disable Hammer Bros. jumping
  • Fire Bowser now throws a ludicrous amount of fireballs on Brutal difficulty, just like in v0.3.5 and prior
  • Nerfed Hammer Bros. throw rate on higher difficulties to reduce lag
  • Speedy leaping paratroopas and starmen now jump lower, but move faster. This will help prevent speedy paratroopas from getting stuck in blocks.
  • Added an option to set the Leaping Paratroopa speed. This stacks with the speedy objects and enemies patch.
  • The update checker now uses OpenSSL instead of Git