Hi !
Not the way you chose but mine is to write as much as I can in Java, so it's mostly not going to interest you but maybe someone else wanting to develop for mac later. I've got some elements here :
https://github.com/PierreMardon/gametheory/(side project, still active but not evolving fast - well fast, but not often
)
I don't do bots right now, and I'm planning to write more advanced algorithm than my chance-sampling CFRM as well as botting tools but didn't decide right now what will come first.
AFAIK for botting the only native specific implementations I'll need is windows screenshoting and game control (pushing the buttons), and that's not hard to do it both for Mac and Windows. Oh and also stealth
Even tesseract has it's Java bindings that integrates immediately with Maven.
The main point I think is that if you spend the necessary hundred of hours to build a good bot, if one day you want to experiment on Windows (some platforms don't have mac native apps), you'll have to spend unnecessary coding time to adapt parts of your code, risking to introduce regressions in your mac implementation if your code is not modular enough.
I guess at least 95% of the code can avoid having any native dependencies as long as it's modular, and as a professional developer I spent most of my time on this project learning how to have the best models to fit the always changing needs of IA. My project is far from being perfect but learned me a lot on this subject, and even if I lost sooooo much time on this, I can now reuse my code easily and come with a good model for any new feature.
I have to catch up with Poker-AI reading and decide how to make my library evolve given the recent developments in the domain, and this will determine the order of my next steps :
- NNs
- faster CFRM algorithms
- practical botting toolbox
Ok I went far away from your question, off topic, sorry, so I stop now I'll spam the forum another time about my pending interrogations