# Scenario Flow - poradnik nietechniczny Ten poradnik jest bez polskich znakow, zeby dobrze wyswietlal sie w prostych viewerach. ## Po co sa etapy Etapy pomagaja ulozyc scenariusz jak historie, a nie jak losowa liste eventow. Przyklad: 1. Spokojny start 2. Pierwsze problemy 3. Kryzys 4. Final i debriefing Dzieki temu event z kryzysu nie musi odpalic sie za wczesnie, a zakupy awaryjne moga byc dostepne dopiero wtedy, gdy naprawde ma to sens. ## Jak budowac scenariusz z etapami Najlepsza kolejnosc: 1. Wymysl cel szkolenia. 2. Wypisz 4-6 etapow gry. 3. Do kazdego etapu dopisz, co gracz ma zrozumiec. 4. Dopiero potem dodawaj eventy. 5. Potem dodaj questy. 6. Potem dodaj zakupy i role. 7. Na koncu ustaw okna dostepnosci. 8. Uruchom Playtest QA i Scenario Timeline. Nie zaczynaj od pisania 40 eventow. Najpierw zrob dramaturgie. ## Przyklad etapow ```json "stages": [ { "id": "STAGE_01_START", "name": "Spokojny start", "startAtSeconds": 0, "goal": "Gracze poznaja firme i mape." }, { "id": "STAGE_02_FIRST_ISSUES", "name": "Pierwsze problemy", "startAtSeconds": 600, "goal": "Pojawiaja sie pierwsze sygnaly ryzyka." }, { "id": "STAGE_03_CRISIS", "name": "Kryzys", "startAtSeconds": 1800, "goal": "Gracze musza reagowac na konsekwencje wczesniejszych decyzji." } ] ``` ## Jak przypisac event do etapu W evencie dodaj: ```json "stageId": "STAGE_03_CRISIS" ``` Wtedy event odpali sie tylko wtedy, gdy scenariusz jest w tym etapie. ## Event cykliczny Event cykliczny wraca co jakis czas. Przyklad: ```json { "id": "EVT_RECURRING_CLIENT_PRESSURE", "type": "recurring", "stageId": "STAGE_03_CRISIS", "trigger": { "type": "recurring", "everyGameMinutes": 5, "maxRuns": 3 }, "title": "Klient pyta o status" } ``` Co to znaczy: - event dziala tylko w etapie kryzysu - odpala sie co 5 minut gry - odpali sie maksymalnie 3 razy Zawsze ustawiaj `maxRuns`. Inaczej event moze wracac bez konca i meczyc graczy. ## Okna dostepnosci Okno dostepnosci oznacza, ze cos jest dostepne tylko w okreslonym momencie gry. Przyklad zakupu: ```json "availability": { "fromStage": "STAGE_02_FIRST_ISSUES", "untilStage": "STAGE_03_CRISIS", "note": "Ten zakup ma sens tylko zanim kryzys wybuchnie." } ``` To znaczy: - zakup nie jest dostepny na samym starcie - zakup pojawia sie w etapie pierwszych problemow - zakup znika po etapie kryzysu ## Dobre praktyki - Etapow nie powinno byc za duzo. 4-6 wystarczy. - Eventy startowe dawaj do pierwszego etapu. - Eventy kryzysowe dawaj do etapu kryzysu. - Eventy finalne dawaj do etapu finalu. - Eventy cykliczne zawsze maja miec limit `maxRuns`. - Zakupy awaryjne powinny byc dostepne dopiero po awarii. - Zakupy prewencyjne powinny byc dostepne przed kryzysem. ## Jak testowac 1. Otworz `admin/tools/scenario-timeline.html`. 2. Wybierz scenariusz. 3. Sprawdz, czy etapy sa w dobrej kolejnosc. 4. Sprawdz, czy eventy sa przypisane do etapow. 5. Sprawdz, czy eventy cykliczne maja limit. 6. Otworz `admin/tools/playtest-qa.html`. 7. Uruchom QA. 8. Potem zrob test jako gracz. ## v1.5.1 - kontrola flow na zywo Flow nie jest juz tylko w JSON. Prowadzacy widzi go w panelu. Moze zmienic etap, zatrzymac auto-przejscia, wznowic je i sprawdzic, dlaczego event sie nie odpala. Do testow sluzy tez `/admin/tools/scenario-flow-control-room.html`.