Participatory science in virtual worlds for implementing an eco-friendly society

Examples

“Hello World” in MPML3D

<MPML3D version="1.0">
<Head>
<Entities>
<!-- INITIALIZATION OF AGENT -->
<Entity type="human" name="avatar1" resourcePath="girl">
<Property name="agent_name">Firstname Lastname</Property>
<Property name=”agent_pwd”>password</Property>

<!– LOGIN AT SPECIFIC LOCATION –>
<!– <Property name=”landmark_pos”>bc0294f5-2a93-9ad9-b26d-d6c68fc9e6c7</Property> –>
</Entity>
</Entities>
</Head>

<Body startImmediately=”task1″>
<Task name=”task1″ priority=”0″>
<!– AGENT WRITES –>
<Action>avatar1.write(”Hello world!”)</Action>

</Task>
</Body>
</MPML3D>

Performing gestures
<MPML3D version="1.0">
<Head>
<Entities>
<Entity type="human" name="avatar1" resourcePath="girl">
<Property name="agent_name">Firstname Lastname</Property>

<Property name="agent_pwd">password</Property>
</Entity>
</Entities>
</Head>
<Body startImmediately="task1">
<Task name="task1" priority="0">
<!-- PERFORMS A GESTURE -->
<Action>avatar1.gesture(”hello”)</Action>

</Task>
</Body>
</MPML3D>

Speaking
<MPML3D version="1.0">
<Head>
<Entities>
<!-- INITIALIZATION OF AGENT -->

<Entity type="human" name="yuki" resourcePath="girl">
<Property name="agent_name">Firstname Lastname</Property>
<Property name="agent_pwd">password</Property>
<Property name="speechbase">CubesDemo.mpml.yuki</Property>
<!– LOGIN AT SPECIFIC LOCATION –>

<!– <Property name=”landmark_pos”>bc0294f5-2a93-9ad9-b26d-d6c68fc9e6c7</Property> –>
</Entity>
</Entities>
</Head>
<Body startImmediately=”task1″>

<Task name=”task1″ priority=”0″>
<!– AGENT SPEAKS –>
<Action>yuki.speak(”This is M P M L 3D!”)</Action>
</Task>

</Body>
</MPML3D>

Subaction Synchonization

<MPML3D version="1.0">
<Head>
<Entities>
<!-- INITIALIZATION OF AGENT -->
<Entity type="human" name="yuki" resourcePath="girl">
<Property name="agent_name">Firstname Lastname</Property>

<Property name="agent_pwd">password</Property>
<Property name="speechbase">CubesDemo.mpml.yuki</Property>
<!-- LOGIN AT SPECIFIC LOCATION -->
<!-- <Property name="landmark_pos">bc0294f5-2a93-9ad9-b26d-d6c68fc9e6c7</Property> -->

</Entity>
</Entities>
</Head>
<Body startImmediately="task1">
<Task name="task1" priority="0">
<Parallel>
<!-- AGENT SPEAKS -->
<Action name=”yukiSpeak”>yuki.speak(”This- is M P M L 3D!”)</Action>

<Action startOn=”yukiSpeak[2].begin”>yuki.gesture(”dance7″)</Action>
</Parallel>
</Task>
</Body>
</MPML3D>

Walking

<MPML3D version="1.0">
<Head>
<Entities>
<Entity type="human" name="avatar1" resourcePath="girl">
<Property name="agent_name">Firstname Lastname</Property>
<Property name="agent_pwd">password</Property>
</Entity>

</Entities>
</Head>
<Body startImmediately="task1">
<Task name="task1" priority="0">
<Sequential>
<!-- WALKING -->
<Action>avatar1.walk(230, 70, 24)</Action>
<Action>avatar1.walk(N, 2)</Action>

<Action>avatar1.walk(run, W, 3)</Action>
</Sequential>
</Task>
</Body>
</MPML3D>

Internal Perception
<MPML3D version="1.0">

<Head>
<Entities>
<Entity type="human" name="yuki" resourcePath="girl">
<Property name="agent_name">Firstname1 Lastname1</Property>
<Property name="agent_pwd">password1</Property>
<Property name="speechbase">CubesDemo.mpml.yuki</Property>

</Entity>
<Entity type="human" name="ken" resourcePath="boy">
<Property name="agent_name">Firstname2 Lastname2</Property>
<Property name="agent_pwd">password2</Property>
<Property name="speechbase">CubesDemo.mpml.ken</Property>
</Entity>

</Entities>
</Head>
<Body startImmediately="kenSpeaking">
<Perception activated=”false” name=”kenSaysHowDoI” maxActivations=”1″>onEvent(ken, “saysPhrase”, “how do I do it”)</Perception>

<Task activate=”kenSaysHowDoI” name=”kenSpeaking” priority=”0″ minor=”true”>
<Action minor=”true” name=”kenSpeak”>ken.speak(”So I heard you created this M P M L 3D language. I want to try this out, how do I do it, and what do I need to install, and where do I find all the information?”)

</Action>
</Task>
<Task name=”yukiInterrupts” priority=”10″ startOn=”kenSaysHowDoI”>
<Action name=”yukiSpeak”>yuki.speak(”O.k., sorry to interrupt you, but I think I will just explain a little bit and then maybe ask me more questions later”)

</Action>
</Task>
</Body>
</MPML3D>

External Perception

<MPML3D version="1.0">
<Head>
<Entities>
<Entity type="human" name="yuki" resourcePath="girl">

<Property name="agent_name">Firstname Lastname</Property>
<Property name="agent_pwd">password</Property>
<Property name="listener">yukisEar</Property>
</Entity>

<Entity type=”user” name=”yukisEar” resourcePath=”user”>

</Entity>
</Entities>
</Head>
<Body>
<Perception activated=”true” name=”userWritesHello”>onEvent(yukisEar, “hearsPhrase”, “hello”)</Perception>

<Task name=”yukiAnswers” startOn=”userWritesHello” priority=”20″>
<Parallel>
<Action minor=”true”>yuki.write(”Hello, please join us!”)</Action>

<Action minor=”true”>yuki.gesture(”hello”)</Action>
</Parallel>
</Task>
</Body>
</MPML3D>

To animate your avatar, just chose a gesture from the list and write the following in your script inside a Task environment:

<Action name="yukiGesture">yuki.gesture("Gesture Name")</Action>

Second Life gestures

aim_l_bow aim_r_bazooka aim_r_handgun
aim_r_rifle angry_fingerwag angry_tantrum
away backflip blowkiss
bow brush busy
clap courtbow crouch
crouchwalk dance1 dance2
dance3 dance4 dance5
dance6 dance7 dance8
dead drink express_afraid
express_afraid_emote express_anger express_anger_emote
express_bored express_bored_emote express_cry
express_cry_emote express_disdain express_embarrased
express_embarrassed_emote express_frown express_kiss
express_laugh express_laugh_emote express_open_mouth
express_repulsed express_repulsed_emote express_sad
express_sad_emote express_shrug express_shrug_emote
express_smile express_surprise express_surprise_emote
express_tongue_out express_toothsmile express_wink
express_wink_emote express_worry express_worry_emote
falldown female_walk fist_pump
fly flyslow hello
hold_l_bow hold_r_bazooka hold_r_handgun
hold_r_rifle hold_throw_r hover
hover_down hover_up impatient
jump jumpforjoy kick_roundhouse_r
kissmybutt land laugh_short
motorcycle_sit musclebeach no_head
no_unhappy nyanya peace
point_me point_you prejump
punch_l punch_onetwo punch_r
rps_countdown rps_paper rps_rock
rps_scissors run salute
shoot_l_bow shout sit
sit_female sit_generic sit_ground
sit_ground_constrained sit_to_stand sleep
smoke_idle smoke_inhale smoke_throw_down
snapshot soft_land stand
stand_1 stand_2 stand_3
stand_4 standup stretch
stride surf sword_strike_r
talk throw_r tryon_shirt
turnleft turn_180 turnback_180
turnright type walk
whisper whistle wink_hollywood
yes_happy yes_head yoga_float

Our Gestures
Please visit us in Second Life http://slurl.com/secondlife/NIIsland/245/63/25. On the table you will find a gesture box with these gestures.

AGREE ASTONISHED_ONE
ASTONISHED_TWO ASTONISHED_THREE
Beat.Fast.Big Beat.Slow.Big
Beat.Fast.Small Beat.Slow.Small
beat_single BEAT_ONE
BEAT_TWO BEAT_THREE
CLAP_ONE CLAP_TWO
COME_HERE COMPARE
CONFUSED CONTRAST
COUNT_FIVE DISAGREE
Emblematic.ShowHeight.high Emblematic.ShowHeight.highest
Emblematic.ShowHeight.low Emblematic.ShowHeight.lowest
Emblematic.ShowHeight.medium Emblematic.ShowSizeHorizontal.large
Emblematic.ShowSizeHorizontal.medium Emblematic.ShowSizeHorizontal.small
Emblematic.ShowSizeVertical.large Emblematic.ShowSizeVertical.medium
Emblematic.ShowSizeVertical.small everybody
EVERYONE FOLDHANDS_FRONT
GAME_PAPER GAME_ROCK
GAME_SCISSOR GOODBYE
GrabSomething GREET
GREET_POLITE Idle.Breathing
Idle.FoldHands.back Idle.FoldHands.front
Idle.HandOnArmBackside Idle.HandsOnHips
IDLE_ONE IDLE_TWO
IDLE_THREE Idle.Swaying
INDICATE.ONE Metaphoric.Evolving
Metaphoric.GrabSomethingBig.Single Metaphoric.GrabSomethingBig.Triple
Metaphoric.GrabSomethingSmall.Single Metaphoric.GrabSomethingSmall.Triple
MYSELF NO_IDEA
PICTURE_POSE POINT_LEFT
POINT_LEFT_UP POINT_RIGHT
POINT_RIGHT_UP SHIFT_WEIGHT_LEFT
SHIFT_WEIGHT_RIGHT SHOWSIZE_HORIZONTAL
SUGGEST UNCERTAIN

Comments are closed.

Global Lab – Participatory science in virtual worlds implementing an eco-friendly society
HOME   ABOUT   TECHNOLOGY   PROJECTS   OUTREACH   CONTACT US
© 2010 Global Lab