Monday, January 31, 2011

Open Educational Tools: Building the orientation area of my Philippine His...

Open Educational Tools: Building the orientation area of my Philippine His...: "The biggest problem that I have seen in the virtual worlds that I have visited is the emptiness of the world. It's not that there is nothing..."

Thursday, January 20, 2011

Using Sloodle PrimDrop as a simple quest system for Open Simulator


I set up three Sloodle PrimDrop boxes. The assignments are called Quest1, Quest2, and Quest3. Quest 1 has the description: Please bring me a cube. When you finish this quest go to quest 2. And the rest is the same.

I created a test student named Noob1 Student. When Noob1 touched the PrimDrop boxes they say in the public chat the description of the assignment. This could then be used for instructions to the quest. This description can be displayed again when you click 1: Assignment summary in the Open Simulator (OSim) menu as shown below.



When an assignment object is submitted, there is a feedback. The PrimDrop says in public chat: Item "submission name" appears OK. Thank you Noob1 Student.
Assignment submission successful. Thank you Noob1 Student.

This feedback is in feedback is in sloodle_translation_assignment_en.lsl in the scripts of the PrimDrop object in OSim. The last two lines is as follows:

"assignment:submissionok", "Assignment submission successful. Thank you {{0}}.", // Parameter: avatar name

This could be edited to reflect the next steps to take in the quest chain.  But it would be better if the feedback from the Moodle grading is reflected instead.

The teacher can then take the objects and even grade the assignment in-world as shown below.



In addition to the above I installed the Activity Locking (AL) course format plugin in my Moodle server.



The AL format locks/unlocks succeeding activities based on prerequisites. It appears that PrimDrop is unaware of the locks because when I tried to submit to a locked assignment, it still accepted the submission. There is a need to hack the PrimDrop code for it to recognize locks and prerequisites.

In addition it would be great if the PrimDrop boxes could give an object in return as a reward or as an item for the next quest. Also it would be interesting to use llGiveMoney function in the OpenSim DTL Currency Server. Such that when the student completes the quest he/she can be given token OS money.

Saturday, January 8, 2011

100 npc bots in opensim

I need NPC bots as greeters, information providers, and quest givers. NPC bots are useful to reduce the loneliness of an empty virtual world (which is quite common).  I was able to spawn 100 server side bots in OpenSimulator ver. 0.6.9 following Kenneth Rougeau's instructions. I could have gone higher but the server was getting laggy. My problem with this approach is that I would have to roll back my sim from 0.7.0.2 wherein the NPCModule is broken.

There are 104 avatars in this image, 3 failed to rezz and remain clouds
With respect to my current Philippine History game project, I could really use them as soldiers, shopkeepers, teachers, etc.  I was able to use Radegast's aiml plugin for a chatbot but the resources needed for running multiple instances of Radegast is larger than a server side NPC bot. I can also spawn multiple bots using a single instance of Radegast by using File->New window. And then logging in a new avatar as shown in the following screenshot.


This means I'm keeping multiple Radegast viewers open. Another drawback of this approach is that the two bots in the screenshot share the same aiml brain.  One could use a new brain by switching users in your computer, then running a Radegast viewer there. But then you'll have new xwindows instances and all the overhead of maintaining another account running in the desktop.

Creating a prim mannequin results in an ugly mannequin due to low level LOD at a distance, and the ceiling of 1024 verts per sculpty prim.

There's got to be a better solution out there, or hopefully someone will fix 0.7.x.x OpenSim's NPC Module.

Tuesday, December 21, 2010

Chatting with Antonio de Morga in OpenSimulator



What are chatter robots?

Chatter robots (Chatbots) are computer programs that simulate a natural conversation with a machine. It applies low level artificial intelligence implementation basically using pattern matching.

Files with the list of patterns and responses are written by a botmaster. It is in XML format wherein the tags are predefined, in this case according to the Artificial Intelligence Markup Language (AIML).

It is less sophisticated than natural language processing using cognitive architectures, but is lighter on a server.

In my project I am using the Radegast Metaverse client which has an ALICE bot plugin.

Here are some screenshots of the conversation in OpenSimulator using the Imprudence viewer.


conversation between my avatar and de Morga in public chat

conversation appearing as bubbles in imprudence



de Morga's views about Aetas clearly shows bias. Will the students recognize it?
Bubbles have a limit to the amount of text displayed unlike the default chat list.  The bot's responses would have to formatted for this display.

In the public chat, you have to address the bot by first name in order for it to respond. In the private message box, no name is necessary.

PM with the chatbot

right click on bot's avatar and select Send IM in pie menu
How the chat is listed in the Radegast viewer. Radegast may also be used by people who do not have the computer hardware to run a 3d viewer like Imprudence.

Radegast listing of the chat, unfortunately picking up messages from unconfigured Sloodle objects


Below is a snippet of  the modified history.aiml file listing. The brain is yet to be finished.

<?xml version="1.0" encoding="ISO-8859-1"?>
<aiml>
<!-- Free software &copy; 2001-2003 ALICE A.I. Foundation. -->
<!-- This program is open source code released under -->
<!-- the terms of the GNU General Public License     -->
<!-- as published by the Free Software Foundation.   -->
<!-- Complies with AIML 1.01 Tag Set Specification -->
<!-- as adopted by the ALICE A.I. Foundation.  -->
<!-- Annotated Version updated September 2003 -->

<category><pattern>DO YOU KNOW HISTORY</pattern>
<template><srai>WHAT IS HISTORY</srai></template></category>

<category><pattern>EXPLAIN HISTORY</pattern>
<template>History is a narrative of important events. It is a record of the deeds of great men.</template></category>

<category><pattern>HISTORY</pattern>
<template>I am very interested in history, too. What period do you like?</template></category>

<category><pattern>TELL ME ABOUT HISTORY</pattern>
<template><srai>WHAT IS HISTORY </srai></template></category>

<category><pattern>WHAT IS HISTORY</pattern>
<template>History: the course of political, economic and military events over time, from the Dawn of Man to 1609.</template></category>

<category><pattern>1609</pattern>
<template>1609 is the year I published my book Sucesos de las islas Filipinas.</template></category>

<category><pattern>WHAT IS SUCESOS</pattern><template>Sucesos means events.
</template></category>

<category><pattern>WHAT KIND OF HISTORY *</pattern><template>I like to talk about the history of the Philippines.</template></category>

<category><pattern>_ ITA</pattern>
<template><srai>AETA</srai></template></category>
<category><pattern>_ AGTA</pattern>
<template><srai>AETA</srai></template></category>
<category><pattern>_ NEGRITO</pattern>
<template><srai>AETA</srai></template></category>
<category><pattern>_ ITAS</pattern>
<template><srai>AETA</srai></template></category>
<category><pattern>_ AGTAS</pattern>
<template><srai>AETA</srai></template></category>
<category><pattern>_ NEGRITOS</pattern>
<template><srai>AETA</srai></template></category>
<category><pattern>_ AETAS</pattern>
<template><srai>AETA</srai></template></category>


<category><pattern>AETA</pattern>
<template><random>
<li>In various parts of this island of Luzon are found a number of natives black in color. Both men and women have woolly hair, and their stature is not very great, although they are strong and robust.</li>
<li>These people are barbarians, and have but little capacity. They possess no fixed houses or settlements, but wander in bands and hordes through the mountains and rough country, changing from one site to another according to the season.</li>
<li>They support themselves in certain clearings, and by planting rice, which they do temporarily, and by means of the game that they bring down with their bows, in the use of which they are very skilful and certain.</li> They live also on honey from the mountains, and roots produced by the ground.
<li>They are a barbarous people, in whom one cannot place confidence.</li>
<li>They are much given to killing and to attacking the settlements of the other natives, in which they commit many depredations; and there is nothing that can be done to stop them, or to subdue or pacify them, although this is always attempted by fair or foul means, as opportunity and necessity demand.</li>
</random></template></category>

</aiml>


References

Aimless, D. (2002). A tutorial for adding knowledge to your robot. Available at http://www.pandorabots.com/pandora/pics/aimless/tutorial.htm.

Ringate, T. (2001). AIML primer. Available at http://www.alicebot.org/documentation/aiml-primer.html.

Wallace, R.S. (n.d.). AIML overview. Available at http://www.pandorabots.com/pandora/pics./wallaceaimltutorial.html.

Friday, December 17, 2010

History from textbooks and history in a virtual world

Building the virtual library made me realize certain things about teaching history in a virtual world such as OpenSimulator.

This first is that in building a library of virtual books one has to consider the role of the player. The student as student would have access to all sources of information. If the game world has a Spanish era theme then even books published after that era will be available to the student. On the other hand the student as role player would have different virtual books available to them depending on what roles they play. If they play the role of a 19th century student then they would have access to censored books because at the time the friars were censoring publication.  Social class played will also be a factor in what books one possess. Ilustrados like Jose Rizal would have a private library. The new labor/white collar class of Andres Bonifacio will also have book collections. The general masses probably only has access to religious books like the Pasyon and popular literature like poems, romances etc. Underground or revolutionary material will not appear in libraries but would generaly be hidden. We can generalize this condition to all sources of information even word of mouth because the Spaniards have spies and according to some historians the abuse of the confession.

Place would then be related to sources of information. Censored books in school, private libraries in bahay na bato, religious material in bahay kubo, and propaganda/revolutionary material in hiding places.

The way history is unfolded to the student in a virtual world differs then to that in a textbook. The textbook (taught in lock step method) follows a linear path. The focus is on plot and characters or if in a social scientific way on concepts. The student is given a digest of the readings of the historian. This provides a god like knowledge of history wherein the student is witness to the public and private events. The actions, motivations, and musings of historical actors.

In a virtual world, parallel narratives may occur. And players may not know what is happening in the next room, or the next region. A good network will allow players to be updated with what is going on in the other room. He/she can chat with other players and find out what is happening in world.

And like in the real world, players who are not in the right place at the right time in the network will find themselves baffled when the game map (or the world) is changed or updated by the devs. The ground may literally be pulled under their feet as new terraforms are built. In real life ordinary people unconcerned with historical changes go through their ordinary business then they wake up next day without a job, a house and a pension. History (events beyond their comprehension and control) whacks them in the face.


Jesus said, "You know how to interpret the appearance of the sky, but you cannot interpret the signs of the times."

Wednesday, December 15, 2010

Making dead historians come alive as chatbots in OpenSimulator 1

One of the fundamental design problems of educational games is the embedding of school content that would not disrupt the game play. To embed history content in my Philippine History game project I am going to explore the use of chatbot avatars. My plan is to use the Radegast Metaverse client for this purpose. OpenSimulator does have code for NPCbots but it does not work in the current (0.7.0.2) version and I don't want to rollback my server.

I am going to try to create three chatbots for my demo of the concept. Three historians from the Spanish Colonial era, namely Antonio de Morga, Francisco Baranera, and Jose Burniol. De Morga was a liuetenant general of the Philippines in the 1595-1598. He wrote the book Sucesos de las Islas Filipinas (1609) wherein he wrote about early colonial rule of the Philippines and more importantly a description of our ancestors at the time in a chapter. Rizal annotated and republished his work in the 1800s.

Baranera and Burniol are Jesuit priests who wrote history textbooks for Ateneo Municipal. Baranera wrote Compedio de la Historia de Filipinas (1884) while Burniol wrote A History of the Philippines for Class Use (1912). The former was during a time when Spain ruled the Phillipines while the latter was after Spain's defeat by the Americans.

From my reading of Rizal's curriculum in Ateneo and UST, it appears that Philippine history is taught only in Secondary school i.e. Ateneo Municipal and not in the university.

Why do I find it interesting to sample old history books (and by Spaniards even)? Well I grew up with history textbooks written by Filipinos. And most of these books were from a nationalist perspective. Almost all of them start justifying the need for a new history book written by Filipinos and for Filipinos. But I was wondering why? What was wrong with the histories written by the colonizers. What was this bias and prejudice that I heard so much about in these books? Just like any sources in history, these books are products of their time. I think students will benefit a lot from comparing these books from different periods of Spanish rule of the Philippines, with those from the American era, and the era of the Republic. It would be great to see how the historical context affect the histories themselves. What is the difference between a winner's history from a loser's perspective? What is the difference between Baranera and Burniol? I think there are  more questions about history and historiography that we can generate through a comparative approach to the study of Philippine history books.

Of course reading one history book is difficult enough, why not bring all the authors in class and interview them about their histories? This is what I will use chatter bots for. To achieve this plan, the first step is to create an avatar. Here is my interpretation of de Morga.



compare with a painting of de Morga....:-)


Unfortunately I do not have paintings of Baranera and Burniol, so I'll just use some generic (to me at least) European looking teachers for them.

Next post will be about how the chat went... I'll need to hit the books and work on aiml files.

virtual 3d 19th century school building

This prim object requires assembly. It is made up of object parts due to the difficulty of linking too many prims. It is divided into rooms, patios, roof, stairs and furniture. It is basically a bahay na bato with the lower floor whitewashed or plastered. For the second floor I reused the bahay na bato prims.

side view

front view

Download and load in OpenSimulator

http://www.mediafire.com/file/4i12x160qvaet9z/school19thcent.iar (2.98 MB)


Copyright Roel Cantada 2010
 
Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.