Una serie di eventi casuali.
Una serie di eventi casuali. postato il 21/03/2018 04:25:46 nel forum programmazione, open source e hosting
Mi chiedevo se fosse possibile inserire nelle giocate degli eventi "casuali" automatici che appaiano come azioni di npg?
Ad esempio l'attacco di un animale selvatico con relativo tiro di dadi attacco e difesa? O il ritrovamento di oggetti?
Premetto che non me ne intendo di programmazione,chiedo appunto un parere/aiuto a riguardo.
Pagine → 1
21/03/2018 08:34:42
Discussione spostata nell'apposito topic "programmazione"
21/03/2018 08:55:02
Possibilissimo in moltissimi modi.
Ho realizzato un tool simile per un gdr tempo fa e ti dico per esperienza che la base è prima di tutto avere chiare le regole di come vuoi che funzionino questi automatismi.
Cosa si può trovare, con che frequenza, con che tiri, con che quantità, con che limiti, etc.
Fatti uno schemino ben preciso delle "regole" di queste meccaniche e poi sarà facile tradurle in un codice di programmazione... ma la base è avere una tabella chiarissima e "numerica" di tutti i parametri
21/03/2018 15:42:56
Stavo cercando di progettare (non ho ancora tentato di scrivere nulla) qualcosa di simile molto recentemente per gestire eventi atmosferici un po' gravi e farli stampare in chat - credo però si possa applicare in realtà a qualsiasi cosa tu voglia sfruttare come spunto.
Brancolo però nel buio in caso la volessi rendere un po' interattiva - mi sono fermata allo stampare un evento in chat una sola volta, tipo stringa master, perché sullo stampare successivamente dell'altro a seconda dei tiri fatti dai giocatori non ho uno straccio di idea (.. e smaneggiare troppo con ref_header ha degli effetti psicofisici che non posso ignorare).
Ti lascio qui i miei appunti in merito - ricordandoti però che niente di tutto questo è stato ancora realizzato (quindi non appurato che funzioni), che è un'analisi abbozzata alle quattro del mattino e fatta tenendo a mente GDRCD come infrastruttura di appoggio:
/************* ALTRE FUNZIONALITA' INTERESSANTI PER LE LOCAZIONI (CHAT) ******************/
(Analisi non ultimata e probabilmente errata..)
Sarebbe interessante implementare altri elementi variabili alle singole locazioni che possano influenzare il gioco. L'estrazione casuale dei valori potrebbe funzionare analogamente a quella del METEO, ma con lassi di tempo più lunghi (variazioni ogni TOT. GIORNI, magari senza dover scegliere un momento esatto della giornata, o meglio ancora variazioni ogni TOT. AZIONI IN CHAT). In un'ipotetica tabella di riferimento andrebbe quindi anche inserito un parameto tipo 'ultima_variazione' che funzioni da riferimento per ottenere le variazioni.
ANOMALIE:
Le anomalie sono eventi molto atipici che possono verificarsi in certi luoghi (variazioni della gravità, atmosfera, etc.) oppure eventi 'normali' ma di forza distruttrice particolarmente grave (terremoti, uragani, etc.).
Sarebbe carino impostare le variazioni secondo la quantità di azioni inoltrate nella chat di riferimento invece che temporalmente, quindi stampare l'evento stesso nella chat oltre che aggiornare la descrizione della locazione se si tratta di un fenomeno permanente.
Nel DB quindi dovrò:
** Creare una TABELLA per le tipologie di anomalie, che dovrà includere:
La gravità dell'anomalia, titolo, descrizione, etc.
-- 1 colonna che faccia da selettore per stabilire se l'anomalia è permanente (fino all'aggiornamento successivo) o passeggera (viene stampata in chat, i pg se la giocano ma non rimane come condizione permanente della locazione, quindi non rimane nella descrizione della chat).
** Aggiungere alcune colonne nella tabella MAPPA per registrare i 'log' delle anomalie in ciascuna locazione:
-- 1 colonna per determinare la frequenza delle anomalie, che si può stabilire tramite lancio di un dado con più o meno facce a seconda della frequenza con cui voglio che le anomalie si verifichino (Ogni tot. azioni). Es: il sistema tira un D100, esce 47. Quindi qui riporto le facce del dado che voglio usare.
-- 1 colonna per salvare la quantità di azioni ottenute dal lancio del dado. 47 saranno le azioni necessarie in quella chat prima che il sistema lanci una nuova anomalia in quella chat specifica. Quindi riporto l'esito ottenuto dal lancio del dado.
Procedura:
VARIABILE (1 VOLTA OGNI D?? = X AZIONI)
1) Verifico quali livelli di anomalie sono associati alla mappa di cui questa chat fa parte.
2) Estraggo un valore casuale fra quelli disponibili filtrati.
3) Verifico se l'anomalia è permanente o passeggera.
4) Stampo l'anomalia in chat.
5) Lancio il dado associato alla CHAT specifica per determinare quante azioni ci vorranno per la prossima variazione.
NOTE:
. Potrebbe poi essere necessario aggiungere la possibilità di poter scegliere anomalie specifiche (e non estratte casualmente) per certe chat.
. Potrebbe essere interessante poter scegliere una scala progressiva per filtrare le anomalie, ovvero se la prima è stata lieve quella successiva sarà moderata, poi grave, poi letale, per poi tornare a lieve.
Spero ti possa essere di aiuto per cavare qualche idea!
21/03/2018 20:24:48
E' un progetto a cui sto lavorando non con gdr-cd ovviamente; ti farò sapere.
Comunque fattibilissimo, come detto sopra bisogna solo avere chiare le idee ed un po' di capacità di coding.
22/03/2018 17:36:35 e modificato da gdr-online.com il 22/03/2018 17:41:45
Come idea è molto carina e anche realizzabile con le idee chiare.
In ogni caso non mi piacerebbe vederla in funzione "sempre". Io aggiungerei alcuni parametri tipo:
- Non si attiva in presenza di un master
- Non si attiva dopo un TOT di utenti in chat
- Non si attiva dopo un TOT di utenti online nel gioco
- Ecc.
Tutto questo per non distrarre dal gioco vero è proprio che è un gioco di gruppo e di interazione o si sta giocando a un browser game e non un play by chat :-D
In ogni caso alcuni giochi cartacei (al momento non me ne viene nessuno mannaggia alla memoria!) hanno tabelle già pronte per gli eventi casuali durante i viaggi. Se riesci a rimediarle una letta può essere utile. Nel frattempo ti consiglio di leggere questo: https://cronachedelgattosulfuoco.altervista.org/blog/2015/03/un-incontro-inaspettato/ https://cronachedelgattosulfuoco.altervista.org/blog/2015/03/un-incontro-inaspettato/ ↗
24/03/2018 16:30:27
Abbiamo in implementazione qualcosa del genere, "di contorno" al gioco standard. Per come la vedo io i problemi da risolvere sono sempre legati a "quello che c'è intorno" e a come si va ad inserire una funzionalità aggiunta in quello che c'è già.
Questione tipica: se devi combatterci che sistema utilizzi? Se, ad esempio, hai un sistema basato sul descrittivo e con solo un utilizzo approssimativo di oggetti e parametri, di fatto per interagire con PNG automatizzati devi costruirti un sistema "parallelo" e in buona parte slegato dal gioco normale.
Qualcosa del genere c'era nella primissima extremelot. non il giochino flash dei "monti delle nebbie" che è già più recente, ma gli incontri casuali che si potevano verificare esplorando le fogne. Qualcuno si ricorderà ancora i famigerati skertl.
Per combatterli usavi armi ed armature speciali acquistabili e indossabili sull'avatar, ma poi, una volta fuori dalle fogne, di quell'equipaggiamento non te ne facevi nulla perchè non era valido nel gioco "normale".
Ovviamente l'ideale sarebbe che l'inserimento di PNG automatizzati si agganci a quello che già c'è e già viene usato dai personaggi.
Nel nostro caso probabilmente sarà implementata in forma di "incontro casuale" (termine caro ai vecchi d&d-isti) che potrebbe verificarsi in aree particolari della mappa, lontane dagli insediamenti urbanizzati, per dare un tocco di difficoltà in più alle operazioni di ricerca e raccolta di alcune materie prime.
Alcuni problemi da risolvere oltre ad alcuni che ha già evidenziato Gianluca, a mio parere sono: gestione degli spostamenti. Ok, hai incontrato lo scheletro zombie o il bandito che vuole farti la bua.
Il giocatore può uscire dall'interazione col png automatizzato? Che succede se cerca di trasferirsi in un altor punto della mappa, il png lo segue o resta dove sta? Se fa il logout a scontro in corso cosa succede?
Infine quello che secondo me è un problema non da poco: l'IA del png. Evitare che i giocatori imparino rapidamente come "smanettare" coi png a proprio vantaggio sfruttandone le limitazioni e il comportamento di default.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Raja Dunia ↗
World of Warship ↗
Seconda Era ↗
AlterEgo ↗
World of Tanks ↗
Project Entropy ↗