Hi all,
a few years now I have an idea in my mind about a niche 3D game that tries to simulate some real world thing, but not with the aspiration of perfection. At the moment my vision is to implement the game as a browser/WebGL-based game with rather low poly objects. While I think I can cope with the technical part (did some 3D stuff during my studies 30 years ago), my artistic capabilities are rather low. I can create objects, I have some small experience with GMax and Blender. This hopefully suffices to create the moving objects of the game. However, I need a landscape, too: Surface, houses, streets, plants et al. Since the landscape may become larger depending on the scenarios (kilometers/miles at least in one direction), this is probably too much for my capabilities, even with the low poly / bird view approach I plan. So I came up with the idea of generating the landscape procedurally with some manual directions given to the program. Also, due to the potentially larger size, I need to split up the resulting landscape into individual tiles, so that they can be loaded and displayed by the game when they come into sight. In detail, I imagined the following workflow:
(1) landscape generator (geometry / textures) -> (2) uv mapping / texture packing -> (3) Blender import / merge with hand-made scenery, export -> (4) tile splitting (geometry, textures?) -> (5) uv mapping / texture packing -> loadable glTF files
For step 1, I could write my own library to collect the geometry and textures, but would prefer to use some library or tool to do the nitty gritty part, including exporting them to files.
Since the textures and the uv mappings produced by step 1 will likely be of poor quality in respect to efficiency and resolution (unless the library of step 1 already does this), I am searching a tool that optimizes them automatically.
When the final landscape is exported by Blender, it needs to be split up into tiles by step 4. The tool (self-made or existing) shall read the geometry and textures and shall generate separate files for each tile. As the outcome of this step might again be suboptimal in respect to uv mappings and textures, it could be required to repeat step 2 (or the step 2 is simply moved here).
My problem is now that despite the fact that I spent hours of searching the Internet, I did not find any suitable libraries or tools. They may exist, but of course, I believe I have the beginner's problem of choosing the right keywords for my searches. Since this is a pure private, spare time effort, I do not want to spend thousands of dollars for some tools (that I did find). One additional problem is that I exclusively work on Linux, which is obviously not the preferred game developer platform.
Alternatively I wondered which parts of my chain/pipeline could be directly implemented with Blender's Python integration. It seems quite powerful, but I have not dived deep enough into the API to be able to give an answer.
I would appreciate any ideas or hints on libraries and tools or any comments on my (potentially problematic) envisioned approach. Thanks in advance.
Klaus