|Top Previous Next|
Jibb Smart has created an addictive game that is bound to keep you, your parents and your grandpa tied up to the same computer keyboard. Read this interview to find out why this will happen for sure.
Q:Please give us a few details about KarBOOM: what type of game is it, what does the player have to do, etc.
A: KarBOOM is a fairly simple multiplayer car-combat game. All players share one screen and each control a car in a simple arena. Depending on the level, game mode, and mutators, players can bump each other out of the arena, cause each other to explode by various means, or may have to fulfill other objectives to accrue points / preserve their lives. The shared-screen multiplayer approach (as opposed to split-screen) is a key component -- I believe multiplayer gaming is at its best with those next to you, and by sharing one screen and having simple controls I can have many players on the same computer: 4 on a good keyboard, and up to 8 on gamepads.
Q: It is quite clear that a lot of work went into network programming; could you please describe a few of the multiplayer features that make your game stand out?
A: From a player perspective, the most important feature in online/LAN play is the ability to have other players join you on the same computer in your online game. Most multiplayer games offer online play, and some offer offline multiplayer, but those that offer both usually offer it as an either/or option. Mixing the two is rare, and is basically the reason Warhawk (on PS3) is absolutely amazing. I want someone to have their friends over playing KarBOOM on their computer and, after a few rounds, say "Let's try something bigger" -- they'd go online, find an online game with a few dozen players and room for a few more, and then share a huge chaotic battle with each other.
From a developer perspective, network programming is an extraordinary amount of effort to provide a solid online play experience that is largely taken for granted by players. The bar for "solid online play" is set very high by other games, so I'm always worried about how players will respond to the quality of the online play. So far it has been really positive, which is a huge relief! But I'm still waiting for someone to tell me it's completely rubbish -- that has actually happened, but it was very constructive feedback, and resulted in a huge overhaul of the way network play works which has been well received thus far.
Q: How many people can play the game at the same time over the internet without being slowed down? How did you manage to achieve that?
A: The shared-screen aspect of KarBOOM is freeing and limiting in different ways. One way it is limiting is that everything is fairly close together. This means there's very little room for me to optimise network traffic by having distant players send less information. Still, the near-ubiquity of broadband (particularly among gamers) means 48 players -- the maximum car count in KarBOOM -- shouldn't cause any problems at all.
Each car sends at most 112 bytes per second, but typical play sees a lot less than that.
I achieved this in a number of ways:
First, packet size. Most information is packed into chars and shorts. Upon receiving a data packet, its contents are unpacked into larger data types. Pro's dplay_encrypt helps this further.
Then, update frequency. Input updates are sent at most 8 times per second, if each player's input changes extremely frequently. Player updates are sent at most 4 times per second. All the in-between is simulated client-side with KarBOOM's physics (which I wrote in Lite-C) based on each player's input. At the very least, player updates are sent once every 4 seconds (KarBOOM is fairly smart about whether or not it's necessary to send an update). While it is technically more efficient to send fewer big packets (to a certain extent) than a lot of tiny ones, I've found that very little information needs to be sent regularly, so I have 23 different packet types, most of which are only updated once every few seconds.
Q: Please describe the bot (AI) personalities for us.
A: Ah! Their "personalities"! Hmm... I think I usually describe them as stupid and relentless. They have no awareness of their surroundings whatsoever. If you play on Pits or Donut, you'll find they regularly cause their own destruction.
When I first implemented bots it was one afternoon's work to give players something to do while I worked on online play. The only levels available were simple circles with no hazards within their bounds. As such, it was relatively safe to have each bot choose a random target and just go for it -- if there is someone to chase, odds are that there are no hazards between the two cars. The AI has changed very little since then -- they now know not to chase the "it" car in tag, and they now lose interest in a car that is on grass (for those who don't know, grass is a hazard in KarBOOM).
So, they're stupid. But they're also relentless. They'll never stop driving until every other car is destroyed, and they never play evasively -- if they appear to dodge you, they're actually just turning towards another car. Oh, and they're vengeful. If you bump into one, you'll become their new target.
As such, they accrue a lot of points, but also lose lives very quickly. They're fairly easy to beat in life-limit mode if you don't ask for trouble, but in other modes you'll have a hard time keeping up with their score.
Q: Can you tell us a few words about mutators? What do they do?
A: Mutators are an extremely important aspect of KarBOOM. They change the way points are awarded, lives are lost, or the way cars interact with each other. The difference between a "mutator" and a "game mode" is that mutators are not mutually exclusive. Weak spot, for example, makes cars explode if they're bumped from behind. Some players think cars should always have weak spots, while some find it's often too chaotic and detracts from the other enabled mutators. The boost mutator adds a new layer of depth to car control and is almost always used. However, players can disable it if for example they are teaching someone the basics of KarBOOM, or if four players are sharing one keyboard and the extra key is just too much (key-jamming is common on a lot of keyboards when shared with several players).
Mutators like king of the hill, hold the flag, and tag affect the scoring in significant ways, and so games are often set up with only one of those enabled. But there's nothing stopping players from mixing tag and king of the hill, and having the "it" player chase everyone out of the safety of the "hill" as they attempt to tag someone else. Thief is very subtle, and just affects the way points are awarded -- players lose points if they're knocked out by another player. It's more interesting in combination with life-limit, where you can steal other players' lives by knocking them out. It's really just a different way of scoring. Some prefer it, some don't, but it doesn't get in the way of other mutators at all.
Finally, sapoi is the least popular mutator as far as I know. It requires 3 or more cars, and gives every car a target (indicated by a cursor pointing in their target's direction). If they collide with their target they have a momentum advantage -- their target is sent rocketing away while their own velocity is hardly affected. They have to be careful, though, because every car is someone else's target. Think of it as Rock Paper Scissors on wheels. In fact, when I originally thought up KarBOOM, it was intended to be Rock Paper Scissors on wheels, with other game modes there just for variety's sake. There were other variations of sapoi planned, but they went out the window very quickly, since players didn't care about it.
Q: What game modes do you plan to implement in the final version of the game? Please give us a few details about each one of them.
A: Free For All -- This is KarBOOM as it is now. It isn't called that now, simply because there are no alternatives.
Teams -- Multiplayer games are usually more fun with teams if there are more than a few players, so it's about time KarBOOM had team play. In fact, a new open alpha with team-play implemented should be released before this magazine is.
Racing -- It's amazing how many players have requested racing in KarBOOM. Between that and their disinterest in sapoi, it really shows the importance of player feedback during development. If I had the patience and perseverance to make KarBOOM from start to finish with no public alphas, it would be a very different game.
Soccer -- Years ago I saw an episode of Top Gear where they played soccer with cars. It was amazing. From that moment on I knew I had to make a car soccer video game. I think it will work really well in KarBOOM.
Gamble -- Inspired by the card game 500, everyone places bets on how long they will last if every other car is trying to take them out. Whoever bets the highest will be the target for the next round -- everyone must do their best to take them out as fast as possible. The target must stay alive as long as they bet they would. If they last as long as their bet, they get that many seconds added to their score. If they don't, they get the amount of time they bet taken away from their score. Then the next round of betting begins. First to 500 points wins. Players who reach -500 are no longer allowed to bet, but can still try and take out the target. That's the idea, anyway.
Q: I see that your game has got quite a bit of attention from the media lately; how do you plan to monetize it?
A: The amount of media attention KarBOOM is getting has been really encouraging! In the early days I wanted to have everything free except online play, and have players pay to be able to play online. This is no longer the plan, because it doesn't make sense -- KarBOOM is at its most fun played offline, in my opinion.
So for the last few versions I've been trying to make it clear that KarBOOM is in an "open alpha" state -- open, in that everyone can play it freely, and alpha, in that it's not feature-complete. Sooner or later I will stop releasing open alphas (already released alphas will still be free to download and play) as I work on beta versions with the help of some private testers. The final version of KarBOOM will be released on about as many digital distribution platforms as I can find, along with a free demo.
It's a balancing act at the moment -- open alphas are extremely helpful for getting attention, suggestions, and bug-reports. However, I'd like to go into "closed development" soon enough that the final demo version can offer at least as many features as the open alpha, while the full version offers enough more features on top of that to be worth buying.
Q: What is the most important piece of advice that you would give to a beginner to game development?
A: I've thought about this question for years! This has always been one of the most important questions to me in AUM interviews, and I've often wondered what I would say if I got this opportunity. Now, how can I keep this short? Hmmm...
Make a very simple game very quickly.
Choose or think up a design that you can finish extremely quickly, just for the sake of the learning experience. This will definitely not be your "dream game", but none of the work and practice you've been doing will teach you how to finish a game. It's way harder than you'd expect, requires you to work in ways you aren't used to, and you can only learn by trying it. As such, choose or think up a very simple concept you think you can finish in a week (it will actually take longer), and make that into a finished game.
It doesn't even have to be that original -- a Breakout, Tetris, or Pong clone is enough. Just finish it, so it has a working UI, sounds, original visuals (don't have to be great), all its features work, and hit the "publish" button.
Obviously you have to learn to make games first, and the best first steps are definitely the AUM workshops and the workshops you can find under "Online Tutorial" at the Gamestudio forums. But so many users never get beyond the occasional snippets and prototypes (myself included for many, many years) because there's too much difference between simple prototypes and completing your dream game. That's why you must invest a week (which will turn out to be longer) into finishing at least one simple game.
Thank you a lot, Jibb!