Peroxide Script Site

For two decades, modding has been a war between accessibility and power. Lua is friendly but slow. C++ is fast but unforgiving. Peroxide Script, a new open-source embedded scripting language, claims to offer the best of both worlds—with a chemical twist.

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 .

channel "UI_Events" -> (event_type: string, payload: any) spawn fn update_health_bar() { loop { match recv("UI_Events", timeout=0) { ("damage_taken", val) => animate_red_flash(val) _ => skip } } }

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. Peroxide Script

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.

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.

But as one modder put it on the forums: “Once you bleach, you never go back.” Author’s note: Peroxide Script is currently at version 0.9.2 (codename “Hydrogen Peroxide”). The 1.0 release is planned for Q4 2026. For two decades, modding has been a war

let enemy_health = 100 let preview = !> enemy_health - 20 // Creates a bleached copy print(enemy_health) // 100 (unchanged) print(preview) // 80

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 } }

Is it the future of modding? Possibly for multiplayer, competitive, or simulation-heavy games. For a simple UI script? Probably overkill. In traditional scripting

// To commit the bleach back: enemy_health <-! preview // Stabilizes the change

But what makes it "peroxide"? The name hints at its core mechanism: . Let’s break it down. 1. The Bleach Operator: !> The headline feature of Peroxide is the Bleach Operator ( !> ). In traditional scripting, if you modify an object, all references see that change. In Peroxide, mutation is opt-in and temporary .

Developed by independent game studio (and later open-sourced in early 2025), Peroxide Script ( .ps or .h2o2 ) was designed to solve a specific pain point: safe, concurrent mutation of game state without garbage collection stutter.