archetype Player { health: f32, position: Vec3, inventory: List<Item> } system "damage_over_time" { query (mut health, @tag "burning") for each { health.current -= 5.0 * delta_time } }
This allows modders to simulate "what-if" scenarios (damage prediction, UI previews, network rollback) without cluttering the live game state. It’s like Git for game variables. Most scripting languages pause the world to clean up memory. Peroxide uses reactive reference counting with a twist: objects self-destruct when their last stable reference disappears. The Bleach Operator creates ephemeral references that vanish automatically after the current frame. Peroxide Script
No more manual component lookups. The compiler optimizes queries into linear memory access patterns automatically. Mods often break when two scripts touch the same data. Peroxide enforces channel-based communication . Instead of shared memory, you send bleached copies through named pipes. archetype Player { health: f32, position: Vec3, inventory:
Zero GC spikes. This is a game-changer for fighting games, rhythm games, or any title requiring sub-millisecond frame consistency. 3. Native Entity Component System (ECS) Integration Peroxide isn’t general-purpose—it’s built for ECS. The language has first-class support for Archetypes and Queries . Peroxide uses reactive reference counting with a twist:
No locks. No deadlocks. Just data flowing one way. Because of the Bleach Operator, every script runs in a sandboxed revision . You can change a function, recompile the script, and the running game will automatically migrate live variables to the new version—as long as they’re stable.


