Subject: RE: [stella] Generic kernal or just build a game?|
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!
Description: Binary data