[Pinball Construction Set creator Bill Budge is working at Google and trying to solve problems relevant to today's programmers -- and in this interview, he reflects on the past, present and future of development.]
Bill Budge likes to code. Games, per se, aren’t his passion -- it’s the software. He’s known for his influential Raster Blaster and Pinball Construction Set, early software tools that blazed trails for user-generated content in later years. He was an early EA designer, and is the gentleman wearing the glove in the classic “designers” photo from that classic era.
Budge left the traditional game industry for most of the late '80s and early '90s, toiling away in solitude without much outside influence. But he realized the world of code and tools was changing around him, so he returned to the scene with EA, then 3DO, then Sony, and now Google, continuing to build tools that enable other developers to do their jobs better. He’s now in the Native Code division of Google, working to make raw code viable in a browser.
Budge likes talking code almost as much as he likes coding. So that’s what we did.
It seems like you’ve always loved software tools. Where does that come from?
Bill Budge: I don't know how well I can explain it. I've just always liked the idea of taking what you have -- the pieces -- and putting them together to build something that didn't exist before.
That just goes all the way back to being a little kid, playing with blocks and construction sets. Those were always the kinds of things I liked. We scrounged around for stuff and made go-karts. That was always really fun and exciting. Programming just feels, to me, like that, really.
What made you want to construct in the virtual world versus the physical world?
BB: You could build things in the virtual world that can't really exist. You could make a pinball construction set out of real parts with pinball pieces, but it would cost thousands of dollars. But, yeah, in a computer, you can make something that costs $20.
After the break from making games that you took, you’ve talked about how it can be difficult to get back into the swing of things. That gap was in the earlier days, so maybe it wasn't so difficult?
BB: I kind of tapered off. I didn't leave suddenly. I did that MousePaint program for Apple, and it was a really good deal for me. Part of the deal was a little open-ended. They didn't want just the MousePaint program. They wanted a whole framework, so that it would be like the Mac ROMs really, so that you could render text and build apps. I think only one app was ever built with it.
It's amazing, Think Pascal. It's like an IDE that runs on an Apple II maxed out with a language card and bank switching. It was wild, pushing that things way beyond its limits. So, I had to spend a lot of time finishing all the details on that. And then after that, I had a Mac... Actually, I had one of the first plexiglas prototype Macs.
BB: Yeah. I had an Apple II floppy, which included a disk controller, and it had the circuit board, one of the first Burrell Smith circuit boards, and the screen, and analog electronics. But it didn't have a case yet, so I had a beautiful plexiglas case. They gave eight of those out. Microsoft got one, and I got one. I was trying to build some games, but it was black and white. And the mouse, it wasn't really clear how to use it as a controller. I got some pretty fast-speed graphics going on it, but I just didn't have much enthusiasm for continuing with that.
I made a game years later on the Mac, which was just a port of Pinball Construction Set, but then I started working on this idea, which was the Construction Set, which was kind of a stage machine editor and a visual programming environment. And I was writing that in C, which I used in college, so it wasn't all assembler.
I was building this program but didn't really have any customers, and I was just off by myself, sort of getting more rarified and abstracted and trying to do this amazing thing. It didn't work out, so... Really, I left it at that.
I just kind of, at that point, stopped doing much programming at all. And windsurfing mostly. Yeah, just working pretty slowly on this project. And that was bad. So, I think when I got married, which is like in the early '90s, I realized I needed to get back. I did a deal with Electronic Arts doing a Sega Genesis game, and that started with assembler. Game development was turning to C++.
So, I really had to learn C++ on the job at 3DO. They hired me because I had a really good assembly language ARM engine for 3DO, so I was doing that. At that point, I learned Maya, I learned .NET, I learned a whole bunch of tech. And then at Sony, I really learned .NET and became an expert on that. So, yeah, I guess maybe I exaggerated. It didn't take that long to catch up.
Were you at 3DO when they were making the M2? (Ed. note: The abandoned successor to the original 3DO hardware)
BB: Yeah, they ran into problems because of the software. I don't know if you know this story, but Mark Cerny was consulting. He came in one day, and they had all these SGI guys, and they built this bloated retained mode scene graph renderer, and the games were running it at like two frames a second. It was terrible. Because they were used to much more powerful systems.
And Mark Cerny came in with this very tight little piece he had written in assembly language -- he's an awesome assembly coder -- and a very well-designed process data, taking into consideration how big the caches and the memory were on the system. It was really fast. He saved that whole project. So, yeah, I've got a ton of respect for Mark after witnessing that and [how] he rebuilt that whole project. I guess in the end they had to sell it and close that down, but it would have been nothing without that. That was cool.
Do you still have that old plexiglas Mac?
BB: No, they asked for it. They took it back. Yeah, they were always very nice to me. Steve Jobs was always really nice. He treated me well. And, yeah, I was very privileged. It was really amazing being able to hang out with those guys.