Tim's Bloglet

On the way home I realized that in Pong, you serve, and this would eliminate the hit the puck into your own goal repeatedly thing, which really isn't very much fun. I could have the puck tossed in from off stage, and have air-hockey type slots for the goals. I could even have it bounce a little. Also, even if I can't have spinning paddles, I can still have spin on the puck, as long as it doesn't curve. This would also work nicely visually, if I did a bi-color puck. It would also give me another variable in paddle intelligence; whether they understand spin or not. It would be nice if I could introduce paddle mistakes as well. I kind of have this now, using rounding errors, but if I was willing to stop the paddles being entirely deterministic, I could have them randomly misjudge sometimes. I didn't want to do this before, because being able to have them play the same game over and over made debugging easy, but now the collision engine is entirely purged of bugs, that isn't so important. If I'm going to do spin, I need to sit down and think about what happens when a spinning puck hits a moving point. The edges aren't so bad, since they always hit on the tangent, but points, ugh. Maybe it's not to bad. You'd look at the direction of relative motion, and the angle between that and the radius the point struck, and then you could get the ratio of the normal that goes into spin, and goes into a nice normal collision. In fact, this would mean that many collisions with points would be followed pretty much instantly by collisions with a side, but it can handle that. The effect of spin when it hit a surface would depend entirely on the stickyness of the surface, which would give me another paddle property, yay!

If I introduce serving, I could also have a shot-clock, where your opponent gets to serve if the puck doesn't cross the center line in x seconds. This is something the game would need, if it were a real game. Is there such a thing as tournament rules for air hockey? Why yes. Delay of game at referee's decision, bah. This could also fix the problem of stupid paddles who can't get the puck across the line. I should consider face-offs. The problem would be that currently the only random element in the game is the starting vector of the puck, so if I started the game with face offs, the same paddles would always play the same games. I don't like random numbers, though. I want this to be a dice-free game. Too many games nowadays are simply dice games with pretty graphics; not just RPG's, but also all the sports games. Part of the idea is to have it be a real game, where you can see everything that's happening, with proper physics. Having dice rolls in the souls of the paddles doesn't really make it a dice game, but I still don't like it.

Ooh, if I have a shot clock, I can have inelastic collisions and friction on the puck! I didn't do this originally, because the paddles were inanimate, so I just had stuff bounce around to test the collision model. After that, the pucks could get stuck in goal creases. It would mean a significant rejiggering of the paddles souls, but that's okay.

I don't mean to turn this into a programming journal. It just sort of happens. I do think about other things, occasionally. Like food, and ducks. Yesterday we went with a very small, cold birdwatching group and saw the frozen boston harbor. The open patches of water were a brilliant blue. It was all very pretty, but too cold to stand around looking for ducks for any length of time. We did eventually find where all the ducks were hiding, and saw well over a hundred scaup in a beautiful bay on Nahant, along with buffleheads, eiders (eider?), goldeneyes, and a distant raft of scoters. Also some Sanderlings which were hopping around one one leg in the lee of a wall on the beach, pecking at the sand. They'd switch legs every 20 seconds or so. _
respond?