Something EVERY MP programmer should read

Posted By: fastlane69

Something EVERY MP programmer should read - 08/27/05 17:38

Gamedev.net thread defineing Latency and how Packet Size affects it
Posted By: Damocles

Re: Something EVERY MP programmer should read - 08/28/05 10:32

very interresting indeed, thanks
Posted By: Locoweed

Re: Something EVERY MP programmer should read - 01/04/06 02:06

Nice.
Posted By: khanoftruth

Re: Something EVERY MP programmer should read - 09/04/06 04:46

Very helpful. Thanks.
Posted By: bomber

Re: Something EVERY MP programmer should read - 10/07/07 12:41

nice
Posted By: FBL

Re: Something EVERY MP programmer should read - 10/27/07 14:19

http://www.vis.uni-stuttgart.de/ger/teaching/lecture/ws04/seminar_spiele/network/

The initial page is in German, but on bottom there are links to some interesting english docs about Multiplayer development.

Unfortunately not all links are working anymore, but the ones still working offer useful stuff.
Posted By: fastlane69

Re: Something EVERY MP programmer should read - 10/29/07 16:42

I sure wish that first document was in english... seems to be a nice review piece on MP. The followup links however are very good!

Maybe we should have, instead of this thread, a moderated "starving artists" like thread on all things MP and MMP? We could organize it on top and thus everyone new and old to MP would have immediate access to all manner of sources. I feel it should be moderated (or better yet peer reviewed) to cut down on redundancy and so that only the best of the best articles show up.

What do you think, oh MP gods and servants?
Posted By: FBL

Re: Something EVERY MP programmer should read - 10/29/07 16:48

The German text does not say relly much - at least nothing that you don't know already The few pictures contain much more information than the few sentences.

About your thread idea: I'll leave that open to the more experienced users. I'm doing my first steps and currently I'm even happy to have some client-server correction code which is working smoothly
Posted By: WINBERRY

Re: Something EVERY MP programmer should read - 11/01/07 13:28

Am I correct in understanding that the MULTIPLAYER componet with A7 does NOT work?

I have tried the multiplayer tutorial and get a DPNERR which I guess has something to do with DirectX 8 and is no longer available.

I tried the links to the above site and most are no longer available.

Any help would be GREATLY appreciated

Thanks
Posted By: fastlane69

Re: Something EVERY MP programmer should read - 11/01/07 20:06

I'm not aware of it not working at all. Buggy? Perhaps, still need to run tests for myself, but this is not the thread to post questions on; Start a new thread and then we can all get on the bandwagon.

But in short, it should work and not return that error but I haven't tested it so I can't say for sure.
Posted By: FBL

Re: Something EVERY MP programmer should read - 11/04/07 21:38

http://web.cs.wpi.edu/~claypool/nossdav06/pdf/palant.pdf

Just stumbled upon it - it's about Dead Reckoning.
Still need to work through it completely...
Posted By: Damocles_

Re: Something EVERY MP programmer should read - 06/26/09 16:52

Some Details about Networking and the Client-Server communication
in Unreal.

Especially interesting: the Client prediction,
wich enables the Client to feel Lag-free in term of
immediate inputs such as movement:

http://unreal.epicgames.com/Network.htm
Posted By: Razoron

Re: Something EVERY MP programmer should read - 08/04/09 15:59

most of the links don't work.
Posted By: Damocles_

Re: Something EVERY MP programmer should read - 08/11/09 14:04

all the links still work.
better check your browser settings...
Posted By: Damocles_

Re: Something EVERY MP programmer should read - 08/06/10 10:03

Here an older article about a different Multiplayer concept:

Syncronous simulation

http://www.gamasutra.com/view/feature/3094/1500_archers_on_a_288_network_.php

This is a great choice for games that meet the following criteria:

-small amount of command senders / Players, (only have like 2 to 8 players)
-large amount of units (RTS as typical example, also other large simulations like in RPG games with many AI Players.
-instant reaction not as important (command to action delay)

The Syncronous simulation offers the advantage that the
network load is tiny, as only commands are send.
Each gameclient calculates the full game locally, based on
the commands.

Starcraft / Starcraft 2 also uses this approach.

(In case you wonder why replays cant simply jump
forward to any position. It requires to calculate
the whole gameflow constantly)
Posted By: SchokoKeks

Re: Something EVERY MP programmer should read - 08/06/10 12:16

Great read, I've seen that article before and I've always wanted to implement this to 3DGS. However, you may not use c_move (especially with glide) as it seems to be quite random when obstacles appears from what I've discovered in my multiplayer tests.
Posted By: Damocles_

Re: Something EVERY MP programmer should read - 08/06/10 12:27

The thing is, that most thing gamestudio users use cant be
used.

No c_move, no physics, no events no "wait(1)" in all core functions.
Not even the way you use entities normally.
(or making shure they always result in exactly exactly the same result)

The core game-play needs to run in
a seperate routine with fixed time command cycles.
There should be only a single "wait(1)" in the core loop, to
avoid any desync. (actually not a wait(1), but a waitfunction
that waits for the next command cycle to be processed)
Random numbers must be assured to be taken in exact order.
using seeding or even a manually controlled random generator.

Other things like the visualization, graphical effect etc
can run seperately, as long as they dont affect the core gameplay (only receive data from it)

Anything that runs differently on different machines
would result in a desyncronized simulation, and thus
make such a system impossible.
So framerate dependant calculations should only affect
the visualization part.

--

Its also not a typical client-server approach.
There is no server wich calculated the gameplay, but
its rather just a simple command-packed proxy,
to make shure everyone has all info at the correct time.

The full game itself is run on each client seperately.
Posted By: fastlane69

Re: Something EVERY MP programmer should read - 08/07/10 05:13

It's a peer-to-peer network model enacted on a C/S platform with the server relegated to the role of an intelligent router and each client becoming an independent peer.

Does that about sum it up? grin

BTW, the article is from 2001; how do we know that SC2 uses it? Wouldn't surprise me considering that my description above is "kinda" how battle.net works.

Posted By: Damocles_

Re: Something EVERY MP programmer should read - 08/07/10 22:09

Its less about how clients exchange data.
Such a modes can run peer to peer or server controlled.

Its more about how the game-world is calculated.

In a classic client-server game, the server does all the
logic, calculations and oversees validity.
In the "syncronous simulation", each client is calcualting
the world logic, only based on usercommands from
all clients.
The server (such as battle net) would just handle
the connections and transfer of the commands.

I know its how Starcraft 1 worked (looking at the networking
commands). So I assume SC2 is very similar to that.
Posted By: fastlane69

Re: Something EVERY MP programmer should read - 08/09/10 19:01

"Its less about how clients exchange data.
[...]
In the "syncronous simulation", each client is calcualting
the world logic, only based on usercommands from
all clients.
The server (such as battle net) would just handle
the connections and transfer of the commands.
"

That's what I'm saying and I'll show you how:

As you say, P2P is more than just the network; it's also what the apps do with this net traffic.

Consider a 3-tier architecture: presentation, logic, and database. In a C/s environment, the client is solely responsible for presentation, that is presenting the information to the user. The server is solely responsible for the logic and the database, that is a the rules and the charge that dominate the game. In a P2P environment, every peer must have some or all of these components present. Presentation is obvious since every peer is connected to every user, logic is necessary since every peer needs to know how to calculate its own game state and perhaps those of others, and database is important sense each peer it needs to know its own statistics for the world.

So we are both saying the same thing, that even though this is a C/S platform and the packets don't flow like in a P2P, it is in fact being enacted as a P2P architecture in that each client has complete autonomy from the server and the server, as I and you stated, is merely relegated to the role of a fancy router.

As for SC2, I wouldn't assume. I don't know any better but 9 yrs is an eternity in networking. I would imagine Blizzard has been constantly updating their net model in other releases and thus it could bear little similarity to SC. Having said that, if it ain't broke, don't fix it... if it worked in 2001 and works today, then it is truly worthy of attention.
Posted By: Damocles_

Re: Something EVERY MP programmer should read - 08/09/10 19:29

ok, then I think we share the same idea here.
Posted By: Damocles

Re: Something EVERY MP programmer should read - 04/15/12 13:39

General advice:


Posted By: 3run

Re: Something EVERY MP programmer should read - 04/15/12 16:44

Link to:
Quote:
Networking and the Client-Server communication
in Unreal.
Doesn't work.. I'm really interested in it, but couldn't find it.
Posted By: lemming

Re: Something EVERY MP programmer should read - 04/15/12 18:05

http://web.archive.org/web/20100728233924/http://unreal.epicgames.com/Network.htm

Internet never forgets!

Really interesting text.
Posted By: 3run

Re: Something EVERY MP programmer should read - 04/15/12 19:18

GREAT! laugh Reading it now, thank you mate!!
Posted By: sultan002

Re: Something EVERY MP programmer should read - 07/02/18 14:42

Very helpful. Thanks.
© 2024 lite-C Forums