# Karty design

Karty brings Go game code, authored levels and a shared runtime together.
These pages explain the choices behind that structure and what they mean when
you build a game.

- [Why Karty?](why.html) describes the workflow I want and the games it serves.
- [Architecture](architecture.html) explains the host, client and level, and how they work together.
- [Build and preview](workflow.html) follows a project from its first preview to a packaged game.
- [Asset pipeline](asset-pipeline.html) follows source files through a build to the running game.
- [Packages](packages.html) explains how games share code, objects, materials and UI.
- [Processor textures](processor-textures-v1.html) specifies generated level textures and their build-time bounds.
- [Web delivery](web-delivery-v1.html) explains release updates, background downloads and offline play.

To start making something, choose a [game guide](../guide/index.html).
For the game API and authoring reference, read your project's `.karty/docs/`.
