Help this game get on Steam!

Take a look around and learn about this game. If this is something you'd like to see available on Steam, you can help by rating it up using the buttons below. Click here to learn more about this process.

KarBOOM
Jibb  [developer] Oct 12, 2013 @ 1:39pm
Why there's no online multiplayer
First, let me make it clear that online multiplayer was tested, through a variety of implementations, for KarBOOM.

So there'll be three parts to this; feel free to skip over whatever you're not interested in:
  • 1st, how it worked in the first online implementation.
  • 2nd, how it worked in the second implementation.
  • 3rd, why you should still consider getting a multiplayer game with no online multiplayer.

Comments and questions are very welcome, hence putting this under "Discussion". :)

Online multiplayer in KarBOOM - Version 1
The implementation
Client-server model (that is, one computer, hosts the game and everyone else is connected to that computer). Clients would send input data to the server as soon as they received it, and the host would update all kar velocities, positions, input data and so on, and notify all the clients.

The physics calculations are mostly deterministic, so clients could anticipate the motion and acceleration of all players with occasional updates from the server even when no one changed their input to keep things in sync. This kept traffic low, and was done regularly enough that there were no synchronisation issues at all.

The benefits
No synchronisation issues at all. Everyone experienced the exact same game. There was no perceptible sliding, shifting, or popping as clients realised kars were supposed to be doing something else, because clients always knew what all kars were supposed to be doing as long as the connection was maintained.

This is especially important because kars interact with and defeat each other exclusively through position and velocity. It's critical that all players know where other kars are relative to theirs, and what they're doing, because if two clients disagree on when a kar boosted, for example, by even a small fraction of a second, player A could think they dodged their opponent, causing their opponent to careen off the edge of the stage, while player B could think they hit their opponent, knocking them off the stage and bouncing themselves back to safety.

The problems
Laggy input. Like, really laggy input. The time it took for input information to go from the client to the server and back resulted in really laggy input, which alpha testers consistently complained about (and rightly so!).

But game streaming services like OnLive are responsive enough. Why isn't KarBOOM?
Good question! OnLive always picks a server relatively close to the player's computer, reducing lag. A game of KarBOOM between someone in Germany and someone in Canada (as was often the case during testing) is guaranteed to have latency issues for at least one player, not only making the game feel unresponsive, but also putting them at a disadvantage compared to other players.

What do other games do to resolve this?
There's a few things they do:
  • They tend to encourage (or even force) players to join games hosted near them. This isn't a viable option for a game with a small player-base, developed and supported by someone who can't afford to rent dedicated servers around the world.
  • They tend to give the client computer more direct control over their player, which is what I tried for Version 2 below.

Online multiplayer in KarBOOM - Version 2
The implementation
Client-server model, again. This was the same as above, except kars would respond immediately to player input and tell the server to play catch-up. The server would decide if, based on the latency, the kar's current position, and the new information given, this move was fair. If so, that change would be propagated to all other clients, who'd smoothly update that kar's position.

The benefits
Testers reported wonderfully responsive kars. Just like playing offline multiplayer. They felt "in control" again and were able to make the last-moment decisions to dodge other kars, turn and protect their weak spot, or whatever else they needed to protect themselves.

The problems
It was now extremely difficult to actually knock out another competent player. Player A would line their opponent up, charge towards them, and tap boost to help them knock their opponent off the edge. All it'd take for this to fail is for player B to boost out of player A's way. Until all the clients get caught up with the server, player A sees their kar knock player B towards the edge, and that collision knocks player A back to safety. Player B, however, sees their kar dodge player A, leaving player A's kar careening to their doom off the edge of the map. Neither of these interpretations are correct from the server's end, so once the clients are all updated by the server, each player sees the other player's kar quickly slide back to a safe position and velocity. No one got knocked out.

In testing, this happened a lot.

What do other games do to resolve this issue?
One of the most popular genres of online multiplayer games is the first-person shooter. In these, players interact with each other less directly, so delayed results aren't a big deal. If player A and B both have equally valid claims to have killed each other, they'll usually just both be killed, appearing to others to have shot each other to death at the same time. KarBOOM cannot make this decision, because a player's destruction is determined by where they are, rather than how much health they have. Players A and B would both be furious in KarBOOM if their kar appeared to spontaneously explode or be pulled off the edge of the stage in order to satisfy the other player.

Other physics-driven games tend to have less-direct player interaction, or at least less-regular player interaction. A racing game, for example, may be physics-driven, but collisions with each other are relatively rare and have less drastic consequences. Such games that add weapons find they have the same solutions to lag that first person shooters use. KarBOOM does not.

Why get a multiplayer game with no online multiplayer?
Local multiplayer has always been a hugely popular and social genre. Before consoles had widespread online capabilities, local multiplayer was the norm when having people over - whether it was Mario Kart, Goldeneye, Super Smash Bros, Micro Machines, Mashed, Halo, and so on.

The PS3/XBox 360 generation has been somewhat negligent when it came to these types of games as online multiplayer became ubiquitous. However, a lot of these types of games continue to be best-played with people you know, playing right beside you.

But seriously, I don't have a bunch of PC controllers... this game is wasted on me...
No! Give it a go :)

2 players can play pretty comfortably sharing a keyboard, as long as the keyboard isn't rubbish (some keyboards ignore keypresses when more than a couple of keys are pressed at the same time).

Hear me out...

Every game mode in KarBOOM has levels designed with 2 players in mind. To me, these are the best tests of skill. While playing with more than 4 players is great chaotic fun, 2 or 3 players make for a better skill-focused game, and KarBOOM is built to accommodate that.

The simple controls of KarBOOM make it easy for one player to play with the keyboard arrows and the other to use WASD (add in Shift and E for boost, respectively). It's in this way that my roommate and I regularly have duels, or pit ourselves against a team of bots with the Flag mutator, or bid against each other in Gamble.

Finally:

You probably do have PC controllers, even if you don't realise it.
If you own an XBox 360 or PS3, you almost certainly have at least one PC controller. Their controllers are compatible with your PC, whether you're running Windows, Mac or Linux.

Wired 360 controllers plug in to your USB port and are automatically compatible with your Windows PC, or with Mac and Linux with the right driver. PS3 controllers all connect by USB anyway, and will work on your computer with the right driver.

Check out PCGamingWiki.com's Controller page[pcgamingwiki.com] for simple step-by-step instructions for getting your console controller to work on whatever kind of computer you use.

Also, if you're getting a PS4, apparently its controller will work like a standard plug-n-play controller when connected to your Windows PC[www.eurogamer.net] (EDIT: and reportedly Mac as well!), no drivers necessary.

And all of this can be tested in the demo :)

EDIT: Will there be online multiplayer in future?
(from the comments):
There is definitely a chance, and quite frankly it depends on KarBOOM being relatively successful (by no means a blockbuster - it's just me working on this game, and I don't need much to get by). If I can't support myself with it, I can't afford to continue working on it post-release.

I do want to explore online multiplayer further, but I just can't afford to at this stage, especially since the first prototypes were so unpromising. It's the nature of the gameplay that makes online multiplayer potentially unviable, and a much more challenging prospect than that of most games. But there is also room for further experimentation.
Last edited by Jibb; Oct 25, 2013 @ 4:40pm
Showing 1-14 of 14 comments
< >
КАЛЯКАМАЛЯКА Oct 13, 2013 @ 12:33pm 
ok
Professional Wumbologist Oct 13, 2013 @ 2:35pm 
I wouldn't buy this game without online multiplayer on my PC, but maybe my xbox.
Jibb  [developer] Oct 13, 2013 @ 10:34pm 
Originally posted by Uncle Dolan:
I wouldn't buy this game without online multiplayer on my PC, but maybe my xbox.
That's totally fair. If it was up to me, and it was possible to do cheaply, KarBOOM'd be on consoles because the audience is there already.

As a PC gamer with gamepads, I love seeing games support gamers like me (like when I found out Serious Sam 3 has splitscreen on the PC version), and since I can only afford to develop for PC (Windows, Mac & Linux) at the moment, I'm hoping there's a large enough like-minded audience.
Sagan Oct 14, 2013 @ 6:46am 
confused, what do you plan on having in the final version? No online MP MODE?
Jibb  [developer] Oct 14, 2013 @ 9:03am 
Originally posted by Sagan:
confused, what do you plan on having in the final version? No online MP MODE?
That's right. It's all about local multiplayer.

If KarBOOM is doing OK once released and I can continue working on it, apart from first supporting it with more content (this may be new levels, new mutators, new game modes... we'll see what people want), I would like to explore online multiplayer again. But after months of testing with no viable solution in sight, I had to decide which features were critical for KarBOOM's release and which weren't.

KarBOOM got a lot of positive attention without online multiplayer. So my focus has been to make sure it can be thoroughly enjoyed with only two players (which can be comfortably played with no extra peripherals), while also letting players with lots of gamepads make use of them.
Professional Wumbologist Oct 14, 2013 @ 5:39pm 
Will it have any bots?
Jibb  [developer] Oct 14, 2013 @ 10:09pm 
Originally posted by Uncle Dolan:
Will it have any bots?
Yep. It has bots right now, in the demo. They aren't amazing, and one-on-one against a bot doesn't really compare to one-on-one with a human, but we often play humans vs bots to mix things up, and my roommate likes to play against bots on his own sometimes when he's not studying.
The Real HELLCAT Oct 15, 2013 @ 2:15am 
Local MP > Online MP

ofc, that's only my opinion, but this is it.
I enjoy playing with my buddies actually being around way more than online, so all's cool :-)
Stings2pee Oct 17, 2013 @ 4:33am 
A few friends and I have been looking forward to this game thinking that it'll have online multiplayer. I only just found this and I gotta say that I'm pretty disappointed.

Is there any chance this will support multiplayer in the future?
Jibb  [developer] Oct 17, 2013 @ 8:27am 
Originally posted by Stings2pee:
A few friends and I have been looking forward to this game thinking that it'll have online multiplayer. I only just found this and I gotta say that I'm pretty disappointed. :whine:

Is there any chance this will support multiplayer in the future?
There is definitely a chance, and quite frankly it depends on KarBOOM being relatively successful (by no means a blockbuster - it's just me working on this game, and I don't need much to get by). If I can't support myself with it, I can't afford to continue working on it post-release.

I do want to explore online multiplayer further, but I just can't afford to at this stage, especially since the first prototypes were so unpromising. It's the nature of the gameplay that makes online multiplayer potentially unviable, and a much more challenging prospect than that of most games. But there is also room for further experimentation.
Last edited by Jibb; Oct 17, 2013 @ 8:31am
[ÄSS] Muffel Nov 11, 2013 @ 8:04am 
Why is lan-multiplayer not an option? Many laptop keyboards only have 6kro or worse which may be enough for two people but not more.
At the moment we have to plug a second keyboard into the computer, which works okay, but not amazing.
Jibb  [developer] Nov 11, 2013 @ 8:49am 
Wow, multiple keyboards never occurred to me. I'm glad that's working for now, even if it's not ideal.

LAN is definitely an option for the future!

LAN-multiplayer relies on the same underlying algorithms as online multiplayer, and the online prototypes were made in a different game engine. After switching to Unity, it was already apparent that online would be too much work to get working in time for release (if ever), so I focused on other aspects of the game. Thus, the current version of KarBOOM just doesn't have the underlying infrastructure for LAN - yet.

If and when I can explore online again, regardless of the viability of online play, LAN will likely be added, because it relies on the same algorithms I'll be testing for online anyway, while removing most of the lag factor.
ArchAngel Dec 6, 2013 @ 4:49pm 
Jibb, this game looks really fun, but it really needs LAN and online multiplayer. I'm glad to hear that LAN will be added later. LAN won't have the latency issues you dealt with during the online tests. Also to address your online multiplayer issues, if you don't have the budget for multiple dedicated servers, you could wrap the client and server into the game and setup a single dedicated server to setup matchmaking between local peers that place themselves in a region queue (there are more advanced techniques). That way you wouldn't need any dedicated servers for running the game. If you think you could optimize it enough such that a client and server could run on a modest PC today, this could be a good alternative if money is an issue.
Jibb  [developer] Dec 7, 2013 @ 2:21pm 
Hi Dr Quack,

Yeah, the early test versions didn't need dedicated servers - one of the players could be the server. But problems with port-forwarding, even with a UPnP plugin, meant that a very significant portion of those who wanted to play online were not able to host games online, or even not willing to.

This meant there was still more demand for games in any given region of reasonable lag than there was supply. By quite a bit.

I still can't guarantee LAN will be added later. It's very high on my priority list, but also requires a big time commitment that I won't necessarily be able to afford to make.

For now, an AI update is nearly finished, with new skins, more difficulty levels, smarter bots in general, some bug fixes and some other tweaks.

We'll see how things go with that and potentially a content update, and then hopefully I can invest some time in the LAN (+ maybe multiplayer) update, which I agree could well be the most important thing for KarBOOM.

Showing 1-14 of 14 comments
< >
Per page: 15 30 50