The Guru Speaks... an interview with SkiJunkie
SkiJunkie is the creator of the Java Blood Bowl application, and thus he is one of the reasons that FUMBBL and the GLN exist at all. We managed to track him down to discuss all things BB... and a few more things as well!
GLN: How and when were you first introduced to Blood Bowl?
SkiJunkie: I was about 14 or 15 and I saw 2nd Edition Blood Bowl at a local hobby shop. I'd already been interested in fantasy settings since I was 9, when I read my first fantasy novel - "The Elfstones of Shannara" by Terry Brooks. Still one of my favorites. Anyway, I got it, and played a few games with friends. Soon after I found and got the Dungeon Bowl expansion, and that is when it really got interesting. Under 2nd Edition rules, (IMO) Dungeon Bowl was a
much better game. I played Dungeon Bowl a lot more than 2nd Edition Blood Bowl. We even had expansion dungeon tiles and made large sprawling dungeons to play in. But even then I didn't get to play a whole lot. It wasn't until 3rd Edition came out that I really started playing often. 3rd Edition was such a huge improvement with turnovers. It took a game
that used to sometimes take two days to finish down to about 3 hours. That was awesome.
The familiar splash screen
GLN: Do you still play in a tabletop league?
SkiJunkie: No, I just don't have the free time. I rarely even get the hour and a half of free time
necessary to play games using JBB.
GLN: Rumours say you have a "ghost" account (anonymous) on FUMBBL - do the dice treat you well?
SkiJunkie: No, no they do not. :-) Actually they probably treat me about average, but like most people, I tend to remember the bad more than the good. So games where my elves literally could not pick up, throw, or catch the ball 80% of the time with rerolls tend to remain on the top of my game memories. But I can also recall games where every single TTM succeeded in a score. But, while bad/good luck can really turn individual games one way or another, good placement/stategy will win out in the long term.
GLN: Here in the GLN we know everything about this "ghost" account, of course, but rest of the coaches don't. Could you give them a little hint about it, just for fun?
SkiJunkie: I'd rather not. And here is my major reason. When I do get the free time to actually play a game, I want to be able to sit there and play a game and have fun chatting just like any other player. Chances are I'm not going to have the time to answer questions or try to fix an issue someone is having and also get to play the game. So to do this requires an anonymous account. So if some clever FUMBBL player solves my hint and word gets out, I lose that. The only way to get that back would be to create another new anonymous account. That means leaving all my teams behind, and I'm sure most people can agree that is not something anyone wants to do.
GLN: What is your most memorable (or the three most) "result" of your work on JBB - any interesting fan mail, surprising developments, enlightening revelations?
SkiJunkie: I have to say the most suprising development from my work on JBB has to be the FUMBBL Web site. I am amazed how well run and how big FUMBBL has gotten. (Not to discount FranceBloodBowl or any other online league, it is just hard for me to understand what goes on over there with my one year of high school French). I find it mind boggling the number of games played on FUMBBL using JBB. So everyone using JBB, support Games Workshop and buy Blood Bowl if you haven't already.
Also suprising is the number of emails people send me just to tell me how much they like JBB. I kinda wish I had collected them all and put up quotes on the Web site. Kinda like you see on the back of novels and DVD movies.
Last but not least is the GLN. I love it. I read every issue.
GLN: How much time total, and average per week have you spent on developing JBB, approximately?
SkiJunkie: I don't get as much time as I used to. But surprisingly I never did get loads of time. Only on rare occasions like Christmas vacation do I get consecutive hours to sit down and work on it. This last Christmas break was used to set up the majority of the handicap code. So it is very hard to estimate. Typically I get free time in 20-30 minute spurts where I take a break from whatever else I'm having to do. Most of JBB has been coded in these short little increments. A lot of times I will get interrupted and have to stop right in the middle of something, so I have to type in some quick notes to remind me what the heck I was doing when I get back. You can imagine that if I can't reproduce and fix a bug in 20-30 minutes it usually goes on the backburner. That's where I have to rely on coaches to send me detailed info on how to make a bug happen. The easier it is for me to make it happen the more likely it will get fixed. Wow, long answer. Ball park I would say I get about two 20-30 minute sessions a day Monday thru Friday when I take breaks from my paid job. And reading Bugzilla and just trying to recreate bugs can eat a lot of that time up. I typically don't work on JBB during the weekend, as that free time is reserved for me. :-)
GLN: What would you have done totally different if you could start over?
SkiJunkie: I would have sat down and properly designed the whole system. As it was I just started
by making a field you could put players on and move them around. Then I would say, "Let's see them throw a block," or "pass the ball" and I would add that in. So basically it is the lack of planning that causes stuff like the inability to return to the setup screen once you leave it. The original game didn't have a setup screen, it was hard coded to start and load Reikland Reavers vs Gouged Eye. The setup screen was just tacked on later to allow a way to select teams and options.
GLN: What is your favourite, and what the most hated feature/skill in JBB?
SkiJunkie: Favourite: I guess my favourite features would be the ability to spectate and the ability to download player pics and team logos. I love being able to go to the games page on FUMBBL and quickly spectate a game for a couple of turns. So I guess that makes the FUMBBL login feature one of my favorites as well, since it feeds the FUMBBL games page.
I would love to make the board look and play like Warcraft with fully animated sprites. And the only thing holding me back is my inability to draw them myself. Anyone know how to get the animations out of the older Warcraft games? Maybe I could modify and use some of those. That would be my favourite feature if some graphic artist would make the animation frames for me. :-)
Most hated: Probably my most hated feature is the ability to play through a proxy. Not because it isn't useful, and not because isn't a neat and necessary feature, but because too many games are played unnecessarily through the proxy. Since proxy games are more prone to having really weird problems when there are connection issues I spend much of my time looking at problems I ultimately don't have much chance of fixing with the current code base.
Let's look at this example to explain: Let's assume that 99.99% of direct connect games do not get out of sync because of connection issues. Lets assume that 99% of proxy games do not get out of sync because of connection issues. There were over 100,000 games played on FUMBBL last year so let's just look at the difference between 100,000 proxy games and 100,000 direct connect games.
99.99% of 100,000 = 99,990 good games. That leaves 10 bad games. Assuming only 10% of problems are reported, that leaves 1 bug report.
99% of 100,000 = 99,000 good games. That leaves 1000 bad games. Assuming only 10% of problems are reported, that leaves 100 bug reports.
So if the stability difference between the direct connect and proxy games is only 0.99% (I think it is actually a much bigger difference) then out of 100,000 games I get 100 times the problems to look at.
GLN: Wild guess: What will JBB be like 3 years from now?
SkiJunkie: You will jack in like Shadowrun or the Matrix and take control of either a player or coaching staff and play like you are there. Hopefully I can manage to keep the game feedback from actually hurting and killing the jacked in players, but if not...well it is BLOOD Bowl. I guess it depends on what changes show up in the LRB. Hopefully in three years I'll have Dungeon Bowl to the state where JBB is now. I'd love to see a Dungeon Bowl division on FUMBBL. I would guess long games of Dungeon Bowl would only take about 30-45 minutes. I could squeeze those into my limited schedule much easier.
GLN: Which races do you like to coach most in Blood Bowl?
SkiJunkie: I'd have to say the original Undead and Human. Undead mainly because it has my favorite fluff. Human because they have a little of everything. In 2nd Edition Dwarves were my favorite, mainly for Dungeon Bowl. They just fit the setting so nicely.
GLN: Do you play any other GW games or any other general board game?
SkiJunkie: At one time or another I have played a few GW games. After Blood Bowl one of my favourites was Adeptus Titanticus. I also liked Space Hulk, without the two expansions. I had a dwarf army for Warhammer Fantasy Battle but only played a few games of it. I played a bit of Warhammer 40k after that boxed set with the plastic space marines came out. Outside of Games Workshop I played Battletech a LOT. A WHOLE lot. I actually almost started a Battletech game instead of Blood Bowl, but I had, a few years earlier, already written a Battletech game engine in C++ and put a partially finished Visual Basic front end on it so I wanted to do something different. Then there was this childrens game called "Dungeon". That was a fun quick game to play with a bunch of friends and not have to think too much.
GLN: Silly OT: Italian or Chinese food? Pepsi or Coke?
SkiJunkie: Italian. If from a can, Pepsi. If from a fountain, Coke.
GLN: Is it true that the famous "swooosh" sound we all love and hate in the client was recorded live in your bathroom after a specially memorable... hum... feat?
SkiJunkie: Hahaha.. This would be the injury sound? No comment, because that rumour is funny. But I am sure some of you out there know exactly where that sound came from.
GLN: Do you have a ETA for the handicap table to be (almost) finished?
(We still have doubts about the viability of Handicap 14: "Inspiration")
SkiJunkie: I don't. I haven't even had time to work on them in a while. All the ones that require a skill choice within the client are definitely on the back burner. This includes Intensive Training, Inspiration, and Bribe the Announcers. These require the client to know the category of each skill and also to know what categories each player is eligible to get. As that would be a lot of work and I still expect the handicap table to change next review I might just not even try implementing these three until after the next review.
GLN: Considering the sheer amount of work involved, we have two questions about your motivations:
1) Did you decide to code the client because you thought it would be a good way to get chicks?
2) Were you drunk as a monkey when you decided to code it?
(NOTE: You don't need to answer number two if you answered "Yes" to the first one)
SkiJunkie: While drunk as a monkey I decided that coding it would be a good way to get chicks. Needless to say I am horribly disappointed, so I get drunk as a monkey and the cycle continues.
GLN: Why on earth would you do this, for free? (Thx for that, BTW)
SkiJunkie: I'm not doing it for free, I'm doing it to get chicks. Seriously, I started it and continue to work on it to learn more and more Java features. So this is why you'll see me add "nice" features that make people grumble, "Why did he do that when the [some game feature] isn't done yet?" I added those features because I wanted to see how to do it in Java. I fix stuff so that when I get time to play it will work for me. :-)
I also do it so that I will have the chance to play. I don't have time for IRL games, and I don't
have the patience for e-mail games. And thanks to FUMBBL I can rest assured that when I get time to play a game there will be plenty of teams and coaches to pick from in the IRC chat channel.