I'll answer (2) and (3). My personal choice for programming a game has been to use the "Simple DirectMedia Layer" from
http://www.libsdl.org in combination with OpenGL. Of course, this may not be for you, but here are the advantages:
- SDL programs run on MacOS, Mac OS X, Windows, Unix, Linux, Amiga, BeOS, etc... It's a serious cross-platform library which is licensed under the LGPL.
- OpenGL is a serious 3D API which is not going away, and like SDL is available on a zillion platforms. You can write code for OpenGL in a variety of languages, including C, C++, Objective-C, and Java. By now there are probably a few REALbasic add-ons to do OpenGL.
Over the past few months I've taught myself OpenGL (a rewarding challenge!), learned a bit of cool trigonometry to help me along, and got reacquainted with C++ to begin making this game. I've managed to create a really cool OpenGL-powered game engine that uses multi-threading for optimum performance and compiles on both Mac OS X and Windows (so far!). I've been careful to keep the engine separate from the game code so I can re-use it in the future.
Anyhow, you may find it more helpful to use an existing game engine like Quesa, but check out the SDL site just the same. There are a lot of game engines, sprite engines, etc., listed on the SDL site. One of them might be your cup of tea.
Also check out
http://nehe.gamedev.net/ which has an awesome set of tutorials on OpenGL.