Skip to content
← Indietro

Who is?

Il gioco dell'impostore in tasca

Sperimentale
Kotlin Jetpack Compose Material 3 Room Ktor WebSocket mDNS QR Templates
Who is?

Who is? è la versione tascabile del classico gioco dell'impostore. Costruita in Kotlin + Jetpack Compose, Material 3, Room per la persistenza delle partite e DataStore per le preferenze. Layer di rete Ktor (server CIO + client WebSocket) per il multi-device.

Tre modalità di gioco. **Classico**: comportamento storico, gli impostori vedono "IMPOSTORE", i civili vedono la parola segreta. **Con Indizio**: come Classico, ma sotto "IMPOSTORE" l'impostore vede anche una parola "decoy" affine alla segreta — sa di essere impostore ma ha un appiglio per non dire assurdità. **Inganno**: gli impostori NON sanno di esserlo, ricevono direttamente la decoy come fosse la loro parola segreta — il bluff è totale, anche per chi sta mentendo. Se la parola sorteggiata non ha decoy l'app fa fallback automatico al Classico.

Due modalità d'uso. Single-device: un solo telefono passa a turno fra i giocatori. Multi-device LAN: un giocatore avvia il telefono come host (server Ktor + WebSocket sulla stessa Wi-Fi, registrazione mDNS, generazione QR), gli altri scansionano il QR per collegarsi come client. Ognuno vede la parola direttamente sul proprio dispositivo: niente piu` passaggio di smartphone, niente sbirciate. Discussione, voto e smascheramento sincronizzati in tempo reale via WebSocket.

Liste di parole personalizzabili. Tre liste predefinite (Standard, Difficili, Inglese — editabili ma non eliminabili) + tutte le liste custom che vuoi creare ("Frutta tropicale", "Componenti elettronici", "Libri di fantascienza"...). Ogni parola può avere una decoy associata per la modalità Inganno; alla creazione di una nuova lista è disponibile un pulsante "Auto-popola 20 parole" che attinge da un catalogo offline (Frutta, Animali, Sport, Colori, ecc.) matchando il titolo che hai dato alla lista. Templates: salvi una configurazione completa (concorrenti + modalità di gioco + lista parole + durata) e la rilanci in un tap.

History delle partite.

Funzionalità

  • Tre modalità di gioco: Classico, Con Indizio, Inganno (impostore non sa di esserlo)
  • Liste di parole personalizzabili: 3 liste predefinite (Standard, Difficili, Inglese) + tue custom
  • Parola "decoy" per ogni voce, usata in modalità Con Indizio e Inganno
  • Auto-popola 20 parole con catalogo offline matchato sul titolo della lista (Frutta, Animali, Sport, Colori...)
  • Templates riutilizzabili: salvi concorrenti + modalità + lista + durata, rilanci in un tap
  • Modalità single-device: un solo telefono passa a turno
  • Modalità multi-device LAN: ogni giocatore vede la parola sul proprio telefono
  • Server Ktor + WebSocket per la sincronizzazione partita
  • mDNS discovery del server sulla rete locale
  • QR code per il join istantaneo dei giocatori
  • Anti-sbirciata: la parola non transita su altri dispositivi
  • Numero giocatori variabile (minimo 3, impostori configurabili)
  • History delle partite con data, durata, parola e impostori
  • Material 3 con tema chiaro/scuro/sistema

Parametrizzazioni

  • Modalità di gioco: Classico | Con Indizio | Inganno
  • Lista parole attiva (predefinita o custom)
  • Modalità connessione: single-device | multi-device LAN
  • Porta server WebSocket (default 8767)
  • Numero giocatori e numero impostori
  • Durata partita (override per template, opzionale)
  • Tema: sistema | chiaro | scuro

Pre-requisiti tecnici

  • Android 8.0+ (API 26)
  • ~30 MB di spazio
  • Per modalità multi-device: 2+ dispositivi sulla stessa Wi-Fi
  • Per modalità multi-device: permessi Wi-Fi state, Camera (per QR client)
  • In single-device: nessun permesso particolare richiesto
Track di test
Test su Play Store
Privacy policy