• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Discussion about uploading the map directly to the client

Switch

New Member
Joined
Oct 27, 2020
Messages
21
Reaction score
3
Sometimes I have some absurd ideas and keep thinking about their viability,

And one of my ideas recently would be to leave the map processing to the client as some 3D games do.

I think that this may be advantageous to save resources on the server and to be able to support more players, and I also think that it could cause the instantiation of specific maps for players, such as a dangeon being instantiated separate from the real map.

I would like to know your opinion on the subject and if it would be feasible to do something so drastic
 
With proper client changes you can cache map and server won't have to send same tiles over and over again. Then again, it's not like with each step players take, server sends entire screen worth of tiles, only one column and/or row (based on movement direction).

While sending entire map when player logs-in would cause server lag unless that job is on a different thread, but that requires multi-threading, which unfortunately is not a thing in TFS.

I also think that it could cause the instantiation of specific maps for players, such as a dangeon being instantiated separate from the real map.
Already a thing.
 
It is possible and we're actually thinking about something similar in our project. The problem here is this:

- While the client side might be well aware of the original sourroundings thanks to the side-loaded map, you need to still take into account how the map has changed since then (for instance: players are throwing items around, monsters are dropping dead leaving their bodies behind, you have house items, etc.)

To address that server would have to still send 'delta' between original tile items vs. current ones. So the only saving here would be internet bandwidth (less data to send while character is moving), but the algorithm itself would be even more complex.

Summarizing: it's worth doing if you want your client to display larger map range while moving. With the default ones being set to width = 18 and heigh = 14 it is not needed, unless you need to really optimize the bandwidth usage.
 
Back
Top