Roadmap

Version Milestones

v0.1 — Foundation (Current)

Status: Complete

The foundational layer: workspace structure, core crates, rendering pipeline, ECS integration, and browser-playable demos.

Delivered:

  • 18-crate Rust workspace with clean dependency graph
  • wgpu rendering: 2D sprite batching, 3D lit geometry
  • bevy_ecs integration for entity/component/system architecture
  • 4 browser-playable demos (sprite-lab, topdown-prototype, scene3d, stress-lab)
  • Input handling (keyboard, mouse)
  • Fixed-timestep game loop
  • Game manifest format (sg-game.toml)
  • CLI tool (sg) with manifest validation
  • Architecture Decision Records
  • CI pipeline and deployment infrastructure
  • Website and documentation scaffolding

v0.2 — Runtime Polish

Status: Next

Stabilize the runtime, improve browser compatibility, and add audio.

Goals:

  • Worker-first execution with OffscreenCanvas (currently main-thread)
  • Main-thread fallback for browsers without OffscreenCanvas
  • Audio playback via Web Audio API (sg_audio implementation)
  • Touch input support for mobile browsers
  • Gamepad input via the Gamepad API
  • Canvas resize handling and responsive viewport
  • Improved error reporting and recovery
  • Performance profiling infrastructure

v0.3 — Asset Pipeline

Status: Planned

Build the asset loading and processing infrastructure.

Goals:

  • glTF 2.0 loader in sg_assets
  • KTX2/Basis Universal texture loading and transcoding
  • Async asset loading with progress reporting
  • Texture atlas generation
  • Sprite sheet animation support
  • Font rendering (SDF or bitmap fonts)
  • Asset hot-reloading in development mode

v0.4 — Platform MVP

Status: Planned

Minimal viable game publishing platform.

Goals:

  • Gateway HTTP API for game upload and publishing
  • SQLite-backed game registry
  • S3-compatible artifact storage integration
  • Subdomain-based game serving (slug.games.siliconghetto.com)
  • Per-game CSP and isolation
  • Basic game catalog page
  • sg publish CLI command
  • Developer accounts (minimal, likely GitHub OAuth)

v0.5 — Plugin System

Status: Future

WASM Component Model based plugin/mod system.

Goals:

  • WIT interface definitions for engine extension points
  • Plugin loading and sandboxing
  • Custom component and system registration via plugins
  • Hot-reloading plugins in development
  • Plugin manifest and dependency resolution
  • Example plugins demonstrating the system

v0.6 — Platform Features

Status: Future

Expand the platform with community and discovery features.

Goals:

  • Game search and filtering
  • Tag-based discovery
  • Developer profiles
  • Play statistics (privacy-respecting)
  • Community reporting and moderation tools
  • Custom domain support for published games
  • Embed codes for external sites

Long-Term Vision

  • Multiplayer relay service for real-time games
  • Cloud save storage for game state persistence
  • Visual scene editor (in-browser)
  • AI-assisted game authoring tools
  • Mobile-native wrapper (via WRY/Tauri) for app store distribution
  • Marketplace for game assets and plugins

Principles

  1. Ship incrementally: Each milestone delivers usable functionality
  2. Browser-first always: Every feature must work in the browser
  3. Cheap to operate: Architecture avoids expensive cloud services
  4. Open engine, viable platform: Engine stays MIT/Apache-2.0; platform sustains itself