Przejdź do treści

Tryb kampanii

Tryb kampanii oferuje wielopoziomowe scenariusze, każdy z określonymi warunkami zwycięstwa i tłem fabularnym.


Wbudowane kampanie

Gra zawiera wbudowaną Kampanię samouczka (5 poziomów), która prowadzi nowych graczy przez różne mechaniki gry.


Warunki zwycięstwa

Każdy poziom kampanii może mieć jeden z następujących warunków zwycięstwa:

Warunek Opis
Tryb swobodny Brak określonego warunku zwycięstwa; graj dowolnie
Zniszcz wszystkie twierdze Wyeliminuj wszystkie twierdze wrogów na mapie
Przetrwaj określony czas Utrzymaj Zamek przy życiu przez określoną liczbę taktów
Zgromadź złoto Osiągnij docelową ilość złota w skarbcu
Zniszcz konkretną twierdzę Zniszcz konkretny typ twierdzy wrogów
Broń Zamku Nie dopuść do zniszczenia Zamku w określonym czasie
Zbierz wszystkie skrzynie Otwórz każdą skrzynię ze skarbami na mapie

Struktura kampanii

Kampanie są przechowywane jako foldery w katalogu campaigns/:

campaigns/
└── tutorial/
    ├── campaign.json     # Metadane kampanii i lista poziomów
    ├── level1.json       # Mapa poziomu 1
    ├── level2.json       # Mapa poziomu 2
    └── ...

Format campaign.json

{
  "name": "Tutorial Campaign",
  "description": "Learn the basic game mechanics",
  "levels": [
    {
      "map": "level1.json",
      "title": "A New Beginning",
      "intro": "Welcome to Wayward Crown...",
      "outro": "Congratulations on clearing this level!",
      "starting_gold": 500,
      "victory": "destroy_enemy_buildings",
      "victory_value": 0
    }
  ]
}

Ustawienia poziomu

Pole Opis
map Ścieżka pliku mapy (względna wobec folderu kampanii)
title Tytuł poziomu
intro Tekst wprowadzający
outro Tekst po ukończeniu
starting_gold Złoto początkowe
victory Typ warunku zwycięstwa
victory_value Wartość warunku zwycięstwa (np. liczba taktów przetrwania, docelowa ilość złota itp.)
unlocked_buildings Biała lista dostępnych budynków (ogranicza opcje budowania gracza)

Obsługa lokalizacji

Teksty kampanii mogą używać znaczników i18n:KEY, które automatycznie wyświetlą odpowiednie tłumaczenie na podstawie języka gracza.