Jump to content

Microprofessor

Members
  • Posts

    15
  • Joined

  • Last visited

Posts posted by Microprofessor

  1.   

    Hi,

     

    I am searching for a specific function in the "Video Olympics" code: The AND mask that is used to "diffract" the Robot's paddle from the vertical ball position.

     

    I found a hint to this in a quote from Bogost's/Montfort's "Racing the Beam":

     

    Quote

    Robot Pong’s AI slows itself down, never quite following the ball exactly while still appearing to do so.

    The effect is accomplished very simply. When the ball is first served, the computer positions the AI paddle so that its top edge is vertically aligned with the ball. To move the ball, the program adjusts its vertical position by an offset value each frame of up to ±2 scan lines. This value corresponds with the direction in which the ball is moving (up or down),

    as well as with its speed. Each time the kernel adjusts the vertical position of the ball, it also adjusts the paddle.

    To help simulate the human error inherent in precise paddle posi- tioning, the AI paddle skips its vertical adjustment every eight frames. The resulting behavior is visibly unnoticeable, but it allows the computer player’s aim to drift enough that it occasionally misses the ball. It is also technically trivial to implement, requiring only a simple mask using the binary AND operation, for which there exists a corresponding 6502 instruction. The programmer can test to see whether the result is zero with another single opcode, branching if needed to skip the instructions that move the paddle.

    Even this behavior must be modified slightly for the game to work at all. If the AI player simply stopped tracking the ball every eight frames, it would be hopelessly out of sync within a few seconds. To prevent this, the AI follows a secondary ball-tracking plan near the top and bottom of the playfield. If the ball collides with one of these walls when the paddle is also aligned with it, the paddle readjusts, recovering from any drift that had accumulated since the ball last struck the wall. The result is a stochas- tic misalignment and realignment of computer paddle and ball.

    Together, these two techniques produce a convincing robot player of Pong—one that makes mistakes, but not too frequently.

    (p. 39–40)

     

    Does anybody know where this AND mask is located within the code? (And is there a disassembly of the "Video Olympics" code with comments anywhere on the internet?)

     

    Thanks!

     

    µP/Stefan

  2. 2 hours ago, rastislav said:

    Hi guys, I have made a list of you interested in buying a lightpen and I will start making and shipping them to those still interested, just pls tell me again which version of the lightpen would you like (and if you like the version with the connector, on which side you prefer to have it) and if you like righ or left handed (difference is only on which side of the buttons is the Vectrex logo). The prices are: 100$ for A version, 125$ for C version and 150$ for B version. Shipping worldwide is free. 

    I'd like to order one of the "RZ Pen-B".

     

    µP

×
×
  • Create New...