Monday, December 5, 2011

AVWW Multiplayer: The Shattering Of The Multiverse

On Friday we announced the first public alpha of multiplayer, and feedback on that was very positive except for one major point, which was could not have been received more negatively.  The point in question is the "multiverse thing," which is detailed here.

What Happens Next With "The Multiverse Thing"
Firstly to go ahead with the most important news, we're working on an update that will negate most of the stuff with the intentional-desync effects.  We're instead going to be moving to a model where the enemy logic is run on the server and the state will be as consistent between clients as most other games.

To accomplish this, there will have to be some slight wiggle-room in terms of monsters allowed to be in slightly different spots, but it's the sort of thing that I don't think you'll be able to tell even if you had two clients running on computers sitting right next to one another.  Keith came up with this idea over the weekend and was talking about it with players in the forum, and those who have played multiplayer so far seemed optimistic that this would address their complaints.

The good news about this particular fix is that it's really replacing only part of the networking model, since the networking model is already such a multi-headed hydra.  So it's possible we might be able to have this out tomorrow.

The short-term downside for this particular fix is that it's going to really require a lot of rebalancing of enemies, and some complete scrapping of some enemies, to make the model work.  But this is something I was planning to do anyway, just in the interest of making even the solo experience tighter and more fun.  As was discussed prior to this multiplayer fiasco ever coming up.  But we're quite confident that players will help us iron out those temporary bumps in the balance road, and both the single player and multiplayer experiences will be a lot stronger for it inside a week or two.

One more serious downside is that certain things that we would otherwise be able to do, like "offscreen spawning of enemies" for one example.  Or stuff like having bats flee from the cursor.  Or even things like having 300 eagles in a chunk like we currently do.  This isn't exactly a new sort of restriction class for us, as most action games have restrictions along these lines, and even network strategy games like AI War wind up with certain kinds of restrictions on what can and can't be done for reasons of multiplayer.

That said, after much discussion today, Keith and I have explored a lot of the various issues that arise from this change, and things that players were hoping we would change about the existing game even prior to multiplayer (monster spawners, etc), and we both are now feeling really confident that we can simply find lateral solutions to all the various issues.

For the monster spawner example, for instance, we have plans for how we'll be able to remove monster spawners (a popular idea with players) without having to do "offscreen spawning of enemies," which is something infeasible in the new model.  There are several bigger things that will be resulting from that particular change, which I won't get into here, but the general effects are that: "trash mobs" will be fading into obscurity; enemy projectiles will be vastly slower and yet more plentiful; what were formerly trash mobs will become more interesting, more powerful foes; interiors, surface areas, and undergrounds will get differentiated even more heavily; and environmental hazards of new sorts will be playing a much larger role in the game.  Most all of which were things that players were asking for, anyway.

The largest benefit is that we'll still be able to make the sort of game we want to make, while having it work well in multiplayer.  The performance characteristics that you're seeing now, including that extreme latency-tolerance for general gameplay, should largely remain.  Enemies will now jitter around some if you have a really latent connection, but it shouldn't be horrible and that's basically in keeping with any other action game, if not a little better than many of them.

That's part of the benefit of the existing hugely-hybrid networking model that Keith has spent the last two months implementing.  We're able to re-tool part of it without having to affect any other part of it, and the general performance characteristics still remain quite high even though we're treading into some territory now that we'd initially hoped to avoid.  This should be what players are looking for in terms of multiplayer performance/sync, I'm pretty sure, and it represents a technical middleground that until a few hours ago I didn't think would be possible to do.  But Keith's idea, plus some refinement that we came up with working through it together this morning, strikes me as really solid.  Knock on wood!

What Alternatives Were Considered?
Prior to ever implementing the model that we released on Friday, we had implemented a more traditional action game model that just performed completely unacceptably compared to solo play.  We also looked at pretty much every other major networking model that we could think of when it came to other genres that are similar to a lot of what AVWW does.  Nothing really fit this game perfectly, which is why we went with the model we did.

Side Note: We actually went with that model knowing we might have to change something about it, but we weren't sure what player reaction would be to it since no game had ever tried anything quite like that before.  So we made sure to have the general networking be as flexible as possible so that changes would be possible.  And that's part of why we didn't want to talk about the specifics of the model in advance, because we knew folks might not like the idea on the surface of it, and we wanted their feedback on the actual playtesting of it rather than the concept.

Since the release on Friday, and what can only be described as a "polite outcry" from our core playerbase about this one specific design choice (after playtesting, which is precisely the sort of feedback we were looking for), we've been wracking our brains to figure out a better alternative, and players have been making suggestions as well.  Not really any of the suggestions particularly fit with the technical constraints of this game, which are really unique and particularly challenging to work with and explain, but we did get a razor-sharp insight into exactly the sort of performance characteristics that players were expecting and where our current model let them down.

Anyway, so we've been all over the board since then, thinking of radical other models, major changes to solo play to make multiplayer fit, and even not having multiplayer at all (since if the execution of said multiplayer was going to be a detractor, better not to have it at all).  In the end, after many hours of discussion and modeling and remodeling, we came up with the above changes which are actually pretty slight.    Key to being able to settle on that model was talking through solo-affecting core gameplay changes that solo players were already asking for anyhow, and which would be more compatible with multiplayer than the current model.

We think you're really going to like what's coming up, and you won't have to wait long this time.  There are lots of changes coming to the game in general, as anyone who's been following the brainstorming subforum already knows.  The game is really undergoing a transformation from something more rough and alpha-like to something more polished and release-like, which is a great thing all around.

Most of those changes are unrelated to multiplayer specifically, but a lot of them actually do happen to make the new model of multiplayer easier.  And given that we keep getting comments to the effect of "this is how I was imagining the game back when I was first hearing about it" when people read about the coming changes in the brainstorming forum, I take that as another really positive sign.

We really do appreciate all the feedback, and for people taking the time to run through the early alpha of multiplayer for us.  It sounds like overall people were having a lot of fun despite being hugely frustrated with "the multiverse thing," so I think that once we get that shored up we're going to be in happy territory.

No comments: