Greetings, as I cannot post in the "Core Projects" section I shall post here.
I was looking to create a new module on Terasology, but it is lacking a few features that are fairly required for the style I have planned, thus I plan to add such features via PR's to Terasology, including bug fixes and TODO's that I have been running across.
I have a few things planned, in no defined order:
I was looking to create a new module on Terasology, but it is lacking a few features that are fairly required for the style I have planned, thus I plan to add such features via PR's to Terasology, including bug fixes and TODO's that I have been running across.
I have a few things planned, in no defined order:
- Chunk Tessellator overhaul - This has a lot of hard coded tests, a ton of TODO's, and is fairly spaghetti'ish, obviously grown over time to have those cases added to it. I plan to abstract out a set of mesh generation tasks in to things that can be specified on the blocks while removing a lot of the rendering specific options from the block that will then become useless. Primarily there should be one for general blocks, the default when unspecified, and for something like water that can be rendered at varying heights would be another, and other such things, which also includes:
- Removing water/lava from the engine, not all games will have those, and not all games will have 'just' those, I personally need a variety of water types, other liquids, liquid metal, etc... I wrote a cellular calculator for fluids in Minecraft that handled both heavier and lighter than air (steam for example) so I can port that over if there is not already another module handling such things. Such a module would also have an above mesh generator for the world tesselator to render the given fluids.
- Block destruction should be removed from the engine and moved to a module, the engine itself should likely just be a sandbox, place and remove, a module can easily listen to those events and handle the block health an destruction as it is done now, and I personally plan for a slightly different style, which the engine one currently conflicts with.
- In general many other systems that need to be removed from the engine and placed in to their own modules.