Shuffle iT Forum

Dominion => Feature Requests => Topic started by: drye on 01 May 2020, 05:33:54 PM

Title: I'd love to help contribute via pull request
Post by: drye on 01 May 2020, 05:33:54 PM
I'm new to the forum. Myself and a group of friends have been playing a lot of Domnion lately, many of us premium users now. As a software engineer, there are many small things that I'd love to submit pull requests for if you all are willing. I will make a separate post for each of the ideas, but please consider my offer.
Title: Re: I'd love to help contribute via pull request
Post by: quandacoralle on 15 August 2022, 02:39:15 PM
As there's no response to this thread and I'm having the same desire I'd like to bring this topic back up.

Personally I'd love to improve the bot's capabilities by applying reinforcement learning, but a general access to the source code would be required.
Title: Re: I'd love to help contribute via pull request
Post by: Matt Arnold on 21 August 2022, 02:26:22 PM
For a very long time I've been wanting to do the same thing.
Title: Re: I'd love to help contribute via pull request
Post by: Ingix on 21 August 2022, 02:59:43 PM
You can contact Stef, the developer, for example via Discord or here on the forum via direct message: http://forum.shuffleit.nl/index.php?action=pm;sa=send;u=3

We all know that the bot is very, very basic and could use improvement. If you state your experience and how you would approach the problem, maybe one (or more) of you can work on that.
Title: Re: I'd love to help contribute via pull request
Post by: AdamH on 22 August 2022, 02:47:25 AM
I did offer to help with the AI forever ago.

Something that I continue to think would be a good idea is to export some kind of API. Allow a developer to input a list of buy rules (an XML like Geronimoo's simulator would work just fine) and have the bot just follow that for a game. The developer would need access to the kingdom but that would be about it, the bot could even just follow a very simplistic method for playing action cards in the right order (play villages and non-terminals first, prioritize drawing cards before other stuff when it comes down to a choice) -- again just like Geronimoo's simulator.

The developer could have a library of XML files that it selects from, based on what kingdom cards are required for each XML and whatever other factors. This requires extremely minimal effort by Shuffleit -- all you have to do is write the API, you don't have to think about what makes Dominion good -- and the "hard work" of making a good AI can be done by the community. And you don't even need to give people access to your code for them to make something meaningful -- just export the kingdom and input an XML.