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 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.
Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.