Monthly Archives: July 2013

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.