Multiplayer "locality"
5 posters
Operation Flashpoint Dragon Rising OFDR Forums :: OPERATION FLASHPOINT: DRAGON RISING :: OFDR EDITING :: EDITING Q+A
Page 1 of 1
Multiplayer "locality"
Hello,
For various reasons I'm a bit late to the party in terms of mission editing for Dragon Rising but now I'm doing so I've got some rather ambitions plans for making multiplayer missions.
However, to do what I have in mind, I need to get my head around how scripts and variables are handled in DR across the network. I come from a background of modding OFP:CWC/Arma:CWA where things work differently and different things are possible in the context of scripting, so please bear that in mind. So let me first give a little example of what I'm talking about; say a player has played a mission before (either single player or multiplayer) and some data from that mission (e.g. a score) was saved to a file on their machine in the DR root folder. If they then play a multiplayer mission where this score is loaded from that same file path and displayed on the screen by a script, what exactly will happen, does each player see the value from their own file, does only the host load and display the data or do all players see the value from the server's file etc?
Hopefully you'll see what I'm getting at here, in that this very much depends on what data is where in the network and where it is being processed (or as it's called in Arma "locality") and this isn't something that is obvious from the documentation that I've read.
For various reasons I'm a bit late to the party in terms of mission editing for Dragon Rising but now I'm doing so I've got some rather ambitions plans for making multiplayer missions.
However, to do what I have in mind, I need to get my head around how scripts and variables are handled in DR across the network. I come from a background of modding OFP:CWC/Arma:CWA where things work differently and different things are possible in the context of scripting, so please bear that in mind. So let me first give a little example of what I'm talking about; say a player has played a mission before (either single player or multiplayer) and some data from that mission (e.g. a score) was saved to a file on their machine in the DR root folder. If they then play a multiplayer mission where this score is loaded from that same file path and displayed on the screen by a script, what exactly will happen, does each player see the value from their own file, does only the host load and display the data or do all players see the value from the server's file etc?
Hopefully you'll see what I'm getting at here, in that this very much depends on what data is where in the network and where it is being processed (or as it's called in Arma "locality") and this isn't something that is obvious from the documentation that I've read.
Zeewolf- Points : 42
Reputation : 13
Join date : 2013-10-02
Re: Multiplayer "locality"
Welcome to the "party", but its not much of a rave more an unconcious stoner choke house. But people do pick up on threads from time to time.
With regards to your question, I myself am not an expert in the realms of coding for DR, but there are a couple here that are very good at it and hopefully they can bring light to your query.
Tvig, Templar, TjDagger, Regg and JJStevens to name but a few. Please note, this forum is pretty slow and people don't pick up on new threads on a daily basis as they do over at the BI forums. If your question hasn't been answered within a week or so, I'm sure they wouldn't mind a pm nudge back to this thread.
Cheers
MD.
With regards to your question, I myself am not an expert in the realms of coding for DR, but there are a couple here that are very good at it and hopefully they can bring light to your query.
Tvig, Templar, TjDagger, Regg and JJStevens to name but a few. Please note, this forum is pretty slow and people don't pick up on new threads on a daily basis as they do over at the BI forums. If your question hasn't been answered within a week or so, I'm sure they wouldn't mind a pm nudge back to this thread.
Cheers
MD.
Re: Multiplayer "locality"
From memory, the levelScript.lua is executed only on the server, with displaySystemMessage() sent to all clients, along with any AI updates.
On the Client end, nothing is executed at all, you are for all intents and purposes playing a single player mission that is having data injected into it by the server
On the Client end, nothing is executed at all, you are for all intents and purposes playing a single player mission that is having data injected into it by the server
TemplarGFX- Veteran
- Points : 159
Reputation : 18
Join date : 2013-02-20
Re: Multiplayer "locality"
In an odd twist, I discovered some time ago that processes on the server appear to wait for some things to go round trip to the client. It's been so long that I don't remember the specifics, but I had to make some adjustments in the EDX to account for this weirdness, especially on mission starts where there is a lot of initialization code.
tvig
tvig
Re: Multiplayer "locality"
Agree with the earlier points, the underlying point is the HOST controls the mission parameters - that means their AI mods affect the mission even if others don't have them installed - meanwhile client side mods like lighting and effects provide a visual advantage other players may not have.
Also the idea of updates of the shared environments are definitely linked - players events and interactions are pushed to the host, filtered for redundancy, stored/update the database, and pushed back to the players for client side updates. It probably is fair to guess that destroyed buildings, etc are simply echoed for map updates and forgotten in the scheme of data storage.
Once you peel back how these multiplayer environments share data and the use of client side map/models, we can appreciate the difficult in having an immense map and objects for 64+ players - the tracking of information and updates becomes the lag creator.
Also the idea of updates of the shared environments are definitely linked - players events and interactions are pushed to the host, filtered for redundancy, stored/update the database, and pushed back to the players for client side updates. It probably is fair to guess that destroyed buildings, etc are simply echoed for map updates and forgotten in the scheme of data storage.
Once you peel back how these multiplayer environments share data and the use of client side map/models, we can appreciate the difficult in having an immense map and objects for 64+ players - the tracking of information and updates becomes the lag creator.
John J. Stevens- Admin
- Location : WV/PA
Points : 285
Reputation : 22
Join date : 2012-12-19
Similar topics
» Mods in multiplayer
» KDRA multiplayer games!
» DR Console Multiplayer (old days)
» Modifying multiplayer ranks in Profile
» Sniper Elite 3 Multiplayer Developer Commentary
» KDRA multiplayer games!
» DR Console Multiplayer (old days)
» Modifying multiplayer ranks in Profile
» Sniper Elite 3 Multiplayer Developer Commentary
Operation Flashpoint Dragon Rising OFDR Forums :: OPERATION FLASHPOINT: DRAGON RISING :: OFDR EDITING :: EDITING Q+A
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
|
|