Bad Bug; need help finding a solution

Zaraf

New Member
Reaction score
22
Well, I always knew this bug existed, but I was hoping eventually we'd come up with a solution for it, but alas, we haven't.

Basically, the problem is this: In my TD map, creeps follow a certain path unless your builder comes within aggro range, at which point they chase him. However, if you barricade yourself in, then the creeps will just stand there, and be easily killed :(

http://www.ualberta.ca/~fqureshi/BadBug.jpg

I was hoping that there would be a way to detect if the creep can reach your builder or not, and if it can't, then just go back to its normal pathing....but apparently there isn't any way to detect if the creep can reach your builder or not.

Anyone have any ideas on how to fix this? Thanks!
 

Prometheus

Everything is mutable; nothing is sacred
Reaction score
589
Use a check to see if a unit has acquired a target, and not attacked. If it hasn't attacked make it move on.
 

Cookiemaster

New Member
Reaction score
36
You could:
Make creeps collisionless, making them walk through towers.
Make structures vulnerable, making creeps destroy them if they're in the way.
Make it so creeps are no longer aggro. Though I don't think this is what you want.
Make the creeps turn around if they stray off too much, see above post.
 

Lamby

New Member
Reaction score
6
Disable the attacks or set acquisition range to 0. If its a TD and not a maul, this should work fine.
 

Zaraf

New Member
Reaction score
22
Use a check to see if a unit has acquired a target, and not attacked. If it hasn't attacked make it move on.

I could see this as being a problem. The point of this map is that you keep luring creeps without getting attacked, so this would then trigger even when it shouldn't, and you wouldn't be able to lure creeps very effectively.

You could:
Make creeps collisionless, making them walk through towers.
Make structures vulnerable, making creeps destroy them if they're in the way.
Make it so creeps are no longer aggro. Though I don't think this is what you want.
Make the creeps turn around if they stray off too much, see above post.

Making the creeps able to walk through the towers is something I could consider as a last resort. The towers will always remain invulnerable, however, so I can't do that. Making the creeps turn around if they stray off too much would be more difficult and troublesome to deal with than it would be worth.

However, your idea of make it so the creeps are no longer aggro is EXACTLY what I want. However, what is the event or condition upon which this is activated? How does one determine that the creeps cannot reach the builder, so now drop the aggro and go back to walking along the path?

Disable the attacks or set acquisition range to 0. If its a TD and not a maul, this should work fine.

While it is a TD, the point is that the creeps CAN attack you, so this is out of the question. Btw, what IS the difference between a TD and a maul?
 

Lamby

New Member
Reaction score
6
While it is a TD, the point is that the creeps CAN attack you, so this is out of the question. Btw, what IS the difference between a TD and a maul?

I consider mauls to be a type of TD where the towers are on the path the units follow, and there are walls closing off the buildable area, so that you can make mazes and stuff. Basically I was saying If its not possible to block the path with the towers, you can remove the attacks, but if you can you'll need them.

And I don't really understand, if the towers are invulnerable, what are the units needing to attack? And if its possible to block with the towers, you're going to have to make the units have no collision size or else the player will be able to get them stuck and unable to reach the region where they're ordered to go.

Also you could make it so you use the unit acquires a target thing, then you put an or (any of the following) condition, and put the unit-type of all your towers in it.
 

StRoNgFoE.

New Member
Reaction score
9
Make sure that the creeps that chase the builder don't attack the builder's "classification"

If so, change the classification to something that the creeps don't attack, and make the builder invulnerable.

I hope this helps :D
 

bOb666777

Stand against the ugly world domination face!
Reaction score
117
I would suggest an approach similar to Gridlock TD. Make 2 units, 1 runner, and 1 builder. The runner is the one luring, and is a ground, vulnerable unit. The builder is a flying, invulnerable unit. The buildable areas are surrounded by ground pathing blockers so you can't barricade your runner in them.
 

Zaraf

New Member
Reaction score
22
I would suggest an approach similar to Gridlock TD. Make 2 units, 1 runner, and 1 builder. The runner is the one luring, and is a ground, vulnerable unit. The builder is a flying, invulnerable unit. The buildable areas are surrounded by ground pathing blockers so you can't barricade your runner in them.

If I wanted a map like this, I would just go and play Gridlock TD instead of making my own. My map is completely different from Gridlock :)

Make sure that the creeps that chase the builder don't attack the builder's "classification"

If so, change the classification to something that the creeps don't attack, and make the builder invulnerable.

I hope this helps :D

I really don't understand what you are talking about. This would work ONLY if I had a condition that I could apply (creeps unable to reach the builder), then I could give the builder such a classification. But that wouldn't be very good since creeps that CAN attack the builder would also stop attacking.

I consider mauls to be a type of TD where the towers are on the path the units follow, and there are walls closing off the buildable area, so that you can make mazes and stuff. Basically I was saying If its not possible to block the path with the towers, you can remove the attacks, but if you can you'll need them.

And I don't really understand, if the towers are invulnerable, what are the units needing to attack? And if its possible to block with the towers, you're going to have to make the units have no collision size or else the player will be able to get them stuck and unable to reach the region where they're ordered to go.

Also you could make it so you use the unit acquires a target thing, then you put an or (any of the following) condition, and put the unit-type of all your towers in it.

Seems you don't quite understand. Your builder is vulnerable. He can die. That is the whole point. The creeps attack your BUILDER. Your builder is a hero. You level up, and you lure creeps to increase your own strength and survive.

I have a detailed description of the project if you like here.

http://www.thehelper.net/forums/showthread.php?t=91838

While there is a non-buildable path in my TD, there is also enough space where you could do some minor mazing (and as a result, blocking).

I have basically 2 options here that I can see. One is to be able to make the creeps ignore their target (the builder) when they cannot reach him, and the other is to make it so that everyone can just walk through the towers.

The second solution is easy and would work for sure, but it would remove an aspect of the game. I am inclined to do something relating to the first method, but I am unsure if it is possible.
 

TheCrystal

New Member
Reaction score
36
Have a check every say, tenth of a second, to see if the units order is either "none" "stop", etc, and see how that works. Once that returns true make something happen to know if you could do something.
 

Zaraf

New Member
Reaction score
22
Hmmm....that is an interesting idea....I wonder how effectively that would work. If a unit is trying to chase an enemy, but due to being blocked just stands there, wouldn't it still be in "attack" mode? Or would it register as a "not moving"?
 

TheCrystal

New Member
Reaction score
36
I've talked with a friend about this and we thought of something and I've been trying to remember that with this topic.

There's like, an extremely short amount of time where the unit has "none" as its current order, which you could use. The "stop" is registered when the unit is unable to get to what it is meant to be getting to. Once it sees your unit again, it decides to do something (Attack).
Try ordering a unit on top of a cliff and after a second of spazzing, it just stops moving with no orders, then defaults to stop. Same idea should work with your poor builder.
 

Romek

Super Moderator
Reaction score
963
If the creeps are ordered to 'stop', it means they've been blocked.
If so, it would probably be safe to destroy every structure within an X radius of them, and then re-order them to attack the builder.
 

Zaraf

New Member
Reaction score
22
How fast would the trigger event have to run? I wouldn't want it running so much that it would start slowing everything down. Would every 1.00 seconds be sufficient?
 

TheCrystal

New Member
Reaction score
36
Depending on the trigger, it could be .05. Your choice really. My computer is worth less than 225 and I can run four "sliding" things at once, each being activated every .02 seconds.
 

Zaraf

New Member
Reaction score
22
Hmmm....I'm having a brain fart here....could you please show me a sample trigger of how I would get this started with the event and stuff? :) I know it's simple, but my mind is too wracked right now :p lol
 

TheCrystal

New Member
Reaction score
36
Here's a sketch, with leaks.
Periodic .1

Event-
-Pick Every Unit owned by BLEH of BLEH (Not sure of your project, but mainly everything of attackers)
-If ThenElse
-If
If Picked Unit's orders = (none) or (stop)
-Then
-Do Stuff (Test this first before doing a whole bunch of stuff, like a message, etc)
 

Zaraf

New Member
Reaction score
22
Well, I tried this out, but it didn't work :( I also tried using a condition of "if unit's current movement speed is less than 50.00, but that didn't work either.

Anyone got anymore ideas?
 

Dirac

22710180
Reaction score
147
Set the adquisition range of the units to 100 or so, so when they are close to a building, they start attacking it
 

Romek

Super Moderator
Reaction score
963
Trigger:
  • SomeTrigger
    • Events
      • Unit - A unit Is issued an order with no target
    • Conditions
      • (Issued order) Equal to (==) (Order(stop))
    • Actions
      • // Do Some Actions Here
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top