tvwenger / maxfield

An Ingress Linking and Fielding Strategy Generator
http://www.ingress-maxfield.com/
GNU General Public License v3.0
107 stars 58 forks source link

Add fixed links for calculation #29

Open Ruzefix opened 3 years ago

Ruzefix commented 3 years ago

First of all: Thx for your work, I love it :D

But actually I wasn't able to use it for my populated home area with a high density of portals because there are always some links from other people. Might it possible to implement a feature to feed the algorithm with fixed links as a base for the following random sequence? Maybe at the end of the portal list beginning with a "+" followed by the linked portals.

For example: +1;10 +1;12 +10;11

This would be the most important of my wishlist ^^

Another nice feature would be if links could be given as a frontier which mustn't be crossed, e.g. when links from out of the planned area go into the planned one. Portals for that exclusion list (X-list) could be given like the other ones but with a trailing "-X;" like: -X;Funny Portal;https://intel.ingress.com/intel?ll=1.234567,1.122333&z=19&pll=1.234567,1.122333 #--> will be X0 -X;Happy Portal;https://intel.ingress.com/intel?ll=2.234567,3.122333&z=19&pll=2.234567,3.122333 #--> will be X1 ...

Followed by X-list which can contain normal portals, too: -X0;X1 -X1;10 -2;X1

tvwenger commented 3 years ago

Thanks for the suggestions! Adding these features would require a serious overhaul of the whole algorithm. The problem is already computationally challenging, and I'm not sure it would be possible to find a solution quickly with these constraints. Unfortunately, I don't have time to work on these suggestions currently. If anybody else wants to take a jab at it, I'd be happy to review the pull request!

Ruzefix commented 3 years ago

Wow, you are fast... oO Obviously it was a little bit too much at once ^^ I'm not a coder but I think the option to use fixed links (aka shitlinks) as a base init for the randomizer should reduce the absolute amount of possible results. To feed the array (?) first of all with the fixed links before generating the rest as randomized links is eventually the least time-consuming part of the enhancement ... so I hope ;)

Edit: Just an example to see what I mean --> badlinks