Heli Rescue for iPhone

Oliver Brown
— This upcoming video may not be available to view yet.

Heli Rescue

Heli Rescue

A game that I was involved with making called Heli Rescue has just been released on the App Store for iPhones and iPod Touches.

It’s a line drawing game similar to Flight Control and Harbour Master that has you drawing paths for helicopters to pick up people and return them to safety. There are three types of helicopters, three different maps and online highscore table (featuring highscores which are frankly higher than we could manage during testing). Simple, fun and only 99¢/59p.

Anytime Pool

Oliver Brown
— This upcoming video may not be available to view yet.

Anytime Pool

I just thought I’d announce a game that I’m involved with at Distinctive Developments called Anytime Pool has just relaunched.

It’s a flash based pool game that lets you play against your Facebook friends. There is a also a mobile version (to be released soon) that includes a full single player game as well as the social play through Facebook. Have fun.

Fight Klub coming soon

Oliver Brown
— This upcoming video may not be available to view yet.

Slightly off topic compared to most of what I’ve written about, but I thought I’d quickly mention Fight Klub (wiki).

Fight Klub is a new collectible card game shortly to be released by Decipher. Decipher previously produced card games based on Star Trek, Star Wars and Lord of the Rings (and others). Fight Klub aims to be significantly different from previous games in a number of respects. It will be multi-licence, meaning interesting combinations are possible (although it means many game mechanics are a little more abstract). It will also only be available online direct through through the Decipher website (which they intend to make it cheaper).

The concept of the game is very simple; heroes vs. villains, with each game consisting of a player controlling a single hero or villain and playing through a series of confrontations. And the multi-licence nature means some cool match-ups. From the very first release you’ll finally be able to answer that difficult question, who would win in a fight between Rambo and Saw’s Jigsaw killer

The move for something so different might be risky, but if it pays off, it could be cool.

The Movie DB

Oliver Brown
— This upcoming video may not be available to view yet.

I found a new website through the MythTV mailing list a few days called The Movie DB. It’s essentially aiming to be an open version of IMDB.

Many projects (such as MythTV and XBMC) have depended IMDB for a long time to provide metadata. Unfortunately this has usually been against the rules and was often difficult any since it relies on rather fragile screen scraping.

So in steps the Movie DB. From what I can tell from reading around the forums and stuff (and apologies if any of this isn’t accurate) it was started by the guy who wrote Meligrove, a database of fan made movie posters to replace a similar effort called Movie XML. The content is a little limited right now (about 8000 movies apparently) but the database from Movie XML is soon to be imported adding another 150,000.

Of course the important point is that the Movie DB is an open database - all the entries are editable wiki style. It also has high level support for TV series (with seasons and episodes etc) as well and a not-quite-ready public API.

Introducing Elisa

Oliver Brown
— This upcoming video may not be available to view yet.

I’ve keeping my eye on a project called Elisa a lot recently. It’s basically another attempt to produce a cross platform* media centre solution. At the moment its features are fairly limited, it’s essentially just some nice media playing software. It does have plugins to handle Youtube and Flickr though with lots of other stuff planned.

The main reason I’m interested in it though is that it feels likes it’s constantly making progress (and they make the progress very visible). They have weekly releases and every one actually has some cool new feature. It’s also written in Python which I think lowers the bar a little for community contributions (as opposed to C++/Qt required for MythTV).

For it to replace MythTV for me the obvious missing feature is, well, TV. Reading the forum suggests it’s quite low on the priority list for the moment (since it obviously requires a lot of work and other features are less likely to be released in the meantime just because the developers are busy). But, as I said at the beginning, it’s worth keeping an eye on.

* Not so long ago it only worked on Linux, now it supports Windows. It technically supports MacOS with some messing around but they’re aiming for proper support soon.

Google Chrome

Oliver Brown
— This upcoming video may not be available to view yet.

Well this came way out of left field for me, but after reading their thoughts and plans on the matter makes a lot of sense: Google have released a browser, called Chrome. Main highlights: based on Webkit and using a spanking new Javascript engine called V8.

I’m using it right now to type this and everything seems in order. It feels faster than Firefox 3, the interface is nice and clean and I’m generally revelling in the nice newness of it all. Interestingly it seems to have a spellchecker built-in that doesn’t recognise the word “Google”…

Anyway, anything I might say about the browser this early will end up repeating most of their hype, and that is done much better by this comic strip they released.

PS. Currently the beta version is Windows only with Linux and Mac versions to follow..

Empyrean Age bringing Factional Warfare to EVE Online

Oliver Brown
— This upcoming video may not be available to view yet.

Factional Warfare will soon be upon us. I stopped playing EVE several months ago with the plan to return once Factional Warfare was in (which I figured would be a couple of months since it was suppsed to be part of Revelations. Well the next expansion, Empyrean Age will finally bring it to us. It’s not going to be quite as drastic as my hopes but they were pretty drastic :P

Basically you sign up for FW with one of the four factions - that is Caldari, Minmatar, Amarr or Gallente (they’ve said other factions will probably be added later). You then have kill rights on that factions enemies anywhere (0.0, lowsec, highsec - even Jita, which will be even sillier than it has been). The factions enemies will obviously have kill rights on you. At the moment it seems it’s just going to be Caldair vs. Gallente and Amarr vs. Minmatar.

Joining the fight gives you access to special missions that will involve attacking your new enemies. As one faction wins fights in a system it gains “points” there. Enough points and that factions takes the system. It seems that, at least initially, only lowsec systems will be up for grabs in this way.

Finally, to balance out the fact that Caldari have little lowsec, a new region has been added basically in the middle called Black Rise that is mainly Caldari lowsec.

Silverlight is pretty cool

Oliver Brown
— This upcoming video may not be available to view yet.

More than two months since my last post. Which means I suddenly have a lot to say. Beware, rambling may follow… Nearly five months ago I claimed to be making “rapid progress with language learning”. Well obviously not rapid enough to actually reveal anything. Well that might be at an end soon.

One of the problems of writing the app using things like LINQ means most people will have other things to install to use the app (.NET 3.5 specifically - and possibly .NET 3.0 for non Vista users) and even then it’s limited to Windows users as Mono support for Windows Presentation Foundation will be a long way off (if they do it all). Since Silverlight 2.0 is supposed to be really cool and now supports a big chunk of the widgets from standard WPF (and has has quickly developing Moonlight support), why not write the app in that? So that’s what I’ve been doing. And it was a lot easier than I thought.

The first piece of easiness I found was that I only had to make like three changes to my non-UI code to make it compile as a Silverlight DLL. Unfortunately I can’t persuade Visual Studio to compile it as a Silverlight DLL and a normal DLL in one go, so I’ve currently got the same code added as two different projects and I copy the code between them (not ideal). The only real work I had to do was reimplement my data provider. When I started, I cunningly made sure that all resources (lessons, media, user progress) were grabbed from a data class. I wrote a new class that fetches it from a RESTful server (more on that in another post). So hopefully, a nice Silverlight version of the app will be public soon.

About Silverlight

For those that don’t know, Silverlight is Microsoft’s answer to Flash. Apparently. I’m not sure if it’s that a good analogy really. Silverlight 1.0 basically gave you access to a nice environment to draw things in the browser and then manipulate it with Javascript. Or something. To be honest I didn’t really care about version 1.0 since writing complicated things in Javascript doesn’t sound like fun. Silverlight 2.0 (formerly Silverlight 1.1) on the other hand gives you that same environment but the ability to manipulate the things with compiled .NET assemblies written in any CLR language and comes with implementations of a lot of the widgets in the WPF.

Mythbuntu is even simpler

Oliver Brown
— This upcoming video may not be available to view yet.

One of the newest developments in MythTV land is the development of “multirec”. Multirec is the name of the SVN branch of Myth where code to handle the recording of multiple DVB streams from a single tuner (providing the streams are on the same multiplex). This means any DVB users (in the UK this essentially means Freeview users) have the possibility of recording many more channels at once. In fact if you had six tuners (three Nova-T 500s for instance) you’d be able to record the whole of Freeview (if you had enough hard drive throughput at least).

Unfortunately using this wonderful feature requires you to run the latest SVN version of MythTV. Since I didn’t fancy compiling Myth from source I looked for a simplrr way - the answer is Mythbuntu.

Mythbuntu is basically Ubuntu (7.10 - Gutsy) with MythTV installed. It’s basically the same idea as the other MythTV distributions. The big difference is that they also provide weekly packages built from trunk - i.e. if you’re willing to accept the small chance of instability you can have bleeding edge MythTV installed without having to leave your package manager (well within a week of bleeding edge at least).

PS - You can also add MythTV to an existing Ubuntu 7.10 installation by clicking the relevant link on the Mythbuntu page. This also comes with a nifty utility called Mythbuntu Control Center which lets you choose whether to install a frontend, backend or both as well as choose which desktop to use (Gnome, KDE or XFCE) and enable/disable various useful services (VNC, MySQL etc.) all in one place.

Google Docs rule - if you use them right

Oliver Brown
— This upcoming video may not be available to view yet.

I’ve been vaguely using Google Docs (specifically Spreadsheets) since it came out but never to do anything actually important. Most of the time I just had a list I need sorting, or if I was feeling sophisticated I’d use it to decide on what was best value for money (how much £/GB a range of hard drives were for instance). Recently I started using it to plan lessons for the language learning app. The ability to use it from work (or any other computer I might be on - including viewing it on my Nokia 770) was useful, but in the end I was only really writing a list with it.

Until now. I now have a nifty little C# app that generates modules directly from a Google Spreadsheet which is definitely a Good Thing. I’ve been thinking of writing an app for module editing for a while since writing them by hand is tiresome and error prone. Google Spreadsheets does half the work for me by providing the user interface for generating a table and then provides access as simple XML. Which brings me to the matter of actually accessing the data. Google provide a client library in C# for accessing quite a lot of their API. I tried using it but found it a little confusing. Luckily since I was just wanting to query data, I discovered that raw access was actually easier. You simply make a GET request to http://spreadsheets.google.com/feeds/worksheets/_key_/public/values (where key is provided to you when you “publish” a spreadsheet - access to unpublished spreadsheets requires authorization which is more complicated). This gives you an Atom feed of URLs to the individual worksheets which them contain Atom feeds of either rows or columns (your choice). The query power of LINQ (along with XElement, XAttribute etc.) make transforming the feeds into modules really easy. In fact the code that does the hard work (takes a spreadsheet key and generates the XML) is only 102 lines long, and that’s including unnecessary spacing to make the LINQ more readable (the main LINQ query is 35 lines).