Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
ToxicFrog
Apr 26, 2008


The story about WoW's wall rabbits reminds me of the classic UNIX multiplayer dungeon crawler Crossfire.

These days it supports python scripting, so if you want to do something fancy you just stick a python script into your map and away you go. Back in the day, though, there was no scripting apart from a very primitive declarative language for implementing dialogue trees for NPCs. So how do you do fancy stuff like "the player can drop gold in the well to get a 50/50 chance of something cool", or "when the player enters the room the door locks behind them and a bunch of enemies teleport in", or "when the boss dies a timer starts and when it runs out everything starts exploding"?

Well, you build a lot of complicated machinery into the walls of the level:



The bit at the top is a random number generator; when the spikes under the center boulder are triggered, the boulder will roll off onto one of the neighbouring buttons and trigger it. The bit under it is a short timer -- spikes will push the boulder to the left (since that's the only direction it can move in), and it will trigger a button that causes more spikes to rise under it, pushing it onto the rightmost button, which does something.

The bit at the bottom with the meat is a form of "when the player does X, do Y only if they haven't already done Z" -- there are more spikes that can push the meat onto the button, but opening the gates first will cause the lightning spell turrets (the yellow things) to destroy the meat. This can be used to implement traps the player can disable, or secrets that they can only access if they avoid doing something, or the like. Before scripting support was added, pretty much any sort of event triggers involved a rube goldberg machine of spikes, gratings, buttons, lightning turrets, scrolls, meat, and boulders, just outside the player-reachable bounds of the level.

(The "when the boss dies" trick -- not featured in this map -- is done by giving the boss an invisible button in their inventory; when they die, they drop their loot on top of the button and trigger the timer, which eventually triggers the deathtraps, probably a bunch of spell turrets configured to cast create bomb and a bunch of teleporters to start dropping the bombs into the level proper.)

When I first got into it there were maps with way more complicated wall machinery, but it looks like most of them have been converted to Python these days and I don't care enough to dig up pre-2000 builds of the game to get the really gnarly screenshots.

Adbot
ADBOT LOVES YOU

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply