Posts Tagged ‘opensimulator’
Found another problem with the TouchMeObject script (wrote about it in last post). New, improved version is posted (same URL). The problem was of my own making, a result of trying to avoid having multiple listeners created. I hope this update finds anyone that might have used the earlier version.
A listener creates a significant load in a simulator, enough to warrant caution in their creation. So, it is best practice to avoid having static (persistent) listeners in a simulator if users are not interacting with the object.
In preparing the TouchMeObject, I hastily threw in a “BUSY” variable (BOOLEAN) to clamp down listener creation while the object attended to a user (make second, third users wait ’til first user is done). But, I FAILED to provide any response to the next user to touch the object.
(This could be tested by two users, or one user with an alt. Touch object with first avatar, then touch with second user before the first responds to their Dialog prompt. The object does not respond.)
The problem in the first TouchMeObject script is obvious now, one I should have noticed; had just never gone the “BUSY” route before. My old, lazy approach has typically been to create a listener, wait for X seconds of inactivity, and then remove the listener.
Not having looked at this “concurrency” issue in a while, at least as it relates to use of the llDialog function, I had a look around. Seems that how best to deal with multiple listeners is still a matter of discussion…and by much more advanced scripters*.
Still, the digging paid off: I noticed that the SL Wiki page for the llListen function states:
“…handles are assigned sequentially starting at 1”
Light bulb attachment flickers, and an old lazy approach is upgraded to a newer lazy approach. Now, we’ll create a listener only if we have ZERO stored as the EARS_OPEN handle (integer variable, now acting as BOOLEAN). (Just have to remember to set it to ZERO everywhere that counts.)
But wait! What if a user touches the object and gets the dialog prompt, then gets distracted by cute kitty pictures in a browser, and returns to the dialog prompt in (X + 1) seconds?
Answer: No joy.
It aint elegant. It’s not even satisfying; and, it has its problems. But…
It’s something I can live with.
*UPDATE* (added single line to clear any float text if not assigned)
if (DISPLAY_FLOATING_TEXT) llSetText( llGetObjectName(), FLOAT_TEXT_COLOR, 1.0 );
else llSetText( “”, FLOAT_TEXT_COLOR, 1.0 );
//SEE WHAT’S BEEN ADDED TO CONTENTS
* To read some of the various issues related to the use of listeners, see:
Spicy Vanilla announces its first collaborative design project with SV1.0 – Basic Skills Gauntlet.
Educators often ask new users to surf the grid soon after registration. With no practice in world, how can we expect them to fully experience a virtual space? Without assessing their mastery of ways to interact and navigate, how confident are we that new users actually focus on lesson content?
“orientation island” image by Flickr user glycerine517
What if they could play a game right after orientation…a game that requires the use of various controls and client-viewer features? Such an activity—a kind of newbie obstacle course—could reinforce basic skills such as ctrl-alt-camming and object inspection. Such a game could be a preliminary task for entering an immersive space, or serve as an exit exam following standard orientation.
If designed well, this activity could:
- engage and entertain, prompting users to return again and again
- reinforce the use of various elements of the viewer in an interesting way
- record user achievement and report progress to the instructor
- be bundled for easy installation, or export and upload to OpenSimulator
- provide a template to be customized in any theme, fit in any sim
First sketch of Basic Skills Gauntlet with first station
or “module” in the middle…a sit-target experience.
What elements of the client viewer are used most by new users? What skills are most difficult to master? What do new users struggle with in their first sessions? How do you create a challenge or obstacle to make a user exercise those skills?
IF YOU have worked with groups of new users, PLEASE help by completing this short survey.
All SecondLife™ builders and educators are invited to join this new collaborative team. Meet some dedicated educators, participate in a new experiment in collaboration, see what instructional designers need from an activity.
The group’s mission is two-fold;
Facilitate the collaborative design of high quality, interactive educational content.
Share the design principles and techniques that are learned in the process.
Contact Weebit Offcourse or Azwaldo Villota in SecondLife™
Yesterday, I tried to describe what I would like to see in a virtual world coffeeshop. We see too many VW builds that merely recreate familiar environments. Virtual reality is not meatspace. Simply duplicating what is already known tethers the imagination. So, today, I began to build a Media Cafe in a parcel provided by the folks at OSGrid.
A good coffee shop will attract visitors, encourage them to linger, and see them return again and again. If this project plays out, the Media Cafe should 1) attract users, 2) promote interaction within the space, and 3) engage visitors to return later with media URLs of their own.
The structure of the build, its architecture, supports the first two objectives. If a user finds the building to be of interest, she is likely to investigate further. If the surroundings are pleasant once she is in the space, she is likely to look around to find something to do. Interactive content will have to bring them back again…something to explore in a later post.
For today, assembling the virtual space was the focus. I sought inspiration in a design submitted early in the Studio Wikitecture 4.0 project by Ryan Schultz (Theory Shaw in SL).
His design surprised me. There was enough of “school” or “classroom” about it to recognize it as such, but it was disconnected—virtually exploded— in a fresh and compelling way.
We should expect technology to help us transcend the familiar.
Starting with something recognizable and twisting it into something new liberates the imagination. Wandering within that exploded classroom I felt excited about what would come next, how the collaborative team might build on this model. Freeing a brick-textured block from the windows and floors left me free to see media prims that could move and adjust. I found that camera constraints were gone; those gaps in the walls let you anchor your mouse if you backed into a wall.
By taking a small—but dramatic—step away from the regular ways of putting up a wall, Schultz helped me to see how virtual worlds can reveal a new reality.
It was not just his design that inspired me, though. Wikitecture facilitated collaboration. The final design in the 4.0 challenge was the result of many designers noodling about and sharing ideas…together. (And where else you gonna have a chance to work with someone called Veeyawn Spoonhammer.)
It would be cool to see others riff on my Media Cafe. So, holler in world; or, just visit the space. You can find it in the northeast corner of SeaPrior Plaza of OSGrid. The first widget has even been installed: an interactive suggestion box with its back end in the cloud (courtesy of SL:Omei Turnbull).
But, for now, you will have to bring your own coffee cup.