Ho aggiunto (beh, l'ho fatto parecchio tempo fa, poi sono stato preso da altri progetti nel frattempo) un sistema di dialogo; l'exporter html5 di Godot sembra funzionare abbastanza bene; così ho pensato di riservare questa seconda parte del draft da essere usata direttamente nel browser.
https://fortoj.itch.io/audiogame-system-draft
azioni su tre tasti: [left] (tasto sinistro), [right] (tasto destro) e [action] (invio)
Non esiste un vero e proprio "tasto azione"; cioè, in questo gioco potete dimenticarvi il "premo un tasto, esegue l'azione". Le azioni/scelte invece ottengono tenendo premuti due pulsanti contemporanamente: il primo tasto serve ad avere conferma auditiva/spiegazione di quello che state andare a combinare, il secondo tasto invece serve per confermare la strada scelta.
Quando nessun tasto è premuto, si torna sempre nella sezione "neutra" (state = 0).
Le azioni possibili dallo stato zero sono:
tieni premuto [left] (passa alla opzione di dialogo precedente+viene letta) se tieni premuto [action] senza rilasciare [left] effettuerete quella scelta
tieni premuto [right]: come sopra, eccetto per il fatto che l'ozione "segnalata/descritta" sarà quella successiva (invece che la precedente)
tieni premuto [action] (partendo dallo stato zero senza [left] o [right]: potrete ri/ascoltare l'opzione dialogo attuale. Per "attivare" l'opzione di dialogo attuale non dovete far altro che premere [right]. C'è un'altra opzione nascosta: se invece di premere [right] usate [left] potrete ascoltare la protagonista descrivere il personaggio con cui sta parlando.
Perchè questa opzione aggiuntiva della descrizione del personaggio con cui state parlando?
Nelle Visual Novel potete monitorare lo stato del personaggi tramite dei grossi sprite (solitamente manga), nella Audio Novel potete intuire lo stato emotivo dei personaggi con cui parlate tramite la loro voce (che si presuppone siano vocalizzate da attori in carne e ossa, non le voci robotiche del Google Translator come qui nella draft), ma come fare quando dovete scegliere cosa dire?
La descrizione del NPC a cui parlate non dovrebbe essere statica (come nella draft), invece dovrebbe mutare di volta a seconda dei progressi che fate con la trama o anche solo quello specifico NPC.
È stanco? Avete fatto a botte? Avete appena completato una quest di 2 ore in un pallosissimo dungeon? I personaggi con cui parlate dovrebbero riflettere in modo dinamico il progredire della storia anche già da prima che gli rivolgiate (nuovamente) la parola!
Le vie percorribili sono tante, la più semplice è che ad ogni NPC sia assegnata una variabile "mood" e che l'ultimo dialogo scelto cambia questa variabile.
Un'altra via possibile è la variabile generale del capitolo/chapter, ad esempio se la variabile è settata al capitolo "Siamo in Guerra" ogni NPC avrà una descrizione legata a questo dato capitolo (ie: il contadino ed il soldato avranno due nuove descrizioni).
Un'altra via possibile (evidentemente ereditata dalle visual novel romantiche) è quella del Karma System: alcune scelte di dialogo sono +1 mentre altre vi faranno ottenere -1. Il personaggio sta lì per uno scopo, quindi non è importante come o con quanti passi arrivate ad una certa quantità (ad esempio: raggiungi karma +8 con quel NPC ed ottieni i suoi favori). Se in una storia dovete bypassare un buttafuori le sue reazioni/descrizioni da Karma da 0 a 10 sono molto lineari: raggiungi Karma 10 è vi presenterà un sorriso smagliante, cadi a 0 e ti ritrovi con un(altro) occhio nero.