Urban Terror Forums: Porting PC games to Mac (generally speaking) - Urban Terror Forums

Jump to content

 Login | Register 
Advertisement
Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

Porting PC games to Mac (generally speaking) Rate Topic: -----

#1 User is offline   fragomatic Icon

  • Account: fragomatic
  • Country:
  • Joined: 27-March 10
  • Posts: 487

Posted 18 April 2004 - 08:29 PM

Read the original article vvvv here vvvv

http://curmudgeongam...040113210031434

or try and read it all smashed together.

  

Thursday, March 04 2004 @ 08:01 PM CST
Contributed by: ruffin



If you've followed my Mac rants at all, you'll know I'm not real impressed with what I was calling the Grover Cleveland Tax -- where you have to pay what approximates to $1000 more in hardware to pay twice as much for two year old games when you want to be a Mac gamer. It's a horrible situation.

But I can recall when Mac games seemed to follow on the footsteps on their PC counterparts, and performed as well or better on my Mac LC than a classmate's 486. Not to mention the LC's graphics were better and its sound fuller.

What happened? Why do Mac ports cost more and seemingly deliver less? What's going on here?

Glenda Adams of Aspyr, and also the programmer for many key Mac ports, including Chuck Yeager's Air Combat, Madden 2000, and many others, was kind enough to answer my questions.

ruffin: When I first starting playing games on a PC (okay, Commodore aside), I used a Mac LC. Civilization, Castle Wolfenstein, Leisure Suit Larry, and Maelstrom quickly come to mind as evil beasts that destroyed my college GPA. Graphics and sound seemed better on my LC than my friends' WinPC counterparts, and my LC was a real gaming machine. This is also, I assume, about the time you seem to have started game programming on Macintoshes, if Iraq Attack and some other Maverick Software offering are any indication. Did earlier Mac hardware have some advantages over PC hardware?
Glenda Adams: In the late 80's and early 90's the Mac did have graphics advantages over the PC. Most macs could run 640x480 color graphics (usually 256 colors), while the PC was still running most games in 320x200. So games did have better graphics on the Mac, although it required extra work to get the graphics to look sharp and still play fast enough at higher resolution.
ruffin: Do you know if these games (Maelstrom excepted) were ported?
GA: Civilization, Wolfenstein 3D and LSL were all ports from the PC.
ruffin: If they were ported, they seemed to run as well on my LC as others' contemporary WinPC hardware. Why is that?
GA: At that point in time Mac hardware was on par with the PC. The 68040 and 80386 had similar speeds and games could run well on the Mac if they ran well on the PC. And the games were simpler so you could spend more time on Mac-specific optimizations.
ruffin: When was it easiest to program the Macintosh during your career? I suppose I'm asking this on two levels... Obviously I'd like to know when things were best technically, what kinds of tools a programmer would use, how easy it was to get up to speed on APIs, etc, but I'd also like to hear when Mac game programming hit some sort of height as a "sound personal investment", where one could best envision having a career creating games for the Mac. (Alternately, was this truly a "Golden Age of Mac Gaming"?)
GA: I had the most fun in the early years, doing games like Chuck Yeager's Air Combat and Links Pro. That was back when one programmer could take a game from start to finish by herself, and there was an effort to add some Mac specific interface and features to the game. CYAC had multiplayer that wasn't available on the PC and a neat Mac interface for setting up custom missions. Links Pro was one of the first games to use some native PowerPC code, and let you use new (at the time) Apple voice recognition technology to select clubs and other options in the game.
ruffin: When Tomb Raider 2 was being released for the Mac and Madden, among others, was on the way, Mac gaming seemed to have entered a sort of Second Golden Age of Gaming. Titles for the Macintosh during that time, however, were relatively hit or miss when it came to system requirements in my experience. Not to point too many fingers, and I realize these weren't projects of yours, but Quake 2 and Sin, as examples, didn't come close to running on machines that met those games' advertised minimum sys reqs in my experience.
GA: Minimum requirements are always a tricky business. There is pressure to make the game run on as many machines as possible, but when you try to support everything from a 66MHz machine to a 400MHz machine it's quite a wide range. Currently, the same thing happens with wide ranges of video cards. On top of that, 'acceptable performance' is very subjective. One person might think 10 fps is perfectly fine to play a game like Tomb Raider 2, while someone else will think 20fps is barely playable.
ruffin: How do games that don't, in practice, unquestionably hit their minimum sys reqs happen?
GA: Sometimes the box is printed and system requirements are set too early in development, and by the time the game ships it doesn't run as well as it should. This doesn't happen much any more though. I can't speak for other publishers, but I think a lot of it is just the perception of what 'minimum requirements' mean. Does that mean on the minimum system the game can just run, even if it's pretty slow, and has to have lowest level detail? Or is it the minimum to have a playable, fun experience? If it is the latter, you go back to the subjective problem. 10 fps may be playable for one person and not another.
ruffin: Were minimum sys reqs determined before porting even began? If so, who was guessing too low?
GA: There have always been system requirements on games, original or ports. PC publishers in the past had a bad habit of putting lower requirements than were realistic, although I don't see that as much lately. When that happened, it would put Mac publishers in a bind -- do you use similar requirements on the Mac, knowing they are too low, or do you raise the requirements and incur the wrath of Mac users who complain the Mac version isn't as "good" because it won't run on the same speed machine (nevermind the PC didn't run on those too-low specs either).
ruffin: How did Westlake avoid these performance issues (which you did for the most part, in my experience)?
GA: A lot of extra work to optimize the games and make them run as fast as possible.
ruffin: If you can answer, did you ever turn down a game were the publishing house had unrealistic minimum system requirements for a port?
GA: Not that I can remember. I've turned down games that just seemed to require too high end of a machine, or that were bad or offensive, but that's about it.
ruffin: What market forces make companies print a system requirement that might be a bit too low to absolutely ensure gamers will be happy with performance?
GA: That's easy, money. If the game appears to run on more machines more people can buy it. But this doesn't really work in the end, because you end up with tech support headaches and unhappy users. That's why I've always erred on the side of making minimum requirements too high. I'd rather say 733MHz on the box and have someone with a 600Mhz machine and low expectations be pleasantly surprised than say 600Mhz and disappoint people.
ruffin: I'm a programmer by trade, and I've admittedly occasionally sacrificed well-optimized code to ensure I make deadlines, and typically everyone involved is happy with the tradeoff. I've read that porters are often paid for reaching milestones with very strict deadlines -- and paid very little if they miss them. Do these milestones become something of elastic clauses if the porting team, producer and programmers, aren't careful and very explicit in their descriptions? That is, if the milestone is written, "Runs on a 233 MHz G3 by Day X", a programmer might deliver code on Day X -- 1 that runs in, say, 320x240 at 10 frames per second and expect the incentive check?
GA: When I was programming I never signed a contract with specific performance requirements, and I think that is pretty common. There are too many factors that can impact development that are out of a programmers control to bet your mortgage payment on hitting some arbitrary number set before development starts. The best you can do is have developers that take pride in their games and really want them to run as well as they can given time and money constraints.
ruffin: If milestones/project management issues are/aren't a big contributor to system requirement issues, what did you see as some of leading contributors to past ports not reaching original system requirement expectations?
GA: If I had to pick one thing that causes ports to run poorly it's poorly architected code from the PC. The PC often lets you do things in a sloppy manner with little penalty, but then when it gets on the Mac it drags the game down. Often it isn't that the PC programmers were dumb, it's that they didn't need to fix those code paths because they ran fine on the PC. And sometimes you can't change the whole game architecture to work around those problems when porting to the Mac.
ruffin: More recently projects seem much more realistic in their predicted and delivered minimum system requirements, but, as I'm afraid I've ranted before, a Mac gamer often has to shell out hundreds more in hardware costs to play than they would with a Windows box or, in rare occasions when the game hits the platform, a Linux box.
GA: That is a factor of the market. Apple charges a higher price for their hardware, so it costs a little more to get the same speed machine. But all of the other parts of the Mac (interface, ease of use, etc) I think make it worth paying a little more.
ruffin: This makes me wonder how ports with such high requirements get their "green lights". NASCAR 2003 Racing and the upcoming Tomb Raider: Angel of Darkness seem to have ghastly sys reqs. Even Tiger Woods PGA Tour 2003 won't run on an original iMac, though Windows versions of all three games will run on WinPCs that, with perhaps a quick video card upgrade, are the bondi blue box's contemporaries. It'd seem you're hamstrung enough that Macs are a pretty small minority of the PCs out there, and then to cut that minority in, say, half, doesn't seem a great business proposition. It's no wonder making money porting a game is such a risky challenge.
GA: You pick the games you think people will buy. System requirements for many games have been pretty stable for a couple years (around 400-600 MHz) while the PC requirements kept climbing. We're at the point where there just aren't any more PC games to port that run on a 400 MHz G3.
ruffin: How can ports get the green light when they run on so relatively few of the Macs that are out there today?
GA: You can still get good sales with Mac games, and there is still a healthy market for Mac games. So it's a good business model to take good licenses and do good Mac games from them.
ruffin: Do Mac users upgrade hardware more quickly than Windows users?
GA: I think it's opposite -- Mac users hold onto their hardware longer. Windows users probably update part of their machine every year, while I know lots of Mac users who hold onto the exact same machine/video card for 2-3 years.
ruffin: Are ported games required to have a long shelf-life, waiting for Moore's Law to catch the hardware up with the game?
GA: It's definitely better if you have a game with a longer shelf life. It's not always the case with Mac games, but they do seem to live longer than the PC.
ruffin: What does this say about "franchised" games like Tiger Woods and NASCAR and Madden which, by definition, have relatively short shelf lives (resisting the urge to pun with "half-lives")?
GA: Yearly games by their nature have a short life. If Madden 2004 is coming out in 8 months, you can't sell Madden 2003 for much longer than 8 months.
ruffin: I don't make it any secret that I believe Mac gaming will be second rate until we get to concurrent releases and, when possible, hybrid media. As Aspyr starts to broaden out and release games for not just the Mac but also Windows and even the Game Boy Advance (not to mention DVDs and CDs), how are you helping them break from some of the traditional porting issues of the past?
GA: We've done four simultaneous releases in 2003 (Spy Hunter, Tony Hawk's Pro Skater 4, Kelly Slater's Pro Surfer, and Wakeboarding Unleashed), and plan to do even more in 2004. The only way to do it is to have Mac & PC development done by the same group.
ruffin: What kinds of project management changes are you spearheading at Aspyr to make future ports run more smoothly?
GA: We've been expanding our QA efforts and concentrating on staying on schedule with development. This should get better games out faster. The biggest thing I've been doing at Aspyr is helping set up more standards and processes, so we can scale from doing 10 games a year really well to doing 25 games a year really well. The more games you do the more you have to have well documented process you need for development & QA so nothing falls through the cracks.
ruffin: Are there hybrid releases planned to "sneak" Mac games inside, say, the Wal-Marts and Electronics Boutiques of the world?
GA: This is definitely a way to get Mac games into other stores. For instance, most Best Buys don't carry Mac games. But if they have Tony Hawk 4, or Spy Hunter for PC, it has the Mac version in the same box and even lists the Mac requirements on the bottom.
ruffin: How often can we expect concurrent releases in the future?
GA: We hope to do more and more of them over the coming years, but I don't have a release schedule.
ruffin: Is Aspyr actively searching for good, original Mac-first -- and even Mac-only -- gaming content?
GA: We're always looking for good content for Mac, PC, GBA, music, or movies. We did publish some Mac-first/Mac-only games like OttoMatic from Pangea, and while we don't have anything new like that in the pipeline we are always looking at new products.
ruffin: Can Aspyr have more control ensuring that games on different platforms are not only patched, but patched at the same time?
GA: Just like simultaneous development is nearly impossible if the same company isn't doing the PC & Mac version, simultaneous patches are also extremely difficult. That being said, one of my goals at Aspyr is to maintain our products better, and release updates faster. I want to have short times between PC patches and Mac patches, and quicker turnaround for patches that fix Mac specific bugs. We've released 12 patches for Mac games in the last three months, so I think we're well on our way to making a difference.
ruffin: Can we expect any Linux releases?
GA: We don't have any Linux plans.
ruffin: One last quick section of questions -- id Software has somehow found the wherewithal to release games that don't depend on platform-specific technologies. I'm right fluent in Visual Basic, and can make applications using VB that run on Windows much more quickly than I can make cross-platform applications in Java, even where I have similar experience in the technologies I'd need to use in the two languages to get the job done. I have to assume a similar efficiency is why so many games use DirectX and friends. I also have to assume that if Java were (in some wack pipe dream) easier for new programmers to pick up and create apps in than VB, there'd be a ton of Java apps out there. Along those lines... What would it take to make cross platform technologies like the ones id Software uses (and Westlake -- I believe I've seen you mention OpenAL a few times and certainly OpenGL frequently, among others) easier to pick up than their DirectX counterparts?
GA: I'm not sure if you can make them "easier" to use, and even if you did that probably wouldn't mean they'd be more widely used. I don't see this as a technical issue, its a marketshare and marketing issue. Microsoft controls 95% of the OS'es in the world, and people tend to use their technology (DirectX). I don't know how to change that.
ruffin: Does Apple really have any reason to help make that happen?
GA: Certainly. If games were more easily portable they would come out sooner on the Mac. But it's not an easy thing to change. Apple put a lot of support behind OpenGL, and I think it was a great decision. But it hasn't led to lots of PC developers using OpenGL.
ruffin: Who else could run with the ball to get mature, cross platform game programming APIs written?
GA: Microsoft, but I don't see why they would want to.
ruffin: Can the open source community realistically make this happen?
GA: I don't see it making a huge change in the market. But it probably is the only hope, so it's worth sticking to efforts like OpenAL.
ruffin: Is there any scenario where this ever realistically happen?
GA: Right now I can't see a scenario, but things do change for odd reasons in the computer world. Who knows what computer games will be doing in five years? And what platforms they'll run on?
ruffin: Thanks for taking the time to wade through these questions.

Page 1 of 1
  • You cannot start a new topic
  • This topic is locked

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users

Advertisement


Copyright © 1999-2024 Frozensand Games Limited  |  All rights reserved  |  Urban Terror™ and FrozenSand™ are trademarks of Frozensand Games Limited

Frozensand Games is a Limited company registered in England and Wales. Company Reg No: 10343942