Monday, September 23, 2013

Swing and a Miss

Well, it's been a while, hasn't it?

I haven't been idle; but between real life messes and not wanting to incur any more "y ur mods r no 1 click insatl?????" I've defaulted back to my old habits of just modding things that I personally want in my game; and not based on whether I think something would be popular with 'the community'.

Expanded the Estate again; did some more work on the girls; perfected my process to use a quest to add items (weapons and mods, specifically) to game-wide leveled lists via script (conflict free) and then switch itself off to have hopefully zero impact on game performance past the first few seconds.

While the weapon-adding code was a smashing success, recent efforts were... not.

Over the weekend, I decided to explore a want I've had in Fallout since 3 was still the one we were all playing -- a zombie mod.

I know, there are a few around. Trouble is, they're all the "apocalypse" type -- stupid gauntlet type shit where a zombie spawns every square meter of the game, and respawns every twelve seconds; turning the entire thing into less of a sandbox game, and more a "how long can you stay alive?"

Useful for testing combat AIs; nigh worthless for a full game.

So, I started up something less... overbearing. The idea was fairly simple: ghouls would spawn in "packs" at the Nuclear Testing Site; and move across the Mojave at the more Romero-esque walking pace towards any sizable settlement; where they would then either roam through town, or try to enter some of the buildings looking for people.

The idea was that settlements would be under regular assault; but not overwhelmed -- slowly worn down as the zombies killed off a guard or townsperson or two each attack, until finally there was no one left. Military installations would of course weather better -- McCarran and Cottonwood Cove both have enough soldiers handy to repel the waves with minimal losses; but places like Novac and Goodsprings would have a lot more trouble.

Setup was easy enough -- one feral and one Glowing One copy for each place to be attacked; slap a travel package to some arbitrary point in or near enough to the target that they won't get lost; put some code into the packages' OnEnd block to remove the travel package and add the attack package when their target is reached; make sure low level processing is enabled so that the engine will still move them even when they're not loaded into the game; drop as many as you need into the game world; fire it up to test...

...and it doesn't fucking work. Of course.

Turns out that while low level processing will allow the zombies to follow their travel packages when the player isn't around to see it; the OnEnd block in the packages won't fire unless they're loaded into the game and active at the time. So what you get is a group of ten zombies standing idle at the travel package destination until the player shows up; at which point they go apeshit and attack you instead of the town.

That, by the by, is when Maeva and the custom Saiga 12 I gave her come in mighty handy. I generally carry long range, powerful, slow-firing weapons; which it turns out aren't good for dealing with runner-type zombies ten at a time. My poor, three shot Rhino just couldn't keep up.

Anyway; tested four different settlements, and all had the same issue, so I don't think it was a one-off where the engine just got its head up its ass again.

Not sure what to do. The theory is sound; but like so many of my other ideas the engine won't let it execute properly. Scripting the package changes via quest script would necessitate setting the zombies up as explicit references; and would add to the CPU load more than a bit, since it would have to monitor the location of and alter the packages of a hundred and forty creatures (assuming I never decided to expand it further). Slapping the attack packages directly onto the zombies would remove a lot of the randomness; since they'd no longer select an attack behavior at random once they reach the settlement. Making them a random spawn with pre-set attack packages won't work since spawns don't trigger until the player is in their cell... and both of those last ones assume that the zombies won't get lost between points A and B in the first place -- remember, even Beth copped out and made the vanilla companions move back home via script because their travel packages and/or the package hand-off to sandboxing were so unreliable.

Probably the safest bet would be to forgo the travel altogether and just set up the random spawns in the town... but that kills the possibility of running across the zombies in transit, out in the desert -- which was half the damned point of the entire thing.

I guess if I want this like I envisioned, I'm going to have to micromanage the shit out of it and not leave anything up to randomness.


  1. I'd offer some sort of suggestion here except for the fact that you know way more about this than I do. Only thing I could think of that I don't think you mentioned would be to make it some sort of silent-running quest.

    Have to admit I'm a bit surprised, though; wasn't expecting zombie-ghouls at all. Had you pegged as more of an army of enemy soldiers kind of guy.

    1. "Have to admit I'm a bit surprised, though; wasn't expecting zombie-ghouls at all. Had you pegged as more of an army of enemy soldiers kind of guy."

      Nos' Increased Spawns.esp handles that one -- adds new fiends to South Vegas, more Powder Gangers to the camps around Goodsprings, and some other increases where I thought they were appropriate without being totally FPS-raping and/or incurring a scripting nightmare. It works fine; aside from the CPU load when loading the cells that Cook-Cook and Driver Nephi are in (tripling the number of fiends in their bands may have been a tish too much...).

      Nos' Zombie Hordes.esp is an entirely different project, borne out of my desire to play a survival type game with my girls; but without delving into that "always low on health and almost out of ammo" garbage that so pervades the survival horror genre in general.

      What I wanted was more a wasteland where it's dangerous to stray too far from towns; but you have to for supplies and whatnot. Slinking here and there to avoid the undead masses; finding building(s) to hole up in for the night when you're too tired or it's too dark to continue on...

      ...Sadly, the engine can't handle true hordes ala Land of the Dead or the Dawn of the Dead remake; so I have to make do with what I can get.

      Looks like it's going to be a bigger pain to get my roving packs of undead than I was expecting, though.

  2. Sorry to hear that your zombie project didn't turn out quite how you expected. It is a lovely idea though, and similar to an idea I had a few months back, although I don't have the skills to get as far as you did. I also was thinking on more of a story/quest idea. I probably would have tried implementing an event timer that would cause changes to different areas on the map whether the player was in the area or not. Not sure how I would have done that, but most likely would have learned more about scripting in the process.

    1. " It is a lovely idea though, and similar to an idea I had a few months back, although I don't have the skills to get as far as you did."

      Some day, I am going to find a game engine that will let me set up the perfect game: first person combat; exploration; survival/survival horror aspects; role playing aspects; vehicle capability; dating sim capability... literally play it as anything from a post-apocalyptic Resident Evil to a first person Sims.

      Gamebryo -- and Fallout NV -- is so damned frustrating because it's so close. Everything except the vehicle bit is easily moddable in; and that's not impossible, as O:A and the couple of motorcycle mods have shown us. I just keep getting 95% there and slam into a brick wall when the script engine craps out on me.

      Skyrim is still a toss-up. It's been giving most people a metric fucktonne of problems with Papyrus; but then Trainwiz went and got a giant robot vs kaiju battle working in one of his mods, so it may work out; albeit with a stiffer learning curve than previous games.

      "I probably would have tried implementing an event timer that would cause changes to different areas on the map whether the player was in the area or not."

      I assume you're talking about something like that one Oblivion mod that had cities get damaged and altered as the zombies attacked them?

      I'm not really against that sort of thing; but it was outside the scope of this plugin, just because those sorts of things are conflict happy.

      Plus I'm not huge on event timers -- when I have all three of my girls in tow, with all of their hardcore needs timers running, they occasionally manage to overload the scripting engine and lock a bunch of stuff up until I manually reset it all and get the buffer freed up.

      After more than a year of trying, I think I've finally gotten one bit of code worked out that was causing random crashes.

      ...Now if I could just figure out how to get a script to determine the number of beds in the cell, and whether they're usable... would be so nice if the NVSE guys could be bothered to update their damned function list someday.

    2. There is a mod for Oblivion similar to that idea O.O Didn't know that. *shrugs* If I had gone ahead with my idea, I am sure that I would have ended up banging my head against a wall quite a bit, as my modding skills are still very limited, even after all this time. If I could focus and stay focused on a project long enough, I might actually learn how to do this stuff properly...

    3. "There is a mod for Oblivion similar to that idea O.O Didn't know that. "

      Much like the Simpsons; whatever idea you have, someone in Oblivion probably tried it once already.

      Unfortunately, I can't tell you the name of the mod. It doesn't appear to be in my archives anymore; and the Nexus lost/removed over half my Oblivion tracked files early this year. A search didn't turn anything up, although the 28 Days and a Bit mod looks like it might be a later version of the one I remember playing.

      Also: this mod, which is going squarely onto the "I'm not even going to ask" pile.

    4. I saw the title of "that mod", and thought sexy and zombie should not be in the same sentence...

      That said, is it really so difficult for people to write a description of their mod? I mean, really? Sheesh...