Mac OS X: Game Developer's Playground 218
Mauro Notarianni writes: "In the Stepwise article, 'Mac OS X: Game Developer's Playground,' Troy Stephens writes, "Mac OS X has the potential to be a superb launching pad for doing game development.'
The author describes how 'Cocoa's developer productivity benefits, when combined with Mac OS X's strong support for technologies such as OpenGL and QuickTime, can empower game developers to create the custom production tools they often need in a fraction of the programmer hours it takes on other platforms.'"
The Biggest, hardest step (Score:3, Insightful)
Re:The Biggest, hardest step (Score:1)
SDL on win32 is a wrapper for DirectX. How would you get developers, who target only win32 systems, to potentially lower performance of their games by inserting a(nother) wrapper layer over the already complex system?
Re:The Biggest, hardest step (Score:1)
Re:The Biggest, hardest step (Score:2)
Cocoa! (Score:4, Interesting)
Apple is also providing excellent documentation and tutorials.
Ciryon
PS. I am actually running Mac OS X on an old iMac G3 300Mhz with 64MB RAM. And it's not that slow actually!! The 10.1 update really speeds things up! Great work, Apple!
Re:Cocoa! (Score:4, Informative)
More significant than this though is that you have so much choice about how you develop. You could choose to use Apple's free Project Builder (called "Application Builder" in the parent post) and Interface builder. You could just use one or the other or you could use something completely different. BBEdit is very popular for editing text files - mostly HTML but is quite suitable for code as well. JBuilder is available for the Java types or you can really cut loose and go command line. My work environment is a combination of OS X, vim and ant. You could also use make, autoconf, emacs, XEmacs, gvim or heck go wild and use ed!
OS X lets you work the way you want to work. You can choose your work environment or switch between them and then you can go a step further. You can choose which API you wanted to work with. You can quite happily combine Carbon, Cocoa, the BSD layer , Java and X-Windows into the one application. That level of choice just doesn't exist anywhere else. That's before you get into things like Real Basic (VB work-a-like) and MetaCard (HyperCard work-a-like). Oh and did I mention perl? Tk? TcL? Qt?
Pretty much any Linux (or other UNIX) tool can be run on OS X and most Windows development tools lock you into using that particular tool. On Mac OS the tools work together so well that you can select the right tool not just for the application but for each part of the application. Do yourself a favour, go out and actually try development on MacOS (even if the target is for another OS) before you make up your mind about it's worth.
Re:Cocoa! (Score:2, Informative)
Re:Cocoa! (Score:2, Interesting)
Yesterday I decided to install JBuilder on the powermac to see if it would actually be useful. To my surprise, the JBuilder UI is actually *faster* on my powermac than it is on the Pentium - noticeably so. This is running at the same resolution (1024x768), same bit depth (24-bit) and with anti-aliased fonts in the editor on the powermac. This was using the 'metal' look and feel; the Aqua-native look and feel was, regrettably, slow. Even so, I was pretty amazed. Compiles are slower on the powermac, which didn't surprise me that much, considering the Powermac's high-speed bus (50Mhz, woohoo) and slower disk.
I'm going to be gunning for a new DP Powermac for work. If an upgraded 6 year old machine can keep up with last year's Pentiums, I can't wait to see a DP G4 with fast disks....
Re:Cocoa! (Score:2, Informative)
Re:Cocoa! (Score:1)
Re:Cocoa! (Score:1)
Re:Cocoa! (Score:2)
Almost. The one big thing that I've found OS X to be lacking is the dlopen()/dlsym() API for dynamic loading of shared objects. This certainly won't be a big deal for most people, but it's made it a litle harder for me to port some of my existing code to OS X.
What a mess (Score:2)
You talk about that like its a good thing.
Re:What a mess (Score:2)
It is as long as you understand the concepts of code modularity. One application does not have to be made up of one monolithic hunk of code. Component based design allows you to easily write each component in the language that is most suitable for it, rather than having to decide on the basis of the whole application.
Not only that, but it increases the ability to reuse code as it doesn't matter if the code is in a different language it can still be plugged into the current project as another component.
You obviously don't earn a living coding... (Score:3, Insightful)
My PC environment was easily over 5K when including a laptop (bought 3 months used to save $800 off the costs), a docking station at home and the office, Win2K, Off2K Pro, Visio Enterprise Edition, Text Editors that don't suck, etc.
We may switch the office over to Macs. The OS X experiment was promissing, but the platform isn't there yet. 6 Months? Hell yeah. We do PHP/Java development. The cost of the Windows machines don't even account for the hardware to have a Unix development environment to actually work in.
Alex
Re:You obviously don't earn a living coding... (Score:2)
If the new development machine will save 80 hours over 2 years, you're a fool if you don't drop $3000 on a new computer.
Most people purchasing computers aren't in the "no money," give me "free or death" crowd that frequents Slashdot. All of us were hobbyists that had a $400/year computer budget. If you start making a living with your computer, you spend the money on the tools you need to make a living and be competitive.
Spending 8 hours playing with sound drivers on a Linux system (which I've done) is suicide in a work environment. I already ate any savings that we got by going with Linux as opposed to OS X. That's my point.
Once your time has value, Linux on unsupported hardware isn't a bargain anymore.
Alex
Objective C (Score:3, Interesting)
It was a spiffy little language but these days you can do most of the same things with C++ using templates and the STL, and the C++ code will be much more type safe at compile time.
Re:Objective C (Score:2)
Are there C++ equivalents for these common Objective C/Cocoa uses?
- if ([object respondsToSelector:@selector(foo)]) [object foo];
(Determines if object responds to the "foo" method, and invokes it if so)
- id newObject = [[NSClassFromString(someString) alloc] init];
(Allocates an object of the class named in the someString variable)
Last I checked C++ had nowhere near this level of dynamic capability, but please correct me if I'm wrong.
Re:Objective C (Score:3, Informative)
In C++, object "granularity" is at the class/interface level, rather than the method level. You would need to have an interface which defines foo:
class IFoo {
public:
virtual void foo() =0;
};
And then you can use dynamic_cast to check if an object is an instance of your interface:
IFoo* foo_impl = dynamic_cast<IFoo*>(object);
if(NULL != foo_impl) { foo_impl->foo(); }
Whether the interface-level or method-level implementation granularity is better is a matter of personal preference... I am a proponent of strong (mostly) static typing, and I like the interface way better... Usually, an interface groups several methods together to provide a set of functionality, and testing for each individual method is rather a pain... Of course, Objective-C gives you the ability to do both, so that is perhaps good. (But also, perhaps not good, as the method-level granularity is what makes Objective-C programs typically larger and slower than C++ programs).
C++ does not provide this functionality, although some libraries/frameworks provide it with varying degrees of awkwardness. C++'s lack of good reflection support, in my opinion, a major falling point. This prevents it from being a good component programming language, and this lack is what enabled Java to succeed... (I rather like Java, but if C++ had a good language-level (rather than library-level) component model, everything Java can do would already be done better by C++).
Re: (Score:2)
Alternate URL for article (Score:5, Informative)
To protect my pathetic bandwidth on the local server, the article is also available here [stepwise.com] on the graphics server. That should cover off any bandwidth issues.
Troy's article really does highlight the use of these environments for tools behind the scene's.. there is an older article on this as well that is linked from Troy's document.
Scott AnguishStepwise
http://www.stepwise.com [stepwise.com]
Great News (Score:1)
Re:Great News (Score:2)
C++ vs. Objective C (Score:2, Interesting)
at first I'd like to say that I'm a regular OS X 1.2 user (on a TI PB, that is) and
I like OS X quite much, and I make a living of coding (C and C++ mostly, Linux and other *nixes).
I tried to get used of Objective C, but i find it quite cumbersome to use,
and that's why I don't see this happen soon. To get the most
out of Carbon/Cocoa you'll have to use Objective C. That's the
reason why I never got to use it (mostly due to lack of time),
because I'd first have to learn Objective C.
I think this happens to other developers too (read: game developers).
Just my $0.02 anyway...
Re:C++ vs. Objective C (Score:1)
If you know C it only a matter of hours to understand Objective-C.
It's just a nice and small extension to normal C with only one syntax extension - the way to send a message to an object [object doSomething].
That's nearly all....
Re:C++ vs. Objective C (Score:3, Informative)
I thought the same thing, for a few days.. until I just bit the bullet and made myself go through the little tutorials, etc. Now I am hacking away on some low level NNTL libraries to write the news-reader of my dreams.
Cheers
Re:C++ vs. Objective C (Score:2)
Check it out! [gnustep.org]
Crystal Space 3D Engine (Score:4, Informative)
Crystal Space is free (LGPL license) and written in C++. It is a 3D engine but more accuratelly it is a game development platform for 3D and isometric games.
Check it out at crystal.sourceforge.net [sourceforge.net].
Greetings,
Re:Crystal Space 3D Engine (Score:2)
Greetings,
OpenGL and QuickTime (Score:4, Informative)
The problem is you're dealing with 2 completely different kinds of technologies. One is cross-platform and relatively "free", the other is held back by proprietary code (like most Apple "innovations"). Additionally, even with the new development tools, getting QuickTime to play nicely with OpenGL is a job within itself.
DirectX is no better in the proprietary code department, but at least you can setup a few function calls that will seemlessly pull together 3D graphics, video, sound and input routines that would work on a variety of PC hardware. I just wish that the "Direct-like" projects in Linux would be more ported to Windows, and that they supported more hardware-specific calls like pixel shaders.
Re:OpenGL and QuickTime (Score:1)
I'm getting quite tired of this "Macs have fewer games" bull. Many PC game players and makers may not realize it, but Mac game players use PC game players as their "beta testers.' There are LOTS of PC games because its TOO easy to develop a game. Just because there's a ton of copies of a game doesn't mean it's a good game. A threshold of sales there has to be made. When that threshold is reached, a Mac port is usually considered.
The best games from the PC are ALMOST ALWAYS ported to the Mac side. With a few notable exceptions (Half Life, Tribes) I play Diablo 2, Deus Ex, The Sims, the Tomb Raider series and many more titles. Portability is not the problem when you isolate the DirectX features to help the Windows port while using Apple's game support and any QuickTime feature for the Mac, and other resources in the *nix port. At the same time, using common platform tools such as OpenGL help. DirectX is not a panacea--if a developer knows nothing but it, then his games are going to suffer. A ton of PC games that sit in the bargain basket at CompUSA proves my point every day it stays there.
And yes--I could make a PC game from my Mac using a simple IDE such as REALbasic, which works much like VB. Porting from that IDE is child's play because you develop for both platforms simultaneously.
What about MS purchase of OpenGL from SGI? (Score:2)
If they decide not to license or to restrict the use of the technology, wouldn't that begin to cripple the use of OpenGL as a development environment?
I can't believe they would, but then again this IS MS we're talking about.
Re:What about MS purchase of OpenGL from SGI? (Score:1)
No, they bamboozeled SGI by getting them to build NT boxes and during the romance, got SGI to disclose the OpenGL family jewels. Just like how the M$/Sega relationship begat Xbox while tanking Dreamcast, the M$/SGI relationship begat DirectX3D and a castrated SGI (and the M$ president's spot for R. Belluzo as a reward for a job well done).
Microsoft...masters of the we-win, you-lose "relationship".
Re:OpenGL and QuickTime (Score:3, Informative)
Oh, you must have been talking about one of QuickTime's codecs. Remember QuickTime is much more than a codec.
Re:OpenGL and QuickTime (Score:2)
Other way around. MPEG4 is (supposed) to be the new standard file format for QuickTime. How long that will take (people are still using RealAudio and Windows Media standards from 3 years ago) is anyone's guess.
I was referring to the API which, while documented, is not "open". If you went with the comment one person made, the Windows APIs would all be "open" because they're documented. That's not "open" in the traditional Source/Slashdot sense.
I don't absolutely require open code (heck, I think DirectX is pretty nifty for some of the things it does) but if you're trying to link Apple, OpenGL, QuickTime and "open source", you're mistaken.
Re:OpenGL and QuickTime (Score:2)
Other way around. QuickTime's file format is what MPEG4's file format is based on. Google's #1 result [apple.com]
Re:OpenGL and QuickTime (Score:2)
Maybe you're confused. The API is fully documented.
Re:OpenGL and QuickTime (Score:2)
I know this still leaves the QT player and various codecs as proprietary, but wouldn't a developer be more interested in the server side?
Good Point (Score:1, Interesting)
The point of this article really is that you should use the tools you feel comfortable with to do the job. All you people who are saying stuff about the mac not having enough market share to justify it obviously haven't read the article.
Being a person who likes low-level stuff, I rather hate using API's and stuff that make all this stuff easy. I prefer to write my own loaders, blitters and stuff... I've developed my own game tool library over the years and use it for all sorts of things because it's what i'm most comfortable with and can get things done more quickly.
But I feel my view is similar to that of many other game developers (ones who are truly passionate about it) and we are a stubborn bunch (is this just coders in general?) and once set in our ways, tend not change them, even if another way is better.
Sadly, in my view, game development is less of an art and more of a process now. Remember the days of DOS where you had direct access to the hardware and wrote your own graphics, input and sound routines? You really couldn't use a 3rd party library because it would conflict with your code or other libraries. Besides, that was just a lame thing to do.
Anyways, less chat, less shovelware, more coding, more polishing.
Cocoa/Carbon? (Score:1)
Re:Cocoa/Carbon? (Score:1)
A Cocoa app works much like a Carbon app except development for these apps use Objective C, C++, or Java. The advantage of a Cocoa app is that you can port this code to other platforms, and it gains some feature advantages in OS X that Carbon apps do not yet receive. Cocoa apps can only operate in Mac OS X.
A true developer here can probably explain more of the particulars that I can, but that's the nutshell.
/.
It's better than PSX, but that's no big whoop (Score:1, Insightful)
Neat article, but the conclusion is badly flawed. The main thrust seems to be "Cocoa/OpenGL doesn't require you to map out your VRAM like Playstation 1 did, so that makes it easy to write games!"
Does it hell. It removes one obstacle, but it's not going to write the game for you, nor is it going to make the Mac a more attractive proposition - technically or as a market - than DirectX, either XBox or generic PC Windoze versions. Hobbyists take note, but commercial developers, don't get too excited.
OpenGL is a fine API, and I'll happily accept that Cocoa is nice too, but the whole DirectX SDK really has matured into something usable. Many AAA Windows games now ship with only D3D (no OpenGL) 3D support (Max Payne, Operation:Flashpoint spring immediately to mind) and it doesn't hurt them. The big downside to using DirectX is cross platform portability (porting the app, and the DirectPlay network component), but commercialism comes into play again: it's better for a game to work really well under DirectX only than to work fairly well under DirectX and on Macs (or Linux for that matter).
If this means anything to anyone, I used to work for a company that was writing native D3D Retained Mode games, back in the DirectX 3/5 days. It was a suicidally stupid thing to do, and the games side of that company did indeed collapse under the weight of ripping the thing apart and starting over with D3DIM / OpenGL / glide support. I've no historical reason to love DirectX, or to think that apps hardwired to a specific API are a good idea. But even given that, I still think that a native DirectX 8 game makes a lot more sense, both technically and commercially, than OpenGL/Cocoa on a Mac platform.
Sorry guys, but this reads like another "I love Macs, so here comes the cognitive dissonance," article designed to get people on board the Macwagon. The only thing I can completely agree with is that developing for the Playstation 1 was like trying to teach a chimp to recite Shakespeare translated into Latin.
What article did you read? (Score:3, Informative)
What the article is talking about is how to use OS X / cocoa to develop back end applications for game development. OS X can also run maya and lightwave, so you got 3D rendering stuff down also. One can also spend more time using OS X to get the over all look of a game finished (UI, networking, etc.) a lot faster (and cheaper) because of Cocoa, and then after finalizing the game behavior, porting it to the more expensive and timely operating systems, such as windows.
Re:It's better than PSX, but that's no big whoop (Score:5, Insightful)
The author described a particular problem he had while developing a PSX game -- mapping the limited VRAM was a pain. So he wanted to write an automated graphical utility to do it for him. Using OpenStep (aka Cocoa) it took about 2 days and saved his entire team man-months of tedious labor.
This wasn't about porting some random PSX game to Macs. It was about using the language at the heart of OS X to be more productive at whatever it is you're doing. As you recall, productivity was one of the main reasons for the computer revolution (along with communication and porn, but you get the idea).
Good for Tool Chain, not the game its self... (Score:3, Interesting)
Mac's are also a good possiblity for console development (PS2, Gamecube). Especially since the compiler used is frequently based on GCC. OS-X's BSD core makes it easy enough to port the tools, and provides another alternative for those who are not intrested in using Linux or Cygwin based tools. However, since most of the art tools are used on NT/W2k boxes (Such as 3ds Max), it is probably simpler for the time being to stick to Windows based environments.
END COMMUNICATION
Re: (Score:2)
Is This Really News? (Score:2)
Bloody marketing (Score:2)
Re:Bloody marketing (Score:2, Informative)
But maybe I misssed my true calling...
-TS
OS X and Games (Score:4, Informative)
We recently rewrote our game tranquility [tqworld.com], originally for SGI, to run on OS X (100% rewrite, not a port). We selected OS X over MS because of two major reasons... (1) we hate MS and (2) we love UNIX. OS X gave us the ability to completely work around a shifting (and shifty) MS playing ground... and because OS X is based on a UNIX kernel, we felt that stability and capability were superior.
We were not wrong. OS X is a blast to write games for. While our game servers are SUN (though they could be MACs)... the client internet code was written on a SUN and compiled straight away, with no errors, on the MAC. This type of simplicity and uniformaty indeed make OS X a beauty to write for.
However... we also selected OpenGL as the clients drawing system, simply because it matched the needs of the game (which was originally written in SGI GL). Apple has yet to release its version of OpenGL in source form to developers. Releasing it would help developers to support it, increase its efficiency, as well as remove a couple of the remaining problems (it IS open source, after all, but Apple has made some changes within the code). Instead, Apple seems to prefer its game developers to use its alternative (and prop. platform)... which immediatly removes porting possibilities.
Furthermore, and sadly... Apple enjoys Objective C... which quite frankly I've never been able to properly sink my teeth into. Bastardizations of a standard language such as C, into deviants such as C++ and Objective C, do nothing good for anyone. It makes porting or even rewriting difficult... and obscures readability of the code. It also wastes development time in learning a new language.
My upshot? OS X is a WONDERFUL game platform, if you ignore Apples desires and stick to the UNIX layer and standard C, as much as possible, for your designs. Specialized tools, libraries and langauge only serve to make programming more difficult.
Re:OS X and Games (Score:1, Insightful)
Hey, fogey, if we took this reasoning to its logical conclusion, we'd still be writing machine code by hand. Not assembler, mind you, machine code.
Re:OS X and Games (Score:2)
That's just silly. By Turing equivalence, just about any language can do anything that any other language can do. You could write scientific number-crunching apps in Perl and text processing utilities in FORTRAN, but it would be foolish to do so. Part of being a good developer is choosing the right tools so that you can spend your time implementing your program's functionality instead of fighting with the language.
Re:OS X and Games (Score:3, Informative)
You might want to give Objective C another chance in the future. Unlike C++, Objective C is a 100% backwards compatible OO extension to C. The OpenStep/Cocoa APIs are specifically designed to use the features of Objective C and are outstanding for most types of application development, although possibly not for action-oriented games.
If Carmack likes it, so should you! (Score:2)
Here [bluesnews.com] you will find this lovely quote:
If I can convince apple to do a good hardware accelerated OpenGL in rhapsody, I would be very likely to give my win NT machine the cold shoulder and do future development on rhapsody.
More Carmack-style old pro-OS X ranting can be found here [macgamer.com]. There's a lot more around, but I gotta run. Google reveals all.
Misconceptions (Score:1, Insightful)
That doesn't mean the game is on OS X, just that OSX is nice to build support tools for game development.
It shouldn't come as a surprise. I remember Id made a map editor on NeXTSTEP a while back in the Doom days if I remember well... anyway... NeXTSTEP is one of the ancestors to OS X.
I must say prototyping is indeed much much faster on OS X. And I don't feel like I am a super pro in it yet. It pays to develop the concept on OSX before developing the actual app on whatever platform you need it on.
Read the article. (Score:3, Interesting)
The article is not a testimonial about OpenGL performance on the Mac, nor is it a crisicism of OpenGL performance on the Mac. :-) Neither is it an endorsement of Objective-C as the best language in which to write a performance-critical game engine. (For that purpose I would personally choose either a tight subset of C++ or an OO approach to structuring C code.)
The article is about the production process, and developing tools to aid in that process -- a domain in which I can say from experience that developer productivity is far more of a priority than getting every last drop of execution speed -- particularly if you can develop tools that will make a process more efficient for several artists/programmers: the efficiency of the development process then goes up in proportion to the number of people on the team who benefit. That's where Cocoa provides much needed leverage. Objective-C contributes to the efficiency of the development environment by being an appropriately flexible OO language for RAD. IMHO, as the article states & illustrates, it's very appropriate technology for the domain of custom application development. :-)
CousinChimpy
(Troy Stephens)
What happened to InputSprockets? (Score:2, Insightful)
If Apple would *really* like to woo game developers, they should bring Input/GameSprockets to OS X. QuickTime and OpenGL are nice, but using a mouse/keyboard for game input is jsut plain unacceptable to most gamers.
How will I get my Money Puzzle Exchanger fix?!?!
Re:What happened to InputSprockets? (Score:2, Informative)
At the last WWDC, Apple strongly encouraged HIDManager to be used instead. InputSprocket allowed for nasty, low level access which should not be available. HIDManager abstracted things out much better. There was a nice response to a request for Apple to maintain a databse of HID compliant device mappings, lifting the burden of creating configuration mappings for all those Input Devices.
HID Manager [apple.com]
Very similar situation applies to DrawSprocket.
Re:Not likely (Score:3, Insightful)
Since most of these are written on a pretty ad-hoc basis without any real design, a RAD approach does make a lot of sense.
-dair
Re:Not likely (Score:3, Informative)
Re:Not likely (Score:2, Informative)
www.cocoadevcentral.com [cocoadevcentral.com]
& of course,
developer.apple.com [apple.com]
It is a nice environment to program in, although I am finding the objective C and the size of the framework to be the main hurdles. Still, there are so many great resources online and packaged with the developer tools from Apple (a free download with tons of documentation and examples), that I am slowly learning.
Hewligan
My Blog: BrainMess [freshfiltered.com]
Re:Not likely (Score:3, Informative)
Don't forget GNUStep [gnustep.org]. Also , notice that NEXTSTEP's and Apple's and GNUStep's (and pretty much the defacto) Objective C compiler is gcc. So you're saying that Objective-C limits your platform to anywhere gcc is ported [gnu.org] ! Thats not really what I would call a portablility issue !
Now if you had pointed out that making use of High level Cocoa classes would restrict you pretty much to Apple until GNUStep caught up then you might have had a point. But Objective-C ? gcc and GNUStep-Foundation look pretty damn portable (and Free) to me, mate.
Re:GNUstep is FAR behind (Score:1)
However, I wasn't really trying to suggest that it was a feature match with Cocoa (or even OpenSTEP), I implied as much in my comment when I mentioned waiting for them to catch up. My point was purely in response to a comment saying that Objective-C the language would restrict your target platform. Forgetting OSX and OpenSTEP for a second if you just want to code stuff in Objective-C - gcc and the GNUStep non-gui classes are here ,useful and portable today.
Objective-c+++ (Score:1)
This is no more an issue in the latest dev tools Apple [apple.com] a rereleased a functional Objective-C++ compiler. This is the tool with which abiword [advogato.org] is being ported to macosx.
Re:Not likely (Score:2)
See here [doomworld.com]
Re:Mac OS X may be... (Score:2)
The machines does look a lot better than most common PC's, they have nice keyboards and mice etc. And MacOS X is a *nix, which does bring things to its edge, since all slashdotters loves *nix
If there were as many good games available for the Macintosh as for the PC, i'd definitly concider getting myself a Mac next time. I think its worth those 50 % extra money to get rid of windows once and for all anyways =)
Re:Mac OS X may be... (Score:2)
The primary purpose a game is produced, is to
Re:Mac OS X may be... (Score:3, Insightful)
Re:Mac OS X may be... (Score:2)
Re:Mac OS X may be... (Score:2)
Re:Mac OS X may be... (Score:1)
Toyotas are somewhat 'prettier' according to the general populace, and they might last longer than the other guy. They're also made with the complete idiot in mind; it's a car for everyday people, not just wrench heads.
Fords are more 'core', they don't make their vehicles look like they're smiling. They don't use kids in the TV commercials in a shameless attempt to grab naive young moms. And their cars tend to die a little younger than their asian counterparts if you treat them equally. However their cars are designed with the hobbyist's aftermarket in mind. You can rip out parts and upgrade the engine/tranny if you have the slightest idea where you're going.
That's how I see Mac vs PC. Macs work well, they're nice machines for the common user, and you can't do shit with'em unless Steve Jobs said you could (licensing). Sure, there are a few clever folks who have learned the arcane art of Mac tweaking, but it is grossly undocumented and beyond the reach of 99% of their userbase. I don't see myself desoldering stuff on the mobo just to push a G4 from 500 to 550mhz. Na-uh!
PC's are cobbled together from a bunch of different sources.. board from Asus, cpu from AMD, ram from Micron, etc. You can make a sucky PC, or you can build the '68 Mustang of all boxen. Or what if you've already got a piece of shit ? You can swap things out and make it better at minimal cost. Get that queer TNT2-M64 out of there and throw in a Radeon or Geforce2. Throw in a Globalwin heatsink and clock that mutha' out! Or what if something breaks ? Don't ship your entire box to the manufacturer or store, just throw out the dead part and buy another one, then send it back on RMA and sell it off when it comes back.
The bottom line is that it's still a debate on Quality vs Hackability, with many people on each side. There is little point in battling between these factions, but it is good to remind ourselves the mindset behind each of them, instead of just mindlessly bashing one another.
Re:Mac OS X may be... (Score:1, Interesting)
Keep dreaming. If a Ford product development person heard you say this, they'd gasp in horror -- that's certainly not the message they want car buyers getting. The hobbyist market you speak of is a tiny fraction of Ford's sales, and I assure you that concern for them plays little or no role in deciding a vehicle's design. Families with kids, on the other hand, most certainly do -- and if you haven't noticed any kids in their commercials, you haven't been paying attention.
To most people, a car is a means to an end, not an end in itself. Same with computers, which is why Macs are superior to PCs for most people. That Macs have such a small market share relative to PCs now can be attributed to (1) the fact that the Mac's advantages can't be boiled down to a few numbers, like clock speed, and (2) the fact that most computer-illiterate people, when looking for advice on what sort of machine to get, end up talking to some geek who loves tinkering and thus prefers PCs. I used to be one of those guys -- built a few computers of my own, salivated over the latest hardware, ran Linux and FreeBSD, and hated Macs. But eventually I outgrew that phase and discovered that, lo and behold, Macs were better for my day-to-day needs, because they had a simpler interface and required me to jump through fewer hoops to get the most common tasks done.
And now that OS X is out, if I get the urge to tinker, I've got lots of options on the software side -- at least as many as Windows gave me. And while Mac hardware tinkering is out of the reach of the average Mac user, PC hardware tinkering is also out of the reach of the average PC user. But if you really enjoy tinkering with PC hardware (which means a bit more than just assembling your own box out of parts), then Mac tinkering is quite possible.
Re:Mac OS X may be... (Score:1)
I would /love/ to own a Mac, but can't possibly afford them. I've been able to build a nice PC by buying and upgrading bits gradually over the past few years. I've finally ditched Windows now that Linux supports most of the hardware that I love, (getting my ATI TV Tuner working was the final hurdle) and I'm pretty happy with my machine. If I had had to go the Mac way, I would probably be stuck with a 6-8 year old machine cos that's all I could afford, probably with a string of over-priced USB, firewire or SCSI peripherals like CD burners, DVD etc. when IDE devices would have done a fine job.
There is a downside to the pre-packaged mac, too. One of my friends is a graphic designer, and he has a G4. We're sure there is something wrong with it - it runs like a dog (a big, fat, lazy dog) and has recently started taking ages to print even simple jobs. The supplier claims there is nothing wrong with it. If it were a PC I would play with the BIOS, try some different RAM, stick my harddrive in it and see if my apps ran more slowly etc. At the moment we are trying to come up with some benchmark stats that might prove that it is running more slowly than a G4 would be expected too. If we don't manage that then he's stuck with £2000 worth of crap.
Re:Mac OS X may be... (Score:4, Insightful)
Re:Mac OS X may be... (Score:1, Insightful)
Re:Mac OS X may be... (Score:1)
Re:Mac OS X may be... (Score:2, Informative)
Does anybody here really cares to read the things he/she is replying to???
The topic is game development!
For that you need some tools with which you get a certain job done fast and clean - Objective-C/{NextStep,OpenStep,Cocoa} provides just that!
Cross-compiling (Score:2, Informative)
Thanks to SDL [libsdl.org] & OpenGL the same source code is used for all four supported platforms (Linux, Win32, MacOS9, MacOSX). There's still the odd #ifdef for things like reading directories, but that's about it.
- Andreas
Re:Mac OS X may be... (Score:3, Interesting)
Re:Mac OS X may be... (Score:2)
Just to clarify (or correct depending on what was actually meant) - Airport is integrated into Mac OS the same way the modem or ethernet is so the game only has to support network play, not specifically airport.
One other correction from this thread (but not the parent post), Mac's have about 5% market share not 4% - hence the Steve Jobs quote: "5 down, 95 to go". Also, 5% market share is a *huge* number of computers. There are more people who use Macs than people who buy Proserpine Cane Growers Suger but I assure you the Proserpine Cane Growers are making plenty of money. You don't need to target Windows to make money in the computing world - you just need to target an audience.
Re:Mac OS X may be... (Score:5, Informative)
but with macs holding <4% of the market it is not a viable playground...
I know that actually reading the article will just slow you down, but if you'd bothered, the emphasis was on developer. The guy was talking about how quick and easy it was to develop tools for his Playstation development on a Mac. Not about playing games on a Mac.
Re:Mac OS X may be... (Score:4, Insightful)
That said, think about the market for the "highend" gamers. You know...the %4 of us that actually buy a GeForce 3 when they first come out? Many such gamers would love to move off of Windows, especially the 98 variants. While Win2k helps a lot, in the end it's still Windows. Many are pushing for Linux to be the next great gaming OS, so much so that more then a few major game companies have already targeted it (even if not completely successful, ala Loki). Linux however, has a long, long way to go (to be very, very kind).
If all the "hot new games" start coming out for Mac (even if they also come out for Windows and/or Linux), it suddenly makes Mac an extremely attractive system for gamers. Gamers of course, being the only people who own a computer that are likely to actually buy a new one before 2030...
Now, if building games on Mac is easier, faster, and thus results in better games to market sooner...
If building a game under Mac implies open standards such as OpenGL instead of DirectX, thus enabling the game to target Mac, Windows, Linux, etc without nearly so much trouble...
The math becomes easy. Develop under Windows and we sell to say, 90% of the market. Develop our game under Mac and we sell to 100% of the market (5% Mac lets say another %5 Linux/Other)...AND we get to market faster AND our development is cheaper... The choice is clear, IMHO.
Re:Mac OS X may be... (Score:3, Informative)
Mac OS X contains EVERYTHING necessary to write for anything right now. And yes, its a new OS and Apple hasn't documented everything with crystal clarity, but this is the first OS I've noted with intraplatform compatibility not only at the desktop level, but the developer level as well.
/.
Re:Mac OS X may be... (Score:1)
Re:Mac OS X may be... (Score:2, Insightful)
</sarcasm>
Re:Mac OS X may be... (Score:1)
Re:Mac OSX (Score:1)
I am impressed..
Re:This is not true (Score:2)
Most of the time in your life when you want something done you pay someone else to do it. However, the fact still remains that *someone* has to actually do it or it won't get done. It doesn't matter that a lot of games are made by using licenced game engines, someone has to create the game engine and Mac OS X will be very useful for that.
Re:Potential (Score:4, Insightful)
You used to develop applications quickly in VB, now Cocoa has gone above and beyond, letting you build *good* applications quickly.
Re:It's sad then... (Score:1)
Re:It's sad then... (Score:3, Insightful)
OK, glad I got that out of my system. Personally, I think OS X is the best thing since sliced bread (and maybe even cheese in a can!). The implementation of OpenGL is 3x what it is in Classic Mac OS. My Quake 2 (yes I'm a purist) framerates jumped 20 FPS just from switching to OS X. 60+ FPS on a 3 year old system on your Rage 128 makes me a happy little camper.
Re:It's sad then... (Score:2)
Quit complaining about problems with Apple's product line that DON'T EXIST.
Re:It's sad then... (Score:2, Informative)
Ironic that you should make this complaint on the day that Apple becomes the first computer company to sell systems with the GForce 4 graphics card. See here [yahoo.com].
Re:Misses the point (Score:1)
No, YOU missed the point... (Score:2, Informative)
I'm working in the games development industry, both console development and PC -- the article is talking about a platform for _development_, not for running the final product. In a typical game development environment, you spend half your time writing tools to create content -- if you can write tools faster on OS X with Cocoa, you'll save time and money. I found this article very interesting and I've already invested in an iBook to do some homework and try out Cocoa...
Re:Misses the point (Score:1)
HOW MANY TIMES DO WE HAVE TO READ THE SAME IGNORANT COMMENT!!!
I know reading the article is tough but even if you read just a few of the preceding comments you would have noticed that this is about the development platform NOT the the Target platform which are NOT the same thing. In the case of this article it was Playstation 2 (which lacking a keyboard would be difficult to code on;) It could just as easily have been XBox, Nintendo, or Windows.
Re:WIDE LOAD - COMING THROUGH!!!! (Score:1)
Re:No fscking way (Score:2)
This is not a wise-ass question. I want to know which is easier/better but want to hear the opinions of people that have used both - not just people that having used one *imagine* that it is easier than the other.
Re:Only if Apple gets their ass in gear. (Score:2)
OS X/Carbon etc is a total departure from their old APIs and OS. How can developers trust that OS Y won't wreck everything you just learned about Macs on OSX?
Re:Only if Apple gets their ass in gear. (Score:2)
Umm, no. The entire point of Carbon is to provide most of the "Classic" Mac OS API so that developers have an easier transition to OS X.