• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Question about juggling

Status
Not open for further replies.
Level 4
Joined
Oct 31, 2013
Messages
55
Hi guys

I've created a TD with a warning system when players block the creeps path. I've got a comment from a player:
"I tried to juggle, and the creeps didn't take kindly to that. Would be nice if you put a "no juggling" disclaimer alongside the "no blocking""

What is your take on juggling in a TD where blocking is not allowed?

Is it necessary to mention juggling is not allowed?
 
Level 4
Joined
Oct 31, 2013
Messages
55
Juggling is when you make two separate exits that the creeps can go through the maze. When the creeps get close to one exit, you block it, causing the creeps to head to the other exit. When the creeps get close to that exit, you unblock the first one, and block the second one. This allows you to keep the creeps going back and forth through the maze for as long as you want(or you at least try to).
 
Level 4
Joined
Oct 31, 2013
Messages
55
Juggling is pretty obviously cheating. I don't think you need to add a warning for that (though if you already have a warning for no blocking, wouldn't hurt to add no juggling to it as well).

I struggled alot creating the warning system for detecting when a player is blocking(works most of the time) and it can't detect juggling. I have set the casting time to 8 seconds for mazing towers to try preventing people from juggling. So if I could make some anti-juggling triggers like HappyTauren mentioned it wound be great.

I'm glad to hear that I'm not the only one thinking it's obviously cheating(to me so obvious that it should not be necessary to mention)
 
Level 4
Joined
Oct 31, 2013
Messages
55
It depends, it's not always obviously cheating, it's possible to make a TD map in such a way, that you HAVE to use juggling to win. If this is the case, then it is by design. But for most maps, this mechanic is cheating.

Still, do you need help implementing this "calculate how much the unit has moved" system?

I'm not sure how to make it in a way where I'm 100% sure that people not juggling can get punished by a mistake. However, at first I like to try creating it myself. But if you have link to some help or any quick notes on implementing the system you are more than welcome to give me something to start with.
 
I don't really use GUI or jass alone, so I don't know what kinds of libraries exist for this kind of a thing. I hope someone else'll direct you to one of those. What do you need the solution in?

However, there's an obvious way to NEVER have a false positive. How? Well, calculate the maximum possible distance for the unit to move from the spawn, towards the end of the line. When you calculate the maximum possible path length, you can then say, well, if units walk less than this, they could still be juggled, but at least it is not excessive.

I could create a pathfinding-based system which would detect when you block the path that the units are supposed to take, this would work in 100% of cases, but it'd take time to code it properly.
 
Level 4
Joined
Oct 31, 2013
Messages
55
I don't really use GUI or jass alone, so I don't know what kinds of libraries exist for this kind of a thing. I hope someone else'll direct you to one of those. What do you need the solution in?

However, there's an obvious way to NEVER have a false positive. How? Well, calculate the maximum possible distance for the unit to move from the spawn, towards the end of the line. When you calculate the maximum possible path length, you can then say, well, if units walk less than this, they could still be juggled, but at least it is not excessive.

I could create a pathfinding-based system which would detect when you block the path that the units are supposed to take, this would work in 100% of cases, but it'd take time to code it properly.

The solution is needed in my map Dragon Nest TD. The waves are spawning from one of 8 caves chosen at random at each level on the map and are ordered to attack your dragon egg(you drop the egg at a chosen location on the map at the start of the game). So the maximum possible path length can't be used.

A pathfinding-based system sounds really good because it also properly could be used for detecting blocking better than I do at the moment. Right now I spawn a referee unit at each wave. if the referee unit has the same position for more than a second the player gets a warning.

I actually gave up on the idea of creating a pathfinding system and antiblock system for my map, because it seems to be beyond my mapmaking skills :)
 
The solution is needed in my map Dragon Nest TD. The waves are spawning from one of 8 caves chosen at random at each level on the map and are ordered to attack your dragon egg(you drop the egg at a chosen location on the map at the start of the game). So the maximum possible path length can't be used.

A pathfinding-based system sounds really good because it also properly could be used for detecting blocking better than I do at the moment. Right now I spawn a referee unit at each wave. if the referee unit has the same position for more than a second the player gets a warning.

I actually gave up on the idea of creating a pathfinding system and antiblock system for my map, because it seems to be beyond my mapmaking skills :)

Alright, I get it. I will play your map for a bit and figure out what the best solution is.
 
Level 11
Joined
Jun 2, 2004
Messages
849
For my TD, I gave up preventing juggling and decided to just go with the honor system. If people want to cheat, they can.

The ideal fix is to not allow building during waves, but this isn't appropriate for every TD. Some expect constant streams of units, like mine.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
One can detect juggling by using what Happy Tauren suggested. If one polls unit movement every second or so the time used should be trivial. There is an absolute maximum distance a unit needs to go through a maze. This is some multiple of the number of towers used to form the maze added to the base distance the unit needs to go from start to the end. If the unit exceeds this maximum obviously it must be getting juggled around as it is impossible for this to happen otherwise. Nothing would stop people micro juggling, where they push the distance to just before the detection threshold, but doing so would be very difficult and risky.

Block detection is done by sending dummy units periodically though the maze, say every 5 seconds. If one does not arrive for 10 or 15 seconds then there is a fair chance that there is a blockage.

The correct, friendly, punishment for blocking would be to sell/roll back the players towers to the state they were when the last non-blocked dummy unit made it through. Similar punishment for juggling would be to disable the player from building maze towers until dummy units make it to the end that have accumulated less than the calculated maximum path limit.
 
Status
Not open for further replies.
Top