Page 5 of 5 FirstFirst ... 3 4 5
Results 41 to 45 of 45

Thread: dota2_nn: Extremely WIP deep supervised learning full-takeover bots

  1. #41
    Quote Originally Posted by axetion View Post
    Last I checked -8288 -> 8288 was what GetWorldBounds() returned. That might have changed.
    kk thanks
    https://github.com/ThePianoDentist/t...dentistdotabot Lina bot which pulls small camp when 'laning' (Aim to work on pulling and stacking bots initially)
    https://github.com/ThePianoDentist/dotabots-ml-tools Parsing data from bot games

  2. #42
    Basic Member axetion's Avatar
    Join Date
    Jan 2017
    Posts
    38
    Since this has been taking longer than I had anticipated (and also we're seeing a lot of hype around ML in Dota 2 with the OpenAI mid bot) I figured a status update was in order for anyone interested.

    I'm still working on this, and I currently have a couple things I'm toying with (some finished already, others not):

    - Per TheP1anoDentist's suggestion I've ditched the ugly CSV format for the data and have instead made a JSON format. While it isn't a whole lot more human readable, it's surprisingly easy for the trainer to read and should be rather flexible as the models change.

    - I'm currently creating models for purchasing items and leveling abilities, which was already in the bot code but didn't have any code to train them.

    - I'm significantly improving the code quality across pretty much everything, breaking it up into multiple files and what not. The current code is rather ugly.

    - I'm making a better all pick (and potentially captain's mode) hero selection algorithm that tries to fill farming positions and pick heroes that counter what the enemy has and synergize with what was already picked. It's not anything statistical/ML but it should be a lot better.

    - I wanted to turn the server into a Valve Server Plugin in C++ (https://developer.valvesoftware.com/wiki/Server_plugins), but it looks like Dota 2 doesn't load those. Metamod: Source currently hooks into the GameDLL which doesn't seem to work with listen servers (at least not without -insecure). If anyone knows a way to pull this off let me know

  3. #43
    Basic Member axetion's Avatar
    Join Date
    Jan 2017
    Posts
    38
    Forgot to mention that to go with the hero selection, I'm having the corpus builder make different models for different farming positions: that is, there will be two nets for, say, position 4 abaddon (support) and position 3 abaddon (offlaner). I think this will solve the "which lane will the bots take" problem -- rather than learning whatever the most common lane is or having to learn a bunch of features to tell which lane it should take at the beginning, it'll learn different things for two or three of the most common farming positions and the hero selection algorithm will pick the model it wants to fit the role it needs.

    The corpus builder determines the farming position by assigning positions 1-3 to the top 3 in last hits based on their starting lane, then assigning position 4 to whoever has the higher net worth of the remaining two.

    The main downside for this is now the training data is getting spread even more thin across different nets for different teams and different farming positions. I'd like to find a way to abuse the symmetrical nature of the Dota map and eliminate the need for separate models for different teams, but it's not as simple as reflecting the coordinates across the river (jungles are shaped differently for one). Thoughts on this would be appreciated.
    Last edited by axetion; 08-14-2017 at 09:41 AM.

  4. #44
    Basic Member
    Join Date
    Aug 2017
    Location
    Nicoya, Costa Rica
    Posts
    1
    hey, very impressed with the work youve done so far. I want to get into DOTA bot modding myself. If you need help id love to join your efforts, or if you prefer working alone i wanna ask for your permission to fork your codebase.

  5. #45
    Basic Member axetion's Avatar
    Join Date
    Jan 2017
    Posts
    38
    You definitely don't need my permission to fork this :P I recommend waiting a bit until I clean up the code before trying to mess with it (the bot code is also slightly broken currently because of some API changes)

Posting Permissions

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