Tuesday, April 7, 2020

Game 171: Penny Arcade

Our next whale is Pinball Construction Set, widely released by Electronic Arts in 1983, but originally self-published for the Apple II in 1982 by programmer Bill Budge.

Pinball Construction Set was based off the engine of Budge's 1981 best-seller Raster Blaster. The year before that, he released two compilation disks through California Pacific Computer Co; Space Album and Trilogy of Games.

His earliest credit, however, appears to have been a tech demo called Penny Arcade, which was distributed by Apple Computer themselves in a compilation package of AppleSoft BASIC tapes intended to show off the power and flexibility of this language which came standard on the new Apple ][+ line of computers, replacing the older and much more primitive Integer BASIC.



Penny Arcade is a Pong variant, and uses paddle controllers. The game even queries "MORE PONG?" at the end of a match, suggesting Penny Arcade was a last minute title change invoked to avoid Atari's wrath. The main feature distinguishing it from Pong is the selection of four different tables, each of which has a variety of obstacles for the ball to ricochet or rebound off of. In addition, a ten-setting difficulty option adjusts the game speed, and each table may be played with gravity on or off, which fundamentally changes the nature of the game.

"B" and I played a few rounds, sampling each table with gravity on or off, at a few different speeds. Mostly slower speeds, not just because we're both pretty bad at Pong, but also because at higher speeds, the paddle controls got laggy, as if that in order to drive the ball faster, the computer had to take some CPU cycles away from the paddle logic. By some calculations I did later, I estimate that, assuming a playfield 256 pixels long, the ball speed is 194px/s on the minimum difficulty, 295px/s on the highest, and the difficulty curve is logarithmic.

The first table on the list is called "Bumper Pool."





Two things characterize this board. The first is the set of bumpers in the middle row of the board, which adds some chaos to the play, especially as the ball passes through the cluster in the middle. It's difficult to predict whether the ball will ricochet from a horizontal edge, vertical edge, or just pass through them entirely, and therefore difficult to predict which direction the ball will be going. The second is the narrow field goals. In stark contrast to Pong where you must hit the ball every time it reaches your side of the screen, here you can keep your paddle restricted to the relatively small opening, though you may still want to chase the ball wherever it goes in order to better control its bounce angle.

Gravity on generally makes things more difficult.





Right off the bat, the serving shot arcs right for the goal zone, and the receiving player must be ready to catch it immediately. The ball's parabolic arc also makes predicting which bumpers it will hit more difficult.

The next table is "Tennis."




An appropriate enough theme for a Pong game, and with some parallel to 1958's Tennis for Two, but this doesn't feel much like tennis. It's just Pong with a rebounding barrier in the middle of the screen - unlike tennis, you can bounce the ball off the net as much as you want.

You might think gravity would improve the tennis simulation, but it doesn't help that much, and mainly makes it difficult to consistently arc the ball high enough to clear the net.


 

Notably, this was the only board to feature open screen edges like Pong. But this was the least interesting board, and I was happy to move on from it.

Next up, "Hockey," featuring a layout that makes things kind of wacky and also kind of fun.



The layout and small goals do mean a lot of downtime where the ball is doing its own thing, away from the goals and paddles, much like playing hockey as a goalie must be. It's quite possible to score an own goal, given the distance that the paddles are placed in front.



Gravity does mean more time spent on the lower part of the board.



And lastly, there's "Scramble," which seems like it's trying to be chaotic and wacky, but isn't as successful as hockey.



The tunnels here mean lots of rebounding, but doesn't change the ball's direction in a way that makes it challenging to catch them. The cages are the most interesting feature, as they are positioned exactly in a way to knock the ball right back at your goal.

Gravity, as with other boards, makes things less interesting overall.



GAB rating: Average. Way back when I introduced ratings, I retroactively rated Pong Below Average, but noted that it might rank average if it controlled better. Penny Arcade still feels a bit jittery, and it's possible to turn the dial faster than the paddle can follow in realtime, but definitely controls better overall, and the various layouts make things interesting more than they corrupt Pong's purity. A vanilla table might have been nice too.

That said, I can't say this would have held either of our interests for much longer than the 20 minutes that it took to sample everything.

One thing I wanted to mention here was that I found the code to be tantalizing. The BASIC code isn't obfuscated in any way and is plainly readable with the LIST command. There are only 119 lines, none of them are particularly nasty looking, and more than half of them concern the menus rather than gameplay. And yet, I have no idea how the gameplay code works. I can't even figure out which lines are responsible for setting up the playfield or handling the ball gravity, let alone understand what they do. There's a lot of poking, peeking, and calling going on, and it makes me wonder if the tape has some hidden assembly on it, if that's even possible - you play by booting into AppleSoft BASIC, typing LOAD, playing the tape, and then typing RUN when it's loaded.

1 comment:

  1. Several decades ago, in a high school Pascal class, I made a game that looks very similar to the Tennis board here. I must have been influenced by this game at some point, but I do not remember it at all.

    ReplyDelete

Most popular posts