Wednesday, July 22, 2009

Dutch Pinball Magazine Interview Part 6

This is the last part of the interview
-------------------------------------------------------------------------------
How do you program priorities in voice calls and light animations?
On a high level, lamp effects, sound effects, and display effects for that matter all work similarly. In each game there is a list of effects. Each one has a number assigned to it that is its priority. When the software needs to run a particular effect it “request” that it run. The system looks at what is already running, compares priorities, and decides if the new request can run or not.

So the trick is to give each of the effects a priority that will allow it run when needed but not too high that it will step on other effects.

Do you have to call every lamp in a lamp animation separately, with a time code and so on, or are there easier develop tools to program these?
There are no time-codes. But yes you often have to specify exactly when and which lights you want on and in what order. Making light shows is an art that you have to have some amount of talent to make look great. You can get close with skill.

Often it is not good to develop an all-purpose tool that can do anything. Each time you think you have the tool just right someone else thinks up something new they want the tool to do. Then you have to add to it. Before you know it you have Frankenstein monster piece of unwieldy code. It is better to just think of a solution to the current problem and develop that.

When designing a game you don’t want to be constrained by what a tool can do. You want to say lets make the game rain and then go about figuring out how to do that. If you are limited to what a tool can do you will get games that all look the same.

Is there a reason why the source code to program pinball games is not available to others? E.G. Playstation does not keep the code to program games to themselves. Any reliable software company can get the code and design games for that platform. In pinball it would help if others could remove bugs from games, especially if Stern (or WMS for elder games) is not going to do it.
Not really sure. The main reason is the same for all these types of request. At all times there is a high priority wish list of items from Gary that wasn’t getting done fast enough. Leaving no time for anything like this.

Is there a way for others to work their way back and adapt the code?
There are people that have reversed engineered pinball code and then modified it.

What do you think about a professional user interface in which others can modify rules, sounds, and so on? Basically a program in which coils are programmed but anything else, like rules and so on, can be developed by the owner of the game. If something like that would exist for e.g. IJ4 users could convert the game into a game with 16 different modes, add sounds, and so on. The idea is it would result in various type of games on the same playfield. Someone might program is as if it is an old Bally game from the 80s, someone else might program the deepest rule sheet available.
I think the author of this question really doesn’t know what they are asking. I agree a product like this would be really neat but it is not doable.

Like I stated above; as soon as you make a tool that can do this someone would think up a feature or toy that didn’t fit any of the cookie-cutter molds you had in the tool.

If the tool is too basic then you just have a blank game. That’s what I start with each time anyway so there is no real savings.

If you really wanted to do this you should get the one game that you wanted to do it for. Reverse engineer the code. Create your blank game by removing all the code that didn’t fire coils and turn on lamps etcetera. THEN write all new rules. Good luck with that.

Is there a chance a home-rom for Star Trek TNG will show up somewhere in the future? It appears there are some very nice unused sounds in the roms.
In the future? Not a chance. There already are a number of home ROMs for ST:TNG. I believe all the sounds are being used by at least one of them. You will just have to hunt around and find someone with one and copy it.

Are there any games you worked on you like to see get a software update as you feel the current software is not finished yet, or could be improved?
WHO ? dunnit. I always planed to make a Super Sleuth mode after you finished all the cases. At the time it didn’t happen because management switched our schedule with another game requiring us to be done months ahead of time.

Do you have any closing thoughts on the future of pinball, pinball in general or anything else?
I believe that if pinball went away for a few years, at least five, it would have a better chance to bounce back again and be a major option vying for people’s precious entertainment minutes. You have to let the world forget about them in order for them to be new again. I imagine that after this down time a handful of people with different backgrounds and vocations, whom are also all into pinball, would all meet and reinvent pinball from the ground up. Make it feel like a modern piece of entertainment equipment (whatever that means at the time). Simultaneously they would insure that it retains what is great about pinball.

I am not wishing any ill on Stern Pinball. I just don’t believe that their path will succeed at revitalizing the industry. I feel Pinball has been dead since the late 90’s. Gary Stern was just really good at keeping it on life support. Which I feel is keeping it from a potential rebirth.

Dwight Sullivan
5/21/2009

Tuesday, July 21, 2009

Dutch Pinball Magazine Interview Part 5

Technical questions
So how does programming a pinball game work? Which steps are required? In what kind of environment is code developed, with which assembler is the code converted to end up in eproms or the current type of files used in Stern games?
In broad terms you write the software each day in some form of text editor. Then you compile the code, link it, transfer the program to a pinball machine you have sitting next to your desk, test it, and repeat.

For most of my years we developed code written in 6809 Assembler. These were very slow 8-bit 2 MHz computers. Compared to today, desktop computers are 8 times more powerful and 1000 times faster.

Only during Pinball 2000 at Williams and then in the last few years at Stern did we have faster processors and were able to start writing in C++.

When you first start programming a game, the first thing you want to do is get your whitewood up and flipping. This means each time you shoot the ball it goes somewhere and if a device is involved the ball succeeds at coming back.

You start with a blank game; a standard set of files that allow you to define lamps, switches, coils, and so on. Now all the switches in the game are being called when the ball is activating them. These vectors are where you will write your very high level rules. Then you tell the operating system about any devices that can hold a ball and will require a coil to fire to get the ball back. Once done you can now flip the game for the first time. So that’s what I do next. Flip it. To see what is fun about it kinetically.

Then you start thinking about the device drivers you will need. Device drivers are special software for any physical device you have in the game that is not standard. Anything that is not a pop bumper or a sling will need special code to make it respond how you will need it to in the game. So you add files for each of these. Now you can flip the game and not only will the ball always come back but the ball might do other things like be diverted on the ramp or spin on a spinning disk.

Then you start adding files that define your core set of rules. To me the core rules are the rules that get you from pushing the start button through the game and into the final mode. Whatever that means.

Then you start adding more files. Two or three more files per feature or rule in the game. This would include, multiballs, modes, Wizard modes, mystery features, and so on. Each of these features has high level ways to activate them from the switch vectors.

When you are done you have dozens of files of code each with very specific scope.

As a programmer of pinball machines, how do you program the software to respond to actions on the playfield? Are those endless if-else cases?
No, they are not endless if-else cases.

Pinball programming is real-time. Meaning the software reacts to what is happening in the game in real time. When a switch is activated a particular part of the software is run. We call this a vector. Each switch vector is responsible for starting any and all other parts of software as needed. It is also responsible for any scoring that is needed. Ideally each vector doesn’t do any of its own “thinking”. It is only a short list of calls to other parts of the software.

// This is a switch vector for the left top lane
void swd_top_lane_left(void)
{
// this will also award completing the lanes if needed
Score_t score = award_top_lane();

// this will do all the generic work for all scoring switches
award_generic_switch(score, S_TOP_LANE_SW);
}

In the above example you can see that this switch doesn’t have much code but it handles everything that a top lane needs to handle. Keeping the code simple like this makes it easy to read and easy to fix if something was wrong.

Sunday, July 19, 2009

Dutch Pinball Magazine Interview Part 4

Sadly Stern let you go as a programmer. Did you already find a new job?
I did. I am currently back working at WMS Gaming, formerly known as Williams. I like it here and I feel like I am home again.

How do you see the future of Pinball? Do you think Stern will survive? Does a new manufacturer have a chance in today’s market? Is there a chance Stern might hire you for future projects?
I think the future of pinball is very bleak. It’s very hard to say whether or not Stern will survive. It also depends on how you define “Survive”. Any other manufacture would be out of their minds to attempt to get into the pinball business today! I really like where I am now and have no desire to return to Stern.

The last game you worked on at Stern is 24. What was you’re role in the design process?
24 is a theme I wanted to do for a long time. It made more sense back after the first couple seasons when the show was new and hot. But I was glad to be working on it because I was a fan of the show even though I knew it wasn’t a great license today.


Before I left, where the game was going was very much my design. Steve did what Steve does and made a fast flipping game with some toys. I had very little input with much of that. I did have input deciding what inserts were needed where, also where the ball needed to stop for presentations. Like the ramp. My core rules for 24 were going to be a bit different than normal pinball. I strongly felt they fit the theme and I was confident that I could present them well to the player. Then I brow-beat Steve into agreeing to my basic rule design.

Since Stern let both you and 24 designer Steve Ritchie go, the game was further developed by the remaining crew. Did the remaining crew keep in touch to make sure the game ends up like you and Steve intended or did they develop the game in another direction?
Both actually! Lonnie persuaded Gary to hire me back for a handful of hours just after laying me off. I tried to help brief them with the vision of the game and how far the game was in development. The ideas behind the software I had written and what I thought needed to be fixed.


Recently, I went over there to pay a visit and play the finished 24 for the first time. It is pretty different than my vision. They removed a couple key elements that I had in the game and changed how the game fundamentally unfolds.

I can not really blame them though. Everyone has to make a game their way. They made the game more mainstream and generic. Which is a safer bet with the time they had. Also, ironically how they changed the core rules was pretty much how Steve wanted to do the game from the beginning.

One thing I really do not understand is that when I played the game there was no clock and no “BEEP THUMP” sounds; two very signature items from the show. HOW CAN YOU MAKE A GAME ABOUT 24 AND NOT HAVE THOSE!?

Tuesday, July 14, 2009

Dutch Pinball Magazine Interview Part 3

After almost 10 years at WMS you were (one of) the first former WMS employees to be hired by Stern. From Keith Johnsons Topcast interview we understood things were different at Stern than at Williams. What can you tell us about that period?
Stern was different in a couple ways. Mainly, it was smaller. I am noticing now that I am at a large company just how much the size of company dictates how the company goes about its day to day activities. Moving to the smaller Stern we noticed that everyone wears more hats. Meaning they have more responsibilities on their shoulders.

Was it different for you as a programmer working at Stern, compared to what you were used to at WMS?
Not really from a responsibility perspective. My job was pretty much the same. Do my best to make a fun game on time.

The problem at Stern was how little time we got to make the game fun. Lonnie used to claim that the schedules were just more compressed at Stern. Not true. The time frames were about the same at both companies. Each game got about a year to go from concept to production line. The problem at Stern was how much time was eaten up of that year at the beginning deciding what the theme should be and getting to the first white wood. That was something we did much better at Williams.

It’s clear to me and others that the sooner you have a flipping whitewood the better. Exponentially! It gives you time to flip the game with rules and see what is bad. Then time to replace it with a new idea. I feel this is the number one reason why Stern / Data East have produced inferior products.

Looking at the games produced by Stern and comparing them to the WMS games from the 90’s, some may conclude it probably was more fun for the design team to work at WMS. (more room for creativity, less licensed games with all the restrictions that come with that, more time, more challenges, and so on) Is that correct?
It was more fun to work at Williams than it was to work at Stern. For a lot of reasons including all those you listed above. Of course, once the black clouds came (potential layoffs every 3 months) times at Williams were less fun.

Keith and Lyman are very skilled pinball players. How about your pinball skills?
I am a very poor player compared to them. I love to play and I thought I was pretty good until I first started working at Williams and saw, that in fact, I was not. I think that this worked out to my advantage though. I have always been insistent that games I have worked on had to be at least fun for my skill level. I have always believed that my skill level and that of the average bar player were very close. So I used my skills as a litany test.

We heard Gary Stern say plenty of times deep rule sheets don’t matter to him. Some designers do think different about that. At Stern some games do have a deep rule sheet; other games have incomplete software or medium deep rule sheets. Is a deep rule sheet a budget matter? Or a deadline matter? Or just a programmer doing what he thinks is best?
Isn’t budget and deadline the same thing? Of course they are not but they have the same affect.

Every game I was in charge of at Stern went to production complete and the depth of the game was completely my choice, for better or for worse.

I believe it is important the game be fun for each skill level that steps-up to put money in it. This is a big part of why I think most people could not be a pinball designer. You need to consider all skill levels. In my mind and in broad terms there are three skill levels: the new player, the average player, and the good player. You need to have something fun for each of the 3 groups.

The average player, by far, is where the lion share of your cash box comes from. I believe it to be about 80% of the games played are by this group. This was the topic of much debate at Stern. Of course we had no real data, that would be silly, but I know I was right. These guys are the guys that stop off on the way home from work to have a beer and play a little pinball. To me it was most important to pace the game such that this player would be challenged. Meaning there should be high goals for this player placed at a challenging distance from the start button. A game that did this well was Monster Bash. Monster Bash is one of my favorite games that I didn’t work on. Partially because it had a Wizard Mode (Bash not Rock) that I could barely reach once in awhile. It was challenging for me and I consider my skill level to be smack in the middle of this group.

The new player does not account for much of the cash box but is still very important. He is the future of pinball and the lack of him playing / enjoying the game is a huge reason why the industry is where it’s at. Pinball is intrinsically a very confusing game. Even before you push start. Just looking at a game makes you go huh? So once a new player does get past that first hurdle of deciding to push start he has to 1 have fun and 2 understand at least a small part of what is going on. It’s ok if he doesn’t understand the whole package. In fact, I think it’s a draw if he doesn’t. People like to have some understanding at first but then discover the rest as they go, over the course of a few games. At least this is my philosophy. The magic is to not be too overwhelming in the beginning.

The good player. This is really two groups of people that I rudely lump into one, but these groups overlap quite a bit; it’s really hard to distinguish them. 1 - The player that is so into pinball they know the games really well but may not have great skill. 2 – The players with great skill that probably are also in category one. These are hobbyist and tournament players. To be honest this group I have spent the smallest amount of time worrying about. They are important though, so I always try to add a high end wizard mode that most likely I will never see when I play. I also justify this time spent because its great for the average player group to see goals that are even further down the road for them to attempt.

Saturday, July 11, 2009

Dutch Pinball Magazine Interview Part 2

After 2 games the Pinball2000 platform stopped as WMS quit making pinball machines. Still P2K made quite an impact. How do you think pinball would be today if the P2K concept was continued?
Well that is a pretty big IF. The premise you are proposing is that we succeeded at making a platform that was manufacture-able at a reasonable enough price, and large amounts of players returned to playing at a probably increased price per play, and someone bought the pinball division from Williams because Williams was focused on slots and no matter what, was getting out of the pinball business. So assuming that all this transpired, I think pinball today would ROCK!

We were so immersed in the platform at the time we all saw huge potential for the platform beyond what was happening in the first couple models. Games 3 and 4 were going to be quantum leaps ahead and games 5 and 6 would have been quantum leaps ahead again.

Think about the card swiping ability from that last EXPO. Add 5 more cool things like that that would have been added over time. Now couple with that the success that IT (Incredible Technologies) had with Golden Tee Golf. Couple with that we have been improving the look and feel of the platform all this time.

You walk up and see that the current wide area tournament has a top prize of $22,389. You put in $5 for the first 3 minutes and swipe your card. The game comes to life; “Good afternoon Mr. Bond” it thinks that your name is Bond because that’s how you filled out your tournament player card. The game continues: “When you were last here you just finished level 7, would you like to continue?” meanwhile the game is downloading up to the minute playing tips from the internet to show you and it is twittering on your behalf - MR BOND HAS JUST BEGUN LEVEL EIGHT - . When you are done it summarizes your entire experience into a short video and uploads it to YouTube.

Game designers often put their mark on a game as they have certain recognizable layouts or features. E.G. Steve Ritchie games are usually fast with a lot of flow. Do you have certain ‘trademarks’ that could be defined as typically Dwight Sullivan?
Lonnie Ropp, my previous boss at STERN, often claimed that a feature he called “a second economy” was my trade mark. Basically a second economy is a feature whereby throughout the game you collect something in addition to points. For example in Playboy you would collect bunnies. Ideally at thresholds, of this second economy, you would redeem them for something cool. In some games it worked better than in others. I, of course, didn’t invent this; I just liked it.
I do believe that I have “added to the fabric of pinball” though. In WHO?dunnit the Mystery Target gives you what you need at that moment, or at least that’s the idea. It's not random it's deterministic. It looks around at what the player is doing at that moment and tries to give something that makes sense. Over the years this feature caught on and appears in many more games. Most of the time it is a single target, but not always. In “24” it is the CHLOE bank. Which I thought was appropriate since, in the show, she was always great at getting Jack what he needed.

Are there any images, or similarities, of you to be found on the games you worked on?
I have made a couple appearances in the dot matrix as well as one in the Champion Pub back glass. I think that Pat McMahon did an excellent job of capturing several Williams engineers in that glass. Off the top of my head there is: Me, Pete Piotrowski, Pat himself, Paul Barker, Linda Deal, Steve Kordek, and of course Jim Patla as the bar fly.

In Creature from the Black Lagoon they filmed me as the peeping Tom that gets beat up. It was very painful recording that. They insisted that it had to look real! Amazingly when that game was available for testing, by the others at Williams, people were lined up to play that mode. I am not sure why. : - )

I have always been proud to tell people that it was my hand that reaches for the handle in T2 during the idle time when a player has not launched his ball.

Do you collect pinball machines? Or do you have any (or your own) games at home?
I would not say that I collect them but I do have a few. Today, I have a Revenge from Mars, High Speed, Road Show, Terminator 2, WHO ? dunnit, and a Star Trek the Next Generation. I have sold several games over the years. Sometimes I have regretted selling them but I never wanted an arcade just a handful.

What game was most fun for you to work on and why?
Star Trek the Next Generation was great fun to work on. The design team was an amazing group of talent which only helps exponentially. Plus I have been a member of the church of Star Trek since I was five. Plus I got to go to Paramount Studios and actually walk on the Enterprise.

Which of the games you were involved in are you most proud of? Or do you think is the best?
I am proud of WHO ? dunnit. Barry Oursler and I co-designed that game. So it was the first game where I had even more control than before.

Looking at the games you worked on, there seems to be some variation in your involvement. So what is your role usually? Does someone come up with an idea and you translate that into pinball code? Do you bring in your own ideas as well?
Well, yes. Over the years I have played many roles; designer, programmer, grunt. Normally my role was a mix of lead programmer and game designer. That’s the role I prefer; a role where the game designer / playfield designer and I work together from the start.

At first the Designer “picks” a theme. There are many factors that go into that. Soon after the theme is chosen we start talking about all the things we want to do in the game. Then he starts to draw a playfield and think about toys. Once we have a beginning, a rough foundation, we then include other people from the team to help us brainstorm and flesh it out. From there, typically, I would oversee anything that was not physical; dot matrix art, music, speech, choreography, insert / lamp placement. Also I would start designing the software for the core rules. The designer would oversee the rest; playfield layout, kinetics, toys, production concerns, bill of materials, and ball traps. All the while the two of us would meet to discuss how we could best dovetail the different parts together. We would both help direct the static art; back glass, cabinet, playfield, and so on.

Wednesday, July 8, 2009

Dutch Pinball Magazine Interview Part 1

The following are questions sent to me from the Dutch pinball Magazine Spinner. I believe they were published recently there so it is now safe to publish them in English here.
-------------------------------------------------------
First I want to apologize. Months ago Jonathan sent me this list of questions that I, before seeing the list, agreed to answer.

Since there were so many I have broken it up into several blog posts that I will publish over a few days.

When I got the list of questions I was surprised by how “complete” it was. Right away after I got the email I started answering the long list of questions. At first it seemed that every time I answered 3 questions 4 more would appear at the end. So I would take a break from it now and then. Soon my breaks from it grew longer and longer. Then I stopped altogether; I got a new job and that started consuming all my spare time. Recently the new editor of this magazine, Bas, emailed me asking me to finish. I thought this was an opportunity to partially redeem myself.

I tried my best to answer each question as well as I could; giving as much interesting information as I could. This is part of why it has taken so long to complete. There are I believe 33 questions and many have inspired essay answers. Often as I go back to proof read and edit my answers I think up more I wanted to say about many of the topics. So I write more which then requires more proof reading and editing and SOMEBODY PLEASE MAKE IT STOP!

So I am sorry to Jonathan and all the people that sent in questions expecting a timely interview.

Finally, here it is:

For the people who don’t know you: Who is Dwight Sullivan?
The heck if I know! How is a man defined? I am family man; a father and husband. I don’t have very many close friends. I like my job and I find my biggest challenge is to balance my time between my family and my job. Lately, I have been a pretty happy man. I am a gamblin’ man. Today someone said I always listen to my mother and my response was I always play the odds.

For the first 19 years of my career I helped to design and write the software for pinball machines. I started just out of college working for Williams. I worked there for 10 years. Then in 1999 when Williams shut pinball down Lonnie Ropp at Stern Pinball hired me. I worked at Stern for 9 years until just a few months ago Gary Stern laid off over 50% of his staff including me.

How did you get involved in Pinball?
I stumbled into it pretty haphazardly. I went to a job fair near the end of my college career and someone there pointed me to a man at Williams whom was often hiring. I called him up and he brought me in for an interview. I failed to bring my resume to the interview but somehow they were impressed enough to give me a chance. I had always loved playing pinball. A high school buddy and I would spend hours each week at our local arcade.

(Based on the information I have so far) you started around 1990 with your first game being Riverboat Gambler. The list of games you were involved in according to the Internet Pinball Database:
o Riverboat Gambler (software)
o Terminator 2: Judgment Day (software)
o The Getaway: High Speed II (software)
o Star Trek: The Next Generation (design, software)
o Red & Ted's Road Show (design, software)
o WHO dunnit (concept, design, software)
o Junk Yard (concept, design, software)
o The Champion Pub (software)
o Revenge From Mars (software)
o Sharkey’s Shootout (concept, software)
o Playboy® (concept, design, software)
o Terminator 3: Rise of the Machines (software)
o Elvis® (software)
o The Sopranos® (software)
o Pirates of the Caribbean (software)
o 24
Is this list complete, or did you also work on other (non pinball) games?
I started in November 1989.

I did very little on these games:
o Bugs Bunny's Birthday Ball (software)
o No Fear: Dangerous Sports (design)
o High Roller Casino (software)
o The Simpsons Pinball Party (software)
o The Lord of the Rings (software)

On Elvis, Family Guy, and Revenge from Mars I was only one of 3 programmers. BUT! On Revenge I wrote allot of code. I worked harder on that game than on Terminator 2; a game where I wrote all the code.

On Sopranos I didn’t do much design. George and Lyman had the game pretty well along when I joined the project. Also, as it turns out, I did very little on 24 too.

The non-pinball games I worked on were Simpsons Kookie Karnival and Spider-Man redemption.

Did you work on any games that in the end never saw the light of day?
I spent two years on again off again working on Spider-Man Redemption and I am not sure if it made it to production.

In your career you were involved in a few milestone games. Terminator 2 was the first WMS game with a dotmatrix display, which may have been technically very challenging. The Pinball 2000 platform had also to be created from scratch. What can you tell about such technical innovations and working on them?
They were lots of fun! T2 was in the beginning when I was very green. Mark Penacho got the original hardware up and running and then I took over because I took over for Mark on T2. T2 was going to be the first project with a Dot Matrix display. Gilligan’s Island beat us to the line though. So they were first. It is interesting today to see a T2 because its graphics are so simple.

Working on Pinball 2000 was an amazing time. We were a group of people on a mission. The mission was to save pinball. Larry DeMar was on fire. He saw the potential and worked extremely hard to not fail. I guess he figured we only had one shot at making a first impression so we needed to get it right. He, working hard with George Gomez and others, had a bullet list of new features they wanted P2K to incorporate. One of the coolest bullets on that list was how they designed the playfields to quickly change out with another playfield.

What changed in your work when you worked on Pinball 2000? Did you have to invent a lot of stuff to get the results you were looking for? Did you change things drastically when you had the chance, compared to the previous way of programming?
What changed the most was how large the teams became. We went from a core team of about 4.5 people to about 9; doubling in size. Also, despite the increase in personal the development time was much longer.

There are some really nice things about having small teams. You have way more control and small teams can turn on a dime. Meaning if you don’t like the direction the game is heading you can more easily throw it out and start over. This gives you the luxury of iterations.

With the larger P2K teams you could not do that. Much more had to be designed ahead of time. You had to get more right from the hip.

How was it to work during the development of Revenge from Mars, where the OS and game code were developed almost simultaneously? Did you program stuff for the P2K OS as well?
I didn’t do any programming for the OS. Working on Revenge was a lot of fun and a lot of work.

It was a bit challenging to work as the OS was being developed. But I had a head start at learning the system. Before I started on RFM, before we knew exactly what we were doing theme-wise or whom would be working on which projects, I wrote the very first mode for the knew P2K platform. I was trying to get a Playboy game up and working. I believe it was Peter Piotrowski’s playfield. There were a couple months in the beginning when we thought Playboy would be one of the first two games. So I got a mode up and flipping to see how fun it would be. During this timed mode the music “Centerfold” by the J Geils band played and each time you shot a shot overlapping stills of naked and half naked playmates would be displayed. It was pretty distracting as you can imagine.