Messaggi senza risposta | Argomenti attivi Oggi è 23/11/2017, 13:48



Rispondi all’argomento  [ 8 messaggi ] 
 Dataset 
Autore Messaggio

Iscritto il: 05/11/2010, 20:14
Messaggi: 10
Messaggio Dataset
Ciao, come state? Vedo che siete ancora in attività, mi fa piacere.

Scrivo questo post a distanza di due anni e mezzo per farvi sapere che ho trovato delle versioni xml della srd 3.5 (inglese). Io ho già provveduto a ripulire e organizzare meglio i dati di alcuni di questi file (feats, weapons, non magic items, spells), quindi se siete interessati posso passarveli.

Vedo tra l'altro che avete deciso di abbandonare access in favore di SQLite; siccome io uso mysql magari ci si potrebbe scambiare alcune idee e suggerimenti su come definire il DB.

Ciao


03/04/2013, 10:00
Profilo
Amministratore
Avatar utente

Iscritto il: 26/12/2009, 11:15
Messaggi: 19
Messaggio Re: Dataset
ciao kwisatzhaderach, si l'attività di programmazione va avanti "anche se a rilento", la causa è sempre la mancanza di betatester e personale :) in questo momento oltre a sviluppare l'interfaccia per sqlite che mi serve per getire meglio il nuovo DB sto sviluppando la comunicazione tra i due software, una cosa abbastanza problematica perchè devo tenere d'occhio 2 pc e vedere come si comportano, il più è fatto ma è una scocciatura immane fare questo tipo di operazioni da solo e quindi l'aggiornamento dei 2 software tarda ad arrivare.

In più mi sono accorto, o meglio è una conferma, che il sistema per le definizioni dei vari enti del gioco quali oggetti, razze ecc. soffre di mancanze che andrebbero colmate prima che il tutto sia utilizzabile al 100%, insomma un bel casino :lol: ....cmq per la collaborazione riguardante la gestione di queste cose e quindi dell'organizzazione del DB per me non ci sono problemi anche perché come ti ho accennato prima devo anche io risolvere queste mancanze, e poi una piattaforma su cui comunicare e scambiarci idee la abbiamo no ;) .


08/04/2013, 10:04
Profilo

Iscritto il: 05/11/2010, 20:14
Messaggi: 10
Messaggio Re: Dataset
Allora io alla fine ho optato per una soluzione minimale, proprio perché ho i tuoi stessi problemi, ma in più io nemmeno sono un programmatore.

Comunque, la mia soluzione è un server lamp con interfaccia web. Dato che non ho ne il tempo, ne la voglia, ne le capacità per creare un interfaccia web per editare gli elementi di gioco ho deciso di sfruttare il formato xml, questo perché:
  1. Ho trovato versioni sia html che xml della srd 3.5, quindi ho eliminato la necessità di copiare dai manuali i dati, essenzialmente quelli dei core manuals. Ho semplicemente dovuto integrare quelle poche cose che mancavano, apportare le mie modifiche e riformattare tutto, operazione quest'ultima che mi ha preso molto tempo, ma comunque sempre infinitamente più rapida che riscriversi tutto da se. Sono ovviamente dovuto passare alla lingua inglese, ma almeno è più facile recuperare dati dalle espansioni se mi gira (oltre che dare un taglio "internazionale" alla cosa :D).
  2. Essendo dei semplici file testuali, posso editare sia i file xml che html come mi pare e piace usando un qualsiasi editor.
In sintesi per le regole di gioco io mi limito a caricare i dati nel DB e basta, tanto una volta fissate le regole quelle sono e quelle restano, ma anche se dovessi modificare qualcosa mi basterebbe agire sui file xml e poi ricarli nel DB (credo che ricare tutti i dati sarebbe un operazione di pochi minuti al massimo).
Per quanto riguarda la creazione di png e pg, beh, ancora non ho iniziato, ma ho già in mente che strada seguire.
Veniamo ora alla struttura del DB. Come potrai facilmente immaginare ho le mie tabelle spells, feats, items, ecc. Attualmente ho ancora tutto in formato descrittivo, quindi poco maneggiabile se non per semplice consultazioni (es. filtri per scremare i dati da visualizzare).
A titolo d'esempio:
Codice:
   <armor>
      <name>Leather</name>
      <cost>10</cost>
      <asb>+2</asb>
      <mdb>+6</mdb>
      <acp>0</acp>
      <asfc>10%</asfc>
      <weight>15</weight>
      <type>Light</type>
      <desc>
         The breastplate and shoulder protectors of this armor are made of leather
         that has been stiffened by boiling in oil. The rest of the armor is made of
         softer and more flexible leather.
      </desc>
      <ref>SRD 3.5</ref>
   </armor>

Codice:
   <feat>
      <name>Superior Expertise</name>
      <type>General</type>
      <multiple>No</multiple>
      <stack>No</stack>
      <prerequisite>Int 13, Combat Expertise, base attack bonus +6.</prerequisite>
      <benefit><![CDATA[
         <p>When you use the Combat Expertise feat to improve your Armor Class, the number you subtract from your attack and add to your AC can be any number that does not exceed your base attack bonus.</p><p>This feat eliminates the +5 maximum for the Combat Expertise feat.</p>
      ]]></benefit>
      <reference>SRD 3.5 DivineAbilitiesandFeats</reference>
   </feat>

Codice:
   <spell>
      <name>Magic Missile</name>
      <school>Evocation</school>
      <descriptor>Force</descriptor>
      <list>
         <what>Sorcerer</what>
         <level>1</level>
      </list>
      <list>
         <what>Wizard</what>
         <level>1</level>
      </list>
      <casting_time>1 standard action</casting_time>
      <range>Medium (100 ft. + 10 ft./level)</range>
      <target>Up to five creatures, no two of which can be more than 15 ft. apart</target>
      <duration>Instantaneous</duration>
      <saving_throw>None</saving_throw>
      <spell_resistance>Yes</spell_resistance>
      <somatic>Yes</somatic>
      <vocal>Yes</vocal>
      <desc_short>1d4+1 damage; +1 missile per two levels above 1st (max 5).</desc_short>
      <desc_full><![CDATA[
         <p>A missile of magical energy darts forth from your fingertip and strikes its target, dealing 1d4+1 points of force damage.</p>
         <p>The missile strikes unerringly, even if the target is in melee combat or has less than total cover or total concealment. Specific parts of a creature can’t be singled out. Inanimate objects are not damaged by the spell.</p>
         <p>For every two caster levels beyond 1st, you gain an additional missile-two at 3rd level, three at 5th, four at 7th, and the maximum of five missiles at 9th level or higher. If you shoot multiple missiles, you can have them strike a single creature or several creatures. A single missile can strike only one creature. You must designate targets before you check for spell resistance or roll damage.</p>
      ]]></desc_full>
      <reference>SRD 3.5 (Player’s Handbook)</reference>
   </spell>

Per rendere i dati più maneggiabili ho pensato di aggiungere nodi di questo tipo:
Codice:
<out>
     <what>Bonus, malus, feat, ecc.</what>
     <param>Tiro per colpire, tiro salvezza, classe armatura, ecc.</param>
     <limit>tutto, arma, CA a contatto, ecc.</limit>
     <value>valore numerico</value>
     <tipo>competenza, potenziamento, schivare, ecc.</tipo>
</out>

nel caso un talento, un incantesimo, ecc. producano più effetti semplicemente aggiungo un nodo out. Chiaramente non potrò riprodurre tutti gli effetti secondo questo schema, in tal caso dovrò per forza scrivere degli script dedicati (oppure rinunciare a gestire automaticamente il tal effetto).

Tu invece come ti sei regolato e/o intendi regolarti?


13/04/2013, 9:51
Profilo
Amministratore
Avatar utente

Iscritto il: 26/12/2009, 11:15
Messaggi: 19
Messaggio Re: Dataset
Dalla mia esperienza fino ad ora ho potuto constatare che sviluppare direttamente il database definitivo non è possibile, o almeno è estremamente difficile ….ad esempio da principio io avevo creato delle tabelle base da cui ereditavano le tabelle più complesse, ad esempio la tabella oggetti “tabella base” aveva al suo interno anche i semplici materiali di costruzione così che la tabella Armi “tabella complessa” potesse ereditare da lei i valori utili tipo bonus relativo alla durezza del materiale (punti rottura aumentati o diminuiti a seconda del tipo di materiale utilizzato per la costruzione dell'arma), poi però mi si è presentato il problema relativo ai campi inutilizzati nella stessa tabella oggetti, nel senso che se inserisco anche il cibo in questa tabella poi mi trovo che il campo bonus durezza del materiale non ha senso per questo tipo di oggetto, e li sono iniziati i primi casini.

A questo punto ho suddiviso la tabella Oggetti in un altra tabella di primissimo livello che ho chiamato materiali da dove oggetti eredita quello di cui ha bisogno.
Questo è solo un esempio scemo che però ti da l'idea di quali problemi incontri andando avanti con lo sviluppo del tutto.

Poi ovviamente dipende dal livello di complessità che vuoi dare al tuo gioco, io sto cercando di mettere tutti gli elementi possibili dentro al sistema, quindi casini di questo tipo sono normali ma avrei anche potuto dire che la tabella armi è una tabella di primo livello e funziona per azzi sua indi non avrei avuto nessun tipo di problema. Solo che ovviamente il GDR ne risente perchè andare da un fabbro per costruire un martello è differente dall'andare da un fabbro nella regione X che possiede il materiale Y per poter forgiare il martello di Y, ciè la prima ipotesi fa molto videogame :)


17/04/2013, 7:42
Profilo

Iscritto il: 05/11/2010, 20:14
Messaggi: 10
Messaggio Re: Dataset
Non l'ho specificato, ma anche io non ho una sola tabella oggetti. Ho quella delle armi (che sono due in realtà, in più diventeranno almeno tre), quella delle armature (questa unica al momento, ma potrei doverla sdoppiare), quella dei beni e dei servizi (questa penso rimarrà unica).
Per quanto riguarda i materiali non so se valga la pena fare una tabella, alla fine sono pochi e con caratteristiche completamente differenti gli uni dagli altri (gli unici elementi comuni sono durezza e punti rottura). Io opterei per una gestione tramite script dedicato in cui inserisci tu direttamente i vari valori.

Cita:
Solo che ovviamente il GDR ne risente perchè andare da un fabbro per costruire un martello è differente dall'andare da un fabbro nella regione X che possiede il materiale Y per poter forgiare il martello di Y, ciè la prima ipotesi fa molto videogame


Sono daccordo, ma credo che questo livello di dettaglio sia davvero eccessivo per una persona sola (ma anche due o tre). Tra l'altro il mio obiettivo non è ricreare baldur's gate, ma uno strumento di ausilio per giocatori e master. Creare un interfaccia per cui in automatico senza passare dal dm un giocatore entra in una bottega e si fa fare l'oggetto dal dei tali è sicuramente una figata, ma mi pare davvero troppo impegnativo.

Facciamo un esempio rimanendo al caso dell'equipaggiamento. Io punto a creare una funzione per creare gli oggetti e ovviamente per aggiungerli all'equipaggiamento del personaggio, ma non intendo creare un mondo digitale tale per cui tu vai in una bottega e parlando con il bottegaio ti fai fare l'oggetto, magari prevedendo un controllo sui soldi che hai. Io intendo fare una sola funzione che userà sia il DM che i giocatori, starà poi all'onesta dei giocatori e all'attenzione del DM controllare che i giocatori non si aggiungano oggetti che non gli competono (come del resto è sempre stato). Se veramente dovessi pure pensare di scrivere una sovrastruttura di controllo per limitare quello che possono fare i giocatori davvero non finirei più.

Certo se dovessi sviluppare un software per offrire un servizio a cui si connetteranno centinaia di persone, allora la cosa sarebbe obbligata, ma io intendo creare uno strumento semplice, multipiattaforma e facilmente personalizzabile che aiuti a mettere ordine e semplificare le operazioni di gioco per il gruppo di gioco standard, che mediamente comprende 5-6 persone.
Personalmente mi pongo come obiettivo quello di eliminare la carta centralizzando i dati, dai personaggi agli oggetti ai mostri, non mi sono mai sognato di creare un mondo digitale ne tanto meno una AI.
Comunque se ce la fai tanto di cappello ;)


17/04/2013, 15:05
Profilo
Amministratore
Avatar utente

Iscritto il: 26/12/2009, 11:15
Messaggi: 19
Messaggio Re: Dataset
Be anche io mi pongo l'obbiettivo di eliminare la carta centralizzando i dati ma in più voglio utilizzare il mezzo al massimo delle sue capacità .....e le capacità del mezzo PC sono molto alte 8-) . Ad ogni modo la scissione dei materiali dagli oggetti deriva proprio dalle possibilià che mi da il programma, la cosa si è verificata mentre sviluppavo la parte del programma relativa alle mappe, ho cominciato a pensare a quello che feci all'epoca in cui creai il mio mondo per AD&D, e cioè dalla configurazione geografica passai a sviluppare le varie città, a quali razze dovevano esserci al loro interno, agli scambi commerciali tra le città confinanti e quindi da qui i tre grandi gruppi di materiali quali Animali, Vegetali e Minerali. Sviluppando la cosa in questo modo posso creare anche la "moneta di scambio" e quindi il suo valore in base alla rarità del materiale presente in zona e dare dei valori reali e non alla cazz come si fa normalmente. In pratica da questa Tabella Materiali si ottengono molti risultati pratici, ed il mio database diventa sempre più complesso mano a mano che sviluppo i vari pezzi del programma e li lego tra di loro. :D

Certo se avessi un po più le idee chiare sul progetto finale sarebe più facile sviluppare il DB ma :mrgreen:


19/04/2013, 17:16
Profilo

Iscritto il: 05/11/2010, 20:14
Messaggi: 10
Messaggio Re: Dataset
E io che pensavo di essere fuori di testa... :lol:


20/04/2013, 10:56
Profilo
Amministratore
Avatar utente

Iscritto il: 26/12/2009, 11:15
Messaggi: 19
Messaggio Re: Dataset
In effetti detta così sembra una cosa complicata ...devo fare un diagramma così forse si capisce meglio ....e magari mi capisco meglio anche io :roll:


22/04/2013, 9:14
Profilo
Visualizza ultimi messaggi:  Ordina per  
Rispondi all’argomento   [ 8 messaggi ] 

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi

Cerca per:
Vai a:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF.
Traduzione Italiana phpBB.it