Description: Sun's latest 3D class libraries which will likely go golden early next year. It's a well thought-out class-library of 3D graphics and sound. While it's written in Java, it uses the GUI's underlying 3D system (currently OpenGL or Direct3D) as a back-end.
Platforms: Win32 and Solaris. Several others likely added next year.
Advantages: Very nicely done class library. 3D sound and sound-mixing is included in it. Could make cool demo versions of games that run in browsers.
Disadvantages: Bleeding edge and far from mature. Currently only on Win32 and Solaris. While automatic threaded rendering holds promise, performance isn't gonna be able to hold a candle to native-code solutions.
OpenGL and the GLUT toolkit
Description: OpenGL is the classic 3D graphics API, which is available on most platforms. GLUT is an API wrapper that covers the platform-specific stuff, so you can make truly multi-platform OpenGL apps. GLUT is a set of functions that make cross-platform gaming easier.
Language: C, ADA, FORTRAN
Platforms: Win32, SGI, Solaris, Linux, and Mac (Mac version is commercial)
Advantages: Very mature and proven technology. GLUT includes source code.
Disadvantages: Not C++, so it'd have to be wrapped before I like it. No sound. Some Win32 implementations are incomplete.
Description: Microsoft's 3D solution. Nuff said.
Language: C++ (other languages with third party libs)
Advantages: Probably the fastest solution for Win32 3D, and likely to stay that way. Has Microsoft's blessing.
Disadvantages: Not portable (other than DreamCast, but I doubt I'd ever be able to get anything of mine past the Sega Content Police). Even though it's C++, it doesn't leverage any newer C++ technologies (like STL) that would lend themselves nicely to 3D data structures.
As you can probably see, this is an awfully tough short-list. Performance is important, but my games aren't likely gonna be spinning millions of textured triangles, so I don't know how crucial bleeding-edge speed is gonna be. Portable code used to be a big draw a few years ago, but the game market has pretty-much dropped to three platforms, Windows/DirectX, PlayStation, and N64.
While we're on the subject of platforms. . .
[rant mode on]
Apple's problems are big, despite their recent puffery that the iMac is making 'em a player again. Here's why.
- Around 75% of iMac sales are to existing Mac owners. Last Christmas saw a rash of under-$1000 Win95 machines, and this Christmas is gonna see a rash of under-$1000 Win98 machines with fast 3D hardware and DVD. If Apple doesn't figure out something to court new Mac-buyers, their market share is gonna decrease to the point where they become part of the "other" wedge on those system pie-graphs you see everywhere.
- Apple's $30/month iMac deal is gonna backfire, because it takes three years to pay for a machine that can't expand to meet a market that re-invents itself every 18 months. My computer is four years old, but in that four years, I've been able to install a faster CPU, a faster hard drive, a fast 3D graphics card, and a nicer surround-sound card, making it at least a reasonable machine by today's standards. Barring frankenstein-ish clip-in mods (like the original Mac 128 had), a three-year-old iMac is gonna have the same capabilities as the day it was taken out of the box. Folks are gonna want to replace it, as it doesn't run the latest stuff well, but they're still paying for it.
- Finally, Apple seems to have dumped advertising for everything but the iMac. If they've got any other new machines, nobody's gonna know about 'em.
The Mac's nice, but the iMac is a short-term solution. Apple's decision to sacrifice expandability for price is gonna bite 'em hard later.
[rant mode off]
That's enough for today. If you've got any comments about my list or my rant, lemme know. I'm good about responding to email.