Monday, June 10, 2019

Pong, Rebound, Clean Sweep, & Breakout revisited

One of my earliest posts on Data Driven Gamer was on a bunch of discrete logic arcade games, mostly by Atari, which were emulated in DICE. Some of the games used paddle controls, which didn’t map well to the joystick controls we had available and made it a frustrating, unsatisfying experience. I noted that I almost wanted to pick up a set of paddles and replay.

Recently, I went to a flea market in Connecticut, where multiple vendors were selling Atari 2600 hardware. I picked up a cheap set of Atari paddles, and ordered a 2600-dapter, counting on using it to revisit some of these games, starting with Pong.

I played a session with “B”.



It works pretty well in DICE, far better than the analog joystick did, but it’s not perfect. My paddle seemed to suffer from backspin when I turned it too fast, and I don’t really understand why a paddle would do that. Backspin might occur with a mouse or any other spinning device which spins faster than the sensor can deal with, but a paddle measures position, not speed.

“B”’s paddle, if anything, seemed to be a bit under-sensitive.

I noted that the paddles have slight dead-zones on the extreme ranges of their motion, where input doesn’t register. Dead-end zones, if you will. The paddles do not rotate 360 degrees, but rather have a limited range of motion covering an arc of about 330 degrees, and stop rotating when you turn it as far left or right as it will go. This design makes sense for a paddle-based game, where the video paddle also has a limited range of motion, and a free 360 spin (e.g. Tempest or TRON) wouldn’t be useful. With the 2600-dapter, Windows treats the paddles as a single analog joystick with two axes. Normally, an analog joystick has a dead-zone in the center where slight movements register as neutral so as to prevent jitter or drifting when the stick is centered. The paddle has no such central dead-zone, but the final 15 degrees of the arc of movement on each side are ignored, probably to ensure that your video paddle can always hit the extreme edges of the screen.

We replayed Rebound too, and I experienced no backspin there. Once again, we had more fun with this game than with Pong.



I also replayed Clean Sweep and Breakout with the paddle to see how it compared to playing with my spinner. There are two major differences between a paddle and a spinner. The first and most obvious is the paddle’s limited arc of rotation, compared to a spinner’s ability to rotate freely. The second difference is that a paddle measures the distance turned, while a spinner measures the rotation speed, as a mouse does. In fact, the paddle emulates a joystick, while the spinner emulates a mouse’s X-axis.



With Clean Sweep, I performed much better with the paddle than I had with a spinner. Playing with the paddle just felt good and responsive. I tried Breakout next, but performed much worse, unable to break 90 points after about an hour of trying, even though when I had played Breakout on my spinner, I managed to break out on my first try, and my record score was 297! I really don’t understand the discrepancy.

I also tried playing Breakout on MAME rather than DICE. I didn’t like it. On MAME, everything looks and feels wobbly. The paddle and ball exhibit an odd drawing behavior where their very widths fluctuate onscreen, and the paddle movement feels drunken. Whenever moving close enough to the left side of the screen, it would suddenly speed up and snap right into the corner, as if it was magnetically attracted to it.



So, the results of playing these games with paddles were mixed, and I’m not really sure why. Rebound and Clean Sweep via DICE were perfect. Pong wasn't perfect, but it was the best Pong experience we'd had yet, including a game played on a real Pong machine. Only Breakout was unsatisfactory, and then that was only because I performed so much better using my spinner, and can't really pin down anything wrong with the paddle experience that would cause it to be so.

But I'm glad I got the paddles, and this won't be the last time I use them. For the 1981 phase of Data Driven Gamer alone, there's Activision's Kaboom and Exidy's Circus, and in the seemingly distant future of late 1986 there's Arkanoid, and I'm sure that at some point, for my personal amusement, I'll be playing rounds of Warlords with these things.

3 comments:

  1. Thanks for revisiting this, paddles have been a conundrum for me as well. I was surprised that there were no commercial options for paddle controllers. I figured there would be at least a small market for paddle controllers and they're not that hard to make -- 2600 controllers are basically just potentiometers in a plastic case. And they make so many early games more fun -- Warlords is the most extreme example, I think that game is basically unplayable without the paddle.

    Anyway, I'm glad the 2600-dapter appears to be a viable option, your post has convinced it's worth the investment.

    ReplyDelete
    Replies
    1. Two tips concerning the paddles, if you go for the 2600-dapter -

      You'll probably need to calibrate them from time to time, using the Windows gamepad properties dialog. I had to, anyway. To make this easier, I put shreds of sticky-note paper on my paddles to indicate the center position of each, and also to distinguish which corresponded to the X and Y axes.

      In MAME, you'll want to make sure your joystick deadzone is set to zero, and that your joystick saturation is set to 1.00. If you use Stella to play 2600 games, then this isn't necessary, because it recognizes the 2600-dapter natively.

      Delete
    2. Thanks. I got the 2600-dapter and it worked great. Too bad DICE is so... dicey on my system. I am able to play Breakout, but it crashes very frequently and the speed of the emulation appears to fluctuate during a game; that is, the ball speeds up and slows down intermittently without striking anything. The paddle is still a big improvement, though.

      I haven't tried using the paddle with MAME yet, but that's in my plans as well.

      Delete