Author Topic: How will multiplayer work?  (Read 4080 times)

Offline Armanant

  • Newbie Mark III
  • *
  • Posts: 37
How will multiplayer work?
« on: November 08, 2011, 09:48:03 pm »
I've been wondering about how the multiplayer might work in AVWW, and I've had some concerns. I quite like how the server <> client system works in minecraft - for example, I run a server on my home machine, and can log in with a client on my home machine, from work on a lunch break, or from a spare computer at a friends house, which would on occasion be used by his little brother to join the same server. I can also hop onto my partner's laptop and log in as my character so I can play from another room etc. Basically it makes great use of the fact that a minecraft 'identity' is just a username + password login, and can be accessible form any computer that has minecraft on it.

Would something like this be possible with whatever the intended structure for AVWW is? I'm worried that a single install of AVWW on a machine would only let that computer log in as a certain user.. I'd need multiple installations on every machine to handle any permutations (partners laptop would need a copy with her registration key, plus a copy with mine, plus a copy with my brother's so he can use the laptop to play if he comes over, plus his friends copy if his friend comes over and the computer arrangement lines up that way, etc).

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: How will multiplayer work?
« Reply #1 on: November 08, 2011, 10:03:38 pm »
You raise a good point on some of that.  However, unlike Minecraft, which has central auth servers, that's not something that will exist with AVWW.  So the only way we have to uniquely identify you is with the customer id built into your license key.  Going along with that, it's not even between us and you and the server, it's just between you and your own server, which cuts out the middle man -- if Arcen disappeared the next day, you'd be unaffected in your ability to enjoy the game in its then-current state.

The model we're using also has some portability advantages under that model in that, even without a central server, you don't have to log in to get your character back if you play on multiple servers.  For instance, if you frequent 10 different servers you don't have to try to set up different logins and passwords on each one.  On the flip side, if you run an open server and some jerk griefer just won't leave you alone, you can ban them based on their customer id and have them blocked unless they have a second license key.  Kind of like banning someone in Minecraft unless they have a second account; but again, without the central servers here.

The point you raise about multiple installation is a good one, but it's not really as bad as that; right now, you'd really only have to have separate settings.dat files that you swap in and out.  To be frank, given the amount of customization in each settings window, I wouldn't be surprised if you wanted each set of configuration settings to be completely separate, anyway.  If you use separate keybindings from your brother, for instance, you wouldn't want to have to rebind every time you get on his machine or vice-versa.  So really I think this goes beyond the customer ID, and really encompasses "settings in general," though obviously the customer id is one big part of that.

We already have plans to have a secondary "username" field that can be paired with your customer ID (optionally) so that you can have multiple players use the same customer ID (just not at the same time; but if you and your spouse both played in the same world at different times of day, you could have just one copy of the game, one customer ID, and two usernames set up to each have it remember your characters individually; only if you wanted to both play together on the same server at the same time would you need two keys).

Anyway, I think what you've illuminated here is a need for us to really split the entire settings and keybindings out with these usernames, and have each username capable of having its own license key (and thus customer ID) with it.  Right now you can already do that just by manually swapping out settings.dat and inputbindings.dat files, but what we really need is a way to have multiple copies of those two files get logged on the machine, and each one is then selectable inside the game.  So when you switched profiles, it would literally change all your settings and keybindings, and would use whatever license key you decided to associate with that username (be it the same one as another username on that same machine, or a different one, it doesn't matter).

I think that would give the flexibility you're looking for, plus the flexibility for multiple people to use the same key at different times, etc.

This would be a good one for mantis, but I'll flag it by Keith just to make sure he sees it. :)
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline TechSY730

  • Core Member Mark V
  • *****
  • Posts: 4,570
Re: How will multiplayer work?
« Reply #2 on: November 09, 2011, 01:32:42 pm »
How are you going to avoid the "trusted client" problem? What is to stop someone with a "hacked" character and inventory from completely messing with the game, or using a modified set of stats to make them more powerful than they should be at their stats, level, and abilities. (Just because client A said they landed 1000 damage on enemy B, doesn't mean that the server should instantly take its word for it)

In AI War, there is nothing to stop someone from hacking a save file to make a ridiculous "custom" map, but if someone tries to do something that alters any part of the game, or "forges" data, a desync is sure to occur.

Offline Penumbra

  • Sr. Member Mark III
  • ****
  • Posts: 464
Re: How will multiplayer work?
« Reply #3 on: November 09, 2011, 01:51:37 pm »
... if you frequent 10 different servers ...

A multiplayer question in a slightly different direction, I would imagine someone playing on many different active servers would not be able to play on all of them all the time. This would lead to someone last logging in at level 25 and next time finding a level 200 civilization. Would this lead the inventory owned by this player being 17 tiers out of date?

I know monsters deal damage to the player based on relative level, but player's spells deal damage based on the spell's relative level instead of the target's, right?

This person would have to scrape back up to relevant levels dealing 1 point of damage, or just be gifted modern tier spells by another player.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: How will multiplayer work?
« Reply #4 on: November 09, 2011, 02:05:11 pm »
How are you going to avoid the "trusted client" problem? What is to stop someone with a "hacked" character and inventory from completely messing with the game, or using a modified set of stats to make them more powerful than they should be at their stats, level, and abilities. (Just because client A said they landed 1000 damage on enemy B, doesn't mean that the server should instantly take its word for it)

Answer: nothing at all.  If people are hacking this, and it bugs you, don't play with those people.  You can ban their customer ids if its your server, or just don't join their server if it's theirs.  There is no way to solve this without doing something like what Ubisoft does and controlling a lot of the stuff on the server.  Actually, WoW does that, too, in a slightly different way.  But here this game really needs client primacy for response time, because it's a much faster-moving game than WoW, so there's just no way to handle that.

And if someone really wants to cheat, there's not much we can do to stop them if we're giving them the game.  Not to mention with the ability to make custom room layouts and such, people can do all kinds of cheat-y things.  That's just the nature of making a game that is partly open for player content.  Same deal with Tidalis, where players could make easy puzzles that would let them win achievements without the usual trouble; the only way to solve that would have been to not have a level editor, or to not allow achievements on custom levels, neither of which would be real great for players.

In short, we just really don't have any intentions of trying to police players.

In AI War, there is nothing to stop someone from hacking a save file to make a ridiculous "custom" map, but if someone tries to do something that alters any part of the game, or "forges" data, a desync is sure to occur.

Sure, that's one of the big advantages of the RTS model, but it doesn't work for an action game.  The roundtrip time -- best case -- with messages in AI War (or most any other RTS) is about 360ms, and that's just ridiculously too slow in AVWW.  We were sorry to see that advantage of the other model go, but there's a lot of solid reasons why no action game uses that model.  Cheating just kind of comes with the territory.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: How will multiplayer work?
« Reply #5 on: November 09, 2011, 02:12:10 pm »
... if you frequent 10 different servers ...

A multiplayer question in a slightly different direction, I would imagine someone playing on many different active servers would not be able to play on all of them all the time. This would lead to someone last logging in at level 25 and next time finding a level 200 civilization. Would this lead the inventory owned by this player being 17 tiers out of date?

I know monsters deal damage to the player based on relative level, but player's spells deal damage based on the spell's relative level instead of the target's, right?

This person would have to scrape back up to relevant levels dealing 1 point of damage, or just be gifted modern tier spells by another player.

At the moment: yes, everything you said is true in terms of the equipment stuff.  We have several ideas on various ways to solve that, but we haven't settled on one yet or tested that out yet.  Most likely if a player's equipment is just ridiculously out of date, it would be something like an Ilari windfall to get them at least some basic equipment back.  Of course then you wind up with them always just having a basic loadout, etc. 

So it might be that when a player hasn't been around for a while, and the current tier of the world has improved since they left, it just upgrades all their inventory in-place to the equivalent tier.  So whatever their tiers were before, if the tiers have increased by 3 since then, each tier of stuff they have goes up 3 levels.

Of course, THAT's leading then to potential exploits where players create a dummy account, give it some good stuff, level up for a while, then bring that account back in and have it give the newly-high-level equipment back to the players.  But like I was saying above, to some extent we can't catch every case where players could do something to cheat like crazy.  We just want to make that as difficult as we reasonably can, but ultimately the experience of people playing the game properly comes first.


techsy730, one other thought about cheating/hacks: one advantage that we still retain in that regard is the frequency of updates.  Often an update would break a hack of that sort, or could be made to do so if we were aware of the hack and how it was functioning, so that would be something that would help to frustrate the cheaters somewhat.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline @B0FH

  • Full Member Mark II
  • ***
  • Posts: 162
Re: How will multiplayer work?
« Reply #6 on: November 09, 2011, 02:14:44 pm »
Another (daft) mp question:  If a server has it's own maps in place (custom ones that haven't/won't make it into the released builds), will the clients download them on connect (much like Source/Unreal do) or just fail to load into a room that the server has generated using that map?

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: How will multiplayer work?
« Reply #7 on: November 09, 2011, 02:26:49 pm »
Another (daft) mp question:  If a server has it's own maps in place (custom ones that haven't/won't make it into the released builds), will the clients download them on connect (much like Source/Unreal do) or just fail to load into a room that the server has generated using that map?

Maps are all generated server-side, and then just the data is passed to the clients if they go in there.  So all of the map templates, etc, on the client could not be more irrelevant; all of that is controlled by the server alone.  Unlike Source/Unreal, you aren't creating literal maps when you make the RoomMap txt files; you're creating templates for the server to fill in the details for.  It does so and stores the result in the chunk files, each of which is about 20kb compressed (for a big chunk).  Those resulting chunk files are all that are touched when you, for instance, go back into an existing savegame.  And it's the same in MP.
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline @B0FH

  • Full Member Mark II
  • ***
  • Posts: 162
Re: How will multiplayer work?
« Reply #8 on: November 09, 2011, 02:33:53 pm »
So the clients have no need for the templates, as they get the end chunk data, sounds good :)

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: How will multiplayer work?
« Reply #9 on: November 09, 2011, 02:37:15 pm »
Yep, it makes it easy! :)
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Hearteater

  • Core Member
  • *****
  • Posts: 2,334
Re: How will multiplayer work?
« Reply #10 on: November 09, 2011, 02:42:50 pm »
Did I read somewhere that level difference for a character compared to the zone they are in will affect things like monster movement speed?  If so, what happens when two different characters of different levels are in the same zone?

Offline Penumbra

  • Sr. Member Mark III
  • ****
  • Posts: 464
Re: How will multiplayer work?
« Reply #11 on: November 09, 2011, 02:45:24 pm »
Oh, one I can answer! Characters don't have levels, just one global civilization level shared by all.

Offline x4000

  • Chris McElligott Park, Arcen Founder and Lead Dev
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 31,651
Re: How will multiplayer work?
« Reply #12 on: November 09, 2011, 02:45:45 pm »
Did I read somewhere that level difference for a character compared to the zone they are in will affect things like monster movement speed?

Yes, though it's a fairly minor difference at this point.

If so, what happens when two different characters of different levels are in the same zone?

There's no such thing.  Civ level is global to the world, not to a specific character.

EDIT: Ninja'd. :)
Have ideas or bug reports for one of our games?  Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Hearteater

  • Core Member
  • *****
  • Posts: 2,334
Re: How will multiplayer work?
« Reply #13 on: November 09, 2011, 03:08:55 pm »
There aren't character levels?  I swear there were character levels and civ levels.  Am I just confused?

Would that mean if two people where playing on the same world at different times, they'd both be leveling up the same civilization?

Offline tigersfan

  • Arcen Games Contractor
  • Arcen Staff
  • Master Member Mark II
  • *****
  • Posts: 1,599
Re: How will multiplayer work?
« Reply #14 on: November 09, 2011, 03:38:53 pm »
Nope, no character levels, and yes, two players playing on the same server are working together to level up the same civilization.