-
Notifications
You must be signed in to change notification settings - Fork 76
Allow custom weights for paths? #22
Comments
Better weighting:
|
I don't think the first approach would work well, firstly because it doesn't account for mod items, scanning of nodes (from which you get a whole lot of basic research aspects), the deconstruction table or the bonuses given by shards and book cases near the research table (which I used surprisingly often). Also, it would be alot of work. Finally, you would also need to consider, how often these aspects are really used for fixed price researchs (aka easy mode) - if an aspect is fairly common, but used in large quantities in fixed price research it might still be better to use different aspects for the research game when you have the choice. The second approach seems quite good though: Give each aspect the weight of the number of base aspects used (I guess a small modification would be needed, lets say taking the square root, otherwise it would rather take 10 base aspects instead of once instrumentum, which seems rather extreme). Also note, that the weights are the other way round: Higher weights mean that the aspect should be avoided, lower weights mean they are preferred (so the weight is actually more like a "cost"). However, even this approach does not account for what the user actually has. If he does have tons of instrumentum, why should the tool give him longer chains of base aspects instead of a shorter chain that uses the instrumentum aspect with its high weight? Sure, it highly unlikely that one has too much instrumentum (stupid research, using instrumentum just about everywhere), however, the same holds for metallum, which is composed of 4 base aspects I believe, and is incredibly abundant, or different aspects that can be different for every person. My original plan was to somehow use weights, thats why the algorithm was coded to support them natively. However, letting the user to give weights for every aspect is of course not going to work. Nobody wants to put in a value for each aspect individually before being able to search for connections. Thats why I settled with uniform weights for now, my idea was to use the tool incrementely. Ask for a connection, and if it contains aspects that you are currently low on, you can simply deactivate them and search again for slightly longer, but possible better aspect chains. This is extremely simple. So, before introducing custom weights, I would want to discuss two questions: Are they really going to improve the tool? Or are they introducing new problems and make it more difficult for users that have non-standard aspect distributions? And second (what you are already discussing): How to implement the custom weights as good as possible. My current idea would be to have a small text field next to each aspect to show (and also individually edit) the current weights, but also have two (or more) buttons to set common weight distributions: uniform weights (i.e., weight 1 to every aspect, as it is handled now), weights based on rarity, number of base aspects or whatever. That gives everyone the choice to use the system he likes, but also makes the interface less intuitive. Well, I'm interested in hearing your opinions. |
I don't know how your weights work. The usual way I have been exposed to weight based choices is bigger is better. Which means a weight of 0 means never. What happens at the moment if we click on an aspect is it gets toggled on and off. If there was a "weight increment" dropdown, that could be set to, say, "100" (by default) then each click would increment the weight of the clicked item by 100, and as you would modulus 100 any value >100, on the 2nd click the value 200, would wrap back to zero, causing the weight to cycle between 0 and 100 (one of which would mean never). Choosing a different value as the increment would let us with a few clicks, 'dial in' a relative weighting quite quickly - which could be displayed as a numeric overlay. This skips the text box and general clutter, but makes it a bit harder to set up exact weights. Actually, as soon as the page is refreshed, all the weights are going to be lost. Is there any way to make the page read a user provided wighting file? Then the weighting UI is simply: choose from one of these templates, or choose "custom...", which would choose a txt file with the users weights in it. That makes the weights easy to reset up when the page is reloaded. |
One could also borrow an idea from the competition and display more than one result: Or make it so that clicking on an aspect in a result list, generates an alternate list without that specific aspect. That way one doesnt have to spend time setting up weights. One can simply say, nah, try again without that. |
Costs (and hence weightings) are computed as a function of supply, and demand. supply = (qty available from scanning blocks and items) + (weighted probability of finding them on nodes) + (weighted relative ease of making them via combinations from points aquired via deconstruction) demand = (qty required for purchased research) + (how many research A to B paths the aspect occurs on)/(the number of alternatives at that point). |
I computed the deconstruction table costs of each aspect in base TC. Making 1 point of Meto costs 24 primal essentia points! Aspect Sum Component Component Aer Aqua Ignis Ordo Perdito Terra |
The thing is, weights are only relevant if you have a choice which way to go, which is nearly a minority situation. The simplest tactic I've found to force a path through certain aspects is to pick one step myself at either end, then ask for the new shorter path between the new endpoints While it's not quite weights, one thing that would be mildly helpful, would be for the tool to mark (perhaps with an asterisk) spaces where you're going from one aspect back to the same. For example, Aer * Aer, where the asterisk can be any aspect containing Aer -- the algorithm can still pick one, but would also mark it just to highlight that this Tempestas could just as easily be Arbor, Vacuos, Motus, etc. |
Even easier would be to use "local storage" which is already built into your browser. 😄 |
@MentalMouse I strongly agree with your second point, the aer * aer thing would be very helpful. @metarmask use of localStorage does seem like a good idea, but it would still be good to have a way to export / import any settings. |
The presumption that basic ("vanilla") aspects are always available is just not true, and it greatly diminishing the utility of your tool. I was constantly running out of a single primal aspect, and I had to manually draw solutions on paper, because Helper always tried to route everything though it, even multiple times in a single solution. |
The presumption should be that the Deconstruction table is going to be the principal source of new aspects. Especially with TC addons, typically a lot more research is added than research points on items. |
Deconstruction table is the WORST possible solution. It is extremely boring and frustrating. |
AutoIT for the win. Theres a different solution? |
Yes. Allow splitting aspects in research interface and recover one of its parent aspects with certain probability. |
Well yes. But thats a feature request for TC. The point is to make this tool as useful as possible given the current (imo broken) state of TC's research point generation. |
Perhaps we could have a system allowing for custom weights, rather than just 0 and 100.
Or perhaps we could make it so the weight for more common aspects is higher, which would make it automatically use rarer and higher tier aspects less often?
The text was updated successfully, but these errors were encountered: