1. #1

    machine learning

    Is it possible to utilize neural networks, deep learning, etc to figure out the most efficient way to play your class in any setting without doing anything but inputting numbers and interactions?
    I have no idea how these things are built, just that they require maths and logic/programming
    But couldn't you essentially eventually build it so you have inputs such as movement, interrupted casts, etc to adjust to the most efficient way to play a fight. Rather you take data from warcraftlogs and input it into that software or something? Idk of this would eventually be more time efficient than just coding it. Idk.
    Do these technologies even work like that?
    Last edited by CcB; 2021-01-05 at 05:45 PM.

    recovering former gaming addict

  2. #2

  3. #3
    Quote Originally Posted by otaXephon View Post
    I thought people have to create ACLs for that to function

    recovering former gaming addict

  4. #4
    Quote Originally Posted by CcB View Post
    I thought people have to create ACLs for that to function
    Yeah, simcraft is just doing rotations made by player.

    Should be relatively easy for machine learning to figure out perfect rotations, you just have to teach them simcraft syntax and let AI write its input. Find someone who works with AI and tell them to do it, whole wow community will benefit from better simcrafts.

  5. #5
    Quote Originally Posted by Twdft View Post
    Yeah, simcraft is just doing rotations made by player.

    Should be relatively easy for machine learning to figure out perfect rotations, you just have to teach them simcraft syntax and let AI write its input. Find someone who works with AI and tell them to do it, whole wow community will benefit from better simcrafts.
    That sounds worth it if I had the gall to take a risk...due to lack of marketing ability to get donations. It's probably expensive. Surely there's somebody who works AI who plays WoW who'll eventually do so
    Last edited by CcB; 2021-01-05 at 10:53 PM.

    recovering former gaming addict

  6. #6
    Should be trivial, AI's can beat humans in complex games like Chess and even Go.
    Figuring out the max dps with only a dozen possible options at a time is trivial. You just need someone with the know-how and time to program in the parameters.
    It ignores such insignificant forces as time, entropy, and death

  7. #7
    Quote Originally Posted by Gorsameth View Post
    Should be trivial, AI's can beat humans in complex games like Chess and even Go.
    Figuring out the max dps with only a dozen possible options at a time is trivial. You just need someone with the know-how and time to program in the parameters.
    Why hasn't it been done yet.. at least publicly?
    Last edited by CcB; 2021-01-06 at 01:20 PM.

    recovering former gaming addict

  8. #8
    because no one able to do it can be arsed to do it?

    Because WoW isn't difficult enough to need it?
    It ignores such insignificant forces as time, entropy, and death

  9. #9
    Quote Originally Posted by CcB View Post
    Why hasn't it been done yet.. at least publically?
    Because it's not really an AIML problem. It's just a simple optimization problem.

    We have a near-perfect oracle (simcraft) to score any given APL, albeit slowly. Since APLs are mathematically simple, you can just iterate over them to find optima.

    There's also no point to refining it further - the existing APLs are at or beyond player skill levels, so any improvements have little bearing on reality.


    That said, it could be interesting to use dense player input data, and server responses, to build a family of real-life-based encounter models. Could add in additional modeling around player responsiveness/skill, stimuli/mechanic overwhelm, raid-scale cascading failure modes, gearing progress functions, etc.

    With that, simcraft could stop being a list and start being ... well, a complex probabilistic view of how well every spec does, across all content and player levels.


    What would you do with that, though?

    The community can't even seem to grok that simcraft rankings represent specific assumptions that only apply to a subset of actual play.

    What *I'd* do with it: Put the resto shaman mastery argument to bed, finally. :P

  10. #10
    Quote Originally Posted by rabbimojo View Post
    Because it's not really an AIML problem. It's just a simple optimization problem.

    We have a near-perfect oracle (simcraft) to score any given APL, albeit slowly. Since APLs are mathematically simple, you can just iterate over them to find optima.

    There's also no point to refining it further - the existing APLs are at or beyond player skill levels, so any improvements have little bearing on reality.


    That said, it could be interesting to use dense player input data, and server responses, to build a family of real-life-based encounter models. Could add in additional modeling around player responsiveness/skill, stimuli/mechanic overwhelm, raid-scale cascading failure modes, gearing progress functions, etc.

    With that, simcraft could stop being a list and start being ... well, a complex probabilistic view of how well every spec does, across all content and player levels.


    What would you do with that, though?

    The community can't even seem to grok that simcraft rankings represent specific assumptions that only apply to a subset of actual play.

    What *I'd* do with it: Put the resto shaman mastery argument to bed, finally. :P
    I feel like it'd reduce the work load of those who create the APLs regardless of how simple every time there's a change. Though that may be enjoyable for those who do so.

    I don't know enough about simcraft, logs, data integration, or AI to comment on your suggestions so I'll say yeah why not all of it. It'd be an interesting tool to view is why I think it should be made. Gimmicky fun playstyles and all.Though I don't know why somebody with the knowledge would do so unless they were being paid. As there's so much science out there that this tech can be used for. I also think it'd guilds an easier time with clearing bosses though I think there's already guild mechanic apps

    It makes sense how the community doesn't know what the top sims represent nor know how to read them but why would you expect them to.
    Last edited by CcB; 2021-01-05 at 11:29 PM.

    recovering former gaming addict

  11. #11
    Technicly you could do machine learning system like that. Machine learning uses very simple way to learn. It basicly just guesses the answer to the problem and checks if it's correct. It does that until it gets it right then remembers it. It is bit oversimplified description but overall computers are pretty dumb so need to learn in dumb ways. What makes it effective is the speed, computers can do thousands of guesses in a second.

    In this case you would just need to build a system that has a list of spells, abilities, trinkets and all that stuff for each class. Then you would need code how those things affect the character and the target. The system would just build a queue of spells/abilities at random and simulate the fight and calculate how fast does it take to kill the target. First one would be set as the new best one and each subsequent one would be compared to current best one and replace best one if the new sequence is better.

    Why it hasn't been done. Because it's like using a Sledgehammer to break a nut. It's not that hard to figure out the most effecient way to play your class yourself by just playing a little bit.

  12. #12
    A very early (40 years ago!) "old fashioned AI" machine learning program, Doug Lenat's Eurisko, was used to play the Traveller "Trillion Credit Squadron" game:

    "Lenat programmed the TCS tournament rules into Eurisko, and the system designed a fleet of large, stationary, defenseless, and heavily armed ships. This fleet then won the 1981 TCS national championship tournament at the Origins '81 convention. GDW changed the rules for the following tournament, but Eurisko adapted to the changes and its fleet won the championship again. GDW threatened to cancel the tournament if a Eurisko-designed fleet entered again, and Lenat declined to do so, accepting the title "Grand Admiral" as consolation.[1] Lenat's 1981 fleet design (including 75 Eurisko class Gunships) was printed in JTAS issue #10."

    https://wiki.travellerrpg.com/Trillion_Credit_Squadron
    "There is a pervasive myth that making content hard will induce players to rise to the occasion. We find the opposite. " -- Ghostcrawler
    "Almost every time I have gotten to know a critic personally, they keep up with the criticism but lose the venom." -- Ghostcrawler
    WoW is like 99% bear ass collection simulator -- D-Rock

  13. #13
    Serves no real purpose unless you're looking to simulate every single person involved in the instance. You could set each individual character towards its own purpose and simulate, but it makes much more sense to combine the function(s) of the whole, simulate the whole against the desired parameters; ex. flawlessly swapping dps groups at 35-38% in prep for execute classes to optimize their uptime, cycling heart of the wilds to handle mechanics / negate the need for a dedicated off tank during certain phases etc. etc. The simplest purpose would be healing perfection. I'm pretty sure you can anticipate / calculate every swing timer from a combat log, even /start casting and average time between casts can then be determined. Then it's a fairly simple negation from possible healing output so that the instant damage occurs there is a hot on the appropriate tick to cover it, a heal being cast to apply directly after etc.

  14. #14
    If you want to create AI that does the whole gameplay perfectly, it's pretty hard, probably somewhere on the level of that Starcraft AI.
    If you want to just figure out the perfect rotation on patchwerk, you probably don't even need machine learning, since it's just a normal optimization problem. Although you could still use reinforcement learning if you wanted to.
    If you want to figure out the perfect rotation on a simplified fight (i.e. mechanics happening, but being simplified to something like "have to move for x seconds", "can't attack for x seconds", "x buff/debuff to damage for y seconds" etc.), reinforcement learning would be the way to go.
    Deep learning is one of methods that you can use for reinforcement learning, but I'm pretty sure you could do just fine with something much simpler, if you're not going for the whole gameplay.

  15. #15
    Quote Originally Posted by CcB View Post
    Why hasn't it been done yet.. at least publicly?
    Because it's not trivial. WoW is more complex than CSGO and AI needs a HUGE amount of processing power to train. Combine that with different gearsets, multiple encounters, dungeons, randomness (AI is terrible with randomness), interdependance of players (a raidboss encounter has mechanics that have to be done by more than one player, meaning the AI has to calculate those players too), different specs and talent combinations, etc...

    Regular simming takes long enough (well, seconds to minutes, which is pretty long in computer terms), but an AI for each and every scenario would probably take NASA/NSA level supercomputing and months for even a single gear/skillset.

  16. #16
    Quote Originally Posted by LordVargK View Post
    Because it's not trivial. WoW is more complex than CSGO and AI needs a HUGE amount of processing power to train. Combine that with different gearsets, multiple encounters, dungeons, randomness (AI is terrible with randomness), interdependance of players (a raidboss encounter has mechanics that have to be done by more than one player, meaning the AI has to calculate those players too), different specs and talent combinations, etc...

    Regular simming takes long enough (well, seconds to minutes, which is pretty long in computer terms), but an AI for each and every scenario would probably take NASA/NSA level supercomputing and months for even a single gear/skillset.
    That's fortunate to know as there'll be a point where technology has advanced and the knowledge of the subject is more widespread to where it'll be done. I knew it was complex but I didn't expect this answer. The most surprising part was understanding that AI is bad with randomness. Though it makes sense in a way I can't explain

    recovering former gaming addict

  17. #17
    The Patient Melancolie's Avatar
    Join Date
    Oct 2010
    Location
    Copenhagen, Denmark
    Posts
    276
    Quote Originally Posted by CcB View Post
    That's fortunate to know as there'll be a point where technology has advanced and the knowledge of the subject is more widespread to where it'll be done. I knew it was complex but I didn't expect this answer. The most surprising part was understanding that AI is bad with randomness. Though it makes sense in a way I can't explain
    Let's make some silly example. You want to make an AI that stacks blocks. After 2000 iterations it's starting to get pretty good at it. Then the designer opens a window because he's warm. Now, suddenly, the blocks topple over at a certain point 50% of the time because the room has gotten drafty. The AI can do 10 perfect stacking in a row, then suddenly fail 10 times in a row due to wind. This would make the algorithm go completely bonkers and get tainted with many iterations of strangeness.

    Now transfer this to HUNDREDS of random factors that occurs in a raid. These would need to have a natural spread. As in you might get a specific boss ability 50% off fights or sometimes get it 3 times in a row. How would an AI accurately represent this over 10.000 iterations?

    Also, let us say a class has just 12 damage abilities to use per GCD, including various longer CD's.
    Let's sim a 30 second fight.
    12^30 is 2,373763137997698e+32 possible combinations.
    Let's go wild and say we can do 1 trillion calculations a second. (which is not realistic).
    It would still need 7,527,153,532,463 years to finish the calculation, which is 543 times how long the universe has existed.
    And we haven't even started looking at synergies.

    So no, having an AI simply figure out the best possible rotation without a vastly complicated limiting ruleset will not be realistic probably ever.
    "I like big pulls and i cannot lie, you other brothers cant deny, when a mob walks in, or maybe 10, all lined up for a spell, you press 2!"..

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •