Overview
Relaciona offers various gamified activities designed to help students learn about their classmates and build connections. All games use session-based scoring to track your performance.You must join a class before you can play games. See Joining a Class for details.
Accessing Games
When you’re a student, the game system automatically detects which class you belong to:Automatic Group Detection
The system automatically finds your class group (minigames/views.py:38-42):
- Retrieves your first enrolled class
- Redirects you to the game with your group
- Shows an error if you haven’t joined any classes
Available Games
Face Recognition Games
Face Guess Game
How to Play:
- A profile picture is shown
- Type the student’s name, full name, or nickname
- The system accepts partial matches (minigames/views.py:86-95)
- Classmates must have profile pictures
- You are excluded from the pool of students
- Correct answers increment
face_guess_correct - Total attempts tracked in
face_guess_total
Name to Face Game
How to Play:
- A student’s name is displayed
- Select the correct profile picture from 4 options
- Click the image you think matches the name
- At least 4 classmates with profile pictures
- Excludes yourself from options
- Session variables:
name_to_face_correctandname_to_face_total - 1 correct answer per round
- 3 incorrect options randomized
Word Games
Hangman Game
Hangman Game
How to Play:
- Guess letters to reveal a classmate’s name
- Each incorrect guess adds to your error count
- Win by guessing the complete name
- Lose after 6 incorrect attempts
- Names are normalized (removes accents, converts to uppercase)
- Spaces and non-alphabetic characters are revealed automatically
- Game state persists across requests using session data
- Alphabet provided in Spanish (includes Ñ)
hangman_target_name: The normalized name to guesshangman_guessed_letters: List of letters you’ve triedhangman_incorrect_count: Number of wrong guesses (max 6)hangman_game_over: Boolean indicating if game ended
- Win = 1 point added to
hangman_correct - All games (win or lose) increment
hangman_total
The game automatically resets when you start a new round (minigames/views.py:178-186)
Profile-Based Games
Student Interests Game
How to Play:
- A student’s profile is shown
- Four descriptions are presented
- Select which description matches the student
- Age (calculated from
date_of_birth) - Favorite artist
- Motivation
- At least 4 students in class
- Excludes yourself
Complete Profile Game
How to Play:
- See detailed profile information
- Match it to the correct student
- Information includes VARK and Chapman test results
- Full name or username
- Age (calculated from date of birth)
- Favorite artist
- VARK learning style result
- Chapman love language result
- Motivation
- At least 4 classmates with profile pictures
- Questionnaire results from VARK and Chapman tests
Quiz Results Game
How to Play:
- View a student’s quiz/test performance
- Guess which classmate achieved those results
- Select from 4 options
- At least 4 students in class
- Access to UserResult data from quizzes
- Session variables:
quiz_correctandquiz_total
Music Game
Spotify Guess Game
Spotify Guess Game
How to Play:
- Listen to a Spotify song preview
- Guess which classmate chose this as their favorite song
- Select from 4 student options
- At least 4 classmates with Spotify links configured
- Students must have added valid Spotify URLs to their profiles
- Excludes yourself from the game
- Uses
spotify_embed_urlproperty to convert share links (accounts/models.py:60-71) - Filters students with non-null, non-empty spotify_link values
- Avoids repeating the same song twice in a row (minigames/views.py:421-423)
- Correct: Increments
spotify_correct - Total attempts: Tracked in
spotify_total
Social Games
Impostor Game
How to Play:
- One player is the “impostor” with a different word
- Everyone else sees the correct word
- Discuss and figure out who the impostor is
- 80+ word pairs across 16 categories
- Categories include: Future, Pedagogy, Teaching, History, Psychology, Dance, Athletics, Sports, and University Life
- Anti-repeat system tracks used themes in session
- Automatically resets when all themes used
- Session variable:
impostor_historytracks used themes - Word library in minigames/views.py:465-516
Charadas Game
How to Play:
- Act out or mime concepts without speaking
- Teammates guess what you’re performing
- Similar to Heads Up or Charades
- Teaching and Initiation (Enseñanza e Iniciación)
- Epistemology and History (Epistemología e Historia)
- Sport Psychology (Psicología del Deporte)
- Dance and Body Expression (Danza y Expresión Corporal)
- Introduction to Athletics (Iniciación al Atletismo)
- Presentation (University life)
- Sports (Deportes)
- 200+ words and concepts
- JavaScript-based word library
- Educational content focused on Physical Education topics
Bonus Game
Dino Game
Dino Game
How to Play:
- Classic endless runner game
- No classmate data required
- Session counter tracks plays
- Standalone game for breaks
- Session variable:
dino_totaltracks game sessions - Available to both students and teachers
This game doesn’t use any profile or class data—it’s just for fun!
Scoring System
All games use session-based tracking to monitor your performance during your current play session.How Scoring Works
Session Initialization
When you first play a game, two session variables are created:
{game_name}_correct: Tracks correct answers{game_name}_total: Tracks total attempts
Scoring Updates
After each answer:
totalincrements by 1correctincrements only if answer is right- Session is marked as modified to ensure persistence
AJAX-Based Games
Most games use AJAX (XMLHttpRequest) for smooth gameplay without page reloads:- Face Guess Game (minigames/views.py:103-104)
- Name to Face Game (minigames/views.py:146)
- Hangman Game (minigames/views.py:227-237)
- Student Interests Game (minigames/views.py:282)
- Spotify Guess Game (minigames/views.py:417-418)
- Instant feedback
- No page refresh
- Smoother user experience
- Real-time score updates
Tips for Success
Complete Your Profile
The more complete your profile, the more you’ll appear in games. Add your photo, interests, and Spotify link!
Learn About Classmates
Visit the classmates list (accounts/views.py:76-108) to study profiles before playing games.
Be Creative with Answers
In typing games like Face Guess, you can use:
- Username
- First name
- Last name
- Full name
- Nickname
Play Regularly
The more you play, the better you’ll know your classmates. Session scores show your progress!
Game Requirements Summary
| Game | Minimum Students | Profile Picture Required | Other Requirements |
|---|---|---|---|
| Face Guess | 1+ | Yes | None |
| Name to Face | 4+ | Yes | None |
| Hangman | 1+ | Yes | None |
| Student Interests | 4+ | No | Profile data helpful |
| Complete Profile | 4+ | Yes | Quiz results (VARK, Chapman) |
| Quiz Results | 4+ | No | UserResult data |
| Spotify Guess | 4+ | No | Spotify links configured |
| Impostor | N/A | No | Group play |
| Charadas | N/A | No | Group play |
| Dino | N/A | No | None |
Viewing Your Stats
Current Session Stats
Each game displays your performance for the current session:- Correct answers: How many you got right
- Total attempts: How many questions you’ve answered
- Percentage: Correct/Total (calculated in your browser)
Long-Term Tracking
Currently, the platform uses session-based scoring. Scores reset when you log out or your session expires. Long-term statistics tracking may be added in future updates.
Troubleshooting
”No Students Found” Error
Cause: Not enough classmates meet the game requirements Solutions:- Encourage classmates to complete their profiles
- For Spotify Guess: Ask classmates to add Spotify links
- For face games: Classmates need to upload profile pictures
- Join a different/larger class
”Not Enough Students” Error
Cause: Game requires 4+ students but class is too small Solutions:- Wait for more students to join your class
- Ask your teacher to add more students
- Try games that work with fewer students (Face Guess, Hangman)
Game Won’t Load
Cause: You haven’t joined a class yet Solution: Use an invite code to join a class first (minigames/views.py:38-42)Scores Not Saving
Cause: Session expired or browser cookies disabled Solutions:- Enable browser cookies
- Stay logged in during gameplay
- Check browser privacy settings
Technical Details
For Developers:
- All game views require
@login_requireddecorator (minigames/views.py) - Student auto-detection:
request.user.student_groups.first()(minigames/views.py:38-42) - Session data structure:
request.session['{game}_correct']andrequest.session['{game}_total'] - Text normalization for answers:
normalize_text()removes accents and converts to uppercase (minigames/views.py:12-18) - Age calculation:
calculate_age()handles date math (minigames/views.py:20-23) - AJAX response helper:
get_ajax_response()standardizes JSON returns (minigames/views.py:25-32) - Anti-repeat logic: Uses
last_idsession variable to avoid consecutive duplicates - Game filtering:
.exclude(id=request.user.id)removes current player from pool