Skip to content

regenrek/tileborn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

205 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tileborne

CI

Tileborne is an open-source platform for tilemap authoring, plugin-driven game tooling, and local-first multiplayer playtest.

Build maps in the Electron editor, extend behavior with plugins, and run deterministic battle-royale matches on your machine — no cloud account required for v0.1.0.

Status

Release 0.0.1 is source-only; desktop binary distribution remains NO-GO and no desktop artifact is published.

The creator/game Ship vertical has committed evidence, while the desktop editor remains unavailable for distribution. macOS arm64 is the sole desktop 1.0 candidate; Windows, Linux, macOS x64, automatic updates, and remote crash reporting are unsupported. See the desktop release runbook.

Quick start

Prerequisites: Node.js 22+ and pnpm 11+ (Corepack recommended).

git clone https://github.com/tileborne/tileborne.git
cd tileborne
corepack enable
pnpm install
pnpm --filter @tileborne/desktop dev:cdp

dev:cdp launches the Electron editor with Chrome DevTools Protocol enabled for automation and debugging. For a plain dev session without CDP, use pnpm --filter @tileborne/desktop dev.

Run the full workspace gate before opening a PR:

pnpm typecheck && pnpm lint && pnpm test:boundaries

Architecture

┌─────────────────────────────────────────────────────────────┐
│  Electron desktop (apps/desktop)                            │
│  ┌──────────────┐  typed IPC   ┌──────────────────────────┐ │
│  │ Main process │◄────────────►│ Renderer (React + Pixi)  │ │
│  └──────────────┘              └──────────────────────────┘ │
└───────────────────────────────┬─────────────────────────────┘
                                │
        ┌───────────────────────┼───────────────────────┐
        ▼                       ▼                       ▼
  @tileborne/ui          @tileborne/ipc-contracts   @tileborne/sdk-tileset
  @tileborne/core        @tileborne/plugin-api      @tileborne/asset-pipeline
  @tileborne/runtime     @tileborne/cli             @tileborne/services-*
        │                       │
        ▼                       ▼
  plugin-battle-royale    apps/game-host (miniflare DO template)
Layer Role
Electron main Window lifecycle, filesystem, plugin host, IPC bridge
Renderer React shell, map editor, tileset palette, playtest viewport
SDK packages Domain models, tileset parser, runtime ECS, typed IPC
Battle Royale plugin Deterministic BR loop with zone, combat, loot, and replay
Game host Local miniflare Worker + Durable Object for multiplayer playtest

See Architecture spec for the full product boundary and invariants.

Key packages

Package Description
@tileborne/core Domain models, IDs, map/project schemas
@tileborne/sdk-tileset Canonical tileset parser — autotiles, variants, animations, collision
@tileborne/runtime ECS simulation, networking helpers, Pixi renderer adapter
@tileborne/plugin-api Plugin manifest schema and contribution registry
@tileborne/ipc-contracts Typed desktop IPC channels (Effect Schema)
@tileborne/cli tileborne CLI — project, asset, map, plugin, playtest
@tileborne/ui Editor React shell and declarative plugin UI
@tileborne/plugin-battle-royale Official battle royale plugin demo
@tileborne/asset-pipeline Asset import, license reporting, path guards
@tileborne/desktop Electron editor app
@tileborne/game-host Cloudflare Worker + DO playtest template (local miniflare)

Battle Royale plugin demo

The @tileborne/plugin-battle-royale package ships a complete local-first battle royale loop:

  • Perimeter spawn points, deterministic movement, and projectile combat
  • Authoritative shrink zone with damage outside the safe radius
  • Tiered loot crates and a single MatchWon emission point
  • Deterministic replay — same seed and inputs produce identical snapshots

Open the editor, import your own redistributable tileset, and start a multiplayer playtest to try it.

Screenshots

Run pnpm --filter @tileborne/desktop dev:cdp to explore the editor locally.

Documentation

Contributing

We welcome issues and pull requests. See CONTRIBUTING.md for dev setup, testing conventions, PlanDB workflow, and PR guidelines.

License

MIT — see LICENSE.

CC0 sample fixtures under packages/test-fixtures/fixtures/ include per-directory PROVENANCE.md attribution. Third-party art assets are intentionally not bundled in the OSS repository.

About

Monorepo for the Tileborne map editor, CLI, runtime, and game host.

Resources

License

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors