Playable Pasts

Open to any instructor

Add your game to the gallery.

This site has no upload form. It is a set of plain pages with nothing behind them to receive files. Instead, games are sent to the project's shared folder on GitHub, a website for sharing project files. That is a job your agent can do for you.

To send it, your agent needs to be able to use a GitHub account. If it cannot, you can send the files yourself with a free GitHub account — see doing it by hand below.

The easy way: ask your agent

Paste this into the same conversation where the game was built. Your agent already has the file and the documents.

Paste this to your agent
Please submit the finished game to the Playable Pasts gallery.

Read the submission contract first: https://kltng.github.io/playable-pasts/agent.md
It tells you what the gallery requires, how to run the validator yourself, and
exactly how to open the submission.

Before you submit:
- Run the validator and fix anything blocking.
- Fill in the test ledger honestly. Mark as untested anything you did not run.
  Do not record a check as passed on my behalf.
- Show me the game.json you are about to submit, and the licence and rights
  line for my sources, and wait for me to confirm.

That last instruction matters. You are publishing under your own name, and the rights on your sources are yours to state. Read what the agent wrote before you say yes.

What your game needs to bring

FileWhat it isRequired
game.htmlThe game itself, one self-contained fileYes
game.jsonThe listing: title, learning mode, length, licence, and what was tested by a personYes
teacher-guide.mdHow to run one session, and the debrief questionsYes
history-bible.mdThe sources and the claims ledger — what is attested, interpreted, assumed, inventedYes
test-ledger.mdWhat was checked, how, by whom, and what was left untestedYes

Your agent produced all five while following the Playable Past workflow. If you are missing one, ask for it by name.

What happens then

  1. The checker runs automatically

    When your agent sends the game as a pull request (GitHub's name for a proposed change), the same checker you can run here runs on it by itself, and its report is posted on the request. If you send the files by hand instead, a maintainer runs the checker. A game with blocking findings is not added — but the report says exactly what to fix, and your agent can fix it and send it again.

  2. A person reads the history bible

    Not to grade your argument. To check that the claims ledger is filled in, that invented content is marked as invented, that no source is used in a way its rights do not allow, and that nothing is presented as attested when it came from a model's memory.

  3. It appears in the gallery

    With your name, your licence, and — plainly shown — whatever you left untested. The gallery reports what you claimed; it does not launder it.

What gets turned away

Games that need the internet

Anything fetched during play, and anything that calls an AI model to work. The automated check catches these before a human sees them.

Sources you cannot redistribute

Licensed database content, archival material under permission, unpublished work, anything about living people who did not agree. Use it to build your game; keep it out of the file you publish, and share that version only through your course website (Canvas, Moodle, Blackboard, or similar) instead.

Invented evidence presented as real

Inventing documents is fine, as long as the game says so. Not labelling them is not. A fabricated citation, page number, or archive reference is the one thing that will get a submission refused outright.

Suffering turned into points

Games about atrocity and trauma are welcome and needed. Scoring systems that reward causing harm, or that treat mass death as spectacle, are not.

If you would rather do it by hand

You do not need an agent. With a free GitHub account you can open a submission yourself and attach the five files by dragging them into the form. A maintainer then runs the checker and moves the game in, and everything after that is the same.