No description
  • JavaScript 40.2%
  • HTML 29.1%
  • Python 23.5%
  • CSS 6.6%
  • Dockerfile 0.6%
Find a file
2026-04-13 14:20:37 +02:00
.forgejo/workflows Move deploy config to variables, gitignore CLAUDE.md 2026-04-13 12:10:48 +02:00
src/crisis_game Add persistent event log: store events server-side, replay on display connect 2026-04-13 14:19:08 +02:00
static Fix display log: re-add connection message after event_log replay 2026-04-13 14:20:37 +02:00
.dockerignore Initial commit: interactive crisis simulation game 2026-04-13 11:37:20 +02:00
.gitignore Move deploy config to variables, gitignore CLAUDE.md 2026-04-13 12:10:48 +02:00
docker-compose.yml Add Docker Compose, Forgejo CI/CD and update QR URL to crisis.mdrwal.pl 2026-04-13 11:53:43 +02:00
Dockerfile Simplify Dockerfile: single stage with uv 2026-04-13 12:04:04 +02:00
pyproject.toml Initial commit: interactive crisis simulation game 2026-04-13 11:37:20 +02:00
README.md Add README 2026-04-13 11:40:04 +02:00
uv.lock Initial commit: interactive crisis simulation game 2026-04-13 11:37:20 +02:00

Crisis Game

Interaktywna gra kryzysowa na targi/stoisko. Duży ekran LED pokazuje 3D miasto (Three.js), studenci skanują QR telefonem i rozwiązują zadania IT — efekty widoczne na żywo na ekranie.

Stack

  • Backend: FastAPI + WebSocket (Python 3.13)
  • Display: Three.js — izometryczne 3D miasto (duży ekran)
  • Mobile: Vanilla HTML/JS — interfejs gracza (telefon)
  • Zarządzanie: UV

Uruchomienie

uv run crisis-game
  • Display (ekran LED): http://<IP>:8000
  • Mobile (telefon): http://<IP>:8000/play
  • QR code: http://<IP>:8000/qr

Docker

docker build -t crisis-game .
docker run -p 8000:8000 crisis-game

Jak działa

  1. Display pokazuje 3D miasto na dużym ekranie
  2. Gracz skanuje QR kod telefonem
  3. Dostaje zadanie IT do rozwiązania
  4. Poprawna odpowiedź wywołuje efekt kryzysowy widoczny na ekranie w czasie rzeczywistym