Announcement

Collapse

Forum Rules

  • No flaming or derogatory remarks, directly or through insinuation.
  • No discussion, sharing or referencing illegal software such as hacks, keygen, cracks and pirated software.
  • No offensive contents, including but not limited to, racism, gore or pornography.
  • No excessive spam/meme, i.e. copious one liners in a short period of time, typing with all caps or posting meme responses (text/image).
  • No trolling, including but not limited to, flame incitation, user provocation or false information distribution.
  • No link spamming or signature advertisements for content not specific to Dota 2.
  • No Dota 2 key requests, sell, trade etc.
  • You may not create multiple accounts for any purpose, including ban evasion, unless expressly permitted by a moderator.

  • Please search before posting. One thread per issue. Do not create another thread if there is an existing one already.
  • Before posting anything, make sure you check out all sticky threads (e.g., this). Do not create new threads about closed ones.
  • It is extremely important that you post in correct forum section.

  • Balance discussion only in Misc.
  • All art related (such as hero model) feedbacks go to Art Feedback Forum.
  • All matchmaking feedback should go here: Matchmaking Feedback
  • All report/low priority issues should go here: Commend/Report/Ban Feedback
  • No specific workshop item feedback. These should go to workshop page of that item.
  • When posting in non-bugs section (such as this), use [Bugs], [Discussion] or [Suggestion] prefix in your thread name.



In case you object some action by a moderator, please contact him directly through PM and explain your concerns politely. If you are still unable to resolve the issue, contact an administrator. Do not drag these issues in public.



All rules are meant to augment common sense, please use them when not conflicted with aforementioned policies.
See more
See less

Upcoming changes to bot scripting

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Upcoming changes to bot scripting

    We've got a couple changes coming up that I wanted to make you guys aware of:


    Dedicated Server support for bot scripts
    We're starting to roll out support for running bot scripts on our dedicated servers. Much like custom games, we'll probably be selecting a few scripts at first to test the system, and then well likely open it up to the most popular bot scripts. This enables us to do a few things:
    • Coop bot matches vs scripted bots. We're not exactly sure what this is going to look like, but we'd like to do a better job of exposing scripted bots to the segment of players that enjoy playing against (or with) bots. Some sort of integration into the play menu is likely.
    • Bot-vs-bot matches. We'd like to publicize (and make spectatable!) bot scripts playing against each other, possibly by having some sort of presence on the Watch tab. Lots of details to still be worked out, but we think it would be entertaining for customers to get a preview of the top bots in action. Possibility of something like bot script MMR?
    • Bots that cater to more specific audiences. Having the highest-skill bots is a fun challenge, but we'd like to showcase bots that do other things -- specific challenges (dealing with the super-push bots is a good example), or bots that are more tailored to teaching new players the game, rather than mercilessly defeating them.


    Expanding Workshop support
    In the coming weeks we're going to move bot scripts to be more normal elements of the Dota Workshop. That means that scripts will have their own workshop page with images, videos, longer descriptions and update notes, comment sections, etc. You'll also be able to manage subscriptions from outside the game.



    The goal with these changes are to better showcase your work, make sure players who are interested playing your bots can easily do so, and foster a development community of bot authors and their fans.

  • #2
    Nice, I play dota 2 and I love to watch bots vs bots, as well as play against them, so this is amazing to me.

    Comment


    • #3
      I was thinking about making "training" bot(s) but feel we still need some API to support "training".

      Things like:
      * pausing the game
      * ability to ask questions & get responses from user
      * ability to force FoW without allowing user to modify it during exercise to teach vision and lack of vision and proper habits
      * a scoring system for the training course (based on proper actions, answers to questions, etc.)

      Comment


      • #4
        This is exciting news! A couple considerations (read: greedy wishlist ) that jump out at me immediately.

        Some sort of minimum requirements to meet for each category would be nice as soon as you start to decide what these look like so we have as much time to prepare and get a smooth launch as we can. Example: Coop bot match candidates should support humans on their team during picking phase, have some confidence of not crashing, play by the rules (no monkey king ult running around spamming 15 boundless strikes/sec etc.) Just examples obviously.

        Any data this can gather for us about our bots performance would be amazing, the more the better. Some sort of dashboard like the Play Style radar graphs and stats in our player profiles, something akin to that for our bots (team and/or individual bot would be amazing) and might actually be useful for the customer in deciding what bots to play against. Even if you just fed us a list of all replay IDs containing our bots and which team they are, I'm sure someone will try and tackle a replay parser if they aren't already (not sure what kind of data truly exists in replays).

        Whatever happens, thank you so much for these developments.
        Last edited by ironmano; 02-22-2017, 01:43 PM.

        Comment


        • #5
          This is a great idea!!!

          Coop bot matches: I think a lot of players will appreciate this. They should have an option to play with less than 5 human players on their team (some may like to play against bots with 1-2 of their friends).

          Bot vs Bot matches: Hell yeah! I think having something like a ladder would be useful. Bot scripts can constantly play against each other in a separate watch tab, when they are close in the ladder. This way new scripts that are better than the previous ones can take the spot light from them without needing a lot of players to try them out. I suggest if you want to do this, don't let scripts to pick a hero multiple times. I think that it is ok that bots that are playing against each other have the same heroes (this will inevitably happen), but it is definitely cheating if a team picks a hero 5 times (currently they can) in the Bot vs Bot matches.

          I think each script should have a difficulty score (which comes from the bot vs bot matches) and a play style (pushing, death balling etc.) which is chosen by the creators. Players then can find and choose the bots based on these two factors.

          Comment


          • #6
            Originally posted by Platinum_dota2 View Post
            Bot vs Bot matches: Hell yeah! I think having something like a ladder would be useful. Bot scripts can constantly play against each other in a separate watch tab, when they are close in the ladder. This way new scripts that are better than the previous ones can take the spot light from them without needing a lot of players to try them out. I suggest if you want to do this, don't let scripts to pick a hero multiple times. I think that it is ok that bots that are playing against each other have the same heroes (this will inevitably happen), but it is definitely cheating if a team picks a hero 5 times (currently they can) in the Bot vs Bot matches.
            Perhaps Bot vs Bot should only be via Captain's Mode with bans and stuff... to prevent choosing heroes already chosen or banned.

            Comment


            • #7
              I think this is impractical, specially for new scripters, since I don't think Captain's mode is meaningful for bots unless you have already implemented at least around 30 bots. Just having the hard (and easy to implement) constraint that if a team has chosen a hero, the same team cannot pick it again is enough.

              Comment


              • #8
                Originally posted by ironmano View Post
                [...] Even if you just fed us a list of all replay IDs containing our bots and which team they are, I'm sure someone will try and tackle a replay parser if they aren't already (not sure what kind of data truly exists in replays).
                Replays include everything happening in the game. Asking for specific details can be troublesome though, from what I heard.
                They don't include any Debug informations (except all-chat and propbably pings).
                So having access to debug data might be worth considering.

                Comment


                • #9
                  Originally posted by nostrademous View Post
                  I was thinking about making "training" bot(s) but feel we still need some API to support "training".
                  * a scoring system for the training course (based on proper actions, answers to questions, etc.)
                  I actually really like this idea! (even outside of bot stuff)
                  It's kind of harsh being a new player. it would be nice if you could toggle on some kind of arcadey points mode where you get points based on pulling/stacking/surviving low hp/not stacking stuns/any dota thing really
                  maybe only sensible for versus bots (custom or default), but could also make bot experience more fun. people like arcadey points modes/getting high scores on stuff
                  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

                  Comment


                  • #10
                    this is some great news!

                    Comment


                    • #11
                      Wow, I love you Valve, thank you for all bots updates!
                      Thank you IceFrog, Valve and Dota 2 team for everything you doing for Dota 2 community.

                      Comment


                      • #12
                        Another thing which I think is really important:
                        If two different scripts are playing against each other, run them on different threads (or servers), since some of the current scripts are slow and should not affect the enemy's script. I'm not sure how it works now.

                        Comment


                        • #13
                          Thanks for your update!

                          Comment


                          • #14
                            I prefer to write bot scripts rather than playing dota after this update
                            thanks Chris

                            Comment


                            • #15
                              This is really awesome!

                              Comment

                              Working...
                              X