[stella] Have kernel, need game!

Subject: [stella] Have kernel, need game!
From: Thomas Jentzsch <tjentzsch@xxxxxx>
Date: Sat, 21 Jun 2003 14:28:26 +0200
I have been always wondering how it would be possible to create a
horizontal scrolling cave which is a bit more complex and flexible than
the usual 2600 ones.

The idea I had was to combine segments with different gradients. And I
needed to do that inside the kernel. The minimal width of a segment
should be 7 pixel, so that there are no more than two segments in one
PF block.

Then I "somehow" had to combine the two segments. This was a problem,
because simple ORing or ANDing didn't work. It took a while until
it finally "clicked". This is the basic kernel code:

  lda (seg0),y
  and (seg1),y
  eor eorVal   ; !!!
  sta PFx

So the whole trick is EORing the result when necessary! :-)

I am quite happy with this solution, but before I continue working on
it, I would like to ask for comments. Maybe anybody knows an even better
(faster, compact) solution.

The attached binary and code shows the current WIP.

The kernel is still very basic.
- It isn't using PF0 at all, so the width is limited. Adding PF0 looks
  possible, but it may need too much RAM and kernel CPU time, which
  might be more useful for other things.
- The top and bottom of the cave are currently completely separated. But
  I am planing to let them overlap, so that the cave gets really tricky.
  And I want to adjust the boundaries on the fly, so that the cave can
  go up and down without being restricted to screen height.
- Therefore the routine for the generation of the next segment will
  probably get way more complicated than it is now.
- Currently I am using 4 different gradients (+/- 0..3), adding more
  will "only" require some ROM.

Finally I will need some game IDEAs. Here are mine:
- a paddle game, with a really fast scrolling cave, where you have to
  avoid crashing into the walls and occasionally or evade shoot some
  enemy objects
- a game like this helicopter Jave applet where you only have to press a
  button to control the height

You see, this is going to become a quite simple, but hopefully fun game.

So, what do you think? Which one is better? Any even better ideas?

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

Attachment: Cave_010.zip
Description: Zip compressed data

Attachment: Cave_010.bin
Description: Binary data

Current Thread