30 October 2015

Getting to grips with High Fidelity


Having been reading more and more of the Alpha Tester posts about High Fidelity I thought it was about time to give it a try - and our Daden U day on 30th October provided the ideal opportunity. High Fidelity is the new virtual world development from Second Life founder Philip Rosedale, and is currently in Alpha.

Getting High Fidelity started was a bit hit and miss. I downloaded the Interface client, but although it booted up it kept crashing on my laptop with weird graphics effects, and no webcam control. I tried another office PC and couldn't get it even to run. I went back to the laptop, disconnected the external monitor and webcam, and it booted up like a dream :-)

The "big feature" of High Fidelity has always been the webcam avatar control - your web cam picks up your head movements, and even lips and eyes and animates your avatar in real time. This worked pretty well, although some times your head almost wobbles off and you have to reset, and since your conscious (at least initially) of the tracking you move your head in a very false way - which soon gets pretty tiring. Having seen it work I switched off the webcam control. High Fidelity also gives primacy to voice for avatar to avatar contact - and there are only third party text chat apps. Otherwise avatar control is pretty SL like, although flying has no flying animation and some of the camera/avatar control combinations seemed a bit tricky and I didn't have the hang of them even by the end of the day (added to which lots of places don't appear to have a solid ground!). Changing avatar was simple, although its now in one piece not two, and accessed from the Edit not File menu, both changes since the video tutorial.

Having mastered the avatar it was time to try building. The public sandboxes didn't let me build so I downloaded the Stack Manager to run up my own server. This was, as the video said, just a couple of minute task to get your own server running and choose the content pack. The process of creating a domain key has also changed since the video, but I managed to muddle through.

When first loaded into my new world all I had were stars - despite pre-loading the large floating island. I then spotted the island as as small dot miles away so had to fly over (something I've also found with other public spaces - poor choice of landing spots). Once there it looked pretty nice, good rock, grass and tree textures. Accessing the market, choosing an item and rezzing it was dead simple. Rotate, resize and vertical shift controls were easier than SL, but the movement is of the drag variety and I soon found objects disappearing off into the distance as I struggled to get a decent vantage point. I also had to add a ground plane to stop myself falling through the floating rock.

Bringin in my own objects was next. High Fidelity supports FBX (and OBJ, although FBS is usually mentioned), and I had to try about 6 or 7 different FBX objects from my collection til I found one that would come in, and even then without its texture. However the OBJ I brought in was half the City of London skyline, so that looked pretty neat (see below)! High Fidelity only imports from a URL, so you need to upload your objects to a server first.


Coding was the next task. I found a simple "touch" script in the documentation, added this to an prim (you can have just cube and sphere prims, and no prim torture), and it worked. Like the models the scripts have to be uploaded to a server, and referenced by URL (so at least you have central script editing). There is an entity embed option but this seems very constrained - one liners only. I then extended the script to include collision. You can't do floaty text, so I rezzed a separate "text" object, and again got the script to control the text on the board ("hello world" above). Again lack/changes in documentation were a problem, as nothing told you how to change the text property or what it was called, I followed the other examples and guessed at textContent, as that was the editor label, but then found it was just "text", and sure enough in one of the older demo videos the editor label is just "text" as well! (well it is alpha...)

The final thing to play with on this task was good old media-on-a-prim - having an active web page on a surface in world that you can click on and navigate - dead easy to rez a Web object and add a URL, the Daden web site  - see below.


One last task was to add our Daden sandbox to the public directory, so I paid the $20 for a year's domain name (DadenWorld) and posted it up. Note that since High Fidelity is a fully distributed system (like OpenSim) DadenWorld is only up when my server is up. Interesting that NATO is listed there, and also looked like the Swiss Army!


So all in all a good day's play with the system and I achieved all my goals - avatar control, building, importing, basic scripting, server running. Crashes were frequent at first, but after a while it all settled down. It is still in Alpha, and it shows (most of the menu options are very techie), but beginning to be usable. The distributed model is nice, and the webcam avatar control great fun, and we'll keep playing with it as the system develops and work out where it sits alongside Unity and WebGL, our current preferred technologies - and whether High Fidelity of Project Sansar (from Linden Lab itself) will be the NEW SECOND LIFE.