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>
| 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 |







