SHOOTING TO KILL: BEDAZZLE'S U:SL
I first decided to write something about U:SL sometime last November, I think, right after I heard the howling wind and the crunching snow. Those were some of the sound effects Team Bedazzle had already incorporated into their Winter Ice Cathedral map on the simulator of Abraxas, and it was touches like that which convinced me that something truly ambitious was in the making. Since then, Linden Lab has put some indirect promotional punch behind U:SL, featuring it with some in-game screenshots and a trailer (both of which I ended up contributing some post-reportage assistance in creating.) But back in November, of course, the game was still an unknown quantity-- and for that matter, was still referred to as Project Unreal, in tribute to the classic FPS Unreal Tournament.
In gameplay, U:SL resembles a cross between Unreal Tournament and Halo, with the gritty, big-chested firepower of the former, and the slower paced, low-gravity combat of the latter. (And this last element is more a server-side issue-- since all objects and avatars in Second Life are streamed, the average frame rate runs considerably lower than most current shooters.) Now in publicly playable open Beta, U:SL is the work of nearly fifty residents from around the world, its four month development cycle a history of setbacks, workarounds, and for at least one key developer, emotional ordeal.
What follows are a few milestones along the way, as told by three members of Bedazzle's core team.
"[A]s we worked on Sim Horror," Bedazzle leader and financier Foxy Xevious tells me, "I was trying to figure out what path I wanted to take next for my next project. I remember talking to Yadni [Monde] on ideas and he suggested ashooting game." After mulling the concept over, she decided this where she'd invest her time and money (at the time, Foxy leased several simulators from Linden Lab.) At first, her plan was to create three themed combat areas: a snow-covered castle, a jungle, and a cityscape. Led by Bedazzle's chief artist Jimmy Thompson, the team began work on these environments.
"The snow level was impressive from day one of being built," says Foxy, but "the jungle was scratched 'cause it kept looking more like a romantic park where people go to feed the ducks. So I wasn't impressed with that... and then with a little nagging from me, I suggested to Jimmy [that] we start working on a city." They pored over urban photographs, and Jimmy was fixated on one depicting rain-swept streets. "I agreed and said 'Let's make a Chinatown...'"
THE TOWN BENEATH THE TOWN
"I tried to recreate the high density ambience of the night life of the Chinatown streets we have on every big city," Jimmy Thompson tells me.
To do that, he created a new weather system-- also used in the winter map-- and a series of lighting effects which would illuminate the streets in a unique way. But in Chinatown, perhaps the most striking effect is the reflection you see in the streets themselves, in the ghostly reflection in the puddles. While some graphic engines are pre-engineered to generate mirror effects, Second Life's does not.
So Jimmy Thompson created his own.
"Creating a reflective surface inside SL is a simple techinque that can be used for many purposes," Thompson tells me. "Inside Chinatown, I created a mirror duplicate of every 'important' object that needed to appear in the reflection effect. The puddles that we see in the street of Chinatown are transparent regions inside the ground texture." In other words, you're actually not seeing reflections at all, but looking down at exact copies in reverse.
During the open Beta of Chinatown, a griefer smuggles in a contraband "push" gun and shoots me with it, tossing me hundreds of meters up and out of the town. Which turns out to be a good thing, because it gives me a chance to see what Jimmy's talking about from a new angle, when I land.
"And now that I'm looking at [Chinatown] from outside," I tell Jimmy, "I noticed that it's actually floating in the air. Why is that?"
"Chinatown has its own replica 'under' the street level in order to create the reflection effect," he says. "There is a HUGE black box containing a replica of all major object to create the reflection. All those object are simpler versions with small texture and in phantom mode." Jimmy grins. "Not the whole town, but all the object that I wanted to get reflected. I'd say 25% of it."
ON THE NOSE CODE
"The whole thing includes a very large amount of scripts, designs, and techniques I had to shove together to make work," Crystalshard Foo tells me. Ms. Foo is Bedazzle's chief coder, whose job it was to jigger the in-world Linden Script Language into something that would resemble a shooter, including multiple weapons, hit points, scoring, and classic game modes like Capture the Flag.
"The game itself was designed to be modular," says Foo. "Weapons can be specificed and added easily. A script is available that can make any weapon compatible with the game in some way... So once the official U:SL project is over, we'll see about letting additional third-party weapons in the game." (U:SL's native hardware were primarily developed by master weaponatrix Francis Chung.)
When you begin a game of U:SL, you attach a small pyramid to yourself, which floats right in front of your face. "The pyramid functions as both your game client ('life pack') and HUD," Foo explains. And as it happens, it's fitted to sit right in front of your nose. "The reason being that when you go [into first-person] mouselook, even if you choose to keep your avatar visible, all head attachments go invisible." What they wanted was a heads-up display (keeping track of hits points and the like) which was visible even in first-person mode-- something that was also not part of Linden Lab's base code. The workaround here is a see-through helmet device which holds the pyramid and its game data in place, dangling in front of you, even in first-person. "Less pretty," she acknowledges, "but it works!"
Once attached, the pyramid turns the plethora of guns and effects into a full-fledged game. "[T]he lifepack both maintains connections with the server over the network," says Foo, "and acknowledge incoming damage events generated by gun bullets. In effect, all the active objects in the game talk with each other. Local events (gun bullets, life/shield pick-ups, etc) are handled locally. Global events (flag captured, game start/stop, player got fragged) are sent to the server for acknowledgement before being processed, confirmed, and broadcasted to everyone else." (U:SL's scoring system was designed by a Till Stirling of Silverday Production-- which means, yes, not only are there resident game developers in Second Life, there are middleware developers, too.)
In all this, Crystalshard Foo believes she's developed a viable alternative to the installed combat system created by Linden Lab, which simply keeps track of hit point damage, and teleports dead residents back to their pre-set home location. "Which-- let's admit it-- is very limited and sometimes just downright annoying."
Despite all this innovation, it's U:SL's in-world server-- represented in the game by a humble laptop near the simulator teleport entry points-- that Cystalshard Foo is most proud of. "I had to actually sit down and design a full-scale network protocol for this thing," Foo says. "It was very educational and, of course, loads of fun." She grins broadly. "Sometimes during the development I turned on Debug output just to get warm fuzzies in my heart. (Much to the cringe of everyone nearby.)"
THE INTERNATIONAL LABOR OF LOVE
"We started the project in October," Jimmy tells me, "so it's took a total of five months to get the final result. I'd say that I invested around 20 hours a week in the project." This, after his real life work running a small French Canadian company that develops software for regulating maritime traffic. "3D is a passion for me," he says. "I strongly believe that if we work all together we could reach a level of visual apparence equivalent to the other major online games."
Crystalshard Foo, who logs into Second Life from somewhere in Israel, declines to say what she does for a living-- except to say it isn't programming and it isn't game development. "Its not my job-- that'll ruin the fun... Thing is, I have a good sense of observation. I am good at 'reverse engineering'. So I learned the concepts of play by playing these games... [then] learned how they did it and used it to make my own."
How many hours per week did he spend working on U:SL, on average?
"Almost every waking hour since December, as long as I was near a 3D and Net-capable PC," she answers. "When I code a project I am obsessed. When I am at the computer, I code. When I am not on the editor, I code in notepad. When I am not at the computer at all, I code mentally. (I once went as far as code on a restaurant napkin, but that's an entirely different story.)"
THE HEART OF BEDAZZLE
Even before U:SL's public release, Foxy Xevious found herself fielding offers from professional developers/filmmakers. "We are waiting everything out to see what our option are at the end," she says. Throughout its development, she has always described the project as something without commercialism as a main goal; something that she and her team made for the sheer love of the doing, and the chance to share it with the Second Life community. In Foxy's case, that devotion extends beyond the time and effort it took, or even the money she's spent developing it. (As with Sim Horror, Foxy financed U:SL out of her own pocket, plowing thousands of dollars she's earned from the real estate title business she owns and runs out of her home, into this most ephemeral of creative endeavors.
Beyond time, effort, and money, Foxy also cares for her daughter, now five. "I get about four hours of sleep a night," Foxy tells me. "She’s in school 'til about 6PM and my sister's kids live here." So she trades care of their kids with her sister, while somehow running the title business, and these two worlds featuring snow and Chinese lanterns and thousands of shell casings.
"I don't know how I can leave Second Life on one PC running on Busy mode as I work processing [title] orders," she admits. "Anytime I hear Instant Message jingles or hear someone [in SL] typing to me, I'll take a peak at who it is. I think it also creates a lot of work for me on the weekends, since on Fridays I have work pile up to get out by Sunday night."
In the middle of U:SL's development, Foxy Xevious sent out a notecard to members of the Bedazzle team, and some of her other close SL friends:
"A lot of things are going through my head that are crushing my spirits into pebbles," she wrote in it. "The person everyone knows me as is not a sad person, is not a depressed person... I am a warrior, and if there's one thing I can't stand is a person who always feels sorry for themselves, or a person who has the feeling of being helpless."
But since then, she went on, things had changed. While she was working on U:SL, Foxy's real life mother contracted cancer, and had little time left. And in the time she had remaining, Foxy had decided to take care of her. This was a difficult decision, not only because it required moving her life and her business to another state, so she could buy a home near her mother. More than that, she said, it was difficult because her mother had abandoned her at the age of two, leaving Foxy to be raised by an aunt.
All this comes out shortly after playing a few rounds of U:SL with Foxy in the snow beneath the Winter Ice Cathedral, running down pathways, leaping over obstacles, exchanging gunfire. "[C]reating U:SL has not been easy," she acknowledges. "It's been a emotional rollercoster for me, but I think it also has done me a lot of good. I have a solid team that shows me support in no matter what choices I make... We created something that we love. It's our world that we build here for others to enjoy. It helps keep my mind off things, while giving me something to look forward to."
"Do you think being a caretaker for U:SL and SimHorror is sort of a response to that?" I ask her, referring to her mother's mortal illness. "Wanting to hold something together?"
"I see it as healing, to be honest, Hamlet," Foxy Xevious tells me. "Jimmy is like a best friend here who always cheers me up and keeps me motivated to go on... If something bothers you a lot it makes it hard to stay focused-- sometimes to where you want to give up. There’s been plenty of times where real life has took away all my motivation to not want to even go further."
But somehow, she still found a way to keep at it. The spires of the Palace are testament to that-- as are the open doors in Chinatown, lit up by a glow, going off to places unknown.
"I gave [my mother] a chance to be in my life when she was diagnosed with cancer," she continued in the notecard to her friends. "I have forgiven her for what she has done to me but the pain that I may lose her soon is killing my soul. As happy as I try to be, as much as I try to forget, the thoughts will not exit my mind."
But despite all that, this wasn't her way of announcing her decision to abandon Bedazzle or U:SL. This was just her way of explaining why the way forward would be so hard for her at times.
"Please forgive me if I may not be myself for the coming months," she concluded. "I will still continue to be a part of Bedazzle, all plans are still on, I will still be around. Nothing brings me happiness than to see our group succeed. I have invested too much time and money to be a quitter now."
UPDATE, 5/25/06: Read more on game development in SL here.