File size: 4,043 Bytes
65bf72a
 
 
 
 
 
 
 
 
 
f8a60a8
 
65bf72a
f8a60a8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
---
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.