Quote:
Originally Posted by ihc'naib
allora. porto qui la discussione che avevo accennato ad alkabar in private circa la possibilita' di realizzare un supporto per giocare di ruolo (ma veramente) OL.
non so se la cosa esiste gia', e non mi interessa molto.
Alkabar mi diceva che per l'idea che avevo io era necessario un server con ip statico sempre acceso.. questo era l'inizio della risposta in private, che porto qua.
Yep. questo ce lo abbiamo... sopratutto perche' per il tipo di prodotto a cui stiamo pensando non ci sono ne' problemi di ampiezza di banda ne' di lag... Per sua natura, una cronaca di vampiri e' un evento a lungo termine, che sicuramente non si esaurisce in una sessione. Quindi il salvataggio partita e' piu' che necessario, e un db e' la soluzione piu' agile per realizzarlo.
L'idea che mi ero fatto io era di creare un oggetto Partita che girasse lato Server ogni volta che viene aperta una partita da un master, e due tipi di oggetti , Giocatore e Master, che girano latoclient.
Buono ! allora dimentica quello che ti ho detto sulle socket, se abbiamo il server con ip statico, si può montare tutto li e accedere le partite tramite browser
Quote:
Breve descrizione di cosa potrebbe voler diventare il gioco.
il Signor Master accede al server e si fa aprire un'oggetto Partita sul server stesso, inserendo i dati della partita, che vengono utilizzati dal server per recuperare da db i dati necessari:
Data e ora (in Vampiri e' una cosa importante, ovviamente il Master avra' l'opportunita' di forzare il tempo simulato)
Dati dei giocatori giocanti e non.
Di fronte al Master si apre la sua pagina magica piena di bottoni. Ecco cosa contiene:
- i dati giocatori, modificabili solo dal master. (credo sia possibile realizzare una routine che funziona cosi': il master fa la modifica sulla scheda del giocatore, l'oggetto Partita chiede una conferma al giocatore, e se il giocatore accetta, i dati vengono modificati)
- un certo numero di chat e gli eventi (entrambi i gruppi non modificabili, gli eventi sono conseguenza diretta delle operazioni di modifica fatte dal master e dei tiri di dado dei giocatori, le chat.. beh.. sono conseguenza di quando uno scrive e pigia invio)
- un set di dadi per i tiri "nascosti" (frequenti in Vampiri) con un piccolo log relativo
Quando il giocatore accede con la propria id e pw alla partita (e non mi occupero' io di questa parte) di fronte a lui appare la pagina Giocatore:
- un set da cui selezionare le caratteristiche su cui si sta per lanciare i dadi, e i dadi relativi.
- chat
- finestra eventi
- dati personali (non modificabili.. solo il master ci smanetta)
un esempio di gioco, nella miglior riuscita ipotizzabile per questo progetto.
Il giocatore X dichiara in chat pubblica di voler attaccare il giocatore Y.
Il master gli dice: tira su prontezza di spirito + nascondersi, hai modificatore -3 perche' stai strisciando. E gli setta il modificatore.
Quando il modificatore e' stato "percepito" dall'oggetto giocatore, X puo' tirare. Seleziona la caratteristica "Iniziativa" preme il pulsante dado.
X ha 4 a prontezza di spirito e 2 a nascondersi.
In Eventi appare la riga di log: "X lancia 732890 su Prontezza di Spirito(4) + Nascondersi (2), -3 = 4//567: 2 successi"
Il master dice: va bene, hai l'iniziativa. Tira su Forza + Capacita' Acrobatiche..
Il giocatore chiede di spendere due punti sangue per pomparsi la forza.
Il master depenna i punti sangue. Una pop up gli chiede in che cosa verranno spesi quei PS. Il master seleziona forza. Al giocatore viene chiesta conferma. Il giocatore stiaccia "si'"
in Log: "X spende 2 punti sangue in Forza. La sua forza adesso e' 6"
etc etc.
peraltro, la routine dei punti sangue puo' gestira automaticamente il tempo di durata.
So che spiegare una cosa del genere cosi' e' complesso. se avete dubbi o domande chiedete.
In linea di massima gli aspetti sono:
interfaccia grafica bottoni-eventi
gestione dei processi partita-master-giocatore1....giocatoreN in ciclo di gioco senza eventi (il loop generico)
gestione delle interruzioni, con il conseguente algoritmino di calcolo (i calcoletti che fate a mente ogni volta che decidete l'azione del vostro pg), di fetch delle caratteristiche e di restituzione del responso.
ihc
Queste sono le specifiche del problema, se vuoi te lo analizzo e ti creo uno schema E/R, dato che si tratta di db.