-
Notifications
You must be signed in to change notification settings - Fork 937
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Call for New Games #843
Comments
Could be good additions |
We already have Othello (Reversi), but I will add the others, thanks! |
What are your thoughts on adding 2048? |
Great idea, I'll add it to the list! |
Is anyone working on Cribbage? I'd be willing to take on that one |
I would really, really love to see Cribbage in the code base! I had some interactions with a redditor who said they would look into it, but have not heard from them in a while. I'll touch base with them and point them to this conversation and let you know soon. |
@dipplestix Ok heard back from them: they got replied saying they had been busy and was thinking of getting back to it in the fall, but it shouldn't stop someone else. If you finish it before the summer ends then maybe they could even help (they are thinking of doing research in the game). So, it sounds like you should go for it :) If you'd like to contact them, contact me by email and can give their reddit contact. |
Hi, I would like to work on the Pursuit-Evasion game played by 2 competitors say for instance: a company that employs an outside consultant and is receptive to recommendations and a company that makes decisions in-house as a canonical model deploying game theory. I will use the multi-armed bandit algorithm in which the company that employs an outside consultant will receive pricing recommendations based on historical moves to facilitate its decision making whereas the company that primarily takes decisions in-house can decide on the probability distribution for the choices available to it and the corresponding value attached to such a distribution. |
Hi @PrashantPD, ok I'm not seeing the actual game itself. Is there an example you can point to in e.g. a game theory text or Wikipedia? We're always welcoming of new games. It always helps if they are well-known in the MARL or game theory literature, but they are welcome either way (for now though, I'm curious about the structure of the game in extensive-game format). However, maybe let's continue this on the other thread you opened. I'll follow-up there. |
Hi @lanctot, Absolutely - thanks see you there - will be on it and detail the structure of the game and point to the relevant literature. You should see it first thing tomorrow in the morning as you log in. The multi-armed bandit comprising of a player and the environment which can comprise of the competition struck a cord in a pursuit-evasion context where the competitive game ends in an equilibrium. |
Hi @lanctot I am working on the game for the other thread today - will message tomorrow on both the formats. |
Thanks for letting me know, but there is no rush. And I may not replay for a day or two depending on how busy I am. |
Hi Marc,
on Gravon, Mahjong already is implemented. I could try to port the code
to C++/OpenSpiel, if nobody else volunteers.
Best regards,
Thorsten
…On 12/15/22 16:02, lanctot wrote:
Hi all,
I'm starting a thread to collect requests for new games and plans for
upcoming games. We will keep this updated as new games get released,
and as requests come in (please feel free to comment on this thread to
add a request).
Games we would like to add to OpenSpiel:
* Capture-the-Flag on a gridworld (or other team adversarial games)
* Chinese Checkers <https://en.wikipedia.org/wiki/Chinese_checkers>
* Chinese Chess <https://en.wikipedia.org/wiki/Xiangqi> (see #802
<#802>)
* Chinese Dark Chess <https://en.wikipedia.org/wiki/Banqi>
* Cribbage <https://en.wikipedia.org/wiki/Cribbage>
* Dominoes
* EinStein würfelt nicht!
<https://en.wikipedia.org/wiki/EinStein_w%C3%BCrfelt_nicht!>
* Latent Tic-Tac-Toe (see description in this paper
<http://mlanctot.info/files/papers/nips09mccfr.pdf>)
* Mahjong <https://en.wikipedia.org/wiki/Mahjong>
* Nine Men's Morris <https://en.wikipedia.org/wiki/Nine_men%27s_morris>
* Pursuit-evasion game played on a graph or grid
* Shogi <https://en.wikipedia.org/wiki/Shogi>
* Yacht <https://en.wikipedia.org/wiki/Yacht_(dice_game)>
Implementing one of these games is a great way to get involved with
contributing to OpenSpiel. If you would like to volunteer to implement
one, please contact us and let us know as we might already be working
on them.
Games that have been added since posting this thread:
* 2048 <https://en.wikipedia.org/wiki/2048_(video_game)> (Thanks
@Jazeem <https://github.com/Jazeem>. PR now merged: #894
<#894>)
* Checkers (thanks @Jazeem <https://github.com/Jazeem>! PR now
merged: #861 <#861>)
* Euchre (thanks @jhtschultz <https://github.com/jhtschultz>! Added
in a3dbb1b
<a3dbb1b>)
* Mancala (Kalah) (thanks @Jazeem <https://github.com/Jazeem>! see
#841 <#841>)
* Nim <https://en.wikipedia.org/wiki/Nim> (thanks @acforvs
<https://github.com/acforvs>! PR merged: #868
<#868>)
* Phantom Go (thanks @Syor <https://github.com/Syor>! PR now merged:
#867 <#867>)
* Dou dizhu <https://en.wikipedia.org/wiki/Dou_dizhu>: (Thanks
@rezunli96 <https://github.com/rezunli96>! PR merged: #969
<#969>)
* Mensch-Ärgere-Dich-Nicht
<https://en.wikipedia.org/wiki/Mensch_%C3%A4rgere_Dich_nicht>
(Thanks @thorsten-j <https://github.com/thorsten-j> ! PR merged:
#915 <#915>)
With these additions, OpenSpiel now has 97 games. Can we make up to
100 in 2022?
—
Reply to this email directly, view it on GitHub
<#843>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A2WECR3ZQERJW4DW7CEI5ETWNMXIHANCNFSM5WVLIH4Q>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Cool! @rezunli96 suggested that we was going to look into it after hus last PR which we just merged a few days ago; Zun, have you already started? @thorsten-j: do you know if there would be any license incompatibilities? |
Hi @thorsten-j do you know which version of Mahjong Gravon has? The one I am currently looking into is Riichi Mahjong. |
Hi @rezunli96 , Gravon implements Hong Kong Mahjong. |
@thorsten-j Sounds great! Then I think we do not really have a conflict here and we can work on our own versions of Majong separately. Maybe there is a unified implementation that can include all versions. But I guess this is not the primary concern for now? |
Right, that should be fine .. what I meant is, is the code on Gravon have a license like e.g. GLPv3? (Oh, maybe the Gravon code is not open sourced? Is it your own personal implementation?) |
Gravon's code is not open source but it's written by myself. |
@dipplestix I am thinking of implementing Cribbage (as a slow side project). Just wondering if you plan to finish/contribute yours? |
Hong Kong Mahjong would be a great addition. And it seems like @rezunli96 is working on a different game anyway. Does it have any "interruptions" as mentioned in #979 ? If so, I'm curious: how did you deal with them in a discrete turn-based API? |
On Gravon, after a player discarded a tile, all other players have to either call that tile or pass. This way Gravon makes sure that no one misses a tile. For implementation that means that there is no interrupt but the game still is completely turn based. |
Are there any war gamers, especially hex-grid style with dice or some other randomization factor such as card draw/play, to be found here? I reviewed the list of games and didn't notice any similar to the types I mention. I am just getting started in the AI/ML realm for a variety of reasons (after decades of consulting the SQL Server database applications realm) and have set myself a Bucket List item to build an AI opponent for the Advanced Squad Leader Starter Kit game. Having a (semi-)similar game already done in Open Spiel would obviously GREATLY benefit my pursuit! :-D It is amazing that this project exists, and even more amazing is the number of games and algorithms that have been implemented in just 3 years!! I truly look forward to the time when I can understand and dig into the how's and why's of all that Open Spiel has to offer! |
Hi @TheSQLGuru
Username checks out! :-p OpenSpiel does not have any games in this category. It'd be a great addition to the library, but they are fairly complex to implement and sometimes it can be hard to include due to copyrights if it's a commercial game. But if there are any smaller ones that are non-commercial that can be used as an example, it'd be great to have in the repos. I think there are some good ideas of games that could fit this, and happy to brainstorm here or in a separate thread. |
Hello @lanctot - thanks for the quick reply! HAH, funny that you checked me out. I don't have much out there on the intertubz because I don't blog, stopped using twitter years ago, have had some major health issues since 2017 that drastically cut both my work volume and my travel to present at conferences around the world. Actually, I don't even have a website for my business, nor even a resume/CV, and I have been consulting since the mid-90's and started my company in 1999. But I do have several C-level references that will state that I saved/made their company. :-D On to business: Let's start another thread somewhere/how. I will leave that to you - just let me know where to show up. I will collect some basic information from you (and from some of this project's files), especially concerning the various types of information, metadata, states and transitions, mechanics/decisions/rules/etc. and the potential ease/difficulty with which each element may be translated to Open Spiel. I will hit up various gaming forums and ask for inputs about the simplest games of the genre. I will review them and pick a few, and then distill enough info from them that you and I can have an informed decision about which might be the easiest/best to pursue first. |
I'd like to extend/add the most popular version of dominoes in Latin America, played with 4 players instead of two. There's already a great library under MIT license (see Dominoes library). I'd be interested in adapting it for OpenSpiel in Python and potentially also in C++. Please let me know if that's okay, and point me to some useful resources if you can :) I've been trying to follow the guide in the docs but I haven't fade much headwind yet, I guess its normal since I'm not used to working on projects of this size. |
That would be great! I assume you mean as a python game which would wrap that Dominoes library. I know the project has gotten quite big and can be intimidating, but we are happy to help you with this. Probably the best place to start is to follow-up on the other thread you started (#1204) where I asked a few questions that need to be answered and also gave general advice. Since most of the games are in C++, how to add new Python game is not overly well-documented, and we will add extra bits of missing documentation as we go along. |
Hi @lanctot , I'm trying to take a stab at implementing Spades. Since Bridge is somewhat similar, I'm using its implementation as a starting point, but may periodically have some questions/need some help. The game rules and such are easy enough to change, but I'm still pretty new to RL related stuff. Is it ok to make a help thread for making Spades here? |
I would absolutely love to see Spades in OpenSpiel! Yes, by all means feel free to start a thread for Spades. If you are new to OpenSpiel, the best place to start would be the video tutorial to get familiar with the API: https://youtu.be/8NCPqtPwlFQ?si=GiFg3x6P9Lm6McGX |
Hello, I want to implement the Chinese Dark Chess game. |
Hi @jin404861445lan, We are not working on this game. It is easier to think of this game as a perfect information game with chance events (where every time a piece is revealed, a chance event determines which one it is). This would make it easier for search methods like MCTS and expectiminimax to play this games. Something like backgammon should be a good starting point. Kriegspiel probably uses the underlying chess implementation which you would not want to do -- you'd want to write it from scratch. |
Hello, has anyone implemented Gomoku? If not I'd like to help get it done. |
No, that would be a welcome addition! |
I think a better addition than gomoku is an m,n,k-game (generalization of gomoku). @shinoi2 Are you still working on it? If not, I can contribute. |
The Resistance (original version, no plot cards or inquisitor role). The Resistance is a social deduction game, similar to Mafia/Werewolf. The game is extremely simple:
A minimal implementation could do the pre-vote information sharing as just communicating a credible interval for what a player wants the rest of the group to think their beliefs are wrt the other players' roles. |
@dmarx, The Resistance is an excellent game indeed, but to add something that is copyrighted is difficult (see #770). We'd ultimately want permission to host an open implementation in our repos, which is not impossible but sometimes difficult and a long process. Alternatively it can be hosted in an external repos and we can list it as a third-party (external) game on our games list. |
Hi all,
I'm starting a thread to collect requests for new games and plans for upcoming games. We will keep this updated as new games get released, and as requests come in (please feel free to comment on this thread to add a request).
Games we would like to add to OpenSpiel:
Implementing one of these games is a great way to get involved with contributing to OpenSpiel. If you would like to volunteer to implement one, please contact us and let us know as we might already be working on them.
Games that have been added since posting this thread:
With these additions, OpenSpiel now has 95 games.
The text was updated successfully, but these errors were encountered: