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.