# Psaní scénářů

Scénář je popisem jednoho experimentu. Určuje, o jaký typ experimentu se jedná, v jakém prostředí se bude odehrávat a jaká bude posloupnost jednotlivých fází experimentu. Určuje, s jakými objekty se bude manipulovat a jaké jsou jejich pozice. Ve scénáři jsou objekty i pozice v prostředí abstrahovány - k jejich definici se používají odkazy do skriptů určujících konkrétní parametry scény a objektů. Soubory s popisem scénářů se nalézají ve složkách scripts/epizodic_memory a scripts/cues.

Každý scénář je obsažen v tagu script. Jeho atributy jsou name určující jméno scénáře, scene obsahující odkaz na použitou scénu definovanou jedním ze souborů ve složce scripts/scenes a type, určující, zda se jedná o test epizodické paměti (memory), nebo vizuálních vodítek (cues). Implicitně je použita hodnota memory.

Dalším tagem je description obsahující popis scénáře, který se zobrazuje uživateli při výběru scénáře v úvodním okně aplikace. V tomto tagu jsou vnořeny tagy popisující název a popis scénáře ve všech jazykových mutacích a jména autorů scénáře.

Následuje popis objektů v tagu objects s jediným atributem source, který odkazuje na popis objektů v jednom ze souborů ve složce scripts/objects. Definice objektů se mírně liší podle typu scénáře:

- Epizodická paměť - Pořadí tagů object definuje, v jakém pořadí se budou jednotlivé objekty objevovat ve fázi MOVE. Základní atributy definující objekt jsou:
  - sourceName - definuje, který objekt v definičním souboru se má použít (hodnota se musí shodovat s názvem tagu definujícím objekt, viz objekty)
  - name - jméno pod kterým bude objekt veden
  - location - místo na kterém se ve fázi MOVE objekt objeví
- Vodítka - Pořadí tagů nehraje roli. Tagy sourceName a name mají stejný význam jako u epizodické paměti. Místo atributu location je umístění objektu definováno několika vnořenými tagy location jejichž atribut name určuje jméno místa. Pořadí tagů location určuje kterými místy (definovanými ve scéně) bude objekt postupně prolétat. Novým atributem je atribut speed, který určuje, jakou rychlostí se objekt bude pohybovat. Rozumné hodnoty jsou mezi 0.25 a 5.

Mimo výše uvedených atributů je možné ve scénáři předefinovat atributy použité při definici objektů.

Posledním prvkem scénáře je definice časové osy v tagu timeline. Pořadí tagů phase určuje posloupnost jednotlivých fází experimentu. Typ fáze (a tím i relevantní atributy) je určen atributem type. Dalším atributem společným všem typům fází je gui určující soubor s popisem uživatelského rozhraní ve složce scripts/GUI. Mimo to několik typů fází sdílí atributy playerLocation a playerFacing, určující na jakém místě se uživatel objeví a jakým směrem se bude dívat (zadávají se jména míst jak jsou definována v definici scény). Některé typy fází lze použít jen v některém z typů experimentu, jiné jsou shodné pro oba typy. Jednotlivé typy fází jsou následující:

- INTRO - Zobrazí okno s textem definovaným (ve všech jazykových mutacích) ve vnořeném tagu text.
- MOVE (epizodická paměť) - Fáze ve které se objekty přesouvají z podstavců na stůl. Specifickým atributem je table, který určuje, zda objekty po umístění na stůl zůstanou (true), nebo zmizí (false).
- BREAK (epizodická paměť) - Fáze představující pauzu mezi zapamatováním a vybavením. Specifickým atributem je time, který určuje, jak bude pauza dlouhá (v sekundách) .
- FREE_RECALL_ORDER, FREE_RECALL_POSITIONS, RECALL_WITH_HINT (epizodická paměť) - Volné vybavení pořadí, Volné vybavení umístění a Vybavení s nápovědou nemají žádné specifické atributy.
- RECOGNITION_OF_POSITIONS, RECOGNITION_OF_ORDER (epizodická paměť) - Rozpoznání umístění a Rozpoznání pořadí mají specifický atribut configurations, který nastavuje z kolika konfigurací bude uživatel vybírat.
- COLLISIONS (Vodítka) - Sledování kolizí má celou řadu specifických atributů:
  - playerMovement - Určuje zda může uživatel dělat úkroky do stran (true) nebo ne (false).
  - maxTime - Časový limit, -1 značí žádný časový limit (implicitní hodnota)
  - maxCollisions - Limit na počet kolizí, implicitně 10.
  - Počáteční nastavení vodítek je dáno atributy cueInterposition, cueProjection a cueShading, kde hodnota true znamená, že vodítko je zapnuté a false vypnuté. Implicitní hodnota je true.
- RESULTS - Zobrazí výsledky experimentu.