Il mio livello di conoscenza e' medio basso, mi servirebbe una dritta per costruire un db relativo alle missioni del gioco indipendente complesso. Elenco le tipologie di missioni:

Tipo: STORYLINE - sono missioni che si presentano in un ordine, finita una missione, se ne sbloccano altre.
Tipo: NORMALI - missioni senza un ordine, una volta finite possono essere eliminate pure dal db.
Sono inoltre ad esaurimento posti.
Tipo: NORMALI CONDIVISE - come sopra, in piu per raggiungere l'obiettivo vale la somma dei punteggi di tutti i partecipanti.


Ci provo:
codice:
+giocatori
 id_giocatore
 nome_giocatore
 ecc...
codice:
+Storyline
 id_giocatore
 id_missione_sbloccata
Con questa seconda tabella risolvo il problema delle storyline. Perche mi da il progresso della storia e le missioni storyline disponibili.

codice:
 
+Missioni
 id_missione
 id_missione_requisita
 nome_missione
 descrizione_missione
 obiettivo_missione_1
 obiettivo_missione_2
 posti_liberi
 missione_tipo
 missione_condivisa
 missione_durata
 ecc...
Listone con tutte le missioni memorizzate, tipo regole del gioco.
Confrontando con "id_missione_requisita" con "id_missione_sbloccata" della tabella precedente, ottengo le missioni storyline disponibili.
Dentro a "missione_tipo" potro scrivere se "storyline" o "normale" o meglio ancora un numero identificativo. Se storyline come detto prima su filtro se e' sbloccata.
I posti liberi indica se è sempre disponibile o a esaurimento posti. Se è ad esarimento ogni volta che uno accetta il valore lo farò scendere di uno.
Usero un valore che indichi l'opzione "posti infiniti"

Ma ora mancano le informazioni sulle missioni in corso ed i progressi, quindi continuo sotto:

codice:
+Missioni_attivate
 id_giocatore
 id_missione_attivata
In questa tabella carico i dati quando un giocatore sceglie una missione.

codice:
+Missioni_progressi
 id_missione
 progresso_obiettivo_1
 progresso_obiettivo_2
 missione_scadenza
Questa tabella dipende dalla precedente, ma carica in più informazioni sui "progressi", confrontandoli con gli "obiettivi" della tabella missioni. Inoltre "missione_scadenza" si attiva non appena accetto una missione ed usando "missione_durata" ottengo inizio e termine della stessa.
Manca pero ID del giocatore che pero ho segnato nella tabella precedente. Non ho messo tutto assieme perche esistono le missioni condivise, dove i punteggi si sommano ed avrei duplicare dei dati per ogni partecipante.

Dentro a "progresso_obiettivo_1" e 2 potro segnare addirittura i progressi dei singoli partecipanti, se si tratta di missioni condivise,

Ci ho messo quasi 6 ore per partorire sta cosa, è terribile?