Mirrored as part of a study of Minetest events of 2010 to 2019 and people involved, and in connection with a related book, events in 2017 to 2018, in particular, conferring upon host legal rights related to Fair Use.

Long range terrain approximation test

Here’s something for you to try out:
minetest-0.2.20110618_0_dev-win32.zip
Source: 42aae17d1a1f.tar.gz 42aae17d1a1f.zip

EDIT: The source package was missing the texture for the trees drawn in the distance. Updated the link to point to a working one.

You should end up with something like this:

It draws a rough estimate of the terrain quite far away on client-side, based on the map seed and the noise functions used by the actual generator.

Have fun! 8)

More info in the next post.

8 Responses to “Long range terrain approximation test”

  1. Lionroots Says:

    Well done here!
    It looks a bit too “rough” IMO at the moment but I’m sure there are ways to improve the visual render of this. Anyway it’s clever of you! Thanks :)

  2. Fixer Says:

    I have a problem with it. Look http://ompldr.org/vOTRrdQ (position near 830 1 68 on the krays server). It also lowers fps to 14-18 fps vs 32-36.

  3. Fixer Says:

    Also, I need to point out such problems (tested on kray’s server) like:
    + height of the farmesh are way too high;
    + it is not accurate at all (if it works on based landscape at all);
    + high mountains on the water o_O or in other places where they not standing in reality at all;
    + no smooth transition (far (sky/water) and near player);
    + question of fog
    + trees on farmesh look weird

    Despite of the fact that farmesh needs further assessing I would thank you for providing us with this feature.

  4. Lurler Says:

    It looks awful!
    Please just do it as in minecraft.

    Also, good job making this game!

  5. Hyeron Says:

    Interesting idea, if a bit rough at the moment. The slopes make it look awkward, methinks. Will try this out when I have a bit of time.

  6. Fixer Says:

    Another update:
    I’ve made new world in single player and it seems to represent landscape right, however i’ve getting a crash:


    Client packetcounter (20s):
    cmd 16 count 0
    cmd 32 count 51
    cmd 33 count 2
    cmd 36 count 0
    cmd 39 count 0
    cmd 40 count 53
    cmd 41 count 1
    cmd 48 count 0
    cmd 51 count 0
    cmd 52 count 0
    416 con 2: RE-SENDING timed-out RELIABLE to 127.0.0.1:30000(t/o=1.21484): from_peer_id=2, channel=0, seqnum=29
    14:07:49: Client: avg_rtt=0.394822
    416 con 2: RE-SENDING timed-out RELIABLE to 127.0.0.1:30000(t/o=1.57929): from_peer_id=2, channel=0, seqnum=28
    416 con 2: RE-SENDING timed-out RELIABLE to 127.0.0.1:30000(t/o=2.05307): from_peer_id=2, channel=0, seqnum=29
    14:07:52: ServerMap: Written: 96 sector metadata files, 1438 block files, 2864 blocks in memory.
    400 con 1: RE-SENDING timed-out RELIABLE to 127.0.0.1:1995(t/o=0.493524): from_peer_id=1, channel=1, seqnum=890
    Server::onMapEditEvent()
    Server::onMapEditEvent()
    416 con 2: RE-SENDING timed-out RELIABLE to 127.0.0.1:30000(t/o=2.66899): from_peer_id=2, channel=0, seqnum=28
    WARNING: Invalid block data on disk fullpath=E:\Games\Minetest\source\minetest\bin/..//world/sectors2/00401/6f fcon 32/: 0RE-SENDING timed-out RELIABLE to 010237 (SerializationError). .what()=0decompressZlib: inflate failed.

    In thread f50:
    z:\softat\minetest\src\map.cpp:5553: ServerMap::loadBlock: Assertion ’0′ failed.
    Debug stacks:
    0DEBUG STACK FOR THREAD 1f8:
    #0 main
    #1 Client::step
    .(Leftover data: #2 Client::ReceiveAll)
    (Leftover data: #3 Client::Receive)
    (Leftover data: #4 Client::ProcessData)
    1(Leftover data: #5 MeshUpdateQueue::addBlock)
    DEBUG STACK FOR THREAD bdc:
    #0 ServerThread::Thread
    :#1 Server::AsyncRunStep
    (Leftover data: #2 Map::transformLiquids)
    (Leftover data: #3 RemoteClient::GetNextBlocks)
    3(Leftover data: #4 MapBlockObjectList::step)
    (Leftover data: #5 MapBlockObjectList::step: object wrap loop)
    DEBUG STACK FOR THREAD c00:
    0#0 MeshUpdateThread::Thread
    DEBUG STACK FOR THREAD f50:
    #0 EmergeThread::Thread
    0#1 ServerMap::createSector: p2d=(0,-13)
    #2 ServerMap::loadSectorFull
    #3 ServerMap::loadBlock
    0

  7. celeron55 Says:

    That’s a known problem – the data gets corrupt for some unknown reason. Will take time to fix.

  8. milkshakez7z Says:

    Awseome job man i hope this is going well for you :) Keep up the good work.
    if people call u a fag or something just ignor them because your very cool:D

    good luck.

Leave a Reply