🧠 Proposal: Low‑End Performance Mode for Zero‑K (Respecting Tactical Complexity
🧠 Proposal: Low‑End Performance Mode for Zero‑K (Respecting Tactical Complexity)
Hello Zero‑K Developers and Community,
First of all, thank you for creating such a smart, tactical, and open-source RTS. The AI, physics, and gameplay depth in Zero‑K are outstanding.
However, I noticed a performance barrier on medium/low-end hardware. Despite minimal graphics, heavy AI logic, precise physics, and unit-level decision making result in high RAM and CPU usage during large battles or campaign missions.
I understand you intended Zero‑K to be complex and deep—and that is appreciated—but enabling it to scale better on weaker machines could significantly broaden the player base.
✅ Suggested Enhancements (without sacrificing strategic depth):
- Light Tactical Mode (for Low-End Systems):
Simplify AI per group instead of per unit when hundreds of units are engaged.
Reduce physics detail (e.g. no precise bouncing or heat calculations) in this mode.
- Dynamic Culling of Off-Screen/Distance Units:
Units far from the camera should use reduced updates or “idle mode.”
Visual effects or physics can be disabled for units not in view.
- Centralized Flow-Based Movement & Targeting:
Instead of individual unit navigation and targeting logic, use group-level flow fields to coordinate movement & fire direction.
- Optional AI Complexity Levels:
Offer switchable AI presets in the settings (e.g. “High AI” vs. “Light AI”) to adapt to hardware performance.
🎯 Why this helps:
Maintains core gameplay complexity and AI-driven depth.
Provides scalability: strong hardware uses full fidelity, while weaker hardware uses optimized pathways.
Helps new players on older machines experience Zero‑K smoothly, potentially increasing adoption and contributions.
Thank you for your excellent work and community. I’m happy to help test or refine these ideas further if they are of interest.
🚀 Already Implemented Features
- 🖥️ Some of these suggestions, such as real-time visual FX optimization to only consider units on-screen, are already in place.
🚫 Out of Scope for ZK
- 🗺 Flowfield pathing protocols: Requires deep integration with the underlying simulation engine—outside current ZK Lua capabilities.
- 🧠 Group Level AI: Would need efficient native engine call-ins operating at group level, as opposed to the current interfaces that only offer per-unit operation.
🛠 Technically Unfeasible For Now
- 🌐 The engine ZK uses has a synchronisation architecture where unit behaviour cannot rely on individual players' local state, such as camera visibility. This can only apply to things that affect no logic, such as the aforementioned visual FX.
- ⌛ Slowness. Many of suggested features would incur significant overhead to be able to tell when to even apply. This would result in the "optimisation" resulting in running even slower than just simply processing everything without any attempts to work around it.
🎯 In The Interim
- 🧩 Try lower-complexity matches, such as 1v1: more strategic breathing room, less stress on the machine.
- 💾 Upgrade your battle station: Boost your RAM, swap that CPU—unlock smoother play.
- 🧙♂️ Patches Welcome: Shape the future and flex your dev skills. We could always use more mana.
The first step for anything like this is to interrogate the BAR people about tracy to generate detailed profiling data. Optimisation without measurement is foolish.