Results 1 to 9 of 9

Thread: ...

  1. #1
    Senior Member
    trickshot17 is offline

    Posts
    110

    ...

    ...just built a working backed of a multithreaded bilge-bot from scratch between lunch and dinner. Apparently, its not that hard.

  2. #2
    Senior Member
    Omegwavex is offline

    Posts
    349
    Andddddd?

  3. #3
    Senior Member
    WatchMeWin is offline

    Posts
    854
    Does it have hmm and anti bans? If so Gg. if not, I can test for bans for you.
    new life, who this

  4. #4
    #Return
    Scarecrow is offline

    Posts
    3,443
    Quote Originally Posted by trickshot17 View Post
    ...just built a working backed of a multithreaded bilge-bot from scratch between lunch and dinner. Apparently, its not that hard.
    What depth it search?

    Yeah, making a bilge bot is easy for someone with decent coding experience, why do you think there are so many out there compared to other puzzles? It's just brute-force.

  5. #5
    Senior Member
    trickshot17 is offline

    Posts
    110
    HMM is on the front end: I already have code for it on a separate project that has been tested quite a bit already, but I haven't put that part in yet. I don't know if this will ever become a commercial project, but when mounted with the full front end, I think it would pretty easily competitive with similar projects. More likely, it will just be experimental for me to use as a practical project for different techniques that I wouldn't normally have a good excuse to code.

    Since it currently only does calculation, I can't tell if its performance is equal or higher than others available, but single-threaded, my processor handles 4 depth pretty quickly, and the algorithm is trivially parallelizable (if that doesn't make sense, read it as "really easy to get it 5+ times faster"). Given how young this project is, there are some relatively important features that don't exist yet (crabs for example).

    EDIT: the current concurrency is a single openMP pragma that gets calc time <0.5 seconds
    Last edited by trickshot17; 07-05-2013 at 09:27 AM.

  6. #6
    Ced
    Senior Member
    Ced is offline

    Posts
    122
    Quote Originally Posted by trickshot17 View Post
    HMM is on the front end: I already have code for it on a separate project that has been tested quite a bit already, but I haven't put that part in yet. I don't know if this will ever become a commercial project, but when mounted with the full front end, I think it would pretty easily competitive with similar projects. More likely, it will just be experimental for me to use as a practical project for different techniques that I wouldn't normally have a good excuse to code.

    Since it currently only does calculation, I can't tell if its performance is equal or higher than others available, but single-threaded, my processor handles 4 depth pretty quickly, and the algorithm is trivially parallelizable (if that doesn't make sense, read it as "really easy to get it 5+ times faster"). Given how young this project is, there are some relatively important features that don't exist yet (crabs for example).

    EDIT: the current concurrency is a single openMP pragma that gets calc time <0.5 seconds
    Well then good work, but as mentioned there are already other bilge bot, if your plan is to monetize your projects i suggest you attack some different puzzles.

  7. #7
    VIP Member
    Devereux is offline

    Posts
    54
    Quote Originally Posted by ced View Post
    Well then good work, but as mentioned there are already other bilge bot, if your plan is to monetize your projects i suggest you attack some different puzzles.
    Or.. He could just make it better than the current bot (Poseidon).

  8. #8
    Senior Member
    trickshot17 is offline

    Posts
    110
    My main holdup right now is that my screen recognition method I used in my personal blacksmith isn't very fast because it doesn't need to be on an untimed puzzle. If anyone can help me with the screen reading, I would be happeh. Right now, I'm figuring that when I load the board I need a full screenshot in order to calculate the position of the pieces, and after that I can just grab single pixels, but I'm not sure the fastest way to do that in c++.

  9. #9
    Bot Coder
    Emaziz is offline

    Posts
    98
    Quote Originally Posted by trickshot17 View Post
    My main holdup right now is that my screen recognition method I used in my personal blacksmith isn't very fast because it doesn't need to be on an untimed puzzle. If anyone can help me with the screen reading, I would be happeh. Right now, I'm figuring that when I load the board I need a full screenshot in order to calculate the position of the pieces, and after that I can just grab single pixels, but I'm not sure the fastest way to do that in c++.
    Since you're noticing the lack of efficiency with the screen recognition, I assume you've been using the MSDN GetPixel function. That is an extremely time consuming function! I found copying the entire client screen (or a smaller rectangle of it) to a buffer and then reading from an array much more efficient.

    What you need to do is create a memory DC, create a new HBITMAP compatible with the client DC and select it into the memory DC, copy the bitmap from client DC to memory DC and finally copy the bitmap to a buffer. You can read about the various functions you'll need to use at MSDN: GetDC, CreateCompatibleDC, CreateCompatibleBitmap, SelectObject, BitBlt, GetBitmapBits.

    Good luck, and remember to clean up using DeleteDC, ReleaseDC and DeleteObject

Posting Permissions

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