Thursday, March 17, 2011

Toon Doom Level Design

Since Toon Doom doesn't have its own site or blog yet, I'm putting this here for reference, or something. (Or maybe it's just an excuse to pad my blog post count.)

2 objects are necessary for a Toon Doom level to be "beaten." First, you'll need a TDErazorBase. This is the player's primary objective and functions like a CTF flag base. Second, you'll need the TDFinishLine. The player who returns Erazor to the finish line first will be the winner. The finish line can be found under UTGameObjective, while Erazor Base is with the other flag bases.

While those two objects are all that is required, it would be a dull level indeed that lacked traps, power ups and check points.

Pickups: Toon Doom has two pick up factories: the hoverboard and speed boots. You can find them under UTPickupFactory in the class hierarchy. To use either pick up factory class, just drop them in the level where you want them like a normal Unreal 3 pickup.

Toon Doom pawns do not have the hoverboard enabled by default. If you want to give them a hoverboard, you can use the Hoverboard pickup factory. Note that since they do not have it by default, they will lose it if they die.

Somewhat similar to the normal UT3 jump boots, speed boots will give the player 10 seconds of super speed.

Check points: These handy objects will allow players to pick up from later in the race rather than having to restart from the beginning if they die. When you place a check point, inspect its properties and you'll notice a variable named "Index." The index allows you to give the checkpoints a sequence. If the player hits check point index 10, then hitting checkpoint index 5 will not change the player's respawn point. The index does not need to be unique, so you can have two checkpoints of a particular index if, for example, there are multiple parallel paths. Also, I recommend leaving gaps at first (for example, label your first few checkpoints 10, 20 and 30 rather than 1, 2 and 3) to make things easier on your self if you decide to add more later. Checkpoints can be found under UTGameObjective.

Spike Traps: Toon Doom has two flavors of spike trap: timed and toggleable. The timed version is fairly straightforward. Place it where you want it, then set the uptime and downtime in the properties. Toggleable spike traps can be controlled using the KISMET "Toggle" block. A pulse to the "On" node will raise them, off will lower them and toggle will of course toggle them. Both spike traps are found under TDSpikeTrap, which is a direct child of Actor.

Easels: Toon Doom has 4 different cartoon characters. There is no functional difference between them, but it lets players have some degree of customization. To allow players to switch characters in your level, use the Easel objects. Any player who approaches an easel will be killed and will respawn as the appropriate character. The Easel parent class inherits directly from Actor.

Edit to add new stuff:

Set Countdown KISMET: Found under Actors > Toon Doom, this kismet action sequence allows you to change the countdown timer displayed in the clock at the top left corner. This count down does not actually have an effect on the game itself, but can be used in conjunction with other events to delay the start of the race while later players connect or players select characters. If you don't want any delay, simply set it to 0.

TDHoverVolume: This volume will simply remove the hover board from any player that passes through it.

TDGooVolume: The Goo volume will "goo" a player, slowing them down for a short time. The goo volume is toggleable, and when inactive will simply function like a regular water volume.

TDGooBlob: This object will briefly apply goo to any player that runs through it. Similar to the goo volume, but a blobby mesh rather than a volume. Just drop it in the level and scale it however much you like.