Scenes & meshes
Create scenes, boxes, spheres, planes, ground, cylinders, and loaded models. Transform them with live vectors.
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.
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
Explore two games created with Sesi.
A complete 3D boxing match built with Sesi.
A colorful 3D arcade game built with Sesi.
Game objects are live native objects. Update a position, material, or input state in Sesi and the running desktop scene changes immediately.
Create scenes, boxes, spheres, planes, ground, cylinders, and loaded models. Transform them with live vectors.
Free, orbit, and follow cameras alongside hemispheric, directional, point, and spot lights.
Register models, textures, environments, audio, and fonts. Use standard or PBR materials.
Bind named actions, read pointer and gamepad state, and compose native UI controls in the scene.
The heavyweight engine stays optional. Install it inside the project that needs it and run the script in local mode.
# Install the optional desktop runtime
npm install @misterscan/sesi-game
# Run a game in local mode
sesi -l my_game.sesiConnect fixed updates, collisions, audio, storage, physics, raycasts, and a packaged desktop build through one API.
Use start, frame, fixed-step, and stop callbacks. Fixed updates default to 1/60 second.
Enable physics per scene, add bodies, apply impulses, receive collisions, and cast rays into the world.
Register assets once, then build an unsigned unpacked app for the current OS and architecture.
Install Sesi, then open a scene of your own.