Skip to main content
Oxid logoRust runtime + JavaScript scripting

Zero-setup game engine with instant JavaScript scripting

Build games in seconds, powered by a lightweight Rust runtime.

main.jspackage.json
import { GameObject } from "oxid/core";
import { Transform2D } from "oxid/math";
import { drawText } from "oxid/text";
import { Color } from "oxid/color";

export class MyApp extends GameObject {
  constructor() {
    super();
    this.position = new Transform2D(280, 220);
    this.color = new Color(1, 1, 1, 1);
  }

  onDraw() {
    drawText("Hello Oxid!", this.position, 32, this.color);
  }
}

export function main() {
  return new MyApp();
}

Zero Setup

Create and run a project in seconds with a simple CLI. No complex configuration, no boilerplate, just start building.

JavaScript Scripting

Write your game logic in JavaScript with built-in type definitions for autocomplete and a smooth developer experience.

Lightweight & Fast

Powered by a native Rust runtime, Oxid keeps startup fast and the footprint small without adding a heavy toolchain to the scripting flow.

CLI-first by design

Oxid keeps the main workflow small: create a project, open the generated JavaScript entrypoint, and run it with the native runtime.

01

Create

oxid new my-game generates a minimal project with main.js, package.json, oxid.d.ts and tsconfig.json.

02

Script

Write game logic in JavaScript using GameObject, lifecycle hooks and the built-in Oxid modules.

03

Run

oxid run reads package.json, resolves oxid.entry, boots the JS runtime and opens the native window.