game making circle // dev portal
ACTIVE PROJECTS
miris-engine
2D game engine written in Rust, targeting WebAssembly. ECS architecture with hot-reloadable systems. 60fps locked with adaptive quality scaling.
miris-editor
Visual level editor with real-time preview. Node-based scripting interface. Custom asset pipeline with GPU-accelerated texture compression.
miris-audio
Spatial audio engine with HRTF processing. Adaptive music system that responds to game state. Zero-allocation mixing in the hot path.
pub struct World {
entities: Vec<Entity>,
components: ComponentStore,
systems: Vec<Box<dyn System>>,
}
impl World {
pub fn tick(&mut self, dt: f64) {
for system in &mut self.systems {
system.update(
&self.entities,
&mut self.components,
dt,
);
}
}
pub fn spawn(&mut self) -> Entity {
let id = self.entities.len();
let entity = Entity::new(id);
self.entities.push(entity);
entity
}
}
ABOUT MIRIS
MiRiS is a small game-making circle building tools and games at the intersection of art and engineering. We write our own engines, design our own tools, and ship games that run everywhere — from browsers to dedicated hardware.
Our stack is built on Rust for performance-critical code, WebAssembly for cross-platform deployment, and TypeScript for tooling. Everything we build is open-source, documented, and designed to be extended.
[circle]
name = "MiRiS"
formed = "2024"
focus = "game engines + tools"
[stack]
core = "rust"
target = "wasm32-unknown-unknown"
graphics = "webgpu"
tooling = "typescript"
[principles]
open_source = true
zero_alloc_hot_path = true
ship_everywhere = true