Star Wars Kinect

box_plus_console
I was Main Game Designer on the Podracing game mode in Kinect Star Wars, which featured many different Star Wars-themed modes. Podracing was one of the first modes we knew we wanted to make, and I led the Podrace strike team that helped us get green lit. During production, I worked onsite with Microsoft in Redmond to work closely with the developers there, keeping us in sync with the massive development process with teams literally around the globe. I also worked on cinematics and the game’s interactive front-end menu.

Sebulba and the player head to the finish line in the Boonta Eve Classic.

Sebulba and the player head to the finish line in the Boonta Eve Classic.

Podracing is “Easily the best gameplay in all of Kinect: Star Wars” – IGN

Greenlighting in the Dark

Star Wars was my first project to actively participate in the Greenlight phase. We had initially been approached by a group at Microsoft who saw our work on Ghostbusters and thought we’d be a good fit. The only thing we knew at first, though, was that it was a Star Wars game that was meant to appeal to a broad audience. This was in the weeks prior to Microsoft’s announcement of “Project Natal,” the project which would become Kinect. On the day Natal was announced, we were officially told that the Star Wars project was indeed a Natal title.

We were very excited, but nervous at the same time. We watched Microsoft’s inspiration reel just like the rest of the world, but now it was our turn to take a well-loved franchise and design gameplay on a true frontier. Microsoft worked with us hand-in-hand to deliver prototype units of the camera sensor and share with us the results of other teams, but when we looked around the room at other projects, we quickly realized that our project had the most challenges ahead of it. At that early stage, there were only simple motion control games and tech demos. We were were expected to deliver a more hardcore Star Wars experience with top notch graphics and physics simulation.

“If anyone’s going to make their move, now’s the time to do it, ladies and gentlemen!” – Fodesinbeed Annodue

First things first, we needed to work with our publishing group to officially get the project greenlit by the higher-ups at Microsoft. We selected two modes which we already knew we wanted to take to full production: Jedi Adventure and Podracing. We divided our programmers, artists, and designers into small strike teams to tackle these modes. I was put in charge of design for the Podracing team.

Our first track, “Beggar’s Canyon”

In the first track we created, ‘Beggars Canyon,’ we tried to give every stretch of the course some kind of visually & gameplay distinctive look and feel. This ‘Theme Park” approach  would persist into the final game. This track featured an epic jump through the famed ‘Stone Needle’ that many of our team enjoyed flying through (or crashing into) during our reviews.

By the end of Greenlight, we had shaped many of the concepts that would guide the rest of the process: tracks should feel like “Star Wars” and focus on the speed and danger of Podracing in Episode 1. Also, every track needed a ‘Star Wars Twist.’

As for Beggar’s Canyon itself, we ended up determining that the course itself was too canyon-based and that a more varied Tatooine environment was needed. Tatooine ended up being home to 2 of the Podracing tracks, and many elements from Beggar’s Canyon made it into the ‘Mos Eisley’ track. Beggar’s Canyon itself is actually part of the Mos Espa race circuit seen in the movie, and is part of our race in the game’s ‘Boonta Eve Classic’ track.

coru_start
moseisley_start

Pod Racers approaching the epic Sarlacc corner in the Mos Eisley track.

Pod Racers approaching the epic Sarlacc corner in the Mos Eisley track.

Racing with a “Star Wars Twist”

I love working with a talented team. When I had finished dividing the initial track for the greenlight Podracing, I had defined several moods and gameplay elements. Some of these were environmental, but an idea for other locations was formulating that I started calling ‘Track Events.’ Track Events were anything happening on the track outside of the course and the racers, and any track event had to feel like it was part of the Star Wars ecology. The quote “there’s always a bigger fish” from Episode 1 was a quote I kept repeating to the team. Throwing in a twist is something that felt very Star Wars, like Mynocks eating the power couplings only to discover the Millenium Falcon is actually inside a giant rock worm monster.

For Podracing, the obvious movie inspiration was the Tusken Raiders who took shots at the racers passing by. I designed a simple concept to make the ‘Track Sniper’ class. My design called for clear communication to the player: an audible warning zone, a zone for warning shots, and a death zone. The programmer followed the design to a T, making a visual cone with easy-to-modify ranges and damage values so that designers could quickly iterate on sniper placement.

“There’s always a bigger fish.” – Qui-Gon Gin

The Sarlacc Corner

My favorite, though, was the Sarlacc. During greenlight on the Beggar’s Canyon track, I worked with artist and designer Glenn Gamble on one corner of the track where all I knew was that I wanted maybe a few sarlaccs with tentacles slapping down on the track. I wasn’t sure how it would look visually. I was going for something like the Chain Chomp guys from Mario Kart 64. After talking with Glenn and giving him of a top-down of the track in question, Glenn came back to me with a concept of an ENORMOUS sarlacc taking up the entire corner.

sarlacc_progress1

He had taken my idea and ramped it all the way up so that giant tentacles fell on the tracks and made dynamic obstacles for the player to avoid. We also included ridges of teeth to add to the confusion, but that ended up being too much.

For the next step, I made an extremely rough mock-up of where the obstacles would be, so that the challenge would escalate as the player drove through, and so that there were breaks in the action for the player to size up the next tentacle threat. Glenn made some basic animated model versions which I could script together.

Crude mock-up of the tentacle obstacle layout. Green indicates safe zones. Orange tentacles are the drag paths.

Crude mock-up of the tentacle obstacle layout. Green indicates safe zones. Orange tentacles are the drag paths.

Original tentacle models made by Glenn for proof-of-concept.

Original tentacle models made by Glenn for proof-of-concept.

We developed two kinds of tentacles: a “slapping” tentacle and a “dragging” tentacle. The slapping tentacle would slam down on the track and create obstacles and holes to aim through. Dragging tentacles would scrape across the track, inwards towards the sarlacc’s beak.

Original concept work by Grant Gosler of the beak itself.

Original concept work by Grant Gosler of the beak itself.

Full mock-up with animated models.

Full mock-up with animated models.

I scripted all of this to work in Dante so that each tentacle would drop dynamically, timed to intercept with the trajectory of an incoming racer. I’d subtract the lead-in animation time from idle to the fully down position. It was also easy to tweak, so that we could change the difficulty of the timing.

Top-down of the final iteration at the time of greenlight.

Top-down of the final iteration at the time of greenlight.

Tentacle obstacle from the final implementation in the Mos Eisley track.

Tentacle obstacle from the final implementation in the Mos Eisley track.

By the final iteration, all of my script was taken by the engineers and placed into a new actor class for the tentacles, giving designers a more visual editing tool to tune the boss. We also moved from animated models to fully animated rigs, which were custom posed to the track geometry. The final touch was adding sound and particle effects to really give the massive tentacles their dramatic impact.

The below video is from the final implementation in the Mos Eisley track which shipped with the game. The tentacle activity escalates over the 3-lap race.

Track Construction

For a company that hadn’t made a racing game in a few console generations, there were a lot of new tools to generate. Laying out a “track” was much more than just the geometry. I worked closely with the engineers to get the basic track lines laid out to help inform many race systems that we wanted to achieve, including:

  • Track mini-map
  • Lap counters
  • Position indicator
  • Wrong way indicator
  • Out of bounds messages
  • Allowance of multiple paths
  • AI racing lines
  • Post finish-line cameras

7651822_orig
4350130_orig

Together we developed multiple layers of tools: a navigation mesh to help inform the boundaries of the race itself, a spline path to help measure distances of each track segment, and ‘junctions,’ which connected the splines and allowed me to trigger special events at certain locations.

The navigation mesh was one of the trickier pieces to work with as the artists and other designers iterated on the track geometry itself. It would constantly need to be updated, or else we might find a whole cluster of racers smashing into a rock on any given build.

8516365_orig
4047837_orig

I ended up using the tools from the junctions and race paths themselves to measure distance and, via script, built an intelligent dialog system which attempted to relay important dynamic events as the race unfolded, such as a new leader taking first place or another racer blowing up. Other callouts, like famous POI’s players pass by, were called out via basic triggers. I created a priority system to help determine which announcement was more important and, if possible, bumped a POI callout trigger to the next lap to try and maximize the hundreds of lines recorded for the podrace announcer by the great Greg Proops (as “Fodesinbeed”).



System design that me and another designer made for the 'Entanglement' mini-game, which was cut from the game.

System design that me and another designer made for the ‘Entanglement’ mini-game, which was cut from the game.

“Looks like someone left some junk on the track. You see something you can’t go around — maybe broken droids, Jawa wedding, maybe Sarlacc tentacle — you got one option. JUMP!” – Watto

Post-Race Camera System

Another similar system I created in script was the post-race track cameras. I mounted five cameras around the player’s pod vehicle itself and scaled the camera splines based on the size of the vehicle (as the player could pick between huge “tank” pods and smaller, “rocket” pods). I also placed some cameras on the tracks themselves that would be triggered as the player’s vehicle passed through them. The cameras attached to the vehicle included fixed views as well as simulated drive-by’s. The track cameras usually showed off NASCAR style track corner cams, POI’s, and blimp views. When the player passed through a trigger, the camera view would flip to one of those shots. Once the shot timed out, if there was’t another track cam queued up, we’d return to the cycle of pod-mounted cameras. Check out the ending sequences from each of these race montages in the videos below.

Faithful to the Franchise

As a Star Wars nerd myself, getting to work on each Star Wars location in Podracing, as well as the C3PO/R2-D2 interactive menu, and the many cinematics for Pod Race and Jedi modes, was like a dream come true. Before passing off my pass at race announcer lines to the writing team, I did my research on Tatooine geography, naming each section of track according to the existing Boonta Eve and general Tatooine canon. Some of the lesser-known planets required a bit more research, such as the Felucia track. When racers pass through civilization, that area of track is named after a Felucian city ‘Kway Teow.” Areas of the Utapau track are named carefully for their distinct two races, the Pau’un and the Utai.

Creating the track events was even more fun: womp rats and mynocks that attach to your engines on Tatooine. Varactyl  (furry lizard-like creatures) on Utapau and buzz droids on Coruscant have similar behaviors, keeping the gameplay consistent and familiar while localizing each variant to its home planet. We also tried to base events on the timeline of this Pod Race game in the Star Wars universe (between Episodes II and III). Clone Wars are breaking out in Felucia and Bespin, General Grievvous’s ship is still docked in Utapau, and Anakin himself takes a break from the war to help out his old friend Watto in the Boonta Eve Classic.

Here are some of my favorite shots I got to set up, working with environment and fx artists, sound engineers, and graphics programmers to pull off some great Star Wars views.