Tecnológico de Monterrey BEER Lab

Classroom experiments

Instructor guide

Two options: use a published game in your class, or propose a new game for the lab to host. The teaching track is for classroom activities without participant payments or recruitment. For research studies, see the researcher guide.

Contact: [email protected]. Version 2026-09.

1. Use a game in class

2. Run a session step by step

  1. Before class: log in to the admin panel (https://<game>.beer-lab.org/login, username admin), create a session from Demo, and work through it in two or three tabs to become familiar with the screens and report.
  2. In class: Rooms → room for your language → Create session. Choose the configuration (for example, one round or ten rounds) and the number of participants, with a few extra places. Language is per session: a session created in the Spanish room only admits students who enter through the Español button, and vice versa. For a mixed group, pick one language for the whole session or create one session per language.
  3. Project or share teaching.beer-lab.org and specify the game name and language. Each student finds the game in the directory, selects the button for their language, and waits on the welcome screen until the group is complete.
  4. Track progress in Monitor. If someone falls behind, you can see which page they are on.
  5. At the end, open the session's Report tab (in games that include one) to project and discuss aggregate results; use Data → Export to download the CSV if you want to work with it in class.
  6. Select Rooms → Close session to prepare the room for the next group.
Tips

3. Propose a new game

Any instructor can propose an oTree game for the collection. Requirements for the teaching track:

Start from the lab template — publicly available at github.com/ecastrom/otree_template, with sample pages and a design guide — or from the published Dictator Game, an example of a complete teaching game (three variants, two languages, instructor report). Email the lab to request its code.

Structure and technical requirements

my_game/
├── settings.py          ← at the root; ROOMS and SESSION_CONFIGS go here
├── requirements.txt     ← otree==6.x.y and psycopg2-binary
├── my_app/              ← __init__.py, templates/, admin_report.html (optional)
├── _static/  _templates/ ← logo and room welcome page

4. Submit your project

Zip the folder as <name>-v1.zip (excluding .venv, db.sqlite3, __pycache__, and data) and send it to [email protected] with the subject [oTree] <name> v1 — teaching. Include:

settings.py and requirements.txt must be at the root of the zip (or inside one single folder); the server accepts up to 40 MB. No Procfile, runtime.txt or Dockerfile is needed: the server uses its own recipe (Python 3.11 and oTree from your requirements.txt).

InformationExample
Game title (in Spanish and, if applicable, English) and a one-line directory descriptionJuego del dictador · Dictator Game — one round or ten rounds…
Keywords (relevant course topics) and JEL codes for directory search and filtersaltruism, social preferences · C91, D64
Preferred subdomaindictator
Rooms and session configurations, with the language of eachroom dictador (ES): 3 configurations; room dictator (EN): 3
Participants per group, estimated duration, and report contentspairs · 15–40 min · mean, histogram…
Authorship and contactName and phone number

5. What happens next

  1. The lab reviews and deploys the game at https://<name>.beer-lab.org, adds it to teaching.beer-lab.org and the instructor directory, and notifies you by email. Panel access is provided separately.
  2. If the build fails, you receive the error and a suggested fix; submit <name>-v2.zip.
  3. Updates: send a new zip with a version number. If you changed the models (fields), the database is reset; download any data you want to keep beforehand.
  4. Removal: request it by email; the lab keeps a backup and removes the site.
  5. When the lab publishes a new game (yours or anyone else's), every beer-lab.org address is unreachable for about 15 seconds (a Cloudflare "Error 1033" page appears; reloading fixes it and participants keep their progress). No games are published during scheduled classes: tell the lab your dates.

For technical details and the server Dockerfile, see GUIDE_FOR_RESEARCHERS.md, published with the lab's oTree template.

6. License and reuse

Unless otherwise noted, the text of this site and the BEER Lab teaching guides are licensed under CC BY 4.0: you may use, copy, translate and adapt them for your classes, at any institution, as long as you credit the source. Suggested credit: “Guide title, author(s). BEER Lab, Tecnológico de Monterrey. CC BY 4.0.”

Games proposed by other people keep the terms set by their authors. Working papers belong to their authors. The game code and the Tec and BEER Lab logos are not covered by the license.