Date: 1993-09-02
From: Paul
Subject: Re: Alex - credits, bugs, etc.

Re: use for spinning globe

How about using this for a startup/intro screen, displayed during the first few seconds after startup? Of course then we'd have to come up with something else for the credits screen, but that shouldn't be a big problem. Note also that we need a mondo-cool icon for the application. And size is no object! ...er, that is, it's OK in my book for the globe to consume disk space. IFF we get in the mode of frequent uploads & downloads, we'll tackle the problem of minimizing transfer time.

Am I set up for QuickTime?

Yup, I'm running version 1.6.1. And I'll shortly have a JPEG viewer and a movie player. By all means, send one or two flicks at your earliest convenience. Could you put a few cities on the globe? I'm thinking of bright dots (maybe flickering?), sort of like cities seen from space at night.

Re: bugs

I *think* I stomped one of them a day or two ago. Others may be tackled in the near future.

Re: bit confusion

Yes, I'm aware that /16 does not mean 16 colors. But what does it mean? My 8-bit video card is good for 256 colors; are you telling me that Photoshop stores at 2^16 or 2^32 colors only, regardless of monitor capability? and that 2^16 is not good enough, at least for QuickTime? Wow...

On pixels and coordinates:

In order to fit the coordinates into 10 pixel cells I had to shrink the font down to 8 point. This is actually moderately readable when the separation between neighboring cells is higher. However, at 14 pixel cells I can probably up the font size a bit. I can also play with changing the font to improve readability. Also, I intend to increase readability by putting thin dotted lines all the way across the screen every 5 or 10 cells. All of this is low priority, though.

Are there any toolbox or C++ library calls that do splines or curves of any kind?


Are you going to cash in your Ci for a Centris?

I'd love to, but that minor issue of money precludes it. The practical implication of the relative performance numbers I related last note is my newfound knowledge that even algorithms that are unbearably slow today on my IIci may be quite reasonable for Alexander. It'll be at least a couple of generations past the latest Centris before we're ready to "release" anything - even if I can stay as focused over time as I have been this past month.

My weekend was "wasted" pondering the implementation of smoothing, and fighting my limited knowledge of C. Currently, I can look at any cell in the world just by referencing world[i][j]. This is actually implemented as a one-dimensional array of pointers, the array being sized to the widest world possible:

      int *world[max_cols]

Then at run time I create as many pointers as the user specifies for rows:

      for ( i = 0 ; i < actualColumns ; i++ )
         world[i] = NewPtr( sizeof(int) * actualRows ) ;

Then, through the magic of C, I can refererence individual cells as described above (The above is a slightly simplified description. By the way, how well do you know C? And do you care about this kind of stuff?). Why do I use pointers in the above code? When I attempted the obvious variable declaration,

      int world[max_rows][max_cols] ;

C ran out of memory, and declined to compile or link when the world got above something like 75x75.

The above - and more - was written a few days back. I'm still floundering with the implementation of these structures, but hope to have demonstrable progress soon. Meanwhile I want to get this note back to you, so I'm going to leave the above discussion unfinished.

Last night I downloaded a JPEG viewer and a movie player, so I'm now ready for whatever you throw at me. Also last night I recorded the tape. Expect my Pelago shipment to go out Tuesday, OK?