Infinity Danger Boss evolution algorithm

We’ve been asked by a few users how the boss evolution system works, so we’ve decided to make a detailed post about it.

As the game description says, the boss evolves based on your behavior and performance during the game. So even when starting from the same point, it’s unlikely you’ll have exactly the same evolution pattern.

Boss evolution parameters

The boss has three sets of parameters that evolve over time:

  • Main stats: There are four main stats that are shown at the start of each wave. When a wave ends, one of them increases in 1 point.
    • Mobility: This stat increases the boss general maneuverability (speed and rotation). A boss with high mobility will move and rotate faster. This makes a little more difficult to concentrate fire on certain points, and long arms are more dangerous because of the increase rotation.
      Each mobility point increases boss speed around 5%.
    • Armor:  This stat reduces the damage caused to the boss pieces (only the pieces, not turrets), making them harder to destroy.
      Each armor point reduces damage by around 5% (Don’t worry, 20 armor points doesn’t equal to 0% damage).
    • Turret:  Maybe the most dangerous stat, the turret level increases turret protection and increases turret rotation speed, so they can aim faster at you.
      Each turret point reduces damage by around 5% , and increases rotation speed by 5%.
    • Shot: Also a dangerous stat, it just increases turrets fire rate.
      Although not exact (the time spent between shots is a bit random), each shot point decreases the wait between shots by 5%.
  • Piece evolution: On each wave, a new piece appears on each of the 4 boss “arms”. Both rear and front sides are simmetrical, so left and right sides are treated equally.
    This new piece always removes a turret from the body, but adds new turrets attached to the piece itself, so the firepower is always increasing by around 4-6 new turrets on each wave.
  • Weapon evolution: On each wave, new turrets appear (attached to the new piece), and there’s a chance previous turrets can evolve to fit a turret type that’s proven to be more strong against the player.

Evolution details

So, now we know what things evolve on each wave, but how they do them? Well, it’s simple:

  • Main stats: The stat that evolves depends on the first thing that the player destroys at the beginning of each wave:
    • Turret on the front: Increases mobility stat
    • Piece on the front: Increases shot stat
    • Turret on the rear: Increases turret stat
    • Piece on the rear: Increases armor stat
    • Anything else (Main Core): Increases mobility stat
  • Pieces: Both on front and rear, a new piece appears. The piece shape is random and doesn’t depend on player behavior.
    The point where the piece appears varies with the following rules:
    • If the first thing destroyed on the front / rear part is a turret, a new piece appears on that point.
    • If the first thing destroyed on the front / rear part is a piece:
      • If the piece still has some turrets directly attached to it, a new piece appears in place of a randomly selected turret.
      • If the piece has only other pieces attached to it, a random child piece is selected, and the process continues until a turret is found (and replaced).
    • If the front rear is not destroyed (direct core hits), it’s treated as if the first piece was destroyed.
  • Weapons: During the whole game, we keep a table where we count the amount of  turrets destroyed and the number of player kills of each turret type.
    When the wave ends,a random type based on this data is selected for the new turrets that will appear.
    The weight of each type is based on a rather complicated formula, but it can vary between 50% and 300% depending on the proportions of kills and destroys.
    The new turrets  will all have this selected type, and existing turrets have a 20% chance of changing its type to the new one as well.
And that’s all the magic behind the Infinity Danger boss evolution system. As you can see, it allows to do some tricks to force evolution in the way you prefer, such as shooting at certain points to force evolution on that side, or to increase certain boss stats in detriment of others, even getting yourself killed by weak weapons.
Let us know your thoughts on this :).

Tags: ,

  • Marcus Clark says:

    Thankyou so much for this very useful guide!
    In Main Stats, front and rear should be reversed though:
    Turret on the rear increases mobility
    Piece on the rear increases shot
    Turret on the front increases turret
    Piece on the front increases armor
    What a great game!

    • WaaghMan says:

      Do you mean that it’s working the other way around? I’ve checked the code and it should be like I posted.

      • Marcus Clark says:

        Yes definitely- if I destroy a turret at the front first then turret stat increases etc
        It’s the opposite of what was originally posted.
        Try it for yourself and see!

        • WaaghMan says:

          Ok, it’s just a misunderstanding. The front part is the upper part at the beginning of the wave, and the rear part is the lower one.

          • Marcus Clark says:

            Got it! Front=top of screen and Rear= bottom of screen.
            Seems a weird description though since your ship enters from the bottom of the screen and the boss enters from the top.
            Surely the side of the boss initially facing the player ship should be called the front?
            Whatever…this is such a great game 🙂