Interview with Corrinne Yu, Principal Engine Architect at Halo Team

Wouldn't geometric algorithms be computational geometry? (Point location, triangulation, convex hull etc? And, well, a ton of stuff people use but categorize as '3d algorithms'.)
 
For a technical forum, there certainly is a lot of unabashed sexism present in this thread and very little in the way of technical analysis.
 
For a technical forum, there certainly is a lot of unabashed sexism present in this thread and very little in the way of technical analysis.
I was waiting for someone to point this out.
yes it is a embarrassing for all those involved including Corrinne
 
Wouldn't geometric algorithms be computational geometry? (Point location, triangulation, convex hull etc? And, well, a ton of stuff people use but categorize as '3d algorithms'.)

I did a little research to enlighten myself, so yes... it is what you and Richard all mentioned, but I would guess (as I am very far removed from the last time I had to utilize anything but simple algebra in my development work) that these algorithms are not necessarily used in real-time games development on the consoles due to space constraints -- she alluded to this in the interview. I am curious if they use computational geometry algorithms to run simulations as they prototype concepts and perhaps reduce dataset sizes to make problems more manageable for small systems.

One would think that Project Natal would be a case where you need better than O(n^2) processing of the camera image.

I used these to superficially educate myself on this topic:
http://compgeom.cs.uiuc.edu/~jeffe/compgeom/
http://books.google.com/books?id=gF...resnum=8&ved=0CCoQ6AEwBw#v=onepage&q=&f=false

See, Corinne Yu is a good professor -- one who inspires others to learn more.
 
I seem to remember that computational geometry problems often weren't that complex, computation-wise (or space-wise, for the search algorithms). Our professor joked when he was showing us an NP-hard problem in CG that he was doing so just so we wouldn't think that everything in computational geometry could be solved in O(nlogn).

Though I have no idea about the datasets she's dealing with.
 
I seem to remember that computational geometry problems often weren't that complex, computation-wise (or space-wise, for the search algorithms). Our professor joked when he was showing us an NP-hard problem in CG that he was doing so just so we wouldn't think that everything in computational geometry could be solved in O(nlogn).

Though I have no idea about the datasets she's dealing with.

My problem was that I don't recall covering computational geometry in my Analysis of Algorithms class back in 1992. I linked some references, in my posts above, but I also have the first edition of this book sitting on a shelf at home, and lo, look at that, there's a chapter on computational geometry:

http://books.google.com/books?id=NL...33#v=onepage&q=analysis of algorithms&f=false

I should have paid more attention in class, I suspect.
 
Especially when applied to games complexity is a red-herring. You may have a multitude of n log n algorithms but when you have to hit 16 or even 33 ms they may not be fast enough. OTOH, algorithms don't have to be correct as long as the artefacts are manifested visually and are under a commonly accepted (quality) threshold.

Besides, there's always precomputation/caching. :smile:

Freudian slip?

Nope.
 
From Corrinne's Twitter feed...

Please listen to and watch my interview on Xbox Live Inside Xbox tomorrow December 8th, 2009. Only 3 minutes so no worries not 40 mins. :)
 
Especially when applied to games complexity is a red-herring. You may have a multitude of n log n algorithms but when you have to hit 16 or even 33 ms they may not be fast enough. OTOH, algorithms don't have to be correct as long as the artefacts are manifested visually and are under a commonly accepted (quality) threshold.

Sure, I was addressing the notion that the algorithms are particularly complex. They're not really; and in fact there's plenty of real, well-understood implementations for several of the problems with low asymptotic complexity and low constants. Computer vision is a much more difficult problem (which folks are still tackling in real-time).
 
Corrinne Yu - Principal Engine Architect, Halo Team Microsoft: Part One

Questions in the interview.

Corrinne Yu stops by the Channel 9 Studio once again to answer your questions. We split this interview into Two Parts because we talked for well over an hour and a half. Some of your questions she answers in Part One include:

Intelman: What are her thoughts on PC gaming? What does she think about the future of console gaming?

Intelman: If she could reconstruct gaming how would she do it? Would there still be separate consoles, separate developing platforms or would she like it unified?

Intelman: I’d like to know where she see’s game programming going forward and by proxy Direct X/Open GL as well as programming languages?

W3bbo: It’s been over seven years now, what do you and your development team think about focusing and developing a single engine (from a technical perspective) over such a long period of time as opposed to having broader interests and IPs as other companies have done like Blizzard and EA’s SAGE?

Spivonious: With the current push for 3D on TVs, are game developers once again looking at 3D? I remember shutter glasses back in the mid 90s but they never really caught on. Or is this more a driver issue?

ZippyV: Does she work together with other big people in the gaming world like John Carmack and Tim Sweeney?

CreamFilling512: The Xbox 360 will be 5 years old soon, how much further can graphics be pushed on the console? Can we still expect to see new rendering techniques implemented, or is it starting to show its age?

http://channel9.msdn.com/shows/Insi...ngine-Architect-Halo-Team-Microsoft-Part-One/
 
Corrinne Yu - Principal Engine Architect, Halo Team Microsoft: Part One

Questions in the interview.

Corrinne Yu stops by the Channel 9 Studio once again to answer your questions. We split this interview into Two Parts because we talked for well over an hour and a half. Some of your questions she answers in Part One include:

Intelman: What are her thoughts on PC gaming? What does she think about the future of console gaming?

Intelman: If she could reconstruct gaming how would she do it? Would there still be separate consoles, separate developing platforms or would she like it unified?

Intelman: I’d like to know where she see’s game programming going forward and by proxy Direct X/Open GL as well as programming languages?

W3bbo: It’s been over seven years now, what do you and your development team think about focusing and developing a single engine (from a technical perspective) over such a long period of time as opposed to having broader interests and IPs as other companies have done like Blizzard and EA’s SAGE?

Spivonious: With the current push for 3D on TVs, are game developers once again looking at 3D? I remember shutter glasses back in the mid 90s but they never really caught on. Or is this more a driver issue?

ZippyV: Does she work together with other big people in the gaming world like John Carmack and Tim Sweeney?

CreamFilling512: The Xbox 360 will be 5 years old soon, how much further can graphics be pushed on the console? Can we still expect to see new rendering techniques implemented, or is it starting to show its age?

http://channel9.msdn.com/shows/Insi...ngine-Architect-Halo-Team-Microsoft-Part-One/

Interesting. In response to Creamfilling's question, she seems to express a bit of frustration, saying that the 360 is so easy to program for, it seems devs often dont even bother trying to push it. Also, she said some stuff about they should use the VMX units more, over my head :p
 
Interesting. In response to Creamfilling's question, she seems to express a bit of frustration, saying that the 360 is so easy to program for, it seems devs often dont even bother trying to push it. Also, she said some stuff about they should use the VMX units more, over my head :p

Looks like Xenon has 128 vector registers (128 bit, each) and a corresponding SIMD instruction set. Haven't heard much about that on 360 before.
 
At least in the interim, she seems to advocate a "job queue" progamming model similar to what PS3 devs are doing, or did I totally misunderstand what she was talking about?
 
Interesting. In response to Creamfilling's question, she seems to express a bit of frustration, saying that the 360 is so easy to program for, it seems devs often dont even bother trying to push it. Also, she said some stuff about they should use the VMX units more, over my head :p

She's partly right, although it was also often the case that we weren't allowed to push it to make sure the games ran acceptably on other platforms. That's 50% of the reason I had abandoned 360 development long time ago, not because I didn't want to push the 360 but because we were required to treat it as a PortBox 360 and not an Xbox 360 so our hands were tied. Games shipped with so much idle gpu time even in 2009, it was kinda disgusting really. Dunno if that's changed in 2010.

Vmx means just rewriting code to use the 360 cpu's vector units instead of it's craptacular ppu's. You can kinda think of the vmx units as mini cpu's that operate on 4 things at a time really well, as well as being able to avoid stall penalties like load-hit-store if you keep everything in the vmx registers, and hiding latency nicely if you hand write everything using vmx intrinsics. I imagine most devs are using vmx, hard to imagine living on the 3 ppu's alone at this point.


At least in the interim, she seems to advocate a "job queue" progamming model similar to what PS3 devs are doing, or did I totally misunderstand what she was talking about?

Yeah, you can break up cpu tasks on 360 the same way you do on spu's. On PS3 you had no choice but to really granulate your code into many small jobs sooner than later because it simply wouldn't run well on the single ppu. On the 360 the 3 ppu's allowed the old crutch of just splitting code into three main threads, like maybe main render, ai and physics. That's easy to get up and running and debug, but it ultimately doesn't max out using the cpu. That old model has no choice but to die a painful death, especially if next gen has many more cores. Whoever has code that works as she says, broken up into much smaller parts, will be much better prepared for next gen. In that respect the single ppu + 6 spu model of the PS3 really forced people to catch up and break away from the 2 or 3 thread model, which long term is a good thing.
 
Last edited by a moderator:
Back
Top