LukeCroteau / rsl-equip

Raid Shadow Legends - Equipment Tracker
7 stars 2 forks source link

Data import #1

Closed thormtl closed 3 years ago

thormtl commented 4 years ago

Hi, Just found this project, as I was having a similar idea. What are your plans for fetching the ingame data?

Cheers

LukeCroteau commented 4 years ago

Hi! Are you referring to Hero Data, or Accessories?

I haven't found a good real time queryable source for data. There don't appear to be any APIs available for grabbing anything.

Hero data I'm looking at pulling from another repository. https://github.com/raid-codex/data This repo looks like they keep it up to date with all Hero stats and abilities.

For accessories, I haven't found a way to dump data from any of the clients, and I haven't found any APIs. The best I could figure was by starting to create a Google Doc template that people could use and upload to the site.

https://docs.google.com/spreadsheets/d/1kC8nXdQOLFicEe-1_9uHrA2-0IUvs6jyv8Jg0Igd4Ks/edit?usp=sharing

I started with this template, but.. I don't like it. I don't want people to have to remember typing in cryptic IDs, it might be easier just to be able to copy/paste stat names and have the backend do string matching.

I hate string matching, but it's the more human readable way to deal with it.

Of course, that would mainly be for doing Bulk uploads. It would be a lot easier, in real time, to use the Web UI to enter in the stats for any given artifact.

thormtl commented 4 years ago

Hello again and thanks for the reply.

I was actually thinking mainly about the Accessories. I have tried (on windows client) to go through the game cache but either everything is like encrypted or just not there. I have thought about hi-jacking the payload when synching with the Plarium server, but seems a bit overkill. Also thought about applying some computer vision methods combined with auto clicker to go through each individual piece of item when you're in the game itself. Take a picture and match this to text and save in appropriate file format.

Everything would be alot easier if they actually exposed an external API as many other games actually provide.

Assuming there is a more "automatic" way of getting all this data out, instead of typing in 700 pieces of gear manually, how were you planning on picking the best gear?

My idea came from applying Linear Programming - setting it op as an optimization problem. See example here (Classic Diet Problem): https://towardsdatascience.com/linear-programming-and-discrete-optimization-with-python-using-pulp-449f3c5f6e99

This would mean I could set in certain constraints like I want at least 3k def, 40k HP etc and it would calculate the best top n gear combinations to achieve this.

I have not done any coding yet, as I was researching for a way to get the actual data first.

LukeCroteau commented 4 years ago

Yep, pretty much exactly that. I used to play a gacha game called Final Fantasy Brave Exvius. Someone who plays that game created a most excellent calculator. https://ffbeequip.com/builder.html Their code is on github, I believe, and they are doing exactly what I (and you) want to do: Set parameters, find best fits, where you can also maximize stats (Get me 3K Defense, 40K HP, 100% Crit Rate, Max Crit Damage after that)

I was initially just going to brute force attempt combinations. I already have a rules engine started to calculate final stats, based on the way RSL calculates everything. It's been accurate with my 1K+ artifacts and 100ish heroes, and it's not particularly slow. I'm sure it'll buckle under some pressure, but optimizing is always the step After everything gets done!

thormtl commented 4 years ago

Interesting - so it all boils down to getting the data I guess. Looking at the Plarium forums it does not seem like they are planning on any exposure of an API.

willis7 commented 3 years ago

Hey guys, it appears there are new hints emerging around how to get the data.

https://github.com/fmarx1/RaidExtractor/tree/master/RaidExtractor

The above project appears to be able to extract the data, and if you follow HellHades Youtube channel, you may have seen that he has released a gear optimiser.

LukeCroteau commented 3 years ago

@willis7 I’m definitely aware. If you check https://github.com/LukeCroteau/RaidExtractor you’ll see that this code was branched off the original version of the extractor that HH’s is based off of. We’ve kept it up to date and enhanced it.

The repo you linked is actually about 4 months stale.

I’ve left this repo open for a while, but I expect I’ll remove it soon.