2.1 KiB
2.1 KiB
Mission — Bevy FPS Foundation & Editor Framework
What we are building
An in-process Bevy editor and game foundation for a server-authoritative multiplayer FPS. The editor is a reusable framework: the same GamePlugin, deterministic sim, and rendering stack run in the editor binary and in shipped game builds.
Principles
- One world, one sim — Play-in-editor runs real gameplay code, not a preview stub.
- WYSIWYG rendering — the unified viewport uses the project rendering profile (target:
assets/project.ron) for both editor and player cameras. - Authoring over runtime — Levels serialize reflectable components from
shared; hydration builds runtime meshes, colliders, and lights. - Input as intent — Gameplay consumes
protocolintent inFixedUpdate, enabling determinism, replays, and networking. - Strict crate boundaries —
simandprotocolstay rendering-free; native-only deps stay ineditor. - BRP-aligned tooling — Custom egui UX plus Bevy Remote Protocol for automation and future interop with the official Bevy editor. BRP mutates authoring components only (editor/brp.md, ADR 0009).
- Actor model — Every saved level object has
ActorKind; hydration is derived (ADR 0010).
Audience
- Level authors — Iterate on scenes, tuning, and feel via PIE and project settings.
- Engine extenders — Reuse or embed
editorpatterns (viewport, history, PIE) in other Bevy projects. - Automation / CI — BRP and headless validation (planned).
- Multiplayer development — Same editor shell exercises deterministic sim and protocol types.
Non-goals
- Full DCC modeling (import-focused workflow).
- Shipping the editor to players (dev tool only).