mercoledì 7 luglio 2010

Please wait

Come chi legge questo blog avrà già capito da un po' il progetto è attualmente in sosta.

La 0.2 è già un gioco giocabile e quindi ho preferito concentrare le mie energie su un progetto fermo da molto più tempo: il mio gdr fantasy dal quale è stato tratto questo RL.

Progetto abbandonato? No, soltanto parcheggiato per dare spazio ad altri progetti non meno importanti. Tutto sommato programmando questo RL ho raggiunto obbiettivi che mai mi sarei sognato e lo considero un buon risultato. Però voglio ovviamente terminare il lavoro iniziato, speravo di farlo entro il 2010 ma mi sa che si andrà oltre.

Ma non è un problema, ho tempo fino al 21 dicembre del 2012 no? :D

giovedì 27 maggio 2010

Magic 0.0.6 - Abilità Speciali

Ho deciso di non farmi prendere dall'entusiasmo degli ultimi test sugli incantesimi e iniziare quindi a programmare il tutto dalla base.

Ma andiamo con ordine.

Finiti i test su Fire Arrow ho iniziato quelli su Explosion per vedere il funzionamento di incatesimi esplosivi. Salvo alcuni problemi sull'animazione che dovrebbero essere di facile soluzione, l'incantesimo explosion è perfettamente operativo. Quindi, maghetti miei, fra poco avrete la vostra brillantissima palla di fuoco.

Poi però mi sono deciso a fare un passo indietro. Ho iniziato a progettare tutte e sei le abilità speciali e quindi adesso è possibile, in fase di creazione del personaggio, scegliere le proprie abilità speciali. Durante il gioco sarà possibile incrementare le abilità speciali con i punti incremento. Tuttavia la scelta iniziale vincola l'incremento alle sole abilità scelte, quindi anche in questo caso bisognerà fare attenzione e capire effettivamente cosa si vuole dal personaggio.

Hardiness (Solidità) è l'unica abilità speciale che funziona già. Le altre devo attivarle pian piano.

giovedì 20 maggio 2010

Magic 0.0.3 - Prove tecniche

Ho iniziato lo sviluppo della parte che dovrebbe, alla fine, portare il gioco ad avere un piccolo sistema di magia. Credo che questo passo sia una specie di svolta: la cosa è piuttosto complicata, quindi se riuscirà significa che avrò superato uno scoglio non indifferente, se fallirà credo invece si fermerà tutto.

Comunque ho condotto i primi esperimenti e lanciato il primo incantesimo (freccia di fuoco) uccidendo un coboldo. Il problema sta nelle animazioni degli incantesimi e delle armi da lancio in genere: vanno migliorate molto perché a volte tagliano muri e angoli. Ho anche fatto alcuni esperimenti su incantesimi esplosivi (palla di fuoco per gli amanti del D&D) e devo dire che la cosa è andata meglio.

La settimana prossima continuerò gli esperimenti per poter avere più tipologie di incantesimi.

Non ho ancora deciso di quanti incantesimi sarà formato lo spellbook di un mago: attualmente sono 10, ma potrebbero anche essere di più, magari usando i tasti funzione.

Vedremo.

lunedì 17 maggio 2010

Magia

Ho deciso quale sarà il prossimo step del gioco e immagino che si capisca dal titolo.

La magia è un elemento fondamentale di ogni gioco fantasy anche di un gioco come Arcan Myth pensato per essere low magic (very very low magic).

So già che lo sviluppo di questa parte porterà via parecchio tempo, quindi non credo che la nuova release uscirà tanto velocemente come quella precendente. Nella fattispecie dovrò creare una classe per gli incantesimi, tutta la procedura per la memorizzazione, gestione del libro di magia, animazione dei vari incantesimi e chi più ne ha, più ne metta.

Gli incantesimi saranno comunque simili a quelli di Arcan Myth, anche se penso di iniziare con una lista di 10/20 incantesimi per poi ingrandirla con il tempo. Saranno potenziabili solo nell'effetto diretto e non in raggio d'azione, area d'effetto e altri parametri in quanto risulterebbe troppo difficile e pesante dar risalto a questi aspetti. Il mago, se ne avrà la capacità, dovrà impostare la potenza dei propri incantesimi come se fosse una modalità (ad esempio searching) e una maggior potenza significa anche maggior dispendio di mana.

Alla luce di tutto questo credo sia difficile compilare una tabella effettiva di obbiettivi, quindi la rimando magari a più avanti quando avrò ben chiaro come costruire determinate cose.

mercoledì 12 maggio 2010

Arcan Myth RL 0.2.1

Stasera ho pubblicato la versione 0.2.1 che allinea il codice all'ultima versione di Tango e DMD e corregge il bug critico di cui parlavo nello scorso post.

In realtà ho aggiunto anche un paio di creature nuove per i primissimi livelli per renderli più vari.

Ora la piattaforma di sviluppo è completa e posso iniziare finalmente questi test.

lunedì 10 maggio 2010

Bug, compilatori e problemi tecnici

Come sapetelo sviluppo del roguelike è fermo per farmi tirare un po' il fiato e dare spazio anche ad altre mie attività (Kung Fu Verona per esempio), ma avevo comunque deciso di continuare a fare dei test sul motore di gioco per decidere quale sarebbe stata la parte da sviluppare per arrivare alla 0.3.

Ma è sorto un problema.

Infatti la 0.2 ha un bug critico che si manifesta dal settimo livello del dungeon in giù: in pratica quando si entra in uno di questi livelli c'è la possibilità che il gioco vada in crash (segmentation fault) a casua di un array con la misura sbagliata. Ho corretto il Bug sabato sera ma poi non ho avuto il tempo di sostituire il pacchetto per il download.

Il problema è che Sabato ho anche deciso di reinstallare il sistema operativo (Kubuntu) nella sua ultima versione (10.04), salvando i dati e riformattando. La cosa è andata a buon fine e, al di là di ovvi problemi di ambientamento, sono piuttosto contento.

Ma la sopresa arriva per quanto riguarda il D-Tango. Infatti prima di reinstallare mi sono assicurato che i pacchetti Tango fossero pronti per la nuova versione, ma non erano supportati da DSSS, il mio compilatore preferito. Chiedendo sul forum mi è stato risposto che esisteva un nuovo progetto chiamato LDC che avrebbe in qualche modo soppiantato DSSS non più supportato. Potevo così reinstallare contento.

Le cose però sono andate un po' diversamente: LDC non ne voleva sapere di compilare i miei sorgenti, ma più che altro perché la nuova versione di Tango aveva modificato parecchie librerie. Una volta allineate, e scaricato gcc, ho potuto utilizzare LDC per compilare. Anche in questo caso però il comnado per LDC prevede di elencare tutti i file che vengono importati, cosa che con DSSS non accadeva e che lo rendeva così utile.

Ma non sono poi così schizzinoso: insomma se LDC regala maggior performance sono anche disposto a creare un mio bash script che compili tutto.

Ma qui sono nati i veri problemi.

L'ultima compilazione con LDC crea un eseguibile LENTO, ma molto lento: figuratevi che non sono nemmeno riuscito a farlo partire perché dopo 10 minuti che aspettavo che l'inizializzazione finisse ho lasciato perdere e sono andato a letto.

Ho deciso così di tornare a DMD, tanto anche con quel comando dovevo far la lista di tutti i file, quindi tant'è. Testato or ora il gioco è tornato alla sua velocità abituale e quindi tutto, almeno per il momento, è risolto.

Voglio comunque tentare di reinstallare DSSS :-)

giovedì 6 maggio 2010

Arcan Myth RL 0.2

Ci siamo. A poco più di due mesi dalla 0.1 arriva questa nuova versione (disponibile nella pagina downloads) che introduce tutte le novità prefissate, raggiungendo quindi il suo obbiettivo. Il gioco, per chi ha provato solo la 0.1, è sostanzialmente stravolto.

Il cambio d'interfaccia, le possibilità tattiche, la varietà e la grandezza dei dungeon, la differenziazione delle abilit delle armi e tante piccole chicche rendono questa versione un rogue like sicuramente più piacevole (e più difficile) da giocare.

Tuttavia lo sviluppo per un po' si fermerà qui. Infatti ho deciso di prendermi una sorta di pausa da questo gioco per fare dei test che porteranno all'inizio dello sviluppo della 0.3. Nel frattempo sarò comunque disponibile per la gestione e la risoluzione dei bug.

Ma di questo ne parleremo più avanti.

giovedì 29 aprile 2010

Cave 0.5.9 - Specializzazioni e varietà

Questa settimana è stata molto produttiva e tutte le cose realizzate hanno avvicinato la versione di sviluppo a quella di pubblicazione.

Adesso il gioco propone 4 tipi diversi di dungeon, aggiungendo varietà al solito dungeon standard formato solo da stanze e corridoi. Questi nuovi modelli però non saranno disponibili nei primi livelli in quanto rendono il gioco più difficile perché consentono alle creature di avvicinarsi al giocatore con maggior facilità: forse dovrei limitare questo aspetto ma attendo alcuni feedback dai miei tester.

Ho aggiunto nuove abilità per le armi. In sostanza adesso non sarà più possibile usare qualsiasi arma con la stessa abilità: FIGHT è stata relegata al solo combattimento a mano nuda. Le abilità aggiunte sono per varie tipologie di arma e hanno costi differenti: Little weapons (Daga e Coltello), Axes (Accetta e Ascia), Swords (Spada Corta e Spada), Sabres (Sciabola e Scimitarra), Maces (Mazza e Morning Star), Pole Weapons (Lancia e Alabarda) e 2 Hands Weapons (Martello da Guerra, Ascia da Battaglia e Spadone a 2 mani). Per gli archi e le balestre rimane un'unica abilità (Throw). Naturalmente più l'abilità fa maneggiare armi potenti e maggiore è il suo costo in termini di punti incremento; tuttavia occorre valutare che le armi più forti si trovano nei livelli più bassi e le armi a 2 mani non consentono di utilizzare l'arma doppia.

Ho introdotto la Minimappa (comando m) che consente di vedere una mappa grezza in miniatura della zona esplorata: questo aspetto è da migliorare per renderlo visivamente più gradevole e dare magari più informazioni sul dungeon stesso.

La morte del personaggio avviene visivamente in maniera diversa: in sostanza scompare dal dungeon e, se saranno presenti fonti di luce, si vedranno le creature muoversi o allontanarsi dalla zona di battaglia. Premendo ESC si ritornerà alla schermata principale.

A parte l'eliminazione di alcuni bug minori, mi pare che sia tutto. Oramai le specifiche per la 0.2 sono state ampiamente superate, quindi questa settimana la spenderò a fare test e a correggere i bug che mi segnaleranno. Spero comunque di poter pubblicare prima di giovedì prossimo.

Vedremo :-)

giovedì 22 aprile 2010

Cave 0.4.8 - Non sottovalutiamo il nemico

Come avevo predetto nel post della scorsa settimana in questi giorni ho concentrato lo sviluppo sul miglioramento dell'intelligenza artificiale delle creature.

L'AI è quindi migliorata, ma non si tratta della versione definitiva, è semplicemente quella che basta per il momento. In sostanza adesso una creatura insegue mr @ per attaccarlo senza fare movimenti casuali e riesce ad aggirare anche piccoli ostacoli: tuttavia ostacoli più grandi bloccano le creature, ma questo sarà risolto quando deciderò di migliorare ulteriormente l'algoritmo. Le creature cercano anche, nel limite del possibile, di evitarsi tra di loro per concentrare gli attacchi sul nemico comune: non ho ancora inserito l'opzione di non attaccare creature a meno che questa non sia una prerogativa della creatura che attacca, anche perché vorrei legare questa scelta alla razza della creatura stessa: magari è più facile che un goblin attacchi un millepiedi piuttosto che un altro goblin o un orco suo parente.

Ho risolto anche alcuni bug minori, come la scritta di salvataggio corrotto all'uscita dal gioco e l'apparizione , apparentemente casuale, di nuove creature quando queste si uccidevano tra di loro.

Con questo miglioramento si concludono gli obbiettivi previsti per la 0.2, ma come ho già detto aspetterò ancora prima di pubblicare per cercare di offrire una maggiore varietà nei dungeon casuali. Spero comunque che la pubblicazione avvenga presto, magari entro 2 settimane.

giovedì 15 aprile 2010

Cave 0.4.4 - Tattiche di battaglia

Questa settimana è stata molto più produttiva della scorsa e in effetti si sono aggiunte parecchie features che stanno andando a completare la tabella che avevo redatto in questo post ai primi di marzo.

Da quest'ultima versione impugnando due armi si ha diritto ad un attacco in più: tuttavia occorrerà l'abilità di ambidestrismo per portarlo efficacemente; infatti l'ultimo attacco verrà portato con l'abilità dal valore più basso tra ambidestrismo e combattimento. Questa regola è identica a quella presente nel gioco di ruolo Arcan Myth di cui sono co-autore.

Inoltre è possibile impostare il tipo di attacco, se normale o moltiplicato: in questo secondo caso si ha diritto a due attacchi (con l'arma principale) ma il primo avrà un malus di -2 e il secondo di -4. Ne consegue che impostando l'attacco multiplo e impugnando una seconda arma si potranno fare ben 3 attacchi e con le abilità ben studiate questo può rendere mr @ un temibile guerriero.

Naturalmente è stato aggiunto un controllo che distingue le armi per cui servono 2 mani (grandi armi o armi da lancio) e le altre per le quali è sufficiente una mano sola.

Anche la generazione casuale del dungeon è migliorata: ho sostanzialmente eliminato le "porte volanti" rendendo quindi il sotterraneo più credibile e concludendo quindi anche questa parte.

Al momento l'unica feature che è rimasta fuori dalle competenze della famosa tabella è il miglioramento della AI delle creature che comunque conto di fare la settimana prossima. Tuttavia non penso che pubblichero la 0.2 perché volevo migliorare ancora la parte di creazione casuale del dungeon: infatti mi piacerebbe riuscire a costruire altre funzioni di generazione per tipi di dungeon differenti dal solito corridoio stanza, oppure per fare in modo che la creazione utilizzi delle stanze speciali al posto di quelle standard.

Comunque spero non ci voglia molto.

giovedì 8 aprile 2010

Cave 0.3.9 - Armiamoci fino ai denti

La settimana scorsa non ho proseguito lo sviluppo a causa di una brutta influenza che ha rallentato il lavoro anche per questa settimana. Le cose da fare sono ancora molte, ma la pubblicazione della 0.2 non è distantissima, almeno credo.

In questi giorni ho mdoficato la funzione che genera il dungeon per far in modo che i corridoi siano solo perpendicolari tra loro: ho valutato la cosa abbastanza bene prima di renderla definitiva, ma giocare in un dungeon più "squadrato" mi sembra decisamente più divertente che non in quello che si generava prima. Inoltre ho lasciato più spazio tra una stanza e l'altra per avere ancora meno confusione.

Altra cosa implementata è la possibilità di impugnare la seconda arma, ma questa non può ancora essere usata in combattimento: fortunatamente il recente refactoring mi consentirà di modificare il sistema di combattimento in colpo solo.

Sto lavorando ad altre feature più "nascoste" per ottenere maggior comodità in caso di creazione o caricamento del personaggio.

Spero che la settimana ventura sia più produttiva.

giovedì 25 marzo 2010

Cave 0.3.2 - "Circondatelo!"

Questa settimana lo sviluppo è ripreso a ritmi normali apportando al gioco altre piccole feature e novità.

Per prima cosa il death system è stato completato, quindi quando i punti vita scenderanno al di sotto della metà dei totali inizieranno i guai: avere un buon tiro salvezza in costituzione sarà cosa buona per chi vuole sperare di cavarsela in situazioni disperate. Il death system funziona anche per le creature, quindi sarà più facile farle fuori, ma non per i non morti: la mummia diventa quindi un avversario piuttosto temibile e bisognerà stare molto attenti dal terzo livello in poi.

Il sistema di combattimento ora lascia la scelta al giocatore se puntare sulla parata o sulla schivata per quanto riguarda la difesa: parare comporta più svantaggi che vantaggi, ma consente di difendersi anche se uno non ha l'abilità di schivare e questo non è poco considerando che i l'abilità evade ha costo doppio e consuma quindi un sacco di punti. Una strategia che punta sulla parata con l'arma e sull'alzare il tiro salvezza in costituzione potrebbe rivelarsi tutt'altro che stupida. Parare consente quindi di utilizzare l'abilità FIGHT al posto di EVADE, ma se l'avversario ha un arma di taglia superiore alla nostra si avranno dei malus piuttosto pesanti alla parata stessa. La cosa vale, come sempre, anche per le creature. Il tasto z consente di switchare tra modalità parata e modalità schivata (block/evade).

Da oggi tutti quanti potranno fare una sola difesa per round. Questo va a discapito del personaggio che, se si ritroverà circondato, rimarrà senza difese di fronte ad altri attacchi. Tuttavia ho messo una soglia minima (20) per poter colpire un avversario indifeso ma consapevole: al di sotto di questa soglia si manca il bersaglio. Questa modifica è già strutturata per implementare più difese per round e più attacchi per round, che sono un'altra feature prevista per la 0.2 e che spero di poter implementare la prossima settimana.

Infine, come ultima chicca, da questa versione è possibile scegliere il nome del proprio personaggio e avere quindi salvataggi diversi :-)

giovedì 18 marzo 2010

Cave 0.2.4

Mi sono preso una settimana di relax dal progetto sistemando solo alcune cosette e alcuni bugs.

Prima di tutto ho dato colore al dato dei punti vita: verde al massimo, giallo ferito, rosso in pericolo e infine evidenziato in rosso quando c'è il rischio concreto di morire. Questo sistema sostituirà i warning delle ferite facendomi guadagnare spazio sull'interfaccia e introduce infine il dead-system di Arcan Myth, dove c'è rischio di morte al di sotto della metà dei punti vita con ferite non stabilizzate. Questo renderà più semplice la morte sia di Mr @ che delle creature, ma introdurrà il sostanziale vantaggio dei non-morti, che non crepano finché non raggiungono lo zero.

Ho risolto invece il bug che assegnava alle creature di un stesso livello, lo stesso oggetto: in realtà questo si verificava al caricamento di un salvataggio, quindi di prima mano non accadeva e questo ha reso difficile l'individuazione del problema.

Un problema invece ancora da risolvere è la velocità di caricamento di un vecchio salvataggio: attualmente risulta molto lenta, non tanto per la dimensione del file, ma per l'estrazione delle creature dei vari livelli. Giocando normalmente se arrivo al livello 6 o 7 del dungeon senza aver ucciso gran parte delle creature, salvando e ricaricando avrò un attesa di 30 (!!!) secondi, cosa inpensabile per un gioco del genere.

La soluzione però non è semplice: o ricreo da zero le funzioni di estrazione oppure cerco una via per ottimizzarle. Vedremo.

giovedì 11 marzo 2010

Cave 0.2.2 - Riduzione dell'interfaccia

Con Cave 0.2.2 è stato centrato un altro degli obbiettivi prefissati, ossia quello di ridurre l'interfaccia per essere visualizzata nello spazio disponibile in una console di default.

La cosa potrebbe sembrare abbastanza semplice, ma una console linux ha, di norma, 80 colonne per 24 righe che rispetto all'interfaccia di prima è veramente poco. Tra l'altro delle 24 righe, solo 23 sono utilizzabili in quanto quando la numero 24 viene occupata, la console scala lo schermo verso l'alto di una riga, automaticamente tagliando quindi la riga superiore dell'interfaccia.
Naturalmente se non avessi prima implementato lo scroll della mappa questo obbiettivo non sarebbe stato realizzabile, ma sono piuttosto contento di aver risolto il tutto in una settimana.

Comunque l'ottimizzazione dell'interfaccia di gioco rimane un aspetto sempre sotto controllo e che porto avanti anche durante lo sviluppo di altre feature. Infatti questa disposizione non mi consente di realizzare alcune altre idee che avevo in mente, ma alle quali non voglio rinunciare e quindi continuerò a riflettere su come guadagnare nuovi spazi senza che la giocabilità ne risenta.

giovedì 4 marzo 2010

Cave 0.1.7 - Primo Dungeon Random

I primi esperimenti sui dungeon creati in modo random stanno andando bene.

Rimangono i problemi citati nel post della settimana scorsa (quelli sulle porte per intenderci), ma ho aggiunto alcune chicche.

Innanzitutto ora il dungeon è completo di trappole, porte segrete e porte chiuse a chiave (queste due ultime sono il 5/10% delle porte totali)  e il dungeon è ora più grande di circa 1/3 rispetto a quelli di prima.

Ho inoltre aggiunto lo scroll dello schermo, centrando fin da ora una delle feature che mi sono proposto. Questo obbiettivo è in realtà basilare per raggiungerne altri come la riduzione dell'interfaccia ad esempio.

Nel forum di Rogue Temple mi hanno fatto notare che non si capisce fin da subito che la finestra di console deve essere allargata e così ho messo un avviso sulla schermata d'entrata, speriamo che serva.

Ho notato un bug che devo ancora analizzare con attenzione: in alcuni livelli tutte le creature portano tutte lo stesso equipaggiamento. Può darsi che sia saltato fuori solo ora a causa delle modifiche ai sistemi di salvataggio (per gestire i dungeon di dimensioni differenti).

Per il momento è tutto.

mercoledì 3 marzo 2010

Arcan Myth RL 0.2 - Cave

Così come ho fatto per la versione 0.1, anche per questa ho deciso di creare una lista di obbiettivi da raggiungere prima della pubblicazione.

La 0.1 in realtà ha disatteso alcune specifiche che avevo preventivato, ma in compenso ne ha raggiunte altre allora insperate, quindi mi sento di poter dire che questa lista non è così rigida come vorrei, ma potrebbe variare man mano che si avanza nello sviluppo.

Le caratteristiche probabili della 0.2 saranno:
  • Creazione casuale dei dungeon alla prima visita del personaggio
  • Scroll della mappa
  • Nome del personaggio assegnabile
  • Riduzione delle dimensioni dell'interfaccia
  • Implementazione di attacco e difesa multipli
  • Implementazione del tipo di difesa da adottare (blocco / schivata)
  • Migliorare l'AI delle creature
Ci sarebbero forse altre cose da aggiungere ma penso che ci sia già abbastanza carne al fuoco; nella fattispecie la creazione casuale dei dungeon ed il miglioramento della AI credo mi porteranno via parecchio tempo.

giovedì 25 febbraio 2010

Cave 0.1.1

Una prima versione del generatore casuale di dungeon è pronta, però mancano alcuni piccoli ma fondamentali elementi per integrarla nel gioco.

Innanzitutto manca un controllo che stabilisca se il dungeon è chiuso oppure no, ma penso che risolverò questo dilemma semplicemente "incorniciandolo" e chiudendo quindi le scappatoie che manderebbero in crush il gioco. Manca poi una funzione che piazzi ad arte le scale per scendere e salire: sarebbe bene che non fossero troppo vicine ma nemmeno troppo distanti, anche se su questo aspetto credo di dover riflettere ancora un po'.

Il grande problema della generazione del dungeon è il piazzamento delle porte: nei primi script le porte venivano disposte lungo i muri di una stanza quando questi incontravano dei corridoi, ma ottenevo sempre stanze con una sfilza di porte che, se aperte, avrebbero dato su un muro. Mi sono quindi documentato su rogue basin e su ascii dreams ed ho trovato parecchi buoni spunti per migliorare la funzione. Il risultato attuale è soddisfacente anche se ampiamente migliorabile: qualche porta sperduta tra gli spigoli si trova ancora, ma questo è inevitabile con la creazione al volo delle porte; questo aspetto può migliorare soltanto aggiungendo dei controlli al creatore di corridoi, ma per il momento non ho intenzione di migliorare questo metodo.

Preferisco infatti concentrarmi su alcuni altri dettagli come appunto le scale oppure le trappole.

mercoledì 24 febbraio 2010

Arcan Myth RL 0.1

Ecco qui disponibile l'archivio compresso con il binario per Linux Debian Ubuntu.

Il gioco funziona in teoria su tutte le piattaforme linux (testato su anche su Fedora) ma potrebbe avere alcuni inconvenienti grafici a seconda delle impostazioni di console.

Per segnalazione di bug utilizzate pure i commenti di questo post.

venerdì 19 febbraio 2010

Labyrinth 0.9.2 - Permadeath >:-)

Siamo agli sgoccioli per quanto riguarda la pubblicazione del primo eseguibile (ovvero Arcan Myth RL 0.1) e come si può vedere qui accanto è già pronto lo spazio per il download che sarà disponibile a giorni.

Ho anche costruito una pagina sul wiki di Rogue Like Basin dove metterò le informazioni peculiari del gioco in (pessimo visto che non lo conosco) inglese.

Quest'ultima versione vede alcuni ritocchi sui colori: le armi sono colorate anche nelle schermate di inventario ed equipaggiamento e sono state colorate tutte (prima solo alcune avevano il colore mentre le altre erano bianche di default).

L'ultima novità riguarda invece l'introduzione della morte permanente del personaggio, visto che il file di salvataggio, se esiste, viene cancellato al momento del decesso. Naturalmente bisogna ricordare che a livello di roguelike questa deve essere considerata una feature e non un limite: infatti secondo i gamedesigner questo tipo scelta aumenta la rigiocabilità.

Attualmente i miei tester stanno valutando questa versione alla ricerca di BUG bloccanti dopo di che la prima versione verrà pubblicata; se ciò dovesse avvenire terminerebbe qui il progetto Labyrinth e inizierebbe invece il progetto Cave, il cui scopo principale è quello di dotare il gioco di dungeon generati casualmente.

lunedì 15 febbraio 2010

Fame e cibo

Tra influenza e numerosi impegni (tra cui come sempre Kung Fu Verona) la scorsa settimana non sono riuscito a fare molto, quindi il nuovo report passa a dopo domani.

Giocando a Crawl mi sono accorto che una parte fondamentale di quel roguelike e di molti altri è il sistema di fame/cibo.

L'ho definita "fondamentale" perché in crawl chi non mangia, non vive e muore di fame/stenti e bisogna mangiare abbastanza spesso, tanto da diventare una vera rottura: ad un certo punto la ricerca di cibo diventa la quest primaria e molto spesso il cibo improvvisato si deteriora e non è più commestibile.

In sostaza la problematica diventa di tipo primario e deconcentra dalle altre azioni di gioco che però sono più divertenti e sono quelle che maggiormente spingono a giocare.

Angband aveva un sistema simile ma, se non ricordo male, faceva semplicemente svenire il personaggio esponendolo maggiormente ai pericoli oppure salvava e usciva dal gioco.

Attualmente non so se implementerò sistemi per la gestione della fame e questo perché, in sostanza, durante una normale sessione di GDR, salvo determinate circostanze, cibarsi non è mai stato un problema, ma anzi un motivo di aggregazione del gruppo, di discussione, di confronto e di raccolta di informazioni.

Quindi secondo me ha poco senso inserire un qualche cosa che non sarà affatto divertente e che potrebbe far smettere di giocare.

venerdì 5 febbraio 2010

Labyrinth 0.8.8 - Rinfrescare

Avvicinandomi alla release di pubblicazione ho deciso di migliorare il refresh dello schermo.

Infatti alcuni tester hanno notato che il continuo refresh dello schermo disturba notevolmente in caso di azioni prolungate o nella modalità REST. Questa effetto diventa più evidente se anziché giocare direttamente dalla console, si prova a lanciare il gioco da XTERM oppure da remoto tramite una connessione SSH.

In questa versione il problema è stato risolto dando priorità ai refresh veramente necessari (come la mappa ad esempio) e lasciando il resto com'era. L'operazione ha portato via parecchio tempo e quindi non ho potuto lavorare su molto altro.

Ho cambiato una piccola cosa nella configurazione dei tasti togliendo la possibilità al tasto 5 di andare verso il basso, ma servirà per rimanere fermi.

giovedì 28 gennaio 2010

Labyrinth 0.8.6 - Technicolor

Questa settimana ho introdotto i colori per le creature ed ho impostato le razze, che però vedrò più avanti. Inoltre adesso la lanterna ha una luce gialla e illumina anche i muri vicino, dando proprio un effetto "esplorazione". Le creature non hanno più l'evidenziazione quando sono selezionate, ma una sottolineatura: questo aspetto cambierà appena riuscirò ad aver ragione del cursore della console.

La finestra che contiene il dungeon è stata allargata e di conseguenza anche quella dei messaggi; quest'ultimi adesso non possono più "sforare" perché un controllo li spezza se per caso sono troppo lunghi.

Le creature aprono le porte in base ad una probabilità derivante dalla natura e dall'intelligenza della creatura stessa.

Non ho aggiunto difficoltà al gioco, ma giocandone un altro ho visto che si muore come mosche: non vorrei ottenere un effetto simile ma preferirei qualche cosa di più cauto ma anche più difficile.

Probabilmente a breve inserirò la regola di arcan myth che s'iniziano i tiri salvezza contro la morte quando si scende al di sotto della metà dei punti ferita totali.

Allora sì che ci sarà da tenere d'occhio certi valori.

giovedì 21 gennaio 2010

Labyrinth 0.8.2 - La creatura finale

La versione 0.8.2 apporta molti miglioramenti a livello di velocità: i dati pesanti vengono caricati tutti quanti prima della schermata di presentazione. Pensavo di caricare in questa fase anche i livelli, ma visto che prossimamente devo costruire la funzione che li costruisce random, mi sembra uno sforzo inutile.

Ho aggiunto una creatura unica, un darkon, che si trova in fondo al dungeon ed indossa lo sferoide di Narus, quindi occorrerà ucciderla per riuscire nella quest principale.

Risolti alcuni bug sulla quest: ricaricando il gioco dopo averla risolta la faceva apparire ancora come non risolta.

Ho inoltre variato il comando per le armi da lancio (ora si utilizza 'f' e non 't').

Grazie ai tester ho migliorato anche il comando REST che ora viene eseguito automaticamente fino a completa guarigione o finché non si viene disturbati, ho introtto il nome della creatura nel momento in cui viene selezionata con '*' (You see a mummy), ho fatto in modo che se si tenta di salire o scendere le scale ma queste non ci sono venga stampato un avviso e corretto alcuni errori di stampa (che errori di stampa non erano alla fine).

Le creature adesso sono in grado di aprire le porte quindi addio sonni tranquilli; l'unico problema è che TUTTE le creature possono aprire le porte, quindi adesso molto spesso si trovano tutte porte aperte.

Ho re-introdotto le porte chiuse a chiave che comunque non sbarrano mai la strada verso la meta finale. Le trappole avevano un bug e quindi ne saltava fuori una ogni tanto: addesso sono apposto e sono commisurate al livello di profondità, quindi OCCHIO!

Credo sia tutto, alla prossima settimana :-)

giovedì 14 gennaio 2010

Labyrinth 0.7.6 - Un po' più difficile

Continuando lo sviluppo e i test ho appurato l'attuale facilità di gioco che lo porta ad essere un po' troppo corto. Così ho iniziato ad alzare alcune soglie: i punti incremento guadagnati sono molti di meno, le creature da affrontare sono molte di più e sto ancora riflettendo circa l'inserimento di un mostro finale che indossi l'introvabile sferoide di Narus. Spero che tutto questo possa aumentare la durata del gioco (nella versione precendente era di circa 40 minuti) e anche la sua difficoltà.

Inoltre ho completamente rivisto la parte delle armi da lancio: in sostanza ora oltre al guerriero è possibile creare anche un arciere o comunque un esperto in armi da lancio, visto che le abilità non sono ancora specialistiche. Tuttavia in questo contesto manca la possibilità di lanciare una freccia "a caso": infatti quando si tenta di lanciare (comando 't') viene immediatamente selezionato il bersaglio più vicino, ma in mancanza di bersagli non accade nulla. Infine se si manca il bersaglio la freccia va irrimediabilmente persa, cosa anche questa da studiare.

Rivedendo il primo post sugli obbiettivi di Labyrinth mi sento di poter dire che occorre rettificare qualcosa: innanzitutto non ci saranno 10 oggetti magici, sono troppi e credo che invece saranno si e no un paio. Inoltre non sarà ancora possibile gestire il tempo: attualmente Labyrinth è un gioco a turni puro e manca completamente di qualsiasi elemento temporizzante.

Per concludere dico che sto già pensando alla 0.2, ossia a Cave, cioè tutta la parte di sviluppo che dovrà portare ad avere dei dungeon generati in maniera random. Speriamo che i miei numerosi impegni (tra cui ad esempio Tai Chi Verona ;) ) mi consentano di portare avanti il progetto in maniera costante.

giovedì 7 gennaio 2010

Labyrinth 0.7

In questi giorni mi sono rimesso a lavorare sul progetto dopo uno stop di due mesi.

Ho ripreso in mano alcuni bug segnalati dai tester che ho risolto. Inoltre ho sviluppato un sistema di salvataggio dati più leggero ed aggiunto una serie di oggetti.

La difficoltà del gioco è ancora troppo bassa: lo finisco senza troppe difficoltà in meno di un'ora, nonostante abbia aggiunto il Darkon (elfo nero) che sicuramente non è un buon cliente. Bisognerà senza dubbio diminuire la ricompensa in punti incremento per l'esplorazione ed aumentare gli eventi che richiedano tiri salvezza.

Più in là penserò a come implementare l'intelligenza artificiale delle creature.