We had the opportunity to ask Phil Sulak some questions about the Mac version of Halo, coming out soon. Phil is the president of Westlake Interactive, the company that's porting Halo to the Mac. Many thanks to Phil for giving the Halo community insight into the porting process, and where Westlake stands, currently, in bringing Halo to the Mac faithful.
To begin with, I'd like to point out that the question set for this interview takes into account some of the recent information that's come out about Mac Halo; the MacTeens interview with Phil, the MacGamer video interviews with Phil, Ken, and Duane, and the Peter Tamte interview here on HBO, all in the past 2 weeks. We'll try not to be too repetitive, possibly just clarifying issues that we thought could use some followup - but we wanted to make sure people understood that we're not ignoring large swaths of fertile topic ground.
HBO: Now that Halo PC has gone gold, has there been (or is there planned) more interaction between Gearbox and Westlake personnel... or does this just mean that you won't have to recode areas that they've decided to change?
PS: Michel Bastien at Bungie seeded us with the final Halo code and data last week (whoo-hoo!). From a development standpoint, what that means is we're now "locked and loaded" and no longer have a "moving target" that we have to stay in sync with. This is a HUGE thing for us, and lets us concentrate solely on finishing up the Mac rasterizers, optimize the game, fix bugs, etc.
As for continued work with Gearbox, just today Shawn Green (one of the lead PC coders) was kind enough to help us out with a pixel shader question we had. I suspect those guys will make themselves available to us, but we'll try not to bother them too much. I'm sure they're exhausted and looking forward to a well-deserved break:-)
HBO: Two weeks ago, when MacGamer visited with you, the biggest immediate hurdles were stability and some rendering issues. Has this changed? Once you're happy with the base performance, how long does 'optimization' take? (The old rule is 'the last 10% takes 90% of the time' - this isn't true here, is it? Please say it isn't true. ;) )
PS: Thanks to Duane and Ken, Mac Halo is starting to look VERY stable. The last time I had a chance to really "play" the game, I got in about 45 minutes before I had to stop playing (it was 2:00 am on a Friday night and I was pretty tired).
But yes, we're expecting the rest of our time to be mainly spent on becoming 100% feature complete and, of course, optimizations. There's still a lot of work to be done. We want Mac gamers to be happy when Halo comes out, and we plan to work hard to make that happen.
HBO: How challenging has it been to work on code that's passed through two sets of programmers (Bungie and Gearbox) before getting to you? Is it easier or harder than the typical game port, which only has one team in front of you?
PS: The fact that the code's been through multiple development houses really hasn't been that big of a factor. We actually see this all the time with Quake and Unreal engine-based games such as Jedi II, Medal of Honor, and Harry Potter.
The chief problem has been writing the Mac code simultaneously while Gearbox develops the PC version. Simultaneous development is always very, very difficult. In the past, we had problems with Unreal, Falcon 4.0, and a few other simultaneously-developed games. Halo has been no different. If you ask anyone at Westlake, they'll probably say that co-development is the single most difficult and costly thing to pull off with a port. That's why only a few groups do it (most notably Blizzard, though their Mac guys are "in house" which is quite different from being offsite like we are). Trying to modify PC code that's changing on a daily (and sometimes hourly) basis is an extremely frustrating experience.
HBO: The PC system requirements list a minimum of a 733 MHz processor. (It doesn't list WHICH processor.) Peter Tamte was vague on an actual number on the Mac side, but stated that it would be comparable to the PC specs. You told MacGamer that you wanted to see it running nicely on your development machines (G4/867), but that actual numbers were still in the air. For a long time, though, Apple's argued that megahertz doesn't matter; that the G4 is twice as fast as a Pentium 3/4 running at the same clock speed. Does Halo's performance on the Mac offer any answers to proponents on either side of the debate? In other words, is Halo running on a 733mhz G4 equivalent to running it on a P4 at 1.4ghz, with equivalent video card? (And more important to a lot of laptop owners - is there any chance at all of running it on a 500 MHz Mac with a mobile graphics card?)
PS: Long question, and I'm going to have to plead the fifth here;-) MacSoft will have to field most of this question.
I can say two things, however. I do stick by my statement of wanting the game to be fun on my Quicksilver G4/867 with a lower-end graphics card. That's not necessarily our target platform, however. The other thing I can say is that there are numerous reasons why my G4/867 will not perform like a P4 1.4 GHz on almost any game port. First, you have to keep in mind that the Mac's OS, video drivers, and general architecture are completely different from the WinTel world. Second, the Mac doesn't have dedicated sound hardware like WinTel boxes do, nor do we have a compiler suite that is as highly optimized as MS Visual Studio. Finally (and most importantly), there are usually only 1-3 programmers on Mac game conversions. Towards the end of development, major PC games can have a dozen or more coders pounding away to optimize the game for the x86 architecture. Economies of scale prevent us from doing the same on the Mac side.
HBO: Gearbox is very proud of the pixelshader support in Halo PC. They've even made a point of noting that at least one of the pixelshaders for Halo PC was written by nVidia engineers, for the ultimate in compatibility with their cards. Since all of this cutting-edge video stuff is being done in DX9 on the PC, and since Westlake is rewriting all of the pixel and vertex shaders for OpenGL on the Mac, are Mac players going to suffer at all, visually, compared to their PC brethren, or will it be just as pretty on a Mac as it is on the PC?
PS: Our goal is to make Halo as beautiful and as breathtaking on the Mac as it is on the PC. But to get all those great high-end pixel and vertex shader effects you're going to need some serious CPU and video hardware. The same is true with the PC. While the base PC may be 733 with a 32 MB video card, I'm fairly certain it'll take a wee bit more horsepower to get the most out of Halo for Windows;-)
HBO: Have any of the video functions been EASIER to do on the mac, due to OpenGL, than they were on the PC?
PS: Honestly, not that I know of. But you'd have to ask graphics guru Ken Cobb that question for a more complete answer.
HBO: When the Marathon and Bungie.net source was released a few years back, it was discovered that the programmers at Bungie had a penchant for sprinkling profanities throughout their code comments and even choosing 'interesting' names for their subroutines. Since the chances of the general public ever seeing the Halo source code is remote at this time, would you mind telling us if Bungie is still up to their previous coding standards? :) Any particularly funny instances worthy of note?
PS: We've found some things in the code that would make a Russian sailor blush. But this is a family website, so I won't repeat them here;-) However, at the risk of breaking our NDA and being sued by Microsoft, Gearbox, Microsoft, Bungie, Microsoft, MacSoft, and Microsoft I've included this little code tidbit that Duane Johnson found a few weeks ago. Note that all identifiers have been changed to protect the innocent (namely us!).short m_c = m_g_m_b_n( o_d->o.m.i, /******************/ n, /* */ o->o.r_p, /* o o */ NULL, /* \ <> / */ N, /* \________/ */ o_g_n_m(o_i), /* */ T_F(o->o.f, _o_m_b), /******************/ m, m_m_c);
While it's not as exciting as things we've found in other games (I found some great ASCII art of Brandon Lee as The Crow in one game), you can see that the Bungie and Gearbox programmers have a sense of humor (at least at 4 am in the morning;-)
HBO: Did you (or other Westlake personnel involved in the Halo port) play much of the xbox version? What are some of the things that as a game company, or a player, you wanted to see in this version that might have been unavailable or not included in the xbox version? Did you have much chance to offer suggestions to Gearbox on this front (since you probably can't add Mac-specific features without screwing up the PC/Mac network compatibility)?
PS: I never played much Halo on the Xbox side. The PC version is strictly Gearbox's baby, and Westlake only provided a bit of technical help from time to time. But I think Gearbox nailed the conversion; the PC game (and now the Mac port) is extremely fun, addictive, and beautiful. A lot of that is obviously a carry-over from the original Bungie game, but Gearbox definitely put their mark on the game. I'm fairly sure everyone (Mac and PC gamers alike) is going to be very happy with the finished product.
HBO: Can you give any details on what was done to make the sound and music in Halo on a Mac as good (or better, in some situations) than it was on the Xbox? Is 5.1 surround sound supported by the game (assuming the player has the right hardware)?
PS: A lot people ask me that question. Really, getting the sound and music to work on a Mac conversion is very similar to what we have to do with 3D graphics code. If we do our jobs right, you won't even notice a difference between the two builds. Right now, Mac Halo's sound and music works pretty much the same as the PC, but like the graphics it needs another good round of optimizations. As for 5.1 support, my crystal ball is a little hazy right now, so I can't say for sure.
HBO: Everybody's either been evasive or negative when the topic of modding tools for Mac users comes up. It's clear that porting the existing tools for the Mac is a rather large task, for a pretty small audience; but what are the chances that a limited set of tools might be released? (That is - while full mapmaking support is pretty much out of the question, since the primary tool on the PC side is a commercial package with no Mac equivalent, how hard would it be to release something that would allow basic editing of the on-screen display, injecting new textures, modifying environments; basically, editing functions that already exist on a truly edit-unfriendly platform (the Xbox)?) Would you consider supporting the programming side of the community, folks who are willing to build tools for Mac users, but would find their jobs a whole lot easier with some information from you?
PS: If the game sells well, and MacSoft sees that there's a great deal of interest in Mac versions of the tools, then I'm sure they'll talk to us about moving the tools to the Mac. I know that sounds like a stock answer, but it's the best one I can give you.
Again, it goes back to the whole economy of scale thing. A "hit" in the Mac game market is now about 25-30K units, which really ain't all that great compared to just a few years ago. Mac game publishers don't make a whole lot of money off these titles, so they really can't afford to pay developers to port game editors unless there's a) big sales and b) high demand. And even though we as Mac game programmers would love to port these tools, unfortunately our 60 to 80 hour crunch schedules don't leave us a whole lot of free time to do these things on the side. I like to see my family every once in a while ya know:-)
HBO: Will there be any problems using PC-built mods on a Mac?
PS: There shouldn't be. The Mac version should run PC-build mods just fine.
HBO: What have been some of the biggest challenges in porting this game to the Mac? What were some of the easiest things?
PS: See my answer on the third question for the "hard stuff". As for the "easy stuff", I think we're going to move through testing fairly quickly. Halo's one of those "it either runs or it don't" kinds of games. It's doubtful weird bugs will spring up 15 or 20 hours into a playthrough like they do on some games (ie, Civ III, Dungeon Siege, etc).
HBO: With all the questions asked of you in the past couple of weeks, have there been any topics left untouched that surprised you?
PS: Actually, you Press guys are pretty thorough:-) I can't think of much else to discuss. And frankly I'm glad -- I need to get back to coding!
HBO: How do you see Mac gaming in general shaping up in the coming year?
PS: I think the G5 is going to be a real shot in the arm for Mac gaming. I *LOVE* the G5, and I think Apple did a marvelous job with it. Combine the new hardware with Panther and XCode, and I believe a lot of heads are going to turn in Apple's direction over the next year. What I mean by this is the potential for "switchers" is on the rise, and this in turn this should increase game sales for MacSoft, Aspyr, MacPlay, etc. If that happens, we'll be seeing more games on everyone's favorite platform. Variety, as they say, is the spice of life.
HBO: What's next for Westlake?
PS: A long and well deserved rest for everyone once our current round of projects are done;-) Seriously though, we'll be doing what we we do best: bringing the best games to the Mac!