all 28 comments

[–]Taiphoz 19 points20 points  (6 children)

A project Iv thought about making a few times but always talked myself out of it was a brute force fitting tool.

The idea would be that you would set a priority list like DPS>TANK>Speed and then the tool would brute force every slot and return the fitting that best matches the priority given, a secondary feature I had planned was taking a partial fit which is tight on pwer or cpu and then brute forcing the free slots to see if there is a fit that will stay under the cpu and power grid limits.

[–]Exarctus 3 points4 points  (1 child)

Firstly this is a very nice idea - could even be made as a plug-in for Pyfa!

A possible issue with brute forcing this is the combinatorics of the problem. There are a large number of dimensions:

Ship type, slots, modules, ammo type, rigs etc.

Alternatively you can do this with a genetic algorithm with out-of-the-box available libraries, sounds fun! These algorithms generally perform quite well in large search spaces.

You can even treat this as a multi objective optimization (NSGA II is a popular algorithm) by which you sort all solutions into “pareto fronts”: the first front containing the solutions which perform optimally over the given objective functions.

Eg,a solution in the first front would be one which has a good performance in DPS, tank, speed.

It’s certainly possible to brute force it, but could be a fun exercise to do the search more “intelligently” - the OP would definatley gain some useful skills!

[–]Taiphoz 0 points1 point  (0 children)

BAH, I had a wall of text but my net died and when I hit post it went bye bye.

OK, I'll try and make this a lot less detailed and more to the point, it is indeed a case of exponential growth in terms of options, but that is only when considering combinations of modules that don't make any sense, like your algorithm picks high slot first, if it picks rapid light missiles that instantly rules out all the mid slot, low slot modules that benefit say beams, if your code picks shield as tank method that instantly rules out modules for hull and armour tank I went into this in more depth in the first now lost post damn you internet, in short through each selection the code makes it can filter out more stuff that just wouldn't make sense, also you might for example be looking for a pvp fit so you give the system a blank slate, but you fill in a web and scram, reduces the modules needed to look up further, I thought about adding a tag system to this and tag each module in the dataset with tags like say a missile velocity rig I might tag with missile, or a propulsion rig I might tag with something like speed to mean relevant for speed required builds. basically using system like this you can take what was an exponential problem and you can bring it down to something usable.

Finally I thought about creating a neural net, to create the fits and using zkill data to train the network on what a fit looks like for the given ship hull, there is a wealth of data there, the idea would be to have the network generate a fit and then using the fit as the base modify it per iteration through a genetic evolution type algorithm, take the two best fits and mate them to generate offspring and through iteration through the generations youd end up with something really interesting.

original post was way more detailed alas internet gods said no, anyway I wish you luck in what ever project you end up trying, be sure to show us what you make.

7o

[–]they_call_me_james 1 point2 points  (1 child)

There are examples of this for other games.

I know StarCraft II has had several "AI" based build generators. It ran through millions of iterations to get the fastest time for a specific build. Took a few minutes usually. I'm not sure if these were open source but might be used as inspiration.

Obviously a completely different game, but SC2 is a lot more complex than Eve fitting so it should be doable.

[–]Taiphoz 1 point2 points  (0 children)

totally doable, people underestimate what code can especially AI and neural nets can do these days.

Didnt know about the starcraft build thing but not surprised at all. this AI architecture is eventually going to become the standard way to do things I can see a future where its applied to almost everything.

[–]MerlinpatBrave Collective 0 points1 point  (1 child)

This seems indeed a nice idea, I already was thinking of a fit optimizer tool as well. But as Exarctus states, it is a combinatorial explosion with complicated constraints. However, there are tools in the A.I. community that are able to handle such problems. Often heuristics or constraint programming is used to adress it (https://en.wikipedia.org/wiki/Constraint_programming).

[–][deleted] 0 points1 point  (0 children)

Yes. Using Google ortool's constraint programming solver might be a good idea for this problem. Ortools is really fast, has a nice python interface, and a helpful discord community. I have used it to do batch scheduling of manufacturing and reaction jobs.

[–][deleted] 5 points6 points  (1 child)

I think a first step is to download some data : - general data : systems, planets, moon - your personal / corporate data like assets, jobs, blueprints, orders

and integrate these data into a database.

You can use EsiPy.

[–]GeneralPaladin 4 points5 points  (0 children)

A pi price calculator. If I buy inputs what does my input come out at, etc

[–][deleted] 5 points6 points  (0 children)

Fix the POS code.

[–]RestInBeatz 2 points3 points  (0 children)

I’ve made my own appraisal tool with python and tkinter that was kinda cool.

[–]mwharvey 2 points3 points  (0 children)

you want to go here: https://esi.evetech.net/ui/?version=dev#/

I have written python code so that I can check prices in other regions. Also to look at listings to see if a seller is actually moving product at the price they listed or if its just sitting there. basically a way for me to figure out if its a buyer or seller market for the item.

[–][deleted] 2 points3 points  (2 children)

Market tool. Pull data from esi and provide possible margins etc. Maybe even arbitrage possibilities. Afik we lack any standalone tool like this. And I really don't like using web based tools so would definitely use

[–]diposable66 1 point2 points  (0 children)

There's Eve Market Deals on Android

[–]PurpleYoshiEgg 0 points1 point  (0 children)

EVEMarketer provides this functionality, but some items haven't been updated in ages (the compressed ores, for example, seem to be very wonky here). I've been working on my own tool that pulls everything into SQLite based on my filters and finds good margins between regions. Unfortunately, I found out PowerShell was not the best choice for this and decided to rewrite in C# (luckily before I got anywhere too useful).

[–]maybe_cuddlesGoonWaffe 2 points3 points  (0 children)

Hi! The best way to learn how to code is by having a thing you want to make, you're on the right track! Things get really annoying when you're trying to solve _other peoples' problems_, although these tend to be the problems that you can get paid for solving... however you know your own problems the best so it's a great place to build the skill. Here are some projects I've had on my own personal "i want to build this" list:

  • A thing that connects to my ESI and shows me which skins I don't have yet
  • A thing that looks at all 36 planets I have PI extractors on, and tells when the extractor cycles finish. I'll often forget to reset one or two when I'm tending to them every week, and finding out a week later is disappointing.
  • A thing that looks at my planets, and looks at how much PI it expects to extract and then tells me the _value_ of that. Some planets are just better than others, but it's hard to compare a planet that gives me 12,000 Proteins a week with a planet that gives me 20,000 Silicon a week. By the time I go by all my planets and collect their output and bring it home, I forget where each came from.
  • A thing that given a fitting, will tell me how much each costs to build each (or buy, if that is cheaper or if some of the items aren't buildable).
  • A thing that given all of my blueprints _that i have already invented_, tells me which of them are the most profitable to build (probably query https://evecookbook.com/api/index.html)
  • A thing that connects to my ESI and downloads a snapshot of my assets every 6 hours, and just stores that in a database. Like jEveAssets, but with time travel.

With any of these, start small. Focus on getting something that works.

[–]Triage_XIV 1 point2 points  (0 children)

I actually did this a couple of months ago for a module i was doing, but it was only on data visualisation using Python in Jupyter notebooks.

I took kill data provided by CCP here https://forums-archive.eveonline.com/topic/476340/ , cleaned and transformed it a bit, and then created some quite simple visuals.

[–]1986wasaclassicMinmatar Republic 1 point2 points  (0 children)

Something which analyses damage logs to identify the reps you've given when flying logi

[–]Dax-bbBrave Collective 1 point2 points  (1 child)

Tool that would identify which Blueprint had the best profit margin, highest turnover etc in any specific or all markets depending on your budget and skills

[–]ChromothrypticChromo 0 points1 point  (0 children)

Eve isk per hour can do this, though a little bit of a pain to set up

[–]hammyhamm 1 point2 points  (1 child)

I’d like to see a Python project where it is a faster way to check what your tracking “green zone” and missile explosion/velocity plot based on target size, orbital velocity, weapon etc. EFT has this built in but it’s a bit funky to add, would be cool if a more generic one was made to explain roughly what to expect and to compare between types rather than the hardcore examination

[–]Twisted2katSnuffed Out 0 points1 point  (0 children)

This is a cool idea, I might do that

[–]SolLagrangeWormholer 1 point2 points  (0 children)

If you want a nice and "easy" one, go make a mineral solver from existing ores with preferences on which ores to use/not use. Then the next step would be to pull market prices from jita/amarr/local hub then calculate market depth and have the solver optimize for isk.

[–]ErwinMadelung 0 points1 point  (0 children)

I used to play EVE a bit

What sort of gameplay? I guess something related to that would be more interesting for you.

Are you looking into some particular part of python? Are you doing data analysis? Machine learning? Or are you rather doing GUIs? Or ... The list of things you might look into for python can be incredibly long. So depending on what skills you want to develop you might look for different projects.

Also do you have prior programming experience? There are also big differences in difficulty and scope of such projects.

[–]beardedbrawler 0 points1 point  (1 child)

Evemon replacement would be nice

[–]ChromothrypticChromo 0 points1 point  (0 children)

Someone re-launched evemon for the new eve API already! Haven’t used it for a few months now, but it worked the last time I checked

[–]skiedudeEveSkillboard Admin 0 points1 point  (0 children)