Updating the Games Catalog ========================== This page covers the process for contributing to and updating Gambit's :ref:`Games Catalog `. To do so, you will need to have the `gambit` GitHub repo cloned and be able to submit pull request via GitHub; you may wish to first review the :ref:`contributor guidelines `. You can add games to the catalog saved in a valid representation :ref:`format `. Currently supported representations are: - `.efg` for extensive form games - `.nfg` for normal form games Add new games ------------- 1. **Create the game file:** Use either :ref:`pygambit `, the Gambit :ref:`CLI ` or :ref:`GUI ` to create and save game in a valid representation :ref:`format `. 2. **Add the game file:** Create a new branch in the ``gambit`` repo. Add your new game file(s) inside the ``catalog`` dir and commit them. 3. **Update the catalog:** Use the ``update_catalog.py`` script to update Gambit's documentation & build files. .. code-block:: bash python src/pygambit/update_catalog.py --build .. note:: Run this script in a Python environment where ``pygambit`` itself is also :ref:`installed `. .. warning:: This script updates `Makefile.am` with the game file added to the catalog, but if you moved games that were previously in `contrib/games` you'll want to manually remove those files from `EXTRA_DIST`. 4. **Submit a pull request to GitHub with all changes.** .. warning:: Make sure you commit all changed files e.g. run ``git add --all`` before committing and pushing.