Re: your first question:
It makes sense to develop the renderer first because it's the most vital component (apart from the PowerPC). The rest is just tedious glue code, IMHO. Perhaps more importantly, I find that having the Real3D emulation usable in a standalone form facilitates easier experimentation and prototyping. What I basically do is fire up Scud Race in the old Supermodel, play it until interesting things appear on the screen (namely, translucent polygons, repeating textures, seldom-used texture formats, and lighting effects), things that are tricky to shoe-horn into the OpenGL rendering pipeline, and then dump all the video RAM into files.
I can then load up these files to render the display as it was at the time the dump was made. Simply rendering the frame over and over again even gives me a rough idea of how well the engine is performing. The Real3D is nice in that all 3D graphics are built up in a hierarchical database structure in its VRAM, which makes it very conducive to this sort of development approach.
Re: the second question:
I think everyone likes playing around with Scud Race because it's basically _the_ reason for emulating Model 3. It's also a relatively "well-behaved" game in that it's not too hard to get up and running. The first game Supermodel ever ran was Lost World, followed next by Scud Race, I think.
Additionally, it just so happens that most of my Model 3 ROMs are on a computer in Nevada. The only complete dump I had available that Supermodel could run was Scud Race. The new, properly named ROM sets that MAME uses were not compatible out-of-the-box with the old Supermodel, so I didn't bother with anything else.
Right now, I'm working on hooking up Supermodel's old PowerPC interpreter, which ought to be good enough to get several games running. Once I hit that point, I'll release an initial version. I hope that I eventually have time to write a dynamic recompiler of my own (I had started playing around with some ideas back in the day and would like to return to that). It will be open source, of course, and should be readily usable on Windows, UNIX, and MacOS (I'm developing on Linux and Windows).
Bart
|