Ciao Alberto e grazie per averci concesso questa intervista
Ciao Gianluca, grazie a voi che mi date la possibilità di fare questa intervista :) e un saluto a tutti!
Non preoccupatevi cercherò di essere poco prolisso! Anche perchè da programmatore sarebbe un controsenso hehehehe :P
Per chi già non lo conoscesse ci spieghi cosa è "TdL Open Source" e da dove nasce l'idea?
TdL Open Source è molto semplicemente tutto il codice di Tana del Ladro 1 e 2 , sviluppato in 9 anni, reso pubblico ed accessibile a tutti. Si tratta di un pacchetto completo che a mio parere può essere usato per creare nuove land virtuali basate su D&D (in questo caso è sufficiente cambiare il nome e la grafica) sia altre land con il sistema D20 (in questo ultimo caso bisogna sicuramente cambiare molte più cose ma non è impossibile). TdL Open Source preso così com'è e installato su un webserver (cambiando ovviamente i parametri di connessione e le e-mail) fornisce già una gdr online pbc (play by chat) completo di tutto dalla registrazione dei personaggi fino alle descrizioni dei luoghi che sono stati implementati fino ad ora. L'idea è nata circa 1 mesetto fa quando per l'ennesima volta dopo aver concesso la fiducia a programmatori "esterni" (ossia non io) mi sono ritrovato l'ennesimo sito clone in rete. A questo punto stufo di concedere fiducia alle persone e vedere che cmq poi il mio codice veniva usato non per migliorare TdL ma per sviluppare il proprio sito ho deciso, abbastanza rapidamente ma dopo essermi informato sulle questioni burocratiche, di renderlo libero a tutti e dare così realmente e soprattutto con il mio consenso la possibilità di sviluppare la propria land basata sul codice di TdL.
Cosa, ritieni, abbia di innovativo questo prodotto rispetto agli altri?
Guarda è difficile parlare di innovazione perchè anche gli altri prodotti rilasciati hanno introdotto delle novità a cominciare dal tanto blasonato GDR-CD fino ad arrivare al mio prodotto. Non conosco in dettaglio tutti i prodotti rilasciati quindi non mi sento di fare un paragone in termini di innovazione perchè potrei dirti castronate. Se invece parliamo di differenze qui posso dirti che TdL Open Source, a differenza degli altri prodotti rilasciati, in più integra un ambientazione già completamente sviluppata (città, negozi, oggetti, descrizioni, chat, gilde, etc.. etc..) che se il gestore desidera può utilizzare. Quindi diciamo che oltre ad essere un prodotto che può essere utilizzato per costruire o migliorare la propria land virtuale è anche un prodotto stand-alone che già scaricato così è completamente funzionante. Non so se posso chiamarla innovazione, sicuramente è un valore aggiunto al prodotto.
Che tipo di esperienze hai fatto nella programmazione prima di cimentarti nella realizzazione di TdL Open Source?
Diciamo che sono partito in parallelo. Ossia mentre iniziavo a sviluppare software per le aziende nelle quali sono stato portavo anche avanti TdL, che poi è diventato TdL Open Source (da qui in poi mi riferirò sempre chiamandolo TdL OS). Alcune innovazioni le provavo prima su TdL OS e se poi funzionavano le trasferivo sul software aziendale ma ho fatto anche viceversa :) soprattutto negli ultimi anni man mano che ho acquisito esperienza e sicurezza. Alcune funzionalità invece le ho replicate da altri giochi, spesso da World of Warcraft (WoW) del quale sono accanito giocatore e fun xD, come ad esempio la Casa d'Aste (Auction House) in tutto e per tutto identica a quella di WoW... bhè si ovvio non è in 3D ma... :P
Quali tecnologie usa il pacchetto?
Le principali tecnologie web-based ad eccezione del Java. Quindi c'è una base html e flash per la grafica e lo scheletro del sito. Il motore è costituito da script php e actionscript che interagiscono con il core del progetto che è formato da 2 database. Il primo database è utilizzato per gestire gli utenti, le schede e l'ambientazione (completa di regole) il secondo per i forum e i diari (una specie di blog). L'iterazione con l'utente è presente spesso in javascript. Usa anche la scrittura su file per gestire alcune parti del sito come ad esempio parte dei log, i background e le chat. Negli ultimi anni ho iniziato ad utilizzare anche la tecnologia Ajax e ho riscritto parte del codice in modo da poterla integrare in modo soddisfacente. Siccome il progetto non è mai stato riscritto da zero, anche se ha visto una revisione pesante tra il 2006 e il 2009 (aka TdL 2), non ho fatto uso di un framework Ajax e alcune parti delle regole d20 e D&D sono hardcoded.
A che tipo di programmatore consiglieresti il tuo pacchetto? Esperti o anche i neofiti?
Dipende molto dall'uso che se ne vuole fare. Direi che per come è strutturato e anche per quello che ho detto prima può andare bene sia per neofiti sia per programmatori esperti. Nel caso di neofiti consiglio di far partire il tutto così senza toccare niente e magari man mano che si studia il codice andare a modificare quello che interessa, ma sempre un passo alla volta. Nel caso di programmatori esperti invece, bhè... non credo di dover dargli nessun consiglio, giusto? ;)
TdL Open source è sviluppato appositamente sul D20 system e D&D.. ritieni ci voglia molto per trasformare il pacchetto affinchè sia "compatibile" con altre ambientazioni?
Allora... domanda molto interessante. Posso dirti che in base alle conoscenze di coloro che lo utilizzeranno possiamo distinguere 3 casi. Il primo è quello di non modificare il pacchetto e di lasciare tutto così. Il secondo è quello di scorporare dalle regole specifiche di D&D TdL Open Source e lasciare solo quelle del D20 system e questo secondo me richiede un livello di programmazione media (in base alle mie conoscenze) e qualche mese lavorandoci 3-4 sere a settimana. Il terzo, ed ultimo caso, invece è quello di voler cambiare tutto il core (quindi sia D20 che D&D). Qui non so sinceramente se ne valga la pena, io lo sconsiglio, si può fare è... però non è nè semplice nè veloce. Un appunto lo voglio fare sull'ambientazione. Per come la vedo io se si rimane nell'ambito di D&D e D20 system può essere fatto molto tranquillamente anche da programmatori neofiti. Ricordiamoci però che sempre di programmatori stiamo parlando che non sono coloro che scrivono: "ciao io non so niente di programmazione ma voglio fare questo questo e questo" oppure che non riescono ad identificare un errore di sintassi del codice che hano modificato loro stessi ma una persona che seppur non ha grande famigliarità con la programmazione nè conosce i principi e le basi.
Ho notato che ti stai dando molto da fare nel sviluppare nuove patch per TdL Open Source. Dietro questi rilasci che tipo di filosofia c'è?
Si :) è vero.
Mi sto "sbattendo" (passami il termine) parecchio. Ti dico chiaramente dove voglio arrivare: voglio migliorare il prodotto affinchè possa essere completamente, al 100%, modulare, ossia fatto a moduli. Cioè che anche se "stacchi un pezzo" non comprometti la funzionalità dell'intero prodotto, vedi forum, server message, pannello admin, etc.. etc.. Come secondo punto invece voglio renderlo più dinamico possibile nell'ambientazione, ossia che l'ambientazione diventi una specie di plug-in o theme, lasciando però invariato il D20 system. Nel frattempo miglioro qua e la il codice che ancora è sporco o, a mio parere, scritto male. Ci vorrà del tempo, certo, ma quale hobbie, lavoro, o esperienza non ne richiede? Persino oziare porta via tempo... ;)
Se qualcuno è interessato al progetto come può aiutarti?
Basta fare quello che c'è scritto su gdr-online.com alla voce TdL Open Source :) ossia "Hai creato un nuova patch per questo open source? Inviala a www.gdr-online.com per vederla pubblicata!".
Grazie per il tempo che ci hai dedicato e, come sempre, in bocca al troll!
Grazie a te (voi di gdr-online) per avermi concesso questo spazio e a tutti coloro che leggeranno (spero di non essere stato troppo prolisso o stile sonnifero). Ah! e ovviamente... crepi il troll sotto il drago!!