-
Notifications
You must be signed in to change notification settings - Fork 0
/
notes.txt
executable file
·249 lines (161 loc) · 8.42 KB
/
notes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
agent we are interested in is the drama manger
ability for th game to play itself
shoudl there be a global or per quest player model
figure out which actions
player model is a list of actions and weights towards them
two systems we need
player modeling
picking quests based on player modeling.
load multiple scenarios
choose based on closest to player model
design doc?
rough map of town
whitelist is more of a required
blacklist is more of a forbidden
if you dont have a whitelist, you cant activate
if you do have a blacklist, you cant activate
it errs on the side of not activating.
mirror neurons. have a machine learn from seeing things and processing those actions as if it did them itself.
c
+ - - G - - +
| t g F b . |
| . a m . . |
+ - - G - - +
G: gate
g: guild
F: starting fountain
b: babushka's house
t: tavern
m: market
c: final location of cat
a: alley that reveals itself if player is "bored"
write the story:
get cat quest from granny
ask around town for cat clues
get orange cat clue from someone
granny, neighbor, etc.
ask about orange cat to guard.
tells you location of the cat
tells you person who might have seen the cat.
find person who might have seen the cat
get location of cat
reveals cat in location
get help in finding the cat.
asks for a portion of the the reward
if yes continue
spooky dude meets you outside gate.
several areas to find the cat in.
you either have to search them all if you dont have help.
or if you have help you only have to search one before you are given it.
story branching paths:
if you get bored an alley appears from the market to the guild hall, the cat is just sitting there for you to scoop up.
an event activates when your "boredom" level rises that shows the cat running into the alley
end point branch
more scenarios, at 4
get player model data. at least based on how many times user does an action. get scenarios that
implement looking at items, and getting keys from that.
when to offer the quest: when the player gets bored
when the players boredom stat goes below some threshold
how does it look like to offer the quest
how do you make the player know there is an alternative without being too disruptive
how to choose the quest to offer.
todo: probably not, just use existing key method
add tags to each place so you can trigger a global "change path" event if we need to
tag outside, player seeks action
cat runs past into an alley, go chase
tag outside, player just bored
cat runs past you have chance to grab it or follow?!?
research how to update confidence. and determine the best choice.
write an intro questionnaire
update confidence
based on
old lady gives you a lead
use market for traveling cat merchant.
old lady tells you about cat merchant, perhaps cat merchant stole the cat?
to swap maybe spooky man tells you that the cat he gave to cat merchant is not the right cat. leads you to the right cat
do the cat rain dance to rain cats and try to find the correct one.
todo: should rooms have keys like players? this would help in keeping track of rooms and not just keepin track of players?
events would then also need to check room keys.
alternatively have the onDrop event activate for an item which would add a key to the player that would activate another event
todo: rooms and maybe other things have unique keyword actions assigned to them.
like hide, outside the gate when you set a baited trap for the cat you can hide to "activate" that event.
idea: have events with arbitrary flag. when active the event listener looks to see if the command matched with the event type.
then do all the things the event does.
instead of printing (i dont know how to do that), activate the event listener on the command word. only if the command is not a valid event name already...
the rest of the words after the command are used to add to a sort of keylist? maybe have this one separate from the normal one?
presentation notes:
introduce the idea of a drama management.
games
why people play games
why people replay games, or why they dont replay games
games should be tweaked to the players interests
how do we tweak this considering that every player is different.
we can just provide enough paths for the player to take so they can choose themselves,
but players may not know what they want or when they should switch.
in comes our system
given a story that the player can play through we give the player a number of paths that they can choose
from each path there are links to other t
information gain. if the player took each path which path gives the most amount of info
player model is some distribution over some alternatives. probabiltiys of taking branching paths.
player model has some kind of survey, by putting them in various situations, . by tags.
go back and show them the difference between the learned and the initial player model. call back to earlier actions to show why the player has the model they do.
everything to put into the abstract.
motivations of the problem
what we do to solve the problem
if we have them the results
two to three paragraphs, hopefully only two.
descriptive but not distracting.
think of a good title.
information based online drama management
all of this can change from now till the actual submission.
todo: test our system
to test we need it to prefer some line
todo: how to trace the quest for usable info
take goal key ("win" in our case) and find what it requires
it requires a set of keys
for those set of keys find out what events give them.
todo for branch points there should be some sort of threshold. so if a player is only a little bit bored they wont be offered something that will skip them to the end.
player is not engaged
drama manager develops hypothesis
try to select a distraction and where to put it.
if they interact with distraction we can be more sure
assign distraction tasks according what you have been doing in the past.
how many distraction tasks do we need to generate before it has an accurate player model. low kl divergence.
kl vs # of user actions.
next time on thursday.
come up with test case, have a starting player model, have what it shifts to. hard coded for now.
we are testing how changing the methods of selecting
we want to ask question and give distractions to get the most informative view of the player model.
we can give them all, but there are problems of overloading the
compare a bunch fo different ways.
eg:
1 best + 1 worst
1 best + 1 random
2 best
etc
implement the recording of actions presented along with the action taken...
action preference ordering over frequency.
figure out preference elicitation something something 20 questions
find out how to craft some hypothesises, and find how to reject the majority of those.
for every possible ordering compare to the current output. somehow calculate a score of similarity, then ordering them.
store them as preferences if 1,2,3 choose 3 then 3>2, 3>1
then figure out what choices they have, and what we can add.
binomial distribution test?
create the distributions of number of times this is correct, and number of times it isnt. then binomial to get p value
"of all the choices i have seen in the past, find an ordering. then"
given the current choices, what choices can we add that makes it gain the most info.
info here is rejecting hypotheses.
a hypothesis here is an ordering.
so what choice(s) can we add that says a number of orderings is wrong, (that isnt reaffirming the current one?)
if we already know a lot of about two choices, then we can see what happens when we do the other choices.
generate a distribution from the 24 possible alternatives.
for each possible action addition,
for all possible actions + the added action, pretend the user made a choice
recalculate the above distribution for those,
and find out how different it is.
the sum of the differences in those is how likely that action addition is to make a difference on the whole
the action addition with the largest difference is the one we want to give.
this will likely favor giving all choices, but we can weigh the actions by how likely they are based on recent past.
store softmax of each percentage in dict of hypothesis.
find entropy of each choice, and the max, min, or avg to get it per action choices
then max of that entropy of each choice.