RE: [stella] Generic kernal or just build a game?

Subject: RE: [stella] Generic kernal or just build a game?
From: stella@xxxxxxxxxxxxxxx
Date: Sun, 28 Mar 2004 01:13:25 -0600
Message I wrote on 3/14/2004:

> I might concurrently work on a game idea that would translate well to
> Stella.  I don't remember the name, but it was on a Compute! Gazette
> diskette (I think) for the Commodore 64.  The concept was
> basically Breakout
> in the round, where the center of the screen contained a solid
> rectangle of
> blocks and the player had two paddles that rotated around the center
> opposite each other, as illustrated in figure 1.
>
>  XXXXXXXX
>  X     .
>  X    X XXXXXX
>       XXXXXXXX
>       XXXXXXXX    X
>                   X
>            XXXXXXXX
>
>        fig. 1
>

Hey everyone!

I began working on this game concept last night and development's been
surprisingly smooth.  I had to tear myself away to lay down and *think* a
couple of times, but I pretty much have two major components DONE: the
playfield kernel and ball collision/deflection.

My next steps are paddle control (instead of one giant enveloping paddle)
and removing bricks, which will be tough.

A few notes about the development (I should probably just build a site for
this): The playfield kernal is WSYNC-free and is in two parts.  The first
part handles rendering of 7 scanlines for a row of bricks and has 7 wasted
cycles.  The second part renders the last scanline (shadow) for a row of
bricks and has 5 wasted cycles.  Both parts have 5 cycle-exact instructions:
Begin left half, change color, begin right half, change color, branch.

The ball itself is actually P0 and P1 stacked vertically.  This simplifies
collision detection and deflection a great deal.  I had originally planned
on using only P0 and storing separate collision values for each scanline,
but didn't have enough contiguous free cycles to do so.  The deflection took
as much time to code as the kernel itself, but I'm really happy with it.

The binary is attached.  I'll release the sourcecode when it's a bit more
complete.  It works in Z26 and StellaX, although the ball color looks white
in StellaX, when it should be light green.  You can't control anything, but
hitting reset (F1 in Z26, F2 in StellaX) will change the random pattern of
bricks.  The ball shouldn't behave strangely, but it will occasionally get
caught in a loop (which won't be a problem when I code the bricks to
disappear).  If you do notice anything bizarre with the ball movement, let
me know.

If you have a real VCS hooked up to an NTSC television, let me know if it
works.  I'm itching to use my supercharger, but don't have the all-important
VCS component. :)

Man, this is a long post.  I feel like Kirk. :)

-Lee
ps: Please ignore the filename.  I have no idea what I'm going to call it.
Suggestions welcome.  Thanks!

Attachment: pinblah8.bin
Description: Binary data

Current Thread