The problem would not be server resources and also not engine complexity. The server already has to store the entire map, so it does not matter whether it is modified by players or not. The engine will be more complex, sure, but not insanely.
No, the real problem with that are the clients and the connection to them. Basically, such a tile system would require the entire map to be re-downloaded by the client, not only at every startup, but also each time the tile comes into view, because it might have changed in the meantime! So while this is only a little bit of data, perhaps only three 32 bit numbers, this will add up. Additionally, the client computer would have to recalculate the entire visible map area while moving, including elevations and textures, which will place a great load on the CPU and GPU. It\'s just like when you go to the plaza when it\'s crowded, or when a lot of items have been dropped on the ground: position and ID data has to be transferred to the client, the textures / models have to be loaded and the items have to be rendered. This creates jaggy movement and lag spikes even for broadband users with SOTA comps. Once the things have been processed, the lag vanishes, but in the case of having to reshape terrain that would be a constant problem.
This is the reason why the maps are stored on the client at all.
That said, it
might be possible to have sophisticated checksumming and notification algorithms in place.
It might work if:
- the tiles are large, at least the size of four average houses
- the change of tiles, due to player interaction and plant growth, is still infrequent, like one tile per visible area every hour
- elevation changes are even less frequent, so that the only thing that changes within a week are textures
- the checksumming algorithms provide means to quickly \"spot\" all differences (every client might have a dramatically different map, depending on when they last went there!) and transfer the changed information
only.
This might be augmented and the impact lessened if there was a special updater for the maps only. This updater could be run prior to entering the game, and it would update all maps to the state of the server\'s maps. This way, after having not logged on for years will make for one insanely big update, but not for continous lag during playing.
This way, the \"grass-growing server\" (autonomously changing environment, like forests growing, deserts forming, etc.) could even be implemented.
However, even with all of these optimisations in place, it seems that the only way to do it would be requiring broadband access, which is not yet standard.
