As most of us know, sometimes it can take quite a while to load the map. Walk 30 blocks or so and load... Walk 30 blocks or so and load... and the cycle repeats throughout the course of play.
For me, personally, as well as everybody I've asked, it would be much more preferable and efficient to spend 3 minutes or so loading the entire map prior to getting in the game rather than spending 30 seconds loading here and there. This can be a user-preference, and nobody is forced to utilize this option. In fact, even if the preference is set, the end-user can press X to skip "pre-loading" and revert to the old loading system. I am not sure about the coding structure in place on the Xbox and if it would be an easy implementation, but 4J should certainly look into building this into the game's infrastructure. Any changes to the world while loading are appended to the user's local cache.
With the current loading system, you are loading the map directly from the host, thus, when multiple people are doing this, lag occurs. This can cause lag problems when people are connecting to the game, considering you would be downloading a large amount of data from the host. What can be done, potentially, is... assuming 4J would be willing to consider dedicated servers:
When you start your server, your Xbox starts the game and inconspicuously sends your world's data to 4J's dedicated servers.
Then, when a user joins the game, they connect to the host, and are pointed to the world-file on 4J's dedicated server which is downloaded from the server versus from the host -- thus averting lag.
There is no data retention on 4J's servers, these are only used when the server is online to allow users to download the world from a non-host source. As soon as you leave the game or your server is shut down, the files are purged from 4J's servers.
Any time the host saves, the changes are appended to the file on 4J's servers. Thus, anybody joining in after the save will have the most current version of the world.
If somebody joins into a game has not been saved for 30 minutes, they will preload the last save of the world from 4J's servers. Once the content is downloaded from 4J, it will check if any game data has been changed since the last save on 4J's servers. The changes can then be downloaded from the host prior to joining or be downloaded as the user is playing. This averts a very significant amount of unnecessary data transfer from the host which, in turn, may be very helpful in preventing lag from occurring.
Let's recap...
Host Starts Game
As the host starts the game, the world data is sent to, and temporarily stored on, 4J's servers
Anybody who joins will inconspicuously be pointed to 4J's servers to download the game content.
The person who joins will load the changed data prior to joining, or while in the game -- depending on the way this is implemented.
Any time the host saves, the 4J server file is updated. People joining the game will load the most recent save, then load changed data after loading the saved data.
When the server is ended, the world data is purged from 4J's servers.
Please let me know what your thoughts are, and ask many questions as doing so will only strengthen this idea and help build a clear and concise plan that 4J will hopefully consider implementing to bring a higher level of quality to their players.
All feedback and constructive criticism is not only welcome, but ENCOURAGED.
"Together we can change the world [of Minecraft]."
I don't know much about dedicated servers but a company so experienced and successful as Epic Games being unable to maintain dedicated multiplayer servers for one of the larger gaming communities on Xbox Live makes me wonder if 4J, a small games development studio, would be able to do so successfully with the second most played game on the system. Like I said, I don't know much about dedicated servers but I know that they are expensive and in constant need of maintenance.
Also, this idea does discourage the idea of expanding the map which, to me, is not hugely important. Nevertheless, 4J's focus should be aimed at what the majority of the community want which is, evidently, larger worlds.
I believe you've misunderstood. Sorry for the miscommunication.
4J would not roll out dedicated servers to host games. Let me try and portray this better. They are essentially acting as a file host. They would be storing the host's save-file on their servers as soon as a game is created. When a host starts a game, their save file is sent to 4J's servers for temporary holding while the gameserver is active. Gamesave sizes range from 3mb (a brand new map) to a maximum of around 29MB. So when a user joins somebody's game, they are pointed to the file on 4J's servers and download it from there very quickly, rather than relying on the host's connection which causes the game to lag. This whole process is inconspicuous and unnoticed by the end-user. The only difference the end-user will see is less in-game loading!
4J would be able to tackle this issue fairly easily with a cloud-based configuration that is able to be expanded on an as-needed basis. A cloud system would be necessary to deal with the sudden, or random influxes in online gameplay. Given that this is not a gameserver, and is instead a fileserver, the function itself is not hard to accomplish. The implementation of the function into the game's code, however, is going to be the most difficult part.
Hope that makes more sense.
Edit: On the note of larger worlds, I think the majority of the community would like to fix the lag problems before getting larger worlds and making those lag problems even worse. Just my two cents.
Further, it doesn't interfere with that focus at all, not in any way that I see, anywho.
For me, personally, as well as everybody I've asked, it would be much more preferable and efficient to spend 3 minutes or so loading the entire map prior to getting in the game rather than spending 30 seconds loading here and there. This can be a user-preference, and nobody is forced to utilize this option. In fact, even if the preference is set, the end-user can press X to skip "pre-loading" and revert to the old loading system. I am not sure about the coding structure in place on the Xbox and if it would be an easy implementation, but 4J should certainly look into building this into the game's infrastructure. Any changes to the world while loading are appended to the user's local cache.
With the current loading system, you are loading the map directly from the host, thus, when multiple people are doing this, lag occurs. This can cause lag problems when people are connecting to the game, considering you would be downloading a large amount of data from the host. What can be done, potentially, is... assuming 4J would be willing to consider dedicated servers:
When you start your server, your Xbox starts the game and inconspicuously sends your world's data to 4J's dedicated servers.
Then, when a user joins the game, they connect to the host, and are pointed to the world-file on 4J's dedicated server which is downloaded from the server versus from the host -- thus averting lag.
There is no data retention on 4J's servers, these are only used when the server is online to allow users to download the world from a non-host source. As soon as you leave the game or your server is shut down, the files are purged from 4J's servers.
Any time the host saves, the changes are appended to the file on 4J's servers. Thus, anybody joining in after the save will have the most current version of the world.
If somebody joins into a game has not been saved for 30 minutes, they will preload the last save of the world from 4J's servers. Once the content is downloaded from 4J, it will check if any game data has been changed since the last save on 4J's servers. The changes can then be downloaded from the host prior to joining or be downloaded as the user is playing. This averts a very significant amount of unnecessary data transfer from the host which, in turn, may be very helpful in preventing lag from occurring.
Let's recap...
Please let me know what your thoughts are, and ask many questions as doing so will only strengthen this idea and help build a clear and concise plan that 4J will hopefully consider implementing to bring a higher level of quality to their players.
All feedback and constructive criticism is not only welcome, but ENCOURAGED.
"Together we can change the world [of Minecraft]."
I believe you've misunderstood. Sorry for the miscommunication.
4J would not roll out dedicated servers to host games. Let me try and portray this better. They are essentially acting as a file host. They would be storing the host's save-file on their servers as soon as a game is created. When a host starts a game, their save file is sent to 4J's servers for temporary holding while the gameserver is active. Gamesave sizes range from 3mb (a brand new map) to a maximum of around 29MB. So when a user joins somebody's game, they are pointed to the file on 4J's servers and download it from there very quickly, rather than relying on the host's connection which causes the game to lag. This whole process is inconspicuous and unnoticed by the end-user. The only difference the end-user will see is less in-game loading!
4J would be able to tackle this issue fairly easily with a cloud-based configuration that is able to be expanded on an as-needed basis. A cloud system would be necessary to deal with the sudden, or random influxes in online gameplay. Given that this is not a gameserver, and is instead a fileserver, the function itself is not hard to accomplish. The implementation of the function into the game's code, however, is going to be the most difficult part.
Hope that makes more sense.
Edit: On the note of larger worlds, I think the majority of the community would like to fix the lag problems before getting larger worlds and making those lag problems even worse. Just my two cents.
Further, it doesn't interfere with that focus at all, not in any way that I see, anywho.