Sunday, April 12, 2020

Game 173: Pinball Construction Set

Traditionally, one of PC gaming's biggest strengths has been its creation tools. I spent countless hours back in the early 2000's creating my own levels for Starcraft, Half-Life, and Thief, using tools that came bundled with the games themselves, seemingly subject to no limits that the original developers weren't subject to themselves save for time, cash, and patience. This spirit of creation, if not the exact concept of game-specific creation tools, has been with the scene since before personal computers were a thing; games like Star Trek and Daniel Lawrence's DND were designed to be easily modified and had been so much that it's impossible to know for sure how original versions played, and lord knows how many Adventure variants have ever existed.

Of course, game-specific creation tools have an immense practical value that can't be matched by having source code, no matter how easily modifiable. It's often pointed out that these tools allow creating game content without having to know how to program, but I feel this undersells their usefulness and importance. Game developers, who did know how to program, understood the importance of creation tools early on, and people like Ken Williams and the Infocom founders built everything around decoupling game logic from computer logic. To even have a creation tool, you must first have a game engine robust enough to handle a wide variety of game modules, and then the creation tool you do make must be capable of taking advantage of every aspect of the game engine, but also must not be capable of creating something that will break the engine. But these tools, even if only intended to be used internally, allows creating and changing game content without any risk of accidentally breaking the engine, or indeed even needing to think about how the game content will directly interact with the computer. If Super Mario Bros.' source code was available, even if you could understand it perfectly, you would not want to design levels for it by writing more code, not when you could just load up Super Mario Maker.

Pinball Construction Set, by Bill Budge, then seems to be the very first consumer-grade video game creation tool, and sets several other precedents. It doesn't let you do everything seen in Raster Blaster, but does have a few new parts. It uses a joystick-driven point & click, drag & drop interface with icons and immutable windows, and this was almost a year before the first consumer-grade graphical operating systems came onto the market. There's customization of ingame physics parameters, backtable artwork, and even a rudimentary visual programming language of sorts. Maybe most impressive of all is that Pinball Construction Set lets you save your tables as self-booting floppy disks, allowing your to distribute your own tables as standalone games that your friends can play without even needing a copy of Pinball Construction Set of their own.

The disk has five demo tables on it, serving more as examples of what the designer is capable of than as stellar table designs in their own right. It doesn't even seem like these got playtested - some of these tables even have sections where the ball is guaranteed to get trapped if it winds up there.



The best of these tables is a familiar looking one, cheekily titled "Minute Magic."

Though it's easy to get the ball stuck underneath the top-left flipper.


In playing these tables, I could tell the physics are improved from Raster Blaster, but still not convincing. A flipper catch is now possible, but it still bounces around a bit, never coming completely to rest. Flipper collision detection is spotty; they'll push the ball upward, but never downward, and you can sometimes save a ball from the drain by clipping the flipper right through it. If the ball falls from a height onto the plunger, you can release it much too early, and still have it kick the ball upward at full force as soon as it lands and makes contact. And rather than improving the weird tilting mechanic from Raster Blaster, Budge got rid of it entirely.

This didn't bode wonderfully for the complete package. Even with most full featured, intuitive, and powerful designer, the point is to make tables that you and your friends will want to play, and shoddy physics have always been a serious obstacle to that. At best, it's something you'd have to work around.

I tried my hand at making a table, which I named "Pequod Glacier."



The most involved parts of the process are creating polygons and detail painting. Polygons make up the walls, ramps, and tunnels, and the toolbox lets you drop down rectangles, walls, and ramps, and contains tools for adding, removing, and repositioning vertices, to make them into any shape you want. Curvature must be simulated by using graduating slopes.



One thing I do wish was a little different is that the walls and ramps are just very thin quadrilaterals with four vertices, and lengthening them means adjusting both corners on one end quite precisely. It would have been a lot easier to manage this if the engine treated them as two-point lines, but such a thing isn't possible here, and deleting a vertex from a triangle will simply delete the entire shape.

Detail painting is essentially pixel art. The magnifying glass tool lets you drag a small frame around the table, which exposes a 7x magnified view in the bottom-right quadrant of the screen, where the pixels can be edited.



You can toggle between black and white and color modes, but due to the strange way that the Apple II handles color, the full horizontal resolution is only available in black & white mode, while color mode has pixels twice as long as they are tall, with subpixel offsets managed automatically.

You can also erase pixels from the table's parts and polygons, but this doesn't affect their actual geometry or behavior, only their appearance. The upper-right quadrant of the screen is analogous to a pinball table's backglass, contains no parts, and serves entirely as a canvas for your pixel art.

The rest of the construction is just dragging and dropping parts you want from the bin. You can playtest any time. Once you're happy with the layout the final, optional step is programming the board by clicking the AND logic symbol.

Translation: When all three magenta dots are lit, play sound #4 and award 20k points

The programming here is fairly rudimentary. Each of the AND logic gates may be wired to up to three targets on the board to create a reward condition, and the possible effects of meeting each condition include awarding bonus points, increasing the bonus multiplier, and playing one of seven built-in sound effects. In addition, each target on the board may have its individual score value and sound effect overridden. You can't do everything seen in Raster Blaster - for instance, there's no lane changing, no decorative blinking lights and arrows, no way to make a giant letter "R" flash on and off to indicate an active bonus multiplier, no way to increase the value of a specific target for a timed duration, and no way to award free balls.

I intended to complete Pequod Glacier and distribute it as a downloadable disk image and post video footage of gameplay, but unfortunately, MAME cut this effort short. MAME has this extremely irritating tendency to completely freeze up when reading from DSK images after a period of inactivity, and this happened to me, losing most of my work. AppleWin doesn't do this, but unfortunately the joystick support isn't as good as MAME's. I have a save state from within the logic gate view, but I'm stuck there, as whenever I try to leave, the game tries to read from the DSK, and MAME is already in a state where it will freeze when it tries to do that. If anyone has any ideas on how I can recover my work, I'd love to hear.

As Pinball Construction Set isn't really a game, I've decided not to bother with a GAB rating. The vision and interface are extremely impressive and far ahead of their time, and the omissions and engine limitations are disappointing but understandable, while some other design decisions just seem a bit strange.

Pinball Construction Set wasn't initially a hit in the same way that Raster Blaster was, but the following year, a fledgling publishing house called Electronic Arts picked it up and aggressively marketed it, selling hundreds of thousands of copies and allowing Budge, who was never especially interested in computer games, to comfortably retire from the business. His Mobygames rap sheet shows no credits at all from 1982 until 1993 when he released Virtual Pinball, a spiritual successor to PCS, for the Sega Genesis through EA, and after that has sporadic credits as a behind-the-scenes programmer for 3DO and Sony Computer Entertainment, his most recent credit as a member of Sony's Tools & Technology Group for Killzone 3.

2 comments:

  1. I appreciate how much time you devoted to this, especially given your stated distaste for pinball. I don't know that I'd ever play/use any pinball construction set, but I am impressed by how complex it is, especially for 1982.

    I agree that it's dubious to rate this in the same way that you'd rate a game, since it's more like a tool. But then, the same could be said of Minecraft, so perhaps the line between games and tools has always been fuzzy in the video game world.

    ReplyDelete
  2. Apparently the source code for Pinball Construction Set (Atari 800 and Apple II versions) can be found on https://github.com/billbudge if anyone's interested.

    ReplyDelete