Description of problems and issues to be solved
nemerle opened this issue · comments
Issues with the current scene representation
Current scene representation ( original Godot implementation ) will not work for our use case
- The city district maps are quite big and 'busy', Godot struggles with them.
- Editing large maps with a large amount of 3d meshes is painfully slow ( visibility )
- There's no LOD support
- Godot nodes are 'fat' objects taking quite a large amount of storage per-object
Problem statement
We want to have large and complex maps, taking minimal storage to be defined. Thus a deeply nested tree of prefabs with overrides ( procedural generators, what have you) is a requirement.
Additional metadata layers for the 'GM'/simulation ( spawn locations, street traffic directions, environment effects, etc.) are needed too.
- Client-side - we must accelerate things at runtime, by removing/disabling large parts of the world 'tree', taking into account various visibility/LOD metrics to optimize things.
- Editor side - we should use client-side acceleration with the additional support of drawing obscured/LODed world elements
- Server side - we should have a different approach here, reduce the amount of 'nodes' to load in the world to a subset ( physics collision meshes, navigation mesh, game logic nodes ), merge what we can, and precompute as much as possible.