WoW Hollywood

January 20th, 2006 — Wordman

Like any good on-line game, World of Warcraft has spawned numerous communities, each with their own culture. I think two of these cultures could come together fairly soon and create something impressive and fun.

A robust, talented and creative collection of people use WoW to create machinima, animated movies that use 3D game engines to capture “live” motion of the models (as opposed to frame-by-frame hand rendered stop motion animation). Like most genres, machinima obeys Sturgeon’s Law (90% of anything is crap), but when it’s good, it’s extremely impressive what can be done with just images from a game. The Warcraft machinima community, in particular, seems to cut across a wide swath of styles, from drama to advertisements, comedy, even…uh…romance (may not be safe for work). Even using just the limited emotional and motion range of the avatars and camera in WoW, much of this work is impressive.

A completely unrelated group has been irritating Blizzard, the makers of WoW, by running private servers. These servers emulate the real game servers run by Blizzard, allowing clients to log in for free. Generally, being reverse engineered, these private servers are buggy, slow, vastly underpopulated and potentially ripe to be shut down an any moment by Blizzard legal. Still, there are a bunch of them. One of their attractions is that, given control over the server, it can be tweaked to, say, increase the rate of experience awards or otherwise customize the game.

And this is where I think the two communities could meet. It seems like it would be desirable for the machinima community to have a hacked server with additional camera motion control, undisturbed access to sets (that is, the ability to reach places in the game without being attacked by mobs), complete wardrobe control and so on. Sort of a Hollywood back lot for producing machinima.

I’m probably the worst person to comment on this, as I neither produce machinima nor use private servers. For all I know, something like this already exists. Still, I’m not going to do anything with the idea, and it seems a shame to let go to waste.

Also, since I’m on the subject of WoW, just a random lament: if only the game supported selling short! With the war effort currently ongoing, you could probably make a killing on commodities that were close to being fully collected.

World of interface geekery

January 2nd, 2006 — Wordman

While watching the blessedly final appearance of some bad football announcers (“we could end up on the ocho”), I tinkered with some World of Warcraft addons. I had an idea of how I wanted things to look, but couldn’t realize it until finding FlexBar. Along with Titan, this incredibly arcane add-on (the FAQ indicates that the original author considered vi good user interface) allowed me to make my UI look like this:

If you want to do the same, the following might save you some pain. Once you install FlexBar, logon to WoW and go to the screen that allows you to edit your keybindings. Scroll down and you’ll see a bunch of FlexBar related bindings, all bound to nothing. Do the following:

  1. Bind some key (I used ctl-shift-f) to the “Open Flex Main Menu”.
  2. Bind FlexBar Button 1 through 12 to your primary action keys (e.g. 1, 2, …, 9, 0, -, =)
  3. Bind FlexBar Button 25 through 36 to some lesser-used action keys (e.g. shift-1, shift-2, …, shift–, shift-=). If you follow these instructions, these would be actions assigned to your right vertical bar.
  4. Bind FlexBar Button 49 through 60 to some lesser-used action keys (e.g. shift-F1, shift-F2, …, shift-F11, shift-F12). If you follow these instructions, these would be actions assigned to your right secondary bar.
  5. Bind FlexBar Button 61 through 72 to your secondary action keys (e.g. F1, F2, …, F11, F12). If you follow these instructions, these would be actions assigned to your left secondary bar.

Once done, return to the main screen and hit the key combo you assigned to the FlexBar main menu (item #1, above). In the ugly window that pops up, click “Script Editor”. This brings up another ugly window. Paste the following into it:

RunScript Script='MainMenuBar:Hide()' on='ProfileLoaded',
group button=1-12 anchor=1,
group button=25-36 anchor=25,
group button=61-72 anchor=61,
group button=49-60 anchor=49,
horizontalgroup group=1,
moveabs button=1 xx=2 yy=40,
horizontalgroup group=25,
moverel button=25 trgbtn=12 dx=38 dy=0,
horizontalgroup group=61,
moverel button=61 trgbtn=1 dx=0 dy=38,
horizontalgroup group=49,
moverel button=49 trgbtn=72 dx=38 dy=0,
show group=1,
show group=49,
show group=61,
show group=25,
lock group=1,
lock group=49,
lock group=61,
lock group=25,
text button=1-120 text='%b',
justifytext button=1-120 pos='bottomright'

This script assumes standard UI scaling. Under this scaling, buttons are 38 pixels. If your UI uses different scaling, you’ll need to change items in the script like “dx=38” to use whatever pixel size you use. Also, if you don’t want the labels on the buttons, remove the last two lines. Pasting this might strip out the returns, which you will need to add back in.

Once this script is pasted in, click the “config” button. This will run the items in this script (you’ll see them flash in green at the top center of the main screen. You might want to save the script as “DefaultConf” or something similar.

At this point, your new bars should be set up, but the default button bars (with the dragons on the side) is probably still visible. The script above will have added a line to take care of hiding it on startup, but you need to force one execution of it. You can do so by doing anything that changes the resolution of the screen (moving to windowed mode and back, for example) or logging off then back on.

You should also read the FlexBar docs if you use this beast, but that should get you going.

Update: I should have made clearer that if you hide your main bar as show here, non-toolbar functionality, like bags and xp display, are hidden. This is where the aforementioned Titan comes in, as it gives access to much of this functionality. Also, key combinations (e.g. ‘o’ for the social panel or ‘p’ for the spellbook) continue working as normal.

One thing that I do need to change is to move the “Channeling” bar up a bit. When I get this working, I’ll update the script above.

Sisyphean volunteers

March 23rd, 2005 — Wordman

Imagine you rule hell. Long, long ago, you were asked (by, perhaps, another pantheon) to severely punish this Greek punk that betrayed the gods and captured the god of death. Since this punk, Sisyphus, was so industrious, you put him to work pushing a boulder up a steep hill. But just when the boulder approaches to the top, it rolls all the way back down the hill. You compel Sisyphus to always want to get the boulder to the top, making him labor for eternity.

While initially quite pleased with this punishment, eventually the novelty wears off and you spot some problems with it. For one thing, planting the compulsion to push the rock leaves a bad taste in your mouth. It seems… artificial somehow. For another, after a while you notice that Sisyphus seems to accept his fate. He makes peace with the fact he’s going to push the boulder forever and, to your shame, takes some comfort in that knowledge.

You forget about this until thousands of years later, when a more insidious punishment stikes you. It would still have the endless toil aspect (of which you are so fond), but with the following differences:

  • You would trick people into actually volunteering for the punishment by making it sound pleasant. Ideally, they would pay for the privilege.
  • The volunteers would seem to accomplish goals but, in fact, their actions would have no real consequence and, in most cases, would reset to be “accomplished” by the next volunteer. This prevents them from coming to grips with their punishments for much longer.
  • The illusion of accomplishment would be strengthened by allowing the volunteers to brag and “help” each other, but even en masse, volunteers would have no actual ability to change anything.
  • Failure (often accompanied by hideous, painful death) would be punished solely by the offer of resurrection, tricking the recently dead to volunteer again for the task, over and over if need be. Volunteers would not find this odd.
  • At some arbitrary point, cut off their advancement so that they no longer have the crutch of getting better when they “accomplish” something, but allow them to either continue anyway (perhaps by meddling with other volunteers), or start all over again in some other form.

The end result punishes the wicked in a far more insidious way. They register that they are being punished on only a subconscious level. Their ignorance brings them a certain amount of bliss but, deep down, realize that they are just as useless as Sisyphus. They are toys for your amusement.

They are, in short, characters in World of Warcraft.

What other explanation would your tauren shaman have for sleeping for days at a time, only to wake up to be killed over and over, then sleep again? How else can your troll warlock rationalize the centaur invasion that he just singlehandedly repelled coming back twenty minutes later like it never happened? Why else would the meager vein of tin your gnome picked bare disappear, only to reappear hours later? They’re all in hell, they just don’t know it.

This could be said of most video game characters, but the addictive nature of MMORPGs and the flimsy rationalizations of their players suggest a hell that has expanded to punish the living.

In any case, a MMORPG that actually embraced the idea that its characters are running the gerbil wheel of an afterlife, rather than just resurrect them continually without explanation, could be fascinating. You might even base it somewhat on the old Sierra game Afterlife, with its virtues and sins. Or perhaps theme it around a war between heaven and hell, where the players can be angels or demons. Maybe they can be (or, perhaps, must be) mortals until the first time they die, and their actions as mortals dictate on what side of the war they find themselves and how much power they start with.