Progettazione database per game designer

di il
11 risposte

Progettazione database per game designer

Cari informatici, sono Alessandro Conti, sto beta testando un gioco da tavolo per miniature. Siccome nel playtest le regole si aggiornano spesso, avrei bisogno di un sostegno informatico per risparmiare tempo e fatica. Ho lavorato per anni con Filemaker, sempre da profano, e lì le cose riuscivo a farle funzionare. Adesso sono passato ad access e non ci capisco più niente, perché Ybor ho basi informatiche, sono solo uno smanettone di pessima qualità. Vi spiego che DB voglio fare:

Vorrei creare una prima tabella "profili", in questa tabella vengono tenuti i profili delle singole classi, per cui ogni record sarà una classe di personaggio (cavaliere, Chierico, arciere etc.).
Nella tabella "profili" ho i seguenti campi:
Classe/Abilità/Movimento/Attacco/Difesa/Armatura

Esempio:

Record 1 Barbaro / furia / 6 / 2 / 1 / 1
Record 2 Ladro / backstab / 8 / 1 / 2 / 0


Ho poi una ventina di playtester, ognuno con una banda di dieci personaggi, da scegliere, anche duplicandoli, tra i personaggi descritti nella tabella precedente. Vorrei dunque fare una tabella per i playtester, nella quale segnare la scelta di personaggi fatta da ciascun playtester, esempio:

campi: playtester / nome del pg / classe

Quindi per esempio:

Record 1 Maxx / Conan / Barbaro
Record 2 Maxx / Raistlin / Mago
Record 3 Maxx / Bronn / Ladro

A questo punto vorrei creare una relazione tra la tabella "profili" e quella "bande" basata sul campo "classe". Questo perché mi servirebbe poter richiamare i punteggi delle singole classi in relazione alla composizione della banda fatta dal singolo playtester.

Il punto su cui mi scorno è questo:
A questo punto vorrei riuscire a creare un documento in cui emergano le singole bande (ovvero i 10 pg del singolo playtester), con i punteggi di tutti i personaggi. Una specie di report che, in una schermata mi elenchi i pg della banda e si vada a pescare dalla tabella "profili" le caratteristiche di ogni pg. Esempio:

La banda di Maxx

Conan, classe: barbaro, abilità: furia, movimento: 6, attacco: 2, difesa: 1, armatura: 1.

Bronn, classe: ladro, abilità: backstab, movimento: 8, attacco: 2, difesa: 2, armatura: 0.

Etc.

Spero di essere stato chiaro (altrove non lo ero stato r ed era stato impossibile aiutarmi). A me la cosa sembrerebbe semplice, a dirsi, ma non riesco a farla in Access. Grazie ancora, ciao!

11 Risposte

  • Re: Progettazione database per game designer

    Confucio dice: Dai un pesce a un uomo e lo nutrirai per un giorno; insegnagli a pescare e lo nutrirai per tutta la vita.

    In altri termini: comprati un libro di Progettazione database relazionali con Access.

    Puoi partire da qui': https://support.office.com/it-it/article/Nozioni-fondamentali-sulla-progettazione-di-database-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5

    Non pensare che sia una battuttaccia o la mancanza di voglia di risponderti, sia chiaro.

    Il problema e' piu' banale, se vogliamo: progettare un database richiede la conoscenza di certe regole/metodologie.

    Non sono complicate, ma e' abbastanza complicato spiegarle a suon di post.

    Diventa mooolto piu' semplice se tu sai gia' quali sono queste regole, anche se non le applichi corretamente.

    Partendo da queste conoscenze, se tu posti la struttura del DB come TU l'hai pensata, noi ti possiamo dare una mano dicendo: questo non va bene perche' viola la 1FN, questo viola la 3FN, qui' c'e' una relazione N:M, ecc. E tu gia' capisci di cosa stiamo parlando

    Ora la soluzione al tuo problema e' concettualmente banale: e' una semplice SELECT + JOIN con qualche funzione di aggregazione (SUM).

    Studiate gente, studiate
  • Re: Progettazione database per game designer

    Purtroppo è la stessa cosa che mi aveva risposto un collega sull'altra board. È evidente che non posso che mettermi a studiare.

    P. S.
    Visto che al mondo esistono tante cose, anche pazze, nessuno da indicarmi un forum dove poter andare anche senza aver studiato? Una cosa meno seria di qui, meno professionale, più adatta agli ignoranti?
  • Re: Progettazione database per game designer

    Yahoo answers ?
  • Re: Progettazione database per game designer

    Alessandroconti399 ha scritto:


    Purtroppo è la stessa cosa che mi aveva risposto un collega sull'altra board. È evidente che non posso che mettermi a studiare.
    Ma che strano...

    Alessandroconti399 ha scritto:


    P. S.
    Visto che al mondo esistono tante cose, anche pazze, nessuno da indicarmi un forum dove poter andare anche senza aver studiato? Una cosa meno seria di qui, meno professionale, più adatta agli ignoranti?
  • Re: Progettazione database per game designer

    Io vorrei provarci a darti una mano, ma ho bisogno di termini meno tecnici riguardo i giochi da tavolo (non ci capisco niente) e più specifici/vicini alla logica dei database.
    1) Hai una tabella Classi?
    2) Hai una tabella Personaggi?
    3) Hai creato una relazione Classi uno-a-molti Personaggi?
    4)

    Alessandroconti399 ha scritto:


    Nella tabella "profili" ho i seguenti campi:
    Classe/Abilità/Movimento/Attacco/Difesa/Armatura
    Hai detto che il software si aggiorna spesso. Quanto possiamo essere sicuri che le 5 "caratteristiche" (dopo Classe) siano sempre le stesse? Se il programmatore volesse introdurre altre caratteristiche in futuro, non pensi che quei campi in orizzontale rischiano di diventare troppi? Oppure, siamo sicuri che
    Barbaro / furia / 6 / 2 / 1 / 1
    avrà questi valori/caratteristiche sempre?
    5) Non ho capito tutto il discorso riguardo le "bande" e il "playtester".
  • Re: Progettazione database per game designer

    Grazie Osvaldo, e scusa il pressapochismo. Si, le caratteristiche rimangono quelle (sono di più in realtà, ma le ho semplificate nell'esempio). Sì, ho creato una relazione uno-a-molti.
    La tabella classi contiene i vari punteggi delle singole classi. La tabella playtester contiene la composizione della banda del singolo playtester. Il documento che vorrei creare combina le due.

    ### se può essere utile vorrei segnalare che nel frattempo sto facendo con HLookup di Excel. Cioè faccio dei fogli di Excel (un foglio, un playtester), che si ricavano i dati dei singoli profili da un altro foglio che contiene appunto i dati. Giusto perché magari con questo esempio si capisce meglio di cosa ho bisogno###

    Grazie per il soccorso, sei stato molto gentile.
  • Re: Progettazione database per game designer

    Alessandroconti399 ha scritto:


    Si, le caratteristiche rimangono quelle (sono di più in realtà, ma le ho semplificate nell'esempio).
    Mah! Sarà che sono allergico all'idea di TROPPI campi quando "tutto sommato" dicono la stessa cosa. Io preferirei creare una tabella Caratteristiche. Poi una relazione Personaggi molti-a-molti Caratteristiche con tabella di congiunzione CaratteristichePersonaggi avente i seguenti campi:
    IDCaratteristicaPersonaggio (PK)
    IDPersonaggio (FK)
    Caratteristica (o IDCaratteristica)(FK)
    ValoreCaratteristica

    Alessandroconti399 ha scritto:


    La tabella classi contiene i vari punteggi delle singole classi.
    Non ti seguo. Io ho capito che la tabella Classi contiene solo valori: cavaliere, Chierico, arciere... Quindi avrai molti cavalieri, molti chierici, molti arcieri. Voglio sperare che il "cavaliere OsvaldoLaviosa" (tabella Personaggi) resti sempre tale e non cambi il suo status/classe con il passare del tempo.

    Alessandroconti399 ha scritto:


    La tabella playtester contiene la composizione della banda del singolo playtester. Il documento che vorrei creare combina le due.
    Arabo per me. Devi fare qualche esempio per farmi capire come funziona tutta la "baracca".

    Alessandroconti399 ha scritto:


    ### se può essere utile vorrei segnalare che nel frattempo sto facendo con HLookup di Excel. Cioè faccio dei fogli di Excel (un foglio, un playtester), che si ricavano i dati dei singoli profili da un altro foglio che contiene appunto i dati. Giusto perché magari con questo esempio si capisce meglio di cosa ho bisogno###
    Ancora più arabo.
  • Re: Progettazione database per game designer

    Eccomi. Ti posto alcune foto dal mio lavoro in excel. Si tratta di una cosa puerile, ma che dà l'idea di cosa vorrei fare.

    Dunque questo è il foglio "classi", a ogni record corrisponde una classe, con i suoi punteggi.

    http://i1341.photobucket.com/albums/o744/alessandroconti399/tabella_char_zpsgoixzdti.png

    Questo foglio è la fonte dei dati, quindi la mia idea è che, se durante una partita scopro che tale personaggio è troppo forte, modifico il valore in questa tabella.

    Questo che segue, invece, è il foglio del playtester Fabbri. I valori in nero sono proprietari del foglio, quelli in rosso sono ricavati dal foglio precedente. Insomma Fabbri seleziona uno Knight, e il mio foglio di calcolo spontaneamente riempie tutti i campi con i valori del Knight ricavati dalla tabella precedente. Se fabbri avesse due Knight, non ci sarebbe problema, la tabella gli restituirebbe due volte il valore del Knight. L'operazione di ricavare i dati dalla prima tabella è un semplice Lookup.



    Ogni playrtester ha un foglio, che ricava i dati dei PG sempre dal primo foglio.

    Il vantaggio di fare questa cosa è che se cambio un valore nel foglio "classi", poi questo cambia in tutti i fogli dei playtester, e quindi ognuno si trova il valore aggiornato.

    Per Access vorrei fare una cosa simile, ma ovviamente molto più snella ed efficace. Spero di essere stato meno arabo. Come sempre, scaricami quando vuoi, non mi lamenterò troppo. Grazie ancora.
  • Re: Progettazione database per game designer

    Guarda che in Access, questi aggiornamenti spontanei NON LI PUOI PIU' AVERE!

    Li devi implementare manina! E non e' per nulla semplice (bisognera' fare dei giochi di prestigio con i trigger)

    Excel NON E' come una tabella di database: CI ASSOMIGLIA SOLTANTO.

    Excel ha sotto la pancia un POTENTE motore di ricalcolo delle celle CHE NON ESISTE in nessun database!

    Il compito di un DBMS e quello di gestire dati e basta: inserimento/modifica/cancellazione/ricerca! STOP.
  • Re: Progettazione database per game designer

    Quest'ultima osservazione di migliorabile è sacrosanta e alla base della differenza fra le logiche di Excel (foglio) e Access (database).
    Che dire. Quelle immagini mostrano una situazione molto più complessa di quella che pensi tu.
    Adesso mi arrendo anch'io.
  • Re: Progettazione database per game designer

    Grazie allora ragazzi, sono contento che mi avete spiegato questa cosa, lo ignoravo del tutto. Due anni fa stavo facendo un lavoro con Filemaker (purtroppo non mio, ma dell'ente per cui lavoravo), e queste cose le facevo, per cui mi ero illuso di poterle fare anche in Access. Grazie ancora a chi di voi ha avuto con me pazienza e gentilezza.
Devi accedere o registrarti per scrivere nel forum
11 risposte