Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
PsychoGoatee

Mapping questions thread

Recommended Posts

Thanks for the score tip. Never would have guessed it was there!
And yeah... The only way to stop a player from firing seems to be the zero ammo method. Sucks, cause that would break a logic chain in my map if i implemented it.

I have a question about logic chains itself. Is it better to link multiple inputs to the same output, or have them all link to one "signal command"? So what i mean is this:

button > play \
button > play - music
button > play /

OR

button \
button - play > music
button /

Share this post


Link to post

Uh, I haven't really found a situation where it matters, in the example you've shown I'd just link all the buttons to the same play music node (bottom example), unless of course you are playing different versions of the music.

Share this post


Link to post

I have always used shared nodes wherever I can and if it makes sense for clarity (sometimes its more convenient to keep nodes close to the object they influence for example).

I ran into an issue once where a relay would not trigger until I gave the object it had to trigger its own signal out. That only happened once though and I still don't know what the exact reason for it was. Other then that I have not run into any detrimental effects because of this flow.

In fact on snapwiki.doom.com they use the shared nodes principle in some of their examples:

http://snapwiki.doom.com/index.php?title=File:PatternsManagingAIShowDemons.PNG

Since those are either technical writers or developers of snapmap I think its a pretty safe bet its ok.

Share this post


Link to post
Potatoguy said:

Does this technique reduce memory usage, since there are less play commands being used?


Nodes add to Objects and Memory resources and some also to Network so the answer is yes.

Share this post


Link to post

I've got two questions about some buggy-ish behavior.

The first one being that when a container is spawned ( from a killed enemy ) the player cannot pick them up if they have full armor. What gives? I've seen this same trick used in another persons map but I could pick the containers up just fine, with full health, armor and ammo. There doesn't appear to be any setting that's telling the container to not be grabbed if you are at full armor.

And the second question, also related to armor. I've assigned a player proxy so that it's not supposed to have anymore, so it's set to 0% armor in the modifier. The player can still pickup armor, but it only goes up to one. How do I prevent them from being able to pickup armor at all? I can't exactly filter all pickups in the map so that this one specific player cannot use them.

Share this post


Link to post
Miss Bubbles said:

The first one being that when a container is spawned ( from a killed enemy ) the player cannot pick them up if they have full armor. What gives? I've seen this same trick used in another persons map but I could pick the containers up just fine, with full health, armor and ammo. There doesn't appear to be any setting that's telling the container to not be grabbed if you are at full armor.


This only happens if the container gives you nothing (no health, no armor, no custom resource... absolutely nothing). As long as it gives you 0 armor and at least 1 of something else, you shouldn't have this problem. I tested it myself just to make sure.

Miss Bubbles said:

And the second question, also related to armor. I've assigned a player proxy so that it's not supposed to have anymore, so it's set to 0% armor in the modifier. The player can still pickup armor, but it only goes up to one. How do I prevent them from being able to pickup armor at all? I can't exactly filter all pickups in the map so that this one specific player cannot use them.


Filters are the answer. Why can't you filter all of the necessary pickups on the map? There's really no other way to prevent the player from picking up armor.

Share this post


Link to post
chubz said:

This only happens if the container gives you nothing (no health, no armor, no custom resource... absolutely nothing). As long as it gives you 0 armor and at least 1 of something else, you shouldn't have this problem. I tested it myself just to make sure.


Hmm, well they are set to give the player a resource ( in this case, gold ) to spend. Does this not count? I'll try adding something else to it as well, like ammo.

chubz said:

Filters are the answer. Why can't you filter all of the necessary pickups on the map? There's really no other way to prevent the player from picking up armor.


I could try to do that but it can be a bit difficult to start squeezing in extra entities in an already nearly full map thanks to Snapmaps wonderful memory limitations.

Thanks for the tips, I'll see what I can do now.

Share this post


Link to post

I have a question about resources that i can't answer cause I'm a lonely bastard.

Do player resource applied differently to each player, or do all share the same resource? Say a demon is killed by player, and on death, ir give 50 player resource to killer (the player). Would it just give THAT player 50 pts, or every player in the map 50 pts?

Or is that what team resource is for?

Share this post


Link to post
Potatoguy said:

I have a question about resources that i can't answer cause I'm a lonely bastard.

Do player resource applied differently to each player, or do all share the same resource? Say a demon is killed by player, and on death, ir give 50 player resource to killer (the player). Would it just give THAT player 50 pts, or every player in the map 50 pts?

Or is that what team resource is for?


Yep, that's exactly what team resources are for. Player resources are collected only by specific players.

Share this post


Link to post

I've got a couple questions again.

First, I have a munitions box that is set to disable on start. When the player has an item for a filtered trigger and uses the trigger it goes " On Trigger Used > Enable Interactable. " But it doesn't become interactable. Why is that?

I also have a similar question for a trigger that is set up like so: " On Map Start > Trigger > Disable Volume " and after a survival event is complete it's supposed to set a Boolean to false to make the trigger interactable. I have " On Event Finished > Set False > Boolean " followed by the Boolean's sequence " On Changed > Test Boolean (being itself) " followed by the same Boolean in another area of the map to go " On Tested False > Enable Volume " which is linked to the aforementioned trigger.

I have tried this numerous times and it refuses to enable the volume. I'm beginning to think there's some strange bug involving enabling and disabling triggers via a Boolean. I tried to make it so that the Boolean signals a Relay instead of going straight to the volume, but no luck.

Also yeah I know it should be true, but I have them set up backwards because this is how I did all my booleans and they've been working fine until this one. It's basically just a true or false " on/off " switch anyway right?

The second problem really has me stumped. I don't want to simply connect the trigger to the " On Event Finished " function because I'm trying to compartmentalize the logic in my map. If I connect these two things together I'm creating a giant entity clusterfuck within the map that I'm pretty sure has been the source of my entities going corrupt and becoming uneditable in previous maps.

Share this post


Link to post
TheLastOttoman said:

- How can i change the damage output of weapons?

- Is there a way to drop boxes on top of boxes without making them clip trough each other? Pressing the directional buttons or moving it with the mouse go's to fast.

- Is there a way to change the theme of a room with a activator?

- Is it possible to raise the max armor, health and ammo a player can carry?

Tnx in advance.


The damage output health etc is done through the player proxy. You cant change the the theme of a room but you can turn on and off lights. You can also block preset light in the rooms with player blocking blocks. turn them to solid.

Share this post


Link to post
Miss Bubbles said:

Hmm, well they are set to give the player a resource ( in this case, gold ) to spend. Does this not count? I'll try adding something else to it as well, like ammo.

I could try to do that but it can be a bit difficult to start squeezing in extra entities in an already nearly full map thanks to Snapmaps wonderful memory limitations.

Thanks for the tips, I'll see what I can do now.


Alternately, you can set up a player resource called something like Armour Pickup Value. For each of your Armour pickups, you would need to set the Armour Pickup Value resource (setting it to the exact value the Armour gives you). You would also want to cache the Armour using the Cache Object module.

Then you would have a standalone node for Armour Pickup Value -> On Changed, test if the user is allowed to pickup armour. If not allowed, deduct Armour Pickup Value from Players Armour, then respawn the Armour by referencing the cached object.

Haven't tested this, but the logic should work. Not sure how the coding works in the background though, may do strange things if 2 players pick up Armour at exactly the same time. It's still extra coding, but less than if you filtered every spawn, and it works across all players.

Share this post


Link to post

Right now asking some final questions before releasing my next big Snapmap, so i want to hear some thoughts/opinions.
Q1: Would it be better that
- each player in a coop experience share the same resource (by team resource) or

- each player in a coop experience have their own seperate resources (By player resource), however they won't know other player's resource count??

Q2: What would be funner to play?
- Enemies fought in assorted, sequential modules per playthrough or
- Enemies fought in random modules per playthrough. However the enemies will not change to reflect the module layout, such as distant enemies like Hellrazers may be fought in an enclosed module area.

Q3: Are filters ever use for anything? Haven't used them yet, and don't know how they can solve a situation otherwise not possible. Most issues i had are solved with interger compare.

Share this post


Link to post

Q1:each player in a coop experience share the same resource.(I understand all to well the limits of Snap Map hopefully future updates will solve these limitations)

Q2: Enemies fought in assorted, sequential modules per play through.(once again limitations)

Q3:Filters are used for creating custom out comes example: a pressure switch on the floor to a door
"on exit the switch----filter:droppable -1 count yellow flag-------unlocks door"

Share this post


Link to post
Potatoguy said:

Thanks for the score tip. Never would have guessed it was there!
And yeah... The only way to stop a player from firing seems to be the zero ammo method. Sucks, cause that would break a logic chain in my map if i implemented it.

I have a question about logic chains itself. Is it better to link multiple inputs to the same output, or have them all link to one "signal command"? So what i mean is this:

button > play \
button > play - music
button > play /

OR

button \
button - play > music
button /


The less nodes you have the more memory you have. And the less clutter the easier to navigate.

Share this post


Link to post

I'm just finishing up my first snap map - a single player / coop (untested) old school campaign mission. Has anyone found a rock solid way of de-spawning unnecessary enemies to make way for new encounters?

PsychoGoatee said:

You can also make a filter to only kill AIs in a certain module.

- this sounds pretty good to me! Any chance you could spell out to me how to do this? I've not quite got my head around the use of custom filters

Here's more detail about my specific problem, this is a long one so thanks in advance to anyone willing to read the lot :)

I've used a combination of placed (hidden, and controlled by conductor) enemies and spawn encounters (single/custom). The problem is that you can break the map by running through without engaging enemies. Towards the end of the mission there are 3 custom group encounters (with smaller encounters and hidden enemies along the way) and the first of these seems to work fine but the second will break if there are stragglers around the map.

I've also added a logic chain to make encounter 1 a bit more busy which spawns an imp every time an enemy in that encounter dies (it's in a big room so it's nice to keep it well populated throughout the encounter), but I don't think that's the cause of the problem (each imp is a "single encounter" so should be controlled by the conductor, right?)

I thought i'd found an interesting way to fix this - I placed an AI iterator in the 2nd encounter module which triggered when the player arrives (this happens by teleporter btw) which went through the AI and teleported them into the module the player was in... This could have been pretty interesting and almost worked but no matter what i did, i couldn't stagger the event so they all teleported in at once on top of each other (does anyone else find that sequencers and relays rarely do what you expect?), and it turned out that hidden enemies were included (I assumed the iterator would only affect active AI) so the rest of the map was knackered.

I'm starting to think that the conductor is struggling because of a few teleporters placed around the map which might stop it from hiding spawned enemies but that doesn't explain why encounter 1 works but 2 is broken. I might have a go at disabling teleporters when they're no longer needed (i'm right up against the network memory limit so something else will have to go... ugh).

I do know a bunch of ways I could solve my problem by changing basic things about the map design but it's 99% there and I've got enough lock-down style encounters already. The map also needs to work as a coop mission (I've kept that in mind despite not being able to test it so far). Unless anyone has a better idea I suppose the next thing to try is replacing all the hidden enemies with single encounters but that's a reasonable chunk of work and i'm not totally convinced it'll fix things. I think it's a fun retro map with it's own character and a couple of surprises - if I can fix this I'll be real happy

thanks in advance for any help!

Share this post


Link to post
HALFRATS PS4 said:

I use a ai proxy and kill all
AI with it.

Yeah I will give this a try tonight...

Have you tried that in a coop map? I wanted to avoid having a bunch of enemies disappear as soon as the first player goes through a teleporter.... but the first player through the teleporter shouldn't have to wait around either.

..and ideally the player/players could go back through the level and come across the enemies they left behind...

I suppose 4 teleporters that only activate when all players are on one of the teleporters could be a neater way to go.

thinking about it, wouldn't coop play ruin most maps if the players don't stick together.. I guess this is one of the reasons the main campaign is solo only

Share this post


Link to post

You could make it so once one person teleports everyone teleports.

Give the teleport room an integer that gets set once a player enters a module. As soon as one person enters the module (hits the teleporter and changes the integer), do a player iterate -> teleport to location.

You could also use a boolean to the same effect, but I prefer integers since you could do this multiple times in a map without having to keep making new booleans.

Share this post


Link to post
apeshake said:

Yeah I will give this a try tonight...

Have you tried that in a coop map? I wanted to avoid having a bunch of enemies disappear as soon as the first player goes through a teleporter.... but the first player through the teleporter shouldn't have to wait around either.

..and ideally the player/players could go back through the level and come across the enemies they left behind...

I suppose 4 teleporters that only activate when all players are on one of the teleporters could be a neater way to go.

thinking about it, wouldn't coop play ruin most maps if the players don't stick together.. I guess this is one of the reasons the main campaign is solo only


Co-op maps require lots of finicky code to effectively manage demon spawns, especially if you want to revisit rooms and maintain the pressure with demon spawns. I had to code a solution that essential disabled room spawns and objectives until all players are present. If even one person leaves the rooom to explore elsewhere, it would break the spawning system, so all enemies get removed and certain key objects disappear.

You *could* devise a system that captures live demons in visited modules, caches them in cached objects and respawns them when the players enter again, but it would be a resource-heavy solution and require a lot of work. The simpler solution, as VentedPennies suggests, is to keep your players together.

If your map uses scoring, you might want to use the AI iterator to remove demons. Killing them might mess with the score.

Another thought - you could store the number of alive demons in an integer count when leaving a room, then create a random spawn system that populates the room with the counted number of demons when players enter again. Would require a bit of work. With a bit of mathematics, you could even devise an integer storing system for all demons by picking a unique number for each demon that, when added together, doesn't clash with other demon types. But I'm getting ahead of myself I think.

Share this post


Link to post
HALFRATS PS4 said:

I use a ai proxy and kill all
AI with it.

this worked far better than i imagined it would! (I used the AI iterator into the proxy) It seems like "kill AI" actually means "hide active AI" (it's possible I used "remove all AI" as i was pretty sleepy, but I'm fairly certain I chose kill). The 2nd encounter worked perfectly as long as I killed all AI via an iterator, paused a few seconds, then spawned the encounter. I even came across all the enemy stragglers when I walked back through the level which was an unexpected bonus

VentedPennies said:

You could make it so once one person teleports everyone teleports.


I might end up doing this in an update - was a little too much to think about last night... but i'm considering the multiple teleporter pads so the team have to make a conscious decision to all teleport together. I like it when the decision to move on is left to the players as a group so that one rogue player doesn't end up pulling everyone else along with them. Would take a bit of work to make the mechanic transparent and functional though...

the new version of the map is up if anyone is interested! "the fence v2" 34QMEBVR

Share this post


Link to post

It's actually not too difficult.

On match joined -> add 1 to total player count integer

On module entered -> add integer to players in module integer -> on changed -> compare total player count to players in module -> when equal -> enable teleporter

Share this post


Link to post
VentedPennies said:

It's actually not too difficult.

On match joined -> add 1 to total player count integer

On module entered -> add integer to players in module integer -> on changed -> compare total player count to players in module -> when equal -> enable teleporter

yes you're right - I've already set up something similiar to start the first encounter as well.

Think i'll use 4 transparent cylinders which turn green when a player enters... when all players (however many that might be) are in a unique cylinder everyone teleports to the next area.

Share this post


Link to post
Potatoguy said:

I have a question about logic chains itself. Is it better to link multiple inputs to the same output, or have them all link to one "signal command"? So what i mean is this:

button > play \
button > play - music
button > play /

OR

button \
button - play > music
button /



I'm still working out whether this is the cause of the occasional crash with my level. The crashes are random and doesn't affect everybody. When I crash on my PS4, I get the error code CE-34878-0. I've emailed Bethesda support to see if they can answer as to whether it's a glitch within their tools.

Since the crashes, I've been condensing the command strings together where possible rather than having separate ones. I've also removed multiple items and taken a couple monsters to reduce the network percentage from 99% to around 97%.

Share this post


Link to post

That's rough, random crashes. I don't know why it would be caused by music logic, though.

If you want commands to occur in groups, use the relay function. For example, set one relay function for all the sounds in a room and then another for the checkpoint logic and another for spawning logic, etc. That might help the system parse complicated logic nodes, too.

Share this post


Link to post
VentedPennies said:

That's rough, random crashes. I don't know why it would be caused by music logic, though.

If you want commands to occur in groups, use the relay function. For example, set one relay function for all the sounds in a room and then another for the checkpoint logic and another for spawning logic, etc. That might help the system parse complicated logic nodes, too.


Oh I wasn't on about music logic, I was just using the concept from post above.

So are you saying I shouldn't be doing it like this? (screenshot of my level)

Share this post


Link to post

I just got a reply from Bethesda about the crashes.

Thank you for that information. This is a known issue that occurs when completing multiple SnapMap challenges in quick succession while playing Published Maps.
There is currently no workaround other than only playing in the Editor instead of in Published Maps.

Share this post


Link to post
Graphic_Delusions said:

Oh I wasn't on about music logic, I was just using the concept from post above.

So are you saying I shouldn't be doing it like this? (screenshot of my level)

http://i.imgur.com/lqtDYgI.jpg


Merging logic like this should be fine, multi-casting is encouraged as a more efficient use of resources.

Despite Bethesda's response, you can perform your own checks to try and identify the cause. Maybe check your objects and see if you're deleting something early on that might be referenced later in the map. Also check integer and number calculations to see what they're doing. Check nodes that delay inputs/outputs to try and figure out what will happen when they execute. Just spit-balling here, but the editor is young and there are probably lots of issues that haven't been uncovered yet. That doesn't mean we can't help isolate and report them.

Share this post


Link to post
Filthy Gringo said:

Merging logic like this should be fine, multi-casting is encouraged as a more efficient use of resources.



Been spending last night trying to fix the map.

I replaced all the merged logics with the relay signals:

Example


After going through the whole level tidying everything up, I never experienced a crash after a few plays. I then went back added a couple items in the map and changed the music settings to make it more upbeat - back to crashing!

Very frustrating because I can't even undo steps when it has crashed, as it boots you out of the game completely to the console's XMB.

I went back and decided to add command strings to stop the music when another is activated, but that wasn't the problem. Still crashing.

Share this post


Link to post

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
×