Inside the Galak-Z Indiebox

indiebox

Quick update: I’m back in Seattle and working for 17-Bit’s US office again!

Upon returning to 17-Bit, it became obvious that there were some rumblings going on with the guys from Indiebox, and that Galak-Z had been chosen for its own limited-release boxed copy.  To work on this was a dream come true — after all, how many more boxed games am I going to work on before I die? (As a frame of reference, I hadn’t had a shipped boxed game since 2009). I was dead set on designing as much of it as humanly possible.

One of my favorite elements of Galak-Z is that it’s supposedly based on an anime that came out in the late 80s, and we try to invoke that nostalgia of sitting in your parents’ basement watching crazy Japanese sci-fi cartoons as much as possible. There’s a production bible we use that goes over the complete history of Galak-Z the (fictional) cartoon, the production teams involved, the American distributors, the Laserdisc releases that were only available as fansubs in the USA, the extreme cheapness of Kurokawa Films (spoiler: it’s directly linked to the Skulls of the Shogun fiction) — all of this makes it easy to create a meta-fiction that extends to make the Indiebox totally “in-universe.”

I really wanted to make something that would bring back the memories of buying a game back in the 1980s. You’d walk into an actual computer software store, make a beeline for the games section for the computer that Dad put in the living room, and then figure out what to spend your allowance on. Now, you’d look at the screenshots on the back, and sometimes they were from a different computer system, so it was hard to judge — man, the Commodore 64 version’s got more colors than the PC CGA version but it looks blockier, the Atari ST version looks pretty good, but holy crap the Amiga one just smokes everything, I wonder if it’s better than the Apple IIgs one?

The first game I ever purchased with my own money was Thexder for the Apple IIgs, in January of 1987. My wizened 10-year-old eyes fell upon this box:

thexder_Front

Holy crap, it’s a game about a robot that transforms into a jet, and it’s from Japan, making it instantly exotic. Plus they’re totally using the Eurostile Extended font, so it’s clearly from the future.

And as for the back of the box…yeow!

thexder

I AM SOLD. This is masterful bombastic selltext, formulated to get your blood pumping faster than a Sharper Image catalog. In Japan game design is an art form. This is the game by which all others will be judged. And it reflects the maturity and refinement of almost two decades of arcade playing. Dad! You gotta let me buy this!

But wait, what is that at the bottom corner —

ninjas

JAPANESE NINJAS MADE THIS GAME! DAAAAAD!!!

Not only is that a great box, but the game is legitimately face-meltingly awesome, and represents some of Game Arts’ best work. I definitely wanted to channel some of that vibe for the Indiebox.

Another thing I was obsessed with as a kid was GI Joe; nothing was better than the combined transmedia juggernaut of the toy line, the cartoon, and the surprisingly adult-themed comics written by Larry Hama. Nothing beat waking up on Christmas morning to unwrap one of these bad boys, and pay close attention to the action figure peeking through at the bottom right:

rattler

So I went to the Indiebox guys and sheepishly asked, uh, do you think we can do this, this, and this?  

Their response was always “yes,” and a few months later, we have this on my shelf:

gzbox

Yesssss.

box back

The back of the box is real silly! It apes the late 80’s style as closely as possible, presenting the game as a challenge for the 1990s…and beyond. Note the “If in doubt, consult your computer dealer” bit under the minimum specs — I saw that on the back of a British PC game and found it ever so quaint.

microshots

Hey, more screenshots from popular 1980s microcomputers! That’s the Atari ST version on the top, the Apple IIgs version next, and the Commodore 64 version on the bottom. Note that all of the screenshots are properly palletized down to their target hardware’s color depth/resolution and use their correct system fonts, because someone is gonna notice that and complain if you get it wrong.

pints

Bust open the box and you’ll find three Astro Points, redeemable for something, somewhere, presumably.

secrettabs

If you’re some kinda weirdo and open the box from the bottom instead, you get secret art printed on the tabs!

tapefrontback

Here’s the first thing you’ll find inside! Yes, this is an actual audio cassette tape, and yes, the soundtrack is indeed on it; if you have a Walkman, boombox, or 1996 Honda Civic, you totally have the ability to listen to it.

The biggest laugh I get out of watching unboxing videos is when people get to this and they have no idea — they’re like “What is this? Is this some kind of USB drive? Wait! Is this a cassette tape? I’ve heard of these! How do I use this? Oh god! How am I ever going to listen to this?” (Of course, we included the soundtrack on the actual USB stick included in the box, too.)

Some other folks were shocked that we could get an actual cassette manufactured in this day and age. Apparently there’s one factory left that does this kind of stuff, and lots of recording artists will do limited-edition cassette runs, so I thought people knew this was still a thing!

tapesides

The factory lets you either print a proper CMYK color label, or screen-print. We went for the screen printing for 80s nostalgia’s sake. Note that there’s Side A-Tak and side Beam! Wocka wocka!

toys

It’s so awesome that we were able to get both the mech and the ship in the box. Both are hand-painted, and are gorgeous reproductions of the original 3D models by Callen Wagner and Jake Kazdal.

usb

The USB key with a DRM-free copy of the game is based on the Hammerhead enemy ship. Looks great!

manual

I got to write the manual, too — it’s all in-universe, with the game’s characters yelling crazy things at you. You’ll learn a ton about your shipmates; did you know that Admiral Akamoto loves preparing lutefisk?

notes

We also filled in the “Notes” page for you! About the illustrations: during our morning meetings, we’d always have a stack of 3×5 cards and Sharpies on the desk, so we’d always start doodling uncontrollably. (That’s an actual Jake Kazdal saying on the lower left; Studio Manager Raj Joshi is depicted on the lower right.)

poster

..And here’s a cool poster for good measure designed by the Indiebox guys.

So there you go! People seem to be really enjoying it; Geek.com called it “the best Indiebox yet,” and you can watch my favorite unboxing here:

Oh, and remember the ninjas from the back of the Thexder box? We’re not quite at their level yet…but we are luchadores.

luchas

See you next box!

 

Portfolio & Industry Anecdotes Updated!

gzbig

Have you played Galak-Z yet? This is the most recent shipping game I’ve worked on and it’s actually really good!

Hey, here’s some new stuff for you: I’ve updated my Portfolio with lots of samples of what I do, and the Places I’ve Worked section with various stories of working in the Japanese game industry in the early 2000s. Hopefully none of it breaks NDA, but if it does, then read it while you can!

gabbing

On the less exciting side, I’ve been speaking at some conferences lately like Cloud Gaming USA 2015 where they show pictures of me wearing a suit and it makes me feel gross.

Making the Skulls of the Shogun: Bone-A-Fide Edition Trailer

Earlier this year I got the opportunity to do a commercial for the game I’d been working on, Skulls of the Shogun: Bone-A-Fide Edition. For previous trailers we’d done full animation consisting of sequences exported from our game engine and composited with parallax-heavy 3D backgrounds inside After Effects. For the commercial I wanted to do a throwback to deliciously terrible Eighties video game ads, where something would explode out of the television, and everyone would start freaking out like they were on LSD. My boss Jake had absolutely no problem with this, so I wrote a script and made storyboards where the Shogun exploded out of a TV and sucked the kids into the Samurai Afterlife, where they’d start slaughtering everyone and eating their skulls.

I had run some tests combining 2D animated footage with live-action plates earlier in the project, and got up to date with motion tracking inside After Effects. For reference I watched a bunch of films that did the same (specifically Roger Rabbit and Space Jam, both of which use really expensive tone mapping passes on their characters and use realistic shadows).

We work in a warehouse, and were able to quickly convert the studio into a soundstage. Our producer Paul installed black plastic curtains on rails to eliminate all outside light. Unfortunately, we were located right next to a noisy road so we’d have to loop all our dialogue later, but this wasn’t a huge issue.

Talent on the Set

Talent on the set.

For lighting, we went cheap, with Home Depot worklamps combined with the brighest CFLs we could find, diffused via duct-taped IKEA cloth storage boxes. We combined this with a pair of standard worklight halogen sets – we weren’t able to properly diffuse these, and wound up bouncing the light off the ceiling and wall (which was, fortunately, painted in a reflective white). These burned extremely hot, so we had to turn them off between shots (and keep bringing our talent water). After finishing the shots on the living room set, the kids took a break as we set up the greenscreen. Our set only had two walls, so we shot the reverse shots later as traveling mattes.

Traveling Matte

Sample Traveling Matte.

For cameras, we used a single Canon T2i running Magic Lantern firmware, shooting between ISO 640 and ISO 800 depending on the shot, shooting at 29.97fps at 1/60 at 1080p. For greenscreen footage, we concentrated every light we had on the scene, and had to push the ISO up to 1250 for faster exposure (this is critical for reducing motion blur in fast-action scenes, which most keyers have problems with).

Directing the kiddos

“Now scream like ‘aaarghhh!'”

By the way, our talent was fantastic. The kids were great – and none of them had acted before. They were a lot younger than we had originally thought they’d be, and we had one last-minute replacement after one of the kids saw our setup and freaked out (it did not help that our warehouse looked like a dungeon). I kept things moving as quickly as possible, walking the kids through each shot and explaining what was going on, since almost every shot had some imaginary component to it. We finished in about two hours – the kids were a little tired, but still bouncy. Mission accomplished.

Next up was the hard part, animation and post. To start, all footage was run through the Neat Video plugin for denoise/grain reduction/sharpening, and then dumped out as a PNG image sequence for After Effects.

In the opening sequence, the kids are playing what I can only describe as the dumbest military shooter ever. We shot this sequence ahead of time in the back hallway of our office, using whatever props we had on hand and lighting it in as gaudy a fashion as possible. (My boss Jake plays the bad guy, while QA guys Ben & Isaac and Skulls programmer Brett stand in as the tactical team.)

jake

General Jkooza.

For the 2D animated elements, I spent two days porting all of our characters from our slightly clunky custom animation tool to After Effects just to speed up our animation workflow, and handed them off to our animation guru Callen Wagner. From here, I just comped them in, and added effects…lots of effects.

For each animated element I’d create a fake rim light/tone map by duplicating the element, filling it in black, and then using the Bevel Alpha effect to make the edges pop. Then I’d slightly blur and offset it, and make the layer Additive.

akamotoplate

Shadows were similarly faked by filling the layer in black and spinning it around in 3D onto the ground. I could have used real lights, but this was much quicker and saved rendering time. Roto Mask was used extensively for foreground/occluding elements; fortunately, the denoised plates were clean enough that this went very quickly. For added effect and to accentuate any camera Z-moves, multi-layered smoke and dust particles were added.

For keying, we used Keylight from the Foundry, which provided very, very clean keys and dealt very well with some of the remaining shadows in the background (our greenscreen had not been ironed ahead of time, and had a few worrisome wrinkles). The kids’ live-action heads were simply dropped into existing (headless) characters and were tracked by hand, and all scenes were composited in standard After Effects 3D.

After Effects

Typical scene setup with accommodations for a 90-degree camera spin.

To create the Skulls look, we usually have a flat 3D plane for the ground, which is covered by forward-facing deco elements (rocks, grass, etc). The camera is allowed to track in and out on the Z axis and “strafe” left and right, but we rarely rotate the camera in any direction, which instantly breaks the look. Whenever we do something splashy like a 90-degree camera spin, it’s carefully orchestrated (read: fudged) and we usually turn on motion blur to hide the effect breaking.

Dialogue was looped later – we recorded with a Rode microphone and a TASCAM recorder, and the voiceover artist (and audiobook superstar Chet Williamson) sent us the final take from his studio. Oddly, directing the kids and getting them to loop their lines correctly was much harder than directing them on-set. Music and sound effects were taken from in-game assets, with quite a few samples purchased from the SoundSnap library. (Oh yeah, I do the voice of the Shogun — it’s just dropped a few octaves.)

Maya was only used for the final shot. Callen rigged an existing skeleton model in about a day, and scaled the parts to match the kids. He hand-animated thescene, and recreated set elements for shadow casting; the final Maya rendering consisted of three passes for diffuse, shadows, and AO.

Skullkids

Actually finding the “look” for the skeleton kids took over a week of tweaking. Originally the skeletons were more realistic, with scorch marks under each one where the lightning had hit, and realistic black smoke coming off their bodies. We all agreed this was pretty morbid/creepy and tried a toon-shaded version in response, which looked completely awful; then we shifted their colors to green, which was more in line with the in-game look, but then they looked like plastic Halloween skeletons. We added a glow, which looked better but not great. Finally, on a whim I knocked back the opacity on the diffuse layer to 66%, and everyone was like “Oh! That’s great!”

Greenscreen

“Now pretend you’re eating an apple, like nom nom nom nom!”

In the end we were really happy with the final spot, which took about 1.5 man-months of production (one full month from myself, and a half-month from our animator). Even happier were the kids, who went absolutely crazy when they saw the ad, and kept forcing us to play it over and over as they laughed hysterically. Check it out and let us know what you think.

 

Project Stats:

“Now Eat Their Skulls!”

1m42s, 1080p @ 29.97fps

Production time: 1.5 man-months (1 editor/compositor, 1 animator)

Hardware: Canon T2i, Rode VideoMic, Canon HV20 (reference only), homemade counterweight stabilizer

Software: After Effects, Photoshop, Vegas, Audition, Audacity, Neat Video, Keylight, Color Finesse, Custom Skulls Animation Editor

Business as Usual

So here’s what I’ve been working on lately. We found out (with 2 weeks notice) that we’d be showing off our game at E3, and needed a trailer to go live ASAP. I took some deep breaths, called up our animator and our voiceover artist to confirm they’d be available for some one-off anims and pickups, and started doing layouts and boards for a minute-thirty trailer:

 

The cinematic (non-gameplay) footage at the beginning comes from the extended opening sequence, which was finished back in March and hasn’t been shown yet. I had to lay out and composite a handful of new shots (the “Scully” narrator shots, the infantry/archer/cavalry shots, and the final “expendable” shot), but fortunately we’ve got a huge library of assets that allow me to do speedy scene assembly, and I just recycled some particles/FX/post effects I’d made back in March.

Camera blocking + simple simulation inside After Effects

 

I wound up animating Scully, and animator extraordinaire Callen Wagner handled everything else. (Scully is also voiced by my dad Chet, who happens to make a living doing voiceover and audiobook work.)

Our workflow is pretty simple. We export .PNG sequences out of our custom animation editor, I import those into After Effects, do all comp / FX work there, and export each shot as a PNG sequence. I edit that footage and do all SFX/music work inside Vegas, which is my new favorite NLE — I can edit super fast with it and it likes working with weird, fiddly formats like FRAPS.

Final version of the opening title sequence inside Vegas.

The game’s still slated to ship alongside Windows 8 — and no, I don’t know when that’s coming out!

Quick Update

Quick update: In January I left Square-Enix, ending a very long run with a bunch of terrific people. I’m now working with Jake Kazdal at Haunted Temple Studios in SoDo — we’re located right next to Safeco Field. My first goal is to help Jake ship his Xbox Live Arcade game Skulls of the Shogun, adding all the fixin’s and polish that I possibly can.

The other awesome thing about Haunted Temple’s location is that they’re a 30-second drive from Seattle Gracie Barra, which lets me get my Brazilian Jujitsu fix seven days a week; I just started in February and I’m trying to train on a daily basis because I’ve got a lot of catching up to do! The people there are a wonderful bunch of guys and girls and I highly recommend it to anyone with even a passing interest in grappling.

Back to work — hopefully I’ll have something awesome to show from Skulls of the Shogun by the end of the month!

The Japanese Game Industry: Floundering Headfirst

About to graduate. Uh oh!

So let’s continue the story: I was about to graduate from a university in Tokyo, and I thought I had everything nailed down for the future. I had been doing some part-time freelance translation / voice casting for a small company, and it looked like I’d be able to get a work visa through them. Long story short: they flaked out on me with 2 weeks until my student visa expired.

At this point, I was in a panic. I had no leads for future employment, my tiny dorm room was packed full of stuff that I had to get rid of, and I had to exit the country in 14 days.

After a brief freakout I pulled myself together and surveyed my dorm room. First thing to get rid of: The TV. It costs money to dispose of pretty much anything in Japan, so it’s best to hand off stuff to your friends as opposed to pay $40 for the government to take it. I called up my friend Hiroshi, who worked at a small game company for whom I’d done some English checking and playtesting.

He picked up on the first ring. I told him that I had to get out of Japan and asked him if he wanted my TV.

Hiroshi: “Wait, why are you leaving Japan?”

Me: “The guy I was working for wouldn’t sponsor my work visa. I’ve gotta get out of here in 2 weeks.”

(Pause)

Hiroshi: “You need to come to our office right now. We can hire you.”

(Another pause as my head exploded)

Me: “Hire me to do WHAT?”

(Thoughtful pause)

Hiroshi: “I dunno, teach us English or something. Just come here, okay?”

I threw on my backpack and hauled ass out the door, breaking several land-speed records sprinting to the train station. My stomach twisted in non-euclidean ways as I tried figuring out whether or not Hiroshi was serious or not, and how this had the potential to let me remain in Japan and get my first Japanese game industry job, despite a clear lack of experience. I started brainstorming whatever useful abilities I had, along with how I could pitch myself in the most important job interview in my life, which was about to happen in 45 minutes.

My first studio! My fate waited for me on the second floor.

It turned out that I shouldn’t have worried. The company had been looking for an English speaker, as there weren’t any native speakers on staff for quick communication with the American publisher. I had a quick chat with the company president, we figured out the legal steps we’d need to take in order to procure a working visa, and I was hired on the spot as a planner. (The “planner” position is a weird one, and a predominantly Japanese concept. Planners do pretty much anything regarding to game design — writing documents, designing levels, and anything that doesn’t involve programming the game or working in Maya.)

I showed up the next day, bright-eyed and bushy-tailed. I’d be working with about 15 other guys — no outsourcing here! — on an Xbox launch game that was based on a . I had my very own desk (made out of plastic) and a folding chair, and was seated next to the director, Hiroshi. I had my own PC running Windows NT, a copy of Visio for creating visual design documents, and a copy of Softimage. (No, not XSI — the clunky one with the super-obtuse interface.) This was my first full-time game industry job, and I was ready to prove myself. Would I succeed or go face-first into the dirt? More on that later! And don’t look at my resume…that’s cheating.

Student Life at Temple University Japan

In my last post, I talked about the awesome experience I had at Kansai Gaidai University in Osaka, and what a fantastic foreign exchange program they had. Midway through the second semester, I realized that Japan was a happening place to be — I was getting plenty of work writing for IGN Dreamcast and C|Net’s Gamecenter (remember, this is back in 1999-2000 right before the Internet bubble exploded). After a year of dynamite fun in Japan, returning to rural Pennsylvania for another year to finish my college degree seemed, well, pretty crappy. My question was: How can I extend my stay here?


The answer lies within! Note the PaRappa the Rapper keychain attached to my bag.

A few months before the end of the second semester at Kansai Gaidai, I figured it all out: I would transfer my credits from Indiana University of Pennsylvania to Temple University Japan, which had a Tokyo branch. I got in contact with the school, which was incredibly friendly and accommodating–during my trip to Tokyo Game Show I took a day to visit the campus, where we sat down and laid out a road map that would let me graduate in 3 semesters, while changing my major from Communications Media to Asian Studies to speed things up.

Things got rolling quickly. I got all of the college paperwork ready, prepared to change my visa from Student to Cultural Studies (Temple isn’t an official Japanese school because of squirrely government nonsense) and started packing for Tokyo. Temple had a dorm in Tokyo, so I had everything shipped there ahead of time. After the final Kansai Gaidai graduation ceremony, I bade my tearful goodbyes, then got the bullet train to Tokyo the very next day so I could make the start of the summer session. I’d be taking five intensive-study classes during the short summer semester, so there wouldn’t be much time for anything else, much less exploring Tokyo! Worse yet, I knew a total of one person in Tokyo, my friend Alissa Takaya (who was working 24-hour crunch sessions — including weekends! — at a small developer called Anchor Inc.).

(Side note: At the time I attended, Temple University Japan was not an accredited Japanese school, meaning you coudln’t get an official Student visa, nor could you apply for the student discount when purchasing your commuter pass. I was told that no foreign schools were accredited because if they approved of an American school, then they’d have to approve of all the Korean schools too. Some Tokyo people will speak ill of Temple grads because of this lack of Japanese recognition, but they can stuff it.)

Temple University, which is basically a converted office building in Minami-Azabu, doesn’t have any on-campus housing, so students stayed in one of several “inexpensive” ($700 a month) dorms a 40-minute train ride away (not at all terrible). My dorm was located in Toda-shi, which is in Saitama, north of Tokyo — my actual train stop was Nishi-kawaguchi, which has a reputation as the Tokyo area’s biggest red-light district! In all honesty, though, a few blocks away from the station the hostess clubs and “soaplands” gave way to beautiful parks and lovely rural surroundings, so I was never one to complain.

Kyoritsu Dormy (sic) Nishikawaguchi 2. Ever-so-tiny rooms, but at least they had a sink.

The dorm room was tiny — 122 square feet — and the showers were shared, but there was a sink in each room, which made things more bearable. There was also a gigantic bathtub — maybe you could fit 10 people in it — that was always empty when I’d roll down to the public bath area at 9AM. There was also an air conditioner in each room, which was greatly appreciated — though the dorm manager always questioned the astronomical electricity bill I’d have every month (multiple PCs, game consoles, and the air conditioner running full blast).

The majority of the people in the dorm were students or workers from out of town. (I can’t imagine leaving your family behind to live in a tiny room five days a week, but that’s just me.) This dorm was guys-only and was relatively quiet. The manager and his wife, who lived downstairs, cooked breakfast and dinner daily, which was more than filling enough for a poor student.

Each morning, I’d grab my free breakfast, unfold my Razor kickboard — I assure you, these were all the rage back in 2000 and could shave twenty minutes off my commute — and head off to class.

TUJ professor Jeff Kingston, Ph.D., an all-around great guy. You’ve probably seen him on CNN or NBC commenting on Japanese stuff. Here he’s making fun of one of my boneheaded theories on the whiteboard: “Williamson Thesis: 1.) Masochistic impulses of Koreans who sought to become even more imposed on culturally, etc. 2.) Effective brainwashing deceived by Japanese duplicity.”

Temple was great. The staff were all Asian Studies specialists, and I took some amazing courses in Japanese history and Chinese poetry (!), taught by people who were passionate about their stuff. Also indescribably fantastic were the film courses, taught by none other than Donald Richie himself; he would roll in, we’d watch an Ozu movie, and then he’d go into exquisite detail about the films…many of which he was on the set of. He was 77 years young when he taught my class, and sharp as a tack. I am certain he has many, many years left — I remember randomly running into him hanging out in Shibuya. What a guy.

Field trip to Oshima Island, home of GOJIRA!!!

The TUJ student body was diverse. Some students were there on a one-semester visit from other schools, while others were bilingual Japanese kids; many of them had grown up attending international schools. The actual graduating class was very small. I am amazed by anyone who goes for a challenging college degree in a language other than their native tongue. The only bummer was that I couldn’t keep taking Japanese language classes, as I had to hit the required courses in order for me to graduate on time in three semesters.

Can you spot Colin?

Though my schedule was filled with classes, I managed to start exploring Tokyo and making some lifelong friends. And after three genuinely awesome semesters, it was graduation time. We put on our robes — a  ceremonial garb which baffled a lot of the Japanese students — and had the ceremony in a Japanese hotel’s ballroom. I received my diploma, and stepped through the door into unemployment, and the realization that my visa was about to expire in a week with no future plans. More on that next!

Student Life at Kansai Gaidai

Studying at Kansai Gaidai University was flat-out awesome. The coursework was challenging, but the teachers gave you enough slack to take some time off and enjoy the wonders of foreign exchange. They hooked me up with a great, loving homestay family and a good conversation partner to meet with a few times a week. The non-Japanese language courses were also varied and insightful — I especially remember the classes on Gender Roles in Modern Japan (Hester), Death in East Asian Society (Kenney), and the film class where we blasted through tons of Kurosawa movies in the university theatre.

Kansai Gaidai Library, circa 1999

The library was also a majestic building full of great research materials. The only weird thing was that you had to run your university ID through a special reader and then wiggle your way through a turnstile. Maybe it was to keep out the homeless people. Of which there were none.

Sakedojo, the dojo of death and drinking

There was great food, too! Foreigner-friendly delicacies like hamburg steak and curry rice were plentiful and cheap at the cafeteria, and the popular hangout was a place called Sakedojo, where you could get plastered for cheap with other foreign students in an eating environment that hadn’t passed health inspections since 1923. While everything was covered in a horrifying layer of dirt and grime, the chicken katsu with the top secret “dojo sauce” always tasted awesome, and the girl waitresses were lovely beyond belief.

Gaidai’s crack ballroom dancing team. Yes!!!

One thing you might want to be careful about is clubs and activities. Some Japanese university clubs have lunatic schedules, meeting once or twice every day, including weekends. While this is great if you want to become some kind of kenpo monster, you might want to do what I did and take a club that only meets twice a week. My friend Evil Colin took shodo (Japanese calligraphy) and I went for Judo at first but then switched to Ballroom Dancing for obvious reasons.

Den-Den Town, the happiest place on earth

Den-Den Town, the happiest place on earth

After class we’d hop on the train and head to Osaka to places like Den-Den Town, which was a veritable smorgasbord of used games, CDs, and various geek stuff that kept us shopping until the shops closed down at 7pm. (I still believe that Den-Den is ten times better than Akihabara.)

One side effect of being in Japan and living with a host family: I was no longer fat. I entered Japan at roughly 230 pounds, and after a few months I realized that none of my clothes fit. The combination of eating healthy home-cooked food, walking to school every day, and not putting crap like Taco Bell in my body had turned me skinny. I could actually run kind of fast. And I could do a pull-up!!! Wonder of wonders.

The infamous Professor Yamashita. Known for “borrowing” food from students during lunch hour.

After a few months of this pure concentrated awesome experience, I started thinking “HMM, I really should think about spending another semester here.” All of my friends shared my sentiment, and we all applied for a second semester so we could spend a full year abroad. The paperwork was easy-peasy and we all headed back home for Christmas, or stuck around Osaka for the holiday season (my friend Jason has some amazing stories about this one-month vacation). I was in full Japanophile mode, I was missing my Japanese girlfriend, and if I remember correctly was pretty unpleasant and down on America. I thank my parents for being so patient with me that holiday season.

So I headed back for another round of Kansai Gaidai fun. The second semester was even better than the first, since we knew the ropes really well and had established incredibly strong friendships. As the semester came to a close, we realized that this amazing part of our lives was going to wrap and we’d all be going back to the United States.

Graduation for Osaka Kansai Gaidai Crew 2000. Sayuri Matsuura, Emily Jensen, Colin Williamson, Jason Fetters, Colin Wahlert, Trevor Lalish-Menagh

…or would we!?

To be continued…

DM-TokyoTrainwreck Postmortem

 

Download PC version

Download PS3 version

DM-Tokyotrainwreck is basically the first time I’ve worked in 3D or level design since I doofed around with the Doom editor back in 1996. I’m pretty happy with the results, and was surprised how easy it was to get up and running in UnrealEd. I attribute a lot of that to the fact that Epic has amazing free documentation, and the supportive modding community that is always willing to lend a helping hand or give advice. I was super lucky in that I had the help of my friend Rob who did custom modeling and shaders galore, and my other friend Satoko who did some really immaculate texture work. Near the end I had my friend Kay record some announcer dialogue for me in Japanese and paint some posters, my friend Nick from Go Studios contributed extra signage, and finally my friend Alan from Petit Panda Extreme did an interactive soundtrack. Here is a video I cut together.

It wasn’t done in time for the Make Something Unreal contest, but we did manage to submit an earlier version of it to the IGDA Level Design Contest and won 3rd place.

 

Finished level vs. Original reference shot

CONCEPTION & TEST

I always went home through Shinjuku Station’s Oedo Line, which is one of the deepest subway stations in Japan. Whenever I’d go home I’d have to go through 4 sets of stairs and elevators. Some parts of the station were newer than others, so there were always interesting transitions from the older, gritty 1980’s architecture and surfacing into a cleaner, late-90’s look. I thought that this would be a quick and dirty level to crank out, but once we started creating our own content, development stretched into about a year of on-again, off-again work in our spare time.

 

To start, I took a few reference photos, got some maps of the real-life station and started building in BSP. After a day or two I had managed to build out the base Shinjuku subway line. I threw in some pathnodes and weapons and started playing.

No surprise, it sucked!  Real-life layouts again proved to be uninteresting for deathmatch. Disappointed, I started punching out walls and honeycombing in tunnels, taking a lot of ideas from Hourences’s tutorials. The general rule of thumb is that each room should have at least two exits and never be a “trap.” I added in some one-way transitions (falling through ceilings) and decided the defining part of the level would be a train that collapsed through a ceiling, which could be used for traversal.

 

Another requirement was player-activated traps and environmental hazards. I love Unreal Tournament maps like DM-Pressure where you could trap someone else in a room and make them explode. There are three main hazard areas:

  • A maintainence room where you can trap someone, a countdown starts, and then a train drops on their head.
  • High-speed trains running on the lower platforms (with shock rifles nearby so players can “bump” enemies onto the tracks)
  • A lower tunnel the player has to quickly snake through to grab a weapon. A train is almost always running through here, so its proximity is telegraphed by a traffic light and an animated static light  that represents its headlights (on the other trains this is done with a lightfunction).

I am also a big fan of underground structures like the Tokyo G-Cans drainage system, but this was executed so well in Mirror’s Edge that I figured I’d try something else. I wound up making a big wind tunnel that lifts you up to more weapons with a GravityVolume.

I did a lot of testing early on; I would cook a PS3 version and bring it to friends’ houses for them to try. I noticed the most common problem was people going up the down escalators or vice-versa, so Rob added a glowing arrow at the base of every escalator indicating which way to go.

The biggest problem was communicating how to use switches. In UT3 there is no Use button. You could jam your body against a button Quake-style, but that seemed sloppy and imprecise, especially if you want to press the button with perfect timing. I wound up putting a big pink button on the ceiling that you could jump to activate. After a few tests it was obvious that nobody knew how to activate the switches, so my artist created a two-frame billboard animation of a jumping man (she had been playing a lot of Portal, I guess). After that everyone immediately knew what to do.

I started out using Epic assets as placeholder, then would rough in proxy custom meshes with BSP. Rob would take the proxies’ measurements then crank them out as static meshes in 3D Studio. (I always found it was a great motivator to tell Rob, “You know, my BSP modeling is pretty good as-is, we should probably just leave that as BSP.”  This would always drive him crazy and he’d crank out an actual mesh to replace it in less than 24 hours.)

LIGHTING

I know a lot of people don’t do lighting until the level is done, but I found that dropping in proxy lights as I worked totally helped in detailing the level and figuring out how to transition between zones.

I also had an enormous problem. The stock UT3 lighting system is pretty flat and there’s no ambient occlusion or radiosity, so you have to do a lot of fudging. I was able to fake radiosity by just dumping in a ton of small point lights where lights would bounce, but shadows remained a problem. Objects on flat BSP surfaces looked like they were just floating and not part of the scene:

You don’t notice this in games like Gears because they have really high-frequency texturing, but in our map it’s mostly simple, smooth surfaces, so I had to find a solution.

I wound up creating three decals. One is a circular gradient, the other is a rectangular blob, and the other is a flat gradient. I went through the map and started slapping these down on the ground to fake shadowing. I also threw down some dirt and grunge on the most-traveled areas of the floor.

Aha! Much better. Objects look like they’re more rooted to the ground. Additionally, the gradient decal let me fake hard edges in some areas, kind of a throwback to when everyone would do shadows in geometry like in N64 Goldeneye:

Performance didn’t take too large a hit either — make sure that the decals are only affecting the surfaces they need to, though. If a decal volume clips through the ground and affects geo underneath it, that’s extra draws and it will start bogarting your performance very very quickly.

Nowadays Unreal has Lightmass which supports radiosity, ambient occlusion and cool dominant direction lights, so you probably don’t have to do dumb stuff like this anymore. You can play with it for free if you download the UDK from Epic.

 

OPTIMIZATION

The level was originally built on a low-powered laptop and targeted towards the PS3, but it still went out of control. Lighting was taking upwards of 15 minutes per build and the engine was chugging more than I’d prefer. Fortunately I did two things that dramatically cut down my level size and brought performance back to 30fps on the PS3. Here were the two major optimizations I did.

  • Selective Lighting: Vertex vs. Lightmap

All static meshes in Unreal default to vertex lighting. However, if your mesh has a second UV channel you can use lightmaps instead. Lightmaps are super awesome for two reasons:

  1. Lightmaps can stream out of the texture cache while vertex lighting data sits in RAM hogging memory.
  2. Lightmaps can save HUGE amounts of space if applied to high-poly decorative meshes.

For example, let’s say I use a total of 8 girders at 842 tris each. If I use vertex lighting, my lightmap size is a hefty 111kb. But if I change it to use lightmaps at 32×32 pixels each, that total is cut down by a factor of ten to about 11k! And it looks almost exactly the same.

Of course, in some areas vertex lighting might look better than lightmaps, or you might want to bump up the lightmap resolution if a shadow’s falling across geo in a weird way. I wound up going through the map piece by piece, and adjusting on a per-object basis. Girders up near the ceiling where light wasn’t reaching could get knocked down to 8×8-pixel lightmaps with no loss in quality and a huge reduction in the memory footprint. My lightmap size plummeted from 40mb down to 12mb.

Note that if you’re using lower-polygon meshes, sometimes vertex lighting can be better. It’s all about balance. Here is an Excel sheet from Epic that shows you when it’s cheaper to use a lightmap than vertex lighting.

  • Manual Culling vs. Occlusion Culling

When Unreal draws a scene, it uses crazy Tim Sweeney Voodoo Math to figure out if the object in front of you is blocking your view of anything further down the road. Multiplied by several thousand objects per scene, this can get kind of slow. Instead, you can tell the engine “If this object is X units away, just don’t draw it” by setting each individual object’s CullDistance under the rendering tab. I went through the map, manually setting CullDistance on every individual object as I moved through the editor, figuring out how far I could move away from an object before it wouldn’t be visible from any angle. This made my performance skyrocket, especially on PS3. I also manually set CullDistance for particle systems too, because I think they always render no matter where you are in the level.  (You can also use a CullDistanceVolume as well, but it can create weird popping effects and it isn’t so hot for dense indoor levels.)

SOUND, MUSIC, AND POLISH

Near the end of the project I read this tutorial on implementing interactive music and asked my friend Alan to make a few tracks. I think they added a lot to the overall atmosphere, plus they’re low-key enough to not be annoying after 20 minutes of looping. I also wrote a bunch of dialogue for station announcements and had it translated into Japanese, and got my friend to record the lines. There’s a chunk of Kismet that randomly fires every minute and triggers one of 10 announcements. (Note that the jingle that plays before each announcement is the Unreal Tournament 3 theme, but in a major key.)

Maintaining Consistency

To make the station feel like a real place while not infringing on any train companies’ copyrights, we decided to basically create a “fiction” to unify the level’s look and feel. We fired up Yahoo Japan Maps and laid out two new, theoretical subway lines. We gave each of them a name and a color code, then we created color and B&W corporate logos for both the train company (ISR) and the construction zaibatsu that built the station (Sanmaru Heavy Industries, a play on san-roku-maru, the Japanese name for the Xbox 360). Because of this, all the in-station signage is accurate, and locations referred to in the station’s billboards correspond with “Points of Interest” on the Exits & Facilities guide.

Also, if you zoom in on the LCD monitors, you’ll notice that the train station’s software is running on Apple IIgs BASIC. Yes, I am a huge nerd.

Last-minute change: Video!

A few days before release I realized that you can put your own prerendered Bink videos into the engine and they hardly take any CPU time.  Fortunately, my friend Vanessa was in town, so I grabbed all the lights in my apartment, put her in front of a camera, and she tousled her hair around. After about an hour in After Effects I made this video loop.

STUPID STUFF I DID

I went into this from zero, so I made a lot of dumb mistakes. Here’s what I learned:

  • Don’t be stupid, don’t detail in BSP

This goes without saying, but I’m persistent enough (and so crappy at Maya) that I will totally go out of my way to do extraneous detailing in BSP. This results in nasty subdivisions of level geo that you just don’t want. That’s not to say that you should never ever use BSP — Mirror’s Edge does all of its interiors in BSP:

Left: Mirror’s Edge BSP only. Right: Mirror’s Edge with static meshes added.

Of course, they’re just doing simple surfaces, and you should too.

  • Check your sightlines

There are one or two totally ridiculous long sightlines in the map that could have been fixed back when I was BSPing everything out. These make for bad performance and annoying gameplay when someone’s got a sniper rifle.

  • Don’t expect bots to do anything smart, ever

Making traps is easy but making bots actually use them is hard. I wound up scripting behavior exclusively through Kismet, which resulted in this mess of spaghetti-script:

Barf. It almost works okay because it keeps checking a lot of variables (is the weapon I want there? is the door already open? has someone else activated this switch? is someone else in the vicinity of the trap and likely to enter it so I can kill them?), and the break cases kind of work because “Move to” commands can be interrupted. It’s still a mess, and it breaks so horribly in Team Deathmatch that I’m totally embarrassed.

In the end, I’m happy with the way it turned out. You can grab it here if you have a copy of Unreal Tournament 3 and want to give it a shot.

Wasting Future Generations' Time Since 1977