Re: [stella] Object handler organisation

Subject: Re: [stella] Object handler organisation
From: Manuel Polik <cybergoth@xxxxxxxx>
Date: Fri, 08 Nov 2002 21:08:03 +0100
Hi Christopher!

> - Assumes you're actually looking for values of #$20 
> and #$28 and not a range of values, if you are then 
> you're back to ignoring my posts (smile).

Uhm... well :-)

> - If your VoidObject is a "dead" object, can you 
> change it's value from #$0f to #$00? Then you can:

> (If it's something else, then ignore this too. I'm 
> only suggesting this because a "dead" (or unused) 
> object is going to be a very common object so it makes 
> sense to be checking for it early, particularly if we 
> can eliminate a compare...)

Worst case the object handler must be able to compute is 
the situation "all meteors" or "all ships". 

"dead" objects are handled soooo quick compared to any 
other object, that it doesn't matter how much time their 
"check" consumes. Any "dead" object is on the safe side.

I already placed the most used & most time consuming 
stuff first for the performed checks.

There is granted only one laser or one mothership at a 
time, so they come last in the test.

> Again, assuming the VoidObject is a "dead" object, 
> when you're Z sorting objects, can you also sort so 
> that VoidObjects are always at the end of the list? So 
> as soon as you hit the first VoidObject you can abort 
> processing...

Again, the whole thing must support worst case any time 
and worst case is all objects "alive" ;-)

Another issue is, that one of the nasty tricks I play is 
that I'm only performing an "Imperfect Sort". Or 
"Constantly Improving Sort" or "Flickersort" as I 
christianed it.

In short - per frame I'm only doing one iteration of a 
Bubble sort like code - no loop! Funny thing is, that 
this not only works for the sorting itself, but this 
already arranges all the flicker for free, as any 
overlapping sprites automatically swap positions every 
frame ;-)


Archives (includes files) at
Unsub & more at

Current Thread