David Gatenby
Chris Robbins
Du Ngoyen
Jeremi Sudol
Kristofer Schlachter
Mary Flanagan
Ken Perlin
Svetlana Stenchikova
David Gatenby
* collect treasured objects (call me polly-mael, ahab, and the white polly)
* catch other bots (pollyce. bad pollys, bad pollys, whatchya gonna do...)
* run away from other players (polly-anna)
* jump over another player (tad-polly)
* play music on lighted floor grid (polly jean is not my lover)
perhaps follow around a song bot to play prerecorded songs
forcing the user to program the bot if they are to keep up
with faster songs.
* herd flocking dum-bots
* eat flocking dum-bots
* conference rooms. team play, different roles, collaborate, solve puzzles
* imitate other bots behavior. steal their behavior. internalize a model
of their behavior.
deviant social behavior:
* smoking in the boys room (polly dean)
* write graffiti on walls (spraypaintpolly, jet grind polly)
simple bot games:
* merlin
* 4 square
other notes:
let's assume that the polly world allows the user to
begin controlling the interaction of their bot with the
environment such that the bot starts as a user controlled
avatar (like an fps game) and matures to a bot whose actions are
sequences of user triggered commands/scripts and then to a fully
autonomous bot.
an interesting question seems to be what are the transitions
between interaction levels? how does the user move from one
level to another? should bots be able to interact with
bots of different _age_ levels?
as the user learns the environment, they teach the bot how
to interact in it. the user is both child and parent.
they are a child as they learn to use/program the environment
more deftly. they play parent as they develop their bot
from a baby who must be taken care of at every level, ie all
interaction must be controlled by the user, through to an
adult autonomous bot that can do its own bidding (and the user's)
in the environment it inhabits.
in the last meeting we spoke of bots as pets accompanying us
on a journey through the environment. analogous to a dog run.
under the above model, the metaphor shifts to that of
rasing (and being) a child with all its incumbent developmental
cycles.
script test...
baby script: a macro recorded while user is keying in simple
navigation commands in real time. probably won't be played
back b/c the movements are time specific.
script window unnecessary. perception done by user.
forward
forward
forward
forward
left
left
back
back
back
jump
jump
infant script: still realtime, but user is using loop/counter control
which means every movement isn't user controlled. perhaps encoded in
simple keyboard commands, eg ctl^L-4-f. still no script window.
perception still performed by user.
loop 4 forward
loop 2 left
loop 3 back
loop 2 jump
preschool script: script probably needed. perception by bot.
(interesting that in this example the script is needed because a bot
perception is used. if at all, at what level does bot perception
necessitate textual symbolic representation? it seems easiest to express
this script using text. is there a better graphical way? certainly draw
pad gives us a method, but we probably need a graphical representation for
all perception verbs, which is potentially a huge task (do users have
enough access to create their own?). also, how would the user access them
all? a nice thing about language is that we are very good at using it to
store symbolic information compactly and retrieving it quickly. this is a
big can of worms that i'm not sure i'm ready to tackle right this
moment....)
if i see objectX
move to objectX
primary script: scripts and subscript needed. user defined encapsulation,
looping, branching, perception.
find objectX (find calls other user canned procedures)
i'm just starting to think about possible issues and structures of this
world and haven't really hashed them out much. as you can see,
my ideas are currently simple, incomplete, and sketchy. i'm sending them
only as conversational fodder, not as solutions. hopefully you guys
haven't already covered all these issues. if so, ignore these notes....
Chris Robbins
Dear Ken,
Here is a Polly World scenario for discussion during tonight's class:
The basic scenario requires the cooperation of three Polly characters. The child's Polly initially enters a rectangular "puzzle room". There is an exit opposite the doorway he or she entered from. Running across the center of the room is a single wall with three doorways of different sizes.Thus any Polly who wants to leave through the opposite exit must pass through one of the center wall doorways. There are two more A.I.* Pollys already in the room. One of them is bigger than the child's Polly and the other is smaller. The goal is to get all three Pollys through the far exit. However, the exit appears to be closed and cannot be simply pushed or pulled open.
Some exploration will reveal that when a Polly passes through any center wall doorway, in the direction of the exit, a door will immediately shut behind it preventing any other Pollys from using the same doorway. When a Polly pass through a doorway, in the direction away from the exit door, any closed center wall doors will be reopened (in essence resetting the puzzle). Further analysis will reveal that the doorway sizes correspond to the Polly sizes such that a Polly can only pass through a doorway that is that Polly's size or larger. Finally the exit door will open once all of the center wall doors have been shut. Thus the exit door can only be opened by coordinating the Pollys such that each one passes through the center wall doorway corresponding to that Polly's size.
While working on this scenario, I realized a necessity to allow "puzzle rooms" to dynamically adapt to different situations. The basic version above assumes the child is exploring alone and thus two A.I. Pollys are already in the room. However, if the child is already exploring with another child's Polly, for example, then only one A.I. Polly would need to be in the room. If there is a party of six Pollys exploring, then the room might have to have more doorways. If the Pollys were all the same size, some other attribute would need to be dynamically determined to force a one-to-one Polly to doorway mapping.
*Maybe the use of A.I. Pollys should be discarded if we want the child to realize more Pollys are need to solve the "puzzle room", prompting him or her to seek out fellow explorers.
Following the goal of an immediately rewarding environment, I believe this scenario will initially work well as a point-and-click interactive puzzle. To solve the puzzle without any code, the child can click the locations or objects that they want their Polly to move to. This will reveal the behavior of the doorways. The child can then can ask the other Polly characters to go through certain doorways to solve the puzzle.
Moving into a Java code based solution. The child would use comparisons and if logic to automatically tell the other Pollys which doorway to go through. For the three Polly situation this could be coded explicitly. However a similar future room might contain an exhaustive number of Pollys and doorways, such that the child will realize the need to create a loop or method for sending Pollys through matching doorways.
Du Ngoyen