• Announcements

    • Brentonator

      Forum Rules (Please Read)

      Hello everyone and welcome to the No More Room In Hell Forums! We greatly appreciate your interest and support. Please feel free to begin post and become a part of this community. But please make sure that you read and understand the following rules so things can stay as clean and as orderly as possible around here. These rules are expected to be follow by any and all members at all times. Disobeying these rules will result in disciplinary action by a moderator. #1. Off color remarks are acceptable but can be deemed inappropriate at the discretion of the moderators. #2. Flaming and disrespecting other members of this community or this mod is strictly prohibited. #3. Please do not post links relating to warez or illegal downloading. #4. No offensive content is to be posted (gore, dead babies, porn). #5. Please do not spam topics to increase your post count. #6. No excessively large signatures. Signatures that violate this will be modified. #7. Signatures are not to be used as a spamming tool. If your signature's sole purpose is to annoy or distract other members, it will be removed. #8. Please do your part to be as friendly, respectful, and helpful to anyone and everyone on this forum. #9. Your posts may be removed at any time at our sole discretion. #10. Remember the terms of your registration...a copy is posted below but may not represent the latest version of our terms of use. #11. No advertising other communities or products. Have fun.
Sign in to follow this  
Followers 0
masterguyperson

Zombie navigation?

7 posts in this topic

Hi there,

so I decided to make a survival map and everything was going great until I got to the actual zombie part. I'll narrow down on my specific problem and the question that I have; how do I make the zombies automatically walk or run to wherever the player is? As of right now, the zombies will only walk or run towards the player if they see him or her, that's no good and I can't seem to figure out how to solve this.

Any help is greatly appreciated; I'm sure I'm just overlooking something very simple here, haha!

Share this post


Link to post
Share on other sites

Well, the thing about survival maps is that they have a central point (or points) that the zombies are naturally drawn to whenever they do not see the player, these are called zones. If the zombies congregate in said zones for too long, the players lose. This forces player/zombie interaction, as if the players do nothing, and spend their game hinding out in a basement or atop a fridge (as one would reasonably do in an actual survival situation), they'll eventually lose.

Now, if you're one of those people who wants "Actual", zone-less survival. Then I am afraid that requires your map to be very zombie friendly. Take a look at Hellgate (arguably the best example). It's one straight shot from the zombie spawn to the player spawn, with no place to hide. Another, less spectacular (but more self-indulgent) example would be the "Survive" objective on boardwalk. The players are pushed up against a wall, with no easy escape, as zombies pour in from one direction. The area's small enough, that even if the players were to hide in one of the few areas out of LOS, the zombies will eventually stumble upon them regardless. I Also use NPC_bullseyes (which the zombies see as human) and a trigger_push for a bit of mapping-magic. This makes the zombies appear to really, REALLY want to get in (Although in reality, they are pushed against the wall, and given the equivalent of a zombie chewtoy to swat at.)

So, in theory, you just need to design your map in such a way that there are:

A.) No hiding spots for humans.

B.) Close Spawns with quick access to where you want your "Action" to be.

C.) Make sure the zombies can't get stuck on anything. (Either by clipping your map so that's impossible, editing the NAV mesh, or a bit of both.)

D.) Having your playable areas be few and close together.

Or if all else fails, you can leave a trail of breadcrumbs (Spawning and Despawning NPC_Bullseyes) from your spawns to your action. I'd do this if all else fails, as it can have some odd effects, and take a bit of time to set up right.

But the best way to get around this is just to ensure that zombies CAN see the players at all times. OR you have zones for them to attack instead.

Share this post


Link to post
Share on other sites

Well, the thing about survival maps is that they have a central point (or points) that the zombies are naturally drawn to whenever they do not see the player, these are called zones. If the zombies congregate in said zones for too long, the players lose. This forces player/zombie interaction, as if the players do nothing, and spend their game hinding out in a basement or atop a fridge (as one would reasonably do in an actual survival situation), they'll eventually lose.

Now, if you're one of those people who wants "Actual", zone-less survival. Then I am afraid that requires your map to be very zombie friendly. Take a look at Hellgate (arguably the best example). It's one straight shot from the zombie spawn to the player spawn, with no place to hide. Another, less spectacular (but more self-indulgent) example would be the "Survive" objective on boardwalk. The players are pushed up against a wall, with no easy escape, as zombies pour in from one direction. The area's small enough, that even if the players were to hide in one of the few areas out of LOS, the zombies will eventually stumble upon them regardless. I Also use NPC_bullseyes (which the zombies see as human) and a trigger_push for a bit of mapping-magic. This makes the zombies appear to really, REALLY want to get in (Although in reality, they are pushed against the wall, and given the equivalent of a zombie chewtoy to swat at.)

So, in theory, you just need to design your map in such a way that there are:

A.) No hiding spots for humans.

B.) Close Spawns with quick access to where you want your "Action" to be.

C.) Make sure the zombies can't get stuck on anything. (Either by clipping your map so that's impossible, editing the NAV mesh, or a bit of both.)

D.) Having your playable areas be few and close together.

Or if all else fails, you can leave a trail of breadcrumbs (Spawning and Despawning NPC_Bullseyes) from your spawns to your action. I'd do this if all else fails, as it can have some odd effects, and take a bit of time to set up right.

But the best way to get around this is just to ensure that zombies CAN see the players at all times. OR you have zones for them to attack instead.

Ah thank you, quite some insight there! So I'll go ahead and say that originally, the map I wanted to create was going to have some nazi zombie vibes with windows or stuff like that, and why I am mapping in this game is a direct result of black ops not having a publicly available map editor; I should probably get waw, I know it has a map editor. Anyways, I'll definitely incorporate the zones into the map just because; but I think I'll also mix it with those bullseye. Now I have some questions about the bullseye. Can they be made a non solid? I noticed that I can't walk through where I've placed some down. Can the bullseye be spawned at the start of a new round somehow; and also can they be spawned by a trigger that the zombies walk through? Edited by masterguyperson

Share this post


Link to post
Share on other sites

Bullseyes can be spawned with either a point_template or a npc_maker entity. They can be despawned with the kill command. So for example, you could set up a trigger brush, set to NPCs of course, and have it "forcespawn" a point_template that is tied to you NPC_Bullseye. However, do note that zombies will swat at the Bullseye. I personally like placing them inside of corpses, or against barricades, for this reason. I cannot recall if you can affect the solidity of Bullseyes.

Share this post


Link to post
Share on other sites

Bullseyes can be spawned with either a point_template or a npc_maker entity. They can be despawned with the kill command. So for example, you could set up a trigger brush, set to NPCs of course, and have it "forcespawn" a point_template that is tied to you NPC_Bullseye. However, do note that zombies will swat at the Bullseye. I personally like placing them inside of corpses, or against barricades, for this reason. I cannot recall if you can affect the solidity of Bullseyes.

Good idea! Now, I've noticed that these bullseyes are like invisible zombies, which kind of freaked me out when I discovered it, and they actually attack and can infect you if you stand right next to them. Is there a way to cease that?

Also while were here (this is a pretty unrelated to the zombies, it's a more generic question really), I used to map a whole lot years ago and knew much of all I needed to do to get what I wanted, and now I just can't seem to remember the steps, haha! So I have this broken light model that has an env_spark being turned on and off with a logic_timer. How do I get an actual light to turn on and off with the a logic_timer to synchronize with the sparks? I tried to write in the output to make the timer turn it on and off, but it didn't effect the light at all; it just stayed permanently on.

Share this post


Link to post
Share on other sites

Good idea! Now, I've noticed that these bullseyes are like invisible zombies, which kind of freaked me out when I discovered it, and they actually attack and can infect you if you stand right next to them. Is there a way to cease that?

Also while were here (this is a pretty unrelated to the zombies, it's a more generic question really), I used to map a whole lot years ago and knew much of all I needed to do to get what I wanted, and now I just can't seem to remember the steps, haha! So I have this broken light model that has an env_spark being turned on and off with a logic_timer. How do I get an actual light to turn on and off with the a logic_timer to synchronize with the sparks? I tried to write in the output to make the timer turn it on and off, but it didn't effect the light at all; it just stayed permanently on.

I tend to map in such a way that the players will never be next to an active bullseye. As I said, this is really should be a last-ditch effort. There's are a few quirks, to say the least. However, if that's not an option, you could try an ai_relationship and make the bullseye friendly to players. I've only used it in the past to turn friendly AI (like rebels) hostile, so I've no clue if it'll work in this case, but in theory it should.

As for your lighting problem, there's not much I can do without looking at your I/O setup. So I'm going to take a few stabs in the dark and hopefully something I'll say will help you debug the problem.

So, there're usually four dynamic parts to such a light. There's the sparks, which you seem to already have functioning. There's the model, which needs to swap skins from an "On" skin to an "Off" skin (If they exist, some don't). There are the light entities themselves, which include basic lights, point_spotlights, and light_spots, mostly. These in theory should function similar to the sparks. And finally, there's a particle effect that makes the whole thing prettier.

I would suggest isolating these parts and seeing which do not work and why. You can forgo the particle, as it's really just an aesthetic choice at this stage, and can be added later.

So, make sure your using the correct entities. And if the turn on and off commands don't work, you could try toggle. Now, if it's a problem with your timer, I'd suggest using a logic_relay to manage your sparks, skins, and turning the light on, then off. This way your logic_timer only needs to trigger one entity, the relay, which then executes a static series of outputs. It shouldn't be a problem, but it will make things a bit cleaner to work with. Also make sure your timer (if it's a random timer) has the right amount of delay between successive executions. We wouldn't want an overlap to mess things up (a second or two should be enough, if you're just doing flashes).

If you don't find the problem yourself, just by poking around, then send me a PM and we'll try to get in touch on steam.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0