Quick-Play Tactical Missions

Created: 2025-02-08 04:17:40 | Last updated: 2025-02-08 04:17:40 | Status: Public

Mission Type 1: Capture the Flag (5-8 minutes)

{
    "mission_type": "capture_flag",
    "board_width": 6,
    "board_height": 6,
    "turn_limit": 10,
    "victory_conditions": ["flag_captured", "enemy_eliminated"],
    "special_rules": {
        "flag_carrier_speed": -1,
        "flag_pickup_ap": 1,
        "flag_position": {"x": 3, "y": 3}
    },
    "player1_units": {
        "soldier": 2,
        "tank": 1
    },
    "player2_units": {
        "soldier": 2,
        "tank": 1
    }
}
  • Flag placed in center
  • Units must spend 1 AP to pick up flag
  • Flag carrier moves slower
  • Win by returning flag to starting edge or eliminating enemy
  • Smaller map forces engagement

Mission Type 2: King of the Hill (5-7 minutes)

{
    "mission_type": "king_hill",
    "board_width": 7,
    "board_height": 7,
    "turn_limit": 8,
    "victory_conditions": ["points_threshold"],
    "special_rules": {
        "hill_position": {"x": 3, "y": 3},
        "points_per_turn": 2,
        "points_to_win": 6,
        "hill_defense_bonus": 1
    }
}
  • Central hill grants points each turn
  • Multiple units can contribute points
  • Quick matches through point accumulation
  • Defensive bonus on hill creates tactical choices

Mission Type 3: Supply Run (7-10 minutes)

{
    "mission_type": "supply_run",
    "board_width": 8,
    "board_height": 6,
    "turn_limit": 12,
    "victory_conditions": ["supplies_collected", "enemy_eliminated"],
    "special_rules": {
        "supply_points": [
            {"x": 2, "y": 2},
            {"x": 5, "y": 2},
            {"x": 3, "y": 4}
        ],
        "supplies_to_win": 2,
        "pickup_ap_cost": 1
    }
}
  • Collect supplies from specific points
  • Each supply pickup costs 1 AP
  • Win by collecting majority or elimination
  • Supplies placed to force movement

Mission Type 4: Breakthrough (5-8 minutes)

{
    "mission_type": "breakthrough",
    "board_width": 8,
    "board_height": 5,
    "turn_limit": 10,
    "victory_conditions": ["units_escaped", "enemy_eliminated"],
    "special_rules": {
        "escape_edge": "right",
        "units_needed": 2,
        "escape_ap_cost": 1
    }
}
  • Get specific number of units to opposite edge
  • Narrow map creates chokepoints
  • Quick games through focused objective
  • Alternative win through elimination

Mission Type 5: Sabotage (7-10 minutes)

{
    "mission_type": "sabotage",
    "board_width": 7,
    "board_height": 7,
    "turn_limit": 12,
    "victory_conditions": ["targets_destroyed"],
    "special_rules": {
        "target_positions": [
            {"x": 5, "y": 1},
            {"x": 5, "y": 5}
        ],
        "target_health": 2,
        "destroy_ap_cost": 2
    }
}
  • Destroy specific objectives on map
  • Objectives require multiple hits
  • Defender must split forces
  • Attack focused gameplay

Required Implementation Changes

1. New Victory Condition System

class_name VictoryCondition
extends Resource

var type: String
var parameters: Dictionary

func check_condition(game_state: GameState) -> bool:
    match type:
        "flag_captured": return _check_flag_capture(game_state)
        "points_threshold": return _check_points(game_state)
        "supplies_collected": return _check_supplies(game_state)
        "units_escaped": return _check_escape(game_state)
        "targets_destroyed": return _check_targets(game_state)
    return false

2. Mission Configuration Loader

class_name MissionConfig
extends Resource

var mission_type: String
var special_rules: Dictionary
var victory_conditions: Array

func load_mission(mission_id: String) -> Dictionary:
    var mission_data = _load_mission_file(mission_id)
    return _process_mission_config(mission_data)

3. Special Rules Handler

class_name SpecialRulesHandler
extends Node

func apply_mission_rules(game_state: GameState, rules: Dictionary) -> void:
    for rule in rules:
        match rule:
            "flag_carrier_speed": _apply_flag_carrier_effect(game_state, rules[rule])
            "hill_defense_bonus": _apply_hill_bonus(game_state, rules[rule])

Mission Design Guidelines

  1. Time Management
    - 10-12 turns maximum
    - Clear objectives visible from start
    - Multiple paths to victory

  2. Map Considerations
    - Smaller maps (6x6 to 8x8)
    - Focused objective placement
    - Meaningful terrain placement

  3. Unit Balance
    - Reduced unit counts (3-4 per side)
    - Specialized unit roles
    - Clear counter-relationships

  4. Engagement Forcing
    - Centralized objectives
    - Time pressure through turn limits
    - Point accumulation mechanics