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

Honey Hex framework

Discussion in 'Assets and Asset Store' started by MuHaGames_Avee, Aug 28, 2014.

?

If the hex framework was available on the Asset Store...

  1. I would not be interested in buying it - it's not good enough

    3.3%
  2. I would not be interested in buying it - I wouldn't use it

    1.7%
  3. It's interesting but needs more features (please write details below)

    8.3%
  4. I'd pay for it no more than $20

    25.0%
  5. I'd pay for it no more than $50

    33.3%
  6. I'd pay for it no more than $100

    20.0%
  7. I'd pay more than $100

    8.3%
  1. MuHaGames_Avee

    MuHaGames_Avee

    Joined:
    Feb 25, 2013
    Posts:
    25
    NEW FORUM!
    Because this thread is getting longer and it's hard to find specific information,
    we've created a dedicated forum for Honey users and invite you to discuss everything there.
    Head over here: http://honey.boards.net/

    Update: Honey is now available for purchase on the Asset Store here:
    https://www.assetstore.unity3d.com/en/#!/content/21650

    ss12.jpg

    Video Tutorials:
    Tutorial 1: Quick start guide
    Tutorial 2: Preparing assets

    PDF Documentation:
    Basic Tutorial

    Some of the framework's features:
    - randomly generates and blends terrain based on textures only
    - foliage and water system
    - procedural shadow casting, no lights involved
    - high performance (0.7 ms per frame on medium spec gamer PC)
    - configuration settings from XML (just added)
    - requirements: DirectX 9 (11 recommended), Unity Pro
    - sample terrain and foliage included in the pack

    The framework provides information about:
    - hex world floating point height data (eg. for positioning trees)
    - hex to world transform
    - hex terrain tags
    - mouse click to hex position
    - hex neighbors
    - hex + range list (list of hexes in radius from selected hex)
    - simple field of view (you have to define which hexes act as obstacles and view radius)
    - pathfinding powered by A* free library (here: http://arongranberg.com/astar/download)

    FULL SOURCE CODE IS INCLUDED

    Attached some screenshots.
    ss12.jpg ss13.jpg ss14.jpg ss15.jpg
     
    Last edited: Dec 17, 2014
    Johnny-Casual likes this.
  2. fastlife1995

    fastlife1995

    Joined:
    Aug 20, 2014
    Posts:
    21
    Definitely somewhere around the $50 mark. I can help out with the documentation if you want.
     
  3. Kubold

    Kubold

    Joined:
    May 10, 2012
    Posts:
    358
    I voted "no more than 100" for features you mentioned, but, depending on how much "boring" work you included, I would pay even $300, if this framework handled stuff like:
    - getting hex centers and sides directions as vectors (for positioning "armies")
    - getting terrain kind (mountains, seas, plains, forrests etc)
    - pathfinding across the hexes

    ...well, basically, all the "background", that I would have to do anyway to create Civilization-kind game (it looks like Civ, right?). I bet everybody who buys this would need these features anyway... and I bet you will too :)
     
  4. MuHaGames_Avee

    MuHaGames_Avee

    Joined:
    Feb 25, 2013
    Posts:
    25
    @Kubold - the features you mentioned are already built in the framework, I've editted the first post to include that
     
  5. fastlife1995

    fastlife1995

    Joined:
    Aug 20, 2014
    Posts:
    21
    Personally for $300 I would develop the system myself or go with something less complex if time was an issue. I would definitely not be interested in buying it. Just my opinion :)
     
  6. Kubold

    Kubold

    Joined:
    May 10, 2012
    Posts:
    358
    I now feel obligated to explain why I said $300 :). It's because if I would to make it myself, it would take me 1-6 months (maybe). 1 month of minimal living expenses is $1500. So you end up with the choice: $300 or $1500-$9000 to end up with the same framework.

    On the other hand - if it's <$50, I might just buy it to try to make a hex game, just for fun. If it's $100 and more - I would buy it only if I'm absolutely sure I will make a hex game and sell it. All and all $50 should make more money for developer in the end.
     
  7. Hikiko66

    Hikiko66

    Joined:
    May 5, 2013
    Posts:
    1,303
    What methods are available out of the box for building maps?
     
  8. MuHaGames_Avee

    MuHaGames_Avee

    Joined:
    Feb 25, 2013
    Posts:
    25
    Currently maps are completely random but you can define their size, seed for randomization, specify hex terrain types, foliage types and amount (which may be modified by resulting blended terrain shape so trees don't grow on water or mountain tops etc.) per terrain type. Here's a screenshot from our terrain and foliage editor.
    ss16.jpg
    Note that you can specify theme color for foliage per terrain type which allows you to reuse sprites but framework would produce subcolors to make it feel more natural and varied. It also adds vertex color offset to lighten and shadow each sprite to give them more depth.
     
  9. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    I'm happy you like this guys ;)
     
  10. Ignorant

    Ignorant

    Joined:
    Jan 7, 2013
    Posts:
    6
    I said $50. Explanation: probably would need to rewrite it anwat to work as I need, but then - I love visual effect of blending fields and learning by some nice example (if there is demo included) would save me some time. If I could known that it would be more useful to me $150 is also not much.
     
  11. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    When you use middle ware you always end up rewriting or extending bits to fit your needs. We have wrote framework in isometric tactical / strategy view. If someone have some fancy ideas would have to rewrite more than someone who is planning to make isometric tactical game or strategy game.
    You would be able to use demo random world and following attached PDF file you will be able to understand step by step world preparation and tons of tricks used to achieve final effect I have learned in years of game developmet (Its very likely you have played or at least know some of titles I worked on :p).
    I'm not teacher though so any feedback from this documentation would help me make it easier to understand for everyone else ;)

    For those who like "new" features I would like to inform you that framework is slowly getting formation movements (mix of pathfinding with Animator driven avatars, similar to Civilization 5 army movements and terrain height tests). It would be included in framework, most likely next week ;P
     
  12. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,033
    I'd like multiple choice :)

    If it's cheap enough for early adopters, I might buy it even without actually needing it immediately. But anything up to $75 is probably fine for something like this.
     
  13. MuHaGames_Avee

    MuHaGames_Avee

    Joined:
    Feb 25, 2013
    Posts:
    25
    The thing with Asset Store as it stands now is that it's not too flexible when it comes to price tiers (or bundles or discount codes and many other things). So if we lets say released two versions - one basic for $20 and another feature packed for $100, all those who bought basic and wanted an upgrade, would need to pay $100 for it instead $80. Then perhaps ask for a refund for the basic version. Not the best solution. So I'm leaning towards one option only with a cost below $100 mark. Or perhaps start cheaper than that and increase the price as things get added? Though right now I would love to see more people hitting the poll to get a better idea.
     
  14. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,033
    By multiple choice I meant I'd like the poll to be multiple choice ;)

    Maybe release it as is, clearly indicate it's WHIP (work heavily in progress) and push the price up as things improve? At least that's what I'd do with something that is useful *now*, but definitely gets more features. No idea on what price you should start at. My poll answer would be "I don't need it, I just want it - tempt me!" :p
     
  15. MuHaGames_Avee

    MuHaGames_Avee

    Joined:
    Feb 25, 2013
    Posts:
    25
    @orb - sorry, can't change the poll once it's posted.

    Well, there are definitely more features planned, we'll need them in our game anyway. Things such as fog of war or shroud-covered hexes, perhaps world wrap, roads... We'll probably get (and implement if possible) other feature requests from buyers too.
     
  16. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    For those who like stats I have generated world which consist of about 8.5k hexes with some extra boundary hexes and I estimate it to have about 200.000 trees.
    Performance did not fall but it used about 2.58 GB memory total.

    This can be easily cut by using anything lower than best quality which simply uses 1024x1024 instead of 2048x2048 textures. The same map is then about 1.21 GB in memory.
     
  17. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,033
    That memory could be reduced with some smart unloading, I'm sure, but it's good to know it performs well. Then again, that size might be quite a few times the size of the largest Civ 5 map :)
     
  18. MuHaGames_Avee

    MuHaGames_Avee

    Joined:
    Feb 25, 2013
    Posts:
    25
    Some more development screenshots - winter wonderland and latest addition - sandy coastline.
    snow1.jpg snow2.jpg snow3.jpg ss14 (2).jpg ss15 (2).jpg
     
    Johnny-Casual likes this.
  19. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,033
    You could probably make a decent set of terrain for the core package, and sell add-ons with specialised terrains, like scorched land, lava, elbow growth, or whatever it is a fantasy game needs ;)

    If you've covering all the real terrain options out of the box, it's a pretty massive foundation for strategy games.
     
  20. Hikiko66

    Hikiko66

    Joined:
    May 5, 2013
    Posts:
    1,303
    The ability for random seeding is nice, but I'd still want a way to explicitly specify tiles.
     
  21. MuHaGames_Avee

    MuHaGames_Avee

    Joined:
    Feb 25, 2013
    Posts:
    25
    @orb
    We'll probably need to have at least a few customers to do that but no doubt people would find it useful once the base plugin gains popularity. But lets see what's the demand first.

    @NA-RA-KU
    Good idea, we'll put that on our list of stuff to add. Probably after the initial release, but it's definitely a sensible feature to have.
     
  22. MuHaGames_Avee

    MuHaGames_Avee

    Joined:
    Feb 25, 2013
    Posts:
    25
    Update:
    We're half way in preparing the framework for sale through UAS. Atlasing is now done entirely using free tools (was NGUI before), but the best news is that we've got permission to include A* Pathfinding Free (by Aron Granberg) in our package. This means less hassle to set it up for you guys and we can also make sure it's all compatbile. Right now we need to finish writing documentation, add some tutorials and wrap it up for submission. If review by Unity team goes well, we hope to have it hit the store within 2-3 weeks.
    Our name of choice is Honey - Hex Framework.
     
  23. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,033
    Great news. Not just that you're writing documentation, but also that it's so soon :)
     
  24. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    @NA-RA-KU
    You can of course specify tiles from code by simply overriding currently called "generate world".

    Lets say you want to have mountains in certain area:
    (pseudo code)

    hexes = GetHexes(position, radius)
    mountains = terrainDefinitions.findAll( instance.type == "Mountain");
    foreach (hex in hexes) hex.type = mountains[Random(0, mountains.length)];
     
    Last edited: Sep 4, 2014
  25. MuHaGames_Avee

    MuHaGames_Avee

    Joined:
    Feb 25, 2013
    Posts:
    25
    Great news! Unity has just accepted Honey on the Asset Store and we've got a special promotion for you :D
    At the moment, the framework is being sold for $50 (or €47.50 if you live in Europe, as we all love VAT). Tomorrow we will push our first update and also change the price to $75. No idea when the update gets released - might be a couple days, might be over a week. So you have time until then to grab the framework at a lower price.
    If you decide to buy it, we would be very grateful for a rating and/or review. It means a lot to us to know what you think about the kit.
    And the store link: https://www.assetstore.unity3d.com/en/#!/content/21650
    Will update the first post with links to the store and tutorials which we have done in the meantime.
     
  26. sanuvin

    sanuvin

    Joined:
    Feb 11, 2014
    Posts:
    61
    Impressive!
     
  27. Lennartos

    Lennartos

    Joined:
    Feb 13, 2013
    Posts:
    34
    Just Bought it for 75$ - this looks like a project worth supporting.
    I selected limit around 100$

    As you have already release it i kinda miss a a proper discussion thread for it. :)
    What i would like to see for features:

    Must haves:
    load/save map from file & Either have editor functionality in unity - or the file should be an image like png / bmp so you can edit it there.

    Wanted: ( request made "general" so that everyone should be able to customize it for their need )
    1) Ability to color the hexes with primary and secondary color:
    Uses: Basic Hex selection ( selected hex / see current mouse hover hex ) & Area of effect preview
    Also very useful to give info Through Coloring, like simple terrain mapmode ( each terrain has a color - your theme value is a example ), Ownership ( which player controls it ), province values ( green = good, red = bad ).
    Sample images of what i mean:
    http://media.pcgamer.com/files/2012/06/civilization_V_gods_and_kings.jpg

    For more complex values a secondary color would be nice... Would be nice to decide looks with a alpha texture that provides main / secondary distribution ( so you can do stripes etc if you want )
    Sample images of what i mean:
    http://www.europauniversalis4.com/s.../europauniversalisiv_pdxcon_screenshot_02.png

    2) basic borders - as extension to ownership, ability to show borders that follows the hex grid.
    ability to place a mesh / texture here for customization. ( so you can do it as a flat aera like civ or a high rise border like this one: )
    http://thurotdotcom.files.wordpress.com/2012/05/0-header-q.jpg
     
  28. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    Hi!

    Some of the above is planned to develop, but we do not want to go to deep into gamplay "ownership" or to many customization colors seems like something what is too much project specific. We do a game on this framework as well and I cant see use for those. Although some region selection or borders (build from generic hex list, not data within hexes itself) are in our roadmap.

    We would have some save as well as its critical for our project anyway, but I'm not sure if we will prepare "hex painter" tools which would for sure ease manual edit of hex data , but I don't think we would have time for this before our game is done Q1 next year.
     
  29. Lennartos

    Lennartos

    Joined:
    Feb 13, 2013
    Posts:
    34
    Hi, and thanks for the quick response.

    The only thing i request is that a way is provided for coloring of the hexes to be implemented easily.
    As long as coloring can be done (which will be useful for all the above i mentioned) anyone would be able to extend it and use it for whatever need they have.
    To clarify: i'm not expecting you to provide any game data specifics like ownership etc - but that you provide a way to assign coloring / overlay to the hexes... that can be done by shaders themselves (seperate colors per hex assignable ) - or as optional a mesh decal on top of selected hexes ( which i think would be a more flexible solution since you can just keep adding decals for stuff like burn marks after fireball spell etc )

    The usages are many as i see it, lets take a simple hex game like kings bounty:
    http://www11.onrpg.com/wp-content/gallery/kings-bounty-legions/kings-bounty-legions-2.jpg
    Here for example coloring is used to show movement range & attack opportunities.
    Its also used for spell area of effect visualization (see what hexes the spell will affect)
    For continuos spells that provide buffs / debuffs ("totem of life" etc), a border will be created to show the area affected by these spells ( so you know where to keep your units to get the bonusses )

    Whatever path you choose to do this, i assume any game will benefit from these simple building blocks and most people here would appreciate the ability to create borders, selection highlight & colors.:)
     
  30. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    Sure. Some way to highlight single or group of hexes is planned and I think it would have enough freedom to satisfy your needs. Our first pass using projectors was not performing well (the way projectors works is not good enough) but we have another idea which simply have to be done from the scratch but it would work much more efficient :)

    Edit:
    If you use DX9 fallback of honey then projectors might be good for you though
     
  31. Lennartos

    Lennartos

    Joined:
    Feb 13, 2013
    Posts:
    34
    My primary targets are PC & Android for this framework, so that sounds useful. ( except for the bad performance part :))
    I'm still just at reading the code and exploring limitations atm.. some areas will require some rework ( like for example the pathfinding ).. but all in all it looks good so far.

    My next steps for my POC would be borders & highlighting, so if you still have that build i would like to see how you had imagined it... and be able to play with how it would look.
    Though its likely better to take that over mail instead of here?
     
  32. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    I do not have it in any working state so it would eb more work to revive it than write if again.

    If you want to go with android you most likely will use fallback features. Which you set by switching boolean in HoneyFramework.MHGameSettings.xml dx11Mode to false

    Projectors are part of the Unity feature. They work similarly to light which simply redraws mesh using new "light" (projector) material, in which case you need to have projector of the radius = Hex.hexRadius

    Projector should draw after geometry is done with eg transparent shader(which usually is default).
    Note that all meshes which accepts projectors would all get redrawn for each projector if they touch projector volume. In which case hexes which goes across borders more than single chunk will trigger draw call for all of them.

    If you draw extra hex texture on (for example) 15 hexes of which 5 goes across 2 chunks you will produce new 20 draw calls so its vital for those shaders to be as light as possible.

    Give me a shout if you need more details!
     
  33. Lennartos

    Lennartos

    Joined:
    Feb 13, 2013
    Posts:
    34
    Aha you mean it like that. yeah that's brilliant and insane at the same time.
    So for each hex that needs highlighting/coloring i will need to add one projector, brilliant in its simplicity.
    Once you have 1K+ hexes to color, this approach will not make much sense - but for highlighting mouse click and smaller area its fine.

    Edit:
    Didnt take long to make a mockup - but it really doesnt look good
     

    Attached Files:

  34. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    Ok, here you go.

    Note that projector should ignore all layers excludinng terrain.
    Shader here is a simplified projector shader because original one was doing some unwanted stuff and more as a light/shadow than texture overdraw
     

    Attached Files:

  35. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    Ps note that if you want to see 1k hexes in same moment you most likely prefer to have some custom mipmapping which allows to work world with much less drawcalls (which are simply waste anyway from far distances) you can do that by switching to less resolution world (eg in a way as its done in civ5) or by switching to map mode (like in endles legend) or limit how far player can go from the world
     
  36. Lennartos

    Lennartos

    Joined:
    Feb 13, 2013
    Posts:
    34
    Thank you very much Khash
    That definitely put me on the right track for making my POC - i did not think about using the projector in such a way.

    On a sidenote, playing around with it for a bit more showed a tiny annoyance - the trees.
    It would be nice if one could make the trees in a hex a bit transparent once a unit enters it so it doesnt look like they are impaling the unit.
    Its not high priority, but just thought that i would mention it in case you are looking at something tree related in the future.
     
  37. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    that could be easily achieved by modification of the tree shader. You can feed it with center which makes some trees(pixels) in radius transparent.

    Tell me if you need more guidance on that
     
    Last edited: Sep 28, 2014
  38. Lennartos

    Lennartos

    Joined:
    Feb 13, 2013
    Posts:
    34
    Ok, the projectors where simply too slow - already after 10's of instances the frame rate dropped considerably
    So i changed the default shaders and now have a pretty nice coloring going on - hex based.
    I can use the same approach for trees as well.

    I simply used a 256*256 texture as data container (max 65K hexes) - and 1 pixel in texture = 1 hex. ( x,y are mapped - z ignored )
     

    Attached Files:

  39. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    At which stage do you feed those data in? Can you share this shader? I would love to see what exactly you have used there. Maybe I can do some improvements ;)

    Also are you happy for me to share this for other users if it works well in default honey? :)
     
  40. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    Btw: You may expect some small patch within 3-4 weeks or bigger one within 6 weeks. I'm not sure yet how much we will push to framework from our game development, but it seems that some features are requested more often than the others and I want to provide you with them!
     
  41. Lennartos

    Lennartos

    Joined:
    Feb 13, 2013
    Posts:
    34
    Hi Khash
    Sure... i didnt do anything fancy though, and the code is just POC quality.
    I just moved tour HEX position calc from C# to the shader, and then used the int coordinates it produces to map x,y to a 2d texture.
    _Detail is the primary color texture.
    Next step would be to add a _HexTexture ( think OvenAssets_>Hex_outline) that gives the ability to determine how the color is blended instead of full color everywhere ( including blend distribution for secondary color texture - allowing stripes or whatever is wanted ).
    For the hex texture I was thinking of:
    red = primary color blend
    blue = secondary color blend
    green = disponible
    alpha = hex border ( like now )

    But i haven't been able to determine a good way to create uv textures that match the texture yet.

    Also attached is the camera controller that paints textures & handles unit selection.
     

    Attached Files:

  42. Lennartos

    Lennartos

    Joined:
    Feb 13, 2013
    Posts:
    34
    Also i think it need to make it clear why i see hexes inside shaders as a high importance / must - its not just for the ability to make them dynamic and be able to change or highlight them, a big reason that i think its important is that WATER tiles needs hexes as well - we do have air units and sea units that need to be able to traverse.
    ( incidently these hexes could with the shader be set to low alpha / bluish color until a unit is selected that can traverse them )
     
  43. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    Thanks for sharing, its actually interesting idea. I hope to get some time next week to write version which would work on water and possibly use texture instead of color which would let you make selected hexes look very nice and stylish ;)
     
  44. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    Hi!
    Following your idea I have implemented system this weekend for marking hexes. I know example I show here isn't perfect as similar could be easily done with one type or markers simply by multiplying color, but I use sprite atlas for it. So to mark any hex I have to call now HexMarkers.SetMarker(Vector3i, int) where int is a type 0-8 included (so 8 types of markers and 0 as "none" )
    It do blending and performance seems still great :D no and it doesn't really matter how many hexes get colored.

    Downside is that I had time to implement it only for DX11 and my other tasks start pushing me to the ground so you may get soon this update which you could adapt to DX9 yourself (difference cutting down shader to dx9 should be an easy work as its simply removing tessellation and related pragmas but testing is something what takes more time ;/)

    I hope you like it :D

    ps hex markers are very simple visually, yes, but they are just textures you can paint anything on.
    If I find few more seconds I will advance this so that you can have multiple markers on single hex with no performance drop :p
     

    Attached Files:

  45. Fred69

    Fred69

    Joined:
    Oct 5, 2014
    Posts:
    6
    Hi!
    I find your work really impressive ....
    I am seriously considering buying this framework for my current project, but
    I have a few questions:

    As I read the various posts, it would be pretty easy to edit the code to suit my needs ...
    Do you think it possible for me to create a map editor?
    In my project, I have actually two levels of map.
    the regional map, which corresponds exactly to the framework you are selling,
    and a level with "tactical" maps.

    I wondered if it was possible to create maps of this kind ... with some modifications of the code?

    I need transitions between the different types of terrains, and that some terrains, such as hills,
    span to multiple hexes ....
    it is possible to get this type of effect?
    Sorry for all these questions, and my bad english ... I'm french.

    thank you

    Fred
     
  46. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    Hi!

    Map editor? it depends what you want to achieve it would be either easy or average difficulty.
    One of the clients bought Honey and made editor where he provides texture, this texture is then translated to hex data and honey produces terrain according to it.

    It is possible to even live regenerate hexes (edit at runtime) but its harder to achieve and requires more advanced programming skills. I would estimate first task to about 2 days, while other to about 5 - 6 days. But it of course depends on the skill.

    Honey doesn't have at the moment save feature implemented but you may grab chunk and hex data and store it somewhere and recover it easily which would let you move between multiple maps fast. But you may reuse hex data from memory and rebuild world with what you have now in framework as well.

    Blending many types of terrains is core feature here. I doubt you will easily find alternative which do it better. (You may find some games which do this but they do not offer source code as I do)

    If you want single hill which goes across eg 5 hexes continuously then this may require some work on Mixer textures adjusting them to what you need and then height textures as well. But I'm sure you can workout great results. Sometimes my hills blend themselves anyway without my will and this makes them really interesting. You may want to extrapolate this "flaw" in terrain generation and then use it intentionally in some areas(this occurs sometimes when hew hexes gets hill terrain type one next to another. not just by single hill spreading over many regions).
    You may want to do some postprocessing on height generator between hills or some other tricks. If you need I can point you to some code lines ;)
    Have fun ;)

    Cheers
     
  47. Fred69

    Fred69

    Joined:
    Oct 5, 2014
    Posts:
    6
    Hi,
    thank you for your quick response,
    For the map editor, I thought of a 2D editor, based textures, which would then be translated into data by the framework, with of course possibility to save and load the maps ...
    Not too many problems with my level of programming, I have a lot of experience, even though I'm pretty new with Unity engine ....

    From what I saw, the framework works with highmap to calculate the various terrains élévations,
    it must be possible to define for each hex the highmap to use with the help of a map editor.
    I have some ideas for implementations that already come to me ....

    I think i can adapt the framework for my needs,
    I will definitely buy it and get into the study of the mechanisms ....
    Any code, direction to follow, that you will share will of course be of great help ...

    thank you very much
    Fred
     
  48. Lennartos

    Lennartos

    Joined:
    Feb 13, 2013
    Posts:
    34
    Hi Khash
    That looks interesting - thats hex ownership right there. And yeah - i will need to add the option of beeing able to set colors as well.
    But if nothing else you seem to have the coordinates solved so any texture can be drawn in the shader... meaning i could complete my solution very quickly and upload the code here.

    @Fred69 - there are a lot of things that still need to be done, like LOD when zooming out ( there is no reason to keep the detailed mesh and texture when you cannot see the difference anymore ), save / load and the ability to dynamically change terrain type.
    But you will find that you get excellent results quickly with this, so i recommend it wholeheartedly.

    I also suggest that those of us who have bought it share what updates we muster, since we probably all have similar requirements - this way each and everyone of us can all get to our goal more quickly.
     
  49. Lennartos

    Lennartos

    Joined:
    Feb 13, 2013
    Posts:
    34
    Khash
    The chunks and baking process are nice and the resulting mesh is easy to use and add shaders to - but im starting to wonder if that's really the best solution?
    The 2K texture / chunk quickly gives enormous resource needs when the world is beyond a tiny island.
    Which i guess is also why you have set limits to how far you can zoom out - where they are now.

    Question is: How much of the data in the chunk is truly unique?
    Could one instead of baking dozens of large diffuse textures, bake the hexes into one single large texture atlas and then reuse the data globally?
    Also as far as i see water tiles could be merged into one large one under world - no need to split that up into 1 plane for each chunk?
     
  50. Khash-Firestorm

    Khash-Firestorm

    Joined:
    Jun 30, 2013
    Posts:
    87
    Hi

    "How much of the data in the chunk is truly unique?"
    I'm sure you will not find 2 chunks which are the same. Simply because chances for it are far below possibility within existence of the universe :p
    They are sometimes reasonably similar though and then you may consider sharing chunk resources.
    The under water tiles are the best for this purpose simply because they are not visible but remember that chunks get many modifications during blending and they are modifying height on borders to ensure there is no holes.
    I would love to have some smart way to keep the quality of the terrain with low memory footprint but the best solution I can think of is simply dynamically streaming region player look at from drive. This would keep memory usage low but may be uncomfortable when scrolling over large map.

    Great blending offered by the framework and uniqueness of the terrain comes with the cost, and this cost is that results have to be stored. Making it at runtime would be very slow as it have to take into account many aspects.

    As for zoom in/out you will get much better performance in dx11 mode, because it dynamically modifies mesh density using tessellation based on the distance from the camera. If someone goes often far away form the terrain it may be worth to store simplified mesh with the texture for example covering 4 or 16 chunks at once. instead of one set per chunk.

    I'm not saying this is the best solution ever, because as with everything in games industry some solutions are better for one use while other cover other areas. I chose this solution (baking terrain into chunks) because:
    - it gives great visual results
    - it works very fast at runtime
    - it fits perfectly project I'm working on :)

    but as you spotted downside is:
    - chunks are memory hungry limiting size of the world you can fit at once
    - baking time (usually 10-30 sec for small world up to 2 min in bigger worlds)

    I think I would be able to create other interesting solutions fir other requirements than those I chose for my project so possibly over time you will get alternate modes (like dx9) which allows you to work with honey in different angle :)

    To dynamically update single chunk of the terrain you may drop it again into WorldOven, but you have to call welding on all 4 borders of the chunk. I haven't used it that way for some time so it may require some adjustments but there is noting stopping you from changing single hex type and rebaking chunk :)

    But before I drop this feature onto line I would like to finish save/load

    I have question in this point. Do you guys prefer me to push boundaries into showing terrain from further distance or try to find better solutions in a close range. I cant promise anything but I have some ideas to try and when time allow I hope to bring something fresh :D but I doubt I will soon have "too much time" for both ;/


    Ps my current feature update plan cover in next weeks:
    - hex markers (system more advanced than the one shown above) (~80% done)
    - save / load (~30% done)
    - small event system which allows you to send some useful data around. (done)
    - some bug fixes
    - live foliage update (eg change green tree into dead tree, add or remove foreground in certain area like place for the village...) (~20% done)
    Eta 2 weeks

    Live terrain updates falls into another patch later.

    Cheers