View Full Version : Multiprocessing OS X Game
Jul 28, 2001, 12:02 AM
As you might have seen, Quake 3 is one of the games which actually takes advantage (http://www.xlr8yourmac.com/Graphics/geforce3/GeForce3vs2MXvsRadeon.html) of multiprocessors... allowing it to run significantly faster on the dual Macs.
Here's some more interesting info:
In a MacWorld UK interview (http://www.macworld.co.uk/news/top_news_item.cfm?NewsID=3262) with Omnigroup founder Wil Shipley:
Citizen Kabuto – the game recently ported to OS X by the Omni Group: "It was originally written in Direct3D, a Windows environment. We not only got the game working in a month, but also got it running faster on a year-old Mac than it runs on the fastest PC we could buy today.
"We did this by taking their code and rewriting parts of it so it's actually multi-threaded now, so that on a multi-processor machine it'll use both processors. This is the first time, to our knowledge, that any game-porting company has taken an existing game and made it use symmetric multiprocessing when it wasn't originally designed to do so."
He also makes comments about the speed and ease of use of Cocoa.
Jul 28, 2001, 12:16 AM
I am quite sure Omni Group has a TON of custom code libraries made to do things like make a FPS game using OpenGL possible when it perhaps used another API.
ALL game porters have these kinds of tools at their disposal so saying Cocoa made porting almost instantaenous is very misleading.
There are many key issues that must be dealt with in porting games, most notably graphics APIs and multi-byte endian-ness (how data is manipulated in larger pieces).
Endian-ness is the biggest challenge as the Mac's code is the exact polar opposite of x86 code's orienation. All the places that endian-ness is an issue must be flipped and verified to work.
Please do not ever think that Cocoa is a magic bullet to make something like MS Office or Photoshop over a weekend.
The WWDC demo of a video editing app was a sham also as you never saw the thousand or so lines of custom code that made the demo app actually work.
Jul 28, 2001, 09:38 AM
I don't think anyone is trying to say that Cocoa was the magic bullet that took care of all port issues, etc. For certain portions of a game, it results in rather quick completion of certain goals.
I cannot recall offhand which Mac dev house it was, but some group in the last week cited an example of Cocoa's assistance in a port. The file-handling code of some game (was it Alice maybe? I can't recall) was done in 800 lines of Cocoa code vs. an estiamted 18,000 lines had the Carbon system been used for that portion. That's pretty significant. Also note that ID used the Cocoa system to develop DOOM (it was then the NeXTSTEP Developer OO environment--but it's bascially the same technology) and John Carmack, back when DOOM was released, was quoted as saying that had they not used the NeXTSTEP dev environment, DOOM would have taken three times as long to write. He is well known as a massive fan of Mac OS X, working on the Quake III port himself becuase he enjoys the work (vs. letting OmniGroup go ahead with the beta port that they released about a year ago.)
This port of <i>Giants: Citizen Kabuto</i> is particularly impressive given the complete switch of 3D API's in the port, the addition of threaded multiprocessing support, and the support of specific GeForce 3 features as we mentioned in a recent post.
Obviously this is a game to go buy.
Very, very, very impressive. Far above what I expected this soon.
Some other guy...
Jul 28, 2001, 11:14 AM
Blakey - are you on the payroll for Apples PR department? ;)
Saying cocoa was responsible for DOOMs quick(er) write is stretching a point somewhat eh? I mean , honestly...You may as well say any OO environment as cocoa.
Carmack, although unlikely to say anything deogatory about the mac, always seems to qualify his mac praise.... for instance - "..We do run a bit better on a high end wintel system, but the Apple
performance is still quite good, especially considering the short amount
of time that the drivers had before the event. " from his .plan
and anyway - wasnt (isnt) graeme devine doing the osX port for id?
Jul 28, 2001, 12:30 PM
It is a bit of a stretch saying Cocoa is responsible for DOOM's quick development time, but not much of one. Cocoa is directly based on the NeXTSTEP DevKit. I am entering this post on my NeXTStation Turbo, sitting here on the desk next to where my B&W G3 400 was sitting (and where soon my dual G4 800 will be sitting). When I was running OS X PB with dev tools installed, I took several example NeXT DevKit projects (code) and ran them through the Cocoa Project Builder and they all compiled and executed without one change in the code. The components of the Cocoa dev environment are exactly that of the NeXT dev environment, plus some additons (but not many).
That said, I don't think my statement was much of a stretch.
As for Carmack's comments on performance--I am aware of these. I did not state that he felt that OS X yeilded the highest performance target platform for his games, but that he feels it a much cleaner, stable, and robust environment to run them in and to build them on. Last I heard, the bulk of DOOM III dev will be carried out on OS X (which is logical, again given that he developer DOOM on NeXTSTEP). He states thruths such as the fact that PC's memory systems are faster, bus systems are faster, etc. And that's no lie. But it's particularly nice to see how well some of the recent units are running his games. And to see things like this Giants port that actually outperforms the PC version on dual processor machines, despite the fact that there are some slower pieces to the current Mac architecture.
Jul 29, 2001, 04:10 AM
Originally posted by blakespot
...He states thruths such as the fact that PC's memory systems are faster, bus systems are faster, etc. And that's no lie. But it's particularly nice to see how well some of the recent units are running his games. And to see things like this Giants port that actually outperforms the PC version on dual processor machines, despite the fact that there are some slower pieces to the current Mac architecture.
Well if the following overheard squawk is true, then you won't have to worry about Macs having a slower bus for too much longer....
"HyperTransport interchip communications technology (basically, a multi-purpose high-speed data bus with the ability to scale up to 12.8 GB/second - more than ten times Apple's current main bus performance on the PowerMac G4 and far beyond any of the other motherboard busses that can be replaced with HyperTransport) an industry standard. Apple just so happens to be very interested in HyperTransport for future Macs -- so much so that it has become a founding member of the Consortium. Since x86 processor maker AMD created HyperTransport, and is also a pet technology of graphics acceleration leader and chipset maker nVIDIA, speculation has run rampant that Apple may be working to open the door to more compatibility with a range of HyperTransport-connected chipsets -- perhaps even making use of AMD parts and (gasp!) AMD-manufactured PowerPC processors." --MacOSRumors.
Aug 2, 2001, 01:35 AM
There are commands to make your FPS go past a certain peak level the game defaults at on windows systems. Does anyone know if the translaters of the game made their default higher? So right out of the box it appears higher than just the defualt?
Aug 2, 2001, 06:51 AM
WHAT IS UP WITH NextSTEP and Blakespot? Are you like working for the company and doing free promotion? You compare NEXTSTEP to everything, right from the playstation to ram to everday life. I mean, its a good operating system but very old and OS X is way advanced or?
Aug 2, 2001, 09:13 AM
Fair question, Kela.
I became enchanted with NeXT and NEXTSTEP when reading about it after its first introduction. In the NeXT's still-early (late 80's) 68030 days, I used to lust after it, reading The NeXT Book(long out of print, which I bought, used, on eBay for $95 recently). Halfway through college I took out a $4,500 loan to buy a 486-66 PC that was fabricated with somewhat specialized hardware to run NeXTSTEP for Intel v3.2. Quite a machine at the time. Sadly, a year later I removed NeXTSTEP and ran Windows on it becuase I wanted mainstream apps (and DOOM had just come out for DOS...).
After Jobs came back to Apple and I heard the OS plan--that NEXTSTEP would be the core of OS X, I decided to go Mac and waited for their next machine, which was the blue&white G3 400.
Well...it was a bit of a wait for OS X. In the meantime, I purchased a NeXTSTATION Turbo Color w/ 21" screen for $250. Not bad. Quite a nice machine.
I've now got a dual-G4 800 on the way, to run OS X as ideally as possible, and THIS time there's no lack of mainstream apps--OS X is a evolved version of NEXTSTEP that provides the app support, either through Classic or apps running natively, neeed to stay with the platform.
It is my believe that NEXTSTEP was the most advanced operating system / development platform that had ever been, at its time, and that even still, only OS X bests its functionality. Yes, it's long out of production (hence no new drivers, etc.) but I would put the NEXTSTEP platform up against Windows 2000, Linux, Solaris, etc. and expect it to exceeed them in stability and performance (on comparable hardware--obviously this would be a hard test to make).
Heh...I've even got a vintage NeXT poster ($110 on eBay a couple years ago, sans frame):
...so there it is. And I don't think it's a blind fondness for an OS. I have collected many OS's in the past, and my fondness for this one comes from an evaluation of all of its core pieces: the kernel structure, the object layer, the GUI, etc.
[Edited by blakespot on 08-02-2001 at 10:17 AM]