Spaces:
Running
Running
title: Team 7 | |
emoji: π’ | |
colorFrom: purple | |
colorTo: yellow | |
sdk: static | |
pinned: false | |
license: other | |
short_description: final submission | |
# MistralAI_GameJam2025 | |
This repo hosts Team'7 project for the Mistral AI Game Jam 2025. Thanks to Mistral, Huggingface, Scaleway and ElevenLabs for providing the ressources! | |
## Game Description | |
TODO | |
## Architecture | |
![Architecture Diagram](readme_assets/mermaid-diagram-2025-01-25-105038.svg) | |
## How to Build the Front-End | |
This project contains three main components, the Python LLM middleware (using Django), Web interface (using Vite React), and Unity 6 game project. | |
To build the front-end code, you must follow the following steps: | |
1. Build the game | |
Open the `./unity` folder through Unity Hub with Unity 6. Then, switch the build target to `Web`. | |
2. Prepare the build folder | |
When building the game, you'll be asked to choose the name and path of the output folder. Make sure you set that as `gamejamproj`, or all the contents of the `Build` folder has that name. | |
Next, rename the `Build` folder to `build` (only for consistency. You can change the build path and name in `./app/src/config`). | |
3. Build the Web UI | |
Move the `build` folder to the `.app/public` folder. | |
Go to the `./app` folder, and run `yarn` to install the dependencies, and `yarn build` to build everything. The build output should be stored in the `./app/dist` folder. | |
4. Move the Unity build to the web UI | |
Make sure the `build` folder that contains the Unity WebGL binaries are in the same path as the `index.html` file in the `dist` folder. | |
5. Run the page | |
You can deploy the page or run the `index.html` through a local HTML server. Note that due to WASM policy, you cannot just double-click the `.html` file and load it in your browser to play the game. | |
## Backend | |
# Personality-Based Decision Workflow | |
![Personalities workflow ](readme_assets/personalities_workflow.svg) | |
This flowchart illustrates the decision-making process for an AI personality-based word-guessing game. It visually represents how the AI determines its behavior and output based on its assigned personality trait. | |
## Workflow Overview | |
1. **Start Node**: The process begins by parsing the `BASE_PROMPT` and inserting relevant context. | |
2. **Personality Decision**: The workflow checks the assigned personality trait (`sensitive_to_compliments`, `rebellious`, `stubborn`, `lazy`, `normal`, or `overthinker`), which determines how the AI interprets advice and makes guesses. | |
- **Sensitive to Compliments**: Trusts advice only when it includes compliments. | |
- **Rebellious**: Challenges or twists user advice, often defying direct suggestions. | |
- **Stubborn**: Prefers to stick with previous guesses unless provided overwhelming evidence. | |
- **Lazy**: Takes minimal effort, often choosing random or obvious guesses. | |
- **Normal**: Processes advice straightforwardly and logically. | |
- **Overthinker**: Analyzes hints from multiple angles, often second-guessing decisions. | |
3. **Making Guesses**: Based on the selected personality, rules and context are applied to propose guesses. | |
4. **Satisfaction Rating**: The AI evaluates the advice, assigning a satisfaction rating (`0`, `1`, or `2`) based on its helpfulness or relevance. | |
5. **Output Assembly**: A JSON object is created, containing the guesses, satisfaction rating, and reasoning. | |
6. **End Node**: The process completes with the assembled output. | |
## Visual Key | |
- **Purple (Decision Nodes)**: Indicate points where a decision is made (e.g., personality check, satisfaction rating). | |
- **Pink (Personality Nodes)**: Represent personality-specific rules and behavior. | |
- **Blue (Process Nodes)**: Represent operational steps, such as parsing prompts and proposing guesses. | |
- **Green (Start)** and **Red (End)**: Highlight the start and end of the workflow. | |
This structured workflow ensures that each personality behaves uniquely, adding diversity to AI interactions. The color-coded nodes make the chart easy to follow and visually intuitive. | |