Plug-in is the term used for the add-on files used to modify the Escape Velocity series of games by Ambrosia Software. They are similar to what is now often referred to as a 'mod' for other games, but that term was not common when Escape Velocity was first created, and in any case the Macintosh development community generally prefers clearer and more accessible terminology. Another difference in the terminology is that while ‘mods” often involve a certain amount of reverse-engineering of the game engine (since developers prefer to sell their own expansion packs), plug-ins are specifically authorised and facilitated by the developers.
Plug-ins are collected on the official web sites for the Escape Velocity games (or, of course, can be downloaded from a plug-in creator’s own site) and are installed by placing them in the ‘Plug-ins’ folder within the game folder. The effects of the plug-in will be active so long as the game is run with the file in the correct folder.
Contents |
The plug-in architecture takes advantage of the Macintosh resource fork, and a plug-in is composed of multiple resources, most of which are graphical or textual in nature. Each aspect of an Escape Velocity game (including the space ships, graphics for various animated items, missions, planets, and description texts for different items) is described by a different type of resource.
A special file type that ‘flattens’ these resources (with the file extension .rez) is used by the Windows version of EV Nova. To distinguish them from this new format, the traditional resource fork-based plug-ins are sometimes referred to by their Macintosh type code Npïf or, especially among Windows users, by the extension .rsrc which they are given by some Windows-based expansion tools.
Neither version of EV Nova can use the other’s format without conversion. The Windows version includes an Npïf-to-.rez converter, which is a common source of confusion to new users. The Macintosh version does not include a converter, but third-party utilities are available to convert in both directions. Converting .rez plug-ins to Npïf on Windows is not possible, since resource forks cannot exist on Windows; this is, in fact, why the .rez format was originally required.
Plug-ins can be created or edited either by a resource editor such as ResEdit, or by a third-party editor specifically designed to edit plug-in files, such as MissionComputer. The first two Escape Velocity incarnations utilise simple templates included with the game files that can be loaded into ResEdit and used to edit the resources in a human-readable fashion. With EV Nova, these are still available, but have been superseded in general use by a set of ResEdit add-on editors called NovaTools [1], which offer a more graphical interface, and can perform necessary hexadecimal calculations which the templates left to the user’s own mathematical skills.
Even with the benefit of NovaTools, however, ResEdit can prove unwelcoming to many users, and cannot run natively under Mac OS X (or at all on Windows and on Intel-based Macintoshes). There is therefore a long-standing tradition of purpose-built plug-in editors, which offer extra features and a more user-friendly interface. The present-day editors supporting EV Nova are the free MissionComputer, the shareware EVONE, the under-construction Rezilla Custom, and the Windows-only EVNEW, which is at present the only option open to Windows-based developers. Past editors which have not been updated to support subsequent games include Schmelta-V (named for Ambrosia's delta-v plug-in development mailing list), EV-Edit, EEEV (later called Override Override), EVO Developer's Map, and many others.
Alternatively, programs such as ConText and ResStore (both part of the NovaTools package) can be used to export certain types of resources into spreadsheets, where various values (such as damage dealt by a weapon) can be edited. This can be particularly useful for modifying many resources at once, as many spreadsheet programs provide the ability to fill cells. These spreadsheets can then be imported back into plug-in format.
In recent years, it has become common to use several terms to classify plug-ins, though this practice has been criticised as limiting the growth of the plug-in community:
With developers realising the amount of work involved in creating a proper ‘total conversion’, derivative terms such as ‘mini-TC’ and ‘quasi-TC’ have also become common, but there are no standards for their meanings.