Welcome to AI Alibi! This is an interactive, multiplayer whodunnit game designed for the EFL (English as a Foreign Language) classroom. It uses generative AI to create a unique, engaging, and collaborative learning experience.
This project is being developed as part of "Digital Tools and Technology in the Young Learners' EFL Classroom" course at the University of Augsburg.
The game challenges students (as "detectives") to solve a simple, age-appropriate mystery. To do this, they must collaborate as a team to question a cast of four unique witnesses. The witnesses are all powered by a generative AI (Google's Gemini API), which responds in character and provides clues (and red herrings!) based on a secret, pre-generated story.
Teams must gather enough evidence to correctly identify the culprit and their motive.
- Dynamic Story Generation: A unique crime, culprit, and set of witness profiles are generated by the AI for every new game.
- Interactive AI Witnesses: Players engage in live, natural language conversations with AI characters who have their own distinct personalities and memories.
- Two Game Modes:
- Classic Mode: A collaborative, turn-based mode for the whole class working as a single team (ideal for a single projector setup).
- Race Mode: A real-time, competitive mode where multiple teams race in isolation to solve the crime first.
- Teacher/Moderator Controls: A full moderation panel for game setup, customisation (language level, theme), and real-time monitoring.
- Frontend: Vue.js 3 (Composition API)
- Build Tool: Vite
- Backend & Real-time Database: Firebase
- AI Model: Google's Gemini API
- Package Manager: pnpm
- Node.js (v18+ recommended)
- pnpm installed globally:
npm install -g pnpm
-
Clone the repository:
git clone [https://gitlab.com/mutlucany/aialibi.git](https://gitlab.com/mutlucany/aialibi.git) cd aialibi -
Install dependencies using
pnpm:pnpm install
This command will start a local server with hot-reloading.
pnpm devThis command builds the static files for deployment.
pnpm buildThis command starts a simple local server to preview the production files.
pnpm preview



