Search Unity

GAIA - AAA terrain generator, procedural texturing, planting and scene creation

Discussion in 'Assets and Asset Store' started by AdamGoodrich, May 21, 2015.

  1. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Gaia does't support them because Unity terrain doesn't support them. There is a way to export the generated textures as plain old textures, and you can then use them instead.
     
  2. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Anyone who has ever dressed their environment up with rock prefabs will know how tedious this is. It was to solve that specific problem that I created GeNa. Then I went a little crazy and added cool things like Gravity based spawning and a whole lot more. Check out this video. I created and textured the terrain with Gaia, and did everything else in GeNa :

     
    Mark_01 and TeagansDad like this.
  3. GuinUK

    GuinUK

    Joined:
    Feb 27, 2017
    Posts:
    44
    Aye thanks - that's what I presumed.

    I think it's more the fact that when you watch that and carefully copying what you do step-by-step you are not fully sure why you are doing it. I worked through all the tutorials and had fixed that, but when I re-imported the speedtrees from unity (by accidentally forgetting to deselect it) it obviously cocked it up again. The first time when we corrected the issue you hadn't shown why we were doing it ie we didn't kniow it was due to clocky speedtrees. we thought we were just correcting the Unity error. Not that it's an issue that you didn't and it is an easy fix, but it is a reason why people may be asking :)
     
  4. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Hmm.. looks like I can improve the documentation. Thanks for pointing this out :)
     
    GuinUK likes this.
  5. Shadex

    Shadex

    Joined:
    Dec 18, 2013
    Posts:
    89
    Mind if i ask a question related more to unity terrain then Gaia?

    When i look at overdraw mode, i noticed that the tree's are lit up, and i'm getting excessive amounts of setpass calls (draw calls) and i am usually running ~1.7 mil tris. As i add on the forest, these numbers keep increasing, overdraw shows that its getting worse. To my understanding the way the scene is suppose to be rendered, is that it doesn't draw anything it can not see. So i make a 150 x 150 cube as a wall so that it was only showing 4 tree's, yet no change in performance at all. It seems to be rendering ALL of the tree's behind it. Is there a way to occlude them? Any tips or tutorials?
     
  6. mantekkerz

    mantekkerz

    Joined:
    Dec 24, 2013
    Posts:
    111
    Wondering if anyone can help me out, used Gaia for a while now and not had any problems. Certain I've done this before but now for some reason I just can't use the stamps to lower my terrain height. I've tried settings described in this thread before by @AdamGoodrich, but when I hit stamp, it processes like usual but my terrain remains flat. Every other type of stamp works but lowering.

    Settings:
    - Any stamp inverted
    - Below terrain
    - Transform curve 1 to 0
    - Distance mask 1 to 0

    Any ideas folks? :confused:
     
  7. Bakedman

    Bakedman

    Joined:
    Aug 7, 2015
    Posts:
    5
    First off let me say wow.... This is a great tool. Awesome job with this. I have created some very cool terrains with this. I do have a question regarding implementing this into a networked game.

    My hope with Gaia was I would be able to call out to Gaia scripts on my game load and provide parameters for it to generate the objects on the map.

    @AdamGoodrich Is this do-able? Basically I am creating a networked game where I need the objects on the map to be interact-able and share values between client/server. Thus, I need the server to spawn them. I know on the Gaia home page, it's worded in a way that makes it sound like this can be accomplished but I can't seem to find any documentation. Any help that you guys could provide would be appreciated.
     
    Last edited: Mar 13, 2017
  8. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    Networked games work a bit differently. As do terrain objects. So let's address the latter first.
    Terrain objects, be they grass, trees, or objects as defined by the Gaia spawners, these do not typically have a normal gameobject presence in the hierarchy at runtime. These are specially treated in their respective ways to allow a mass quantity of gameobjects to be baked into the terrain at build-time. In this way, you can have colliders added to the trees, but there is no actual gameobject to make it fully interactable. Now, some approaches have been made to simulate this, by having trees and other terrain objects that are near players become real gameobjects at runtime. Basically removing them as terrain objects (or hiding them) and spawning a real gameobject with the same transformation properties on the fly. Doing this means only a handful of objects are actually interactable near players at any given time and not all of them, saving immensely on the physics checks.
    So, one thing you might look into which does something like this is uNature, it's not the primary purpose of the asset but it does have a system which enables terrain objects to become interactable (harvest trees and rocks for example).

    Now, on the main point, networking, this leads back to the behavior of the terrain objects. So first, looking back, to make them interactable they must disappear from terrain object and appear as a real game object. This would be something you'd control server side with authority, and as a player gets close to trees, make those trees real gameobjects and as they move away, return them to terrain. If two players enter same space, both can interact with the tree as they get close, given the same gameobject for it.

    This is not exactly a simple thing, and by no means will Gaia solve this for you. Gaia works exclusively (currently) at edit time. It only manipulates what terrain can already do naturally.

    tl;dr
    In short, Gaia does not do what you want, but it does not prevent from doing what you want either.
     
    Mark_01 and TeagansDad like this.
  9. Bakedman

    Bakedman

    Joined:
    Aug 7, 2015
    Posts:
    5
    Thank you for the detailed reply. I just took a look at uNature and it definitely sounds closer to what I am looking for. However, I am left with the question of whether with uNature, I will be able to use it at run time. I really want to randomize the objects on the map. Meaning, I would like to call out to a script and provide parameters for randomization on game start. The point you brought up about switching the item on the map when a player gets near is interesting but I didn't think that would be possible since I believe the trees made by Gaia are a part of the terrain? I don't see how I could just remove one tree for example. And even if I could, I would have to make a separate script that somehow keeps track of positions of objects to respawn them after a period of time.
    I actually wrote my own procedural generation for any gameobject to spawn that just uses a simple array. The problem is that it doesn't look quite a nice as Gaia. Which Ideally, I don't want to put 100's of hours into a procedural generation script to make it look more realisitic. I'd imagine there has to be some alternatives that are more geared towards network games and will allow you to randomization. Do you know if uNature is something I could utilize at run time and still get a realistic looking result?
     
  10. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    Well, let's be clear about one thing first. Gaia isn't doing anything special, it's not using any non-standard features, it's basically just taking assets you tell it to spawn, and spawning them using a flexible ruleset. So let's take Gaia out of this for a moment. If you simply go to your terrain object, select the tree painter tool, select a tree and adjust the brush you can start hand painting trees. Okay, I know this isn't what you want, but you see how this is all Gaia is doing for you. It's placing down terrain trees. There are no game objects for these, the logic is taken out to run speedtrees and handle LODing without actual full blown gameobjects making them too heavy to have 10k trees in view.

    If you want all your trees to simply be gameobjects, you will not be able to have very many, this is why there is the terrain tree system. And also why there is, similarly, terrain objects (which are just static meshes baked into the terrain geometry basically). A proper explanation of this may be beyond the scope of what I can do here.

    But the idea of "procedurally placing gameobjects" is not the same as what Gaia does. Gaia uses terrain objects and places those, rather than leaving you to hand paint the terrain objects.
    You need to recognize the limitations of thousands of gameobjects in your scene with colliders and physics and all that going on, it won't likely work (depends on your game, so I'm making some assumptions considering you're using terrain and Gaia in the first place).

    Note that the subsystems for terrain stuff looks a little better because it's often baked into the terrain and there is light mapping that occurs as part of that, etc.

    Now, uNature itself is procedural in how it runs at runtime, but it is not procedural placement. It still uses it's own painting tools (or imports and converts terrain grass then removes the original terrain grass). So no, in short, none of these systems work with you wanting to use a procedural mathmatic solution for runtime placement of actual gameobjects. I'm sure a system out there exists for such a thing, but these are more geared towards terrain tools, mostly static/baked, but with some level of interaction (uNature has an example video that shows a terrain speedtree being cut animated to fall over, poorly, but it shows the concept, and the trees can be set to respawn, which would just be done server authoritative side and sufficient information passed to clients to inform them of the respawn occuring).

    Networking is a complex topic I'm afraid, while in a lot of cases it can be simplified to authoritative server doing most work, you still need to understand what data to sync to the clients and let them interpolate or run locally based on data changes synced.

    Edit: With Gaia 2.0 coming around the corner, and the introduction of the GPU modules, it MAY be possible to use spawners at runtime, @AdamGoodrich would have to weigh in on this one, I know terrain can be generated, so assumably texturing and other spawners procedurally at runtime as well. But not yet. This MIGHT be closer to what you want to achieve.

    Best of luck to you.
     
    Mark_01, AdamGoodrich and GuinUK like this.
  11. Zymes

    Zymes

    Joined:
    Feb 8, 2017
    Posts:
    118
    Will version 2 have streaming support built in? So you do not need world streamer anymore? Will it also have floating point error fix?
     
  12. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Gaia has always been intended to work with and complement Unity, not to replace it, and because of this I have not yet come across another asset store product that is not compatible with it.

    So while Gaia 2 will happily do multi tiles until your machine runs out of memory, it will not do infinite worlds, with all the various craziness under the hood that is needed to work around Unity itself e.g. floating point fixes etc.

    Making great progress as well. Just snapped this out of a 10km x 10km world. Prior to that ran up a 20km x 20m world :)

    Grab 20170314125447 w1920h1029 x-217y70z1220r1.jpg

    For those who are interested, the lighting, clouds etc are from Enviro and the water is from Hydroform. I also did some minimal Post FX with the awesome and free new Unity Post Processing Stack. All very nice assets!
     
    Last edited: Mar 15, 2017
  13. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Am also down with network at moment. Big storm in Sydney took it out. Just checked in briefly on mobile. Apparently it should be back tomorrow. Will answer questions in more detail then.
     
  14. Vedrit

    Vedrit

    Joined:
    Feb 8, 2013
    Posts:
    514
    The work-around I came up with was turning off the Gaia spawners and wrote my own spawning script, taking the tree prefabs that came with Gaia to make actual game objects with scripts and behaviors.
    Run the spawn script on the server, and have the server tell clients where the objects are at. The only snag I hit with this was that clients had a tendency to have very low FPS while they read and created the objects, since Unity tried doing them all in just a few frames.
    To fix that, I had to set up the client to only do a handful of objects per frame.
     
  15. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Yep it can be killer. If you explore occlusion culling you ought to be able to mitigate this somewhat. Then there are things like the artful use of fog and camera view distances. You can also configure your SpeedTrees and their LOD / culling settings as well. Make sure you also explore how to get instancing going on them.

    This works quite nicely... so chances are you are doing something else. Hard to tell without any info, but you also need to consider that you can't lower the terrain below zero. Only other reason a stamp may not stamp is that you have somehow masked it, or alternatively the 'y' value on your terrain is not zero.

    Gaia will happily spawn prefabs at runtime if you set it up properly but its not really optimised to do this. I can see from a later post that you sorted this out. Gena by comparison is easier to config, a lot more powerful that Gaia, and you might consider using Gena for runtime spawning instead.

    With the latest version of Gaia, runtime generation is something I absolutely want to support, so a lot more work has been put into it's API's to make this an easier process.

    Great response. A general comment is that Gaia and Gena will put prefabs into your scene but will not network enable them. You need to handle that yourself. Gaia actually has a deterministic spawning system (created a great effort btw), so that with the same inputs and seed, it will always guarantee the same result right down to the blade of grass, which is ideal for networked games that want to spread the load from server to client.

    Yep - I am shooting for full run-time generation in Gaia 2.0. The GPU compute performance is stratospheric.

    In the mean time - check out Gena - it does it right now and is pretty simple to use. Here is an example of runtime spawning in Gena. You could take these scripts and modify them to suite your game.

     
    Last edited: Mar 15, 2017
    tapawafo and Astaelan1 like this.
  16. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    Consider me educated. I really need to take a closer look at GeNa, I would have certainly recommended that had I realized it already supported runtime procedural spawners... GeNa made my must-have list, so I didn't really think to look into it much after that lol.
     
    AdamGoodrich likes this.
  17. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    Hello I recently purchased your asset and i have made a terrain but I am having a heck of a time getting the textures to blend naturally, the beach sand for example. Can you make a tutorial on texturing and blending.

    Also, I had 8 textures added and I started getting a glitch where the textured appeared "white". Can we not use more than 4 textures? because that is pretty lame if that is the case.. Why would there be such stupid limit? this is 2017 not 1999.
     
  18. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    768
    It also appears that I am not able to manually edit the terrain. Do I need to delete the gaia assets from hierarchy to do so?
     
  19. evilangel89

    evilangel89

    Joined:
    Feb 8, 2017
    Posts:
    269
    I strongly recommend you head over to Adam's YouTube channel or proceed to the gaia website and follow the tutorials.

    Gaia has a learning curve like any other tool. Gaia can support as much textures as you want. Just configure your resources file. I would give the pretty mesa examples as a good place to start regarding getting the textures blended.
     
    Mark_01 and AdamGoodrich like this.
  20. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    No, you dont need to delete anything. You just need to select the terrain and then you can perform all of the standard terrain editing operations.
     
    AdamGoodrich likes this.
  21. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Well... there isn't ;) Gaia can do as many textures as memory and system can support. Check the tutorials on resource management and texturing here. Its a pretty trivial process to add more textures and configure Gaia to use them.

    http://www.procedural-worlds.com/gaia/tutorials/

    Not sure how you managed to get that to happen. I find that some assets have bugs where they stop you from selecting other things. AQUAS did this at one point. You can usually get around this by selecting the terrain object manually in your hierarchy.
     
    BackwoodsGaming likes this.
  22. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Just a heads up everyone.

    Yesterday I received a very negative review because I mentioned that I was not planning to support terrain streaming, nor was i planning to write a work around for the unity transform resolution issue on large worlds. These are not features that I ever promised.

    Gaia has a lazer focus on doing one thing well. Gaia makes it easy for you to create pretty worlds to set your games in. I do not wish to re-write the Unity engine, only to augment it so that it is easier for you to make awesome environments for your games with your tools of choice.

    For those few that do want huge worlds with streaming support I highly recommend World Streamer. I have been collaborating with @NatureManufacture for some months now on a new terrain shader, which we think most people will love. For those that are interested I will also integrate with tools like Distingo and Megasplat. More tools and more choice for the community is better and on this Gaia is Switzerland.

    As part of that collaboration I will be making an integration with World Streamer in Gaia 2. Gaia will focus on doing what it does well, and will hand the engine work off to World Streamer so that it can do what it does well.
     
    Last edited: Mar 15, 2017
  23. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    One bad review because someone expect too much is not important.
    Anyway there is World Streamer plugin, perhaps Gaia could be come compatible with it ?
     
    evilangel89 likes this.
  24. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    @AdamGoodrich
    I don't want this to sound confrontational, so let's just make sure it's 100% clear. There are a number of things related to Gaia 2.0 that leave a couple questions, and the exact wording here could add to the confusion.

    As the main focus of Gaia 2.0 has been tiled terrain, I want to confirm whether or not Gaia 2.0 will still have any runtime support added for loading the terrains? Again, I don't aim to create any confrontation here, but some of the recent information about 2.0 has lead at least myself to believe there would be an introduction of some runtime components to support the loading of the tiled terrain chunks. Certainly no reason for a bad review if we were mistaken though, and a gripe over buying a tool that does the job right is a poor one anyway.

    So to be clear, when you talk about terrain streaming, are you referring to ALL such loading of tiled chunks from disk, or are you talking more about the infinite generation type situations? Will Gaia 2.0 at this point have any form of runtime loading for tiles, or just the editor support for it (this might have been the confusion)? Some of the confusion may also have been from assumptions related to "more at runtime with GPU modules", so if it CAN generate at runtime for infinite terrains it wouldn't be loaded from disk so it's another paradigm that is slightly different than "streaming" a large but premade terrain.

    I'm not opposed to buying World Streamer, I was just under a slightly different impression about Gaia 2.0 having some of this runtime loading stuff in place. That said, I was also concerned about the overall effort into it being fast and efficient and already considered world streamer as likely required anyway, best let each asset hedgehog and do one thing very well.

    Some crystal clarity on this so people aren't left to any assumptions about the different perspectives involved would be helpful, as Gaia 2.0 starts to move into that runtime territory these questions are going to come up frequently about how much Gaia does and how much has to be integrated from other products.
     
  25. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Yep, good question, so let me talk about my intention with Gaia 2.0. This may change based on feedback and what I learn during development.

    Gaia 2 will support the design and creation of large environments, subject to the limits of memory on your machine.

    If you blow your memory out, then you will need to create them independently and join them together with tools like WorldStreamer.

    So far I have worked on 10km sq, and 20km sq environments and the system handled it easily and fast. I am pretty sure generating 'chunks' of up to 40km sq should be fine but have not yet pushed the boundaries.

    Gaia 2 will also have a GPU compute capability (available at extra cost), which will dramatically speed up the creation of these environments. This opens up the possibility of run time generation.

    Some of you may have used the session management system in Gaia 1.5. It's rather cool as it records every step you take with Gaia and replay it at a later time to get an exact replica of your environment. I plan to extend this in Gaia 2.0 and use it to drive the generation of large environments at run-time. The implication of this is that instead of distributing massive environments with your game, you distribute tiny sets of instructions and then generate them at run time as needed. I think this alone is a massive benefit of my system.

    Some people might call this streaming. It isn't - it's run time replay of a designed game environment - and is done on the fly. A variation of this will probably be an extension of my random generation system so that you could essentially do large random worlds at runtime.

    Regardless of how you approach it, supporting really large worlds is difficult because the engine does not inherently support it, and it has never been my intention to re-engineer Unity. I am learning as I go as well - there is no manual out there for how to do this stuff.

    I am working crazy hours to bring this and more and will share more detail as we get closer to launch.
     
    Last edited: Mar 15, 2017
    Mark_01, Goodgulf, antoripa and 2 others like this.
  26. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    309
    Wow, sorry to hear that someone would resort to using a negative review as a bullying tool against future version wishlists. For what it's worth, I think it's a great tool that does what it says on the tin, and I recently revised my review from 4 stars to 5. After using it a little more, and having gotten solid support from this thread, I couldn't help but revisit that rating. I look forward to seeing version 2.
     
    Mark_01, Goodgulf, S4G4N and 2 others like this.
  27. Daniel-Talis

    Daniel-Talis

    Joined:
    Dec 10, 2011
    Posts:
    425
    Sounds interesting.
     
  28. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    As always, thanks for taking the time to respond despite those crazy hours into the product.
    I think this should help to clarify any concerns regarding the "streaming" aspects of Gaia. The replay thing is certainly a new one I wasn't expecting. I think the most common use case will be large terrains, that need to be streamed from disk. For example, using Gaia to make a 25sqkm terrain in the editor, but then at runtime have it loaded in 1sqkm tiles as needed, sounds like this will fall to World Streamer exclusively, and I'm good with that.

    Which means I could probably start now, except that I found out over in the MegaSplat forum about Gaia 2.0 getting integrations on that front, so now I'm waiting on that too! Gaia 2.0 is full of goodies!
     
  29. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Gotta love how easy it is to misinterpret language.

    Gaia 2.0 generates these environments as multiple terrain tiles and you can make them any size you want.

    When I generated the 20km x 20km environment, this was actually created as 100 x 2 km sq tiles and the system just stamped seamlessly across them, and then took care of ensuring that the seams were properly stitched together.

    This was arbitrary.. they could have easily been 1 km sq tiles.
     
    yummybrainz and Xrystal like this.
  30. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Sounds good! I just made a terrain and am trying to figure out how I am going to cut it up now. It will be nice to be able to use Gaia in the future to do this.
     
  31. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    That's just nuts!! You've never stated that you would build that into Gaia. I think you may have said you might look into it at some point but never indicated that it would ever be included. I mean why invent the wheel when there are already assets out there that are more than capable of handling the problem and you can collaborate with the authors? That leaves you more time to build into the core functionality of creating great terrains and leaves the streaming/floating point nonsense for someone else who has dedicated time into building a solution doing that. Don't let that one review get you down Adam. You have plenty who will stand by you and Gaia for the awesome product that it is. Looking forward to seeing what 2.0 brings to the table!!!

    Just to add to what Adam posted above, yes a tool like World Streamer or Sectr Stream (or one of the other streaming solutions) would be needed to do this. This is the same process that I had planned to use in order to streamline things enough so I could have a nice environment without having to worry as much about how much memory my players had. I mean you still have to worry, but if you are streaming smaller chunks coupled with occlusion culling and other performance tweaks, you make it more playable. It sounds like Gaia will specify the size of your chunks when you create your multi-tile environment, but when you go to stream them you would need to use a streaming solution if you were only loading a tile with only it's neighbors or a single tile at a time and not your entire terrain. And then, even if you made a mistake with your sizes and need to slice them smaller, there are terrain slicers out there that can slice them down further.

    That is a good question for you @AdamGoodrich . Will 2.0 give us the chance to take our multi-tile layout and change the individual tile sizes after the fact? For example, during development we realize that our 2k tiles are going to be too large, could we then reslice them down to 1k tiles? Or similarly if we start with 512 tiles and realize they are too small, will we have the ability to change to 1k tiles and have a process that will stitch the multi-tile terrain into 1k tiles?
     
  32. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Agree with Shawn. Whoever that is just doesn't want to pay for another asset so hey, why not ask Adam to include it for free in his new huge update!

    Don't sweat it, Adam. Anyone who reads the reviews can pick out the beggars from the folks who really appreciate the genius of your asset. As I told someone considering releasing his first asset, you have to realize that they will ask for more and more and more. You never promised you would add streaming and World Streamer does it well.

    You give us so much and work so hard. Some folks though will never be satisfied so don't let them get to you.
     
    S4G4N, Xrystal, AdamGoodrich and 2 others like this.
  33. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Gaia 2 isn't out yet so the integration doesn't exist yet. The cool thing is that I am communicating with Bart as I am building Gaia 2, so I already have these sorts of things in mind in the way it is being created.
     
    Mark_01 and antoripa like this.
  34. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    Some people use the term "promise" far too loosely. I see this all the time when gamers moan and complain because the developers dropped a feature that they talked about three years ago. Somehow, even mentioning that you plan to include something -- or even that you're considering it -- is a promise and firm committment that you are forever beholden to. Sometimes a few people misinterpreted what the devs originally said and over the course of time these also become "promises" in the minds of some people.

    Such people have clearly never been involved in software development.

    Very few designs survive the implementation process intact -- at least in their original form. Sometimes planned features just don't work as well as originally thought. Or they prove to be too difficult or expensive to be worth taking time away from more important features.

    Also, it is completely boneheaded to buy a piece of software based on features planned for the future. If it doesn't meet your needs in its current form, then don't buy it until it does. You're setting yourself up for disappointment.

    I still see people doing this sort of thing fairly regularly, on the Asset Store and elsewhere. This, and buying assets without even bothering to read the entire description make want to whack people upside the head with the Big Stick of Common Sense.
     
    Mark_01, S4G4N, evilangel89 and 3 others like this.
  35. FoundwayDigital

    FoundwayDigital

    Joined:
    Aug 19, 2015
    Posts:
    4
    I kept the exchanges between myself and Adam in respect to this forum. I did not want to cause any disruptions by dragging my concerns in here to block out support, and I certainly didn't want to derail this thread. Any kind of long term browsing of this forum teaches you to tread lightly. However this is starting to turn into a personal attack. Singling out reviews now? For an opinion..

    I had a poor experience with Gaia. One that stands out and continues to ring true. I expressed this via my review. I realize it'll be and is already unpopular, although singling out bad reviews is now a good trait of Publishers? This is not something that happened out of thin air.

    My opinion is just that, ignore it, or use it for feedback. Good luck with your projects.
     
  36. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    So... just to be clear... you're complaining about someone having an opinion about your opinion?

    It started with a bad review. Adam clarified to the community and others who might see a recent poor review and check the forum thread for an answer. He made this post respectfully I might add, and the core content of which was to clarify to the community to set the matter straight for all. It was a matter of miscommunicated expectations, you maybe didn't look into the product fully before making assumptions that it was the answer to your prayers.
    Others followed up by saying such expectations were never set even though Adam said he would look into a number of aspects to see if it was possible on the streaming front. Even though I myself did have a hint that there might be something more to the runtime aspects of Gaia with GPU modules involved, I still appreciated the clarity he provided on this matter following the review.

    So whether intentional or not, your negative review ultimately provided a chain of events that assisted the community by Adam ensuring nobody else is mislead. Negative reviews are likely to get the most attention, positive reviews are happy customers who don't have anything to say except it does what it advertises. Sorry you felt singled out for it, but you did that to yourself by expecting something from a product without knowing it provided it before buying it and then negatively reviewing the product based on your misconception and misinformation. One post? So you never even bothered to solicit any community feedback?

    I've wasted enough of my time on this, don't be another reviewer who doesn't read the label.
     
  37. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    This isn't normally the case but after reading your review (which I hadn't before you posted since you can't link directly to reviews and I'm normally too lazy to go searching to read what someone said), I can totally see why Adam posted. Hopefully people who look at feedback will also look at the forum thread and by bringing a review that could have negative impact to our attention allows us to weigh in with our thoughts. Although I think Adam addressed it well in his response to the feedback, but it also helps to see people other than the author comment on things that are obviously misunderstandings.

    A lot of what you posted in the review just isn't the case. I don't ever remember Adam saying that Gaia 2.0 would be a paid upgrade, although there are a lot of us in his beta group and other groups we are in together advised him that he should because of all of the time and work that has to go into it. He did however announce that there would be modules that would be paid add-ons such as the GPU computer shader module to switch processing from CPU to GPU (or at least I think that is what it does. But to my knowledge all the way back to prior to Gaia's release, the multi-tile was a free update. The GPU compute shader is something totally new.

    I would counter your comments about Gaia not being a good choice. If you are looking for dedicated terrain creation without clogged up user interface and something that is easy to learn and use, Gaia is your tool. I've used others and Gaia is the ONLY one out of them I will recommend. The support is incredible and the product just works out of the box. Not saying the other tools can't create the same or maybe even better terrains, but the interface and user friendliness was a total pain in the ass. Gaia is just leaps and bounds more intuitive than the others were.

    Knowing Adam and having worked with him, the way you describe him just doesn't make sense. I have to half wonder if your initial contact/approach was maybe a little less than amiable or if maybe there has been a language barrier somewhere that caused issues. I've never seen him be anything but pleasant unless attacked/provoked, which is kind of what you have done with your review in all the things you claim was promised but simply wasn't the case.

    At any rate, I just wanted to chime in since I had more information about the review. Kind of ironic that your one and only post to the forums is the one that lead me to read your review and not Adam's post that you thought was causing everyone to go read it. To be honest, if you wouldn't have posted the responses about your review had probably run their course.. ;)
     
  38. FoundwayDigital

    FoundwayDigital

    Joined:
    Aug 19, 2015
    Posts:
    4
    A review exists to convey quality in the eyes of the purchaser. It's a valid right for someone who pays someone money. It's not the other way around. Did Adam pay me money? No. One negative review out of the sea of positives is nothing and I'm shocked it's triggered this kind of reaction.

    I'm perfectly okay with your opinions but it's pretty unprofessional for a publisher to react in this way. You guys are developers, you should know full well how to react to criticism. Use it for feedback or brush it off and prove me wrong. None of this behavior is helping, you know.
     
    magique likes this.
  39. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    I wasn't reacting to criticism.. I reacted to things you said that were just false.. lol Saying things were promised when they were in fact not promised, that isn't criticism. Giving you the benefit of the doubt, I'm hoping it was just misunderstanding. Otherwise it is kind of libelous because it is false. One bad review having incorrect information and where you attack the developer's character can far outweigh a lot of good reviews. For that reason it is important that viewers understand the truth and aren't turned away by a misunderstanding.

    I'm truly sorry you had a bad experience and wish you the best with whatever solution you end up using. But I have no qualms at all defending Gaia, other Procedural Worlds products, or Adam himself when I see them characterized as something they aren't.

    I'll leave it at that as like I said before, I think the subject was about to run its course before you posted. Feel free to PM me if you feel the need to respond.

    Ok @AdamGoodrich... Let's get back to seeing more cool S*** that those of us sticking with Gaia will get to play with in 2.0! :)
     
    Teila and TeagansDad like this.
  40. Xrystal

    Xrystal

    Joined:
    Mar 25, 2014
    Posts:
    203
    My brother is having similar issues with his old player base. He is working on creating a game based on the web game he developed the last few years. He let everyone know what he was planning and let them put their input in. He had a few people back him up but there were a lot that basically thought it was so easy to do it this way and that way and I want it to work this way etc. I just told my brother to use their suggestions as a guide but stick to his guns if he doesn't want certain stuff added.

    Rofl, as to that last paragraph, guilty as charged. I read the description and it went right through my head so that by the time I had clicked buy I forgot it didn't actually do what I wanted. But seeing as it didn't say it would, it's my fault. I'll just use Gaia for small landscape games and carry on working on my procedural landscape projects.
     
    Teila likes this.
  41. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    @Xrystal - Yeah, I don't get it. Before I buy an asset, I generally:
    • Read the description thoroughly
    • Look at all the screenshots
    • Skim through any videos
    • Play the demo for a few minutes, if it has one
    • Read the three "sticky" reviews
    • Expand the list of reviews, read a handful of the most recent, and then skim down the list looking for development responses
    • Have a peek at the documentation, if it is linked
    • Read the first and last pages of its thread on this forum, to see where it started from and how it has progressed.
    Obviously these aren't all applicable to every asset. Even still, I get burned from time to time with something that just isn't as useful as I thought it would be.

    I'm also not nearly so thorough with sub $10 assets. I also have a weakness when something I've been on the fence about is 50% off. :)
     
    Mark_01, Goodgulf, Teila and 2 others like this.
  42. Akshara

    Akshara

    Joined:
    Apr 9, 2014
    Posts:
    100
    I would like to comment, before we move on.
    I understand your perspective, I do. And when I read your review, though I disagreed with it and marked it as unhelpful, felt compassion for your experience and that you were so upset that you felt this was your only recourse.

    You refer to unprofessionalism. Yet to me, the content and tone of your review comes across as an attempt to hurt Adam, rather than to inform and educate. Your comment that I quoted above would make sense and be correct if you had left an unbiased review of the product with a two or three star rating, detailing your frustrations with the product.

    However instead you attacked Adam's character, even mentioned his family, which came across to me as a dig rather than as a genuine well wish - and even if truly genuine, was unprofessional to mention in a product review.
    You're clearly upset and want Adam to pay. Yet your review will cause far more harm than the amount you originally paid for the product and is not what we call in krav maga an equal force response - hence the reaction you have triggered.

    You are the one being unprofessional, and in my opinion, should be ashamed and will regret it one day.
    And your very public personal attack disguised as a product review will be read by thousands of aspiring Unity developers over many years. And they will judge your character as well. Good luck with your projects.
     
  43. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Hey everyone. We have clarified what Gaia is and isn't, and can move on. I very much appreciate your support :)

    Personally, i think that run time generation offers a whole lot of advantages over streaming, but we will see how it all pans out.

    I am super excited about version 2.0. Have lots of cool ideas, and am limited only by the time it will take to implement them. Onwards and upwards! :)
     
    Mark_01, antoripa, TeagansDad and 2 others like this.
  44. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    Elephants got nothing on the internet. The internet never forgets.
    I was gunna say something more about attitude, real life, social environments and broken noses... but time to let this one go. I hope the original reviewer will remember this and understand the impact of their ignorance when buying and reviewing products in the future.
     
    S4G4N likes this.
  45. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    Hopefully feature creep doesn't set in, can always put a little off for 2.1... before too much gets added at once it's a good idea to get 2.0 out in the hands for testing, but I'm sure you already know that. Personal bias, you can still squeeze MegaSplat integration into 2.0 ;)

    Edit: I'm actually curious about the impact of runtime regenerating. My concern is that loading a pregenerated single heightmap is probably less impact than potentially having to load a bunch of stamps to regenerate it on the fly. Of course, if this is just done once at startup, then the tiles saved out and loaded as needed that could be interesting. I'm still waiting to see what the best approach will be when using World Streamer with networking involved, and the impact of having server able to stream load/unload areas around all players in realtime.
     
    S4G4N likes this.
  46. AdamGoodrich

    AdamGoodrich

    Joined:
    Feb 12, 2013
    Posts:
    3,783
    Yep its interesting. So loading a stamp is currently the slowest part. The impact there is the same whether its stamping one tile or 100.

    GPU application per tile takes around 10ms, on a typical 2km Gaia terrain tile and I had an idea today I think will speed it up even more.

    The reflection back into the terrain of the new value is between 80-100ms on a relatively high res terrain, but can be faster if you change resolutions. This cost would be the same with level streaming or not.

    So - when you are talking such minimal overhead - it really is an interesting price / performance comparison. The big benefit is that you don't ship or load the big height, splat, tree and object maps in your game (from memory around 20mb per terrain tile), you instead ship a 300k file, plus the raw assets. Its pretty significant.

    It will be interesting closer to release to compare the pros and cons of both approaches.
     
    Last edited: Mar 16, 2017
    Mark_01 and BackwoodsGaming like this.
  47. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Personally, I think any integrations would be best as optional addons. They might be simple, but not everyone needs them. Maybe do something like Tony Li does with integration packs making them available for download on website. Or even offer them in the asset store, both free and paid depending on development time to produce them.

    No offense to MegaSplat, but I'd rather see time spent making an integration with it spent making the system
    @AdamGoodrich and @NatureManufacture are working on together. I'm kind of holding out for that one since I know both developers... heheh

    Maybe my interpretation of the run-time generating isn't correct. I'm interpreting it that it is generating everything based on calculations and not a physical map. If that is the case, I guess I'm old school and want an actual map and set area for most things with the exception maybe being new saplings coming up or old trees falling over. And maybe lack of activity causes a farm to become taken by the wild and overgrown or something. But I still envision all of that needing to be tiles that would need to be streamed. But then again I don't have Adam's mind for brilliance and can't see what he is envisioning as a run-time generated terrain... heheh

    EDIT: I'm such a slow typist these days... The thoughts can't keep up with my typing... @AdamGoodrich, your response above sounds interesting.. Would love to talk with you about this a bit more in the weeks to come. I'm wondering if this is something that can be done with a combination of preset areas using session playback at runtime to have hard target towns/villages/outposts/farms/homesteads etc but use runtime generation instead of streaming?
     
  48. Astaelan1

    Astaelan1

    Joined:
    Sep 29, 2015
    Posts:
    192
    From a purely theoretical standpoint, it would be the winning approach. The question is only whether it's actually fast enough. I'm thinking with GPU modules (or even without) that a one-time generation at load is still a better option than shipping with it. So even if it takes a one-time "cache generation" period during startup, most players aren't phased by that one time cost.

    @Shawn67
    In theory, the runtime generation would be more or less the data stored with a session. So everything you did to generate the terrain, would thusly be replayed to generate the terrain either at first startup, or every time, or even at runtime as it's needed.
    The real issue here, is when it comes to hand edited changes. Adding river beds and smoothing that wasn't part of the gaia session. These changes could not likely be captured as easily from a procedural perspective (although one could theoretically record the painted changes and track those vs the actual vertex data again). That said, I don't see Gaia supporting this, Adam could of course correct me on this. But this is why I believe I would remain with streaming, because it will inevitably come down to hand painted changes on the terrain for key points of interest relative to storyline and even just the hand painted touches for waterfalls or alpha holes for caves, etc. All just practical stuff that'll come down to hand editing the terrain for my use case. But I'm sure someone, somewhere will come along and find the auto generation absolutely perfect for their needs.
     
    BackwoodsGaming likes this.
  49. longroadhwy

    longroadhwy

    Joined:
    May 4, 2014
    Posts:
    1,551
    Did you ever post what your specs on your development PC were?
     
  50. BackwoodsGaming

    BackwoodsGaming

    Joined:
    Jan 2, 2014
    Posts:
    2,229
    Agree here.. I guess also as being someone who hasn't been able to afford to keep up with current computers, I empathize a bit more with players like myself and want to make sure whatever I develop will play well on lower end machines as well as the bleeding edge ones. I'm curious to see how my session build times compare with Adam's on both CPU and GPU versions.. I REALLY hope it blows me away like it has been him in his testing.. heheh