Oculus Rift arrived

Yesterday was a very interesting day all around. The main event for me was the arrival of my Oculus Rift development kit. This is a Virtual Reality (VR) headset. We have had these before but not ones that are this cheap (relatively) and that just plug into any machine and work with Unity3d !
It came in a cool case too. Some nice big clicking catches on it like something James Bond would get from Q.
Oculus rift arrived
I had to dash out and get a mini display port to DVI adapter as I had that frustrating moment we have all had at some time when you realize a tiny piece of cable is missing. I only had a VGA adapter that I usually need to projectors at presentation. Handily there is a Mac store in Basingstoke and also Apple kit stocked in the nearby PC world so I had that covered in minutes.
I ran the Tuscany demo straight away. This is a small, but lovely rendered, building in the Italian countryside and on the coast. I was, despite having experienced this sort of stuff alot before suitably amazed and excited by it.
I did not hog it though and got each member of 3 generations in the house to have a go.
I was really happy that the predlets got how cool it was too. There was a suitable amount of bemusement and wonder.

The unit is two screens one for each eye and the ability to track head movements. So these head movements can then inform a game or application that you have moved you view.
The unity 3d integration is the library that is able to talk to the rift, but it is also a couple of prefabs (bundles of reusable code) that lets you change the normal single view camera to one that generates 2 views from slightly different angles to then feed to the rift screens (one per eye). Elegant and simple. It also has a controller prefab that takes the input from the headset movement and feeds that into the unity environment.
So it is not going to take to much to test some of the applications I have and make them rift enabled, though they have to be native application publications not web ones I am assuming.
It was not the only tech of the day though as in the morning Predlet 1.0 went and experienced indoor skydiving at Airkix.

Something I remember well from the TV show 🙂
She had a blast doing that.
I had a go on the iracing sim rig there had there too, this is basically a high end pc with a hydraulic chair and some force feedback steering.
We have yet to try the brush boarding or the skiplex slope (a skiing conveyer belt).
Just to juxta pose those though predlet 1.0 finished her Revell glue together and paint kit of the Titanic. Don’t worry though, it was all perfectly normal as predlet 2.0 was completing levels on Lego Indiana Jones 2 on the Xbox 🙂

InfoQ – virtual worlds interview – me again :)

As I was on the roster as the rather excellent Goto conference I was asked by Ben Linders a few questions on virtual environments and where they fit in the world of software engineering. This turned into a slightly longer interview and has just gone live. It is always interesting to frame the answers about virtual worlds into a slightly different context or industry but of course when it comes to the software industry, the fact that this is software anyway has a nice meta element to the conversation.
The article is live here.
Along with my super g33k bio picture 🙂
epredator
It is also cool that you can now just search “epredator” on infoq and tadah! 🙂
I guess this may seem more of me going on about the same things, but there is a reason for that. These technologies make a huge difference to a lot of use cases. I am getting more calls and questions again about how these may work (post bubble). Ignoring the possibilities for anyone or any industry could be costly this time around. I just want to help 🙂

Here comes #geekweek on Youtube

You may have seen a number of posts and tweets on the interwebs about next week on Youtube (thanks @moehlert who I noticed saying it first). If not then you are in for a treat. Next week is #geekweek 🙂

It says “Come hang out at YouTube Geek Week and celebrate geek culture with a whole week of new vids, series premieres, epic collabs, and top tens from more than 100 channels across YouTube.”
That includes an experimental resurrection of the game/cgi/green screen show called Knightmare
If only we had all the clips of the Cool Stuff Collective super g33k sections online we could have joined in. (I can’t put them up as I don’t own them so just have to make do with the showreels)

Jumping into LEAP

I had originally thought I would not bother with a LEAP controller. However new technology has to be investigated. That is what I do after all 🙂
I ordered the LEAP from Amazon, it arrived very quickly. So whilst I might not have been an early adopter, and was not on the developer programme it is not hard to get hold of one now. It is £69.99 but that is relatively cheap for a fancy peripheral.
Giving LEAP a go
It is interesting the self proclamation on the box. “The remarkably accurate, incredibly natural way to interact with your computer”. My first impressions are that it is quite accurate. However, as with all gesture based devices as there is no tactile feedback you have to sort of feel you way through space to get used to where you are supposed to be.
Leap
However the initial setup demonstration works very well giving you a good sense for how it is going to work.
It comes with a few free apps via Airspace and access to another ecosystem to buy some more.
The first one I clicked on was Google Earth, but it was a less than satisfying experience as it is not that obvious how to control it so you end up putting the world into a Superman style spin before plunging into the ocean.
I was more impressed with the nice target catching game DropChord (which has DoubleFine’s logo on it). This has you trying to intersect a circle with a chord and hit the right targets to some blasting music and glowing visuals. It did make my arms ache after a long game of it though!
What was more exciting for me was to download the Unity3d SDK for LEAP. It was a simple matter or dropping the plugin into a unity project and then importing a few helper scripts.
The main one Leap Unity Bridge can be attached to a game object. You then configure it with a few prefabs that will act as fingers and palms, press run (and if you have the camera point the right way) you see you objects appear as your fingers do.
Many of the apps on Airspace are particle pushing creative expression tools. So creating an object that is a particle generator for fingers immediately gives you the same effect.
Leap unity
It took about 10 minutes to get it all working (6 of those were downloading on my slow ADSL).
The problem I can see at the moment is that pointing is a very natural thing to do, that works great, though of course the pointing it relative to where the LEAP is placed. So you need to have a lot of visual feedback and large buttons (rather like Kinect) in order to make selections. Much of that is easier with touch or with a mouse.
Where it excels though is in visualisation and music generation where you get a sense of trying to master a performance and get to feel you have an entire space to play with, not limiting yourself to trying to select a button or window on a 2d screen which is a bit (no) hit and miss.
I spent a while tinkering with Chordion Conductor that lets you play a synth in various ways. The dials to adjust settings are in the top row and you point and twirl your finger on the dials to make adjustments. It is a fun and interesting experience to explore.
Just watch out where you are seen using the LEAP. You are either aggressively pointing at the screen, throwing gang signs or testing melons for ripeness in a Carry on Computing style.
I am looking forward to seeing if I can blend this with my Oculus Rift and Unity3d when it arrives though 🙂

Drones everywhere

The crazy summer sun meant we had to take a family trip to Basingstoke shopping mall to get out of the heat. There we found that Modelzone was having a closing down sale. Another casualty of the recession. It is a pity as it is a treasure trove of interesting things.
We already have a couple of RC cars including the Beast from Cool Stuff Collective series 1 but I couldn’t help getting a few new RC and IR vehicles for the family to play with in the new garden.
The first was a Nikko RC dirt bike. It is a funny little device as it needs to get up to speed usually by facing the wrong direction. Two stabilising wings near the ground then mean it has trouble on the rough stuff. I did a little vine of it working.

However I also bought a very much reduced Tamco Ev.03 RC helicopter slung with a small video camera and microsd slot.
Ev.03 micro copter and camera
Ev.03 micro copter and camera
They did try and get me to buy the full remote TV version of a copter. RC with a live video feed to the handset but I thought I might as well get a Parrot AR drone if I was going to do that. No the micro copter would do just fine.
It is surprisingly difficult to get to fly in the first place, in part that was because I was trying outdoors in the sunlight. Its small form means it is prone to wind shear and being an IR control the 31C sunlight was causing it some confusion. It manifests itself by rising up on throttle out of shadow to about 10 feet then deciding the sunlight is asking it for more power. So a few times we nearly lost it to the next door neighbours German Shepherds.
However tonight, it was still and stormy, the sun had set and I managed the longest non-crashing, non loss of control flight yet.

Bear in mind this is a simple £30 micro helicopter with a tiny camera on board. The quality I think is pretty amazing.
I don’t think all the apache gunships that fly over Basingstoke will be bothered but I amd now thinking I need a bigger and better RC helicopter/drone arrangement. one that works in sunlight. Also once with a nice API that I can get code doing interesting things or flying it in time with the kinect.
Next I need to work on exciting camera angles like those in the game replays 🙂

Rocksmith 2014 Session mode

I am a big fan of Rocksmith, it has been a breath of fresh air in ways to learn and enjoy guitar now they are ramping up for the next edition of it. Luckily all the downloaded songs are still transferable. (Well less luck and more a necessity!)
I often use it as an example in my talks like the one I am giving this Wednesday at BCS Shropshire.
An interesting new feature has been added though, and so my talk has to evolve to keep up. That of session mode with a reactive and generative music backing band. You play and they keep up. This is really interesting and I can’t wait to see how it pans out with my guitar tinkering. The E3 conference saw Jerry Cantrell of Alice in Chains take to the stage. Just listen how, (once he has managed to go through a few customisation options using voice) the band kicks in and responds to his playing.

🙂

Not just handbrake turns – GTA V

The original Grand Theft Auto was a great game. A top down scroller with cars that had very pleasing handbrake slides as you zoomed around the city in a sort of glorified PacMan variant. That sells it a bit short but as the creators called it that once I think I can :).
There is a complete history here on Games Radar.
gta 1 via games radar
I loved the top down scrolling car action not least because I had written a few demos along that sort line.Not least the cars game that was part of the developer kit with the old firms “BIG” proof of concept for in game micro transactions back in 2004 (yes they should have stuck with it but what can you do !)
So when the 3d versions of GTA started to produce more variety, but definitely keep that level of fancy driving it was fantastic.
I always have marvelled at the size of the free roaming worlds in many of the games. They just get bigger and bigger. They are not random either they are designed, intricately designed! The entire metaverse now though becomes a backdrop for narrative, not just sliding around. The good thing is though, you can ignore the story and just have some fun razzing around in cars listening to music.
If you are not a gamer and you have not watched this new video of Grand Theft Auto V the fifth installment and the latest and greatest I urge you to give it a look. Just to get a feel for the scale of these games. I am sure GTA V will not disappoint, they have just got better and better, more and more varied. They are a fantastic achievement in games and technology too.

Wow for Wimbledon, a champion and some 3d printing !

I was going to write another reminiscing post about Wimbledon and the fantastic teamwork and effort that goes into delivering the tech there but I though I would be repeating myself.
However this year I can’t not mention Wimbledon for several reasons. The first is of course Andy Murray winning the whole Championship. The serendipity of it being 77 years since a brit won, combined with it being 7/7 that’s a lot of lucky numbers in a line 🙂
The predlets had got very into the tennis this year, but had forgot, or never been there to remember the 10 years I got to sit in the bunker there with the old company. They wanted to hear what it was like and some of the stories. One of them said “Dad, do you miss it?”. My honest reply was yes of course I miss the event and team of people that delivered it all. What I didn’t miss was the constant battles before the Championships that everyone who works there suffers. Wimbledon is a few weeks of intense work, generally in the corporate side of things it is not regarded as billable. There are some full time sports events guys and marketing people, but most of the UK team were willing volunteers and experts trying to carve time out of the normal work to do something high profile, risky and exciting. That meant anyone who was in control of your time felt they lost you for a few weeks. It also meant there were other people who may have felt jealousy or envy at the teamwork and comradeship the event still creates. Once the event is on people are pretty much locked in and doing something time dependent and high profile so have to be left alone. Once the event is done there can be some retribution, though at the same time people that have done the event are in high demand to be wheeled out in front of customers as a trophy expert. So the pattern is pretty much “you are not doing this… oh you are doing it…. well you shouldn’t…. can you please help us on this project with the expertise you have gained it will make the customer happy. Repeat.
The resilience of the guys and girls still managing to get there and do the job despite everything is as impressive as the effort itself. I hope the aftermath, with a british winner, is slightly softened though I suspect the any jealousy of the fact you were there when “it” happened may cause a noses to be put out of joint. 🙂
However, the thing this year that I was impressed about was that someone, somewhere had managed to get 3d printing into Wimbledon (something I didn’t manage in my time there though I did try 🙂 )
There are taking the data analytics and some social media feedback and 3d printing data souvenirs based on that “demand”.

I had somehow missed this as I was following more of the tennis matches this year than the press for the first time in a long while. So thanks to Andy Burns, who has managed to fight the wimbledon fight for some many years he may get his own statue, for changing his facebook profile picture to a 3d printed trophy which made me sit up and take notice.
Well done who ever managed to persuade someone to do something with this. A kindred spirit who I hope has had and will continue to have as much fun, sweat and tears at Wimbledon as many of us have had.

Adventures with Photon and Unity3d

The unity3d hospital I have been working on has, up to now, been running on the Photon Cloud. (Photon server from Exit games is a socket server that allows client applications like those in Unity3d to talk to one another. They run a simple to use hosted version called Photon Cloud which is great for testing things out.
I decided though that some of the traffic we were pushing through might break the tiers for hosting on the cloud so thought I would run my own server. It was not the concurrent user as we have a few users, but they do a lot. Rather than a lot of users doing a little which is the general profile for gaming.
Unity dev
In part that is because on of the unity clients acts as the master for the application. It holds a lot of simulation data and changes to that have to be communicated (in various cached ways). If I had built it as server logic we may have cut down on traffic but would have to stick to a single way of working. As it is the application is also designed to fall back to disconnected mode and can be run as a non network demo (though that has its own challenges).
I did have a few difficulties to start off with but many of those were actually very simple to solve, and if you read some of the annotations in the docs they all make sense.
I sparked up a rackspace windows 2008r2 server first. Photon is windows based. I had dabbled with the Azure cloud hosting version for it but much of that required a windows development environment to deploy to and I am a Mac user with occasional windows use 🙂 So it was much simpler to have a rackspace server and use the remote desktop to attach to it.
Downloading the files via the remote desktop was a problem to start off with due to all the various firewall restrictions, so there was a bit of clicking around windows admin.
I followed the 5 minute setup (kind of). Once downloaded you just end up with a set of bin directories for the Photon control and directories with the various server applications and configurations.
Remote Desktop ConnectionScreenSnapz001
All I needed was a lobby host and then simple game rooms to hold broker the data flow and RPC calls. I had not extra server logic. If something moves in unity3d on one client it needs to move on the other.
I didn’t have much luck having asked photon to start the Default application. I was not getting connected so I added a few extra firewall rules just to be on the safe side. I was starting to wonder if I could get to the hosted machine at all but I think there were some other network problems conspiring to confuse me too.
Then I read that if you are switching from Photon Cloud to your own server you should use the other application configuration, cunningly named Loadbalancing(MyCloud). I switched to that and ran the test client on the actual server and things seemed better. Still no luck connecting from unity3d though. Then I looked at the menu option that said Game Server IP config. It was set to a local address, so obviously the server was not going to be letting itself be known to the outside world. A simple click to autodetect public IP and I was able to connect from unity3d.
It all seemed good until after a few connects and disconnects it started to throw all sorts of errors.
I had to ask on the forum and on twitter, but just asking the question I started to think what I was actually doing and what I was running. I was glad of the response from Exit Games though as it meant that I was going along the right path.
Again it is obvious but… The mycloud application config that I was using had 1 master server and 2 game servers it did say it was not for production, but as this is not a massive scale game I thought I wouldn’t touch any configs. It looked like the master server was getting to a point of asking each game server who was the least busy (to direct traffic to) and getting an answer that they were both maxed out. I initially thought I needed to add more game servers, but it was actually the opposite. Removing one of the game servers from the config (effectively removing and load balancing logic) meant the same game server got the connections. The loadbalancer is really there for other machines to be brought into mix.
Having thought that was what was happening I cut the config files but still found after 30 mins running I got conflict. I did say that in the forum post too. However I had not fully rebooted the windows box only restarted the photon server. I think there is a lot of shared memory and low level resources in play. A few reboots and restarts and things seem to be behaving themselves.
The test will be today when the scenario is run with several groups of 5 users, but all running voice too.
Unity server buttons
I have put some server fallback code in though to allow us to switch back to the Photon Cloud if my server fails. For a while I was publishing two version one for cloud and one for my server. That was getting impractical as each upload on my non infinity broadband was taking 45 mins. So any changes had a 90+ minute roundtrip not including the fix.

The future of food, flies, soup and printed pizza – Flush Issue 8

The new issue of Flush magazine has just gone live and this time I joined in the food theme of the magazine.
As usual thankyou to @tweetthefashion for putting together such an amazing looking publication. I also know this was a bit of a trauma with some of the tech and file corruption all playing their part. It is there now though 🙂
Page 87 on is my little contribution.

Being a company called Feeding Edge I always thought I would give myself the opportunity to move to a food based business or set up a restaurant. However this was an article about new types of food, the challenges we have for feeding the planet and some of the science and art of food that is coming to light.
I often put little tag lines into sections and my favourite was “waiter there is a fly in my primordial soup” in the section about farming algae for food.
It is probably not for the squeamish, but it is the first time I have combined Candy Crush, Michelin Starred Noma, the UN, insects, “organic side streams”, Danny Baker and 3d printing into a single article 🙂
Anyway see what you think.
The full magazine is here and you can download or read it in any number of forms. It joins the ever growing portfolio of subjects on my writing page
Each of these often end up as a talk too, so I guess I best get keynoting whilst you read the apple news stand version too:)