Gary L. Simmons  rev 12/02/05
Home  Marathon  Joke OT Weak  Web Building  Resumé  Lynx  Hobbies  Extra  Site Map Links Page Extra Go to next department

The Battle Cat's Litterbox

Back to Anvil Tips


Marathon Installers


Editor's Note: Due to the age of Marathon and the mercurial nature of operating systems and a companies business offers, some things have changed and change isn't always good as evidenced by this page. The services and products offered on this page by MindVision and Aladdin are no longer available. There is still a lot of good info on putting together a Marathon scenario for distribution so the page remains up but the links go down.




So, you've poured your heart and soul into the creation of a Marathon scenario, and now you want to get it out to the public. What are your options for distributing the various pieces? That's a pretty good question, actually... and it's why this section exists.

An installer can serve any (or all) of three purposes: it can decrease the download time for your users, it can make the process of setting up your scenario on someone else's computer easier, and it can protect Bungie's copyright on the game. The type of installer you decide to use will depend on what goal you have in mind.

Most scenarios have been created for the Infinity engine, but you'll find snippets for Marathon (the original) and for the Windows version of M2, as well.

Looking at your Material

The first step in building your installer is deciding what needs patching, and what simply needs to be passed along. The typical scenario consists of the following files:

  • Map (essential)
  • Shapes file (essential, or your 'scenario' is a solo map)
  • Readme (essential, or someone will hunt you down and kill you)
  • Sounds file (optional)
  • Application (optional)
  • Images file (optional)
  • Music file (optional)
  • Movie file (VERY optional)
  • Extra files (net map packs, physics models, etc. - all optional)

Of these, only Shapes, Sounds, the application, and (possibly) the Images file might need patching... the rest will be distributed as is. Let's look at these from easiest to hardest.

The Individual Pieces

Images File

The Images file contains splash screens for the game, credits screens, and the HUD, all in any of 3 color resolutions: 8-bit, 16-bit, or 24-bit. Most scenarios alter the splash screens (1000, 1100, and 1101, plus their 16- and 24-bit counterparts), so the Bungie originals can be deleted from here. As discussed in the Bandwidth Saving section, you can save a ton of space by removing all the 16- and 24-bit versions of these images... they're not seen for very long, and the difference is usually minor. (If your artwork is REALLY good, you might consider keeping the 16-bit versions.) If you've changed the HUD, you'll need to swap in your version for resource 1700 (and usually 2700 - the HUD is looked at enough during the game that it's usually worth having the better version included). The Credits screens, too, will probably be modified - unless you need a second one yourself, you can kill 1401 outright (it's a list of beta testers for Infinity; not particularly relevant to your scenario), and 1400 can either be altered or outright replaced.

At this point, you have to decide if it's worth patching, or if you should simply include the new Images file in its entirety. Marathon: RED is a good example here... the Images file contains 8-bit splash screens (3), 8-bit credits screens (2), and a HUD (both 8- and 16-bit). All images are new, rather than Bungie originals. The Images file as it is totals 600K. A ResCompare patcher that starts with a standard Infinity Images file and ends with the RED file is 652K. A standalone VISE updater is 608K. In most cases, the file size will be larger, so the differences will be greater... but this is the general pattern.

Images File Options
  Pros Cons
Full Images file Very little work involved Doesn't help you with the Bungie copyright issue, might not be the most efficient method
ResEdit Patcher Relatively easy to use, free Not the smallest option, doesn't integrate well with other pieces of the installer
VISE updater Efficient, easy to use Expensive, and free license hard to get

Back to Top Top of page

Sounds File

Sounds files are more complicated than Images files. This is because most scenarios change only a few sounds, not the entire file. Anvil has the ability to make sound patchers, but it's buggy at best, and fatal to your scenario at worst - unless you're really, really opposed to using ANY non-Bungie tools, you're best off not touching the Sounds file with Anvil. Charles Lechasseur's Sound Editor, or its successor, Wail, are very effective, both for adding new sounds, and for making patchers. The only problem with them, unfortunately, is there's no way to integrate them into a one-step installation process. However, this is a minor detail, and if you're only changing a few sounds, this is easily your best option. The format of the Sounds file is such that VISE, for example, does a horrible job making patchers if fewer than about half of the original Infinity sounds have been replaced. Here are two examples for you: The Marathon: RED Sounds file has been hacked to the point of unrecognizability - in fact, Wail and Sound Editor can't even work with it. It's 10 megs smaller than the Infinity sounds file. If you stuffed this file on its own, you could reduce it to a bit over 4 megabytes. VISE can do almost as good a job - about 200K bigger, overall. (You gain the convenience of an automatic patcher and protection of Bungie's copyrights for these 200K.) On the other end of the spectrum, Marathon Dissent introduces exactly two new sounds to the sounds file. (They're critical, however, so they can't simply be ignored.) A Sound Editor shuttle with these two sounds is under 500K, and compresses to half this size. A VISE updater, however, is larger than the original Sounds file! You can see that your choice for install options for Sounds files requires you to consider more variables than Images - it's not just what does the best job of compression, it's what sort of changes you've made to begin with.

Sounds Updaters
  Pros Cons
Anvil Patch You already have the software They suck
Sound Editor (or Wail) patch Easy to use, works well when changes are relatively small Adds and extra (user) step to the install process, has trouble when the sound file hacking is major
VISE updater Efficient for wide changes, easy to use Miserably bad with smaller changes

Back to Top Top of page

Shapes File

The Marathon Shapes file is the most likely file to be modified by a scenario maker - the easiest way to alter the playing experience is a change of scenery. Once you've got your new file, you have to decide how to make the new material available to your users. The choices are very similar to those you have for a Sounds patch - you can use Anvil, you can use a Charles Lechasseur program, you can use VISE, or you can simply not patch at all.

  • Anvil, while working better for shapes patches than it does for sounds, is still a dangerous choice. It's very memory-dependent (large patches will fail, without a useful error message, if the user doesn't have enough memory allocated to Anvil), it's not standalone (that is, if you just have the shapes file, but not Anvil itself, you can't apply it), and it's often version-dependent. Since there are 5 or 6 versions of Anvil out there, this can be a bad thing. In general, stay away from Anvil patches - they're just not worth it.
  • Shapes Juggler - Charles Lechasseur has created the definitive Shapes patching application, as well. Shapes Juggler will allow you to make standalone 'shuttles' containing entire collections (Walls 1, Fighters, etc), which can then be easily applied to any Infinity (or M2) Shapes file. In fact, there are only two real downsides to this program: There's no easy way to call it from within a larger install script (which means an added step for the user, and because the shuttles deal with entire collections, the Shapes patches can be larger than you might want, if, say, you've added one or two textures to each of three wall collections. If your scenario consists of a Map and some Shapes changes, however, this is easily the best solution.
  • Installer VISE does a very good job with Shapes changes (differences in the file structure compared to Sounds, apparently), and is therefore a very feasible choice if 1) you have only a few small changes and don't want to include entire collections, or 2) are building a complicated, multi-update installer. Once again, its biggest drawback is availability.
  • Unmodified Shapes - If you're building a Total Conversion, and your Shapes file contains no (or almost no) original Bungie textures, then the most efficient choice might be to simply include the (unpatched) new Shapes file. This is easy for the user, and efficient if all shapes have been changed, but gives you one less route to protect Bungie's copyright.

Shapes Updaters
  Pros Cons
Anvil Patch You already have the software They suck
Shapes Juggler patch Flexible, stable, easy to use Larger than they have to be
Unpatched, full Shapes file No work, easy to include in an installer Feasible only for Total Conversions, introduces copyright issues
VISE updater Efficient, easy to use Expensive, and free license hard to get

Back to Top top of page

Infinity Application

Many, if not most, scenarios require changes to the infinity application. This is because the names of files, names of weapons, and custom icons are stored here... and if you've used Fux! to allow special features not normally available, these changes are manifested in the application. Once again, you can use ResCompare, VISE, or include your complete application file. (If you do this, you'll need to use a version of Aleph One - you cannot legally distribute modified (or even unmodified) copies of the Infinity application.)

ResCompare is easy to use, but requires you to know all the resources you've changed (and that includes resources that differ from one version of Infinity to another). The application can help, but if you're using multiple versions of the application as your base, you need to compare each one with the final product, and then include ALL resources that have been altered. VISE is similar, but allows you to start with multiple versions - it does the comparing for you. The downside; it's much less forgiving if you've forgotten a common version of the Infinity app as a source file. Currently, there are 3 that you should be aware of: v1.2, which was distributed on the Infinity disc; a serialized version of 1.2 that was 'given away' by big Mac mail order houses as a promotion (you generally paid a couple of dollars for shipping); and 1.5, which was distributed on the Trilogy disc and the Action Sack disc. (There's also a Japanese version out there, but I've never been able to get my hands on it.)

Application Patchers
  Pros Cons
ResCompare Patch Free Requires extra work on the part of the scenario maker, can't be integrated into a full scenario patcher
VISE updater Easy to use Not free, can be confusing to learn
Modified Aleph One application Free, requires no installation Still not bug-free, doesn't run on all machines

Back to Top Top of page

Putting It All Together

So: you've looked over your specific requirements, and chosen the best patch maker for each component. You're ready to release your scenario, right? Wrong. Let's look at a couple of examples:

You've built 20 new levels, and changed some shapes. There are no other new files in your scenario. (Well, a readme... you have a readme, right?) Your two best choices are probably a Shapes Juggler patch, or a VISE patch. The VISE patch... hmm.that would be a pain, right? I mean, you gotta apply for a license, or pay for one... nah. Let's just go with the Shapes Juggler patch. Your final release folder will contain a readme, a map, and a Shapes Juggler patcher.

Fine - but what if you need to add an application patcher, since you've changed all the weapons? Hmm... you could add a ResCompare patch... but now the user has to run two patchers, and the second one could easily go wrong... but that VISE installer is still a pain to get, right?

Well, one thing you should know is that those MindVision guys are pretty cool. They've generously provided with a license to create installers for Marathon scenarios. This means individual patchers, or full-blown installers... at no cost to you, and in fact, for very little work on your part! (You provide with your modified files, and they build the installer for you.) What a deal, eh? (You are always welcome to apply for your OWN free license, if you don't want to rely on someone else to build your installer for you - MindVision's application form is here. [Editor's note: The MindVision link is no longer available as they have removed that service]

For simple scenarios (map plus shapes patch, for example), the Shapes Juggler patch plus extra files still makes sense. In some cases, ResCompare patches will make sense. For complicated installs... seriously consider Installer VISE.

There IS one more choice... and it's one a lot of the big scenarios in the past have chosen - a custom installer. If your team contains a programmer, or if you know someone who might be interested, you can always build your own. Evil, Tempus Irae, EMR, and other large scenarios all took this route. However, be aware that there is currently no generic installer available of this type. You'll be starting from scratch.

For completeness' sake, I'll mention Aladdin's StuffIt InstallerMaker, a similar program to VISE. There are two pretty big downsides to it: There are no free licenses available for use for the Marathon community (although there's nothing stopping anyone from actually getting one), and the one scenario released using this product (the alpha version of Dissent) had some serious problems - enormous memory and disk space requirements for the install. Aladdin offers a free licensing program for InstallerMaker - you can apply for it here. [Editor's note: The Aladdin InstallerMaker link is no longer available as they no longer have that product available for download]

Non-Infinity Installers

We DID say 'Marathon Installers', right? Not 'Marathon Infinity Installers'. The guidelines above work for Infinity and Aleph One (and Marathon 2 for Mac, although no real scenarios have ever been built for that engine), but they doesn't cover Marathon 1 for Macs, or Marathon 2 for Windows. Marathon 1 is easy - Kirill Levchenko wrote the ultimate installer tool way back in '96, and it works so well you don't NEED anything else - just go grab Term Installer 2 at the Archives. Marathon 2 for Windows... that's mostly out of my league, although Mike Trinder, who built two full third-party scenarios for Win95 M2, suggests Clickteam's Patch Maker, which is available in a free version (you get ads; they can be gotten rid of by paying the shareware fee). Use of both of these products (Term Installer 2 and Patch Maker) are explained very clearly in their respective READMEs.

Please feel free to email Claude to ask him questions about what you have read here.

Anvil Tips

Top of page

Back to the Litterbox