1
+ {
2
+ description = "task-level configuration example";
3
+ frameRate = 120;
4
+ showHUD = true;
5
+ renderWeaponStatus = true;
6
+ pretrialDuration = 0;
7
+
8
+ weapon = {
9
+ id = "2hit";
10
+ firePeriod = 0.3;
11
+ damagePerSecond = 2;
12
+ autoFire = false;
13
+ };
14
+
15
+ sessions = (
16
+ {
17
+ // This session tests out different weapon cooldowns and cooldown indicators testing the memory of the participant
18
+ // for which one had which cooldown indicator
19
+ id = "1target_cd";
20
+ description = "1 target cooldown";
21
+ cooldownMode = "ring"; // Session-level config can still be used to set defaults for all tasks
22
+ cooldownColor = Color4(0.7,1.0,0.9,0.75);
23
+
24
+ tasks = [
25
+ {
26
+ id = "normal";
27
+ // The order arrays refer to the trial array IDs
28
+ // The correctAnswers must be in the question options for this task
29
+ trialOrders = [
30
+ {
31
+ order = ["ring", "box"];
32
+ correctAnswer = "box";
33
+ },
34
+ {
35
+ order = ["box", "ring"];
36
+ correctAnswer = "ring";
37
+ },
38
+ {
39
+ order = ["ring slow fire", "box slow fire"];
40
+ correctAnswer = "box";
41
+ },
42
+ {
43
+ order = ["box slow fire", "ring slow fire"];
44
+ correctAnswer = "ring";
45
+ },
46
+ ];
47
+ questions = [ {
48
+ prompt = "Which style of cooldown indicator did you see most recently?";
49
+ type = "MultipleChoice";
50
+ randomOrder = false;
51
+ options = ["ring", "box"];
52
+ } ];
53
+ count = 1;
54
+ },
55
+ {
56
+ id = "slow fire";
57
+ trialOrders = [
58
+ { order = ["ring"]; correctAnswer = "fast"; },
59
+ { order = ["ring slow fire"]; correctAnswer = "slow"; },
60
+ { order = ["box"]; correctAnswer = "fast"; },
61
+ { order = ["box slow fire"]; correctAnswer = "slow"; },
62
+ ];
63
+ questions = [ {
64
+ prompt = "Was the cooldown for the last trial fast, or slow?";
65
+ type = "MultipleChoice";
66
+ randomOrder = false;
67
+ options = ["fast", "slow"];
68
+ } ];
69
+ count = 1;
70
+ },
71
+ ];
72
+ trials = (
73
+ {
74
+ id = "ring";
75
+ targetIds = ( "static");
76
+ },
77
+ {
78
+ id = "box";
79
+ targetIds = ( "static");
80
+ cooldownMode = "box";
81
+ },
82
+ {
83
+ id = "ring slow fire";
84
+ targetIds = ( "static");
85
+ weapon = {
86
+ id = "2hit_slow";
87
+ firePeriod = 0.5;
88
+ damagePerSecond = 1.1;
89
+ };
90
+ },
91
+ {
92
+ id = "box slow fire";
93
+ targetIds = ( "static");
94
+ cooldownMode = "box";
95
+ weapon = {
96
+ id = "2hit_slow";
97
+ firePeriod = 0.5;
98
+ damagePerSecond = 1.1;
99
+ };
100
+ },
101
+ );
102
+
103
+ },
104
+ {
105
+ // This session tests the ability of the user to compare stutter happening vs. not
106
+ id = "2targets_stutter";
107
+ description = "2 targets frame stutter";
108
+ weapon = {
109
+ id = "1hit";
110
+ firePeriod = 0.2;
111
+ damagePerSecond = 6;
112
+ autoFire = false;
113
+ };
114
+ frameTimeArray = (0.008); // Set a default value and override in trials below
115
+ randomizeTaskOrder = true; // This is the default, but it's important to this session
116
+ tasks = [
117
+ {
118
+ id = "none";
119
+ trialOrders = [
120
+ { order = ["none", "none"]; },
121
+ { order = ["10/s", "10/s"]; },
122
+ { order = ["2/s", "2/s"]; },
123
+ { order = ["none", "10/s"]; },
124
+ { order = ["10/s", "none"]; },
125
+ { order = ["none", "2/s"]; },
126
+ { order = ["2/s", "none"]; },
127
+ { order = ["2/s", "10/s"]; },
128
+ { order = ["10/s", "2/s"]; },
129
+ ];
130
+ questions = [ {
131
+ prompt = "Which of the last 2 sets of targets felt more stuttery?";
132
+ type = "MultipleChoice";
133
+ randomOrder = false;
134
+ options = ["first", "second"];
135
+ } ];
136
+ count = 2;
137
+ },
138
+ ];
139
+ trials = (
140
+ {
141
+ id = "none";
142
+ targetIds = ( "moving", "moving");
143
+ },
144
+ {
145
+ id = "10/s";
146
+ targetIds = ( "moving", "moving");
147
+ // This sequence should repeat about 10 times per second at the set 120 fps
148
+ frameTimeArray = (0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.016);
149
+ },
150
+ {
151
+ id = "2/s";
152
+ targetIds = ( "moving", "moving");
153
+ // This should be 59 total entries, meaning there is 1 stutter every 59 frames, which should be roughly 2 every second
154
+ frameTimeArray = (0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.008, 0.016);
155
+ },
156
+ );
157
+
158
+ },
159
+ );
160
+
161
+ targets = (
162
+ {
163
+ id = "static";
164
+ destSpace = "player";
165
+ speed = ( 0, 0 );
166
+ visualSize = ( 0.05, 0.05 );
167
+ },
168
+ {
169
+ id = "moving";
170
+ destSpace = "player";
171
+ speed = ( 10, 10 );
172
+ visualSize = ( 0.05, 0.05 );
173
+ },
174
+ );
175
+
176
+ }
0 commit comments