A tiny language for game scripting.
Oryn is an embeddable scripting language for games, mods, and interactive simulations. Statically typed. Garbage collected. Ships as a Rust library.
Game entities compose behaviors with use and
communicate through typed events. Scripts are synchronous.
The host handles async. No null. No exceptions. No
inheritance.
// torch.on
event LightChanged {
x: f32
y: f32
lit: bool
}
obj Torch {
use Position
lit: bool
on Interact(e) {
self.lit = not self.lit
emit LightChanged { x: self.x, y: self.y, lit: self.lit }
}
on Tick {
if self.lit {
emit Light { x: self.x, y: self.y, radius: 4.0 }
}
}
}
use. No inheritance.
Single binary. Everything ships together.
oryn run main.on run a
scriptoryn build
plannedoryn test
plannedoryn fmt
plannedoryn doc
plannedoryn add <git-url>
planned