Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

[Dynamic Realistic Voxel Terrain] MoleEngine.Unity

Discussion in 'Works In Progress' started by entro_p, Mar 22, 2014.

  1. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36


    UPDATE: MoleEngine arrived at the Unity Store.

    Hello everyone!

    I'm happy and quite excited to present you the first preview of our new and unique voxel engine, MoleEngine!
    You may be asking yourself what's so special about it, so let's discuss the features:

    Features
    • Dynamic, fully editable, voxel-based terrain!
    • Marching Cubes and Dual Contouring included!
    • Not just 3 or 4 Textures as most voxel engines support, but as many as your Shader Model supports!
    • Triplanar textured meshes - no more ugly stretches!
    • Dynamic paging - save and load terrain on the fly (including automatic LZMA compression)
    • Automatic and extensible terrain generation (including floating rocks generation)
    • Extensible terrain edit system - edit in any shape you specify!
    • High Detail - change even very small details!
    • Configurable smoothness - whether you want a second Minecraft or realistic looking terrain - it's all included!
    • Multi-Material System - Textures are applied based on the voxel material.
    • High speed - works even on weaker graphics cards (e.g. integrated Intel Graphics Chips)!
    • Realistic lighting - Self shadowing fully supported!
    • Optional tangent generation for normal mapping!
    Demos
    Flat Terrain: https://unity.entro-p.com/PagingDemo/PagingDemo.html
    Endless Procedural Terrain: https://unity.entro-p.com/TerrainGeneratorDemo/TerrainGeneratorDemo.html
    Floating Rock: https://unity.entro-p.com/FloatingRockDemo/FloatingRockDemo.html
    Blocky Terrain: https://unity.entro-p.com/CubicalTerrainGeneratorDemo/CubicalTerrainGeneratorDemo.html
    Normal Mapping: https://unity.entro-p.com/AdvancedShaderDemo/AdvancedShaderDemo.html

    Screenshots

    Multiple Materials:


    Different Edit Shapes:

    Smooth Meshes:

    Realistic Lighting:

    Tangent Generation for Normal Mapping:

    Configurable Smoothness (Blocky Terrain):

    Extensible Terrain Generation:


    About
    We are a small team aiming to provide an entirely new experience for voxel based games.
    Our package provides everything you need to create a game with fully destructible environment.
    We will release a few demonstration videos soon, so stay tuned!

    Future Plans
    • Networking / Multiplayer support
    • Procedural vegetation (Plants Trees)
    • Optional: Water (Depends on the impact on performance)

    Release Information
    Depending on the feedback we will release the package within the next few weeks in the unity store.
    As of now we do not have a price set, but MoleEngine will be in the same price class as other similar packages.
    If you want to suggest a price feel free to send us a message!

    Feedback
    We would love to hear some feedback! Please try the demos, view the screenshots and
    tell us how you like it! If you have any suggestions, feel free to tell us!
     
    Last edited: Apr 9, 2017
  2. mathias234

    mathias234

    Joined:
    Sep 9, 2012
    Posts:
    239
    Looking good
     
  3. ChaosFollowing

    ChaosFollowing

    Joined:
    Nov 9, 2012
    Posts:
    15
    I managed to make a few "holes" and fall out of the world, but otherwise the demo was great. Nice work!

    What's the performance like with double/triple the render distance?
     
  4. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    As far as I've tested it there are two methods to fall out of the world: a) dig further than the loading distance (can easily be fixed by adapting the digging range, should not happen in a real world application) b) modify the world right below you causing the collider to ignore you (we already have a setting for this, it is not yet in the demos).
    Did you do one of those two or is it something new?

    The performance does not really suffer when increasing the render distance, but the memory footprint does.
    For example, the standalone mountain terrain demo uses about 50mb with the current view distance, but if we double it we get over 200mb.
     
  5. ChaosFollowing

    ChaosFollowing

    Joined:
    Nov 9, 2012
    Posts:
    15
    Both I think. First I dug a huge hole directly beneath me and promptly fell into the pit. The pit had a couple of faces missing opposite the direction I was facing. I didn't notice it until I was heading back from a tunnel dig, so it's possible it could also have been from wandering too far then coming back. I also found the issue when digging a long tunnel before moving into it. Good to see its already solved. :)
     
  6. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    Thanks a lot, so no new bugs to fix ;)
    We'll release some more and updated demos as soon as multiplayer support is integrated.
     
  7. Vanamerax

    Vanamerax

    Joined:
    Jan 12, 2012
    Posts:
    818
    Very interested in this, looks really promising!

    Including Dual Contouring as an iso surface extraction algorithm is a big plus compared to all the other similar assets on the store
     
  8. FluffyMule

    FluffyMule

    Joined:
    May 5, 2014
    Posts:
    4
    Can this engine create large spherical objects like planets?
     
  9. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    That depends on the size of the planet. Generally speaking, yes, however if you wanted to recreate the earth 1:1 you would need one very big hard disc to store all the data.
     
  10. daeuk

    daeuk

    Joined:
    Mar 3, 2013
    Posts:
    67
    loading heightmaps possible? for finite terrains..
    can rtp shaders be used?
    i can see that network synchronization as one of the future plans?
     
  11. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    394
    Can you perhaps upload the documentation somewhere? That way we could see what options are available for terrain generation ;)
     
  12. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    Loading heightmaps is not included in the package, however it can easily be added ( We have two examples for terrain generation, to add height maps you basically only have to somehow translate the height into a 3 dimensional array (-> you need to somehow define the materials like stone and grass and so on)), if you decide to use the package we would be happy to help you!

    RTP shaders cannot used be directly, they have to be modified (the problem is that the shaders have to apply different textures based on the material, so you would have to take that selection method from our included shaders). If you however do not need multiple materials you should be able to use RTP directly.

    Yes, we are currently working on network synchronization (among others). This will, however, be a different package, as for network we need to redesign the whole process and somehow reduce the amount of data transferred.


    The documentation contained in the package can be found here.
    However, we only included 3 options for generation: A flat terrain, a terrain based on procedural noise (much like minecraft) and a terrain based on procedural noise combined with some simple math (floating islands). Additionally it is possible to implement custom terrain generators, if you need that we will provide you with example code and any assistance you need.
     
  13. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
  14. casperjeff

    casperjeff

    Joined:
    Apr 13, 2013
    Posts:
    333
    Congrats - best of luck - looks really awesome
     
  15. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    Thanks!
     
  16. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    394
    looks interesting, i will check it out at a later date.
     
  17. lazygunn

    lazygunn

    Joined:
    Jul 24, 2011
    Posts:
    2,749
    I have been looking at all the various voxel packages in the store and this seems to offer the mos fine-grained approach while still being actively developed (Others havent been updated in months which is huge discouragement for a purchase)

    Having vegetation and detail objects even being placed procedurally would be a great priority for me..depending on how you implemented water that could be very interesting too, although networking might be needed in a general sense i'm not sure wether this package should need to implement it itself unless it was the most central aspect of a product

    Do you know when abouts you could say vegetation/object placement might be approached? That would definitely be a big motivation for a purchase.
     
  18. Magiichan

    Magiichan

    Joined:
    Jan 5, 2014
    Posts:
    387
    Looks great! c:
     
  19. chillersanim

    chillersanim

    Joined:
    Mar 31, 2013
    Posts:
    211
    Looks great, I will certainly follow this thread.


    Some questions to compare this system to other voxel systems.

    Does it contain a lod system for the terrain?
    Can someone confirm that RTP3 works as described further above?
    What's the performance with realy large terrains like 2x2 km or above?

    Greetings
    Chillersanim
     
  20. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    There is no LOD implemented for the terrain (for now at least), because in the first tests the LOD switching
    proved to be problematic sometimes (holes appearing in the terrain). We will probably add a LOD system based on mesh simplification instead of voxel simplification later on, if required. The size of the terrain does not affect the performance, only the required disk space (as long as you use automatic paging or implement your own paging logic!).
    Like all external shaders, RTP work if adapted to the system (texture selection based on material index must be performed in the shader, there are examples provided).

    Cheers,
    Entro-P
     
  21. chillersanim

    chillersanim

    Joined:
    Mar 31, 2013
    Posts:
    211
    Well, only saving the world wouldn't be enough for me, as the view distance should also be large.
    For my game, a small terrain wouldn't be sufficent, so I'm going to await the lod implementation.

    I must say, the demo's are looking great, I will eagerly await feature updates.

    Greetings
    Chillersanim
     
  22. LoganPark

    LoganPark

    Joined:
    Aug 30, 2013
    Posts:
    22
    Congratulations on reaching the Asset Store, entro_p!

    A few questions to help me understand your development roadmap. Do you plan on building in chunk sync for multiplayer? if so, how soon? This is the primary feature I'm looking for across the voxel terrain engines in the Asset Store.

    Also, what is the estimated time before LOD is implemented?

    Your demos are great, thank you!
     
  23. Shatterstar

    Shatterstar

    Joined:
    May 25, 2013
    Posts:
    3
    Could you please make some youtube videos showing some workflow?
     
  24. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    837
    how many fps on mobile ?
     
  25. zephren

    zephren

    Joined:
    Dec 7, 2012
    Posts:
    25
    I second the workflow videos, there are a lot of voxel based engines all expensive and not the easiest to use.

    I would also like to suggest presets. so people can quickly make voxel terrains for different purposes like islands, canyons, mountains, alien worlds, beaches etc.
     
  26. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    Thank you for your suggestions, we will add videos ASAP.
    @kilik128: That depends on the complexity of your scene. The FPS are about equal to those when using a default unity terrain.
     
  27. jason-fisher

    jason-fisher

    Joined:
    Mar 19, 2014
    Posts:
    133
    Do you use octrees? I am using a flight-sim/god-view camera angle and need a long view distance.
     
  28. Alahmnat

    Alahmnat

    Joined:
    Feb 1, 2008
    Posts:
    9
    Is there, or are there plans for, an in-editor (as opposed to in-game) terrain sculpting component? The editing tools in the demos look and feel great, I just personally find it a bit easier to work in the editor rather than the game view. In either case, the tools are a lot nicer and smoother (both in performance and quality) than the ones in the voxel tool I'm currently using.
     
  29. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    We do not use octrees as our implementations of the surface extraction algorithms do not support them.
    Sadly I do not know of any unity plugins that use octrees, except for Procworld (http://procworld.blogspot.co.at/2013/04/the-unity-plugin-is-looking-good.html), but I assume it is rather to expensive.

    Actually there is, a few customers requested this feature and we are currently working on it.
    In our test version the editor view works already, but we are still working on the in-editor terrain modification.
    I will post as soon as this feature(s) are added to the published version!

    Cheers,
    Entro-P
     
  30. MIK3K

    MIK3K

    Joined:
    Sep 10, 2014
    Posts:
    144
    I also would be interested in some workflow documentation or vids. I bought this just to play with but seems kinda limited with everything in DLL's and read somewhere that we could tailor the floating rock and hill terrain configs to suit our needs, but all the scripts have is a seed and a size (maybe how far away from player the terrain generates?) variable that can be changed. Amazing engine from the demos but not really seeing how I can use this.

    Not sure if we are able to add or change materials (other than their textures). Something like hardness for different materials and a way to keep track of what a player dug up to put in their inventory?

    (I made a similar post earlier but it didn't show up. If two posts pop up you know what happened.)
     
    Last edited: Nov 13, 2014
  31. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    MIK3K, I suspect you viewed the configuration file instead of the actual terrain generator - if you need help creating a custom generator please use our support email address, we will then personally assist you as good as we can!
    Right now materials only consist of a texture, but if you create a custom class for terrain modification you can also add different traits (like hardness). The same goes for getting what a player dug up - you need to extend the terrain modification. If you need any assistance please do not hesitate to contact our support!

    Cheers,
    Entro-P
     
  32. Techips

    Techips

    Joined:
    Jun 9, 2013
    Posts:
    230
    Can I do something like 7 days to die with this
     
  33. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    Yes, MoleEngine is intended for such games, but focuses on a more realistic style (of course blocky terrains are supported too!).

    Cheers,
    Entro-P
     
  34. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    690
    I have a few questions as well as some suggestions. :)

    Suggestions -
    Would it be possible to add a biome editor to the inspector? (Either node based or editor based)
    Would it be possible to add 2D support or make a 2D version of Mole Engine? (Ala Terraria / Starbound?)
    For very Large Worlds would it be possible to add a floating Origin system for the terrain and the player?

    Questions -

    Will this be updated for Unity 5?
    When will multiplayer support arrive for Mole Engine?

    Just curious :)

    - HeadClot
     
    DJ_Design likes this.
  35. Techips

    Techips

    Joined:
    Jun 9, 2013
    Posts:
    230
    1. What about trees and grass?
    2. What is the FPS like?
    3. Do you see any Vram buildup over time?
    4. Do you plan on adding water anytime soon?
     
  36. Belagar

    Belagar

    Joined:
    Dec 20, 2014
    Posts:
    10
    Any update on a new version with trees and grass?
     
  37. catalys

    catalys

    Joined:
    Dec 29, 2014
    Posts:
    6
    Are there random biomes to?
     
  38. flxk

    flxk

    Joined:
    Aug 20, 2014
    Posts:
    9
    One of the reviews stated that Mole Engine is a "purely procedural Voxel engine which runs completely in the game view and not in the scene view" is that correct? We would need the terrain to be rendered in the scene view so we can place objects... Regards, Felix
     
  39. Smackizar

    Smackizar

    Joined:
    Oct 26, 2013
    Posts:
    6
    Guh, looking good. I'll probably pick this up as soon as I can spend some extra cashola.

    1. I saw someone else ask for this, but being able to assign biomes, along with what spawns there and environmental adjustments per biome would be awesome! Especially if we could intergrate it with the infinite procedural terrain.

    2. Is the infinite procedural terrain completely randomized, or are there settings we can tweak to make more/less hills/valleys, etc. etc?

    3. Are you guys looking into adding gravity/weight support similar to 7D2D, so that it's necessary to support your caves/structures or the weight will bring it down?

    4. Is it possible to set certain materials hardness to infinite so that it can't be sculpted no matter what?

    Thanks for answering the questions!!
     
  40. Smackizar

    Smackizar

    Joined:
    Oct 26, 2013
    Posts:
    6
    Just thought of a few more questions/feature requests!

    1. Is it possible for, say a player places an object (like a house) on slightly uneven terrain, to automatically flatten the area beneath the house and smooth it out into the surrounding terrain?

    2. Will there ever be procedural cavern systems added to this?
    a. could be treated as a biome of it's own!
    b. 'depth' layers? (fungle caves, lava caves, based on depth?

    I'll keep asking as I keep thinking of stuff, lol. Carry on! :D
     
  41. MIK3K

    MIK3K

    Joined:
    Sep 10, 2014
    Posts:
    144
    I was just playing with the demo and even forgot I had bought this. Wish the devs would open up the code and provide some tutorials. I believe this might be the best voxel engine (at least performance) I have played with. Very nice.

    I'm a complete noob and bought it mostly to play with but seems kinda weird having an asset where you have to contact the developer to extend the asset. I don't want to waste their time dealing with someone who is using it for mostly experimentation. If I was to use it, it would be something limited like small areas on the map (caves, quarry) but nothing extensive but not sure if this can be limited in that way. Looks like it spawns when you start the game and does it's thing without too much control so I guess everything else (vegetation, buildings, rocks, etc.) would have to be placed procedurally also.

    Very nice asset though and would make a hell of a great voxel engine as the base for a game in the right hands (like someone that knows what they are doing - not me) with some control of spawning trees, rocks, etc., on top of this terrain. Maybe it's possible right now just shooting a ray downward.

    Wish the devs luck with this because it really should be in some games.

    *This is just with comparing it to something like Ruaumoko on the asset store (although I don't have that one). All CS scripts so you can see how it works and extend it and looks like tons of customization right out of the box. Might pick that up when I get some spare cash to see if that does what I'm looking for.
     
    Last edited: Jan 13, 2015
  42. FisherM

    FisherM

    Unity Technologies

    Joined:
    Dec 28, 2013
    Posts:
    366
    would it be possible to adapt to have view distances in the 10-50 km range?
     
  43. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    Sorry for not replying for so long a time, we have been abroad.
    I will try to answer your questions in the order they were posted.
    It is, in part, correct. You need to enter the game mode to start generating the terrain and you need to move the player to generate more terrain, but you can still view the terrain in scene mode - just not edit it. Placing objects works, however we recommend to procedurally spawn objects in the terrain generator. If you need example scripts just contact us via mail.

    1. For now we have no plans to integrate biomes, as the terrain generation is something that most users will want to customize anyways - using the terrain generator biomes should be very easy to achieve.
    2. In fact you can completely control how the terrain looks - if you need example scripts we can provide you with the scripts for the web demos - those can be extended (you adapt the system to use any kind of source - height maps, different noise functions, etc)
    3. We have not yet looked into that, but it is an interesting idea, we might pursue it in the future-
    4. If you create a custom EditTool script, yes you can do just that.

    1) Yes, that is in fact possible, you can adapt the cube-edit script (just set the UP vector to (0, 1, 0) instead of the camera's up vector
    2) Referring to the Biomes question. You can always include that yourself, if you need help, feel free to contact us!

    The best way to do that would be using the Terrain Generator - on top of the uppermost solid layer just procedurally add those elements. Otherwise, the raycasting would work too, of course!

    We have not really thought about this, but a quick test showed that indeed it is possible. You just need to increase the view distance - the problem is the initial loading time (you would have to add some kind of loading screen, while the big terrain is loading it is not really playable on weaker computers).

    Cheers,
    Entro-P
     
  44. FisherM

    FisherM

    Unity Technologies

    Joined:
    Dec 28, 2013
    Posts:
    366
    once the initial load time has passed the real question is can it load the terrain fast enough as you walk in one direction. Would it be possible to generate a lower quality to allow it to have large viewdistances and travel at great speeds. I.e flight sims?
     
  45. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    When using normal walk speeds - yes, certainly. Right now there is no LOD system, so it would not be easy. You could, however, simply scale up the density generator (or modify the generation function to generate less detail) to generate less, and bigger, triangles. All in all I am not sure if a flight sim is the optimal usage of this engine - at least not on mobile or weaker desktop platforms.
     
  46. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,015
    Has anybody tested this on an older mobile device like iPad 2?
     
  47. entro_p

    entro_p

    Joined:
    Mar 9, 2014
    Posts:
    36
    We sadly have not - if you would like we can export one of the test scenes for IPad to allow you to test the performance!
     
  48. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,015
    Ah, great! I'd be happy to do a test build to iPad2 and report on performance! Can you PM me a download link?

    EDIT: Hmm, but would there be any touch input controls in the demo scene, or would those need special work to set up?
     
  49. Fishypants

    Fishypants

    Joined:
    Jan 25, 2009
    Posts:
    445
    This seems really cool, but is there an option instead of Add or Subtract to smooth the voxels inside the editing volume? I find this is a feature that is missing in all the voxel terrain editors, and would be really useful.
     
  50. FisherM

    FisherM

    Unity Technologies

    Joined:
    Dec 28, 2013
    Posts:
    366
    Would your team be interested in working to support such features on commission?
    Message me