a question on the taboo zones, specifically in zangarmarsh, the alliance town in the top left against the mountain, there are no nodes within that area but there are on either side, my current route has me fly right through the town (which i cant do as i'm horde) will i be rerouted around that taboo zone (if i set it up) or does the code just remove nodes from within that area and i'll still be routed through the town?
Taboo zones will only remove nodes within the specified zones and prevent node additions to the taboo zone.
It will not make your route go around the taboo zone like you wanted, because
1. I still only consider the straight line paths between 2 nodes. Anything else requires 1000x as much math.
2. User can create taboo zones that split the map into unpassable halves where there is no option but to fly through a taboo zone.
Like I said, I can only BIAS the route generation to TRY to not pick an edge that goes through a taboo region, but that's about the best I can do, unless you want route generation to take 1000x longer to generate A* paths between every node pair.
Sure it does. Lets say you're levelling mining and iron is green, but mithril is orange. An optimal route would hit as many mithril nodes as possible, but add iron nodes if they're convenient. Or perhaps you're farming ore in Nagrand. You might be sticking mainly to adamantite, but the occasional fel iron is good if it's close. Of course, the user would have to define what a "convenient" distance is. But the idea isn't without merit.
There currently are no plans to do node prioritizing or node conveniences.
This is perhaps a bit off-topic. However, I was wondering about the possibility of using the techniques used in GatherHUD for other purposes. If anyone played Star Wars Galaxies, they may remember that it featured an "overhead", outline map. This is something I've always missed in WoW. Do you think something like this would be possible using the techniques used in GatherHUD? It will be an entirely different addon, of course, although still map related so perhaps integration with GatherMate notes and other map-notes could be done as well.
Now we just need to add code to actually attach the taboo regions to existing routes, and then code in the math... Again, these screenshots are just previews. Basically, on taboo region creation, you are given a "starting triangle". You drag the vertexes to where you want them. You can right click a vertex to bring up a menu to delete it, or insert a new vertex before/after the selected vertex. The new vertex gets placed between the 2 existing ones.
Dragging a vertex will update the shaded region in real time. Vertexes cannot be dragged off the map. Yes, its just a lot of pink lines, there's no fancy 3d graphics or textures morphing in there.
Do you have a screenshot of this "overhead", outline map? Since I have no idea what you are talking about, having never played SWG before.
It's been years since I played the game so don't have any myself. I tried searching for some but people generally turn off things like that in screenshots for obvious reasons. These are the only two I could find:
It was possible to zoom in and out to get varying degrees of detail. I think the above are zoomed in quite a lot. They are also near player-made buildings which clutters the map somewhat.
This overlay map was built into the game. So there was obviously some support that would not be possible for addons to do in WoW. For example you could see both players and NPCs on the overhead map. That was quite lovely. Oh, and it worked in dungeons too. :)
I can think of two solutions in WoW. One would simply be a transparent map covering the entire screen. Though I fear this may be too intrusive no matter how transparent you make it.
The other idea is not too far from what GatherHUD does. I imagine that you could simply extend it to include other types of waypoints/notes than just gathering nodes. These could be POIs, trainers, flightmaster, etc.
For both idea the important thing is that the map is always centered at your location. That's one of the things that sets it apart from traditional maps, I think.
So kinda something like Diablo2 and Diablo1s map overlay. It's definitely an idea, but it would require pre-compiled data (aka Cartographer_XXXX addons), the game doesn't provide any such data such as terrain, POIs, buildings, herbalism nodes, flightpoints, etc by itself.
The original code wasn't GatherMate dependant. And it still isn't really GatherMate dependant, it can be easily decoupled and made standalone to support any database by making it plugin style, like Routes. The only code in GatherHud that calls GatherMate is just a small 7 line loop that iterates over the visible nodes, and another 2 lines to inject the options table. The Routes support code is also in its own independent loops.
We only made GatherMate a requireddep because that's the only addon it currently supports, and hence avoid embedding any externals.
But all this just places Points of Interests on the hud, it still won't show you things like obstacles, buildings, etc, so even GatherHud itself is somewhat useless (its made mainly as a proof of concept), I'll rather just stare at the minimap for the tracking blips, something no Hud can show.
But all this just places Points of Interests on the hud, it still won't show you things like obstacles, buildings, etc, so even GatherHud itself is somewhat useless (its made mainly as a proof of concept), I'll rather just stare at the minimap for the tracking blips, something no Hud can show.
I don't think it's useless. :) But it's true that the dynamic markers from the minimap would be missed. So a fully integrated version can only be done by Blizzard.
The ability to ignore nodes inside defined regions is already under development, unless I completely misunderstand what your "ignoring" means and what Xinhuan's "taboo regions" mean.
Prioritizing is likely not on the to-do list due to the overhead it would incur, and the lack of necessity. For gathering, since you can see populated nodes up to 80 yards away, there's not really any need to "include all X nodes in the route and any Y nodes that are on the way to X nodes" as you can still see the Y nodes even if they're not part of the route. I can't think of any non-gathering situation where prioritizing would be significantly beneficial. Do you have any examples?
I plan to add some other features to Routes. I kind of have a todo list, and prioritizing nodes is not on it. In fact, adding priortization will require storing extra metadata per node and that has overheads.
Coming soon, is the ability to edit a route directly to add/delete/move nodes. Exactly like how you define a taboo region.
Quest objectives is far more complicated than simply calculating a route that can be in any particular order. Quests often have dependency chains.
I'm just going to say that, sometimes, using your brain might be a lot better than trying to code a 9 node route that needs to be traveled to in a certain order. It's not trivial.
I personnaly really think adding priority is useless.
But, i really hope Mapster/Routes/gatherMate can *soon* have plugins to register quests, objectives, trainers/flightmaster/... and easily give you a route to them.
A *total* interdependency of those addons with TomTom could be really awesome ....
What is my dream?
When in party/raid/guild, i send a localisation note to party/raid/guild members and Hud can auto appears with route to the waypoint for everybody :)
(Btw i dont know if it is possible actually :p)
Quest objectives is far more complicated than simply calculating a route that can be in any particular order. Quests often have dependency chains.
I'm just going to say that, sometimes, using your brain might be a lot better than trying to code a 9 node route that needs to be traveled to in a certain order. It's not trivial.
No, what I'm saying is that this mod doesn't have to be the end all for gathering only. Instead it can be a backbone for anything that needs a route. there could be a separate addon that just passes nodes to yours which handles all the calculations in dealing with a route. You could even set it up so you have all your quest and gathering nodes and combine them in one big route.
Routes can already do this. If quest addon authors care to write a Routes plugin for their questing data, they can, they just have to follow the format required by Routes. The 3 plugins in the plugins folder (GatherMate, Gatherer, Cartographer) are examples.
Routes only does "closed routes" that loop though.
Routes can already do this. If quest addon authors care to write a Routes plugin for their questing data, they can, they just have to follow the format required by Routes. The 3 plugins in the plugins folder (GatherMate, Gatherer, Cartographer) are examples.
Routes only does "closed routes" that loop though.
That makes me a happy panda. closed routes isn't that bad, i could always just make it so it hands in all quests at the same time... although that might end nasty. I could make a end node that just is blank that says do not go here. Now that I think about it the prioritizing doesn't really matter, I can always make it on the plugin side, and have it not shove the node in until the priority is hit.
Does routes have dynamic route updating? or do you have to delete a route and recreate it anytime anything changes? (I'm guessing the latter, but it doesn't really matter)
It has dynamic updating. The addon that is supplying the data has to have a mechanism to allow callbacks so that if the source data changes (i.e node addition or deletion), Routes get notified about it, and it updates the route dynamically with the node insertion/deletion.
Currently, Routes will work with GatherMate and Cartographer for this node addition/deletion automatically with existing routes, but not Gatherer because Gatherer doesn't support callbacks.
I.e, Routes is already designed in a manner that allows it, its up to others to write the plugins.
It has dynamic updating. The addon that is supplying the data has to have a mechanism to allow callbacks so that if the source data changes (i.e node addition or deletion), Routes get notified about it, and it updates the route dynamically with the node insertion/deletion.
Currently, Routes will work with GatherMate and Cartographer for this node addition/deletion automatically with existing routes, but not Gatherer because Gatherer doesn't support callbacks.
I.e, Routes is already designed in a manner that allows it, its up to others to write the plugins.
i <3 you
now to go make a little addon to see if i can actually do this
I have merged the Taboo branch into trunk. This means that Taboo Regions have now been fully implemented into Routes. The following is a quick description of how it works.
-------
You may create areas on their map called "Taboo Regions" that define certain areas which they are not interested in. These areas can be as complex as you want, we basically give you a starting triangle region that you can drag the corners to wherever you want, and then you can insert additional vertexes to make more complex polygons to cover your region. (Yes, your region can be non-convex, and can even cross itself).
Editing/Creating a route is basically purely by GUI, dragging points where you want them, and inserting points where you want them. Note you have to click "Save edited taboo" for your changes to go into effect, and you can also "Cancel" to abandon changes. You may edit more than one taboo region at a time.
You can then attach these taboo regions to your routes. When you do this, the route will take every node that is in the taboo region and put it in a "taboo list", and Routes will ignore those nodes as though they aren't there (they remain in the route data so that when you delete or modify the taboo region, some of those nodes might get re-added back to the route).
When you click "Optimize", we make every attempt to make the generated route not fly through any of the taboo regions as well. This means you can mark "enemy faction towns" as taboo regions and Routes will never generate a route that flies through them -- within limits --. If you create a situation where it is impossible not to fly through a taboo region, we will do exactly just that - fly through a taboo region, but we'll be smart about it and you should only be flying through small sections.
------
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Taboo zones will only remove nodes within the specified zones and prevent node additions to the taboo zone.
It will not make your route go around the taboo zone like you wanted, because
1. I still only consider the straight line paths between 2 nodes. Anything else requires 1000x as much math.
2. User can create taboo zones that split the map into unpassable halves where there is no option but to fly through a taboo zone.
Like I said, I can only BIAS the route generation to TRY to not pick an edge that goes through a taboo region, but that's about the best I can do, unless you want route generation to take 1000x longer to generate A* paths between every node pair.
There currently are no plans to do node prioritizing or node conveniences.
---------
Also a little progress on Routes, we have now sorta finished up with how you will be able to create/edit/delete taboo regions:
http://pachome2.pacific.net.sg/~xinhuan/wow/temp4c.jpg
http://pachome2.pacific.net.sg/~xinhuan/wow/temp4d.jpg
Now we just need to add code to actually attach the taboo regions to existing routes, and then code in the math... Again, these screenshots are just previews. Basically, on taboo region creation, you are given a "starting triangle". You drag the vertexes to where you want them. You can right click a vertex to bring up a menu to delete it, or insert a new vertex before/after the selected vertex. The new vertex gets placed between the 2 existing ones.
Dragging a vertex will update the shaded region in real time. Vertexes cannot be dragged off the map. Yes, its just a lot of pink lines, there's no fancy 3d graphics or textures morphing in there.
It's been years since I played the game so don't have any myself. I tried searching for some but people generally turn off things like that in screenshots for obvious reasons. These are the only two I could find:
http://swg.warcry.com/images/view/2645
http://swg.warcry.com/images/view/2281
It was possible to zoom in and out to get varying degrees of detail. I think the above are zoomed in quite a lot. They are also near player-made buildings which clutters the map somewhat.
This overlay map was built into the game. So there was obviously some support that would not be possible for addons to do in WoW. For example you could see both players and NPCs on the overhead map. That was quite lovely. Oh, and it worked in dungeons too. :)
I can think of two solutions in WoW. One would simply be a transparent map covering the entire screen. Though I fear this may be too intrusive no matter how transparent you make it.
The other idea is not too far from what GatherHUD does. I imagine that you could simply extend it to include other types of waypoints/notes than just gathering nodes. These could be POIs, trainers, flightmaster, etc.
For both idea the important thing is that the map is always centered at your location. That's one of the things that sets it apart from traditional maps, I think.
The original code wasn't GatherMate dependant. And it still isn't really GatherMate dependant, it can be easily decoupled and made standalone to support any database by making it plugin style, like Routes. The only code in GatherHud that calls GatherMate is just a small 7 line loop that iterates over the visible nodes, and another 2 lines to inject the options table. The Routes support code is also in its own independent loops.
We only made GatherMate a requireddep because that's the only addon it currently supports, and hence avoid embedding any externals.
But all this just places Points of Interests on the hud, it still won't show you things like obstacles, buildings, etc, so even GatherHud itself is somewhat useless (its made mainly as a proof of concept), I'll rather just stare at the minimap for the tracking blips, something no Hud can show.
I don't think it's useless. :) But it's true that the dynamic markers from the minimap would be missed. So a fully integrated version can only be done by Blizzard.
Prioritizing is likely not on the to-do list due to the overhead it would incur, and the lack of necessity. For gathering, since you can see populated nodes up to 80 yards away, there's not really any need to "include all X nodes in the route and any Y nodes that are on the way to X nodes" as you can still see the Y nodes even if they're not part of the route. I can't think of any non-gathering situation where prioritizing would be significantly beneficial. Do you have any examples?
Coming soon, is the ability to edit a route directly to add/delete/move nodes. Exactly like how you define a taboo region.
The ability to store quest objectives to find an optimal route to finishing them, and ignoring ones that you know you cannot do.
I'm just going to say that, sometimes, using your brain might be a lot better than trying to code a 9 node route that needs to be traveled to in a certain order. It's not trivial.
But, i really hope Mapster/Routes/gatherMate can *soon* have plugins to register quests, objectives, trainers/flightmaster/... and easily give you a route to them.
A *total* interdependency of those addons with TomTom could be really awesome ....
What is my dream?
When in party/raid/guild, i send a localisation note to party/raid/guild members and Hud can auto appears with route to the waypoint for everybody :)
(Btw i dont know if it is possible actually :p)
No, what I'm saying is that this mod doesn't have to be the end all for gathering only. Instead it can be a backbone for anything that needs a route. there could be a separate addon that just passes nodes to yours which handles all the calculations in dealing with a route. You could even set it up so you have all your quest and gathering nodes and combine them in one big route.
Routes only does "closed routes" that loop though.
That makes me a happy panda. closed routes isn't that bad, i could always just make it so it hands in all quests at the same time... although that might end nasty. I could make a end node that just is blank that says do not go here. Now that I think about it the prioritizing doesn't really matter, I can always make it on the plugin side, and have it not shove the node in until the priority is hit.
Does routes have dynamic route updating? or do you have to delete a route and recreate it anytime anything changes? (I'm guessing the latter, but it doesn't really matter)
Currently, Routes will work with GatherMate and Cartographer for this node addition/deletion automatically with existing routes, but not Gatherer because Gatherer doesn't support callbacks.
I.e, Routes is already designed in a manner that allows it, its up to others to write the plugins.
i <3 you
now to go make a little addon to see if i can actually do this
go from node 1 to 2 to 3 to 4 and then back to 3 to 2 to 1 and voila you have a loop that looks like a series of lines not looping :P
I have merged the Taboo branch into trunk. This means that Taboo Regions have now been fully implemented into Routes. The following is a quick description of how it works.
-------
You may create areas on their map called "Taboo Regions" that define certain areas which they are not interested in. These areas can be as complex as you want, we basically give you a starting triangle region that you can drag the corners to wherever you want, and then you can insert additional vertexes to make more complex polygons to cover your region. (Yes, your region can be non-convex, and can even cross itself).
Editing/Creating a route is basically purely by GUI, dragging points where you want them, and inserting points where you want them. Note you have to click "Save edited taboo" for your changes to go into effect, and you can also "Cancel" to abandon changes. You may edit more than one taboo region at a time.
You can then attach these taboo regions to your routes. When you do this, the route will take every node that is in the taboo region and put it in a "taboo list", and Routes will ignore those nodes as though they aren't there (they remain in the route data so that when you delete or modify the taboo region, some of those nodes might get re-added back to the route).
When you click "Optimize", we make every attempt to make the generated route not fly through any of the taboo regions as well. This means you can mark "enemy faction towns" as taboo regions and Routes will never generate a route that flies through them -- within limits --. If you create a situation where it is impossible not to fly through a taboo region, we will do exactly just that - fly through a taboo region, but we'll be smart about it and you should only be flying through small sections.
------