Skip to content

Repository files navigation

Warlord

A digital implementation of the classic Titan board game.

Getting Started

Install dependencies

pnpm install

Development server

pnpm dev

Start the dev server at http://localhost:5173.

Build

pnpm build

Lint and typecheck

pnpm lint
pnpm typecheck

Architecture

The project is organized into three main layers:

  • Models (src/game/models/) — Plain TypeScript game engine. Contains the core TitanGame class and supporting types (Player, Stack, Battle, etc.) with no UI dependencies.
  • Stores (src/ui/stores/) — Pinia state management layer. Wraps TitanGame methods as Pinia store actions and getters to make state reactive and accessible to components.
  • Components (src/ui/components/) — Vue UI layer. Renders the game state, handles user input, and dispatches store actions.

About

A web implementation of the Avalon Hill board game Titan

Resources

Stars

0 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages