A giant project which has been constructed in SuperCard is waiting to be
ported to the PC platform. We can rule out rewriting; it needs to be
converted, tested, and minor bugs/incompatibilities be fixed.

If venturing this conversion project, we'll definitely need help from
someone experienced in that area.



Anyway, here is some statistics:

1300 cards, average 5 invisible buttons per card, average 1.2 graphic rects
per card, a total of 37,000 lines of SuperTalk code.


The project (it's a Myst-like game) features:

- 5 windows, one of them a palette (the Tools/Items palette), most windows
interacting with each other. At times all 4 wds are open.

- Loading 16-bit PICTs (they could be converted to anything else, no
problem here) into rectangles of various sizes on-the-fly, and purging them
from memory/disk space when user leaves a card. Some of the rects also
contain scripts and react to mouse events.

- Card-to-card transition effects: blend (video-like), barn door
open/close, scroll right/left/up/down, wipe right/left/up/down, dissolve.

- Flushing mouse events at times (E.g. some animations takes a couple of
seconds to finish; I don't want all the user's 20 mouseclicks to be
processed right after the animation).

- Playing sounds on various events.

- Reading and writing a prefs files in ASCII format (on Macintosh inside
the Prefs folder) to and from disk.

- Moving card graphics (8-bit bitmaps) in pre-determined steps across the card.

- Macintosh Menus including Apple menu.

- Playing a windowless QuickTime movie in a loop as background sound (QT
could easily be converted to something else, AVI I guess)

- Imported graphics with various ink effects (e.g. "addMin" or "mask") in
8-bit with their own CLUT (Custom LookUp Table).

- Playing synchronous QuickTime movie on mouse and other events.

- Now here comes the hard part: Playing _asynchronous_ QuickTime movie,
meaning the scripts run while the movie plays, interacting with the movie.
The movie reacts to mouseclicks, e.g. scripts querying the movie's current
time. Callback handlers setting the callback times etc. The implementation
of this async feature is crucial for the game.

- The code contains an amazing amount of if-then structures, at times
nested like crazy. Also, instead of referring to object ID numbers, all
references are by name. The scripts are admittedly not very elegant
programming style.


All of the media (picts, snds, moovs) are read and loaded on runtime from
CD-ROM. The application itself runs in "cantmodify=false" mode on the
user's hard disk.

I just looked at the project again and (in terms of complexity) it's a
helluva thing.



TIA for any suggestions.

Daniel C. Kueng
BLUE LINE STUDIOS
_______________________________
http://www.blueline-studios.com



This is the MetaCard mailing list.
Archives: http://www.mail-archive.com/metacard%40lists.best.com/
Info: http://www.xworlds.com/metacard/mailinglist.htm

Reply via email to