Skip to content

Repository files navigation

Star Wars: Armada — Digital Edition

A digital adaptation of the Star Wars: Armada tabletop miniatures game, built with the Godot Engine 4.5+.

Project Status

🟡 Phase: Project Setup — Development environment established, architecture foundations in place.

Overview

This project aims to faithfully recreate Star Wars: Armada as a computer game. Players command fleets of capital ships and fighter squadrons in tactical space combat within the Star Wars universe.

Current Phase: Setup

  • Godot 4.5 project structure
  • Core architecture (autoloads, event bus, game state)
  • GUT testing framework with initial tests
  • arc42 documentation structure
  • GitHub workflow (CI, templates, contributing guide)
  • Skill documents for consistent development

Next Phases

  1. Requirements Extraction — Analyze Rules Reference and Learn to Play documents
  2. Architecture Definition — Detailed component design, interfaces, and ADRs
  3. Core Implementation — Rules engine, combat, movement
  4. UI/Visuals — Game board, ship rendering, HUD
  5. Polish — Animations, sound, UX

Project Structure

Armada/
├── src/                    # Game source code
│   ├── autoload/           # Singletons (GameManager, EventBus, Constants)
│   ├── core/               # Pure game logic (scene-tree independent)
│   ├── models/             # Data resources (ShipData, SquadronData, etc.)
│   ├── scenes/             # Visual scenes with controllers
│   ├── ui/                 # Reusable UI components
│   └── utils/              # Utilities (GameLogger, helpers)
├── tests/                  # GUT tests
│   ├── unit/               # Unit tests
│   ├── integration/        # Integration tests
│   └── fixtures/           # Test data factories
├── assets/                 # Textures, audio, fonts, shaders
├── addons/gut/             # GUT testing framework
├── docs/                   # Architecture (arc42), requirements, implementation plan
├── Resources/              # Game component assets + rules reference books
│   ├── Game_Components/    # Ships, squadrons, dice, tokens, maps (flat snake_case)
│   ├── SWM-RULES-…/        # Rules Reference Guide
│   └── SWM01-ARMADA-…/     # Learn to Play
├── .github/                # CI/CD, issue templates, contributing guide
└── .skills/                # Coding standards and AI instructions

Prerequisites

  • Godot Engine 4.5+ (download)
  • Git for version control

Getting Started

# Clone the repository
git clone <repository-url>
cd Armada

# Open in Godot
godot project.godot

Running Tests

# All tests
./scripts/run_tests.sh

# Unit tests only
./scripts/run_tests.sh unit

# Integration tests only
./scripts/run_tests.sh integration

# Single test file
./scripts/run_tests.sh -f tests/unit/test_dice.gd

Or use the GUT panel in the Godot editor.

Documentation

Technology Stack

Component Technology
Game Engine Godot 4.5+
Language GDScript
Testing GUT (Godot Unit Testing) v9.6.0
Documentation arc42
CI/CD GitHub Actions

License

This is a fan project for personal/educational use. Star Wars and Armada are trademarks of Lucasfilm Ltd. and Fantasy Flight Games respectively.

About

No description, website, or topics provided.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages