Subject: Re: [stella] New 2600 programmer|
From: emooney@xxxxxxxxxxxxxxxx (Erik Mooney)
Date: Wed, 30 Apr 1997 17:14:34 GMT
>5 - kernel: draw 192 lines of playfield. >Please note that it's not absolutely necessary to do a 0-191 loop (thought >that could be useful in your first attempts), it is important that you have >_in mind_ exactly how many lines you've already drawn and how many are still >to be drawn! >For example, my latest demo doesn't do a 0-191 loop, but a 0-9 loop drawing >16 lines for each iteration; then 192-(16x10) blank lines are drawn to >complete the screen. And most reasonably complex games will have many different regions during those 192 lines.. my game, for example, does 15 lines of score display, one blank line, six lines of saucer, two blank lines during which the players are repositioned to draw the shields, X lines of checking the player's missile (where X is the distance from the saucer to the top line of the invaders formation), 12*Y lines of invaders (where Y is the number of rows of invaders remaining), 74-X+(5-Y)*12 lines of checking the player's missile and the invaders' bombs, eight lines of shields, eight more lines of missiles and bombs, (or if the invaders are low enough, do 90-X+(5-Y)*12 lines of missiles and bombs and skip the shields), two blank lines during which the players are repositioned, six lines of drawing the players, two lines of "box" during which the players are repositioned again for displaying the lives, six lines of displaying the players' lives, and two more lines of box. And that always equals 192 lines total. :) Sounds more complex than it is.. it's not that difficult to just start with the invader formation and add components from there. I keep a variable called Scanline that keeps track of what line we're on, so I can just compare that with 174 to see if it's time to draw the players instead of calculating 90-X+(5-Y)*12 lines. >6 - draw 30 blank lines for overscan and go to 2. Game calculations can of course be done here too.. I process the results (collisions) of the just-drawn frame here. -- Archives available at http://www.biglist.com/lists/stella/archives/ E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.