GOD DAMN EVERYTHING
I have this infallible, INFALLIBLE fucking release and patch system designed to prevent any sort of bullshit from happening. But as Bawss loves to remind me, I am still a waffle. Despite my pristine, square edges, there is always room for the dreaded Waffle Error.
When I release shit, this is how it works:
- All files for the Full version of EXU2 are prepared. The Full version contains absolutely everything you need to install EXU2 and run it except for UT Patch 436, Oldskool, bonus packs, etc. It is basically a fully self-contained archive with all the maps, music, textures, and code that EXU2 uses.
- I make a folder in a test UT install which has no development material present. This folder is named according to the version I am preparing to upload, such as \Demo 4 Package v2 [10-16-10]\ or whatever the current version/date is supposed to be.
- I fill this folder with subfolders for \Maps\, \Music\, \System\, \Textures\, and \Sounds\ and put all the files where they should go.
- I check off all the files individually by referencing EXU2-FilesList[date].txt to ensure I have the latest version of each file that belongs in the package.
- I make sure everything runs on the unmodded UT install and that there are no unexpected dependencies.
- I then select all the folders and text files and add them to a .zip archive and name it accordingly.
- When patching, I make a separate patch subfolder which contains a similar folder structure, but only the updated files. I copy these files from the main release folder to ensure I haven’t copied the wrong ones.
- I select and archive everything in the patch subfolder and name the archive accordingly.
- I upload shit. If it’s the initial release, I just have one file: the full package. If it’s a patch, I upload the patch AND an updated Full package which is huge and a fucking pain in the ass to get online with my shitty 768kbit upload speed, but because I CARE I do all this bullshit for the players because they are precious and deserve to be treated like kings etc.
As you can see, this involves a lot of checking and cross-referencing of files to ensure that there are no version mismatches between Full and Patch releases and older releases vs. newer ones which have been patched. It takes a lot of time and careful planning, but it works. Well, it should. But I AM A FUCKING LUNATIC RETARD
Before releasing, I also playtest all the maps that have been affected. If it’s an initial release, that means all of them. If it’s a patch, that usually only means the edited maps, unless I have made sweeping gameplay changes or large code edits that can affect all maps. I generally replay the whole demo at least once every time I release something, even if it’s a minor patch for a couple of maps or just code updates. I always find last-minute bugs to be squashed during this phase.
Here’s where shit started fucking up. When testing the new changes for the v2 patch, I played up through the first half of Map 8 and decided that my gameplay changes were fine. I stopped playing there and started assembling and uploading release archives. I had already played Maps 11 – 15 before when I started making the new flares, so I figured whatever, 8.5 – 10 are probably fine. WRONG
Turns out that some time during the process of converting shitty items into good ones, I had inadvertently done a Select All or something in UED, which selected all the movers. FUN FACT: Chizra.unr is a fucking PIECE OF SHIT from a technical perspective and has some fucking nightmarishly retarded and horrible bug where if you select any given mover, there’s a 50% chance it will fly like 9000 miles away in the editor for no fucking reason. Just by SELECTING it. I haven’t got the SLIGHTEST FUCKING CLUE how this works but it is really god damned fucking bizarre and horrible. And of course, it carried over to Map 10 in EXU2.
Well, anyway. I release the patch and am replaying from where I left off for shits when I get to Map 10 and HALF THE GOD DAMNED MOVERS ARE MISSING. I immediately figure out the problem and set about to fixing it and uploading a 2.1 patch. This means I have to upload the map itself as a v2 to v2.1 thing, then reupload the Patch file so it goes from v1 to v2.1 instead of v2, and reupload the Full package so it is at v2.1 to start with. FUN WAY TO START THE MORNING
I end up doing all that bullshit and it’s all good, I’m done hooray! While the 2.1 debacle was my fault, it was contained in a timely manner. Nothing else to worry about now, right? ….right? …………. :|
Turns out that while assembling the v2 release package, I had somehow slipped in an old version of Map 9 into the maps folder. I don’t know how, when, or why this happened, but it did and it fucking sucked, because I started getting reports of Map 9 mismatching online. Everyone who downloaded the 2.1 full package (mercifully few at that point still) had gotten a version of Map 9 that was from July 14th, while the version in the initial Demo 4 release was from July 24. What in the FUCK
The whole reason I didn’t notice this immediately is because Map 9 was one of the TWO MAPS in the entire demo package that wasn’t modified in any way whatsoever since Demo 4 came out, so I left it out of the v2 patch. This meant that everyone who patched from the initial release to v2 or v2.1 or whatever the fuck kept their original from the release, while anyone new to the mod (downloaded the v2.1 Full package) got the OLDER version of the map through some stroke of fucked up shit-luck I can’t even begin to comprehend. Stupendous.
So at that point I not only had to upload Map 9 by itself for anyone who needed it immediately, but I also had to update the v2.1 Full package containing it AGAINNNNNNNNNNNN. You know how long it takes me to upload it to one site? AN HOUR AND A HALF. FUCK YOU AT&T. So I’ve basically been uploading shit allllll daaaaaaay and still have about an hour to go on the final upload to Mediafire. SHIT BALLS FUCK
Let me tell you what I’ve learned today:
- Never EVER EVER fail to playtest a map thoroughly, even if it’s just in god mode, to check for bullshit like what happened in Map 10
- ALWAYS verify the files you have match the dates/sizes of the old files if they are to remain unmodified but included in a newer release archive
- Go to campus to upload files, even when it’s a home game day and you have to bike there, because seriously fuck this slow ass upload nonsense
So there you have it: dual instances of failure in my infallible patch system. I don’t know how the fuck I managed to patch Demo 3 four times and not have half as many problems as I’ve had all in one day with Demo 4. And how was your day?
Fortunately, the patch has otherwise been well-received and there have been no code-based bugs to crush post-release (I am knocking on my wooden desk so fucking hard right now). Everything is gonna be just fine once I get this final file uploaded… and once my blood pressure normalizes. gjklweh3h23o35no