The Conrad is a bit more than just a backdrop build; there’s a story here that I want to tell. The general idea is that you can explore the Conrad, enjoy the ambiance and discover the fate of her crew through interacting with the environment.
I’m sure anyone who has played any games in recent years is familiar with the idea of finding books, logs, or other information scattered about the world. Each game presents it in a different way. This is the mechanism that I’ve settled on for telling the story of the Conrad – SL doesn’t really give me a lot of choice there, but I guess if it’s good enough for Skyrim and Deus Ex it’s good enough for me!
The question is: How can I present it in SL in a way that both works to tell the story and doesn’t break the immersion in the scene?
I’ve tried several different options. The simplest for presenting some text to the user is for an object to give them a notecard, but that really seemed to take me out of the scene. “Hey, here’s a glaringly obvious SL mechanic!” Notecards are also very plain. I can embed pictures, but only as a clickable link. There’s no bold or italic and no control over the font at all. I definitely want richer text than notecards can offer.
Next I went down the route of using web media on a prim. On the face of it this was ideal, but this too came with some problems. First is that I know a lot of people either disable this feature entirely or set it not to auto-play. Sure, I could front-load the experience with instructions to turn this setting or that setting on, but I want to keep that to a minimum. The second problem is that you always get that floating media toolbar over it, something that again breaks the immersion.
What I’ve settled on so far is to use a prim, texture and script based system to present computer screens in the build with interactive elements:
The screen in the picture above has an LI of 4 and contains two interactive windows displaying transcripts of voice logs along with other data. The documents are images, so I can construct any degree of “richness” for them in Illustrator – there are limitations on resolution, of course, so there’s only so much I can get in there but it’s accommodated everything I’ve written so far well enough.
The windows themselves are interactive in that you can scroll up and down the documents they contain using either the up/down arrows on the scroll bar, the top/bottom buttons or by just clicking on the body of the document and dragging it up or down.
The scrolling is accomplished by using llDetectedTouchUV to track mouse clicks and drags and then llOffsetTexture to shift the content. There’s a little mathematical fiddling in the script to preserve the correct aspect ratio of the content no matter the shape of the window prim.
It’s not perfect but it checks a lot of boxes on my wishlist, particularly:
- Rich text – no limitations; I can do anything I like in an image.
- Immersive – no floating toolbars, no SL mechanics, no nothing; you just reach into the scene, touch things and the things react.
The downsides are that the size of the document is going to be limited by the maximum resolution of SL textures. There’s only so much information I can fit into that space but my experiments confirm that it should be sufficient.
I intend to use this technique in several places – there will be a combination of text sources, on desktop computers, PDAs and other devices scattered around the Conrad. The build is designed to lead you on a particular path through it but knowing what a contrary and awkward kind of person the average SL user is (but I love you all, really 😉 ) I’m trying to keep the narrative coherent enough that you can piece it together even if you totally ignore the sequence cues.