Skip to Content
ProductsEngine

Engine

@shipshitgames/engine is the shared Three.js game spine.

Use it for gameplay primitives that should not be rewritten in every game:

  • world bounds
  • camera rigs
  • input seams
  • steering and agents
  • spawn helpers

Boundary rule

Gameplay is imperative and Three.js-centered. React is for shells, menus, HUD, and overlays.

Import examples

import { RectBounds, makeBounds } from "@shipshitgames/engine"; import { firstPersonPointerLock } from "@shipshitgames/engine";

World bounds

Use bounds for clamp, cull, and spawn decisions instead of scattering global numbers through a game loop.

const bounds = RectBounds.square(40); bounds.clampXZ(position, 1.5);

Camera seam

Player systems read body and facing from the rig. The camera is render-only.

const rig = firstPersonPointerLock(camera, body);

Check

cd packages/engine bun run typecheck