Virtual WorldsTerm Projects

Term Projects in Virtual Worlds

Students identify topics they are interested by filling in a spreadsheet column with choices (forthcoming). Instructor makes final assignment attempting to load balance teams. Each student has a different project but might be part of a larger team. Each student or team completes their project including a final report (see final report template). Review these documents before choosing a topic:

I am hoping that all of these projects teach us something and that some result in deliverables useful to the VW community - could be inputs to the standards process (the reference architecture), reusable services we can post on our website, or small but important steps that increase our understanding (workflow or ontology). Hopefully, all the projects are individually interesting and students will learn from each other's projects.

Suggested topics

Reference Architecture for Virtual Worlds (Casey Bailey + 4-5 students)

  • Use Second Life as a baseline for comparison and select {Open Simulator, realXtend, Unity3D, Open Wonderland, Open Cobalt, WoW, possibly other VW or game platforms}. Each student downloads and provides info on their system.
  • Chapter - Develop a glossary of key terminology and concepts - region, pie menu, etc.
  • Chapter - Develop a modular hierarchy of requirements - can extract requirements from X10 Workshop Report. E.g., here is an OODB Requirements document.
  • Chapter - Identify dimensions of comparison - e.g., what representations does this VW use for avatars, terrain, objects, notecards or other; can you import/export from repositories like Google 3D warehouse; scripting languages; community of users - size and characteristics; performance; scalability (# avatars, # objects, …), extensibility (how do you add content or functionality), services like sound, many others. Paragraphs describe the dimensions.
  • Chapter - Matrix - list dimensions of comparison on left axis and systems along the top and fill in notes in the matrix cells on whether and how the system supports this feature.
  • Bibliography
  • submit to IETF VWRAP standards group at end of term

My Immortal Avatar v0.1 (Tanmaya Kumar + 2-3 students)

  • new form of biography - transfer a person inside the machine. Pick a subject with a biography - here's mine but can pick others.
  • Develop a chatbot - review chatbot websites. Make a lookup table of <keywords, paragraphs> where paragraphs come from the biography. If someone chats a keyword, the Immortal Avatar X responds with the associated text. Use text2speech or recorded voice to respond not just by chat but with voice. Another mode, avatarbot just keeps talking, relating their life story. Or just picks a paragraph at random whenever anyone else is around.
  • Make the avatartbot look like the subject of the biography - not sure how to do this but am thinking a mask with textures of faces and different appropriate ages.
  • What would make this more interesting? How do you add personality, current events at different ages, let several immortal avatars talk to each other, …

Stutterbots (Fran Hagstrom, Abbi Wood + 1 student + voice service -see below)

Develop a program that turns ordinary chat into stutterchat to simulate someone who stutters, so others who communicate with that person understand and learn how to do so.

  • Abbi and Fran provided rules of stuttering (like repeating nouns, blocking before certain words, etc.): Stuttering Episode Descriptions
  • Blocks = pauses in the sentence.
  • Prolongations = A sound is held out for longer than the expected length of time. For these purposes, the first sound of the speaker’s name will be prolonged. Example: “My name is MMMMary”
  • Whole-word Repetition = A whole world is said multiple times. The repeated word will be a personal pronoun (e.g. I, me, my, etc.). Ex. “I-I-I-I-I am from Fayetteville”
  • Syllable repetition = A particular syllable of a word is repeated multiple times. The repeated syllable will be in the first word of the sentence. Example: “Mar-mar-mar-marketing is my major”
  • You either markup text with stutter markup or you write a program to convert text to stutter text.
  • Can then take a person who chats and turn them into a person who stutter-chats. Can make the immortal avatar stutter.
  • Add text to speech available from Nick for robotic voice stuttering.
  • Stuttering samples and orthographic transcripts can be obtained from the UClass database provided by the Univ. College London. Other references:

Home Healthcare Demo (Ashlea Bennetprof in INEG + 2-3 students)

Develop operational virtual home healthcare monitoring devices and demonstrate scenarios of use - could use for training home user or nurse or for daily disease management for the health illiterate patient. Devices should send <synthetic> data streams to remote monitoring database and alerts should signal problems. [Talk to Keith Perkins re connecting to remote DBMS form Second Life]. Think about how to make these into smart devices.

  • Intel Expands In-Home Health Solution in Europe
  • Intel Telehealth System Helps Heart Failure Patients
  • what happens when a patient has more than one disease - see Bosch Health Buddy website; IBM and Intel and many others in this space. There are pre-scripted programs based on standard practice guidelines for over 30 conditions, and also some comorbidity combinations of those conditions
  • see smart phones project below

Virtual Mars (2 students)

  • some areas of the universe (like Mars and the Sahara desert) might not have many avatars present so why devote a physical node to them? Why not rez them on demand.
  • talk to CAST (contactTim Sexton) about downloading Mars (or Earth) geographic data for a region-at-a-time - requires database queries to a representation that can be converted for use in (probably) OpenSimulator. OpenSim supports OAR format and some commands for uploading a region or part of a region.
  • Determine how to auto-download nearby regions if an avatar moves to a region boundary. One possible approach is to use a virtual machine approach (not sure if this can work); another approach is to rez a nearby region on demand but might require working on the code to rez regions you want to visit and unrez when everyone leaves.
  • On our team Casey Bailey knows most about OpenSim. Also, some of the workshop participants like Toni Alatalo can tell you how realXtend supports some of this.

Workflow – via Avatar-bots and/or Robots (Keith Perkins + 4-5 students)

Continuing projects from recent semesters (including the Robot Nurses, Cath Lab Operation and Romulin and Juliet. Note: few if any virtual worlds have much support for workflow above the level of simple scripting so this adds a potential new layer of functionality to virtual worlds. See Lua scripting language and Python workflow.

  • new workflows
  • more hospital procedures
  • dance sequence scene from W Side Story using animations
  • extensible assembly language for expressing avatarbot workflow operations with embedded animations
  • parameterized workflows so we can run several workflows at the same time
  • random paths through workflow to create variation (so not all operations happen the same way)
  • steps that fail (randomly) may require replanning and exceptional workflows if steps fail. If you drop the scissors, pick them up and use them (or sterilize them first or get another pair).
  • scheduling multiple workflows
  • multi-agent workflow specification - different avatarbots have their own preconditions, no god's eye view
  • more/richer Prolog rule base - make up goals and rules to generate the robot nurse workflows
  • mixing in humans and avatarbots
  • record every workflow operation in remote DBMS anddevelop queries to search for “interesting” situations - cath operations which involved more than three catheters where the patient

Ontology for Second Life (3-5 students)

  • work with Akihiro Eguchi on analyzing Josh Eno's SL search data into an ontology for SL.
  • query to find other regions that contain healthcare theme (or game theme or other themes like universities,
  • work with Tom Censullo on World of Warcraft ontology
  • Consider how to attach/buildontologies for SL - are they annotations anyone can attach to an object. Or can only the owner attach ontologies. How can you store ontology info in a remote ontology service so you send a SKU ID and it responds Higgins Patio Chair isa chair isa furniture; purchase from Wal-mart for $42.88. Connect this ontology service to mirror world application or smart phone application - that is, demonstrate it working with real world and virtual world objects.
  • Could possibly use Protégé as core of ontology service prototype. Or could connect to Wordnet. Other possibilities include a lower ontology based on SKUs or an ontology extracted from ebay.

Mirror World application (3-4 students)

Make a retail store command post. The RFID Center has a mock store and two Real Time Location Aware systems that can provide xyz coordinates for tagged apparel.

  • Make a parallel virtual store
  • when a real world object is moved, move it in SL.
  • move object in real store and capture track history of changes.
  • develop mapping to SL virtual store
  • use avatarbot workflow language to move object in virtual store corresponding to object moving in real store
  • when a SL object is moved, send a real robot/human directions to move the object.
  • experiment w perimeter management and changing room scenarios.

Smart Object Communication and Soft Controller (2-4 students)

  • what can smart object talk about and how do they communicate with each other, mix and match. See Eguchi paper.
  • associate grammar with each.
  • build realistic demos
  • replace SL pie with cascaded menu interface - see Tanmaya paper
  • associate grammar with (some) things that translates to queries or commands.
  • use iPhone or other smart phone to control real or virtual objects.
  • build realistic models of smart devices (lasik, mri, …) that can explain themselves and how they operate.
  • associate smart object with its ontology that stores its type, API, owners manual, and cost - see ontology project

Services - Voice/Translation/Transcription (1 student each)

  • Work with Nick Farrer to convert his SL text2speech to a documented service available to others in SL. Then rewrite as an OpenSim service.
  • You chat in one language 1 and the chat is translated to language 2. Provide as a SL and/or OpenSim service (based on pre-existing web translation service).
  • You speak and the transcription service converts to chat. Need to use Dragon or other speech dictation systems. Useful on smart phones too. Could help hearing impaired.

Service - Geographic Queries (1 student)

Bring up OpenSim using Oracle instead of MySQL as the main DBMS. Use Oracle Spatial functions to do geographic queries on objects. Find objects near, above, … other objects.

Smart Phone (3-4 students)

  • locate smart phone apps that track you, your kids, your friends; connect to virtual worlds; provide remote control capabilities; connect people to places; provide remote video surveillance; … in some way have to do with pervasive computing or social networking.
  • determine how to use a smart phone as a soft controller/universal remote. Use phone to select an object and then upload information about the object.
  • identify scenarios involving business rules that connect collections of objects into a complex. If YardIsDrySensor and InternetSaysNoRainExpectedNext2Days then TurnOn sprinkler tomorrow at 6am. Consider harmony remotes.
  • assume phone has RFID reader (attach phone to portable reader). Walk around and record tags of everything you pass (that has an RFID tag). Make a map as you go. Assume everyone has such a phone and make or update the map. Combine with CAST data on location of interesting places like bank, homes, …
  • Use smart phone to create diary app. Keeps track of everywhere you go (tracking app), everything you say (listening app - converts to text); every app you use (monitoring app),
  • Join forces with Home Health Demo project to use cell phone as monitoring device for weight, blood pressure, blood oxygen level, schedule of medicines/pill refills to pharmacy. First, find all healthcare apps - calorie counters, …. Assume scale has a blue tooth transmitter. Monitor for 5lb weight gain in 24 hours as indicator of congestive heart failure (CHF) or for sugar levels for diabetics.

3D Viewer (1-2 students)

Convert existing viewer from normal view adding binocular viewpoint and requiring glasses when viewing in that mode.

Term Paper (1 student each)

  • Virtual World and Home Healthcare - use Josh Eno search data to find SL websites that model healthcare, identify purpose (education, training, simulation, …) and identify interesting results.
  • Virtual Worlds and Gaming - use Josh Eno search data to find SL regions that support various kinds of games. Make a taxonomy (catgegorization) of the kinds of games supported. Critique the games.
  • Legal and Ethical Issues related to 3D Virtual Worlds
  • Research Issues in 3D Virtual Worlds

Other

  • talk to instructor

1