Re: [stella] My game - Alpha 2 - inv.bin

Subject: Re: [stella] My game - Alpha 2 - inv.bin
From: emooney@xxxxxxxxxxxxxxxx (Erik Mooney)
Date: Sun, 13 Apr 1997 20:45:29 GMT
>The player really needs a short break between rounds.  It's a
>psychological thing mainly, but you can also use a break to flex your
>fingers.

Considering Atari Thumb, yeah, I'll have to put in a break.  I still can't
easily modify the thing to display no invaders, but would it be okay if I
put in a 3-4 second pause while the next board is being displayed but
before either they or you start moving?  (I think 2600 SI does this, and
displays the lives count while doing that.)

>This is on the real thing.  I used the -f (fast) option with Makewav
>(I'm not sure of the version) and played the resulting wav file to my
>Supercharger in my 2600 Jr.  I've just tried it again and sometimes it
>happens without doing anything other than starting the game by hitting
>reset.  It's only when columns 7 & 8 and 8 & 9 pass by a certain
>horizontal spot (if you don't shoot any invaders).  If you line your
>gun up so that it's just to the left of the box where the player two
>lives would be displayed, you'll be directly below the spot.  I also
>got it to occur over there when there were only 10 or less invaders
>left, but they were on the *left* side of the screen, away from the
>spot where the lines occur.

>Bad ASCII drawing:
<snipped>

Verrry interrresting.  The spot you mentioned is at playfield column either
25 or 26; I think 25, because 26 is empty at power-up and it'd be
noticeable then.  25 is the first column of the second copy of PF1, so it's
pretty clear PF1 is not getting updated in time.  This problem does *not*
occur on my standard 4-switch 2600 or on PC Atari.  The problem happens
only when the first column of the first copy of PF1 (column 5 of the entire
playfield) is filled and the first column of the second copy (col 25
overall) is empty.. so it can *only* happen when some invaders are on the
left of the screen.  By the time invader column 7 passes that spot,
playfield column 5 is empty so the problem doesn't happen until the
invaders move back over to the left.

Looking at the cycle counts, that PF1 update is supposed to happen on the
last possible cycle before it starts getting displayed.  Apparently, that
last possible cycle occurs later on the older 2600 than on the 2600jr -
meaning the TIA responds to PF1 writes one cycle (possibly one pixel) later
on the 2600jr than on the 2600.  This means the hardware for the two models
is *NOT* identical.  Anyone want to test this on the 7800 with a
Supercharger and see what happens?

>>Thinking about it now, that could still happen when both player missiles
>>hit the same invader on the same frame.. both players would get credit for
>>the kill, both missiles would be reset, and "how many invaders are left"
>>would be decreased by two.. but only one invader would be removed from the
>>formation.  Were you in two-player mode when this happened?
>
>No.  I've only been playing it in one-player mode.

I figured this one out too.  It happens when the player missile is in a
specific place, and the invaders move over into it, causing the missile to
hit two invaders at once.  Bad ASCII drawing: (each character = 1 screen
pixel)

XXXXXXXX
XXXXXXXX
XXXXXXXX  <-- invader
XXXXXXXX
XXXXXXXX
XXXXXXX|
       |  <-- missile
       |
       |
       |
       |
       |
XXXXXXX|
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX
XXXXXXXX

Normally when this happens, the top invader gets killed.  BUT, if the top
invader isn't there, the collision register still gets tripped by the
bottom invader.  The kill-invader routine is based on the top of the
missile, so it decrements the number of invaders remaining and removes the
top invader.. but the invader was already removed.  Net result - the
"invaders left" counter is one lower than it should be, so it reaches zero
when there's still one invader left.  I'll fix this by making the
kill-invader check to see if an invader is there before removing it (so if
this situation happened in the game, neither invader would get killed.)

>Well, you could either use one of them or the Color/B&W switch as a
>pause switch.

I'll probably use Color/B&W as a PAL/NTSC switch (btw to all, I found out
the place where I was miscounting scanlines and losing the PAL color
signal).. Why would it need a pause?  The arcade didn't have one, and
neither do most 2600 games.  I might add a pause after player death until
the button is pressed, like some games do (Breakouts, River Raid, etc.)

--
Archives available at http://www.biglist.com/lists/stella/archives/
E-mail UNSUBSCRIBE in the body to stella-request@xxxxxxxxxxx to be removed.

Current Thread