Across the universe

So it is now time to consider the multiverse, or more particular the universe as it is defined by this new world…

An Alterniverse

Now it seems that Activeworlds offers licenses that enable a number of different configurations – “World” [hosted or not] which are a separate private place up to “Universe” which allows multiple worlds, remote hosting. We have chosen a U3000 license – this means [correct me if I am wrong please] multiple worlds, total of 9,000,000 square meters [that seems a lot right now] and up to 500 users online simultaneously.

This ties in with what I had envisaged: a “homeworld” of sorts, which I am terming “Offworld Homebase” and a cluster of related, connected worlds that you can teleport between. It allows a certain level of granularity that will allow other projects and space to grow in the future, but is suitable scalable as a model that it should suit our purposes nicely.

Users connect, initially, to Offworld Homebase as the initial login/connection point, and then from there travel to their chosen location if necessary. This level of abstraction could be useful, as the connection point is clearly not here – as in it is clearly on a different planet, so we have distanced ourself in the first stage. We might teleport to an “earth-like” place, but the distinction between reality and virtual world is a natural one. users should more readily accept the look and feel of the place if they know it is not trying to fake here, if that makes sense.

Transporter Room - enter coordinates

Transporter Room - enter coordinates

Homebase should have orientation, general skills, meeting and collaboration tools and places to select context, might have habitation and recreation but should also provide jump-points [a teleportery] to places of interest. These would include:

  • Related learning objects – we can link to existing learning objects that can be used in the in-world browser – a lush and huge collection of existing multi-disciplinary interactive objects that are well integrated into existing curriculum
  • Science Outstation – this could be on the same planet, or a different one but would provide additional bridges to sims that users could visit, explore, plan and create solutions for problems they perceive there
  • Sandbox world – the builder’s play pen – somewhere people could go and learn to build – a mixture of tutorials and resources to allow citizens to explore construction options. It should include links of the web catalog of objects in the public object path.
  • …other stuff [What do you reckon? What is IMPORTANT in the initial build?  Is there anyone reading this?]

The design of Offword Homebase then becomes the next thing. I rather like the whole “cluster of domes” in a crater idea, each linked to each via passageways – if well thought out and modular this could work well, the layout of domes is an aesthetic challenge, but there are a number of visual aids, namely molecule pictures and a style of Indigenous  Dot painting that symbolises “waterholes” that could be useful [and also provide useful graphical motif for later design work, textures and finesse]

Caffeine Molecule, Indigenous "Waterhole map"

I am still to find out the distance that chat drops out – if we have meeting rooms, chat in that room should not spill out into adjacent areas. Looking at big picture first, then will focus on minutiae when general layout is decided. Using design tenets, odd numbers usually look better than even numbers, and we can have domes of various sizes, orientations and materials.

Dome a dozen

… so, I imagine ‘Offworld Homebase’ to be a cluster of geodesic domes in a desolate crater [anyone who has seen the Dr Who episode “Water of Mars” will get the idea] – the problem is I do not know how to  make a geodesic dome. To the CDROM in the sky called the interweb, researching geometry I realised [or rather decided] that if you were travelling to a far away place with the components to make something, the last thing you would want is a “jigsaw from hell” [that is, hundreds of pieces, each different] so decided to explore making things out of ONE size and shaped triangle.

Originally, I tried equilateral [maths nerd fact: all 3 sides the same length] triangles and when I put them together into a hexagon, it was flat [to make the side curved it needs to be slightly less-so]. So I took a SQUARE, bisected one of the sides, joined that point to opposite corners and voila I had an ISOSCELES triangle [math nerd fact – 2 adjacent sides the same length, both slightly longer than the original side of a square which forms the base, and a means to connect them to others].

bunches of 3, 5 and 6 triangles

bunches of 3, 5 and 6 triangles

Clumping these together into groups of 3, 5 and 6, we now have the basic building blocks of a dome. Now, purists will argue that the triangles used for the pentagonal pyramid should have shorter sides so it sticks up less, but I figure the last thing spacemen want to do on the planets surface is work out whether they need a long or a short triangle … imagine being half up and realising you screwed up one further down.

…so, 6 pentagons, 10 hexagons and 5 half-hexagons later [105 triangles, cut, folded and stapled] we have a dome:

100 triangles later, a dome

100 triangles later, a dome

…structurally, and to my great surprise, this paper structure [I designed a ’tiled’ template in an attempt to waste as little paper as possible using CorelDraw and printed it out on normal printer paper] is quite strong. So long as the base is secured on a couple of points, the whole structure stands up on its own and seems to self-organise. In retrospect, I should have had the seams on the inside, but again, I imagined some poor bastard in a space suit with a spanner bolting these panels together.

Making the physical model actually helped me “see” this structure virtually. The interplay of sides, angles and so on was instructive [if a little madenning towards the end, was a little “craft project from hell” as each layer of new facets caused the structure alternately rigid then floppy]. making the virtual model was another issue alltogether. I remember, in the object yard, seeing a square-based triangular panel, so went and got the name of that object, next to rockshop I created a triangle, duplicated it, rotated it 60°, rinsed and repeated 4 more times to make a neat hexagon, then inclined each facet of the hexagon until the seams aligned and neatly met at a point. Saving that as an “object group” [so I can spawn more of them in one step later], I did the same for a pentagon [72° rotation this time].

In-World Structure begins

In-World Structure begins

The most difficult part of the 3D build was angling the panels so they seamlessly joined – pitch, yaw and rotation is really difficult to gauge from only ONE perspective point and I have yet to find a way to move without having to de-select the object I am working on [Activeworlds object manipulation keys are the same keys you use to move, in a different context] … am sure there is an efficient way of doing this [certainly in SecondLife the camera re-positioning is superior to anything I have found so far in AW], yet to determine if there is an angle recipe I can use [which would make the tilting simpler and less “guesswork”].

What did I learn?  I know a little more about engineering [enough to realise as an Engineer, I make an adequate teacher 😛 ], and there is a definite construction order if you were to actually try to build one of these things with any force of gravity acting on you. I also learend that the modular approach is what would be used if you had to ransport everythign tot he remote location, and the SIMPLER the better in terms of modules, if you think about them, other structures are possible with the same shaped buts [tunnels, turrets, tubes and so on. Triangles are strong, the weakest part of any structure are the joints.

Scale is difficult to determine – if I continue as I am with the structure in-world, the dome will be MILES high and that is a little silly, so will return to the CDROM in the sky to see if there is a way of determining scale of the structure, as it must be some proportion of the side length [yeah, I know, my engineering friends will be saying “duh”]. The other model I need to explore is the “soccer ball” model, that uses alternated FLAT hexagons and pentagons – less pieces, smoother shape I suspect … all very interesting.

Lights, Camera …

So, bored with the flat, uniform lighting and wanting to get a little moody, I set about first investigating lighting.

The “world” settings can vastly effect the mood of a place – the “ambient light” [general, non-directional ambiance] and “directional light” [that coming straight from the “sun”] can be bright and cheery, dark and dank and everything in-between.  You control the “colour” of the light and therefore the intensity/luminosity by the density of colours you choose – all very nice. I am wondering if an admin “bot” might not be able to programatically change these settings, I should think this would then give us night/day as the bot could do this change gradually, using world time. Anyways, i dimmed the settings on Q2 a little, so it was not quite so sunny and cheery …

As it turns out, most things can contain a “light”, so I went for some rock’n’roll lighting with part of Wonkyhenge to create a myriad of reflections and other cheesy fx and the result ..

Lighting effects combined

Lighting effects combined

..was actually quite satisfactory. There are LOTS of things that can be varied about each light source [note to self – the light source does not actually illuminate ITSELF – each of the rocks in this part of Wonkyhenge is a light source – you see the colour from other rocks, if that makes sense]. There are “point” lights [like a bare incandescent bulb that spreads outwards from that point] and “spot” lights that shoot out a cone of directed light [you specify the direction, intensity, cone dynamics etc] – both nice. Obvious controls exist for colour [using named values or hex html refs, so 16.7 million shades might just be enough; note to self: kids will learn to spoll colour wrongly because for it to work in script, it must be spolled color – *shakes fists at Americans*], brightness [ intensity] and radius [spread].

A rather nice collection of fx exist for lights as well – blink, fadein/out, fire [a lovely faux flame flicker], flicker [like a fluoro tube going bung], flash [like lightning] and pulse [a rhythmic throbbing] – most fx have a time parameter to control the rapidity of them also, again, very nice. I can see lots of applications here [particularly when I get around to discovering fire in rockshop.

It seems most typed of objects can also be defined as a “camera”.

camera position and controller

camera position and controller

…so what I did, after an idea I saw in the Activeworlds Forum was define an object, set it rotating [to be my camera] and then defined a clickable somewhere else that would switch the user’s view to that camera object [in effect, creating a “guided tour” that followed the animation of the object].

Camera:  create name wonkycam, visible yes, solid no, rotate 2 time=8 loop
Remote: activate camera location=wonkycam

meaning, the “camera” object is rotating at 2rpm, for 8 seconds, then returning to it’s original position in 8 seconds and repeating that. The “remote” transfers the user who clicked on it’s vision to the camera object, so you see what the object pans past  – nice

Walk-throughs and guided tours are possible using this trick [note to self, explore animation and path-controlled movement more], as is “remote sensing” of far-away places without actually leaving the comfort of your current location – very useful. Lots more to explore, will keep banging the rocks together.

Forums and some telly

…so I was at a loose end, nothing on the telly so I thought I would make my own television – and a wide-screen slate-based [continuing the rock-based theme] telly in Wonkyhenge seemed like a good idea.

An In-World Telly

An In-World Telly

Lacking anything interesting to watch, I turned the “picture” property of a ‘picture type’ object [they have a mystical tag value of 200, not yet sure what that means yet as ‘sign’ objects have a tag 100 – think it is a tie in to custom code underneath that allows you to use certain commands and not others] to point to a “live webcam” of southbank. This webcam dumps pictures into the same place, so the filename stays the same, just gets overwritten every 30 seconds or so.

create picture url update=t
eg: create picture http://www.ourbrisbane.com/files/weatherdata/sbimage.jpg update=30

…very nice – now the virtual world has a portal to the real world. Yeah, I know the screengrab has a mostly dark image, but it was late, not a lot happens in Brisbane at night 😛

Seems the “picture” command is intended to allow people to bring in images they have uploaded somewhere else – shame there is no “uploader” or user files upload area for the user to upload their content, although I suppose you could use any of the cloud tools [flickr, yfrog …] so long as the URL points to a JPG file – apparently the only one supported for this parameter. One would think it should also work with ani.gifs, swfs, flvs, pngs and other modern file extensions – the content is well understood by most other platforms … still. I am assuming there must be another way to get such content in-world because I have seen it in other Activeworlds, so I have some more research ahead of me.

It seemed like I got little done tonight, but spent a whole bunch of time trolling through the AWForums, there is a richness [and familiarity that I am gradually gaining], particularly in command syntax and options that is lacking in the Activeworlds help pages … must try and find a more complete reference as it is annoying only being able to get at some of the commands and a small collection of the parameters – can anyone help here? [is anyone actually reading this junk?]

I also got a bunch of code snippets to try and some valuable advice on creating custom objects and placing them in the world object path.

I also stumbled across a web-catalogue of objects that someone had compiled of in-world objects for their world – it has categories, was searchable and contained thumbnails of many of the standard objects as well as their customs – this is great news as I can see this idea works although some of the seasoned builders in that world still preferred to wander object yards shopping for things. Maybe an amalgam of approaches is best?

Their web catalogue was an external “fan” site, but I see no reason why it cannot be used in-word using the integrated browser. There are a bunch of undocumented but interesting commands for having the integrated browser interact with in-world named objects [well, initially remotely activating and teleporting, but I am sure there are more options, I just cannot find them] … this has great potential. I am sure, for example, I saw a chat pot that could be talked to or interacted with via “links” in the accompanying browser page when last in Quest Atlantis … must investigate further.

Ready to Rok

So I was determined to play around with sound in-world…

A Real Rock Band

A Real Rock Band

and built a rock-based apparatus [this is, after all, Rockshop 101 in da Henge, man] and experimented with the “noise” command and the “sound” command which, on external appearances seem quite similar.

Both trigger samples [wav, midi or mp3], but in different ways.

Using “noise”, you can trigger it, by activating an object, say, [clicking on it] – you can wait until it finishes playing before you click on it again, or you can use an “overlap” parameter to let many concurrent noises [including multiple copies of the same one] play until they finish. In no time a wonderful cacophony results from overlapping samples.

So … I embedded the following script in one rock:

activate noise http://www.wonko.info/wOnKoBUZZ/samplesRus/percussion/drums/bigconga1.wav overlap

then chose other sounds [from my own online sample collection] for the other rocks, and a nice long sample for the big rock. I even did a dodgy flash capture [the sound quality is a bit mashed]: RokandRoll Flash Capture

The SOUND command is a bit different – there can only ONE sound playing for each citizen, that sound comes from the sound-enabled object closest to you. Nicely, that sound is “spatial” in that it appears to come from the direction the object emitting the sound it which is nice. You can LOOP but I have yet to work out how to programatically STOP the noise [I can go to the menu system and stop it there, but I am sure there must be a command that lets me do this].

I changed the “activate” script for the big rock to:

activate sound http://www.wonko.info/UoD/objects/aural/UoD8.mp3 noloop

and now when you click it is directional – as you walk around, it moves in the stereo picture [left to right], not yet sure of the range though I notice that the volume increases as you get closer and diminishes when you move away – nice for creating ambient noises and atmosphere, although I suspect it impacts a little on the bandwidth as the sound downloads before it starts playing [unlike other technologies that can stream it as it arrives].

The sound/noise can be from any accessible URL – I am hoping the new proposed “Mytunes” upload and share thingy that The Learning Place are developing will have sufficiently exposed URLs of the sounds stored in it so that we can link to them in-world – that way juke-boxes and other interactive sound-art is possible.

Imagine, building a sculpture and linking it to hand-made noises – audio performance art harnesses a number of intelligences [and is a lot of fun]. More practically, things like buttons [that need to sound like they have been pressed], doors that creak as they open, water splashing as it falls and so on are now all possible – this is a good thing if we are to create a sense of place and immersion.

« Previous PageNext Page »