Interesting People #25: Kevin Ryan on The Incredible Machine
After plenty of time off interviewing and focusing on Hash Rush, I’m back in the game and ready to go with what I intend to be more regular interviews again. To kick things off, I spoke to Kevin Ryan, creator of The Incredible Machine back in 1993. Kevin’s other credits while at Jeff Tunnel Productions / Dynamix include the likes of Skyfox II, Sword of Kadash, Heart of China, Rise of the Dragon, The Adventures of Willy Beamish and many more. Enjoy.
Estimated reading time: 18 minutes
Thanks very much for agreeing to talk to me. I’m glad Damon put us in touch.
Kevin: Yeah no problem!
So, to kick it off maybe you can give me a little bit of a background of how you got into programming?
Kevin: Sure – well, it was in junior high, in 1976. I grew up in Fresno, California, and we did a field trip to Berkeley. They had a mainframe computer in one of their labs, where you could play Guess The Animal – a little text thing where you’d ask, “is it bigger than this? Is it smaller than this?” and I thought, oh, this is really cool! Computers!
Kevin in the Fresno Bee,
Well, I looked around and the only thing you could get was the Altair, which was on of those old 8-bit ones where you programmed it by flipping switches and all it did was it have lights – and it was a lot more than a junior high guy could afford! But the high school I went to had a Wang computer. It had 8k of memory on it. 3k was the operating system, so you had 5k to write basic programs.
So in high school for a couple of years I was writing a whole bunch of games on that little computer. After that I went to the University of Oregon to get my computer science degree. Jeff [Tunnell] and Damon both grew up here in Eugene.
I graduated from the university and had written a program while I was there. It was published by Earthware Computer Services, which was a really small company, and I don’t know, maybe it sold eight copies total or whatever! (laughs)
But yeah, Jeff had a computer store in town and somehow Jeff and Damon had heard about me, so in ‘84 I got a call out of the blue from Damon to come by to their office. So I came by, and Damon had done Stellar 7 at the time – I knew about that. I went in, and we must have all been about 22 at the time, something like that, and they gave me a little piece of paper with the letterhead which had “Dynamix” on it. So I came home and showed my girlfriend, now my wife, and was like, “look, it’s really official, they got a letterhead and everything!”
Sword of Kadash on Commodore 64.
I did a port for them of Sword of Kadash for the Commodore 64. It was published by Penguin Software, and like two or three months later after working on that they asked me if I wanted to be a partner. “Sure, yeah!” – so it was a really small company at the time. Me, Jeff, Damon… and Richard Hicks was the other partner, and there were maybe a couple other people programming. And that’s kinda how it started… I came in, met Jeff and Damon and it went from there.
Sword of Kadash on Commodore 64.
OK, awesome! Now, one of the things I read about The Incredible Machine was that it was originally going to be a Commodore 64 game in the early 80s, but you didn’t get around to programming it for another 10 years. It didn’t come out until 1993, so why the long delay?
Kevin: I remember that from when we were across the road from the post office in a really tiny office. They had this little thing on the Commodore 64 – I wasn’t really involved with it, but if I remember right, it kinda looked like little cars or tanks… these little machines that moved around a bit. There hadn’t been any work done on that, really.
Then when we talked to EA, they wanted us to work on the Amiga. They had that in with Commodore, so they wanted us to do Amiga stuff. That’s how we got onto Arctic Fox, and The Incredible Machine just got set on the side. And it’s nothing like the game we did. It was little vehicles or whatever.
EA had us focus on the Amiga until the Amiga didn’t do really well, and then Trip Hawkins said, “learn 6502 again!” because the Commodore 64 was really big at the time.
Kevin Ryan, 2017.
Where did the idea come from… the concept of Rube Goldberg machines and these crazy contraptions and so on?
Kevin: I was working at Dynamix on different projects and we did a design on a game called Vivarium and we didn’t move ahead with that, and then I did a design on 3D toys that we were gonna do, but I wasn’t really excited about that, and I quit Dynamix in November… 1991, I guess?
I remember Tony, who was writing for the place at the time, put out a thing that said, “Kevin’s taking a short sabbatical,” and I was like, no, I left! (laughs)
I left for about three weeks, with my family, to visit my parents down in California and just took some time off. Then when I got back into Eugene there was a message from Jeff. He got inspired… I had left and while Dynamix was getting really big he had formed JTP [Jeff Tunnel Productions] and he said, “I’m forming this small little satellite. Do you want to come in, and you can do anything you want?”
So I said, “oh yeah, that sounds good”!
It’s a pretty amazing offer!
Kevin: Yeah! (laughs) So I came in and talked with him, and one of the things he said was, “maybe a Rube Goldberg game”. That was his concept and I thought yeah, that could be kinda fun. So I went to the University of Oregon library and checked out a whole bunch of Rube Goldberg books and looked at all the cartoons.
I looked at them and I thought, this is not gonna work! His comedy stuff and everything so specific to all the parts, so I was trying to figure out how I was going to make this work. I was trying to think of what I could do that was more general, and that’s when I hit upon the idea that maybe I could simulate the physics stuff. And while the physics was doing stuff, I could have the art match the physics stuff, and then also get characters in there because I wanted to have whimsy and stuff like he had.
I thought that I could have real physics and then also get AI cartoony physics, and that’s sort of where the whole thing came together. It was December when I spoke to Jeff, and then in January through March I created a document of what I wanted to do with the thing.
Then from there I switched over – and I was working at home at the time… that was one of the things. I’d come in once a week and show what I’d done on the game. And I remember I lost 15 pounds while working on the game! I went down from 150 pounds to 135… I was working in our cold basement! (laughs)
So anyway, I was implementing the physics engine and the collision stuff, and as I went along I would implement all the differeny parts. I would also create the puzzles that went with them, so of course I had to get the physics and collision in first and then from there I could move forward on to very organic design afterwards… like, this works and this doesn’t.
That’s kinda how we went from talking with Jeff about a concept to finally figuring out something I think will work, and on to the whole development process.
Did you design from the beginning that it was, well nowadays I guess you would call it a sandbox but I’m not sure that term was around at the time. I remember reading back then about a ‘computer toy’ where it wasn’t only the puzzles that you guys had designed, but it also had an early construction set that players could also make their own. Was that something you thought about from early development?
Kevin: I think it kinda happened as we made it. And it is sandbox, yeah – I mean, there’s so many terms for things these days that they didn’t have terms for back then, but yeah, as I was going along the first thing I did was a conveyor belt and a bowling ball, and then I added some walls and stuff, and I had little graph paper where I was actually checking my code on how they collide.
As we did that, I had to create a little editor to build our own puzzles, and in doing that I kept going, “this is really fun – just to let people do stuff”. So I don’t think it was planned at the start – I think the idea was that we were just going to make puzzles, but then realized that hey, we need to amp this editor thing up to make it user friendly so they can make their own puzzles.
I think it showed up really early in the process because I remember Ken Williams was really excited and saying, “oh, computers can do this?” and it was a really simple conveyor belt with basketballs and bowling balls moving along, and I remember that we just had to do this. I remember Jeff was pretty adamant and he believed it was going to be a really big deal.
Image from MobyGames.
And it was. I mean, I think that editor was part of what contributed to its enduring popularity. What do you put it down to? That people are still interested in this game 25 years later?
Kevin: I think that’s it: that it let people be creative on their own. I remember we were developing it and there were some little kids… I’m not sure if they were Jeff’s kids now, or some other kids that were around… but they built this little machine that had anti-gravity and and these little mice that could get blown by a fan towards a machine gun that would shoot them, and they were going, “wow, you can build anything with this!” and so I think it was the creativity part.
We did something called Toons which was neat and it had all these built-in animations, but it didn’t do as well because it was kinda like telling the jokes, whereas with The Incredible Machine you could just make your own jokes. You could do anything you want and I think that was one of the big things. It was so open-ended and with its interactions, you could build anything with it.
I read that you coded it in nine months on a $36,000 budget? Is that true?
Kevin: Yeah – 37,500 dollars! It was March 17th when I put the design away and got coding, and I think it was mid-September when I finished it up. The thing was that back then, Christmas was important and we needed the lead time to get into the stores, so you wanted to finish by September so Sierra could tell the distributors, “yeah we’re done,” and the distributors could sell them on to the stores.
I don’t think they could trust the developers unless they could get it done by mid-September and be sure they’d have it for Christmas. Then they’d at least order some copies! So yeah, that was an intense six months because it was also getting really hard to come up with new puzzles, and I actually stole a couple from my six-year-old son. He was playing with it and I kept going, “yeah I can use that!”… I was getting desperate! (laughs)
Well even back in the early 90s, nine months was really short… did you do almost everything yourself? What were some of the challenges you remember that you had to overcome?
Kevin: Yeah, I did everything except for a couple puzzles. And of course when I’d go in once a week and have lunch with the guys, show them what I had done the previous week and talk about stuff. The interface wasn’t as good at first. They helped to fix it a little bit – they gave me ideas like, “this isn’t as easy to use”, and I think Jeff or Chris Cole came up with the idea of little pop-ups around the parts.
For the physics, you know, I got physics text books from college… there wasn’t the Internet so you could just look up stuff! I remember that being tough – figuring out the collisions and all that. And it was all integer – there was no floating point, because floating point was not fast enough. So I had to come up with this integer system that had enough resolution to simulate all this stuff, and then write sin and cosin routines in integer maths, and that was a challenge too! (laughs)
We kinda ad-hoc’d everything, right? I made a physic system, I made a collision system, as I knew I needed those, so I got those in place first. Then it was just like a part every few days.
Is there any element in particular that you feel really proud of?
Kevin: The collision stuff was pretty neat because I did tricks with the bits. I could use the highest bit to throw away half the checks that I needed to do on the angles math, and it was really fast. I remember Chris, when he worked on The Incredible Toons he wrote some physics stuff and it wasn’t as fast as mine, and he had a physics degree from university so I was happy with the way that turned out! (laughs)
I wasn’t sure too because I didn’t have a sense of how fast things were going to go, like, am I going to have a framerate problem with this? It ended up we didn’t, so yeah, I was really happy with the underlying system.
And the design itself, well, everything just seemed to come together. It was kinda neat!
Image from MobyGames.
And it shows in the reviews as well as the players when it came out. It got good reviews but was also very highly rated when the mags had reader polls and that kind of thing. Plus it won both critical awards and reader’s choice awards. That must have been pretty amazing, to see that kind of reception?
Kevin: Yeah, it was really nice to see all the different places. A guy in the Wall Street Journal covered it at Christmas, and we got mentioned in another column along with Broderbund’s Where in the World is Carmen San Diego. It got mentioned in lots of stuff and we won all of the awards. I remember back at the Game Developer’s Conference, we got these pins that were for the ‘Honored Developer Award’ – I didn’t go. Jeff went and he got those. But yeah, it was really nice to see all that.
And then when my son was at college I’d visit and see all these kids in the classroom playing the game… it always feels so weird that so many people have played it! It’s like, whoah, I was just down in my basement! (laughs) Just building this thing down in my cold basement without a clue that it would come out and so many people would play it! It felt really nice.
Well I grew up in South Africa and it was big down there as well. Truth be told, I think one person bought the game and 10,000 people played the game, but we were loving it! So thanks a lot!
Kevin: (laughing) You owe me a beer!
Haha OK, sure. So, how involved were you with Contraptions, Contraption Maker or the mobile re-releases of The Incredible Machine?
Kevin: I played that a little bit. Let’s see… the new one came out in 1999 or 2000, and I was actually involved in that one at first. They were doing a bunch of new stuff with a story connected to it. My son was born with liver failure in ’99, and he had a liver transplant at four months of age. So, Contraptions was happening right as I was in San Francisco for almost a year at the hospital because my son was really sick. He barely made it. His heart stopped a couple times and, yeah… he’s doing OK now. He’s 18 so, yeah!
But it was scary at the time. I mean, one month, my wife and I were meeting in front of the hospital. We’d each do 12 hours in there then meet in the morning and meet at night, exchanging the car. So, I couldn’t work on the game and they ended up doing it themselves. All they really did was put new artwork on that version of it. Brian Hahn, who did some of the original artwork, did some of the design, but ultimately I wasn’t all that involved.
But now Contraption Maker, I did all the physics on that, and all the parts. I’d been working on that with Jeff. I used Chipmunk’s physics engine – it’s a free engine similar to Box2D – and I used that engine and I amped it up a little bit, and I had to convert it to an integer instead of a floating-point engine! (laughs)
You won’t get the same results with floating-point, especially if I copied a bunch of parts and pasted them somewhere else, since the resolution of floating-point changes the further you get from the origin. You can have something that runs well here and then you copy it and it won’t run the same there.
Oh OK, I didn’t know you were that involved.
Kevin: Oh yeah – look, Jeff and I did a lot but now I think Jeff is kinda done with games, so I took over recently and am going to keep amping up on that and going forward from here...
Alright! So, you mentioned you were playing Stellaris – what else have you been playing recently?
Kevin: Well, it’s been about a month or a half recently. And there’s so much stuff going on in the background on Contraption Maker, like on Amazon Web Services and Google App Engine, so I have been learning Java and Javscript. And how to talk to and start up Linux servers online, and make them all talk, so lately other than the last few days when I started playing Stellaris I’ve been working on Contraption Maker. But yeah, I have also been playing Stardew Valley!
OK, I actually just bought that myself but have not put much time into it yet, but I’m keen.
Kevin: Yeah, it’s one of those ones that gets you hooked, so I played it until I won that. But that was a few months ago, and now Stellaris has got me. It’s like when you just know… you’re scared to start these because they’re just going to get you hooked and play way too much! (laughs)
So other than those, what are in your opinion some of the standout games since Incredible Machine came out? We’re talking maybe two and a half decades of titles, of course, but I’d like to know what stood out to you.
Kevin: Yeah – I think Deus Ex really stands out to me. And BioShock was good. I guess those kinds of games with good stories were really neat. I played Harvest Moon. That was not on computer but that was fun. I also played Skyrim, and that’s similar to those others where they have a really nice story going on and you feel like you’re in a real world with real people.
Have you played The Last of Us?
Kevin: I have not, but I want to. It’s on my list. But right now I think I have like 300 Steam games!
We all have that problem!
Kevin: Yeah, it’s the savings! It’s the stupid Christmas holiday or summer sales! So, I tried to work my way through them a few months ago before I got really busy on other stuff, and I played quite a few for just a short period of time. Just to get a quick hit and look at what they were doing. But yeah, The Last of Us… that’s one I want to play. It looks really good. Often I ask my kid, “how long does it take to play, though?”
Haha I know that story… do you know that so many people have had that problem that there’s a website called HowLongToBeat.com that tells you average play times, rushed play times, completionist playtimes etc. I reference that from time to time to know what I’m getting myself in for.
Kevin: OK I’ll check that out! I’m not a completionist and I’m not rushed, so I usually go with normal or just a little below normal so I can see stuff. I’m not like when I was younger and wanted really hard, super challenges – now I just want to enjoy it and go through and see what they created.
Well thanks very much Kevin. I’ve really enjoyed talking to you. If readers want to learn a little more, maybe you can share some links or so on?
Kevin: Hmmm, I have a Twitter account at https://twitter.com/TopMdw and we’re updating the Contraption Maker site as well. I’m trying to make a new part every now and then… it’s so great because we don’t ship a floppy, you know? Just ship when you’re done. Every month I can add new stuff and it just updates really easily for people. And every now and then new DLC so I can keep making money and keep doing stuff!
With Steam, it’s great. On the discussion board you can get feedback from people right away, and it’s great. There was a thing when I was there recently and people were talking about these parts that would be cool to implement, and in the past people would have to write a letter in. Or if they had a problem and something wasn’t working, well, now I can just go in and fix that and have an update out in a few days. It’s great communication both ways. I think that’s really cool!
OK, well thanks a lot Kevin! This has been great. Have a good day!
Kevin: Thanks, you too!
A huge thank you to Kevin for taking the time to discuss this old classic. Have a look at Contraption Maker’s official website at http://contraptionmaker.com/ or check out the Steam Community page for Contraption Maker for updates and additional info. Visit http://www.topm.com/ for more from Kevin on his past and present works.