[Caveut] Fwd: Re: Experiment - otaceni, nastavovani, pipani

Michal Bída michal.bida at gmail.com
Sat Nov 8 13:33:58 CET 2008


Dalsi verze experimentu.
http://artemis.ms.mff.cuni.cz/pogamut_files/Experiment20081108.zip

Zaclenil jsem tam ovladani pomoci klaves 1, 2 a 3 (klavesa HOME je
identicka s klavesou 3).

Pridal jsem do logu informaci, kdy experiment poprve zapipal (do
PlayerPath retezec "First Beep! Time: 2008/11/8 12:41:16:562").

Do ini souboru jsem pridal pole GoalBeforeStart[], GoalAfterEnd[] a
ExperimentBeeping[] - slouzi k nastaveni experimentu.
Opet je nutne, aby tato pole mela v ini vsech 64 poli (byt nulovych),
jinak UT ini souboru doplni o chybejici pole a vymaze vsechny
komentare (hodnoty promennych ale necha).

Dal nasleduje presny popis novych zmen + popis logovaciho souboru,
vsechny informace jsou zaroven v readme.txt.

Presny popis ovladani experimentus novymi klavesami:
====================================================
Po pripojeni do hry tlacitkem HOME, 1, 2 nebo 3 zahajite experiment.
Zobrazi se hlaska Experiment Initiating. Objevi se cerveny bod, ktery
oznacuje pozici startu. Hrac je vyzvan, at k nemu dojde a potvrdi
tlacitkem 1. Po stisknuti start zmizi a objevi se znacka a cil. Hrac
si prohledne pozici cile a znacky a pro zahajeni experimentu stiskne
opet klavesu 1. Experiment je zahajen. Kdyz si hrac mysli ze dosahl
mista cile stiskne klavesu 2. Experiment je ukoncen, vse je zapsano do
log souboru. Pro dalsi kolo experimentu je nutne stiskout klavesu 3
nebo HOME.
Experimenty jsou cislovany od 0, tzn. 1. experiment ma index 0.

Popis novych promennych v ini souboru:
======================================
V promennych GoalBeforeStart[i], GoalAfterEnd[i] a
ExperimentBeeping[i] se konfiguruji jednotlive experimenty.
GoalBeforeStart[3]=1, GoalAfterEnd[3]=0 a ExperimentBeeping[3]=1
znamena ze pro experiment 3 se zobrazi cil pred zahajenim experimentu,
nezobrazi se po ukonceni experimentu a pipani bude v experimentu
zapnuto.

bRandomize=True negeneruje hodnoty pro promenne GoalBeforeStart,
GoalAfterEnd a ExperimentBeeping. Ty je nutne nastavit v ini v kazdem
pripade rucne.

LOG SOUBOR EXPERIMENTU
======================
Logy naleznete v adresari ...\Unreal Anthology\UT2004\UserLogs\
Experimenty jsou cislovany od 0, tzn. 1. experiment ma index 0.
Pojmenovani souboru je v nasledujicim formatu.:

Prvni je zobrazen cas kdy byl experiment zahajen, pote cislo
experimentu. Dale se pridavaji retezce "_SGBef" pokud byl cil zobrazen
pred zahajenim experimentu, "_SGAft", pokud byl cil zobrazen po
ukonceni experimentu a "_beep" pokud bylo aktivovano pipani.
Priklad: 2008-11-8_12-42-36-Experiment_4_SGBef_SGAft_beep.log

Jednotlive polozky v log souboru:
Start: - cas kdy byl experiment zahajen - to znamena cas, kdy hrac
potvrdil klavesou 1 zajeni experimentu (pote co predtim potvrdil
klavesou 1, ze dosel k cervenemu bodu pred zahajenim exprimentu). Od
teto chvile je zapisovan hracuv pohyb v PlayerPath.

End: - cas kdy byl experiment ukoncen - to znamena cas, kdy testovany
subjekt stiskl klavesu 2, protoze se domnival ze dorazil na misto
cile, pripadne nechtel pokracovat dal.

ShowGoalBeforeStart: - jestli byl pro tento experiment zobrazen cil
pred zahajenim experimentu.

ShowGoalAfterEnd: - jestli byl pro tento experiment zobrazen cil po
ukonceni experimentu (po stisknuti klavesy 2).

Beeping: - jestli bylo pro tento experiment povoleno pipani.

PlayerEndPosition: - pozice testovaneho subjektu ve chvili ukonceni
experimentu (ve chvili stisknuti klavesy 2).

GoalPosition: - pozice cile pro tento experiment.

MarkPosition: - pozice znacky pro tento experiment.

StartPosition: - pozice startovniho bodu pro tento experiment.

PlayerPath: - Kazdych 100 ms je zde ulozen radek, obsahujici pozici
subjektu v prislusnem case. Pokud je v experimentu zapnuto pipani, je
zde ve chvili prvniho pipnuti ulozen radek "First Beep! Time:
2008/11/8 12:41:16:562", kde v Time je cas prvniho pipnuti. Pro
kontrolu: Cas prvniho pipnuti nastane ve chvili kdy je rozdil x a y
slozek vektoru v PlayerPath a vektoru GoalPosition mensi nez hodnota v
promenne approachThreshold. Pipani pokracuje dokud je tato podminka
splnena.

Michal

PS. Bohuzel v ini souboru zadne konstrukce if, then, for cyklus
nefunguji. Ani zadne pomocne promenne. Je to jen textovy konfiguracni
soubor.

Kamil Vlcek napsal(a):
> Michale,
> zas az tak to nepospicha. Nas experiment jde opravdu udelat i se soucasnym ini souborem, proste budem pouzivat ty klavesove zkratky pro zapnuti/vypnuti pipani aj.
>
> Co se vsechno uklada do tracku? Jen cast od startu k cili? Cili rozdil casu ExperimentStart: 2008/11/4 15:3:0:787
> ExperimentEnd: 2008/11/4 15:5:31:523 je cas hledani cile? A co kdyz cil pipa? Potrebujeme vedet cas, kdyz se poprve ozvalo zapipani (a treba track zobrazovat jen do tohoto casu a uslou vzdalenost take jen do toho casu). Takze nejjednodussi mozna bude ukoncit log pri prvnim zapipani, nebo vypsat cas zapipani? Jde to udelat treba behem zitrka? Chceme totiz bud na konci tydne, nebo v pondeli namerit nejake lidi a ve ctvrtek je prezentovat na konferenci.
>
> Vyhledove by bylo asi uzitecne predelat klavesu HOME na treba ty klavesy 1, 2, 3 a 4, cim se zabrani nechtenemu opakovanemu stlaceni. Kdyz bude fungovat vzdy pouze jedna klavesa, ktera je na rade, bude mnohem vetsi prehled o prubehu experimentu i kdyz se nebude zobrazovat text na obrazovce.
>
> Taky jsem se chtel zeptat, jestli ten ini soubor je v unreal skriptu, cili jestli je mozne v nem pouzivat for cyklus, if a treba nejake dalsi promenne .. ? :-)
>
> Dik
> Kamil & Iveta
>
>
> On Mon, 03 Nov 2008 22:20:33 +0100, Michal Bída <michal.bida at gmail.com> wrote:
>
>> Aha, uz to chapu. Ok, vsechno tohle pujde. Az na to ze v tom ini bude
>> porad tech 64 poli.. :-/ on si je tam unreal sam automaticky prida -
>> proste to doplni do maximalni velikosti pole, s tim nic neudelam.
>> Identifikator tam taky neni problem pridat.
>>
>> Nevim moc kdy to bude tahle nova verze, pisem zadost o grant. :-/ :-)
>> ... Kdybyste potrebovali neco ASAP, tak uz se snad da nejak pouzit ta
>> momentalni (s tim ze se da vsechno prepinat pro kazdy experiment za hry).
>>
>> Dokdy potrebujete tu novou verzi?
>>
>> Michal
>>
>> Kamil Vlcek napsal(a):
>>> Michale,
>>>
>>> aha, podival jsem se do ini souboru. Ale my to potrebujem pro kazdy krok definovat zvlast - cili krome poli MarkPositions, StartDotPositions a GoalPositions my mela byt dalsi tri pole, ktera budou urcovat ukazovani pred, ukazovani po a pipani. Uz kdysi davno jsem navrhovany format toho ini souboru poslal, nebo ne?
>>>
>>> Nemusis ani do toho ini souboru vypisovat vsech 64 hodnot, staci 8 a moznost jich mit vic :-)
>>>
>>> Dik
>>> k
>>> P.S. Tim padem to pojmenovani souboru ShowGBefore aj. ztraci smysl ... Co by se hodilo v pro identifikaci vysledku by spis bylo mit nejaky reteze v ini souboru, ktery by se pak psal do vysledku. Treba
>>> ExpName: CAVE UT - Allo - Ego
>>> A pak by se asi nejlepe nekde v hlavicce vysledkoveho souboru napsalo to same: "ExpName: CAVE UT - Allo - Ego"
>>> Tim by jsme mohli odlisit, ktery ini soubor jsme pouzili.
>>>
>>>
>>>
>>> Dne Mon, 03 Nov 2008 17:34:44 +0100 Michal Bída <michal.bida at gmail.com> napsal/-a:
>>>
>>>> Ahoj,
>>>>
>>>> do ini uz jsem to pridal, viz. ten predchozi email
>>>>
>>>>  >> V ini pribyli 2 promenne bShowGoalBeforeStart a bShowGoalAfterEnd,
>>>>  >> slouzi k nastaveni kdy se ma cil zobrazovat.
>>>>  >> Na nastaveni pipani pouzit bBeeping, taky v ini.
>>>>  >> Vsechno se to da menit i za behu pomoci klavesovych zkratek. Info je
>>>>  >> zase zobrazeno textem na obrazovce.
>>>>
>>>> Ted je to teda tak, ze pokud v ini nastavis bShowGoalBeforeStart=True
>>>> znamena to, ze u vsech zadanych experimentu v tomto ini se cil zobrazi
>>>> pred experimentem (obdobne pro bShowGoalAfterEnd - po experimentu a
>>>> bBeeping - kdyz bude hrac blizko u cile bude to pipat, nastaveni
>>>> vzdalenosti v approachThreshold). Je to okomentovano taky v ini,
>>>> promenne jsou v casti [AVCR.AVCR_Experiment].
>>>>
>>>> Navic pro kazdy experiment se do jeho logu ulozi informace o tom s jakym
>>>> nastavenim byl proveden. Tzn. v logu pribyla 3 pole:
>>>>
>>>> ExperimentShowGoalBeforeStart: True/False
>>>> ExperimentShowGoalAfterEnd: True/False
>>>> ExperimentBeeping: True/False
>>>>
>>>> pro lepsi prehlednost se take ve jmenu souboru pro experiment pridaji
>>>> nasledujici retezce za splnenych prislusnych podminek
>>>>
>>>> if (bShowGoalBeforeStart)
>>>> 	FileName = FileName $ "_ShowGBefore";
>>>> if (bShowGoalAfterEnd)
>>>> 	FileName = FileName $ "_ShowGAfter";
>>>> if (bBeeping)
>>>> 	FileName = FileName $ "_beep";
>>>>
>>>> Michal
>>>>
>>>> Kamil Vlcek napsal(a):
>>>>> Ahoj Michale,
>>>>>
>>>>> diky za zahrnuti vsech zmen. Proc ale to zobrazovani cile pred a po, a pipani a rychlost hrace nejde dat do ini souboru? Takhle, aby jsme nezapomneli u kazdeho cloveka v prislusny okamzik zmacnout prislusnou klavesu a jeste si napsat, ze jsme zmackli. Kdyby to bylo v ini souboru, bylo by to jasne, stacilo by si jen napsat, ktery ini soubor jsme pouzili (chtel bych to pouzivat tak, ze budeme mit v zasobe ruzne ini soubory, a vzdy nekterym prepiseme ten pouzivany AVCR.ini).
>>>>>
>>>>> Kamil
>>>>>
>>>>>
>>>>> Dne Fri, 31 Oct 2008 18:41:13 +0100 Michal Bída <michal.bida at gmail.com> napsal/-a:
>>>>>
>>>>>> Ahojte,
>>>>>> tak nova verze experimentu zde:
>>>>>> http://artemis.ms.mff.cuni.cz/pogamut_files/Experiment20081031.zip
>>>>>>
>>>>>> Pocet experimentu zvysen na 64. Informace v readme.txt a i v samotnem
>>>>>> ini. Je tam dost zmen, hlavne co se tyce klavesovych zkratek na
>>>>>> ovladani. Klavesa home zustala zachovana. Vyhodil jsem ty casti s
>>>>>> prepinanim cile mezi 15 a 130 stupnema od znacky, protoze ted uz je to
>>>>>> stejne nanic, kdyz se to nastavuje rucne v ini.
>>>>>> V ini pribyli 2 promenne bShowGoalBeforeStart a bShowGoalAfterEnd,
>>>>>> slouzi k nastaveni kdy se ma cil zobrazovat.
>>>>>> Na nastaveni pipani pouzit bBeeping, taky v ini.
>>>>>> Vsechno se to da menit i za behu pomoci klavesovych zkratek. Info je
>>>>>> zase zobrazeno textem na obrazovce.
>>>>>>
>>>>>> Nova verze tracker mutatoru zde:
>>>>>> http://artemis.ms.mff.cuni.cz/pogamut_files/Track20081031.zip
>>>>>>
>>>>>> Lze tam menit rychlost hrace. Jeho velikost jeste ne. Nejak to nefunguje.
>>>>>>
>>>>>> Michal
>>>>>>
>>>>>>
>>>>>> Kamil Vlcek napsal(a):
>>>>>>> Michale cau,
>>>>>>> ted jsme s Ivetou ten unreal i s tvym mutatorem konecne spustili. Zjistili jsme jeste jednu vec k oprave - pipani se ma opakovat do te doby, nez se zmackne HOME nebo dokud clovek neopusti pozici cile. Cili porad   beep -  beep - beep ... rychle za sebou. A jestli se po tom HOME zobrazi cil nebo ne by zalezelo na nastaveni v tom ini souboru, jak jsme psali minule.
>>>>>>>
>>>>>>> A jeste drobnost, jestli nejde urcovat dynamicky podle ini souboru pocet pozici cile, tak jich mozna udelej i vic, treba 50. At mame volnost v designu experimentu :-)
>>>>>>>
>>>>>>> Urceni rychlosti pohybu muzes zakomponovat do ini souboru? To by se nam zvlast hodilo v tom tracker mutatoru, protoze potrebujeme aby lidi chodili tak pomalu, ze se budou nudit a budou nam rikat co jim bezi hlavou ... Ale tracker mutator nema zadny ini soubor,ze ne?
>>>>>>>
>>>>>>> Ted jeste resime se zbynkem zakazani litani a velikost postavy - zbynek nejak nevi co s tim - da se to resit pomoci tveho mutatoru? - ted myslim spis tracker mutator.
>>>>>>>
>>>>>>>
>>>>>>> Diky a mej se
>>>>>>> Kamil & Iveta
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ------- Forwarded message -------
>>>>>>> From: "Kamil Vlcek" <kamil at biomed.cas.cz>
>>>>>>> To: "Michal Bída" <michal.bida at gmail.com>, "Cyril Brom" <brom at ksvi.mff.cuni.cz>, iveta <i.slunicko at gmail.com>
>>>>>>> Subject: Re: Experiment - otaceni, nastavovani, pipani
>>>>>>> Date: Wed, 29 Oct 2008 16:14:03 +0100
>>>>>>>
>>>>>>> Ahoj Michale,
>>>>>>>
>>>>>>> diky moc. Bohuzel to ted nemame kde vyzkouset, Unreal nejak odmita fungovat, tak budu odpovidat jen na zaklade tveho mailu. Probirali jsme to s Ivetou a jestli to neni tezke, potrebovali by jsme dodelat nekolik veci (nevim jestli uz byly zminene v tom co ti posilala posilala Iveta jako zadani).
>>>>>>>
>>>>>>> 1. U kazde pozice znacky a startu, by jsme potrebovali urcite take pozici cile (1-8, nebo jeste lepe ve stupnich s tim, ze znacna (a start) 1 odpovidat uhlu 0 stupnu - tahle to je delane v realne verzi areny). V ruznych verzich experimentu potrebujeme cil v ruznem vztahu ke znacce.
>>>>>>>
>>>>>>> 2. U kazce pozice znacky, startu a cile take urcit, jestli se ma pred zacatkem ukazovat cil (cili jak jsme to delali v CAVE), jestli se ma ukazovat po oznaceni domnele pozice cile (to jsme take delali v CAVE), a jestli se ma ozvat piskani pri vstupu blizko cile (misto te klavesy Insert, jak jsi to udelal). Kdyz budeme mit vice ini souboru, nektere s piskanim a nektere bez piskani a s ukazovani cile na podlaze, bude to mnohem prehlednejsi nez si nekam psat, jestli jsme mackali inzert nebo ne.
>>>>>>>
>>>>>>> 3. Potrebovali bychom vice techto pozici znacky startu a cile nez 8. Slo by to urcovat dynamicky, treba tou promennou ExperimentMaxCount? takze ne ze by se pak pozice opakovaly, ale ze by to urcovalo velikost poli MarkPositions, StartDotPositions a GoalPositions (navrh jmena) ? Urcite by jsme chteli alespon 10 pozic, ale myslime, ze se nam budet hodit i vic. V realne arene mame treba 32 pozic.
>>>>>>>
>>>>>>> 4. Bylo by tak uzitecne, kdyby hodnota -1 v poli MarkPositions znamenala, ze se znacka nebude zobrazovat (takze se cil hleda podle startu).
>>>>>>>
>>>>>>> Ty ostatni moznosti, jako zvolit znacku a velikost cile (piskani), jsou super.
>>>>>>>
>>>>>>> Pujde to udelat?
>>>>>>> Diky a mej se
>>>>>>> Kamil
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Sat, 18 Oct 2008 12:52:43 +0200, Michal Bída <michal.bida at gmail.com> wrote:
>>>>>>>
>>>>>>>> Posilal jsem to do cave ut, ale asi uz to nefunguje.. Tak to raci
>>>>>>>> posilam jeste vsem primo:
>>>>>>>>
>>>>>>>>
>>>>>>>> Tak jsem dodelal tu verzi experimentu, kde je vsechno nastaveni
>>>>>>>> exportovano v INI souboru (UT2004/system/AVCR.ini). Stahujte zde:
>>>>>>>>
>>>>>>>> http://artemis.ms.mff.cuni.cz/pogamut_files/Experiment.zip
>>>>>>>>
>>>>>>>> Lze tam menit pozici cile i znacek (po zmene je nutne restartovat Unreal).
>>>>>>>>
>>>>>>>> Funguje to tak, ze v poli MarkLocList[i] je pozice 8 znacek v arene,
>>>>>>>> rozmistenych okolo v urcitych pravidelnych rozestupech a v
>>>>>>>> CircleLocList[i] je vzdy pozice cile, ktery by mel byt zhruba tech 15
>>>>>>>> stupnu od znacke MarkLocList[i].
>>>>>>>> V pripade, ze je v experimentu nastaveno zobrazovani cile 130 stupnu od
>>>>>>>> znacky, tak se pouzije ke znacce MarkLocList[i] cil CircleLocList[i+2] -
>>>>>>>> proste cil pro znacku o 2 pozice dal.
>>>>>>>> Pozici znacek bych moc nemenil - je tam problem, ze krome pozice se tam
>>>>>>>> musi nastavit i spravna rotace. Oboje je ted odhadnute, aby to vypadalo
>>>>>>>> hezky. Pozici cilu neni problem menit jak je zapotrebi. Neni to ted
>>>>>>>> spocitano uplne presne, takze je mozne ze sou tam nejake drobne odchylky
>>>>>>>> (cil treba neni 15 stupnu od znacky ale treba 18).
>>>>>>>>
>>>>>>>> Dal je mozne nastavit posloupnost pozic znacek a startovnich cervenych
>>>>>>>> bodu (MarkPositions[i] a StartDotPositions[i]). To v podstate definuje
>>>>>>>> jednotlive experimenty. MarkPositions[0]=5 a StartDotPositions[0]=3
>>>>>>>> znamena, ze pro experiment 1 bude znacka na pozici 5
>>>>>>>> (MarkLocPositions[5]) a startovni cerveny bod na pozici 3
>>>>>>>> (MarkLocPositions[3]). Cil se pouzije vzdy v zavislosti na zvolene
>>>>>>>> znacce, jestli je zvolena 5 pozice znacky, pouzije se 5 pozice cile
>>>>>>>> (CircleLocList[5]).
>>>>>>>> Lze nastavit aby se to generovalo nahodne (bRandomize). Nahodne se to
>>>>>>>> nageneruje vzdy pri spusteni experimentu, pak dokud se nevypne mapa s
>>>>>>>> experimentem zustane to stejne. Pozice znacek i startovnich bodu se
>>>>>>>> mohou opakovat. Pozice znacky se vzdy bude lisit od pozice startovniho bodu.
>>>>>>>>
>>>>>>>> Kdykoli behem jakehokoli experimentu jde zapnout/vypnout to pipani co
>>>>>>>> navrhovala Iva (klavesa INSERT). Pokud je zaple znamena to ze kdyz se
>>>>>>>> uzivatel priblizi do ucrite vzdalenosti od cile ozve se zvuk a
>>>>>>>> experiment sam skonci. Pokud uzivatel nebude moct dlouho najit cil, tak
>>>>>>>> muze porad ukoncit kolo experimentu klavesou HOME. Vzdalenost kdy se
>>>>>>>> aktivuje pipnuti se nastavuje v approachThreshold promene. Experimenty
>>>>>>>> se zapnutym pipanim budou mit za jmeno souboru pripojeno "_Beep".
>>>>>>>>
>>>>>>>> Je mozne nastavit i vyssi pocet experimentu (ExperimentMaxCount), v tom
>>>>>>>> pripade se budou opakovat experimenty od zacatku. Tzn. kdyz bude
>>>>>>>> ExperimentMaxCount 9, znamena to ze 9 experiment bude mit stejne
>>>>>>>> nastaveni jako 1 experiment.
>>>>>>>>
>>>>>>>> Dal nize v AVCR.AVCRxPlayer jde nastavit bSeparateTurning - znamena to
>>>>>>>> ze pohled hrace a smer kterym se pohybuje se bude ovladat zvlast (je
>>>>>>>> nutne nastavit nejake klavesy v UT na TurnLeft a TurnRight akce).
>>>>>>>> V AVCR.AVCRxPawn je pak vhodne nastavit bShowDirection na true, coz
>>>>>>>> zajisti ze se bude zobrazovat zelenym paprskem smer, kterym se hrac
>>>>>>>> aktualne pohybuje. Zaroven tam jde menit rychlost pohybu (GroundSpeed).
>>>>>>>>
>>>>>>>> Momentalne je mozne zvolit si znacku ktera se bude pouzivat. Slouzi pro
>>>>>>>> to ChoosedMark. Lze nastavit hodnoty od 0 do 5. 0 je zakladni zelena
>>>>>>>> znacka, 1 je zelena znacka "rovna se", 2 je zelena znacka 3 carky. 3 je
>>>>>>>> zakladni cervena znacka, 4 je cervena znacka rovna se a 5 je cervena
>>>>>>>> znacka 3 carky.
>>>>>>>>
>>>>>>>> To je snad vsechno. Stejne info obsahuje i readme.txt. Komentare jsou i
>>>>>>>> v samotnem ini souboru.
>>>>>>>>
>>>>>>>> Zatim!
>>>>>>>> Michal
>>>>>>>>
>>>>>>>> PS. Dotazy/chyby na me.
>>>>>>>>
>>>>>> _______________________________________________
>>>>>> Caveut mailing list
>>>>>> Caveut at artemis.ms.mff.cuni.cz
>>>>>> https://artemis.ms.mff.cuni.cz/mailman/listinfo/caveut
>>>>>>
>>>>>
>>>
>>>
>
>
>



More information about the Caveut mailing list