Suggestion Inventory Export to Excel

Discussion in 'General Archive' started by sebastian_fl, Dec 5, 2015.

Dear forum reader,

if you’d like to actively participate on the forum by joining discussions or starting your own threads or topics, please log into the game first. If you do not have a game account, you will need to register for one. We look forward to your next visit! CLICK HERE
Thread Status:
Not open for further replies.
  1. sebastian_fl

    sebastian_fl Count Count

    As title suggests, I would love to get a feature allowing the user to export his gear from the Inventory into an excel file, CSV file, whatever.

    The benefit of this is obvious, the user would be able to write a tool, create an excel spreadsheet, or whatever, to do the math he wants.

    The implementation is up to Dev. It could be in-game button, or it can be website offline button. There could be also a requirement to be logged in but offline (just in case the feature would be abused by bot users)

    I do all of that manually for now, but it would save me tons of time.

    Feel free to comment. Thanks.
     
    Beatles35 and Dragonnns like this.
  2. _Baragain_

    _Baragain_ Living Forum Legend

    The amount of people who would use/benefit from this is so low that I doubt that it will ever happen. You know that someone like me would love it, but I understand the developer mentality to a point and there is not even a snowball's chance in hell that they will do this.
     
    Beatles35, Darwarren and sebastian_fl like this.
  3. Dragonnns

    Dragonnns Count Count

    Personally, I would love it...even though I am not a math wiz.
     
    sebastian_fl likes this.
  4. sebastian_fl

    sebastian_fl Count Count

    I understand your point. And I'm familiar with all possible CBA techniques available)

    I was recently in a conversation about something that would not have a business value, if you first think of it. The conversation was about a parking tool in Miami Beach. One of the suggestions was that the tool wouldn't be useful for any business, as all the parking spots would be taken anyway.

    Very valid point, like yours. But as we went through a couple of Sobe margaritas, people started to see a value. The value is for the city, for the community, for the county - to be a leader of innovation of sort. It doesnt mean immediate dollar value for a business, but it doesn't mean that should he off the table.

    The cost is low. Trust me. They do have some sort of serialization of items already, at least into the storage into their sqt light db.

    The benefit - it depends on how you market that.
    1. The only game on the market to offer this.
    2. Competitions between the users to create best tool to improve playability.
    3. Engaging the consumers, and their followers. Etc
     
  5. Darwarren

    Darwarren Count Count

    The Excel version was packaged in the Damage Performance Index and the Calculating_Character_Strength features some time ago, both by independent players. DSO tried the CV version, but noob designers left out many key calculations and values.
    Exporting data from the game is very contrary to the way BigPoint works. It would be a hacker's highway. They even keep changing the values, as part of their "improvements."
    So, if you want to make Excel happen, your database needs to be built manually, personally.
    There is a chance that the Wiki folks have a template you could import. http://drakensangonline.wikia.com/wiki/Drakensang_Online_Wiki. You might enjoy touching base with them.
     
  6. sebastian_fl

    sebastian_fl Count Count

    Not sure I follow, why do I need to get in touch with Traki/wiki?)

    Also, what DB do you mean? With the base values of all the items? I don't need it for my purposes at all, even though it is already available.

    Here is my scenario. I have java app, which takes a list of items I currently own as a CSV file of the following format:

    Ring, d:30, d:32, c: 232, cd:12.2%,[optional setName]
    Gloves, as:7.2%, as:7.9%, a:270,a:262,
    Etc

    I also have the base.props, where I manually added the base values for the items I have, all lvl 50 stuff, the gem combinations, the knowledge tree setup combinations, item set bonuses

    The app builds all possible character setup snapshots, and finds one with the best Dmg/Crit/CritDmg combo
    (MedianDmg*(1-Crit) + MedianDmg*Crit*CritDmg)
    , for example, so I use this one for the boss fights. I didn't add attack speed or mana into the calculations yet, nor do I care about armor, but will add that later.

    What I need is not to build the myitems.CSV manually, but be able to export it from the game.
     
    Last edited: Dec 5, 2015
  7. Darwarren

    Darwarren Count Count

    Let's see if I have this right. You want to design a program that would export data from BigPoint Servers for all players, mainipulate the data for all possible combinations for thousands of players, then customize their optimal set-up for different scenarios? No small task.
    Bigpoint certainly wants to maintain control of account and proprietary information, to protect it from abuse or for marketing advantage.
    1. Done in-house, there would be massive costs to build and maintain the system. Considering Bigpoints track record with design and quality issues, why would it even work? Isn't that exactly what the CV is supposed to do now?
    2. If you built, tested, and sold it to them for a dollar, I could still hear the in-house programmers, the server crew, the security people, finance, and lawyers howling.
    3. All the variables, down to gem placement? That's a lot of data, combinations, and permutations. What are the system requirements?
    Hope you have a team!
    4. What about future values? set bonuses possible, upgrade benefits, all that high mental stuff?
    5. Defensive values are still not addressed, unless you want everyone to be a glass cannon.

    Maybe they would accept you as a subcontractor, after contacting corporate directly. Good luck with that.
    Why not offer it independently on the web for individual players?
     
  8. sebastian_fl

    sebastian_fl Count Count

    God no :)

    I want a player being able to pull out the information about his items only. So later he can feed a third party excel, or some optimization tool that will tell him that out of those item he owns, here is a build with the most damage output.

    So here is how it works.

    1. I, or someone, or an open source, creates a tool, functional maximization of sort that would take item/gem list as an input.
    2. Any user will be able to export-to-CSV his personal items from the game, at the current moment.
    3. The user would feed the #1 tool with the #2 list.
    4. The source code of the tool/excel will be open so BP can evaluate it.
    5. The tool will support various scenarious.
    - best Damage build
    - best damage build for every speed breakpoint achiveable.
    - best build and the skill combo for a maximum damage output per minute, assuming hitting the wall (not getting aggro)
    - best defensive setting possible, including the ability to set minimal travel speed required by the user
    - best balanced build, with the option to press + and - so the tool will show the next best setup that has more dmg and less defense or vice verca.

    Formulas for the functional maximization are simple. It will be:

    DmgOutput = (MedianDmg * (1-crit) + MedianDmg * Crit * CritDmg) * AttackSpeedIndex

    AttackSpeedIndex has to be calculated for every breakpoint for every class. Or, the user would be able to set attack speed as a constraint, similar to the travel speed.

    DefenceIndex = (HP/Armor*AC + HP/Resistance*RC)/(1-blockindex)

    AC and RC are predefined by the user coefficients that represent he feeling about getting damage from magical or elemental sources. It could be 60%/40%

    Block Index is BlockAmount*Block chance

    Balanced build will be the one with the most DmgOutput*DefenceIndex

    After all of that, the tool will take user defined constraints, his items, gems, lvl, experience lvl etc, and give the result)

    And yes, there would be a SuggestAnItem feature of sort. For inctance, I can already feed my app with the set items I don't own yet, and see if they would give any benefit so I can focus my farming.

    And finally, finding the best possible setup in the game is very doable. We do have all the information already, as they published the max stats. And we had it before too, as someone has published a database table info in the Haruki thread. All items are there, in open form... poor dev). But again, what I propose has nothing to do with anything illegal, no access to protected info, nothing. Instead, just give the user the electronic record of what they already have anyway in visual form.
     
    Last edited: Dec 5, 2015
  9. Beatles35

    Beatles35 Forum Apprentice

    Your idea is very interesting but I would like more something like a combat log where I can see what kind of damage hit at my character, nature, poison, frost, and so on, obviously I could see too my damages. I don't know if nothing of this could be possible but would be awesome.
     
  10. sebastian_fl

    sebastian_fl Count Count

    It surely would be interested, and people requested those kind of stats from BP multiple times, for instance damage dealt to some Boss, but I didn't see any response. It would be impossible to do a third-party app like that without breaking in into the app. It is doable but again, it would be considered as a bot, as it would require injection into game memory. So unless BP decides to implement something like that on its own, which I doubt, we are not going to see it. Sorry.
     
  11. Darwarren

    Darwarren Count Count

    So here is how it works.

    1. I, or someone, or an open source, creates a tool, functional maximization of sort that would take item/gem list as an input. A lot easier to sell, once it has been built.
    2. Any user will be able to export-to-CSV his personal items from the game, at the current moment. Who controls access to DSO servers? Think of the security and overhead. Would you give someone an key to your house?
    3. The user would feed the #1 tool with the #2 list. How? What level of expertese is required to do that? How many non-geeks are interested? Hope you have a batch processor built in.
    4. The source code of the tool/excel will be open so BP can evaluate it. If DSO doesn't control it, how do they know it can't be changed or hacked to their detriment? The paranoid would think, "They'll give themselves some OP stat bonuses, and weasel it back into the DSO server." LOL
    5. The tool will support various scenarious. . . The list of possible benefits to players is very long, even massive. The list of possible costs to DSO is formidable.

    You might be able to convince Big Point of it, if you had a working model. I'm sure your product would work better than anything their teams would come up with. Corporate DSO would have to approve, and this is way different than the mindless grinding entertainment they develop.
    Or,

    I'd just as soon enter my data manually in to the "Sebastian's DSO Optimizer" (;)) from your website. I can think of a few people with collaboration talents for your project, if you so choose.
    Hell, It's a bargain. I'd even contribute a small forever fee to help cover costs, and, for an old tightwad, that's saying something!


    Thanks for the brainstorming session. Hope it wasn't too stressful. :)
     
  12. sebastian_fl

    sebastian_fl Count Count

    I promise to submit it to a github when it's a little bit ready for the world. I'm quite a lazy person to polish, and quick and dirty if the Dev style for something like that. And there is no UI, for now) @Baragain surely can help, especially with formulas.

    The bottom line, I already have a tool that builds a major array of all possible combinations. I have posted the formulas I use to determine the best one, and if you can think of something better, feel free to comment. My tool works like a charm for my tank already, and I will make it work for my mage on Monday.

    I can actually make the formulas configurable, so you would be able to put whatever you want there.

    Answers to inline:

    #2. BP has full control. The user should go to DSO website or the game itself, log in, click export button, and download the csv file.
    #3. Should be as simple as starting and exe file, giving it the path to csv file as a param, and also updating some properties, like gems etc.
    #4. The tool will not require access to anything from DSO. It will be completely standalone desktop tool with open code. I would engage them just to be able to share it through their channels, if they want to. If not, that's fine. People share the dso-optimizer. And if a hacker wants to write a hack, how would you prevent him from doing that.
    #5. There are lots of scenarios, true, but it's about a dozen, not hunderds. And I would focus on just a few, maybe a handfull at the begining.
    The cost to DSO is miserable. Export to csv can be done by one Dev in 1 day including testing. Make it 2 days. Whatever. They have everything they need already. That actually store these data on local machine already, but in an encoded form, as the game arcitecture requires it. The only thing they need to do is to create few methods and UI for them, or even easier - unobfuscate the table that is already there. Right now they have the database with all the items open to the mass. Why not to close this one, but open one with user only items?
     
    Last edited: Dec 6, 2015
    Darwarren likes this.
  13. Darwarren

    Darwarren Count Count

    Question:

    I use these guidelines for my own toons:
    Total effective health = health points + effective armor boost + effective blocking boost (chance * %)
    Total Defense = total health + resistances when applicable
    Damage ~= - Health Points
    Mechanism: first blocking limits damage, then armor protection reduces damage further, then the remaining damage reduces health.
    (Health = 0) = Death

    Are these applicable? How does DSO calculate when you are dead?
     
    Last edited: Dec 6, 2015
  14. sebastian_fl

    sebastian_fl Count Count

    Not sure if the question is addressed to me, but here is the answer.

    Effective HP formula should be multiplication, not addition (unless you calculate the boost with the multiplication). Assuming we take resistance out of conversation it will be

    EHP = HP / (1-Armor%) / (1 - blockamount * blockchance)

    In order to die, you need to receive EHP amount of dmg.

    So if you have 12k hp, 80% of armor, blockchance, 50% blockamount it will be
    12k/0.2/0.6=100k

    You are dead when your hp is <=0

    Also, the above will work on big numbers, as block is a chance, it is random to some extend. But assuming there is a normal distribution of the mass function of Bernoulli trials of the randomizer, on a big numbers that formula will be close to 100% correct.

    And it doesn't matter if it is block that makes the first reduction or the armor.
     
    Last edited: Dec 6, 2015
  15. Darwarren

    Darwarren Count Count

    OK. same results here. I guess over time you could factor in relatively small amounts of regeneration, but noticeable regen in battle would be more complex, using skill and gear bonuses. It would be nice to know the personal numbers that go with buffs and essences as well.
    Thanks.

    PS. Now that we've trashed all the knee jerk and emotional excuses not to export data, a working model for demonstration should put the onus on DSO. :)
     
    sebastian_fl likes this.
  16. sebastian_fl

    sebastian_fl Count Count

    Give me few weeks. Possibly days to post screenshots of demo unless some events are coming, but surely weeks for a polished tool)
     
    Darwarren likes this.
  17. taketh

    taketh Regular

    I can only think of two values you would need; average damage which would take into accountt attack speed, crit chance, crit damage, min and max damage values; and effective health which would average out your defensive values. These values could be calculated and put into the character statistics page instead of the export.
     
    Darwarren likes this.
  18. sebastian_fl

    sebastian_fl Count Count

    The goal is actually to find those. How do you know what exact combination of items would give you the max stats? So you show the tool all you have, and tool replies with 'ok, dear, here is the best you can get with those items' and shows you certain items to use as well as all possible mathematical values.

    ----

    Where I could use some help are the following two things:
    1. What are the 'best' armor to resistance ratios to consider. Those might be different per class, per farming location, etc.
    2. And more importantly, what are the best combinations of skills to maximize the damage output per minute. Those surely depend on the class, and I will need archers to help with their values, as well as dwarfs. Additionally, it is even more complicated, as it also might depend on the concentration/mana and speed available.

    Btw, the app is already on GitHub) will be making it user friendly next week focusing on Best Damage Output as the only option, for now.
     
    Last edited: Dec 6, 2015
    Darwarren likes this.
  19. Darwarren

    Darwarren Count Count

    Ideal armor/resistance ratio may be a moving target. DSO keeps rolling out new combinations of multiple enhancements on elites.
    2-3+ enhancements can be going on in a skirmish. Standing in poison, stunned, against a speeded ice minion, for example.

    Some players prefer armor to be half the value of health. 2000 armor => 4000 health, etc.
     
  20. sebastian_fl

    sebastian_fl Count Count

    It is far from complete, but already super useful :)))

    [​IMG]

    so, @Darwarren, I've got working model) what's next?) there are limitations of course, but it is very smart. I wouldnt think of some of the setups app proposed)

    Currently it supports Mages and DK of Level 50 (and my lvl44 tank as an exception, twinks are not going to be supported), 2 handed builds only.

    You can user the Attack and Agility sliders, set gems, use or not 50% weapon bonus, essences etc, all item sets should work fine too.

    The only gems not supported are armor gems from gambler, as well as items that have %thisItemArmor attributes, and perhaps some other super special cases. Mana/Rage calculation is not supported. Armor doesnt matter for now as you cannot query the most defensive or balanced setup yet. I personally dont need it anyway.

    It works like this: you feed it with the CSV file (excel csv) of items, load that file, generate all snapshots (combinations), it saves them for later use, and start playing with it finding the best of the damage setups in specific scenarios - no essences or blue etc.
     
    Last edited: Dec 8, 2015
    Darwarren likes this.
Thread Status:
Not open for further replies.