The Black Lotus spawning system is being exploited by under-the-map flyhackers. We could also use some additional Plaguebloom spawn locations.
This is happening on small servers too thanks for free xfers and gold buying, can’t even escape from the big cluster scruff. Always fun losing nodes to phantoms who only appear on a /who search.
I’m glad someone wrote this.
The population on Era servers has exploded, but the number of herbs has not. The price of a Black Lotus is now pushing 200g
Botting is out of control.
They should switch black lotus to drop like arcane crystals. Make it a small percentage chance on any high end herb that is harvested.
Also, increase the spawn rate of herbs generally.
Up to over 300 today for lotus Whitemane horde for a lotus. Every single consume is skyrocketing.
Yea, I was thinking about this the other day. Instead of discrete nodes they should just paint an area over the terrain mesh for a particular herb to spawn. A pre-cache system should iterate over that area and, for each triangle in the painted mesh do the following…
- Calculate the angle relative to the horizon. If the angle is greater than some threshold, move to the next triangle.
- Cast a ray from all points on the triangle vertically and check to see if they intersect any models (ie, a house). If it does, move to the next triangle.
- If the triangle isn’t discarded, calculate a position on the centre of the triangle and add it to a list of possible spawn positions.
We should now now have a cached list of points that can support a herb spawn. Duplicate this list to generate a list of available spawn positions. You’d probably want to use some kind of spatial data structure here (ie, a QuadTree) but a list is good enough for a talking point.
When a node goes to spawn, generate a random index in the list of available spawns and remove it from the list (or disable it). Additionally, for any available spawn within some range, remove it from the list of available spawns (or disable it). This will prevent herbs from spawning too close together.
When an herb is picked, add its position back into the list of available spawns. Additionally, get all spawns within range of the herb that was just picked. For any that are not in range of a currently active herb, add them back to the list of available spawns.
This should decouple herbs from specific nodes and let them spawn anywhere in an area defined by the terrain data itself. Care should be taken not to include terrain that is inaccessible (but would otherwise pass the above filters); however, a bit of testing should sort that out. I might also put an 8 hour despawn on any particular herb just in case it does happen to spawn in an inaccessible area.
Now you can do the same thing for mining nodes.
Anyway, this is just a random idea I had the other day… but it makes the positions of resources less predictable. Humans running around will still see nodes and travel to them, but bots can’t just camp the nodes anymore. They’ll at least have to run routes and this will make them a lot easier to spot.
Oh also, one last thing. I’m not sure if the game already does this or not, but I would avoid broadcasting the positions of resources to clients until the server identifies that they’re actually in range. It would be a bummer if, upon entering a zone, botting software could pick the locations of all herbs in the zone out of a packet. Since that’s how rogues and stealth work though, I suspect resource nodes already do that?
Would be kind of funny to have black lotus spawn in positions like wildsteel bloom can, so many times I’ve given up on that even though I know its technically reachable, just see a horde of players failing a climb as a bot flyhacks up lol
Agreed! Blizzard really needs to get the lead out on this too. Their economy is currently in a shambles.
Hackers are one thing and ought to be dealt with over time.
The request for additional herb spawns was addressed in Season of Mastery, so I wouldn’t expect it to change for Classic Era. It is what it is.
Thought they just said this was being addressed to combat botters. Reducing all herb spawns 75% across the board. Fix botters and economy.
Not saying that is not thought out but it screams KISS.
I think the current system works, but nobody is ever happy losing the race to herbs. Or being the one that can’t afford to use consumes. The only system that removes losers is personal spawn. But that has no place in era.
Bots are the real problem not the node spawns.
BL are skyrocketing because people are popping flasks for AV as the norm not the exception.
When Flasks are approaching 300g each the system is not working. Black Lotus output, however they decide to do it, needs to be drastically increased.
Simplicity or not is usually a subjective matter
Right now they can check a set of fixed locations, checking to see if the herb is there and if not, moving on to the next. Before the level requirements, the previous tactic was to have bots log out next to known spawns and periodically log in to see if the herb was there.
By making the locations of herbs unpredictable it more challenging to design botting software. Especially if the information broadcast to players is more restricted. A human player probably wouldn’t even notice the fact that nodes were randomly distributed across the zones instead of in specific locations, but bots may not.
It’s just an algorithm I was toying with so no big deal, but I don’t think it’s correct to say the current system works. It’s easily exploitable, as proven by the fact fact that it is currently being exploited. While it’s annoying losing the race to a herb, I don’t really mind if it’s a human player. I mind when it’s a bot scripted to monitor locations 24/7.
I’m not saying that bots shouldn’t be tackled, but while you see the above as complex, it’s not really that big a deal. It never hurts to consider ideas on multiple fronts
The terrain is static, and finite. What you are describing would be the equivalent to doing nothing more than adding more fixed locations, grouping them, and choosing at random which node to spawn within a group. In a complicated way.
Yes, it would be adding more locations. Significantly more. That’s the point.
I suppose if you wanted truly infinite locations you could randomize the location on a per-poly basis, but the granularity of polygons in the terrain of a zone is probably enough.
You’ve said this before, can be more specific?
I would imagine the implementation complexity of choosing a node from a set is no different than how things already work, just with a bigger set. Generation of the set would be an offline process to generate the cache of available points on a per-zone basis, but the algorithm doesn’t seem very difficult.
Where do you feel the complexity lies here?
I guess I would have to ask, what is more complicated, changing something or leaving it unchanged.
Let’s say they budget you 8 dev hours to accomplish your task testing included. What would you bet money on being finished on time under budget. Why?
Which is not to imply a simple solution cannot be more expensive or take longer. But in this case I think we both know cost and speed are proportional to complexity.
If your argument is that doing something takes time, and therefore has a higher cost than doing nothing… then how do you ever expect to accomplish anything?
I’m not sure what your area of expertise is, but I can comfortably say that the algorithm itself isn’t very complicated. I suspect that anybody with any familiarity with vector algebra and data processing would also agree. Integration into the WoW code base is an entirely different matter, and something neither of us likely has familiarity with.
I think what’s more relevant to consider here is the overall value of such a change. Would there be a benefit to increasing the number of potential herb spawns to increase the complexity of the botting software that has to accomodate it, or would it fundamentally make no difference?
I think we both should be able to agree that it would render the tactic of parking a bot on a particular node much less effective. The number of specific points a bot would have to cover would be large, and I think having so many bots logging in and out could also increase the detectability of that behaviour.
For bots that are able to patrol a zone and identify an herb spawn location, then move to it and harvest it… I think it would be less effective. I suppose it would depend on how the node is broadcast to the client and how precise the coordinate system is. Are there ways that the coordinates could be obfuscated?
Humans only need to see the data spatially relative to their character on the mini map. Bots need a set of coordinates in relation to where they think they are so they know how to move to the new destination.