Gestione delle peculiarità del personaggio

Per gestire l’incredibile varietà di casi che contraddistinguono i personaggi di D&D ho ideato un sistema di gestione delle regole che assomiglia molto alla gestione dei filtri delle email. L’immagine qui di seguito rappresenta un’idea di come vorrei sviluppare l’interfaccia utente, che sarà presente nella pagina “Crea classe” ma probabilmente anche in altre.

È possibile creare una regola cliccando su una voce dell’elenco (“Add”,”Remove”,”Treat”) alla sua destra compare un altro elenco che propone la scelta successiva. Il processo si ripete finchè non si arriva alla scelta finale. È possibile inoltre impostare una condizione necessaria all’applicazione della regola. Le regole vengono eseguite in ordine di posizione, dalle prime (in alto) alle ultime (in basso).

In pratica si possono aggiungere più regole e condizioni, che verranno elaborate una dopo l’altra per ottenere il risultato desiderato. Ad esempio, la regola che nel MdG gestisce la competenza con li scudi del Chierico è “competente in tutti gli scudi tranne in quelli a torre”: in Mephit è possibile aggiungere prima una regola “aggiungi competenza in tutti gli scudi” e poi un’altra regola “rimuovi competenza scudi a torre”.

Che ne pensate?

Lo usereste?

Cosa cambiereste?

Se siete curiosi di sapere come sono giunto alla realizzazione di questo sistema, continuate la lettura dopo l’immagine 🙂

proficiency1

Quando mi son messo a lavorare alle classi personalizzate, data la vastità dell’argomento ho puntato inizialmente su un metodo molto, troppo semplice: ma se si fosse rivelato sufficiente me la sarei cavata con poco lavoro! Il metodo consisteva nel mostrare la lista di tutte le armi ed abilità e rendere ognuna selezionabile, così si potevano gestire nel dettaglio in quali armi si era competenti e quali abilità erano di classe. Sapevo bene che esistono alcuni casi peculiari che probabilmente con questo metodo sarebbero risultati ingestibili, ma l’ho realizzato comunque per verificare se in qualche modo fosse sufficiente. In effetti la soluzione è risultata funzionale, e con un po’ di studio della user experience è risultata anche pratica, ma alla fine purtroppo le previsioni si sono rivelate corrette: con questo metodo certe peculiarità non sono si possono gestire.

I limiti di questo approccio si presentano presto, ad esempio in questi casi:

  • il giocatore ha inserito nella sua lista privata un’armatura (ad esempio la Corazza di Pietra del manuale Razze di Pietra) tramite la funzione “Crea oggetto personalizzato” di Mephit e la fa indossare al suo Guerriero
  • se il druido indossa un’armatura in metallo perde i suoi poteri che tornano 24 ore dopo essersela tolta
  • il chierico è competente nell’uso di tutti gli scudi tranne che di quelli a torre
  • se il chierico ha il dominio della guerra ottiene benefici riguardanti l’arma preferita della sua divinità
  • gli elfi sono competenti in alcune armi
  • nani e gnomi trattano alcune armi esotiche come se fossero da guerra
  • il bardo aggiunge tutte le Conoscenze alle abilità di classe

ma anche situazioni meno note:

  • l’esperto può scegliere dieci abilità qualsiasi come abilità di classe
  • il popolano è competente nell’uso di un’arma semplice a scelta

per non parlare delle varie classi che abbondano nei manuali aggiuntivi. E delle altre opzioni come il livello dell’incantatore, l’ex-classe, eccetera.

Era necessario trovare un modo più efficace per definire ed applicare le regole. Sono partito analizzando tutti i casi delle competenze dell’SRD, poi ho deciso di realizzare un mini linguaggio di scripting con una sintassi sufficientemente flessibile e facile da scrivere a mano, infine ho cercato di realizzare un’interfaccia utente utilizzabile da chiunque in modo da evitare all’utente di dover scrivere a mano il codice corrispondente alla regola. Ne è uscito RPGScript, mini-linguaggio che per il momento è in grado soltanto di gestire le peculiarità del personaggio ma non le sue azioni (ad esempio è in grado di gestire i talenti ma non le azioni di combattimento) ma che già così è utilizzabile per la gestione di gran parte degli aspetti del personaggio! Sono curioso di vedere fin dove riuscirò ad arrivare evolvendolo un po’ alla volta.

3 commenti

  1. Ciao, ti seguo da qualche anno, il tuo è un progetto interessante, mi ppiacerebbe parlarne via pm se sei disponibile

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.