The commit/patch approach also would not require a great connection to the server, as information would not need to be relayed constantly between the server and client, and even with no connection, the client could keep working on their local copy. Since the commits would usually not target the entire map, it could be possible to revert an older commit affecting only a particular room, without reverting the entire map back to an older version. (The previews would be just layered under the local copy of the map, and would not interact with the local copy.) The client editor could differentiate the previews by using a different color or shade. to commit to the server, rather than all of their current changes.Ĭlient editors could also be automated to send preview commits to the server that are not patched into the "master copy", but are instead just broadcasted to the other clients as mere previews of what the mapper is working on at the moment. Perhaps mappers could choose to highlight specific sectors/linedefs/things/etc. Mappers using the client editors could also have the option of reverting back to the "master copy", and discarding their current changes. The server would then patch the master copy of the map, and broadcast the changes back to all the clients so that they can update their "master copy". When a mapper using the client editor is done with a portion of the map, the client editor would compare the local changes to the latest "master copy" received from the server, and form a commit/patch of the changes done to the map, and send these over to the server. The server's job would be to keep clients up to date with the "master copy" of the map, and to receive commits from the clients, that get applied to the "master copy" of the map.Ĭlient editors would keep in memory both the latest "master copy" received from the server, as well as their local working copy of the map. Mappers using client editors would connect to an authoritative server, which would hold the main copy of the map. I think a good approach to this, would be with a client/server model that uses commits/patches.
0 Comments
Leave a Reply. |