Welcome to Keen Software House Forums! Log in or Sign up to interact with the KSH community.
  1. You are currently browsing our forum as a guest. Create your own forum account to access all forum functionality.

[MP/DS] Partial voxel restore

Discussion in 'Suggestions and Feedback' started by zorgkirill, May 31, 2017.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. zorgkirill Apprentice Engineer

    Currently, on many servers voxels are restored every week or more often. This is because every cave/hole increases world size, and on popular servers it grows fast. It also seems to cause more load on server. Downloading 10-50MB on every server join might become a problem (btw, why don't you make server world cache, to download only changed sectors since last login, not the changes on the whole world every time?).

    From the gameplay side it becomes less interesting, when you have a couple of ore spots, which restore over time, killing scavenging need.

    Could you add a feature to restore voxels which are no closer than, for example, 1km to any grid? If there is any base (underground one?), any ship (hidden in cave?), or any crashed wreck, voxels around it won't restore during the cleanup.
    If wreckage is too small, it will disappear after first grid cleanup, and on the second, impact crater will disappear.

    As for the ore, it would be great, if there was another feature to fully restore ore veins, or to change mined ore voxels with usual ground/gravel. So miners won't stick to one place, but travel and explore new places.
  2. Phoera Senior Engineer

    who will make those diffs? and who will watch the checkpoint?
    this is same as having nothing there, voxel stream is mostly just diff from base generated one.

    actually this problem must be less problem now, since very less info must really pass to client on join.
    may be it can be reduced more, i did not watched what send now.
  3. zorgkirill Apprentice Engineer

    Not who, but some dozens (or hundreds) of strings of code.
    I imagine it like this:
    Divide the world into 8 parts, according to coordinate axes, each of it divide into smaller pieces two more times. On first server start each sector of each size will have a timestamp of server start. If any voxel is changed there, timestamp will update after save. On player login, these timestamps will be compared, and only changed sectors will be downloaded (and new timestamps saved).
    If player joins first time to crowded server, he might download a lot (whole map), but next time and so on, he will download only relatively small pieces.
  4. Phoera Senior Engineer

    at first, are you sure world still send fully?
    at second.
    Do not carp at words, you perfectly knows what i meant.

    any way. what you say is not good thing to do.
    i am against that MP worlds will be saved on my PC.
  5. zorgkirill Apprentice Engineer

    I know that only world changes are sent, but this is still not good enough for MP.

    Nice argumentation... Devs can add a special checkbox in settings for people like you.
  6. Phoera Senior Engineer

    i mean that voxels are not packed into world state sent to client.
    at least part of them, they just must be streamed, not preloaded.
    and make silly decision?

    there is far more effecient and simple methods.
  7. Forcedminer Senior Engineer

    I've seen that type of feature before.

    I remember learning about it as the entire world froze for a second...............then my base are covered over......nice way to learn about it.
    so while i like the fact it reduces the size of the servers world file size. i also dislike how i'll never be able to make an underground base because of it.

    but oh well anything to keep a server open and running fine.

    i do agree with the feature that ore doesn't just reappear but be replaced by stone hopefully its not a case of

    tOo hArd fOr gAme EnGine aNd sIm SpEeD
  8. zorgkirill Apprentice Engineer

    Could you describe one of them or provide a link? I'm really interested.
  9. Phoera Senior Engineer

    data streaming.

    saving data on client side is just stupid.
    i will have 5 saved after randomly walking into 5 servers? serious?

    your method also required someking of hashing, since same server can launch other world, which can be named same, but have old data.
    also you will need to sync data exactly ms in ms, since loading of back can produce collision.
Thread Status:
This last post in this thread was made more than 31 days old.