For the third straight time, I had the pleasure of chatting with the brothers Goldstein of Shizmoo Games, along with the actual developer of Billiard Boxing, about their finalist entry in this year's IGF. If you missed them last year or the year before, then prepare yourself! This year we talk robotic programming, insanity issues, dumb betting, and the real origin of the name Shizmoo (seriously, this time it's for real. No, I'm not kidding). Oh yes, game development is in there as well, but we all knew that!
[size="3"]Who are you guys and what do you do?
Kboom: I am a robotic programmer whose sole purpose in life is to write the 7th and latest version of Kung Fu Chess
Whoopass: I'm Mike LeGrand and I'm a programmer for Big Huge Games
Kboom: Oh yeah, my name's Joshua Goldstein... and I'm one of the best Joshua Goldstein's in the world! If you don't believe me, just check the list on JoshuaGoldstein.com
Deepg: We're a company that tries to make fun multiplayer games using our ever-evolving multiplayer engine. My name's Dan Goldstein, and I somehow turned out not to be a robot despite being Josh's older brother
Kboom: Not yet, at least
Whoopass: I hope this whole robot thing isn't contagious...
Deepg: I do tend to do a lot of programming though, which has a somewhat robot-esque quality to it. Mike is only a robot by association - he works for another company these days
Kboom: Dan, you were adopted
[size="3"]How did you guys meet up with Mike?
Mike: I met Dan in the Graphics Lab at Brown University...
Josh: I met Mike when he swung by our house and we all got pretty smashed
Mike: ...and I met Josh after I became addicted to Kung Fu Chess and came to visit them
Josh: Oh yeah right, and before that on Kung Fu Chess
Dan: We used to both work at Brown, doing research and learning fun stuff. I tried to recruit Mike to help me work on a game project I was doing but failed the first time. Fortunately I persevered; otherwise there would be no Billiard Boxing
Josh: Actually, we might not have met in person except that I owed him 100 bucks from a bet
Dan: That's true...
Mike: (laughs) I forgot about that
Josh: See, his roommate is an international master in chess...
Mike: I bet that my friend could become the number one rated Kung Fu Chess player in one week
Josh: ...and I bet he couldn't learn Kung Fu Chess within a week to beat the number one rated KFC player. But he did =(. Barely.
Dan: Barely! But Josh paid up the hundred bucks and we invited Mike to come hang out and go to a party while he collected it
[size="3"]So Mike what was your role in Billiard Boxing?
Mike: At the time I was working on it, Josh and Dan were busily working on engine stuff and didn't have a lot of time to focus on making new games. I, however, was busy being unemployed. So I sent them a little java app of a chess / billiards game I was thinking about making, and asked if I could test out their engine and make a game
Josh: Chess / billiards?
Dan: We thought that sounded like a lot of fun!
[size="3"]So how does the chess element figure into billiards?
Josh: It doesn't, anymore =)
Dan: (laughing) Yeah I guess we axed that part
Mike: Yeah, that got kicked to the curb. Josh and Dan have very good intuitions about what makes a fun game, and they kinda guided me out of my... hmmmm, lets say "less than fun realm" and into the new "very fun realm"
Josh: Originally, the game was played with two armies of pool balls, each one with a King. Although... actually... I think the original concept of the knock-out style game can be very fun
Dan: The general concept of the finished game is similar to Kung Fu Chess in that it takes a traditional game (8 Ball Pool) and sets it up where the opponents never have to wait their turn. The best part is you don't poke out anyone's eye with the pool cue like you would if two people played at once on a real table, and your fingers don't get smashed to a bloody pulp by moving balls, either
[size="3"]How long did it take to develop Billiard Boxing?
Josh: A month I think?
Mike: I think closer to two
Dan: Mike had to learn how to program using our engine, which took him a little extra time. But it was about a month or two for the first version we released
Mike: It took a while to figure out what we were really going to make
Dan: That too
Josh: Also, Mike had to learn to code in C++ I think...
Mike: Yes, and for me to learn Visual Studio and C++ and all kinds of things
Josh: So that took a few minutes at least
[size="3"]Mike what language did you originally code in?
Mike: I have coded in C++ before, just not very much. I've primarily worked with Java. I love Java
Josh: (brushes a tear away) Awwww...
Dan: Fortunately we have a fun new engine now that is all pure, beautiful java
Mike: Bless your heart...
[size="3"]Where were you all located during development?
Dan: I was in HAWAII!
Mike: BROOOKLLLYNNN represent!
Josh: I was in Los Angeles
Dan: That's not to imply that this is where we all are now
[size="3"]What were your favorite means of communicating during development?
Mike: Almost exclusively via IM
Dan: Josh and I had an unlimited phone plan and we mostly IM'd with Mike. Except that then the phone company tried to charge Josh for it even though it was unlimited. That wasn't pretty. Even with the phone though, we tend to IM a lot for work
Mike: Oh man you guys were using a phone? Cheaters!
Josh: Phones suck
Was communicating tough considering the difference in time zones?
Mike: I find unemployment has its own time zone anyways
Dan: 3 hours wasn't so bad for us, but like Mike says, unemployment time is any time. And self-employment time is similar, so we made it work
Mike: I was FUNemployed!
[size="3"]Were there any bumps along the road during development?
Josh: Mike nearly went insane during the development of Billiard Boxing, if I recall correctly
Dan: I think he stayed in his room for about a month straight
Mike: Yeah... it's true
Dan: We wanted to continue to work together, but for mental health purposes, he needed to leave his room
Mike: But not because I was crazy... only because the purple aliens were out there threatening to eat my face
[size="3"]What's happened to the networking engine this past year?
Dan: Well, we rewrote it. Twice
Josh: (at the same time) It was rewritten 3 times
Dan: (laughs) You liar! Only 2
Josh: Wait a minute...
Dan: In the last year?
Josh: Well... do you count Flash?
Dan: (laughs) No
Josh: okay then, only twice =)
Dan: we had a flash version we recently scrapped. The latest port is to Java. We have some fun new ways of doing things that simplifies everything even further, and will hopefully allow us to open it up to external developers
Josh: Actionscript runs slower than the TI-99-4a, my first computer
Dan: Our games are now on a few major sites (ICQ, uproar, etc.), with more on the way, and we wanted a way for third parties to make games using our system, kind of like what Mike did but without so much setup time and learning curve
[size="3"]I remember we talked about licensing a bit last year, so you guys are still maturing the engine towards that end?
Dan: Actually, we do a bunch of licensing now, but we don't currently have third party developers using the engine. At the moment we make all the games ourselves (except for Billiard Boxing)
Josh: Probably that will begin to happen as of this version of the engine
Mike: I was a pioneer!
Dan: The idea here is really to make creating multiplayer games easy for people to do
Mike: It was already pretty painless when I was using it
Josh: Actually a couple of other games were prototyped... but never released
[size="3"]Does your technology compare/differ to networking libraries like RakNet and HawkNL in any way?
Dan: Well, Rakkar is a friend of ours and we talk all the time about networking; he's the guy who makes RakNet. Our system includes much higher level concepts though. His is really aimed directly at low-level UDP networking
Josh: It includes much of the functionality of a library like RakNet/HawkNL as a subset of the engine. The primary focus of the engine is not to merely provide a low level networking API, but to offer a high level network game creation API, which directly addresses concepts like client/server timestamping, persistence, full (complete) state vs. partial state, and allows programmers to use whatever game networking model is appropriate for their game, while writing the game code exactly as if it were single player
Dan: Yes, the engine is designed to provide a complete environment for authoring and releasing multi-user games, while dramatically reducing the amount of work for the programmer. In most cases they don't have to even know about networking at all
Mike: in layman's terms it's what you might call "pimptastic"
[size="3"]Okay here we go (with Mike's input this time!) - What is the meaning of Shizmoo?
Dan: Third time's a charm!
Mike: (laughing) I've been told the answer to this one. In fact I told the story to my friends the other day at a bar and they all tried to say "shizmoo" in orgasmically charged ways. We weren't very successful
Dan: I'm not sure that can really be done
Josh: I've done it successfully. But I am a robot, and you are not
Mike: I believe the answer is that it was a sound Josh's girlfriend made in bed... is that true?
Dan: It's actually our mom's maiden name backwards
Mike: Oh man!
Dan: You can see why we're not anxious to tell anyone
Mike: Wait a minute... I'm beginning to suspect that these are all lies!!!!
[size="3"]You guys are going to be hard pressed for costumes this year. Okay - who's the 8 ball?
Dan: Mike you gotta get an 8 ball costume!
Mike: I'll start putting on weight and work on my tan. Did you dress up like Scrabble tiles last year?
Josh: No, last year we copped out
Dan: I bought a black Ninja-sorta outfit but it wasn't great
Dan: I'll dress up as the blue chalk! I'll wear a hat that looks like the end of a cue!
Josh: I'll be the pocket? Well, I'll at least have pockets...
[size="3"]Well best of luck to you guys and I'll see you on the floor at GDC
Josh: What? That's it??
Dan: Thank you!
Interview conducted by Drew "Gaiiden" Sikora.