Infuzor Installer and Autopatcher now shipping!
by Dreamer · 11/29/2006 (12:23 am) · 15 comments
Howdy,
I figured I'ld update my blog to let everyone know that the Infuzor installer and autopatcher is now shipping.
Weighing in at a mere 1.4MB's Infuzor is small enough to fit on a floppy disk, and since it uses Subversion (aka SVN) as it's update source it can easily distribute and update, complex Multi Gigabyte applications.
SVN is a fantastic protocol for an updater to use, unlike rsync, ftp, or even bit-torrent, after the initial install SVN only pushes changes to files not the actual files themselves. So say you had a 10k file where 3 lines had been changed. Only the difference i.e. those 3 lines, would be pushed to the client. This could result in massive bandwidth savings. Our own decision to use Subversion in house has cut our bandwidth bill by over 500%.
The other nice part about SVN as a base for an updater is you don't have to try and keep a "patch list" or a list of files you've had to change, subversion does that for you automatically.
And the final reason to use SVN, as your updater technology is that if you're serious about developing your game you likely already have an investment in Subversion as your concurrent versioning system, you can now leverage that investment saving you time and money.

Infuzor is completely crossplatform, and will run out of the box on Windows, Linux, Mac,*BSD, Solaris or pretty much anything else with a JVM.
It is self contained and has absolutely no dependencies.
It can be deployed as a standalone application or as a Java Webstart application.
Complete source code is included with the purchase, but you'll likely never need it because it's written to be highly customizable with just a few simple lines in a text based config file.
Besides installation and update it also has launch control capabilites. And with only 3 lines of c++ code added to the main loop of your application, you can require that your application be launched from within Infuzor, thereby helping to make sure that only authorized users can use your program.
This product is not limited to TGE or TSE based games, it was designed to be used for any instance where you want to securely and regularly update a client application and can also be used to maintain control over who has access to your product.
Infuzor was created by me under contract for Voodoo Fusion Studios, for use in their upcoming title Conflict Omega.
They kindly allowed donated a copy to the Community Demo for the MMORPG Enhancement Kit, you can see the demo by going to MyDreamRPG.com and clicking on the link labeled "Demo" at the top of the site. User Name for the demo is "gst" password is "gstgstgst".
Can't wait? Want to buy now? It's for sale for only $50, exclusively at The MyDreamRPG.com Content Store
I hope you find this information useful,
I figured I'ld update my blog to let everyone know that the Infuzor installer and autopatcher is now shipping.
Weighing in at a mere 1.4MB's Infuzor is small enough to fit on a floppy disk, and since it uses Subversion (aka SVN) as it's update source it can easily distribute and update, complex Multi Gigabyte applications.
SVN is a fantastic protocol for an updater to use, unlike rsync, ftp, or even bit-torrent, after the initial install SVN only pushes changes to files not the actual files themselves. So say you had a 10k file where 3 lines had been changed. Only the difference i.e. those 3 lines, would be pushed to the client. This could result in massive bandwidth savings. Our own decision to use Subversion in house has cut our bandwidth bill by over 500%.
The other nice part about SVN as a base for an updater is you don't have to try and keep a "patch list" or a list of files you've had to change, subversion does that for you automatically.
And the final reason to use SVN, as your updater technology is that if you're serious about developing your game you likely already have an investment in Subversion as your concurrent versioning system, you can now leverage that investment saving you time and money.

Infuzor is completely crossplatform, and will run out of the box on Windows, Linux, Mac,*BSD, Solaris or pretty much anything else with a JVM.
It is self contained and has absolutely no dependencies.
It can be deployed as a standalone application or as a Java Webstart application.
Complete source code is included with the purchase, but you'll likely never need it because it's written to be highly customizable with just a few simple lines in a text based config file.
Besides installation and update it also has launch control capabilites. And with only 3 lines of c++ code added to the main loop of your application, you can require that your application be launched from within Infuzor, thereby helping to make sure that only authorized users can use your program.
This product is not limited to TGE or TSE based games, it was designed to be used for any instance where you want to securely and regularly update a client application and can also be used to maintain control over who has access to your product.
Infuzor was created by me under contract for Voodoo Fusion Studios, for use in their upcoming title Conflict Omega.
They kindly allowed donated a copy to the Community Demo for the MMORPG Enhancement Kit, you can see the demo by going to MyDreamRPG.com and clicking on the link labeled "Demo" at the top of the site. User Name for the demo is "gst" password is "gstgstgst".
Can't wait? Want to buy now? It's for sale for only $50, exclusively at The MyDreamRPG.com Content Store
I hope you find this information useful,
About the author
#2
11/29/2006 (2:49 am)
Erm... what's a floppy disk? ;-)
#3
Also, subversion uses a binary copy of the original that it does difs against doesnt it? I mean, if you look in your .svn dirs, arent there "the previous version" copies of the files you are holding in the repo on the local client, so that you can then do the binary diff and ask for the changes? I was under the impression that the local svn essentially doubled the installed size (not that its too much of a problem unless your game is multi-gigabyte to install in the first place?
Just wondering.
11/29/2006 (3:25 am)
I'm not sure about using Java for this kind of thing. The Java runtime adds a lot of overhead (in download terms).Also, subversion uses a binary copy of the original that it does difs against doesnt it? I mean, if you look in your .svn dirs, arent there "the previous version" copies of the files you are holding in the repo on the local client, so that you can then do the binary diff and ask for the changes? I was under the impression that the local svn essentially doubled the installed size (not that its too much of a problem unless your game is multi-gigabyte to install in the first place?
Just wondering.
#4
This kind of approach can be used to make a universal installation archive too.. all you need to do is leave out the actual game engine executable from the main download, and have the patcher grab the correct one that's needed the first time it's run.
Phil: what overhead in download terms? CPU overhead? It's not too much a problem if running in a thread surely (and it's happening before Torque starts up anyway..)
11/29/2006 (4:53 am)
Dreamer: Nice, looks pretty similar to the Java patcher I've developed.. And being a .jar, it can even overwrite itself with a patched patcher, if necessary..This kind of approach can be used to make a universal installation archive too.. all you need to do is leave out the actual game engine executable from the main download, and have the patcher grab the correct one that's needed the first time it's run.
Phil: what overhead in download terms? CPU overhead? It's not too much a problem if running in a thread surely (and it's happening before Torque starts up anyway..)
#5
Oh and one question from someone who don't have a lot of experience with Windows.
Using Java on MacOS X is not a problem as it's pre-installed, but do someone have any statistic about Java on windows machines? I remember having to install J2ME on one Windows box a while back and it was quite painfull.
Too bad Steam survey doesn't include Java statistics
11/29/2006 (4:54 am)
What version of Java is needed to run the autopatcher?Oh and one question from someone who don't have a lot of experience with Windows.
Using Java on MacOS X is not a problem as it's pre-installed, but do someone have any statistic about Java on windows machines? I remember having to install J2ME on one Windows box a while back and it was quite painfull.
Too bad Steam survey doesn't include Java statistics
#6
11/29/2006 (7:23 am)
You should add how much it costs to the product page. I had to add it to my cart to see that it was $50.
#7
Anyways I've updated my posting here with the price.
Regards,
Dreamer
11/29/2006 (7:30 am)
Wierd it's likely a CSS display bug or something on the product page. We just changed out themes on our site and since the store and the front end of the site aren't running the same stuff there have been some visual disturbances in the store. My apologies for that and, that issue will be recitified soon.Anyways I've updated my posting here with the price.
Regards,
Dreamer
#8
11/29/2006 (7:43 am)
Is it skinable?
#9
My thinking is to re-implement the GUI component using JAX that way you can reskin it and modify the layout etc, using a simple XML file. This would be nice especially under a Webstart style deployment because you could make things like "holiday" editions w/o touching any of the sources.
I'll try to get something up in the Infuzor sources repo to allow a reskin here soon.
Regards,
Dreamer
11/29/2006 (7:53 am)
No but it would be trivial to implement it, I've been looking into that myself :DMy thinking is to re-implement the GUI component using JAX that way you can reskin it and modify the layout etc, using a simple XML file. This would be nice especially under a Webstart style deployment because you could make things like "holiday" editions w/o touching any of the sources.
I'll try to get something up in the Infuzor sources repo to allow a reskin here soon.
Regards,
Dreamer
#10
I think some form of Java ships with Windows XP, so it should theoretically work out fine on all platforms unless it requires some newfangled Java stuff.
I know nothing about SVN but I heard of someone using it to patch his games. I'd like more info on this, what it does how it works (basically) and etc.
11/29/2006 (3:17 pm)
So is this a way to auto update your game when a user runs it? What's the login for? Is there a way to remove that?I think some form of Java ships with Windows XP, so it should theoretically work out fine on all platforms unless it requires some newfangled Java stuff.
I know nothing about SVN but I heard of someone using it to patch his games. I'd like more info on this, what it does how it works (basically) and etc.
#11
It's optional, but imagine you had a product that you wanted to distribute on for instance a subscription basis. The login does initial authentication and if their subscription is up (authentication would fail obviously), they can no longer use the product. I put it on the one we use because with an MMORPG that is deffinitely something useful.
11/29/2006 (3:39 pm)
@Joe To answer your questions in order...Quote:Yes
So is this a way to auto update your game when a user runs it?
Quote:
What's the login for?
It's optional, but imagine you had a product that you wanted to distribute on for instance a subscription basis. The login does initial authentication and if their subscription is up (authentication would fail obviously), they can no longer use the product. I put it on the one we use because with an MMORPG that is deffinitely something useful.
Quote:Yeah it can be removed easy enough.
Is there a way to remove that?
Quote:Well I did post a bit of an introduction to it's strengths as a patching solution, but in a nutshell it's a replacement for CVS but it's much, much easier to configure, deploy and maintain. It's becoming very commonplace.
I know nothing about SVN but I heard of someone using it to patch his games. I'd like more info on this, what it does how it works (basically) and etc.
#12
One other question if you don't mind. Is this more useful to a small team of developers, or could it also work for a game being downloaded (and updated!) by the masses?
11/29/2006 (10:46 pm)
Thanks Dreamer, I may have to try it out. Well, once I have a use for it ;) To be honest I don't really understand exactly how games are updated. I've looked around and there really isn't much out there to fill this need, especially for cross platform software. One other question if you don't mind. Is this more useful to a small team of developers, or could it also work for a game being downloaded (and updated!) by the masses?
#13
11/30/2006 (1:06 am)
It's designed for both scenarios in mind. For instance we use SVN internally for all our projects, and think I read somewhere that Josh Ritter uses a an SVN based autopatcher for Minions of Mirth (although I don't think he uses it for initial install I could be wrong).
#14
forums.indiegamer.com/showthread.php?t=3897&highlight=svn
Apparently his updater is also SVN based and it's been doing him well. He discusses a little about how it works too.
I don't know Java, but a friend of mine works with it for a living. So if source is included perhaps I'll run it by her (yes "her" ;D ).
11/30/2006 (11:45 am)
Very interesting. I found the forum post I was referring to earlier. The game is called "ShortHike".forums.indiegamer.com/showthread.php?t=3897&highlight=svn
Apparently his updater is also SVN based and it's been doing him well. He discusses a little about how it works too.
I don't know Java, but a friend of mine works with it for a living. So if source is included perhaps I'll run it by her (yes "her" ;D ).
#15
I need a nice auto patcher like this. Even though I guess I can get what I want from this, I need to make it sure before buying.
I have a online multiplayer game. Every players logs in from the web, and when they press "Start Game" button on that web site, game client is executed. So, login again from the patcher is not desirable(you said I can remove that login interface easily. That's good to hear). Instead, updating have to be begun ASAP when that "Start Game" button pressed,possible automatically. When updating is finished, game client have to be loaded automatically. Is this process can be done with Autopatcher?
In addition to that, can I include that patcher together with my client when I make installation?
Thank you in advance.
12/01/2006 (4:46 am)
@Dreamer,I need a nice auto patcher like this. Even though I guess I can get what I want from this, I need to make it sure before buying.
I have a online multiplayer game. Every players logs in from the web, and when they press "Start Game" button on that web site, game client is executed. So, login again from the patcher is not desirable(you said I can remove that login interface easily. That's good to hear). Instead, updating have to be begun ASAP when that "Start Game" button pressed,possible automatically. When updating is finished, game client have to be loaded automatically. Is this process can be done with Autopatcher?
In addition to that, can I include that patcher together with my client when I make installation?
Thank you in advance.
Torque Owner Mathieu