Page 3 of 3 FirstFirst 1 2 3
Results 21 to 27 of 27

Thread: June 8 Update

  1. #21
    Basic Member
    Join Date
    Jun 2016
    Hi ChrisC, do you know when, BOT EXPERIMENT Credit:FURIOUSPUPPY will work on dedicated servers (or if the issues surrounding it not working now are too significant to give an estimation), out of the current popular bots, they seem to be most playable to me and it would be great to see it being supported by valve servers.

    Thanks for all your work.

  2. #22
    Quote Originally Posted by Sy123 View Post
    Hi ChrisC, do you know when, BOT EXPERIMENT Credit:FURIOUSPUPPY will work on dedicated servers (or if the issues surrounding it not working now are too significant to give an estimation), out of the current popular bots, they seem to be most playable to me and it would be great to see it being supported by valve servers.

    Thanks for all your work.
    I've always thought this as well.

  3. #23
    Basic Member
    Join Date
    Dec 2016
    I am sure they will be back when author fixes them up

  4. #24
    Basic Member
    Join Date
    Dec 2016
    Hi @ChrisC

    May i give a suggestion for handling item purchasing from base shop? we have functions, IsItemPurchasedFromSecretShop and IsItemPurchasedFromSideShop for secret and side shops, but for upgraded items like arcane boots and Crimson Guard these function return false( it should be) , but it would be better to find out what items could be purchased from base( sth like IsItemPurchasedFromBaseShop ). with this method beside GetItemComponents , heroes can handle item purchasing, selling and delivering couriers more easily.

  5. #25
    Basic Member
    Join Date
    Jan 2014
    Quote Originally Posted by Platinum_dota2 View Post
    Thanks again ChrisC for the update, here is another update on my ranged heroes last hitting (again with no items and abilities):

    Attachment 49669

    I had to rewrite my generic laning again so that ranged heroes can last hit properly BTW. while I was tracking lane creeps to improve the last hitting I realized they usually attack once every 1-1.15 seconds, is this because of host's update rate or their attack speed is actually not what Dota claims it is? Anyway, I blame this for the creeps my bots missed I won't need pulling for now (the lane equilibrium is almost perfect). I'll start writing the rest of the things in a few weeks. I think I won't be pickier than this for laning (I personally can't last hit better than this without items and abilities!).
    Sounding great.

  6. #26
    Basic Member
    Join Date
    Dec 2016
    Quote Originally Posted by nostrademous View Post
    Okay, seems like a sym link (or rsync probably) of the workshop code then. I assume that it makes a copy of the code when loaded into the VM when playing so if my bot was to be playing when I updated it in the workshop it would not be affected until the next play session.

    I do have a question about the "dedicated server" model. It seems that my understanding and how I hear some people refer to it in this forum are at a different understanding of how or why it is there. It was my belief that the "dedicated" server was for showcasing bot vs. bot matches and while spectating by humans is probably allowed, humans & developers do not have direct access to the "dedicated" servers and do not upload or initiate bot games on that server. I was under the impression that the dedicated server was essentially a carrot-on-a-stick for bot developers to better their bots b/c they will be getting more visibility / attention. Probably ultimately resulting in some bot MMR system and possible a tournament. In the long run perhaps you even envision a Top Bot vs Top Human Team tournament (once AI and all that jazz is in place).

    Is this the intent here ChrisC, or if not, what is the purpose?

    Cool, I noted a crash I got recently (my fault) in another thread. Repeating here - if you require() a module/file that has a mis-spelled directory in it's path the client crashes to desktop. This is different than if you just mis-spell the filename which just throws a traceback (at least I think I recall that being a difference).

    For me that would be great, although I'm surprised Valve is willing to take the liability here. I see huge positives and possible negatives here.

    NEGATIVE - If you do this you have to be very weary of phishing bots people could upload that would ask for peoples usernames / passwords (and while you would think that NO ONE is that dumb to think that a Valve Employee would ask for their info in a Bot Match ... you would be surprised how naive people are). I realize that currently there is no API for retrieving chat messages, but I'm sure there will be one soon enough (especially once "training" bots start coming out).

    POSITIVE OR NEGATIVE - Secondly, this would potentially allow for bot developers to monetize the logic of their code server AI/Machine Learning/RL (or scripting even) - forcing people to purchase monthly subscriptions to their web-servers which control the bots. Not sure where you stand on people possibly doing this, but I could easily ask for a username/password to "my" web-server in order to give people the advanced code I have (or technically will) create.

    POSITIVE - People could protect their Intellectual Property (the brains of their bot code) by never sharing it (it stays on their web-servers) and possible we could even standardize on a Web-Server to Bot Communication API. It wouldn't need to be in the workshop or any github (unless people want public collaboration).

    CONSIDERATION - if the dedicated servers are in Seattle and my web-server is on the East Coast, then network latency becomes a much larger factor in what can be commanded by the web-server as you will not have fast enough round-trip-time to do at frame-rate decision making. Sure, you could host your server at Seattle to reduce this, but still, nowhere close to as fast as localhost.

    Just my initial thoughts here, I'm sure I will edit this post several times in the coming hours/days as I think more on it.
    @ChrisC - any update on this decision? Are you going to allow non-localhost connections?

  7. #27
    Basic Member
    Join Date
    Mar 2012
    Quote Originally Posted by ChrisC View Post
    • Fixed neutral camps being incorrectly assigned to radiant/dire sides due to the new new map layout.
    • Removed "name" field in GetNeutralSpawners().
    • Added "team" field in GetNeutralSpawners().
    • Added a "type" field (small/medium/large/ancient) to GetNeutralSpawners().
    • Added a "speed" field (normal/fast/slow) to GetNeutralSpawners().
    • Added "min" and "max" bounds to GetNeutralSpawners().
    Is there also an aggro parameter stored somewhere? Some camps follow you to the end of the Earth while others abandon you after 1 second which is why I assume one exists. Is it possible to get that as well? Not sure if there is a distance or time or damage one, but just to be safe, expose them all

    OK, to be more exact, here is my situation: I am trying to remove all hardcoded values from the jungle code, but at the moment there is no way to tell if a camp can be pulled on the lane or not. For example, the small radiant camp is between 1500 and 2000 units away (using the interactive map; I am atm implementing the code so I didn't get the results yet), and it can be pulled, however, the large radiant offlane camp is around 1200-1500 units away (so a shorter distance) but I can't manage to pull it to aggro the lane creeps, so my point is, distance is not a reliable way. Also, I'd rather not hardcode the fact that only small camps can be pulled since the large safelane camps (both on Rad and Dire) can be used to drag creeps away. And if Icefrog changes the layout and reverts to the way it used to be 5 years ago where medium camps would aggro the lane, what then ? Therefore, some camp AI info would be appreciated, unless you can recommend a better way with the current setup

    Also, a similar question about stacking them. Is there a reliable way to know the best location to drag creeps in order to stack them WITHOUT hardcoding? I'd assume no, but thought I'd ask other coders if they had luck. The hardcoded way works fine in 90% of the cases, but as I said, I'd rather not rely on constants that can change any day now.


    Apart from the above, I think there are some issues when I try to map the camps from the old code, to the new spawner info and to a hybrid of the old and new code I am writing:

    [VScript] info max * Vector 00000000002C8678 [-3962.000000 4224.000000 384.500061]
    [VScript] info team * 2
    [VScript] info location * Vector 00000000002C8610 [-4448.000000 3456.000000 470.714874]
    [VScript] info type * large
    [VScript] info min * Vector 00000000002C8640 [-4784.000000 3328.000244 -384.000000]
    [VScript] info speed * slow
    According to the interactive map, this location should be the large camp where the safe and off top lanes meet (near 0.5 at the lane frontier location).
    Also, as I understand it from the previous discussions on different threads (from you, myself and others) that the team property would represent the side the camps are on. As you see, this camp that represents the salelane large camp that is on the dire side is marked as "team 2", meaning radiant. I assumed that anything below the river belongs to Radiant and everything across it belongs to Dire. But this isn't consistent at all. While one can argue that the camp can potentially be used by Radiant to pull, the same can be said about any camp, if an opposing team wants to push

    So for short: why is the dire safe lane large camp near the Radiant's offlane considered a "radiant camp" since it is across the river? I assume the other large camp is analogous and considered Dire instead of Radiant on the bottom lane.

    At the moment the way I decide where each bot goes, what are to cover, which zone has more priority, and where different orders or decisions should be taken is I split the map into regions, zones and lanes. And I use the river as a delimiter. So this obviously inverts 2 camps (considering the regions: Dire safe lane, with the bottom region, vs an offlane camp that belongs to Radiant that should be over 10000 units away, if marked correctly). Please fix it


    Edit 2:
    What does GetAmountAlongLane() test against to get the distance? I am getting some results I didn't expect (it detects the lane fine, it's jsut that the returned distances are higher than what I pictured). It doesn't seem to use a perpendicular trace, it does, however, seem to be more attracted to the T3 tower. Also, it seems the lane "collision" (if I can call it that) is a bit more stretched than the road drawn on the map. So what does it check use as reference points?
    Last edited by The Nomad; 07-16-2017 at 12:13 PM.
    Explanations on the normal, high and very high brackets in replays: here, here & here
    Why maphacks won't work in D2: here

Posting Permissions

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