May 19, 2007

Second Life History: The Jessie Massacre

Or: The first deployment of user-created WMDs in a 3D virtual world
As told by the perpetrator, Oracle Omega

My first impression of Second Life was formed when it was still under development, when Phillip came to visit Chip and me at our third little startup: State Software. Technically, it was pretty amazing. They’d finally created an extensible, programmable world with physics built right in. On the social side the model was that everyone would live and build on one of a few large continents. We cautioned that this would be fraught with peril. Even before the first beta testers arrived, they’d been warned that their biggest problems were going to be property encroachment, bad neighbors, and script-griefing. Alpha World had demonstrated that many of the neighborhoods would be something between garbage dumps, billboard farms, and smutty slums next to some amazingly creative and wonderful stuff. Much of the predicted chaos happened during beta, but the full force wasn’t felt until broader release, especially when anyone could join instantly and for free.

I happened to be unemployed during late alpha and early beta, and had been so intrigued by Second Life that I decided to run some experiments, pushing the limits of what how I thought future users would abuse the system, specifically property rights and scripting capabilities. As I’ve written elsewhere, regular beta testers normally don’t push the limits as much as we’d like them to because they fear losing their status as testers by being ejected.

Having co-created several of the progenitors of this type of system, I knew where to look for cracks. I had no fear of being ejected for taking the servers down. On the contrary, it was an explicit goal. Better now, during testing, than later with paying customers.

Probably the most legendary of my experiments was the Invisible Teleporting Grenade of Death. Nothing special compared to the offensive and defensive objects in Second Life today, but it caused quite a stir during beta because it was the first known deployment of a user-created Weapon of Mass Destruction in a 3D virtual world.

Note: This wasn’t the first programmable world I’d done massive damage to: Years earlier, after a certain Wizard on LambdaMOO decided to show-off and summon all the food in his world to our room for a food-fight, I was inspired to write a script that would summon all instances of any class into the room with me. I tried on it Class:Paper, and it worked perfectly , first try. It was at that moment I realized I had no way to put the paper back where it belonged! I quickly wrote a script that stuffed the paper into the pockets of their owners and reported this flaw to another Wizard. She was not happy.

During the Second Life beta test, its initial culture was starting to emerge. In my experience, worlds like this one attract early adopters of a somewhat democratic-libertarian bent – “Lets just all get along” and “Leave Real Life rules behind” often reflect the mentality of the most vocal users. But, something unusual happened this time – another virtualworld, called World War II Online, was failing and its 1940’s role-playing refugees migrated to Second Life, en masse. Since it provided for personal combat (hit points), death (teleport you home), and you could build just about anything, including weapons, it seemed like an ideal fit. Quickly they’d built up WWII cultural and military items, including Nazi uniforms, gear and propaganda, including flags and posters with Swastikas and the like. Eventually they took over the only remaining full-combat enabled simulator [patch of land], named Jessie, and made it their home.

A WWIIOL emplacement in Jessie

This ticked off many members of the existing community, who detested all of the pro-Nazi imagery. The WWII online-ers said they just wanted to be left alone to play their war games. Both sides were sniping at each other, both literally and with virtual weapons. Eventually there was a huge wall constructed separating Jessie from its neighbors. It didn’t help.

I’d built and run too many worlds and had seen this kind of thing end badly so many times that I just stayed out of it. Honestly, this was the kind of thing I’d warned about from the beginning and I just wanted to see what would happen.

Until the day I’d completed my latest experiment.

I’d been working with the object spawning directives in the scripting language. I’d also discovered that I could make an object very small (less than an inch in diameter), and very transparent (virtually invisible). It struck on me that I could make a weapon of mass destruction and do it very cheaply. It worked like this: a tiny invisible floating grenade that would explode into dozens of invisible tiny fragments flying outward spherically at maximum velocity and doing maximum damage and then immediately teleport itself to another random location in the simulator. It would be undetectable, unstoppable, and lethal: The perfect killing machine. It could only be stopped by me shouting the keyword: STOP!

Small-scale tests on my land were successful. It fired up to 100 rounds per minute. But, where could I test this at full scale? There was only one answer – Jessie – the only Sim with an active population and the fatality flag on. As a special guest beta tester I had 30 minutes early access to the servers, so I dropped six of these little gems in Jessie just before opening time, they wouldn’t have a chance to catch me. Back then, each object spawn cost $L10, so my balance indicator started fluctuating wildly as the invisible fragments spawn, flew, and eventually hit something or someone.

I flew to the simulators with the most users and tried to chat naturally, but it was difficult, knowing the chaos that was going on in Jessie when people arrived: Log in, poke around awhile then seem to randomly die, get teleported home, which is also in Jessie, wait a short moment, repeat!

After about a half hour, people around me were starting to say “Wow! Someone is slaughtering those WWII guys in Jessie!” “That place is in a panic!” “That guy’s my hero!” “Lets go see!” The grenades were working. Besides making my point about the scripting language, I’d created one of the first legendary events of the world. That was exciting.

But, only then did I realize I’d chosen sides in a fight that I didn’t really care about. I wasn’t really sure what to do at that moment, when I got an Instant Message from one of the Lindens: “Did you release an auto cannon in Jessie?” I had to be a smartass and answer: “No. I released six. I’ll go and deactivate them now.”

I flew to the edge of Jessie and shouted the keyword. My balance meter stopped jumping around and stabilized, the attack was over. It had been well over an hour since opening, and I was certain that I had the highest kill rate in Second Life history. But now I had a problem. I had no way to extract them (and I wasn’t about to enter Jessie at that moment anyway – I was certainly Kill On Sight at that point, assuming they knew the name of the bomber.

It turned out that my grenades were too small and invisible. Though they were now inert I couldn’t find them to remove them. In effect, they were a dormant virus in Jessie. So, I filed a bug report: “Unable to select small, invisible objects.” The in next day or two there was a patch to the client to “show transparency” so that it would be possible for me to see them, select them, and delete them – which I promptly did. But the legend remains.

In the end, very little was done to mitigate the design of WMDs like mine, and I was told that to “fix” the problem would put serious limits on the creativity of future users. So be it. But, given the history of the service since then, with so many sim-failures based on malicious and accidental infinite spawning scripts, I’m not so sure that ignoring this problem was the best choice. I hope it is not too late.


this is the best story ever.

funny how you can create stuff but never really follow through on a way to end or uncreate .. typical lazy programmer bs. if this is one of your biggest accomplishments i feel sorry for you.

I think it’s a great story, and as a beta tester, the idea of doing some Test-to-Destruction was something expected of you.

It’s a shame they didn’t have a better way to deal with what you ‘discovered’. I suppose somebody might then make countermeasures, perhaps something to attack or zero the momentum on invisible objects travelling over a certain velocity, and below a minimum size.

Could be interesting to see what people do, knowing (in theory) how your attack was done.

I wonder if it’s possible to make exploding head spray cans? ;)


Post a comment

(If you haven't left a comment here before, your comment may need to be approved by the site owners before it will appear. Thanks for waiting.)