cross-posted from: https://piefed.zip/c/machinelearning/p/1092955/looking-for-ml-coders-for-help-with-open-source-creative-commons-board-game-ai-player-logi

I know this is probably a long shot, but I'm not sure where else to ask so I'm going to take a shot.

I've designed and abstract board game (think chess, shogi, go, etc) and have completed coding the rules for play against an AI player, however getting the actual AI to be good is a whole other problem.

I would love if someone who is experienced in ML would be interested in collaborating on this open source project.

The game is strictly a hobby project, with absolutely no plans for monitization or anything. Currently it's playable in the browser against AI (no multiplayer yet set up) at: https://greenants.github.io/Amalgam_Webgame/

GitHub Repo: https://github.com/GreenAnts/Amalgam_Webgame

Disclaimer: I've mostly used AI to code this project, as I'm a pretty novice programmer. Obviously that's controversial, so I want to make that clear - but remember this is simply a hobby project, and is a way for me to get my board game design digitized and actually played by others. The code will likely be a bit on the messy side, but I think for the most part the ML coder would only be interacting with the controller - so shouldn't be too much of a factor.

From my limited understanding, the actual search depth and complexity of the game is quite high, far higher than chess, so it's been quite hard for me to try and get this set up even with the help of AI coding with hueristics.

If you are interested in in the project at all, I'm always looking for help to farther this project - as I've been working on the board game itself (on and off) for more than 10 years.

The GitHub Repo listed above (in the README.md) has a graphical rulebook as well as a video tutorial linked for you to learn the rules and get an idea of the game complexity if you are interested.

Like I said, I know this is a long shot, and unlikely anyone will be interested, but I figured I'd give it a shot :)

Looking for ML coders for help with open source/creative commons board game AI player logic.

no comments (yet)

sorted by: hot top controversial new old
there doesn't seem to be anything here
4 comments in c/machinelearning@lemmy.world view that post
[–] 3 points 8 months ago (1 child)

That's the problem with vibe-coding, no one will waste time understanding all this slop. You should start smaller with simple games and NO AI used, that's how you learn.

  • source
  • hideshow 1 child comment
  • [–] [S] 3 points 8 months ago

    Yeah, I get that - and I knew it was a long shot trying to find help.

    And I totally get what you're saying, and I agree, but if I'm being honest with myself I'm not really trying to become a programmer (I've already tried in the past, before AI - and I've realized I don't have the motivation/persistence/attention span to become a good programmer. I actually changed career paths when I was younger because of it)

    Not that this helps, but my goal is the board game - I've been working on this board game for over a decade, on and off - and this is my attempt to make it actually accessible and a shot of actually being played by others. My hope is to maybe get a "good enough" version/demo that is playable. If the board game ever gets enough players, then maybe an actual programmer will come along and create a proper application.

    I know that's not really a likely scenario, but it's the best bet I have at the moment without actually paying someone to make it. And I don't have the money to pay someone to make something that is literally just a little hobby/passion project I've been working on. I've made the actual board game Creative Commons in the hopes that maybe someone might find the game interesting and be willing to work on it as a hobby as well.

    Ehh, sorry - a long tangent without much substance. But regardless, I appreciate your advice - and it's solid advice, but being honest with myself it likely isn't something I will pursue.

  • source
  • parent
  • [–] 2 points 8 months ago (1 child)

    Hi. The game doesn't work for me on mobile sadly so I can't offer any specific suggestions but in general I suggest you have two options...

    The basic approach is to write some rules/ heuristics for your AI player (e.g. start with move X, if player does X then do Y, if condition X then do Y). You can probably distil some basics from your own strategy.

    An advanced approach is to train a model using e.g. reinforcement learning to figure out it's own policy of which actions to take given the game state. You can use a library like stable baselines for this. You may be lucky though to train your agents by pitching them against one another or you might have to teach them e.g. with the rules-based agent or by having them learn from human-vs-human games.

  • source
  • hideshow 1 child comment
  • 4 comments in c/opensource@programming.dev view that post
    [–] 4 points 8 months ago (3 children)

    A bit of a tangent, but regarding using AI, though it helped kickstarting your project, I strongly suggest studying coding as you can to be able to spot any oddities or straight up bs the LLM put in the code.

    Also, either done by you or someone else, one of the few important things that were teached to me when I tried programming in university is that understanding the logic of your intended program comes before the programming itself.

    So going generally by your description, ask yourself, how is a player meant to play your game? How could a game AI (≠ LLM AI) mimic that behavior? And perhaps it would make sense to include some degree of randomness to the AI's behavior?

    With those from the previous paragraph, perhaps you could have a starting point to figuring out what to do.

  • source
  • hideshow 3 child comments
  • [–] [S] 1 point 8 months ago (2 children)

    Thanks for the advice! Yeah I've studied coding a decent amount (learned some web dev stacks, Visual Basic class, and python class in college) but nothing to the level of something like a computer science major. But if I'm being honest, it mostly comes down to not having the attention span/motivation/persistence to actually work through the tedious process of becoming an actual "good & knowledgeable" programmer. I've tried this project a few times before AI LLMs were a thing, and I've always abandoned the project due to lack of motivation after some time.

    But your advice still is very useful, and yeah - I've fiddled with trying to tweak hueristical aspects to make the AI more competent, but I've found I quickly get over my head. I think like you said, maybe I need to do some actual studying - especially in the hueristics/game AI portion. With the main game code, I somewhat can parse what code is being created, but when it comes to the AI player logic, I'm clueless as to what the LLM is outputting or how to tweak/adjust as needed.

    Also, it's made me curious to ditch the hueristics option and try to actually try true ML instead, but that would likely be far harder is my guess.

    Regardless, thanks for your thoughts!

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 8 months ago* (1 child)

    By the way, my focus capacity isn't good either, and normal study, e.g. university, I've found to be terrible for that. If you have a clear objective in mind, and you can discipline yourself into chasing it, that's a good chunk of the problem solved, at least from my experience. But also from my experiences, if you can find a tutor or private teacher that can adapt his/her strategies to keep you engaged in the studies, that should help immensely too, though the discipline to go after objectives still being needed imo.

  • source
  • parent
  • hideshow 1 child comment
  • [–] [S] 2 points 8 months ago

    Yeah, I have a bit of a longer reply in one of the cross posts, and I'm too lazy to type it all over again - but largely I've kind of accepted that I won't be a programmer. Mostly its just about getting this one specific project finished (because it's not about the actual software as much as it is about the board game, for me).

    I've picked up and abandoned this project so many times, but each time it seems I get a little bit further - so baby steps I guess lol. More-so, I'm just hoping to get something that is "good-enough" to get people interested and playing the game - and since the game is open source and creative commons, maybe someone from the player base will get interested enough to make it properly.

    I've tried to become a programmer in the past (and actually changed career fields after realizing it wasn't for me) - but with new LLMs, I've figured maybe I can get by enough to at least patch something together that'll pass as a demo. Being honest with myself, I'm not going to invest the time or effort to become "good", especially on top of my day job.

    But of course, I appreciate your input, advice, and time to reply :)

  • source
  • parent
  • 2 comments in c/foss@beehaw.org view that post
    [–] 4 points 8 months ago (1 child)

    Have you thought of trying MCTS? It's a pretty easy algorithm to understand and was good enough to get computers playing Go up to the level where they could offer beginner to intermediate human players a satisfying game.

  • source
  • hideshow 1 child comment
  • [–] [S] 3 points 8 months ago*

    Yeah, I've been trying to use the LLM to help me make a hybrid system with hueristics/MCTS, but I think it mostly comes down to I don't know or understand enough about these AI systems to correctly guide the LLM. As for the main game, I know just enough programming to tweak and guide the LLM as a tool to make what I want, but it's somewhat a shot in the dark trying to navigate creating an AI system. I think if I have to continue on my own, I may just need to start doing more research on how these systems actually work.

    Also, the board game, I've come to realize is actually quite complex compared to many board games, and has a very high number of possible moves, and varies heavily upon search depth - so I think I'm kind of starting out in "hard mode" if I'm correct.

  • source
  • parent