Jump to content
Rpg²S Forum
  • 0

Dialoghi che “Evolvono”


Il Signorotto Piumato
 Share

Question

Salve. Sarò breve. Ho a che fare con un grattacapo mica da poco (almeno per me). Lo scenario è questo: Protagonista deve tentare di entrare allinterno di una casa. Fuori ad aspettarlo cè un suo compagno, le cui istruzioni si limitano a un semplice Fammi sapere cosa scopri. Da qui in avanti il protagonista potrà interagire con vari oggetti o ambienti. Quello che mi piacerebbe fare è che ogni volta che il giocatore scopre qualcosa di nuovo e decide di andarlo a riferire al compagno, questi reagisca basandosi sia sulle cose che ha trovato fino a quel momento, sia al modo in cui le abbia trovate. Esempio pratico:

 

Ci sono 5 cumuli di spazzatura. Se il protagonista ne controlla solo uno e va a riferirlo al compagno, questi dirà: Proprio non ti piace sporcarti le mani, eh?. Se invece li controlla tutti e 5 il compagno commenterà: Uao. Immagino che ognuno si diverta con quello che ha Cose di questo genere.

 

Altro esempio: Per aprire una scatola serve un codice, e per scoprire il codice bisogna seguire degli indizi, raccogliere degli oggetti o leggere un documento. Se il giocatore immetterà il codice giusto senza aver fatto nessuna o solo una minima parte di queste cose, il compagno esclamerebbe: ... Cosè stato? Fortuna, dedizione, o lo sviluppatore pigro? Spero che tu non abbia guardato su internet

 

Giuro che mi si sta incrociando il cervello fra variabili e blocchi condizionali, ma la cosa non sembra funzionare. Qualcuno sa darmi una dritta?

Edited by Il Signorotto Piumato

C'era una volta un corvo. Ma in fondo, di questo, a nessuno importa.

 

 

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Dagli esempi proposti la soluzione che serve a te sembra proprio essere quella delle variabili. Il classico "quando hai fatto 5 volte questa cosa ti do un premio."

Prendiamo l'esempio:

 

Ci sono 5 cumuli di spazzatura. Se il protagonista ne controlla solo uno e va a riferirlo al compagno, questi dirà: Proprio non ti piace sporcarti le mani, eh?. Se invece li controlla tutti e 5 il compagno commenterà: Uao. Immagino che ognuno si diverta con quello che ha Cose di questo genere.

In tal caso l'evento dovrebbe essere strutturato in questo modo.

- tutte le volte che il giocatore interagisce con un cumulo tu metti la variabile cumuliControllati a + 1 (operazione add/aggiungi valore 1)

- nell'evento del compagno hai due scelte, usare le condizioni di avvio evento sulla sinistra od usare la condizione se (blocco condizionale) classica da comando. Ora il primo è più limitato anche se ti permette di confrontare quando una variabile è non solo uguale ma anche superiore. Il secondo ha meno limiti e sarebbe una cosa del tipo...

- condizione se variabile = 0

---- messaggio: non hai controllato nulla

- fine prima condizione

- condizione se variabile = 1

---- messaggio: hai controllato poco

- fine seconda condizione

condizione se variabile = 2

---- messaggio: hai controllato pochinino non basta

- fine terza condizione

...

- condizione se variabile = 5

---- messaggio: hai controllato tutto!

- fine quinta condizione

^ ^

 

 

Come vedi lì ho messo dei puntini, perché non mi è chiaro se tu voglia fare tutte le condizioni con diversi messaggi, c'è anche il caso in cui tu voglia avere solo 3 messaggi diversi...

0

1234

5

in quel caso entrano in gioco gli operatori logici (non solo l'uguale) ed altre cose simili da considerare caso per caso, in questo sopra sarebbe...

- condizione se variabile = 0

---- messaggio: non hai controllato nulla

---- vai alla label (etichetta) fine

- fine condizione

- condizione se variabile = 5

---- messaggio: hai controllato tutto!

- fine condizione

- condizione se variabile

---- messaggio: hai controllato poco

- fine condizione

- label fine

- altri eventuali messaggi generici validi per tutto

In questo caso se la variabile è 1 il codice verrà letto dentro la condizione e poi verrai, tramite etichetta, catapultato nella parte di codice sotto ignorando la condizione

^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

  • 0

La strada giusta è quella delle variabili, devi trovare il modo corretto per impostarle, creare la cascata nell'ordine giusto perchè succedano le cose che vuoi.

 

In un esperimento avevo usato una variabile di avanzamento e una per i singoli NPC, in modo da poterle confrontare poter avanzare i dialoghi gradualmente con l'avanzare della storia, creando pagine evento dedicate per le singole situazioni.

 

Però se non si ha un andamento lineare diventa più complesso gestirla così...

icon.pnghttp://killveran89.altervista.org/Homework/Pic/LogoL.pnghttp://killveran89.altervista.org/TheLastMiracle/img/200921_Harold.png

__________________________________________________________________________________________________________

 

BIM_BACK.png

 

 

 

http://www.rpg2s.net/dax_games/xmas/gifnatale1.pnghttp://www.rpg2s.net/dax_games/xmas/gifnatale123.gifhttp://www.rpg2s.net/dax_games/xmas/gifnatale12.png

 

 

Link to comment
Share on other sites

  • 0

Intanto grazie a entrambi. Fra l’altro io in mezzo a questo ambaradam di roba, avrei pure (mannaggia a me) intenzione di infilarci un -Mostra scelte-. Per dire: Giocatore apre cofanetto e poi controlla cumuli di spazzatura. Va dal compagno e appare la scelta:

-Parla della scatola.

-Parla della spazzatura.

E poi da lì partono i vari dialoghi di cui si è discusso. Mamma mia che caos.

C'era una volta un corvo. Ma in fondo, di questo, a nessuno importa.

 

 

Link to comment
Share on other sites

  • 0

Mi accodo.

Per quanto complesso e ramificato possa essere l'albero di discussione, solo tramite switch e variabili puoi navigarlo.

 

La difficoltà sta nel formalizzarlo e nel non creare ambiguità. Ogni configurazione di variabili e switch deve identificare un solo dialogo escludendo tutti gli altri.

183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif

Link to comment
Share on other sites

  • 0

 

E poi da lì partono i vari dialoghi di cui si è discusso. Mamma mia che caos.

Ah, ah! Vai tranquillo, comunque, alla fine il mostra scelta è come fosse una condizione con le scelte che fanno diramare il codice. Gli esempi sopra sono sempre validi e puoi inserirli in una delle scelte senza problemi. Se comprendi bene condizioni, variabili e label non dovresti avere grossi problemi a gestire eventi anche più complessi.

^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

  • 0

Una volta capito il principio base è abbastanza semplice replicare. Ti consiglio di partire da una versione "semplice" dell'evento, per imparare a concatenare correttamente le scelte e i conditional branch, attraverso una o più variabili /switch. Sicuramente può aiutarti fare uno schema su carta attraverso un diagramma ad albero. Le scelte sono uguali dal punto di vista logico ai branch e anch'esse si configurano come bivi del nostro albero. Una volta chiarito l'aspetto logico, puoi passare a quello di "programmazione" vera e propria.

 

A margine di ciò, chiediti se quello che vorresti è veramente necessario, e/o se si possa fare in modo diverso. Lavorando con Rpg maker ci si rende conto di quanto lavoro serva anche per eventi apparentemente semplici dal punto di vista del giocatore. Un buon programmatore cerca di ottimizzare il risultato in termini dell'utenza. Nessuno vedrà mai il codice, quanto la resa esterna, pertanto bisogna puntare all'efficacia oltre che all'efficienza.
Per farti un esempio in parte attinente: un giocatore si aspetta che in momenti diversi un PNG con cui parla non dica sempre la stessa frase. Fare ciò è possibile in diversi modi più o meno elaborati, ma sicuramente è un impegno in più per chi programma, oltre per chi deve pensare e scrivere le frasi. Avere 4/5 frasi diverse per ogni png che variano a caso o magari persino in funzione della storia è impegnativo, potrebbe essere vantaggioso infatti creare uno o più sottogruppi di frasi tra cui poter attingere attraverso un evento comune o altro. In tal modo si può ottenere una miglior resa con meno fatica.

Edited by moongoblin
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...