I'm going to make the physics engine uniform. The multi-step simulation was all nice, but the glitches are never-ending.
My plan for physics is:
- Uniform, high-degree(2nd degree most probably), variable-tick interpolation and integration
- Replace 3D hash table structures with oc-heaps instead, for accurate physics queries involving size and arbitrary shapes
- Tickless collision checks and AI scheduling (integration with variable tick to next scheduled decision point)
- This means separating AI from unit physical modeling
- Mechanics advance with independent resolution from AI decisions
- Capsule collision checks for collision-critical objects (missiles, mines, significants).
Well... the last step implies a lot of overhaul of the collision detection and AI logic, which is the one that really doesn't like procedural planets now. We can also have procedural asteroid belts because of the tickless AI (asteroid AI would reschedule for infinty).
So, after that step, comes the funny part:
- Procedural unit hooks - unit-spawning volumes and the callbacks necessary to make them happen.
- Procedural asteroid fields (the easiest)
- Procedural planets. This includes gas giants and cloud patches, hence the complication and need for hooks.
Help is welcome