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

Logic Mechanics you've created!

Recommended Posts

I decided to post this thread so i can show off some cool ideas of coding i've discovered in snapmap, and hope others will put their own creation ideas here! You don't HAVE to explain how you did what you created. But you could post a link to the map that has said logic, if you wish. Or be dedicated enough to explain the process here!

I created a simple "HELP" indicater over a player's head, in case they need to call some other player for assistance!

Button input---->On [User Input 1] Pressed--->Set POI--->Player Proxy
Button Input---->On [User Input 1] Pressed--->Set Timer [5s]---> Remove POI on Player

Share this post


Link to post

This thread's a really good idea.

Potatoguy said:

I created a simple "HELP" indicater over a player's head, in case they need to call some other player for assistance!

Button input---->On [User Input 1] Pressed--->Set POI--->Player Proxy
Button Input---->On [User Input 1] Pressed--->Set Timer [5s]---> Remove POI on Player


I have possibly a dumb question. When mapping something to the user Input 1 button, does it keep players for using it for other things too? (like pushing buttons or picking up weapons) I haven't really experimented with that feature yet.

Share this post


Link to post

User Input 1 and 2 are buttons not ever given commands in Snapmap. On PS4. it's Square [Input 1] and L3 [Input 2]. These commands do not do any other command unless given some by coding. Hence, my first post.

However you CAN put other button commands, such as the fire button and the use/interact button, have logic strings to it. But they will still cause the buttons to do their original command, AND the logic code you gave it.

So with my little idea, Square causes a help icon pop over a player's head.

Share this post


Link to post

Two things worth mentioning that I can think of right now:

1. For usability on PC every map I make features a WALK button. I have bound User Input 1 to Shift so I can use it as a walk button just like in singleplayer. I don't think I have to explain how it works, just that I've found that half the speed you set as default works well imo. But of course you could use other values or apply the same concept as a "sprint" button if you're a post-HL2 type PC gamer aka a heretic who needs to be purged.

2. I made an elaborate upgrade system for my first released map where I start the player off without climbing and double jump and the player can unlock these things (and higher movement speed) using a player resource he collects. It fully supports respawning the player with the correct unlocks. If you are interested in replicating some aspect of this in your map, load up 5ZWXCNP9 and look in the big "observation" module that isn't connected to any of the others. Use this to understand how things work, don't be lazy and copy it outright. If you don't understand it you won't be able to fix it when you inevitably break it. Also give my map a like, it's hard to get any recognition in Snapmap.

Share this post


Link to post

Gave your map a run through, and i really love the ugrade mechanic you had going. The map also had some sick usage of cameras! That said, the map as a whole is ok.

Spoiler

Gameplay: 2/5 – There’s at most 20 enemies. With so little enemy count, its hard to find enjoyment in this map! Doesn’t help that where you fight them are rather enclosed areas, making the matches a bit harder, but for the wrong reasons. I also died 3 times from the first puzzle ALONE.
Difficulty: 2/5 – Making you start with 25 health from start to finish makes fight harder without them needing to be. Literally one bitchslap from a hellknight is all it takes to die. At least there’s 5 lives for this!
Map Design: 2/5 – The map is pretty barren and without much props, making them feel empty and unexciting. At least I didn’t get lost.
Sound: 4/5 – Good use of music to kick in during intense battles (whichever are there). I really like the last soundtrack of the baron fight!
Uniqueness: 3/5 – This map would have a lot more uniqueness to it if it wasn’t so lifeless with the low enemy count. But the INCREDIBLE technical specs of this map really make it shine out!
Technicality: 5/5 – These are some WICKED logic ideas you did! A decidable upgrade mechanic, great usage of FXs, and very VERY good overall cutscenes! I really like how the doors close at the final part of the map!

I had an idea how to make upgrades already, but this gave me some new ideas on what can be done. Good stuff!

Share this post


Link to post

These were probably done by some other mapper as I'm not going to claim to be the most advanced user of the advanced coding features by any stretch, but in "Awash in the blood of the dead" I did two things which I thought were really cool. First was to start off with spawning the standard 12 creatures but on that initial spawn a random integer is set to a counter between 10 and 35. Their deaths in turn create a nonstop spawning of new creatures as long as there are less than 13 creatures on the map. What stops it is the randomized counter which, when reached, sends a signal that there are now more than 13 creatures in the map and that stops the spawning. Since it's completely random how many will show up after the initial 12, I thought it was a fun idea.

The 2nd idea in the map was to have the death of a creature spawn one of 6 possible other creatures in it's place. That actually worked out really well. There are, initially (of course) 12 creatures spawned after an event and when each one dies it sends a random integer to the integer function then it also sends out 1 signal to each of the six integer checkers and triggers the one that the random signal to the integer created.

The 3rd idea - simple one really, was that in one of the modules there is actually a drop down into a lower section (a large hole in the floor). I created a player blocking volume to fill the space and gave it a solid color closely resembling the environment around it so that it looks like it belongs and prevents the player from going through it. Basically it's a fake floor. The floor is removed on the death of a specific entity and then the player can continue. To ensure that no creatures are left when this entity is killed, I set it so that when it dies, all the other active AI's in the module also die.

The map id is: ATSZXD2N

I hope you enjoy it and I hope it gives some ideas.

Also, though I saved it - I didn't include it in this map. I'm reserving it for another, I created some logic which uses 3 timers which set off by a random integer. What the random integer determines which timer gets activated. This in turn causes zombies (or whatever creature you want) to continue to spawn until the timer expires. :-)

Share this post


Link to post

To add to that, I have similar logic enabled a bit differently.

When a player hits a trigger they get a random number for the total number of enemies. They also start a repeater that repeats until the total number of enemies have been spawned.

The repeater generates a random number each signal, and each different number is associated with a different monster (e.g. 1=worker, 2=hell razer, etc.).

Also, the monster that is spawned "gets" a player cache variable, so the monster always spawns in the module with the player. This enables me to build the logic chain in a separate room and not have rooms filled with AI spawners or cross-referencing logic nodes.

In retrospect, the random / random thing is okay, but I think linear and specific placement of enemies creates a better experience in a classic style map. It was a fun exercise in SNAPMAP, though.

Because of that, I now just put the AI conductor on a trigger that I can enable/disable at will throughout the map, and enable certain conditions to change the level of the mobs. I do the same with the item spawning trigger. This allows me to fill blank spaces with a trickle of monsters and items, and I can turn off additional spawning for specific encounters or modules. I think I prefer this approach, now. I'm even experimenting with using this technique on music and 2d sounds.

Share this post


Link to post

Well, if you get a chance, give my map a whirl and see how you think it came out.
:-)

VentedPennies said:

To add to that, I have similar logic enabled a bit differently.

When a player hits a trigger they get a random number for the total number of enemies. They also start a repeater that repeats until the total number of enemies have been spawned.

The repeater generates a random number each signal, and each different number is associated with a different monster (e.g. 1=worker, 2=hell razer, etc.).

Also, the monster that is spawned "gets" a player cache variable, so the monster always spawns in the module with the player. This enables me to build the logic chain in a separate room and not have rooms filled with AI spawners or cross-referencing logic nodes.

In retrospect, the random / random thing is okay, but I think linear and specific placement of enemies creates a better experience in a classic style map. It was a fun exercise in SNAPMAP, though.

Because of that, I now just put the AI conductor on a trigger that I can enable/disable at will throughout the map, and enable certain conditions to change the level of the mobs. I do the same with the item spawning trigger. This allows me to fill blank spaces with a trickle of monsters and items, and I can turn off additional spawning for specific encounters or modules. I think I prefer this approach, now. I'm even experimenting with using this technique on music and 2d sounds.

Share this post


Link to post

I got a rage mechanic that increases player strength the more enemies they kill within a limited amount of time. If they kill enough, they "hulk out" and turn into a demon for a short time.

Share this post


Link to post

I don't see why not. It would be a bit more work since you'd have 4 players and need to track all 4 players, but I don't see anything preventing it.

I can throw up a video or put the map online or something if you'd like. Whichever you think is easiest.

It's basically on AI kill start timer. Then as the player kills more AI while the timer is active, their speed and damage increases. Once their speed and damage reach a certain number, a second timer starts and they turn into a demon. Once that 2nd timer ends, they turn back and the whole thing resets.

Share this post


Link to post

Off the top of my head, this lighting effect can be done with Time Relays. Make something activate the timer (On Map Start, for example), then after X number of seconds, the light is turned on. Make the timer not only change the light, but activate another time relay. Then after a short number of seconds, that time relay turns the light off. And then rinse and repeat.

Pretty much have a good amount of time relays activating one after the other, with different seconds on each for how long they keep the light on. It's complex, but this is my take on the idea.

Share this post


Link to post
Potatoguy said:

Gameplay: 2/5 – There’s at most 20 enemies. With so little enemy count, its hard to find enjoyment in this map! Doesn’t help that where you fight them are rather enclosed areas, making the matches a bit harder, but for the wrong reasons.


Low enemy count is down to object limit. SnapMap supports decent sized maps filled with enemies only if you use the automated stuff. Hand-placing demons has a high cost (maybe up to a percent per enemy) so you won't see carefully crafted maps like mine with many rooms AND many enemies. It's simply not possible. Same goes for interior decorating, or size of the modules. Bigger modules cost MASSIVELY, several percent per module. And all props have a noticable cost as well. I wanted a map that has you travelling a fair distance so I had to use a lot of smaller hallways inbetween the major rooms.

Potatoguy said:

I also died 3 times from the first puzzle ALONE.


That's rough, man. I didn't anticipate that people would die more than once on the initial puzzle. I assumed everyone would die once and then avoid the middle platform until being sure of their solution. But unfortunately I got similar feedback from someone else. Lesson learned: Don't combine a lives-limit with easy ways to die.

Potatoguy said:

Difficulty: 2/5 – Making you start with 25 health from start to finish makes fight harder without them needing to be. Literally one bitchslap from a hellknight is all it takes to die. At least there’s 5 lives for this!


There's only two ways to make SnapMaps hard:

1. Increasing the health of enemies / decreasing the player's damage
2. Decreasing the health of the player / increasing enemy damage

1 results in drawn out boring fights, 2 results in high stakes without being tedious so that will always be my choice. Important question: Did you play with mouse or with a controller?

Share this post


Link to post

I disagree with many of your points.

Yes, you can have hand placed demons and still have lots of demons. Yes, it requires you to either use automated spawners or the conductor, but neither of which lowers the "carefully crafted bit".

You can also make the game more difficult in other ways than fiddling with damage and health pools. Like, providing the player with a certain loudout against certain enemy types or even including a simple platforming section.

Share this post


Link to post

Since my last post I have revisited my map, made significant changes in response to feedback. I've started using spawners to fill the map with literally more than twice as many enemies while running up LOWER on object limit! I'm honestly embarrassed I hadn't given spawners a fair shot before. Didn't know they had no object cost so I didn't see a reason to prefer them. Lesson learned: Always use spawners when possible.

I've also updated the weapon/loadout systems to support carrying all available weapons (5 in my map). You now keep your weapons after death. The update allows you to deactivate glory kills completely so I've gotten rid of the unreliable hack I used before (on percentage reached -> hurt). I've changed a lot about health and damage values to even out combat difficulty, and provided more armor and ammo to the player overall. I've also once again raised player lives to 9, formerly 5, so people who die repeatedly on the first puzzle (or simply suck at combat) still have a shot at completing the map on their first attempt.

Any way, for this thread, I'll highlight the changes to the upgrade system: All "loadout" nodes have been changed to be ready for 5 weapons. Also you aren't handed a loadout after every respawn anymore. Since I've checked "keep inventory" in gameplay settings the game does this automatically. I think I left the old logic in but it's disconnected. So if you want to take away the player's weapons you still can, just reconnect those parts and deactivate the option in gameplay settings.

ShadesMaster said:

Summerton's upgrade system = AWESOME


*symmetron, and thank you.

EDIT: MAP IS NO LONGER BROKEN IN OPENGL.

Share this post


Link to post

I have the version 1.0 of the map, but this crashes my computer when I try to load it... an 'unknown buffer' or something.. strange....

Share this post


Link to post
symmetron said:

Vulkan is generally crash prone still.

No it isn't. Not if you keep your graphics drivers up to date like you're supposed to be.

Share this post


Link to post

Vulcan, although I had to update drivers already jyst to get Vulcan to work. :P

I've figured out the 'simple' way to do upgrades, tho... Have any switch trigger a player proxy via modifier. Bing bam boom.

Share this post


Link to post

Not sure if it's been done (probably), but so far seems effective....

That is, using a counter linked to a door to [custom] spawn enemies. The counter starts at 1, you subtract it to 'max' 0, and you get dynamic seeming enemies as you enter a room!

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
×