Wednesday 4 March 2009

ClickOnce

I've figured out the distribution method for XAGEditor. In previous alpha releases I've bundled everything up separately in a .zip file. The problem with this is that XAGEditor and XAGE itself have certain requirements (DOTNET 2.0 and XNA GS 3.0 frameworks, DirectX). My temporary workaround was to include a seperate installer, "DummyGame.exe", essentially an empty XNA game which used the Microsoft ClickOnce method to automagically download and install these requirements. That way XAGEditor and the sample XAGE game would work.

This isn't an especially user-friendly solution. I've now changed this so that XAGEditor (which itself contains XAGE) uses ClickOnce. This means that users will go to the website, click on a button and XAGEditor and all the requirements will be downloaded. What's more, XAGEditor will automatically be updated whenever I publish a new version to the website. Brilliantly, this means I don't have to spend a day packaging up and testing a release and uploading it to rapidshare or megaupload or wherever - instead I can just click 'publish' on VS2008 and all end users will find XAGEditor updates the next time they use it (providing they are connected to the internet). I've tested this and it works like a charm.

I've been very impressed with the ease-of-use for the technologies I've discovered in the last few days. If I use ClickOnce, which I'm 90% sure I will, then all I have to be wary of is introducing any changes that break games relying on older versions.

The only issue remaining is that XAGE itself does not automatically install requirements. This is a problem if a creator wants to distribute their own Windows-only game. If they distribute their XAGE game to someone without XAGEditor (or the required frameworks) installed then it won't run. I can see three possible solutions to this:
  1. The creator can include the "DummyGame.exe" installer along with their XAGE game (not ideal but easy).
  2. The creator can build own windows installer for their XAGE game to ensure the requirements are met (more difficult but a more end-user friendly option)
  3. The creator could upload their game to a new steam-like online service (XAGE Launcher?). This would take a lot of work on my part, and there'd be all sorts of of bandwidth costs or even legal issues, but it could be a great way of unifying the game creators with their audience.
AGS offers something similar to option 3, but the catalogue of games is web based and the they are not hosted on-site. My way would be much more like a lite version of Steam or XBLA/XBLCG. And who knows, maybe I could eventually bundle in some payment methods so people can release XAGE games commercially without requiring a publisher. DRM is a thorny issue best left until another day, methinks.

P.S. It looks like XAGETOOL is being renamed XAGEditor. If anyone has any better suggestions I'd love to hear them.

No comments: