Just a quick post on what I feel is the best way to implement online into an ES game other than ESO.
You should not be able to just join someone's game, it should be a group effort from the start. The intro quest can still be single player and then you would all meet up at the end of the intro.
The quests do not have to take into account in a sense for there being more than one main character, just a difficulty increase and treat them as companions of the host. The host being the first person connected to the server during the session.
Now each player should be able to participate in side quests like Guilds for themselves without affecting the other players. However storylines that require a specific character to exist (that has been killed) should be disabled for all players.
A copy of the save file should be saved on the cloud and a cached version on the Drives of the players for quick bit checks and updates incase others were at another time. This should probably be in chunks of data with time-stamps down to the millisecond and checked for authenticity on connection. This will allow faster updates to save files and loading.
If only 1 player is present in the server, the game should not start and require 2 players to attempt connection (2 of original players who started the quest line).
This will allow players to play even if not everyone is present and later update them if they join.
- Twinky!