Subject: Re: [stella] Playtesting and fine-tuning games From: Greg Troutman <mor@xxxxxxx> Date: Tue, 26 Aug 1997 20:49:38 -0700 |
Glenn Saunders wrote: > > I'll experiment. I kinda like the asteroids ghostly white. When I > > So do I. It's the mothership, the humans, and the lander that could > become multicolored. Despite the fact that the humans outstretch their > arms above their heads, you could probably use the two missiles and the > ball to give them a flesh-colored head as well as split the rest of them > in half. Currently, one of these guys is drawn on the same scanline as an asymetrically divided playfield, which changes color each line, and the lander craft. As simple as it looks, the timing is pretty much as cramped as it is above in the asteroid field. It took about as long to get it right as that section. Writes to the color, missile, and ball registers, along with the RESBL and RESPMx's needed will be very tough to put in. I think I might fit in a STA COLUP1 to make different body sections different colors. One thing I've considered is to draw the men and platforms with GRP1 only: man platform man x platform x x x man x x platform And lose the playfield graphics holding them up in space. It won't look as realistic but allows a lot more time for pretty things, as well as an easier method of relocating/resizing the platforms themselves. A further step might be to use NUSIZ to regain the supporting structures at the positions marked 'x'. However the spacing is not as flexible as with the playfield graphics, and the timing could be excruciating when reloading the GRP1 mid-scanline to draw both a platform and a man on the same line, along with the other things that need to get done. As for the lander, it is not drawn in any standard fashion and there are simply nowhere near enough cycles for it to have multiple colors. I hope to revamp things and get around this soon. The mothership is a possibility, but here is the code that draws it: sta WSYNC nop nop nop nop nop nop nop nop nop ;18 lda orbiterCoarse ;3 and #1 ;2 bne delay1 ;2/3 delay1 jmp (orbiterRDJmp) ;5 repeat 10 nop repend orbiterResetDelay ;at Coarse posn 0 = cycle 30 sta RESP0 ;3 sta RESP1 ;3 lda #$10 ;2 sta HMP1 ;3 sta WSYNC sta HMOVE ldx #13 ;2 14 scanline object splitOrbiter lda orbiterRAM,x ;4 sta WSYNC sta GRP0 ;3 lda orbiterRAM + 14,x ;4 sta GRP1 ;3 lda orbiterCoarse ;3 and #1 ;2 bne wait1 ;2/3 wait1 jmp (orbiterWDJmp) ;5 repeat 10 nop repend orbiterWaitDelay lda orbiterRAM + 42,x ;4 at coarse posn 0 = cycle 22 tay ;2 lda orbiterRAM + 28,x ;4 nop ;2 sta GRP0 ;3 cycle 30 sty GRP1 ;3 dex ;2 bpl splitOrbiter ;3 Besides the usual noise from a 4-digit trick, there are those two indirect JMPs that create the single cycle coarse position which allows this thing to move one pixel at a time. I can't seem to figure out a way to add anything here without making the screen still narrower. But I wore myself out getting it where it is, I haven't thought much about it lately. Any suggestions would be appreciated. Note: orbiterRAM is a 56 byte hunk of zero page where I physically shift the mothership graphic to match it's fine position, and ORA the mothership and lander graphics together. There goes most of VBLANK... And: orbiterRDJmp = #orbiterResetDelay - (orbiterCoarse/2) So, on coarse position 0, the BNE immediately prior will fail, using 2 cycles, and the indirect JMP will go straight to orbiterResetDely, using 5 cycles--total 7 cycles. On coarse position 1, the BNE will succeed, using 3 cycles, the indirect JMP will go straight to orbiterResetDelay, using 5 cycles--total 8 cycles. On coarse position 2, the BNE will fail, using 2 cycles, and the indirect JMP will go to the NOP right in front of orbiterResetDelay, using 5 + 2 cycles--total 9 cycles. Etc. -- mor@xxxxxxx http://www.crl.com/~mor/ -- Archives updated once/day at http://www.biglist.com/lists/stella/archives/ Unsubscribing and other info at http://www.biglist.com/lists/stella/stella.html
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[stella] Playtesting and fine-tunin, Glenn Saunders | Thread | Re: [stella] lots of things added t, Greg Troutman |
[stella] Playtesting and fine-tunin, Glenn Saunders | Date | Re: R: [stella] a thing that doesn', Piero Cavina |
Month |