Wingspan

Hard Algorithms: Bayesian Inference, Hidden Information Handling, Deck Management

Wingspan

Hard Algorithms: Bayesian Inference, Hidden Information Handling, Deck Management

Overview

Wingspan is a card-driven bird-collecting game where players don’t see opponents’ hands or the deck order. Players must reason about probabilities and manage their own engine of bird-powered abilities.

Game Concepts

  • Visible Information: Current board state, discard pile, revealed cards
  • Hidden Information: Other players’ hands, deck order, face-down cards
  • Deterministic Elements: Bird abilities, habitat effects
  • Probabilistic Elements: Deck draws, egg distributions

Probabilistic Reasoning

Without perfect information, AI agents use Bayesian inference to estimate:

P(opponent has card X | observed events) = 
  P(observed | card X) * P(card X) / P(observed)

This allows the AI to:

  1. Estimate deck composition over time
  2. Infer opponent strategies from their plays
  3. Account for uncertainty in decision-making

Hidden State Approximation

Two approaches to handle incomplete information:

Perfect Information Assumption (Weaker)

Assume uniform probability for all unknown cards—simpler but less accurate.

Belief State Tracking (Stronger)

  • Maintain probability distribution over possible game states
  • Update beliefs when opponents reveal cards
  • Use Monte Carlo to sample possible continuations

Deck Management

A critical skill is optimizing your own “engine”:

  • Card Synergies: Birds that activate other birds’ powers
  • Resource Economy: Managing food, eggs, and card draws
  • Timing: When to play high-value birds vs building synergies

Interactive Demo

Play Wingspan against the AI:

Wingspan Game

Play birds to three habitats (grassland, forest, wetland) and score victory points.

Implementation Strategies

Information Set Reconstruction

After each move, update what we know about:

  • Cards that left the deck
  • Opponent’s likely hand composition
  • Probability distributions over unknown states

Adversarial Reasoning

Model opponents as rational agents to predict their likely moves:

  • What would they prioritize given their board state?
  • Which cards are they likely to hold?

Utility-Based Selection

Evaluate moves by expected value:

expectedValue(move) = 
  Σ P(state | observations) * utility(move, state)
  for all possible hidden states

Algorithm Comparison

Aspect Perfect Info Games Hidden Info Games
Minimax Exact values Approximations only
Info Bound All states known States estimated
Best Move Deterministic Distribution-based
Time Offline optimal play Online decision-making

Code on GitHub

See the Wingspan AI implementation with belief state tracking and deck inference.

Next Steps

Learn about multi-objective optimization in Dune Imperium, where multiple scoring paths create complex strategic tradeoffs.