Mac OS X: Game Developer's Playground
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.'"
Objective-C would limit your platform to Mac OSX and NextStep. Not a wide market.
Games are written in C++ these days. Portability is more important than productivity only on Mac OSX.
I have just started developing with Cocoa and it's really great. The "Application Builder" works flawlessly together with the "Interface Builder". It's also easy to port your *nix programs to Mac OS X. I need to take a closer look on Objective-C though, since I don't feel like using Java.
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!
...yes but if more people write great apps for MaxOS, then more people will buy Macs. And the new cool iMac is a great gaming platform. Something few comment on is that it's built in wireless networking (airport) mean you could play multi-player games via 802.11. (Assuming it is supported in the games of course.) It is these 'vertical market' applications that can transform a platform.
O'WONDERWe're working on it.
Well,
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...
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.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
The more I use OS X, the more I like it, even though my exposure to it is rather limited.
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.
It seems that few of you read the article its self. The article suggests that Cocoa is ideal for designing custom tools since it is easier to make iterative changes to the tool. It is not saying that it is the best target platform to develop games for.
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
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.
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)