Copied to clipboard!
Native 3D desktop runtime

Build worlds with std/game.

Sesi Game is an optional Babylon.js and Electron runtime for complete 3D desktop applications: scenes, assets, input, GUI, audio, and physics in the same clear language.

first_scene.sesi
std/game
allow "std/game" in as Game

let game = Game.create({
  title: "My First 3D Game",
  background: "#07111f"
})
let scene = game.create_scene("main")
scene.orbit_camera("camera", {radius: 12})
scene.hemispheric_light("sun", {intensity: 0.9})
scene.box("player", {position: Game.vec3(0, 1, 0)})
game.run()

Built with Sesi

See the engine in motion.

Explore two games created with Sesi.

Boxing Showdown running in the Sesi game engine

Boxing Showdown

A complete 3D boxing match built with Sesi.

Flappy Bird 3D running in the Sesi game engine

Flappy Bird 3D

A colorful 3D arcade game built with Sesi.

The building blocks

A full scene, not a wrapper.

Game objects are live native objects. Update a position, material, or input state in Sesi and the running desktop scene changes immediately.

Coordinate system: left-handed, Y up, +X right, +Z forward.

Scenes & meshes

Create scenes, boxes, spheres, planes, ground, cylinders, and loaded models. Transform them with live vectors.

Cameras & lights

Free, orbit, and follow cameras alongside hemispheric, directional, point, and spot lights.

Materials & assets

Register models, textures, environments, audio, and fonts. Use standard or PBR materials.

Input & GUI

Bind named actions, read pointer and gamepad state, and compose native UI controls in the scene.

Runtime workflow

Start local. Build native.

The heavyweight engine stays optional. Install it inside the project that needs it and run the script in local mode.

terminal
# Install the optional desktop runtime
npm install @misterscan/sesi-game

# Run a game in local mode
sesi -l my_game.sesi
Beyond rendering

The systems that make it a game.

Connect fixed updates, collisions, audio, storage, physics, raycasts, and a packaged desktop build through one API.

Lifecycle

Use start, frame, fixed-step, and stop callbacks. Fixed updates default to 1/60 second.

Physics & raycasts

Enable physics per scene, add bodies, apply impulses, receive collisions, and cast rays into the world.

Desktop builds

Register assets once, then build an unsigned unpacked app for the current OS and architecture.

Ready to make something move?

Install Sesi, then open a scene of your own.

Install Sesi