[Coco] Impossibly-fast CoCo 3 sprites :) (Roger Taylor)
Andrew
keeper63 at cox.net
Wed Feb 6 10:45:34 EST 2008
Roger,
I have been following your progress on this game, and your descriptions
of the fast sprite routines. However, I am not sure as to how your
entire loop is run - I assume it is something like:
1. draw background (static background)
2. get input
3. wait for vbl
4. erase sprites (quickly!) at last position
5. move sprites (to new position)
6. draw sprites (mary, trees, bees, etc) at new position
7. loop to step 2
My main question is "what is happening in step 4"? Based on your
descriptions of not being able to do animation, etc - it seems like you
are XORing the sprites to the screen? That way, you get the speed you
need, without having to resort to a slow buffer copy of the background
image during the vertical blank. Provided you can get the sprites erased
and replotted in time during the vbl, there wouldn't be any flickering.
You noted that you can't do animation, though? Not within a sprite,
certainly, but if you have up to 64 sprites, each "frame" could have a
different sprite plotted (ie, just change the offsets into the sprite
table appropriately?). Am I understanding this correctly?
Is it only speed and/or memory limitations (or something else equally
valid - like not having to mess with MMU coding) that is keeping you
from doing bufferring of the background (ie, simply grab the background
and redraw it over the video buffer during VBL to erase all sprites)? I
am just curious on the time hit/constraints.
Something else - is the Mary sprite one large sprite, or is she made up
of multiple smaller sprites? I know on the NES, sprites were made using
multiple 8x8 sub-sprites. Can you gain more speed by limiting the sprite
size (width, mainly) to byte or word multiples? I know on the PC this is
something you can do (but it may be because of the 80x86 architecture).
As far as the routines are concerned - are you going to release any of
the code (not necessarily the game code, but the sprite routines - or at
least a tutorial on how to do high-speed CoCo 3 graphics coding)? I have
yet to see a tutorial or anything on how to really do proper CoCo 3
graphics programming in assembler - before the Rainbow went under, there
were tons of articles on CoCo 2 graphics, but hardly anything about the
CoCo 3.
Lastly - are you going to do any other arcade style games with the
routines? I know you have your new gems game coming out - but what about
something like Robotron - or to be really ambitious, a SmashTV clone?
Granted, it would have to be scaled down - but something fun could be
done (oooh - how about a CoCo 3 Reactoid remake? How about Canyon Climber?).
-- Andrew L. Ayers
Glendale, Arizona
More information about the Coco
mailing list