TypeScript 2D Web Game Engine

Kiwi Engine features a center-origin coordinate system, responsive canvas, layered rendering, and both Canvas and DOM-based nodes — designed for the modern web.

Center-Origin Coordinates

The canvas center is always (0, 0). Perfect for fluid, responsive layouts on the web.

Responsive Canvas

Automatically matches the parent element’s size and updates on resize.

Layers & Camera

Named layers control draw order. Camera pan/zoom and screen-to-world conversion.

Time-based Updates

rAF-driven Ticker with dt in seconds. Debug mode caps unfocused tabs at 6 FPS.

Quick Example

import { Renderer, GameObject } from 'kiwiengine'

const renderer = new Renderer(document.body, {
  layers: [
    { name: 'background', drawOrder: 0 },
    { name: 'game',       drawOrder: 1 },
    { name: 'ui',         drawOrder: 2 },
  ]
})

const player = new GameObject({ x: 0, y: 0, layer: 'game' })
renderer.add(player)

See Docs and Examples in the top navigation for more.