Skip to content
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

New Games #1328

Open
marcharper opened this issue Apr 12, 2020 · 5 comments
Open

New Games #1328

marcharper opened this issue Apr 12, 2020 · 5 comments

Comments

@marcharper
Copy link
Member

Some new games to consider supporting, and what the API will look like:

  • Prisoner's Dilemma variants, e.g. Optional Prisoner's Dilemma, PD with punishment
  • General asymmetric nxn matrix games, e.g. asymmetric PD, rock paper scissors, matching pennies, diner's dilemma, etc.
  • Ultimatum (see branch)
  • "Guess 2/3-rds of the average" aka beauty prize game
  • Public goods games -- shared value pool
  • n-player games
  • Volunteer's_dilemma
  • Ideally tournaments and Moran processes could themselves be (multiplayer) games, which would also allow e.g. Moran processes of Moran processes (example )

For adding a new game type (in 5.0+) we should consider some baseline requirements:

  • at least a few concrete strategies should be given
  • ideally at least one parameterized or evlovable strategy (like the FSM players)
@drvinceknight
Copy link
Member

Another one for the list:

  • ideally at least one parameterized or evlovable strategy (like the FSM players)

Perhaps "ideally" is the key word here as perhaps this would be a pity if it became a hurdle. What do you reckon?

@reytchison
Copy link

I'm interested in contributing a new game. Which of the ones listed would be good for a programmer with some Python experience?

I'd appreciate some degree of collaboration on the game. I would also be happy to work on a new game that is already being built. Thank you

@marcharper
Copy link
Member Author

Hi @reytchison ! We're sort of in the middle of refactoring / generalizing significant portions of the library to be able to support additional games. I think it might be a bit difficult to jump in at this stage given the knowledge of the library needed to do so, but you might try some of the other issues, or implementing a few strategies listed in #379 to understand the library better. Then once we're a bit further along you can pick a new game to implement.

Alternatively, you could start playing with a new game, such as a 3x3 game like Rock-Paper-Scissors, to see what changes will be needed for the library to support it. But I'd still recommend something easier first to get familiar with the library.

@marcharper
Copy link
Member Author

Quantum prisoner's dilemma: https://www.nature.com/articles/srep06286

@alexhroom
Copy link
Contributor

alexhroom commented Apr 20, 2023

#1413 adds the ability for creating matrix games of different sizes, and a tutorial on how to implement them; I also wrote a quick code implementation of Rock-Paper-Scissors available here: https://gist.github.com/alexhroom/bea19c0bec62a08838bb6c8c4c949a6a

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants