Thursday, February 24, 2011

Multiplayer, The World Map, Regions, and Windstorms

This week there is less to visually show you for A Valley Without Wind, but it's been a hugely productive week nonetheless.  An updated screenshot gallery is now on the main AVWW page.  And here's the latest video:

Perhaps the most exciting thing in progress at the moment is multiplayer.  It's been almost two years since I wrote my case for co-op games, but everything in that post still holds true -- and we're really excited to be bringing multiplayer to AVWW.  It's mainly a co-op game, as a lot about the stats and world is collectivized rather than for individual players, but there's room for pvp content if the server administrator wants to allow it.

That's right -- an Arcen title with servers, rather than peer-to-peer connectivity.  Unlike RTS or puzzle games where peer to peer gaming is the norm, AVWW follows a model more like an FPS game or similar.  You can launch the game server on any computer, and then other players can connect to it (including the computer running the server, if you wish).

We're not going to be putting any explicit limits on the number of players per server, but we're not sure it will do well with more than 16 players -- we'll see, and obviously it will depend on the hardware and connections in question.

Right now it is still super early for the networking in this game, and this game uses a new style of networking for us (the action-game-style "diffs-only" model, rather than the RTS-style "fully-synchronous" model that we have always been accustomed to).  Using a whole new networking model is likely to lead to a whole new set of problems than we're used to, and so until recently we'd been wondering if we could really accomplish networked multiplayer at all with this title.  It's still early yet, but it's looking promising and at this point we're pretty much committed -- we just can't imagine this game without multiplayer at least being an option.

Keith has been absolutely invaluable for this part of the project, taking over the networking for the time being since I simply don't have the time or the mental energy for it at the moment (between juggling the art and the parts of the programming I'm working on, that taps me out for now).  This style of networking has been the only big "can we really do this?" component of this project for us, and so we're really happy to be tackling this now and finally putting that question to bed.  So far it's still very early, as I noted, but it's looking quite promising.

I expect we'll find all manner of multiplayer-specific issues in alpha with the help of all the players with various configurations and setups, but it should be orders of magnitude less pain and trouble than what Minecraft has been going through to get them from alpha to beta -- that's another reason why we're hitting the networking sooner than later.  Fingers crossed.

World Map
The other big new thing this week, and this one does have a visual component, is the world map.  Each tile on the map is a "region," and consists of one big outdoors area with a variety of buildings, caves, tunnels, and so on leading down into the earth or up into the sky.

Each one of these areas where you can walk around contiguously is what we call a "chunk," and up until now we've just been working with a single outdoor chunk at a time.  That's been great for early testing purposes, but it's not representative at all of how the real game is to be structured.  Now we're finally getting that overarching structure into place.

Right now the movement on the world map isn't smooth, as you may notice from the video above, but that's just something we haven't gotten to yet.  The functionality and visual style is pretty much all there, though -- the world is set up like a set of Carcassonne pieces, laid out in a rounded grid-like pattern.

All the tiles on the world map are called individual regions, and get populated as such.  There will be many, many types of regions in the game as we move toward version 1.0 of the game, and I'm hoping to have even around 20+ in place by the start of alpha.  At the moment we have 7: Grasslands, Grasslands With Tree Clumps, Ice Age Snowy Plains, Ice Age Snowy Woods, Ice Age Thawing Plains, Ice Age Thawing Woods, and Junkyard Crates.

In turn, all of the regions are organized into super-regions, which span multiple tiles and create the realistic/interesting distributions that you see in game.  Some super-regions are more rare than others (some are very rare), and individual regions have a rarity within their parent super-regions.  Right now there are 4 different regions in the game: Grassland, Ice Age General, Ice Age Thawing, and Junkyard.

My goal for alpha is to add another 4-6 regions, but we'll see how things go and how much time I have between now and alpha.  This week a lot of my time was spent designing these regions, doing art for them, and doing a lot of code related to getting regions set up the way that I wanted.

The best thing about each individual region is that it can be populated in so many different ways -- regions are just the most coarse descriptions of what an area will be like, but there are thousands of possible types of grasslands, for instance.  And that complexity is only going to grow even further as my content generation work continues.

On the world map, you move between pieces an entire piece a time (rather than smoothly), and each time you do it counts down on a "movement counter" in the upper right corner.  Right now that's set to a really high number for testing purposes, but in-game that number is expected to start at 4.  Every time you hit 0, a "windstorm event" happens, and the counter resets to 4.

These windstorm events suck you into the region you're standing on, and involve a huge amount of blowing wind -- and possible rain/snow/sand as appropriate -- along with monsters that are all super-powered and extra prevalent until all characters have escaped from that region.  This makes travel difficult,  particularly in parts of the world map with levels higher than yours (region levels aren't in place yet, but are something I've talked about on our forum for AVWW).

But, there's a catch -- if you've constructed a wind shelter on a region, you'll see a little wind shelter icon on that region's tile on the map.  If you're standing on a region with a wind shelter when your counter hits 0, then nothing bad happens to you at all, and the counter just resets to 4 instantly.  In this way you can "colonize" the world in yet another way other than the settlements that we've talked about in past interviews and on the forums.  When you have a network of wind shelters, you can move around relatively freely -- when you stray into new territory, the risks go up.

Other New Stuff
I've put in place about a dozen completely-new trees and plants that you can see in the screenshots and video, as well as another dozen variants of past plants (mostly snow versions for the new snowy ice age areas).  This nearly quadruples the total number of types of trees and bushes in the game.  I also more than doubled the number of buildings in the game.  You can see how the various buildings are now taking on region-specific looks, something which will be emphasized even more in the future.

Keith got a number of "chunk script" features added in, as well as making it possible for buildings to have literal doors that take you inside.  The code on that isn't 100% finished yet, but it's getting there, and the art for interior stuff isn't something I've started on yet.  Hopefully interiors can be my big new thing for next week, but we'll see how things go -- we also have more enemies, more regions, more spells, and a lot of other content-related stuff that we want to get done in the next 2-3 weeks.

Pablo's been working on some of the first sound effects this week, and has been figuring out a general sound style of the audio work in the game.  I'm really pleased with how that's been coming along, but we probably won't highlight that in videos for a while yet, until we've got more of the sounds all in place together.  I'm really pleased with how the sound design is coming along, though, and I think it will be Arcen's strongest showing yet in that department.  Pablo also managed to find time to create a new World Map theme this week, despite all the work on sound effects.

Until Next Week!
All in all... it's really coming along.  For five weeks in, this is content-rich already.  The regions still feel way too empty, but my main personal goal between now and alpha is going to be filling it in and making it feel more and more like a unique world, while Keith works on crafting, NPCs, and such.

Multiplayer has been a bit of a scope increase for us, and might set us back a couple of weeks.  I think we're looking at the last week in March as the absolute earliest time for the first alpha version, but it might be into sometime in April, we'll see.  We've got a lot of press wanting to do previews as soon as the first alpha comes out, and we've got a lot of players waiting to preorder and start playing at the time, so we want to make sure that we have something slam-dunk exciting from day one, even if it is a tiny subset of what we're planning for 1.0.

We'll keep you up to date on the schedule as things progress, of course.  Right now the big question mark is multiplayer networking, and how long that takes us to nail down.  If that's finished by the next video, then we're actually going to wind up a half a week ahead of our self-set schedule.  If it takes longer... that's when we'll have to adjust.  But it shouldn't delay us more than a few weeks at most, from what we're seeing so far.

More to come next week -- stay tuned!

1 comment:

Jeppeboy said...

AVWW looks increasingly awesome! I'm really looking forward to the Alpha version. I really like the idea of very rare regions, hopefully they will be more rewarding to explore than 'normal' regions, to encourage the player to explore the world, if that is the player's playing style.
Keep up the great work! :D Will definitely preorder at the first chance.