Technical difficulties, so no podcast just yet. I have updates on the director, zombies, weapons; just about everything.
Posted by KojaK on Jul 12th, 2012
I got Twitter up and running finally, since I have a more stable internet connection here. You can follow me for updates about the mod Twitter.com
First off, let me just apologize about the last news update.
I had some pretty crazy personal stuff come up, and I ended up moving a lot faster than I anticipated. Everything is okay, it was just rather hectic, as all moves involving 700 miles and 10 hour drives usually are. I would have loved to record a podcast today, but it seems moving breaks things just like changing code in a program does; my equipment isn't set up yet, and what is refuses to work for me it seems.
Luckily though, I've gotten quite a fair bit done, both before and after the move. So I'll get right on with that.
I've talked at great length about the director, how it works, blah blah blah. I probably won't shut up about it though, since it's a very essential part of the mod, and does a lot more than just spawn zombies. I got a ton of insight into the L4D Director from this slideshow, and I've attempted to re-create some of the more useful functions.
First, I've reprogrammed it yet again. It's gone from just a simple random spawner that prefers nodes near resources, to operating much like a basic NPC. I've simply spread out the choices it needs to make over several frames instead of just one. This means I can speed up it's thinking from once every second to 30 times per second, and not lose a bit of functionality. As well, I'm taking the concept of having it use the map leafs a bit further, and I've made it operate similar to the L4D Director. It first builds a small map of the current level by going through nodes and finding out which leaf connects to which. Then, when it spawns, instead of creating zombies randomly all over the map, it can create smaller groups closer to the player and retain the illusion of the map being full of zombies, much like how L4D works.
The Director also now has control over some basic resources and weapons as well. When creating a map, you simply place down a "zombcol_director_item", "zombcol_director_weapon", etc. Then, when the players near the resources, the Director can choose what to spawn there, much like how the L4D Director can replace pill bottles with medkits. So if the director is feeling rather generous, it can spawn what the team is most low on, or if it's feeling malicious, it can just give them more of what they have most, or even nothing at all.
Here is where things have probably changed the most since the last update. I mentioned in the last podcast that zombies called each other when they got noticed a player. That is no longer the case, as it was just way too crazy. Instead, firing your weapons attracts the zombies. To work around this, I've also included a bow and arrow weapon that fires slower, and does slightly less damage, but is totally silent.
I also mentioned in the last podcast that I removed the fast zombie and replaced it with the zombine. My thinking at the time was that the fast zombie was just too decayed and inhuman for the mod, but that actually worked out quite nicely. Instead of replacing it, I simply coded the zombine from scratch. The fast zombie now works like an 'assassin zombie', hunting players and npc survivors down as soon as it spawns. If it gets damaged or successfully damages a target, it plays it's 'frenzy' animation, and calls in a horde of zombies. This works out nicely in testing, as when you see one, you can't just start shooting it; it requires a bit more strategy to take it out cleanly. The danger though is if you don't see one, that probably means it's chosen to go after your survivors, and will call in the horde there instead. This keeps the pressure on players to get what they need and head back to the camp quickly.
Finally, the last bit about zombies that I'm going to discuss is their AI. I'll be making subtle changes here and there as I work, mainly to make the AI run smoother. The same AI that drives zombies also drives the Combine; that should tell you a bit about just how much overhead each zombie requires. Eventually, I'll go into the pathfinding code and just remove it and switch it out for my own pathfinding and path following code. It was suggested on my last podcast that I should make the zombies choose a different path to follow, instead of all just running single-file at the target. That's very much easier said than done, but not impossible. The zombies currently just watch for things that block their path. I should be able to add in one or two bits of my own code that force them to try and follow a clear path to the target, instead of just getting confused when they stub their toes.
I'm really excited about this one. I've been working on a little special something for the mod. Hopefully with a bit more testing and some tweaks, it will be ready.
I'd like to thank you guys for having patience with me, and not for screaming "oh noes the mod is dead" when I posted the little update about my moving, and hopefully I'll be able to get my damn recording equipment working here soon so I can record Episode 3.