Re: [stella] Sprites - Questions to games programmers

Subject: Re: [stella] Sprites - Questions to games programmers
From: Thomas Jentzsch <tjentzsch@xxxxxx>
Date: Sat, 8 May 2004 16:30:08 +0200
Christian Bogey wrote:
> I looked carefully at some vcs games pictures and it
> seems that the sprite resolution suggest the graphics
> are updated every 2 scanlines.

> I'am wrong ?

Not at all, many games update the sprite every 2nd scanline.

> If I'm not, I'd like to know if it's a common practice? Is the
> reason is to reserve some cycles to make extra things ?

Yup, it just depends on how much time you need inside your kernel for
other stuff.

> Usually, what are you doing in your own games (are you updating the
> sprites datas every 1, 2 or more scanlines ?).

Thrust has a two scanline resolution for the sprites, Jammed, Cave1K
and Splattform 2600 have single scanline resolution.

> What is your advice about that to write an effective kernal ?

Hm, hard to tell. First you should understand as much as possible of
the 2600 hardware and its limitations.

Then usually the first step is to think about the playfield graphics.
Do you need them and do they have to be asymmetrical? Do you have to
draw them every scanline? Do you need all three PF registers (often
PF0 is not used). How much RAM will you need for drawing the PF?

Then you can calculate how much time is left and how often you can
update the sprites. This is the point where you should decide after
how many scanlines the kernel will repeat.

Also important: Do you have to reposition the sprites inside the

Think about using VDEL which IMO makes the kernel code much more
flexible, allowing more complex kernels.

Now use the remaining cycles for missiles or color changes etc.
Depending on how much time is left here, there are multiple ways to
utilize those free cycles.

Instead of making an universal kernel for the whole screen, sometimes
it's better to use different specialized kernel for horizontal stripes
of the screen. Pitfall is a good example of this.

At any of those steps you will quite often go back to the previous
points, change your decision and restart the iteration again.

Have fun!
Thomas Jentzsch         | *** Every bit is sacred ! ***
tjentzsch at web dot de |

Archives (includes files) at
Unsub & more at

Current Thread