Results 1 to 5 of 5
Like Tree4Likes
  • 3 Post By snipesy
  • 1 Post By snipesy

Thread: GPU Accelerated Bot

  1. #1
    Junior Member
    snipesy is offline

    Posts
    3

    GPU Accelerated Bot

    Last weekend I came up with this.

    https://github.com/Snipesy/GPU_Bot

    I was toying the idea of making a GPU bilge bot for awhile, and this is the end result. I made it pretty quick so expect some weird 'wtf' here and there, unfinished components, and lack of descriptive comments, but I consider myself extremely good at what I do. This is not amateur work. Although this is the first time I've worked with GPUs before (if you don't call aparapi a hack).

    The algorithm sees 5 moves into the future, 6 if you want to murder your GPU. 7 If you want to crash..

    Technically it can see 15 (more if you want it to) in the future if you count multi-pass.


    If you make a build it should defintely work well for you out of box. But this thing is definitely not finished. It needs some work on the bot part (mouse movements, screen parsing, just playing the game). The stuff there now is definitely a good start and works 'good'. It uses gradle so it should be pretty easy ( I think it's missing the keyboard hook library, so you might need to add that). I made it so if you start moving your mouse the bot will pause itself and wait for you to finish whatever you are doing ( you have no idea how helpful this was when testing, no more fighting).

    One thing it does not do, is calculate for multiple moves. I was playing with this but Monday rolled around. It can be done easily if you don't do multipass. Making it work well with multi pass is a bit tricky. If it did see ahead multiple moves it would have some vegas building power, which would make this thing a god.


    It also doesn't click the okay window.

    It also doesn't token. But that's more an issue with the bot (it doesn't even see that stuff).

    Some other things as well, look for the TODOs


    Beyond that, I have no idea how it performs compared to the other bots here. I've never used any of them before.

    Anyway, I'm probably not going to be working on it much more. I have too many projects ongoing, but this was a nice break to return to an old game. I am releasing it under GPL3. Know what that is.

    Feel free to take a look at it. Fork it if you want and start making changes if you want. Aparapi is pretty great, but there are a lot of quarks and hand waving you need to know before you just make your bot. I honestly recommend using the C code and CUDA libraries if you are serious. You will have much more control over testing and finding problematic code.
    Last edited by snipesy; 07-26-2017 at 09:03 AM. Reason: hey it worked
    jak8222, erik and sfsupreme like this.

  2. #2
    Junior Member
    sfsupreme is offline

    Posts
    15
    Can vouch for Snipesy's work. I've been around him for a while - testing bots for him and other client mods. He works fast and it is always high quality. Anyone who takes a peak at this Bilge Bot will surely be happy.

  3. #3
    Senior Member
    erik is offline

    Posts
    328
    finally i'm not the only person that does gpgpu programming

    there is still hope in this world


    ** this message was supposed to be all caps

  4. #4
    pas
    Member
    pas is offline

    Posts
    58
    What do you mean by it looks 5 moves ahead but doesn't calculate for multiple moves.
    You mean it looks 5 moves ahead and just applies the 5 moves before calculating again?

  5. #5
    Junior Member
    snipesy is offline

    Posts
    3
    Quote Originally Posted by pas View Post
    What do you mean by it looks 5 moves ahead but doesn't calculate for multiple moves.
    You mean it looks 5 moves ahead and just applies the 5 moves before calculating again?
    It only calculates for one actual break.

    It sees 5 moves into the future, applies the first 4, and repeats the same system to see if something better can be made.


    But lets say if we broke a 3 at the top of the board, it would move some pieces to make a vegas. It doesn't see that. Mainly because doing so is insanely expensive, but if you limited it to just the abstraction/division portion it would work well.
    erik likes this.

Posting Permissions

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