Re: [stella] time to stick me with a fork?

Subject: Re: [stella] time to stick me with a fork?
From: KirkIsrael@xxxxxxxxxxxxx
Date: 14 Mar 2004 14:03:40 -0000
> >I finally have a "release candidate" for JoustPong!
> >
> >
> It might be a bit late, but one bug and one suggestion:
> When you're sitting on the bottom, sometimes flapping doesn't have any
> effect.  The wing flaps, but the paddle doesn't move.  I couldn't figure
> out any pattern as to when exactly it happened.  Flapping again always
> gets the paddle moving, but it does throw off your timing pretty badly.

I'll look into it. At first I thought I thought "feh, it's just intertia
he's seeing, original Joust had a similar effect" but now I kind of 
see what you mean. Interestingly, I think it's more likely to happen
when you let the player sit for a while...almost as if I kept the downward
speed due to gravity going when it was sitting there, but not quite 
(it would take a lot more strokes to build up any velocity in that case)

I'm almost tempted to leave it, and say that the bug is that the just-printed
manual should say that if you stay at the bottom, you're likely to sink
into the mud...because that's *exactly* what it plays like.  

Anyway, this is the relevant code:

;check if player 0 hit floor
	lda #FLOOR_HEIGHT_FOR_PLAYERS	;10 is floor
	cmp slowP0YCoordFromBottom+1
	bcc DoneCheckingHitFloorP0

;cut downward speed by half and reverse it for nice rebound effect
;divide by 2, preserving negative
	lda slowP0YSpeed+1   ; HIGH byte!
	cmp #128
	ror slowP0YSpeed+1
	ror slowP0YSpeed    ; LOW byte!

;negate result
	lda #0
	sbc slowP0YSpeed
	sta slowP0YSpeed
	lda #0
	sbc slowP0YSpeed+1
	sta slowP0YSpeed+1

	sta slowP0YCoordFromBottom+1 ;putplayer on floor

Could something be going wrong with the divide by 2 preserving 
sign, then negating?  Like some how instead of staying small
negative/positive, it switches to large for a second, but isn't
a more noticable problem because of interaction on the next frame?
Any thoughts on this, gang?

> Suggestion - After a score, cap the ball's vertical velocity so that its
> angle is no more than 45 degrees off horizontal.  If you (or the computer)
> get scored on by a ball moving at a high vertical angle, it's too easy to
> miss the next three or four in a row.  (If you like it that way, keep it,
> of course. :) )

I do like it.  I like encouraging/rewarding the reckless "hit the ball 
at high speed" style of play. Of course Pterry sometimes is there to
make it the other players problem...and in Poorlords, often the player 
misses it incoming but hits it outgoing (they should just be grateful
I made the pong bats "1 way" so they didn't do damage to themselves
ala Warlords :-) so the ball likely mellows out as it passes through
the player.
> I wasn't aware that those few private mails I dropped you were worthy of a
> T-shirt, but if you think so, I'll take it, sure. ;)

Cool, reply to this msg but send me private email w/ your address.
(i.e. keeping "[stella]" in the subject will help ensure your mail
gets through my spam filter.)

Frickin' god! He's such a goodie good.

Archives (includes files) at
Unsub & more at

Current Thread