One thing that intend to do is try to figure out why I get a really low frame rate when running the game. I run the 8GB run configuration on a machine with 24GB of RAM. I know my graphics card isn't great, this is my work computer for development and not a gaming computer. However, my game runs fine on it and minecraft runs fine. Anyway, I don't want to get us down a rabbit hole here, I just wanted to mention one of my goals.That's absolutely fine and cool! jME contacted us once curious if we had considered using some of their stuff, but we're probably too deep in at this point to rearchitect the basics. But a new learning project is fine, @@Marcin Sciesinski also "rewrote" a Terasology from scratch based on LibGDX to get some good ideas on entity system improvements and such.
Do you think we should keep the same package names as they are in the engine for a while? If we did that then it wouldn't be a breaking change to remove the classes out of engine as long as engine depended on gestalt-worldgen. Then we could rename the package in a major release. Although I'm thinking in terms of semantic versioning. Does Terasology practice SemVer? On the other hand if you are thinking of creating this module in parallel and not making the engine depend on it until much later then it won't be a problem to rename the package. I don't have a problem doing it either way you'd like, just wanted to throw that out there.I might suggest naming the new thing something like "gestalt-worldgen" (packages org.terasology.gestalt.worldgen?)
So I won't have to create a separate module just submit pull requests to a new gestalt sub-module?The current Gestalt repo is all-in-one partly just from the convenience, we might split it back apart into one-repo-per-lib later when there's some time to organize the logistics (like easily embedding the pieces into a Terasology master workspace, or something different like it)
I'll start a new thread about performance and mention you since this one is growing legs.Would be nice if you could troubleshoot those performance issues on your system better. Used YourKit before? It is all kinds of awesome for profiling and we can give away free open source licenses if you'd like one
Great! Exactly what I was thinking.Keeping package names the same at first is ideal, just the library name is important up front. We'd probably rename packages way later when engine goes v2.0.0 (so yep, we practice SemVer!)
I think it makes sense to have it in a separate repository because it's release cycle probably won't line up with the other gestalt components since they mostly unrelated. In other words, when something in gestalt-module changes it's really unrelated to worldgen so why should the worldgen version change? Plus, you could give me full access to the new repository without the worries of me totally messing something up in gestalt.If you think it'll be fairly self-contained it might be better to go standalone, easier to manage.
That would be great! I tried to get Intellij to add a new module to gestalt last night to no avail. I started manually creating it based on how the other projects looked and it just felt wrong. I would appreciate if you could get a project started. I will mention that I think it should be multi-module. Not sure if you need to know that up front but I definitely see that there will need to be a world-model(or whatever you'd like to call it) project.I can help hook up the Gradle magic to make it easy
Region3i doesn't seem to depend on anything else in engine. All it's dependencies are vector classes that reside in TeraMath. CoreChunk definitely needs input from you guys.Region3i, CoreChunk, and so on gets a bit deep into architecture land for me