Girl Gamer

Women in Gaming: Halo's Corrinne Yu

By GG-AngelThanatos 2 months, 1 week ago • 4 Comments

Do you love games? Are you good at math? You might consider a career as a video game programmer. I had the honor of (virtually) meeting the amazing Corrinne Yu, who sheds some light on what it’s like to dream in algorithms.

Let me start by congratulating you on being honored at the Game Developers Conference with the “Best in Engineering” award. What a great honor and awesome example to women gamers! As a female Principal Engine Architect at Microsoft Games, have you noticed more females pursuing this type of career?

Thank you for the congratulations of my awards. There are many fantastic engineers in our field. It is an honor to receive the recognition. GDC has been a useful resource for many game programmers to recognize each other’s contribution. I am glad GDC exists. There are more women pursuing game development and programming, inside Microsoft and outside in other studios, than ever before. It is a wonderful thing to have such diverse backgrounds in game developers, and such broad representation in programming and STEM (science, technology, engineering, mathematics) fields. What is fascinating about women in programming is that we tend to be outliers.

You’ve worked on a space shuttle program, you won an award for nuclear physics…you are obviously VERY intelligent and could have whichever career you wanted. What drew you to game programming and related technology?

Thank you for the compliment. What I like about STEM, especially mathematics, is that it is intriguing to solve how complex pieces fit together into a beautiful simple way. What I like about software engineering is how much creative power we have in creating complete worlds or self-consistent systems. It is like playing Minecraft every day as a job, except our flexibility is greater, and our creations becomes useful devices that runs in the physical world. What I like about game engine programming is that it is one of the most complete and universal simulation system we get to create as a sole engineer or as a small strike team. As a comparison, in aerospace for example, we own with our team a very important piece of simulation of one aspect of the spacecraft’s construction or its trajectory. With game engine programming, we program a completely self-consistent world with photons traversing through game materials in just the right way, with faces and bodies acting and reacting just so, and every extra bit of engineering effort we put forth, we make the gaming immersion just this much deeper and richer for the player playing the game. It is a very mentally fulfilling sort of career.

I’ve noticed that a lot of consumers associate a game’s engine with the quality of graphics as if that’s all it’s good for. Can you explain how an engine will affect different kinds of game play?

What the data structures are, how the engine fetches data, computes, and renders, can matter just as much as what it renders, for example, lighting features. How the engine renders impact whether your game is forced to be enclosed corridors or whether you can deathmatch in a wide open world. It impacts whether your encounter is with only four co-op players at a time, or whether you co-op with a large number of players. It affects how many enemies you can fight at one time, and how dumb or smart, for example, how often are they left to think to fight against you. It impacts how dumb or smart your enemies can based on how much or how little of the world your enemy can consider and digest from what they can see and process. It impacts how strategically fair your enemies can be with whether occluded information is occluded from their attack plans. It is often possible to engineer a closed indoor corridor game with a lot of features, but this same engine would not be able to provide you the co-op or deathmatch experience in a wide open world. Not only does an engine affect game play, an engine’s implementation implies directly the different types of play possible by early engineering decisions pre-production.

You’re married to the Senior Art Director for Halo, Kenneth Scott. Did you know each other prior to working on the series, or was it a match made in Halo? (Or Rage, I believe he worked on that, too.) ;-)

I met Kenneth when he was recruited for his work on the first Team Fortress, and his artwork on Doom Hacx, to work for John Romero at ION Storm. He was known for his art texture work, or skin work, back in the day. I was at that time Director of Advanced Technology at ION Storm. We met around the early Quake and Quake 2 days as game developers who worked together. He has been Art Director at Quake 3 Arena, Doom 3, Rage, and Doom 4, and worked at id software for more than a dozen years. I am glad to be working with him and his art direction again.

It’s a busy day at Microsoft and the world is impatiently waiting for Master Chief & Cortana’s next adventure. Walk us through a typical day at the office for a Principal Engine Architect. How involved are you in the development of the project as a whole?

I spend a lot of time writing source code. Most of my work is deeply mathematical, so I spend a lot of pencils down time on graph paper working out all my equations before I start programming implementations. I am not a big Mathematica brute force kind of girl. Call me a Luddite, there is more heft to pencils down with derivatives, curls, triple integrals, basis, super long algebraic expressions, and arrays of floating point numbers hand calculated to walk through my symbolic equations on aligned columns of graph paper, watching the cogs and levers work themselves out like magic. Most of my source code is pre-optimized in equations on graph paper before it gets to code. I often program several versions even when I know one version is better looking and runs faster than another, to enjoy the satisfaction of empiricism. Working inside a huge software company like Microsoft with its technology fingers in many pies, I pack up and pass out and share my own source code to external Microsoft departments for them to use or to optimize performance for their technologies. A lot of what I invent gets very esoteric, or “math-y”, so I spend time walking through and explaining to other developers how my algorithms work, often more than once, to all of those who are stakeholders in how it all works. Microsoft is a 800 pound gorilla in many technology sectors, and I am sometimes asked from those outside of my department to extrapolate what I invented with how other technologies can apply to it, and what implications we have with each other. Being a software engineer at our levels inside Microsoft is having a big stake and a big impact in so many technologies inside and outside of gaming. It is a very intellectually fulfilling role to play.

You’ve been the Director of Technology for a number of game studios, including GearBox (Borderlands) and ION Storm (Deus Ex). You are essentially aiding the advancement of technology in our industry and beyond (with Direct3D, for example). What advancements do you predict for gamers in the next five years? Will we finally get our virtual reality?

Thank you. Broad connectivity will make some nice strides in gaming and entertainment technologies. The final walls of interactivity can come down in the next few years. We can expect better multiplayer game experience than ever before, with deeper and more meaningful ways players can play with and play against each other. Visual and physical simulation should get quite mature in this timeframe. With better memory management I would see fine lines blur between what is visual, what is simulation, and what is physical, or physics or gameplay simulation. Ironically, I expect the next challenge is not so much how many things we can do, but a matter of managing lag and latency as the systems we develop becomes exponentially complex and interdependent on each other. It is prudent for algorithm inventors to start planning along those lines.

As you know, much of our technology was foreseen in works of science fiction. Do you have a favorite science fiction author, story or film that inspires you to innovate?

Thank you for asking my favorite topic: science fiction. Being a programmer and a game software engineer, I like many Philip K. Dick stories as they are philosophically prescient of where virtual reality may lead. One of my favorite of his stories is Ubik. I deeply want to discuss what I love about this story, but it is such a well written story, to discuss it is to speak of its spoilers, so all I would say is if you have not read it yet, please read it for yourself. I thought the first Dune novel constructed one of the richest universe and fascinating alien races in the science fiction world. If we can give the Halo player the immersion in a sci fi world as rich as Dune, it would be pretty exciting effect. Bladerunner is a beautifully made film. What I love about it is not only does it tell most of its story from the visuals and subtexts, the subtext stories actually contradict the story on the surface that is narrated and acted.

Do you have time to play any video games yourself, and if so what are your favorites?

I am one of those who like Halo campaign more than Halo multiplayer. For first person shooters, there are many games, Halo included, that provides a deeply satisfying fragging experience. Yet among almost most shooters still being shipped, Halo is the only one whose universe provides as much hard science fiction possibility. I also love games with RPG twists like Borderlands, as I enjoy games that give me a gameplay narrative unique to me and not any other players. This also goes without saying that I love deeply RPG games like Mass Effect. For international games, I enjoy Metal Gear Solid boss fights. It is obvious the developers put in a great deal of effort into the bosses and the experience of killing the bosses at every encounter. I also love obscure fighter games and played the heck out of the original Battle Arena Toshinden, The King of Fighters, and even more obscure fighter games that too few people had heard of. I love the tough and beautiful challenge of side scroller Einhander. I enjoyed the strategizing in Civilization. I am more attracted to quality, than I am a genre loyalist. I see quality in any genre of game. I don’t have too much of a blind spot against games that are not first person shooters.

What kind of advice would you give a girl who wants to become a game programmer?

Game programming is a wonderful career that bridges the gap of advance hardware design, completion-ist world simulation, exploration of esoteric math, and many intellectually rewarding fields. It is a wide open field that has a place for the geekiest math nerds, to gameplay programmers who wants to know enough to call some functions to move the warthog without having to solve partial differential equations. If you are delighted by studying Clifford algebra or working through thermodynamics proofs, there is a place for you. If you less into post-doctorate math studies, but you love to hand optimizing GPU shaders or vectorized arithmetic, there is also a place for you. If you love to tweak the AI weapon type or the vehicle velocity response just so, but not into optimization, or into theoretical math, there is also a place for you. There is more than one way into a career in game programming, and it may be easier to get in than you think. I welcome all of you with open arms. I look forward to supporting you, your careers, and the games you program for us in the future.

Okay. I’m convinced that Corrinne is really an algorithm-generating cyborg from the future. Seriously, though, this is one smart young lady and we look forward to seeing her contributions to our beloved industry in the future. (From which she’s obviously traveled)

Tags

343 Industries, AI, Corrinne Yu, GDC, Halo, Microsoft Game Studios, STEM, Women in Gaming, algorithms, engineer, game engine, game programming, interview

willowofthetime

2 months, 1 week ago

OH GOD NOT PROGRAMMING! Eeesh I had to take a class in programming in school and it's not my cup of tea. My roommate is a programmer and I have nothing but the most respect for programmers. I don't know how they do it, but de make da world go around.

GG-AngelThanatos

2 months, 1 week ago

I would say I'm okay at math if I can visualize it, but my brain doesn't think that way. I have the utmost respect for people who can program. I guess I'll stick to art, lol.

Diopolytropos

2 months ago

Programming is much about language skills as it is about math. If you're coding a game engine, of course there's serious math involved in that since you're basically dealing with physics (and not in terms of simulations, but in translating a three dimensional virtual model onto a two dimensional surface). But if you're doing scripting for something like, say, dialog trees in Mass Effect with renegade and paragon options, that has far more to do with logic, and the math is pretty simple as long as you're able to properly visualize the data structures where the options and the player's inputs are stored.

GG-AngelThanatos

2 months ago

@Dio That's good to hear...because I have two books on how to program that I have yet to crack. One of my 2012 goals. I wanna know at least how to do the basic stuff. The more I know the better I understand the inner working of the games I play and review.

Sign in or sign up to comment!