Opensim/Second Life Vs Unity3d

I actually get asked a lot about how Unity3d stacks up against Opensim/Second Life. This question is usually based on wanting to use a virtual world metaphor to replicate what Opensim/Second Life do but with a visually very rich browser based client such as Unity3d.
There is an immediate clash of ideas here though and a degree of understanding that Unity3d is not comparable in the usual sense with SecondLife/OpenSim.
At its very heart you really have to consider Opensim and Second Life as being about being a server, that happens to have a client to look at it. Unity3d is primarily a client that can talk to other things such as servers but really does not have to to be what it needs to be.
Now this is not a 100% black and white description but it is worth taking these perspectives to understand what you might want to do with either type of platform.
Everything from an Opensim style server is sent to all the clients that need to know. The shapes, the textures, the position of people etc. When you create things in SL you are really telling a server to remember some things and then distribute them. Clearly some caching occurs as everything is not sent every time, but as the environment is designed to be constantly changing in every way it has to be down to the server to be in charge.

Now compare this to an “level” created in Unity3d. Typically you build all the assets into the unity3d file that is delivered to the client. i.e. its a stand alone fully interactive environment. That may be space invaders, car racing, a FPS shooter or an island to walk around.

Each person has their own self contained highly rich and interactive environment, such as this example. That is the base of what Unity3d does. It understands physics, ragdoll animations, lighting, directional audio etc. All the elements that make an engaging experience with interactive objects and good graphic design and sound design.
Now as unity3d is a container for programming it is able to use network connectivity to be asked to talk to other things. Generally this is brokered by a type of server. Something has to know that 2,3 or many clients are in some way related.
The simplest example is the Smartfox server multiplayer island demo.
Smartfox is a state server. It remembers things, and knows how to tell other things connected to it that those things have changed. That does not mean it will just know about everything in a unity3d scene. It its down to developers and designer to determine what information should be shared.

In the case above a set of unity clients all have objects numbered 1, 2 and 3 in them. It may be a ball, a person and a flock of birds in that order.

When the first client moves object number 1 smartfox on your own remote web server somewhere in the ether is just told some basic information about the state of that ball. Its not here now its here. Each of the other unity clients is connected to the same context. Hence they are told by the server to find object number 1 and move it to the new position. Now in gaming terms each of those clients might be a completely different view of the shared system. The first 2 might be a first person view, the thirds might be a 2d top down map view which has no 3d element to it at all. All they know is the object they consider to be object number 1 has moved.
In addition object number 3 in this example never shares any changes with the other clients. The server does not know anything about it and in the unity3d client it claims no network resources.
This sort of game object is one that is about atmosphere, or one that has no real need to waste network sending changes around. In the island example form unity3d this is a flock of seagulls on the island. They are a highly animated, highly dynamic flock of birds, with sound, yet technically in each client they are not totally the same.
(Now SL and Opensim use principle this for things such as particles and clouds but that is designed in)
For each user they merely see and hear seagulls, they have a degree of shared experience.
Games constantly have to balance the lag and data requirements of sending all this information around versus things that add to the experience. If multiplayer users need to have a common point of reference and it needs to be precise then it needs to be shared. e.g. in a racing game, the track does not change for each person. However debris and the position of other cars does.
In dealing with a constantly changing environment unity3d is able to be told to dynamically load new scenes and new objects in that scene, but you have to design and decide what to do. Typically things are in the scene but hidden or generated procedurally. i.e. the flock of seagulls copies the seagull object and puts it in the flock.
One of the elements of dealing the network lag in shuffling all this information around is interpolation. Again in a car example typically if a car is travelling north at 100 mph there if the client does not hear anything about the car position for a few milliseconds it can guess where the car should be.
Very often virtual worlds people will approach a game client expecting a game engine to be the actual server packaged, like wise game focused people will approach virtual worlds as a client not a server.
Now as I said this is not black and white, but opensim and secondlife and the other virtual world runnable services and toolkits are a certain collection of middleware to perform a defined task. Unity3d is a games development client that with the right programmers and designers can make anything, including a virtual world.

*Update (I meant to link this in the post(thanks Jeroen Frans for telling me πŸ™‚ but hit send too early!)
Rezzable have been working on a unity3d client with opensim, specifically trying to extract the prims from opensim and create unity meshes.

Unity3d and voice is another question. Even in SL and Opensim voice is yet another server, it just so happens than who is in the voice chat with you is brokered by the the main server. Hence when comparing to unity3d again, you need a voice server, you need to programatically hook in what you want to do with voice.
As I have said before though, and as is already happening to some degree some developers are managing to blend thing such as the persistence of the opensim server with a unity3d client.
Finally in the virtual world context in trying to compare a technology or set of technologies we actually have a third model of working. A moderately philosophical point, but in trying use virtual worlds to create mirror worlds at any level will suffer from the model we are basing it on, name the world. The world is not really a server and we are not really clients. We are all in the same ecosystem, what happens for one happens for all.

Don’t they test software anymore?

This is not a rant about the constant patching of my PS3 everytime I turn the thing on, nor about the minor updates hear and there in various operating systems and platforms. Well actually it might be, but its not intended to be rant at all.
Whilst playing the wonderful Just Cause 2 on the Xbox I bumped into a few bugs and glitches. They all happened around the large radio antenna dish up in the mountains.
The first saw me accidentally get inside of the buildings. The buildings tend to be texture walls to climb so once you are inside they seem to be invisible as there is not texture to render. This was amusing until I realized I could not get out at all. I was not able to spoof an evac and had no ammo to self harm so I had to quit πŸ™ Still these things happen.
I then popped back to the same place and found a little glitch with the top edge of a building.
Just Cause 2 Glitch
i.e. I am standing on nothing due to some odd collision detection.
For me I do not regard these are terrible flaws but it does raise the question of how, with such large expansive experiences it is ever possible to get enough test coverage and QA in place. Just Cause 2 has 400 sq miles of terrain, trees, building water. Vehicles moving around. Clearly the physics engine can be tested with a relative few vectors but when the place is built by hand, building placed its almost impossible to not have a few errors in place. Equally with a free roaming game its hard to tell when something is a bug.
I had driven a speed boat straight at a yacht. The speed boat was forced underwater with me still driving it, I had a submarine in effect. That is less of a bug a more an unintended consequence, the thing was it then became my mission to try and recreate it, which I eventually did.
Testing and coverage is actually not an instinctive thing to do as I have found with some clients. Where an atomic action happens with the same start and end conditions, but where it is held in a different part of a flow or sequence each time it is not always so necessary to run a test for every permutation and combination. Test the changes, test the extremes and test the critical path.
The software I used to build way back for internal corporate systems testing was a straightforward job in many respects, as we started to get more and more service, more and more permutations and many more functions it clearly has got a lot harder.
It is why I am not surprised that some tests really don’t get done in favour of patch later over the web, though at the same time I suspect some don’t get done because “hey we can patch it later”.
Anyway I am not moaning about Just Cause 2 as I am still in awe of its size and scale, just as I am with GTA IV and will no doubt be with Red Dead Redemption. Free roaming FTW!

No not Snowcrash, Modern Warfare 2 updates

The last few hours have been about the release of an update to one of the most popular online games of recent years. Modern Warfare 2. The update, or “stimulus package” as it is entitled is a new collection of maps to engage in multiplayer matches online. The pressure that Xbox Live was put under and the Modern Warfare system, must have been very intense as the game is still highly played and clearly most people were geared up to download it and to spend 1200 Microsoft points on Xbox Live (though that seems a little steep for 5 maps).
DLC is an interesting approach to keeping a game alive, the game becomes a framework or container for us to be sold new virtual goods. People often assume virtual goods are t-shirts and posters but this is highly engaging virtual content.
What is also interesting is that the levels will feel different each game. This is because of the unknown factor of other people and of variations to the games, team deathmatch, capture the flag etc that give a different dynamic every time.
What we end up with is an event in virtual space, with some other people joining in and a degree of structure to the event. It may be twitch reaction shooting and situational awareness but it is an important interaction to help inform the non game virtual worlds.
One of the levels features an oddly spooky mannequin factory that in Snowcrash you might consider these are avatars of people with lower end kit and connections to this virtual world.
MW2 dummies
Actually they are just scenery. Though when you come barrelling into the room tuned to shoot at anything human shaped they are a little disconcerting en masse.

The only way is up – Just Cause 2

Recently I have been exploring the new free-roaming island based game of Just Cause 2 on the 360. I was a fan of the original and anything that features a high degree of independence of action, not just on the rails story appeals to me. There is an interesting dynamic in such games though, that in not following the story all the time it feels as if you may be missing out, not doing as you are told. This may be my legacy of gaming in that much of what we have grown up doing has been to follow a plot. It is akin to listening to the radio rather than picking your own playlist on an MP3 player. The latter is rewarding but the former is much easier and my just lead you to some new piece of music you had not considered.
I have to say that Just Cause 2 has an immense map. You have 400 square miles of map to explore. Very importantly though that is not all, there is very much a use of height in this game. Buildings and mountains can all be traversed, and subsequently jumped off again with some fantastic base jumping elements. In addition you can take to the skies in helicopters, jets and commercial airliners too. Even without the use of the upcoming 3d it manages to generate a fantastic feeling of vertigo.
Just Cause 2
Another feature of a sandbox environment is the ability to deal with things in inventive ways. Your character features a grappling hook that does the basics such as hanging out of a helicopter even higher in the air.
Just Cause 2
However it also is able to be used as a tool by attaching both ends of it to things and using physics.
A prime example was when my car ended up on its side propped against a tree, yes I was driving up a mountain in a “I wonder if this will work moment”. It was an obvious thing to do to grapple the car, attach the other end to a very large rock and see what happened. It righted the car. It then made me feel I had been clever and inventive dealing with a situation of my own creation.
There are somewhat dubious references to the imagery of the gulf war in that the islands dictator has large statues dotted around the island. Part of your destructive game play means you can attach the grapple to the statue and then to a vehicle and attempt to pull down the statue.
Sandbox games are the closest to what we see in virtual worlds in crossover terms. Just Cause 2 is a single player game, in part because the destruction you create is really personalising your island. However the balance between “give me something to do” and “I am just going to find something to do” may be something the VW providers and content creators need to consider in helping people find a narrative, either social or business related.

What are games really teaching us?

Last night I was in London at the Dana Centre for a session on What do games really teach us. It was mainly a panel session with
John Kirriemuir from Silversprite (a fellow metaverse evangelist)
Pat Kane, author, The Play Ethic (and singer with Hue and Cry)
Sophie Blakemore, video game designer (and TV presenter)
It was facilitated by Gareth Mitchell, Presenter, Digital Planet, BBC World Service.
The event was Nintendo sponsored so there were lots of booths with Wii’s and various games for people to experience. Also curated and put together as part of a series by the good Dr Aleks whose TV show Virtual Revolution got a good few mentions in intros πŸ™‚
The first part of the evening was to go and play some games. This was interesting, but as I am a gamer and have played most of them already I left the many people who did not seem quite so game aware to get on with it. Though I did get thoroughly beaten up on boxing, I guess my heart was not in it πŸ™‚
Gareth was very keen to promote the use of twitter, and the #danacentre hashtag. I ended up overhearing a couple of guys saying whats a hashtag, so I helped them out with some free social media consulting πŸ™‚ The hashtag was up on a rolling display on the main screen. So as often happens at these events it becomes hard not to grab a little screen time with the odd tweet hear and there.
Gareth (@GarethM) was keen we sent questions to him and also jokingly said we could heckle him as he had never been heckled before on twitter.
I was sat with my good friends Giannina and Ren and it turned out we were kind of the SL mafia in the room.
We were also tweeting a lot and responding to the request to heckle! I think most of our direct tweets got read out though Gary seemed reticent to say “epredator” but did say other peoples handles. However, its all good.
The panel did a great job of informing the audience of some concepts and anecdotes around what games are and where they stand. This was of course to a mixed audience, professionals and gamers such as us in the SL mafia and some people to whom everything was a surprise I should imagine.
In discussion around task based games and completing and winning missions and the formulaic nature of many games Pat was very vocal and passionate about needing to push the art form forward. An Avant Garde set of games not designed to be popular and commercial for the sake of it. It is in these we will see richer ways to reflect and rehearse. Clearly this relates to the play ethic and his concern as to how those boundaries of ethical decisions are being created for us to rehearse.
Sophie mentioned America’s Army and how whichever “side” you are on the enemy look like the apparent enemy of America. Which forces people to take on a certain perspective.
John covered a lot about how virtual worlds and free expressive sandpits are a huge area for education. The ability to try things out not just in a packaged game but as experiences extends how we can learn from games.
Somewhere along the line Eve-Online got a mention, primarily for their economy and then with the audience joining in saying how they have real pyramid schemes in there by some nefarious players. We nearly got all Daily Mail. Ren was busy laughing at some of it, heard it too many times before and he decided to reveal his true identity by ripping open his shirt as I tweeted anyone need to know about Eve talk to RenZephyr.
Super Eve
As much of this is my chosen field, and also one I frequent as a pastime this was more like watching a popular film but sat with some friends. Still a good event and I would interested to hear what the others less tied into this world thought.

Heavy Rain – Heavy Narrative

I hope this is spoiler free in talking about Heavy Rain.
In all the DotGovLabs games workshops we have had discussion around narrative and how a game experience needs that in some form. Heavy Rain has come up a lot in that as a prime example of both story and character engagement. We also have often ended up talking about fun. Often in the fun discussion zany, wacky, quirky, frivolous are the natural partners to that. However we have also all been discussion challenge, and how solving something hard, achieving a complex task is rewarding and fun, but in a different way.
I had read a lot about Heavy rain, seen the pictures and heard others say how unusual it felt to engage with. Last night in a 4 hour stint I could not put Heavy Rain down, and there is a lot more to come story wise it would seem.
It certainly pushes some emotional buttons for me as a parent and has an air of intrigue about it that is not quite a horror film style fear but its suitably slow pace give you a lot of time to think and reflect of whats going on.
Heavy Rain
The acting in this form both the technology of the facial expressions to the brilliant voice talents blended with a varied set of camera angles and film style techniques have certainly moved this sort of story telling forward. It has clearly learned and extended its predecessor Fahrenheit, but cranks up the emotions even more.
The game mechanic is very simple, and is a serious of twin stick gestures at vary speeds or slightly more complex quicktime “Simon Says”. When something more action packed than walking around investigating happens you are bounced from you reflective and pondering mood into an almost panic. Its all adrenalin, but seems to be a different flavour flowing.
The plot has a central character and I felt I was in his shoes, though it was not too big a leap to segue into the other characters just as in a back story in a film. Feeling sorry for the character and wanting to help yet wondering if he is the one that needs help is key to this story.
At points when you think things are just settling down a curve ball is thrown and one of the most unpleasant levels I have played was what seemed to be a hallucination of all the crowds in a train station as static dummies, paused in time, slightly greyed out. You have to walk through them and as you touch them they crumple to the floor. It actually reminded me of the Modern Warfare 2 infamous airport scene, there innocent civilians are cut down by the team you have to work with and you can do little about it, its a shock, but more of a single moment out of context with the rest of MW2. Here in Heavy Rain, there is nothing you can do about the people either, you know its a dream, the panic of the slow chase you are in and watching people drop like flies will stick with me for while. It’s very spooky.
I am really looking forward to getting through this story now, likewise seeing how the apparent choices make a difference in the long run, at the moment if its making a difference its very subtle.
One last think, I love the FBI agents desktop AR. Roll on when we have that for real, great virtual world crossover.
***Update After several solid late night sessions I finished Heavy Rain last night. It certainly picked up the pace and told an intriguing story. There were moments I gasped and felt a variety of emotions form revulsion to relief and an undercurrent of sadness. Spending that much time with so few characters makes this feel like a TV mini series rather than a film. I usually wander from most games before finishing them as over the years the endings have let me down and I have felt it better to leave the thing hanging in the air as a great memory. This one though…. absolutely needs to be finished. What a great piece of entertainment. Thankyou Quantic Dream

Pointing to the point of points

In the government and games investigations and workshops I have been doing recently we have had a lot of discussion around points systems. I wish there had been time to show people Jesse’s video all the way through to help understand where this all may go.
Very often in considering using a game or game mechanic it seems to be considered as a self contained unit. Whether that is the basic premise of the games industry in shipping a CD or with the Facebook game genres that can regarded as an evolving service.
None of these consider the concept, as used in Alternate Reality Gaming, of distributing the narrative, experiences and interactions across multiple products and services that may already exist.
It is mainly due to our conditioning of how we have had to consume media, i.e. lets watch this film now, and the need potentially for us to chunk and classify our time and experience. However, for those of us that are increasingly thin slice multi-tasking blending social, family and work in a fluid cross platform way it may be that we are more open to points systems and achievements layered on top of our current personal life stories?
As an example I mentioned that I tweeted my achievement of filing my first years company return. I had decided that felt like
a) something to be proud of
b) something to let friends and family know that feeding edge was still on track
c) remind any detractors that I am still pushing forwards

Clearly for people not running a business filing a company return may not have a comparable achievement, but for my fellow startups, even though their may be at a different time in the year they may pick up on that and feel a sense of being in this together.

Simple points in games, scores, money, credits etc follow the same principle, though until they are published or shared outside of the game environment their value could be considered less. Though equally they become the currency of that circle of acquaintances and provide the “in this together” factor.

These rewards and achievements across multiple systems become very personal rewards, humans are reward driven. If it is possible to double up on a reward by combing it with others or placing it another domain to get a kick from it again whether it is from a pure game, a family event or achieving a business milestone then we should?

In sharing photo’s on flickr we are doing that too. We see something, an event. We capture it and feel a sense of achievement and then in showing it to others we get another pay off. With online of course someone may view and comment many years later so the pay off can be ongoing.

I find it a hugely interesting motivator and one that I keep seeing the patterns in across everything we do. Likewise the keeping an achievement to yourself works, knowing what others don’t. Another mechanic that we can attempt to tap into in interacting with people.

Restaurants Vs Home Cooking, Distributed Vs Local

I have been wrangling with explaining how a business or idea can be spread across user generated content platforms with as much impact as attempting to create a platform of your own.
The social and technology landscape that surrounds us right now has fundamentally shifted opportunities for people to get things done. If you want to do something there probably is a place, space, server or service where you can experiment with your idea without the need to invest huge sums of money and hours of effort in getting the entire full featured gizmo up and running.
Businesses that suggest they are going to inject themselves into the places where people already are, in particular in online activities are often viewed as a little odd. It is part of the reason people get confused by virtual worlds like Second Life. There is the business of Linden Lab in creating the tools, running the servers etc. However there is also the creativity of the residents and users of the places in that world. Those people are able to experiment with ideas of how to interact in a virtual environment without having to build an entire one. Likewise people who want to experiment with how to build one and run one can now also do that due to the open source Opensim.
That is not to say there are not huge rewards for those platforms and middleware providers that make it easy for everyone to do the thing that they want, but presence in another place makes a great deal of sense. If your core business is story telling why should you need to bother about how a light shading technique is coded in a 3d engine.
I think we have always had this concept, but for some reason its got lost in attempting to compartmentalise business ideas. If you are a RL shopkeeper you do not tend to build the shop and the street it is in.
Baby squid
The exciting thing is that both concepts can co-exist. Just as restaurants and people cooking at home are really the same thing, but just there for different levels and quality of experience.
So thinking about explaining a truly web distributed experience over user generated content platforms on the web is more like considering cookbooks and utensils for the home market, spread in lots of different places, used in lots of different ways as opposed to the very focused, very local experience of a restaurant.

180 ideas by 22 experts

Yesterdays quick brainstorm idea generation session for DotGovLabs was a very interesting session indeed. Ren Reynolds had invited an amazing set of people and I have to thank them all for coming and joining in.
We only had two hours to see what we could all generate from one another’s interactions. Using the tried and tested (but still quite scary) technique of crowd-sourcing with post-it notes around the subject of Games and Government everyone dived right in.
Having (over) 22 people in one session was likely to be too many, but as it turned out once everyone got going things started to flow. The lack of complete structure is not always for everyone, though many people have experienced this free form idea generation before. I had created some themed areas to help focus some thought, but in general we wanted whatever came up to be put on the board.
I was very happy when the brainstorm “rules” I had on a whiteboard that included “Wild and extreme ideas are good” was adjusted to “are fantastic”
The voting section highlighted some interesting points which then led to good round table discussions on the subject too.
There are some report deliverables out of all this which need some work to put all the various other inputs together.
I went through all the 180 ideas and comments this morning grouping and ordering them. I also had a flashback to a whiteboard session in 1998 when I put MMORPG up in a session on where we should go with the web business at the old firm. It was not high on the list of voting, but would have actually generated a lot more revenue if we had engaged with it all at the time πŸ™‚
Idea generation workshop
One thing I can share at the moment is the result of the warm up exercise.
I suggested that people write down a significant influential gaming moment and put that on the board. As we are dealing with engagement and we were in general a group of gamers it created the following list. See how many resonate with you πŸ™‚

Playing quake for England
Doom II over a serial cable for the first time
Getting the Babel fish in hitchhikers guide to the galaxy
Getting an Xbox to try and get down with the kids (Failed!)
Meeting Darth Vader in Star Wars Galaxies
Pong in the 1970’s
Choosing to be a vengeful or benign god in Black and White
Discovering I was actually evil in world of warcraft (where I thought I was good)
Galaxian 10p after 10p spent in an afternoon
Swooping in Zagawhateva on flying mount
Capture the flag (in real life)
Having pong arcade game fall on me at youth club circa 197?
Heavy Rain
Seeing the power of narrative in Fahrenheit
Portal’s ending made me cry
T-Rex on original Tomb Raider
Learning to play chess with my dad
Linking 2 BBC B together and playing Elite for days with brother aged 10
Getting 70 on Iphone Scrabble
The death of Aeris on FFVIII
Seeing the facial animations on Half-Life2 on my PC (real time) for the first time
Finding out that β€˜Hunters’ are really fun in PvP in World of Warcraft
Realizing what Stranglethorl Vale was saying
Completing Myst – No Cheats