Segs / SegsEngine

The engine that will become the basis for client/editor/server components.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.