Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

Hexamap - Fast, extensible procedural worlds

Discussion in 'Assets and Asset Store' started by bhuet, Jul 25, 2019.

  1. bhuet

    bhuet

    Joined:
    Nov 15, 2018
    Posts:
    8
    Description :
    Hello everyone,

    I just released my first asset for Unity and I am quite excited to share it with you ! Its named Hexamap and provide you a framework, a library, a smart way to build procedural worlds in your tile-based projects. I hope you will enjoy it !

    Trailer :


    Key features :


    Overview :



    Do not hesitate to contact me if you need any kind of support or informations regarding the asset. You can also use this thread or GitHub !

    Thank you,
    Benjamin
     

    Attached Files:

    Last edited: Apr 20, 2020
    digiross likes this.
  2. digiross

    digiross

    Joined:
    Jun 29, 2012
    Posts:
    323
    This looks very interesting and perfectly timed for my new project. What kind of performance is their? What size world/terrain can reasonably be expected?
     
  3. bhuet

    bhuet

    Joined:
    Nov 15, 2018
    Posts:
    8
    Hi digiross,

    It really depends of what you want to do and what configuration you'll be using. :)

    Talking about landforms included in the asset, roads and rivers will quickly impact performances for example since they are internally using pathfinding and, even if the A* algorithm is fast, it's obviously time consuming.

    When running the demo scene on my laptop (CPU : i7-8650U), generating about 2500 tiles with roads and rivers takes about 1-1.6s to generate. You can check the beginning of the overview video to see some examples (keep in mind there is some overhead because of recording at the same time and this is inside the Unity Editor).

    ----
    EDIT : I just ran some benchmarks on the demo scene in a standalone player and here are the times I get for 25 maps :

    1.4821749 0.5609802 0.6666023 0.4724216 0.5656221 0.5525242 0.6164655 0.7295563 0.7606675 0.500175 0.6728931 0.634382 0.6054279 0.5186247 0.4792251 0.4697717 0.4488441 0.4965303 0.4830851 0.5460883 0.5535256 0.42907 0.5526908 0.5597548 0.4481522

    Average is 0.590s
    ----

    Now if you are looking for really huge worlds using the same configuration as above to generate about 18k tiles...

    Without roads and rivers (12s) :

    perfo.png

    And now with roads (26s) :

    perfo2.png

    What kind of size do you need for your project ?
     
    Last edited: Jul 25, 2019
  4. bhuet

    bhuet

    Joined:
    Nov 15, 2018
    Posts:
    8
  5. bhuet

    bhuet

    Joined:
    Nov 15, 2018
    Posts:
    8
    Hello everyone, I just released a new update allowing the asset to generate randomly shaped maps.

    This is the kind of result you can expect :
    random01.PNG
    random02.PNG
     

    Attached Files:

  6. bhuet

    bhuet

    Joined:
    Nov 15, 2018
    Posts:
    8
    Hey guys, please don't forget to give a review after trying :)
     
  7. TefarMain

    TefarMain

    Joined:
    Mar 24, 2019
    Posts:
    22
    Hi I am the user of Hexamap, I found that it doesn't support road path in different Biomes. Is there any way to support this?
     
  8. bhuet

    bhuet

    Joined:
    Nov 15, 2018
    Posts:
    8
    Hi TefarMain, I'm afraid it is indeed not supported as of right now due to how biomes are generated.
     
  9. bhuet

    bhuet

    Joined:
    Nov 15, 2018
    Posts:
    8
    Hello guys, thank you for your support with the asset ! Do not hesitate to contact me if you have any question :)
     
  10. GPcoder

    GPcoder

    Joined:
    Aug 17, 2021
    Posts:
    1
    Hi Bhuet,

    It is possible to switch out your hextiles with hextiles I have created? They are 3d hextile.

    Also second question, can you generate a world, and then edit the hextiles with a different hextile. For instance, wanting to put in a road that wasn't there already.

    Thanks.