Bonus interview: Keith P. Johnson (JJP)
Posted on October 9, 2013
Keith P. Johnson may not exactly be a household name, but if you’re a pinball fan you may well know he is a programmer of pinball machines. Keith has worked on over a dozen games like Simpsons Pinball Party, Lord of the Rings, CSI, Wheel of Fortune and other Stern games.
In 2011 Keith began working for Jersey Jack Pinball – programming the rules for The Wizard of Oz, and also all the software required to get the game operational.
Following Pinball Magazine’s previous interviews with Jack Guarnieri, pinball designer Joe Balcer and graphic animation artist Jean-Paul de Win (JP), Pinball Magazine caught up with Keith to talk about his work on Wizard of Oz and The Hobbit.
PM: Keith, the question on many people’s minds is this: how far along is the software?
KJ: Well, we’re still finishing Wizard of Oz. It should be fairly feature complete prior to Pinball Expo. After that I will continue to tweak things like better lightshows and that kind of thing.
PM: So at Pinball Expo the game should be sort of complete, with all the modes?
KJ: Yes, basically.
PM: Jean-Paul mentioned in his interview that he came up with a new way to program lightshows, but he could not go into detail as he didn’t want to give anything away. Is that still the case?
KJ: Well we didn’t want the competition to know – but it seems that we made it a little bit more obvious with the last update (version 1.21 – PM), because it has been talked about on Pinside. I still don’t want to go into too much detail, but I guess people can get the idea of what we’re doing if they look into the update files.
PM: It is fairly easy to recognize these new lightshows, as they simply look very impressive and quite different to anything that we’ve seen on mass produced pinball machines.
KJ: Yes, I agree. That’s mostly because JP can do a lot more with animation and shifting colors around and that kind of thing. He can do that fairly easily compared to how I do it, using whatever he uses.
To have him generate stuff and then for us to show it with the lights is a lot easier than having to program a bunch of individual lightshows that do all kinds of things. There’s clever stuff in there right now, like all the explodes and horizontal and vertical sweeps. All of those are double programming. But the ones from video are far more complex than anything I can whip up.
PM: After Jack announced he would start building pinball machines in January 2011, the playfield design for Wizard of Oz was presented not long after. The goals of the game were also already fairly clear to the design team. Did that allow you to start programming on it right away, or did you have to wait for the game to be more complete in terms of hardware before you could start?
KJ: When Joe presented the playfield that we eventually went with, which was right around the end of February 2011, we suggested a few tweaks and that was the game we wound up going with. So from that point on I watched the movie a couple of times. Basically I made an outline of everything I wanted to do and how that was going to play out on the playfield. That document was probably first presented around the end of March 2011. I can’t say that it has changed in any substantial ways since then.
What has taken all the time is getting the system up and running, trying to figure out what tools we were going to use, what system we’re going to use. Obviously we wound up using a Linux based PC system. It took a while to get that right and to determine what board set we were going with. Eventually we decided to make our own.
So you have all of that, and then I had to write an entire pinball system from scratch. I had to write a process manager, I had to write the interfacing with the coils and the switches, all the background stuff that we use to keep track of everything that is running. A lot of that was done before I had any hardware. The first things we did when the hardware came along was a hack to get things done as quickly as possible. Just to prove that the thing was working.
The thing that took up the most time by far was working on the display effects. It’s just a lot of work. No discredit to JP, because he does great work, but it’s just a fact that it takes a while to implement effects, get them to interact with the ball the right way and make sure that they don’t interrupt everything else that is running .
PM: Is it very different to program a display effect now than when you were programming dot matrix displays?
KJ: It’s more complex. With dot matrix animations all you do is say, “Here’s a block of graphics I want to show, whether it’s for full screen or part of the screen, and then put in some text down there.” With what we do, we have a lot more to think about. There’s a lot that needs to get onto the screen and it takes a lot of time to send data to the graphics card before it gets displayed.
We’re managing what the data is – whether it’s a movie, a sprite, or text, or whatever – and we’re trying to keep that as slim as possible. Then we’re trying to get everything to show up in the right spots, so that it looks pleasing and not like it’s just thrown up there.
With dots you have a very limited area that you can work with. It’s just very obvious which things fit where, whether you’re going to use a small font or a larger font. With what we’re doing, which is a 1360 x 768 full HD display, there’s a lot more tweaking in terms of what the exact right spot is to put down text, what’s the best way to show this movie while the ball is doing something else. It’s a lot more attention to a lot more things than you would have to worry about with a dot matrix.
PM: There are other parties involved in building hardware platforms – and the software to control it – for pinball machines. There is the P-ROC boardset and Ben Heck also designed his own boardset for his America’s Most Haunted game. Both systems seem to have developed new methods that eliminate things like a lamp matrix, which has been on solid-state pinball machines since the late ‘70s. Did you follow that?
KJ: Actually I haven’t seen that much about it. I don’t know if I just missed that, but I have to look out for those a little bit more.
From what you’re saying I think I’ve heard of systems like that before. Isn’t that basically what Kerry Imming did with Whoa Nellie! Big Juicy Melons?
PM: That could be, but I haven’t seen the technical details on that yet.
KJ: Well, either we stick with what we have now, or maybe we’ll go a different route too. I’m not sure.
PM: Did you run into any technical problems with something that was already approved and implemented and then didn’t turn out to work like it was expected to work?
KJ: Probably the biggest thing we ran into was around the time that we were about to go into production. The motherboard that we were going to use was underpowered and we had to search for another motherboard. We couldn’t find anything in the same form factor.
I think we started off with this mini ATX form factor. We had to change form factors to go to another motherboard in order to get one that was powerful enough to do what we needed to do. That’s really been a major change.
PM: Did that also involve a lot of new programming?
KJ: No not programming, but Joe did have to redesign the metal chassis in the middle of the game where all the boards are stored, in order to make it fit right.
PM: While you are still finishing up Wizard of Oz, designer Joe Balcer had already started on his design for The Hobbit. Were you involved in that design at all, or did Joe consult you about what he had in mind for the game?
KJ: This was one of those things where Joe presented a design. All of us were at the Midwest office for the presentation and we talked about it as he was going over it. I offered probably five or six suggestions for the playfield, based on what he had done. Just little tweaks that can make the playfield even cooler, that kind of thing. And he put pretty much all of them in there. I didn’t specify any shot pass, or anything like that, but I think my contribution makes the playfield a lot stronger than it was. I think it will be a lot of fun for people to play and shoot.
PM: Are you already working on rules for the game, or are you still too busy with Wizard of Oz?
KJ: Oh, it’s always in the back of your mind. Things you want to do next, or concepts or ideas you want to do next. Something I’ve always prided myself in is always trying to come up with a new way, or a new twist, to do certain things. So you’re always thinking about the next thing that you’re going to do.
PM: Not that long ago Ted Estes, another renowned pinball programmer, joined the team. Who is doing what?
KJ: Ted came on board in March, I think. He started off doing a lot of the diagnostic stuff. He was instrumental in getting the diagnostics to look as good as it does now and to be as useful as it is. He also started with a lot of other system code, like fixing up attract mode. He has written a few modes like the Skill Shot, and Toto stuff and implemented a bunch of graphics. It’s been great having Ted on board. He has been invaluable in terms of moving the project along.
PM: Usually if I ask about easter eggs in games, designers and artists respond by saying “That’s a programmer’s thing.” Any easter eggs in Wizard of Oz that you can share?
KJ: There’s nothing really in there yet. We’ll probably put those in soon. I guess one of the easter eggs people have already seen would be that the horses have different colors cap up. That’s probably the main one that has snuck in at the moment, but that’s already exposed.
PM: But there will be others in future updates?
PM: You’re one of the few JJP crew members that is actively involved on the Pinside forum. How do you handle criticism?
KJ: I guess you can say I go through phases. Sometimes I follow all the threads, other times I don’t. It mostly depends on my mood.
I’m not going to cry at anyone for having a negative opinion about the game. It’s a fact of life that you’re not going to please one hundred per cent of the people one hundred percent of the time. I’ve never expected that and I don’t get bad out of shape because of that.
Here’s the deal: I would be upset if no one played the game in the arcade, or if no one had anything good to say about it whatsoever. The fact of the matter is that most people have good things to say about it and it does really well on location play. Whether it’s in a bar, or an entertainment center, an arcade, a bowling center, it does really well. That makes me pretty happy.
I guess the main thing that people don’t get is how daunting this project actually was. We always thought it would be really cool to have every insert have an RGB LED and that we can make it any color that we want. And it is really cool and you can do great effects with it.
Order of magnitude harder
But it also gives you a lot more to think about. Like, what color should this thing be? We even had to consider colorblind people. What do we do to accommodate colorblind people? That’s something else we have to address at some point. Maybe with a setting, or something like that.
Basically everything that we’ve done in this game has probably been an order of magnitude higher than anything else that has ever been done before. We go from lamps that can have three different shades to LED, that can have 16,000,000 different shades. We go from having a 128 x 32 dotmatrix display with 12 shades of orange to a 1360 x 768 monitor with again 16,000,000 different colors. It has been a lot to take on. But I think it’s worth it. The product is good. People like the product and I think we’re going to be in pretty good shape.
PM: Now that the system software is mostly complete, do you expect that programming The Hobbit will take less time?
KJ: Oh it will take far less time. With Wizard of Oz, if I wanted to implement something it could be that I hadn’t written the subtext yet. So I needed to finish that first before I could continue with the thing that I was working on.
With pretty much everything written and out of the way I think it’s going to be far easier to get the game code done. We now have pretty much everything in place that we needed to have in place. We can concentrate on content rather than building blocks, if you know what I mean.
As for Wizard of Oz, the goal is obviously to have the code done as soon as possible. But there are technical difficulties to overcome, and there were licensing issues to overcome, but were getting through it and pretty soon it will be done.