Jump to content

Toggle this categoryToggle Message Visibility   Welcome to our Community, Guest!

Get involved and become a part of our growing community. It's absolutely free! Register an account and join us today. Already a member? Sign in!

- - - - -

Spawn Multiplier



7 replies to this topic

#1 Sabre

    Manhack

  • Members
  • PipPip
  • 57 posts

Posted 09 March 2012 - 07:47 AM

I was wondering if you guys could help me out a bit.

I plan on making a map for a source engine mod I like. A co-op mod called Obsidien Conflict.

I know the basics of source mapping. I even made a remake of the facility from 007 Goldeneye and a DotA type SP map in the past. The goal is to make a walkthrough map similar to LeonSPYmaps or L4D maps.

I want the map to have a spawn scalling system similar to Overwatch.

There is an entity that counts the number of live players. I want it to spawn x many guys based on the player count. The thing is, having every spawn check the number of players at every encounter seems like it would take an age to set up each time. I was wondering if overwatch used any tricks for it's spawns.

On a related note, I want to set up a L4D style random spawn for items. Nothing that complex. Basicly spawning the medkit at A B or C depending on either a random number, or the player count (so there are enough medkits to go around) and I was wondering if this is possible without extra code, or if it is something that is mapped in?

Thanks.

#2 leiftiger

    Headcrab

  • Members
  • Pip
  • 44 posts
  • LocationStockholm, Sweden

Posted 09 March 2012 - 09:48 AM

Overwatch probably sets this at engine level, doing this with just source's i/o system would be very complicated compared to the alternative that mods and games do.

You could possibly only check that entity once at every attack, then the attack would have the constant number of enemies, but the next attack when some players might've died will have less enemies.

Edited by leiftiger, 09 March 2012 - 09:52 AM.


#3 rickinator9

    Zombie

  • Members
  • PipPipPipPip
  • 290 posts
  • LocationSchagen, The netherlands

Posted 09 March 2012 - 09:51 AM

View PostSabre, on 09 March 2012 - 07:47 AM, said:

I was wondering if you guys could help me out a bit.

I plan on making a map for a source engine mod I like. A co-op mod called Obsidien Conflict.

I know the basics of source mapping. I even made a remake of the facility from 007 Goldeneye and a DotA type SP map in the past. The goal is to make a walkthrough map similar to LeonSPYmaps or L4D maps.

I want the map to have a spawn scalling system similar to Overwatch.

There is an entity that counts the number of live players. I want it to spawn x many guys based on the player count. The thing is, having every spawn check the number of players at every encounter seems like it would take an age to set up each time. I was wondering if overwatch used any tricks for it's spawns.

On a related note, I want to set up a L4D style random spawn for items. Nothing that complex. Basicly spawning the medkit at A B or C depending on either a random number, or the player count (so there are enough medkits to go around) and I was wondering if this is possible without extra code, or if it is something that is mapped in?

Thanks.

I just spammed the entity that counts players. If I would have one of those, it would spawn at multiple spawnpoints. As for the random items, I think it's made with entities.

#4 Sabre

    Manhack

  • Members
  • PipPip
  • 57 posts

Posted 09 March 2012 - 10:01 AM

View Postrickinator9, on 09 March 2012 - 09:51 AM, said:

I just spammed the entity that counts players. If I would have one of those, it would spawn at multiple spawnpoints. As for the random items, I think it's made with entities.

Right. When they walk into an area, a trigger counts the players, but then what?

Let's say I want to spawn 1-10 guys to match the number of players. Would I have to use 10 func_logics (or whatever it's called) and say "if 1 spawn A." "if 2 spawn A and B" "if 3 spawn A and B and C" and so on for every inctance of every enemy?

#5 leiftiger

    Headcrab

  • Members
  • Pip
  • 44 posts
  • LocationStockholm, Sweden

Posted 09 March 2012 - 10:03 AM

View PostSabre, on 09 March 2012 - 10:01 AM, said:

Right. When they walk into an area, a trigger counts the players, but then what?

Let's say I want to spawn 1-10 guys to match the number of players. Would I have to use 10 func_logics (or whatever it's called) and say "if 1 spawn A." "if 2 spawn A and B" "if 3 spawn A and B and C" and so on for every inctance of every enemy?
For every enemy? Wouldn't it be easier to say, using an npc_maker entity and setting how many entities it'll spawn?

But if you're really going to do this I would suggest a logic_case entity to check against the player number.

Edited by leiftiger, 09 March 2012 - 10:07 AM.


#6 rickinator9

    Zombie

  • Members
  • PipPipPipPip
  • 290 posts
  • LocationSchagen, The netherlands

Posted 09 March 2012 - 10:10 AM

View PostSabre, on 09 March 2012 - 10:01 AM, said:

Right. When they walk into an area, a trigger counts the players, but then what?

Let's say I want to spawn 1-10 guys to match the number of players. Would I have to use 10 func_logics (or whatever it's called) and say "if 1 spawn A." "if 2 spawn A and B" "if 3 spawn A and B and C" and so on for every inctance of every enemy?

I have an overwatch map(which I sadly quit) which has these spawns. Here's the link: http://dl.dropbox.co...c_escapeVMF.zip
That's how I did it.

#7 Sabre

    Manhack

  • Members
  • PipPip
  • 57 posts

Posted 09 March 2012 - 10:20 AM

View Postleiftiger, on 09 March 2012 - 10:03 AM, said:

For every enemy? Wouldn't it be easier to say, using an npc_maker entity and setting how many entities it'll spawn?

But if you're really going to do this I would suggest a logic_case entity to check against the player number.

I want to avoid doing it each time, if I can help it. Hence why I'm asking how OW handles it. Having to do it for every enemy in a shoot heavy map could be prohibitive to my plan. You can imagine, 10 encounters that scale for 1-10 players, that's 100 IOs to keep track of, not including doors, triggers, ect.

I'm not a fan of npc_maker because it tends to break. Often enemies won't spawn if there is a guy standing to close, and I often have issues getting them to move off the spawn without a distraction. Putting them high up or on ramps tends to lead to other issues. It's certainly doible like that, I used it for my DotA map. It's certainly preferible to the 100 IO method. Maybe I can have multiple npc_makers all using the same pool of for spawns in case one get's stuck? But that might be getting a bit to clever.

EDIT- Was ninjed.
"That's how I did it."
That's pretty crazy. Not looked at the map yet, but I will when I get round to it. Why did you stop mapping?

Edited by Sabre, 09 March 2012 - 10:22 AM.


#8 rickinator9

    Zombie

  • Members
  • PipPipPipPip
  • 290 posts
  • LocationSchagen, The netherlands

Posted 09 March 2012 - 07:22 PM

I do have a more ambitious project going on, but I'm in my exam year so that will have to wait. It isn't even orange yet.
As for the map I linked, the geometry was so fucked up that I figured it would be better to just start over again. With a different theme, that is. Some mechanics also didn't work(i.e. zombies not going to their info_targets). So the map was in a citadel environment. That made building traps difficult. It was also very difficult to fill the gaps with fog. Eventually, I had to do a lot of stuff to even get a lot of progress. The elevator at the end is still broken, after a dozen attempts to fix it. I eventually grew sick of it.
This thing was my 'learning map'. And it has a lot of mistakes.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users