Determinism and Multiplayer

Discuss game development design and post your game ideas

Post » Fri Jul 27, 2012 8:07 pm

Whether Determinism is right or wrong in the Real world...

I wondered.. Is every "AI" in big multiplayer games like World of Warcraft connected to the server OR does the game simply assume that the actions on each machine will be the same?
B
40
S
11
G
4
Posts: 665
Reputation: 8,403

Post » Fri Jul 27, 2012 10:56 pm

I guess it depends on the MMO, both implementations can be made. Actually, it is a little bit of both.

I'd be tempted to say that generally the server is to handle everything world related (helps preventing some cheating).

The client is merely rendering the world/view of the player accordingly to the informations sent back from the server.
Also, there's some prediction made in the client itself, which is then "tempered" by the server's authority.

Perhaps this talk would be of interest about this question:
[tube]tKSYJYV_RGs[/tube]
http://www.youtube.com/watch?v=tKSYJYV_RGs
New to Construct ? Where to start

Image Image
Image Image

Please attach a capx to any help request or bug report !
Moderator
B
247
S
85
G
40
Posts: 6,999
Reputation: 57,793

Post » Sat Jul 28, 2012 7:08 am

Thx :D

Very Interesting indeed!


The hacking part also made me think about something else..
He got problem in his game that hacked clients connect to the server.

Could someone download the code of a multiplayer webgame, "hack it" set it up on a different location and connect it to the game server?
That wouldn't be gr8...

B
40
S
11
G
4
Posts: 665
Reputation: 8,403

Post » Sun Jul 29, 2012 4:06 am

[QUOTE=Schoening]... Could someone download the code of a multiplayer webgame, "hack it" set it up on a different location and connect it to the game server? ...[/QUOTE]
I think not. No multiplayer game server that had even basic security measures would allow downloadng of its code.
B
105
S
20
G
12
Posts: 549
Reputation: 20,320

Post » Sun Jul 29, 2012 9:54 am

No, I mean the Client side .

I am working with Javascript and Three.js. So the Client Side code is very visible.

Could some1 take the browser client-side code, and put it on his own site (Else he can't change to code) And connect from there to my server?
...

I guess, I am asking because I have worked a bit with My Counter Strike Server Lately.. and there you connect from your client to the server.

I suppose IF the server only accepts website requests from his own domain, then this could not happen?
B
40
S
11
G
4
Posts: 665
Reputation: 8,403

Post » Sun Jul 29, 2012 11:03 am

I don't know if this answers your question but if not its at least interesting.
http://www.youtube.com/watch?v=L6mkhptZ0gM&t=21m21sblazah992012-07-29 11:03:56
B
13
S
4
G
2
Posts: 26
Reputation: 2,429

Post » Sun Jul 29, 2012 11:17 am

Very nice!

Ty :) But I'm gonna watch the entire video ! Muahaha
B
40
S
11
G
4
Posts: 665
Reputation: 8,403

Post » Sun Jul 29, 2012 10:24 pm

[QUOTE=Schoening]... Could some1 take the browser client-side code, and put it on his own site (Else he can't change to code) And connect from there to my server? ... I suppose IF the server only accepts website requests from his own domain, then this could not happen?[/QUOTE]
Yes, you're quite right. It's known in the trade as 'same origin policy'. More about it here.Velojet2012-07-29 22:24:37
B
105
S
20
G
12
Posts: 549
Reputation: 20,320

Post » Mon Jul 30, 2012 2:19 pm

Thx Velojet :)

I also got ideas from those videos about the whole serverside thing.
Making the server restrict you by validating your input Basically I guess.
B
40
S
11
G
4
Posts: 665
Reputation: 8,403

Post » Tue Jul 31, 2012 4:51 pm

in multiplayer games its easier to give more trust to the clients. Like in fps games you can generally take the position of a player as valid without having to check it on the server. Stuff like that uses movement prediction to show the location of the players to the other players.

That allows the actual position of the player to be updated only when that player stops or starts moving. Everything else is guessed by the other clients.

MMOs are kinda different. Where in fps games almost all the info can come from the client and generally be trusted in an mmo almost all the data is server side and mirrored only whats required to the clients.

Then the mmo client uses predictive movement for the mobs and other players based on the initial position it got from the server.

Since almost all data is server side in mmos you dont trust data from the clients. Basically you check the data received from the client to make sure its valid before updating the server values and giving those values to the connected clients.

Thats also generally why you see less lag in mmos and they can be played with a slower connection than online fps games. All the data crunching is server side and the basic info is then reflected to the clients only when they need it

General info but hopefully itll help out a lil
B
13
S
5
G
2
Posts: 306
Reputation: 3,262

Next

Return to Game Development, Design & Ideas

Who is online

Users browsing this forum: No registered users and 0 guests