Yeah, I’m going with ‘Pad’ project as the shorthand for my ‘post a day’ project. Although now I’ve actually written it I realise it looks like I’m doing a project on feminine hygiene products. Which is really not what I’m going for. Anyway, for today’s little snippet of brain fodder I decided to revisit my past and lookup a project I’d released into the wilds of the internet many years ago.
First though, to pad this out and meet my self imposed 1000 word per post limit, some background.
In the winter of 2009 Relic entertainment, a fairly new games developer released their much anticipated debut game ‘homeworld’. Although taking obvious cues from previous RTS games like command and conquer and total annihilation, Homeworld was a true innovator of the genre and even today hasn’t really been surpassed (in my opinion anyway) in the field. For a start, Homeworld looked years ahead of anything else on the market.
This is command and conquer Tiberian sun, released in 1999:
And this is homeworld, released the same year:
Homeworld was a true revolution in RTS games. It was set in space, something that I don’t think any other game of the genre had attempted. As well as allowing the developers to not worry about rendering trivial things like the ground (which no doubt aided the gorgeous graphics engine) the addition of that third dimension meant that the tactics of playing homeworld were completely new. In games like C&C much of the game would focus around tactical ‘choke points’ like bridges over rivers, or gaps in walls… places through which the enemy could be funnelled to meet your army. Homeworld did away with that, the battlefield was truly open and enemies could come at your from all around. In addition Homeworld also did away with base building, allowing you to turn your mined resources directly into new ships to deploy against your enemies. The ships themselves where truly magnificent. I can still remember the thrill of finally being able to produce a destroyer, a massive step up from the corvettes and frigates of the early game. The addition of a compelling storyline which was a world away from C&C’s “bad guy tries to take over the world” ensured homeworld’s place as a true classic, and a game that any RTS fan should take the time to hunt down and play.
Another thing that made homeworld such a hit was the active community that sprang up around it. There was a well populated multiplayer ladded (which wikipedia informs me had 18,000 players registered at its peak) and a hugely inventive modding community… and that’s where we finally get round to the project this post is about.
The way modding worked in homeworld was simple compared to todays’s games like skyrim, which come with a whole construction set for you to play around in. All of the resources (models, textures, scripts) that make up the core game of homeworld came bundled in an custom archived file format. Eventually, after a lot of hard work this format was cracked open (although the name of the guy who did this escapes me, he was massively popular in the modding community at the time) and people realised that any of the extracted files from this archive which were placed in the homeworld directory would override the archive, enabling you to edit the behaviour of ships, their models and pretty much anything else that took your fancy. Soon editors for the various file formats were released and an incredibly active and inventive mod community sprang into life.
The only problem with this rather simplistic method of overriding game assets comes when you want to switch between multiple mods… you need some way of bundling up the assets into one directory and swapping between them as required. Which is where I came in. In the summer of 2000 I released ‘ModMan’ a tool for doing just that… it kept track of which files belonged to which mod, and allowed you to swap between them with the click of a button. I wrote it in Borland Turbo Pascal, in the days before I (and just about everyone else) switched to the .Net framework for windows development and to my suprise you can still find copies of it online now. A google search for ‘homeworld modman’ turned up this page which has a link to the latest version.
And here it is in all its 13 year old glory:
Unfortunately I don’t have a copy of homeworld (and it isn’t available on steam 🙁 ) to try it out with, but it runs and you can get a vague hint of its capabilities. As well as the core functionality of swapping mod files around, it also includes a series of configurable buttons for launching other modding programs, options for binding filetypes to programs and…well, that’s about it really. Still at the time I was hugely impressed with myself. Unfortunately ModMan never really had the uptake in the community I would have liked, mostly because I didn’t even have a website to distribute it through at that point…I was reliant on word of mouth and people sharing the program with each other. Still it’s the first program I ever really wrote for other people to use and I seem to remember there were tens if not dozens of people who used it at the time. It also taught me a lot about software development, error trapping and so on that’s stood me in good stead since then.
Since I’m still a few words short, here’s the readme file as written by a 21 year old me at 23:20 on the 30th of November 2000…obviously I was much more passionate about software development in those days… now I think I’d leave writing the readme file til the next day. Maybe that way it wouldn’t have quite so many typos in it:
Heres the latest version of modman for you. This improves quite a
lot over previous versions. Unfortunately I haven't been able to write
atutorial for it yet (University work interfering again!) but if you have
any problems E-mail me (use my hotmail address -
######@hotmail.com, not this one). Heres some of the new
Modman now allows you to associate filetypes with several
applications, so you can perform any number of operations on a file
using a simple right-click sub-menu. You can set these options by
pressing the 'options' button and selecting the 'File types' tabbed
-auto generate ignore list
The ignore list is a list of files and folders that you want
modman to ignore when moving mods around, deleting mods etc...
You can now edit this list from the options page.
-Homeworld + cataclysm support.
You can now switch between homeworld and cataclysm with
one mouse click and keep a seperate set of mods for each.
unzip modman to a new folder (eg c:\modman) and run
mmsetup to select which games you have and setb the paths
accordingly. Homeworld mods go in the homeworld directory, cat
mods in the cataclysm directory