Poof! It's a Background Engine! (And More Ideas)

3:45 A massive amount of work last night and a bit of bug-hunting this morning has left me with a functional background system. After playing with it a bit, I’m moving towards having three entity layers (near, mid, far), each blurred progressively and cumulatively, and each with a colour-layer on top that will have a single-pixel object stretched over it, taking orders about its RGBA values. At the time of this writing, I need to:

  • Turn obj_background_entity_manager into a base object and spawn one for each layer. That way, when the waves call for MOAR FLOATIES, they can direct differently-sized entities to the correct layer for best effect.
    • Implement an arbitrary-spawn function to complement the current process of having elements spawn on the edge of the screen and float roughly centrewards.
    • Implement a hyperspeed feature to send all elements accelerating away from the centre.
  • Implement colour-layer objects and update the boss-battle background shift to use them.
    • Implement a colour-shift function that takes a target colour and a desired time to shift. Manage all of them at once through obj_background_colour_manager.
    • Implement a lightning-flicker effect (the same white flash as entities taking hits is fine), and have the manager control it to have rumbly flashes of lightning travel forward and backward through the layers.

Then, I had ideas for using the backgrounds in the boss battle with the crumbler:

  • Have the asteroid shift into the background at various damage thresholds to create waves.
  • Have it occasionally fly across the screen from off-screen, vulnerable to taking damage but spitting things out.
  • Have it spit asteroids from the background into the foreground, maybe.