Multiplayer problems

Engine, AI, scripting, that sort of thing.

Multiplayer problems

PostPosted by koteko » Sat Aug 23, 2014 10:16 am

I've read somewhere multiplayer will be co-op. I know a MMORPG requires a huge amount of work and infrastructure costs, but what are the technical reasons you haven't gone toward that direction?

Is the game logic separated from the 3D client or it's all a single block? If it's a single block, I guess co-op too was pretty difficult to get right. If they are separated (that is the 3D client communicates with a server even in single player), are there fundamental reasons you cannot allow N players to connect to a central server? Is the engine not scalable enough?

Thanks for any info. I'm currently writing a game engine with the goal of being as much scalable as possible, as a learning experience, so it would be useful to know what are the pitfalls to be aware of, from the view of an "almost finished game" like Frontiers.
koteko
Novice
Novice
 
Posts: 5
Joined: Mon Feb 17, 2014 11:14 pm

Re: Multiplayer problems

PostPosted by yarnevk » Sat Aug 23, 2014 2:29 pm

Cheater clients are more of an issue in MMO than multiplayer, usually multiplayer is with friends unlikely to cheat, but even with stranger lobby servers the impact of cheater clients is localized to those few sharing the server. In an MMO cheater clients have a global impact in competing play (PVE or PVP). So it is not just an issue of scaling up your server to handle N connections, it needs to be NxM so that everybody can see everybody elses customized avatars moving around properly, and you have to remove client cheats by doing most everything on the server so that the client is nothing but a display. This is why most MMOs are still only instanced zones, even though it might be a megaserver you still see only a few around you, and that is to keep the order of the server tasks manageable and parallelized (besides they fact that nobody wants to see a million people in a medevial town anyways).

Though i have to say this Morrowind MMO nightmare was very prophetic of what ESO ended up looking like.

http://static.giantbomb.com/uploads/ori ... ls_mmo.jpg

This is a critical MMO security design that ESO got wrong BTW, they killed the bots by nerfing alt recreation that commercial gold farmers needed (forcing them to steal accounts now so they moved on to more lucrative targets), but cheaters can still take advantage of it and stay under radar to avoid getting their alts reported/deleted. Since ESOs focus is on AVA they mistakenly said we want 100v100 battle (which is a server order of 10000 not 100), so they took server shortcuts to get that order down without compromising the battle by leaving much stuff on client side. That of course can be intercepted and changed, their PVP forum is full of complaints about cheaters since you can easily find the cheater clients with a google search. But how does support really know if you got victimized by the lag monster or a client cheater, it is actually hard to enforce short of admins putting you on 24/7 follow watch, which needs a lot of $15 accounts to pay for finding that one cheater which is hard to do when people are quitting because of cheaters!

The other issue is game balance, how do you balance against the unemployed that make the MMO their day job grinding thru content that should take six months to complete in less than a month, without making the game so hard that the other 99% rage quit. This means dynamically add content in a transparent manner compared to the often nightmare modding mess that single player games have (you can read lars blogs how hard that has been to not make it a mess!)
yarnevk
Pathmaker
 
Posts: 178
Joined: Tue Sep 17, 2013 2:48 pm

Re: Multiplayer problems

PostPosted by koteko » Sat Aug 23, 2014 3:35 pm

Thanks for the articulated response. I didn't think of the "cheaters" problem when deciding if making it an MMO or not.

On the technical side, it's clearly difficult to support millions of players but I guess a game like Frontiers is a bit of a niche compared to others, so I wouldn't expect more than a few thousands users connected at the same time even in the busies hour. Sharding would "solve" the problem if one doesn't want to go in the "super-scalable-distributed" path, still it's a complex architecture in any case, and very expensive.

However, structuring Frontiers as an MMO wouldn't have requires Lars to manage a publicly available server. Just to allow some players to put up a "Shard" like in NWN old times and with that keep up a (modded) persistent world.

So I'm still very curious of the technical (and/or non technical) reasons why one would choose co-op instead of MMO. Money could be a factor of course :)
koteko
Novice
Novice
 
Posts: 5
Joined: Mon Feb 17, 2014 11:14 pm

Re: Multiplayer problems

PostPosted by yarnevk » Sat Aug 23, 2014 5:18 pm

Dealing with cheater clients is very much a technical problem. Steam makes it easier though since they deal with cheater client identification on their end, but it means you have to wait for their banbots to detect someone, as well as rule out multiplayer on other publishers. A cheater proof client needs a server that calculates if everyone's arrows are hitting, and communicates that in a secure way to everyone, rather than letting the clients computers do that and keeping score. That means having log tolerant technologies like prediction, and of course dealing with the lag monster when it does not work. Private shards offload the admin burden from the company and puts it on game masters hands, but if any of them get large they will insist on code structured to deal with cheaters just like with an MMO because that is what players expect.
yarnevk
Pathmaker
 
Posts: 178
Joined: Tue Sep 17, 2013 2:48 pm

Re: Multiplayer problems

PostPosted by koteko » Sat Aug 23, 2014 5:37 pm

But isn't that the case for practically any server based MMO? There are prediction strategies into the client, as far as I know, to allow a smooth client experience - however they alway get "corrected" with the data coming from the server, that is the sole master of the game logic.

This is the case for all MMO architecture I know of (including the old text-based MUDs and old graphical MMO like ultima online and everquest), whereby the client sends the user input and the server replies with "deltas", that is with changes to be applied to the world view of the user. But I'm not very up to date and generally more intested in server technology than client one.

It might be that the newest MMOs, being too overloaded, have put some logic into the clients (bad move, excellent for cheaters) but that needn't be the case for Frontiers.

For example Neverwinter Nights, when played in single player, still used a client-server approach (of course much more responsive than a remote one, being network latency zero). Some info here: http://nwn.wikia.com/wiki/Server
koteko
Novice
Novice
 
Posts: 5
Joined: Mon Feb 17, 2014 11:14 pm

Re: Multiplayer problems

PostPosted by Railboy » Sat Aug 23, 2014 8:39 pm

koteko wrote:What are the technical reasons you haven't gone toward that direction?

I never even got as far as technical reasons. This was reason enough:
koteko wrote:I know a MMORPG requires a huge amount of work and infrastructure costs

An MMORPG is a completely different beast than what I'm after. Different design, different goals, different everything. It's way outside my comfort zone as far as tech and way, way outside my budget and timetable.
koteko wrote:Is the engine not scalable enough?

Definitely not. The way I'm implementing multiplayer is way too inefficient to scale to hundreds of players. You might be able to bump it up to a dozen if you were feeling adventurous, but the target has been 4 player since the start and that's what I'm optimizing it for.
Language is to the mind more than light is to the eye.
User avatar
Railboy
Developer
Developer
 
Posts: 1845
Joined: Mon Jul 15, 2013 10:46 pm
Location: Seattle, WA

Re: Multiplayer problems

PostPosted by koteko » Sat Aug 23, 2014 9:08 pm

Makes sense. Thanks for the answer! :)
koteko
Novice
Novice
 
Posts: 5
Joined: Mon Feb 17, 2014 11:14 pm

Re: Multiplayer problems

PostPosted by yarnevk » Sat Aug 23, 2014 10:36 pm

koteko wrote:But isn't that the case for practically any server based MMO?

Right unless they are enabling client optimization in the name of performance and thus cheater. The point of multiplayer is you target a much smaller number of connections, and don't worry so much about cheaters so you don't have to optimize for MMO sized instances. You could do physics based arrows on the clients GPU and just report to the other player where they got hit and maybe even show them the path of the arrow the other client is computing, but that does allow cheaters to take over the arrow path and you don't worry about that, and you don't have to worry about lag by faking the arrow path with a RNG generator as you can punt and say make a LAN connection if your DSL is crap.
yarnevk
Pathmaker
 
Posts: 178
Joined: Tue Sep 17, 2013 2:48 pm

Re: Multiplayer problems

PostPosted by SignpostMarv » Sun Aug 24, 2014 9:51 am

Railboy wrote:
koteko wrote:Is the engine not scalable enough?

Definitely not. The way I'm implementing multiplayer is way too inefficient to scale to hundreds of players. You might be able to bump it up to a dozen if you were feeling adventurous, but the target has been 4 player since the start and that's what I'm optimizing it for.


I can't currently recall if the question has been asked before, but is the multiplayer engine moddable ? i.e. can developers with too much free time experiment with drop-in replacements? :P
User avatar
SignpostMarv
Alchemist
Alchemist
 
Posts: 307
Joined: Thu Jul 18, 2013 2:28 pm


Return to Technical Stuff

Who is online

Users browsing this forum: No registered users and 0 guests

cron