Making an Endless Boss Level
One problem I ran into recently while working on the demo for ITD (which hopefully will be done soon) was making the boss level physically long enough. This boss chases Bump until you beat him, so the level needs to vary in length depending on how much time that takes. In The Dark wasn’t really developed with this sort of level in mind, but luckily there is a fairly simple way around that. The test version of this level looks like this:
When the player runs past the green line, first all objects that have fallen behind the red line are deleted, and the space between the two lines is reset to look as if the player hasn’t been there yet (lights and props repositioned, light switches flipped etc). Then Bump, the boss, and the camera are teleported backwards so that it appears as though the player is simply running in front of the next identical house. The boss physically blocks the player from back tracking, so the illusion shouldn’t be broken. Once the boss is defeated the script is turned off and the player can finish the level, without ever seeing that they’ve been one house away from the end the whole time.
Plenty of games have used this technique. It’s fairly easy to pull off but I had never tried it with a game that relied on a physics engine. I suspect this will be used a few times in the game, and not just for boss fights.
November 3rd, 2011 at 6:08 PM
You’ll have to be careful about putting objects too close to the green teleport line. If there are any objects behind Bump (say, a knocked over lamp, or the light shining from one) that are within the player’s viewport when he Bump hits the green line, those objects will suddenly vanish when Bump gets teleported back to the red line.
November 3rd, 2011 at 6:09 PM
I suppose you could create copies of all the objects behind the red line before you teleport Bump. That would maintain the illusion.
November 3rd, 2011 at 8:16 PM
Thankfully the boss level is relatively simple, there are no lamps you can physically move, and technically I could move the delete point further back, it’s just important that if for instance the boss spawns objects (one version we came up with involved him throwing things at you) that theres not a giant grave yard of objects somewhere off screen. Another way the system may end up working is just physically scrolling everything back and deleting the objects as they get out of range on the left. the problem with this is garbage builds up because it involves spawning a heck of a lot more lamps and switches, which aren’t really the most efficient objects memory wise.