giovedì 17 settembre 2009

Labyrinth 0.6.3 - Altri nemici

Continua il testing e la correzione dei bug, l'ultimo dei quali consentire al tasto esc di revocare la modalità "Rest" che serve per riposarsi e recuperare ferite.

Nel frattempo ho migliorato i livelli di dungeon e soprattutto ho creato praticamente tutti i tipi di creature per la prima versione giocabile. Forse ne aggiungerò un'altra per rendere il gioco più difficile e forse, molto forse, aggiungerò una creatura unica all'ultimo livello che sia in possesso (e indossi?) lo sferoide di Narus. Vedremo.

In generale comunque, allo stato attuale, il gioco è piuttosto facile: l'ho finito in meno di un'ora senza troppe pause di riposo, quindi immagino che i nemici possano fare di meglio. Non è prerogativa della primissima versione, ma sicuramente la classe delle creature va migliorata aggiungendo dettaglio e soprattutto va migliorata l'intelligenza artificiale che in questo momento sostanzialmente non c'è.

Comunque oramai mancano solo i test di alcuni utenti selezionati, poi si potrà passare alla release di pubblicazione, agli ultimi test e finalmente Lanyrinth sarà on-line :-)

giovedì 10 settembre 2009

Labyrinth 0.6 - Fino in fondo

Rieccomi dopo una congrua pausa estiva. Questa settimana è ripreso il lavoro su Arcanrogue nella sua prima sottoversione chiamata Labyrinth.

Principalmente mi sono concentrato sulla creazione dei 10 livelli di dungeon che portaneranno Mr @ a recuperare lo sferoide di Narus (§) e riportarlo su. Nel frattempo ho aggiunto altre due creature alla lista: un goblin/orchetto (orc) e una mummia (mummy). Quest'ultima è particolarmente forte e incontralla in livelli particolari (uno è chiamato arena) non è decisamente un incontro facilissimo.

Sostanzialmente il gioco è pronto: si crea il pg, si gioca, si può risolvere la quest principale e salvare. Bisogna però risolvere alcuni BUG prima di poterlo pubblicare (senza contare tutti quelli che verranno scovati dopo), aumentare la lista delle creature e degli oggetti. Poi ci sono anche alcuni bug nel salvataggio/caricamento, nella visualizzazione dei dati e nell'equipaggiamento degli oggetti.

Sistemato questo, direi che si può attivare il download :-)

giovedì 25 giugno 2009

Labyrinth 0.5.3 - Inventario di magazzino

Il main project prosegue il suo sviluppo anche se rallentato da altri due fattori: il kung fu (vedi kung fu verona) e il mio gdr fantasy, dal quale poi è tratto questo RL.

In questi giorni sto organizzando le liste degli oggetti che possono essere indossati dalle creature presenti nel gioco, giusto per fornire equipaggiamenti un po' più vari. Poi ovviamente dovrò programmare una funzione che equipaggi effettivamente le creature al momento della creazione.

Ho comunque notato, equipaggiando tutte le creature che possono portare oggetti, che ne rimane a terra un numero spropositato: per fare un esempio, ho fatto in modo che tutte le creature di un certo tipo fossero armate di ascia grande, con il risultato che a terra sono rimaste un sacco di ascie, di cui il giocatore al momento non sa che farsene. Chiaro che con l'introduzione di altri oggetti la cosa sarà più variabile, ma non così tanto da non lasciare a terra almeno un terzo di ciò che si trova.

Forse è questo il motivo per cui negli RPG per computer le creature non lasciano quasi mai a terra ciò che impugnano ma, inverosimilmente, altri oggetti.

Probabilmente nel medioevo dopo le battaglie c'erano molte armi, armature e scudi da recuperare, sempre che non fossero irreparabili.

Comunque saranno problemi del giocatore :-)

giovedì 4 giugno 2009

Voi siete qui ->

Siccome in queste settimane sono ultra impegnato, lo sviluppo del gioco è fermo.

Tuttavia, per non lasciare soli i miei numerosissimi lettori, ho deciso di svelare qualche nota di background circa l'ambientazione e la storia del gioco. Naturalmente, tutto questo, è pensato per una versione realmente finale e non per quella giocabile che penso sarà pubblicata per fine agosto.

Il tempio iniziale dov'è situato?

Il tempio di partenza è collocato in un punto ben preciso di Endymia (l'ambientazione del mio gdr fantasy) ed esattamente si trova nella città di Codron, sull'isola di Nakadoom, vicino alle coste della regione Acronia nel continente Elvenia.

Le ragioni di questa scelta stanno nella convinzione che tutta l'isola di Nakadoom possa, nella versione finale, divenire l'ambientazione del roguelike. Infatti, grazie alla sua storia, Nakadoom è il luogo ideale in cui ambientare un gioco, in quanto sono presenti molti degli elementi dell'ambientazione completa ed è comunque abbastanza lontana dalle grandi terre da potersi considerare un sistema isolato.

Arrivare e lasciare Nakadoom

Raggiungere e lasciare Nakadoom non è semplicissimo. L'isola ha una brutta fama, anche se negli ultimi anni le cose sembrano migliorate, quindi non vi sono molte navi che vi fanno scalo e l'unico porto di cui le compagnie sembrano volersi fidare è quello di Codron. Il gioco potrebbe iniziare con l'arrivo del PG sull'isola, sempre che non sia un autoctono, ma potrebbe finire con il PG che lascia l'isola per il continente. Naturalmente in questo caso si potrebbe dare al giocatore la libertà di decidere se far tornare un domani il suo personaggio, ma si vedrà.

La città di Codron

Codron è la più grande città dell'isola e fino a pochi anni fa era la capitale di un governo dittatoriale che formalmente estendeva il suo dominio su tutta l'isola, ma di fatto riusciva a controllare solo la regione attorno alla città. Il dittatore però è caduto ed ora ha avuto inizio una sorta di repubblica che però stenta ad atticchire.

La setta di Nelriosef

Tradizionalmente sull'isola è presente un grande tempio di Nelriosef (divinità che si può sommariamente ed un po' erroneamente definire malvagia) la cui setta ha spesso sparso il terrore, rapendo infanti e assoldando svariati adepti.

Questo è tutto per il momento, magari più avanti scriverò ancora sulla storia di Nakadoom e di Codron e sulle leggende che ruotano attorno ad essa.

giovedì 28 maggio 2009

Labyrinth 0.5.2 - Oggetti fantastici

Visivamente non è cambiato molto nel gioco, anzi direi nulla.

Tuttavia ho completato, almeno per il momento, il progetto sugli oggetti: allo stato attuale posso ricreare oggetti di tutti i tipi, con diverse maledizioni o con dei modificatori negativi, oppure oggetti magici, che possono dare ogni tipo di bonus se indossati.

Nonostante abbia già affermato che gli oggetti magici sarebbero stati rari, questo passaggio è fondamentale per la buona riuscita del gioco.

La vera novità, che nei vari roguelike che ho giocato non ho mai visto, è che un oggetto magico/maledetto può essere indossato anche da una creatura ed ha egualmente effetto. Perciò quando troverete un goblin con equipaggiamento normale, sarà una cosa, quando ne troverete uno con uno o più oggetti magici, sarà un'altra. Questo fa si che, ad esempio, possa legare alcuni oggetti magici a mostri unici che magari sono tali (cioè famosi) proprio grazie all'utilizzo di quell'oggetto magico.

Queste implementazioni hanno portato via parecchio tempo, principalmente perché vanno ad influire su svariati aspetti del gioco (come ad esempio il salvataggio) e quindi c'è stato molto lavoro da fare.

Comunque sia, sono sempre più vicino al raggiungere una versione giocabile del gioco stesso.

Rimanete sintonizzati :-)

giovedì 21 maggio 2009

Labyrinth 0.4.8 - salvate il nostro eroe


Questa settimana ci sono numerose novità: molte cose sono tecniche e quindi non percepili. La più importante è una gestione più leggera degli oggetti presenti nel dungeon consentendo al gioco di essere comunque più veloce.

L'altra grande implementazione della settimana è la possibilità di salvare e caricare una partita: è stata una mezza impresa perché attualmente d.tango non supporta la serializzazione degli array e delle classi, se non tramite alcuni artifici piuttosto macchinosi.

Ora viene generato un testo che poi viene salvato su file (di testo); prossimamente provvederò a trasforamre questi dati compattandoli e criptandoli per evitare il cheating. Non so ancora come fare, in quanto anche in questo caso, il supporto che fornisce d.tango mi sembra scarso, ma devo ancora indagare a fondo. Comunque allo stato attuale il salvataggio e il caricamento funzionano, anche se lavorano su file di testo.

In questa versione inoltre è stata migliorata la piccola interfaccia, rendendola più godibile (a qualcuno piacevano i colori sgargianti?) ed è stata migliorata la creazione del personaggio.

Nella settimana che seguirà, quasi sicuramente mi dedicherò a terminare e ottimizzare il salvataggio e il caricamento, ma se avanzerà tempo dovrò lavorare sulla tipologia delle creature e sull'assegnazione di equipaggiamento alle stesse.

giovedì 14 maggio 2009

Labyrinth 0.4.2 - La genesi

Lo sviluppo del gioco nell'ultima settimana è accelerato parecchio e ci sono diverse novità.

Innanzitutto con l'introduzione di PKCurses, (una classe da me create), Labyrinth ha finalemente ina piccola interfaccia (una serie di cornici in realtà) e quindi risulta più ordinato e leggibile. Inoltre ho implementato quasi tutte le funzionalità mancanti citate la volta scorsa: il personaggio può ora riposare per rigenerare le ferite, esistono dei flag che indicano la gravità delle ferite ricevute da Mr @ e la modalità di seraching si disattiva nel caso in cui si venga attaccati.

Ho creato un finestrella laterale alla mappa dove vengono riassunte le statistiche più interessanti del proprio personaggio, ma nella stessa finestra si visualizzarà lo stato di "benessere" del nemico di turno, con una barra che ne indica i punti vita e che cala e cambia colore in base ai danni subiti.

Ho sistemato il livello del tempio che da questa versione è diventato il livello zero del gioco stabilmente: al centro del tempio è stato messo l'alto altare di Zutra.

Dall'ultimissima versione il gioco si apre con una semplice schermata di presentazione, dopo di che verrà proposto un menù da quale è possibile scegliere se iniziare a giocare o uscire dal gioco. Scegliendo di iniziare si passerà alla creazione del personaggio: in questa sezione si avranno dei punti da distribuire tra le varie statistiche e abilità. Finita la creazione s'inizia a giocare dal tempio. In caso di morte, dopo un messaggio di sistema, si torna al menù principale.

Nella prossima settimana mi dovrò concentrare sul sistema di salvataggio e caricamento, visto che il D (con Tango) non ha praticamente il supporto per la serializzazione degli oggeti e quindi avrò molto da fare.

Comunque non dovremmo essere lontani da una versione giocabile :-)

lunedì 11 maggio 2009

PKCurses

Signore e signori vi presento PKCurses :-)

Se state pensando ad una conversione di dcurses per Tango, vi state sbagliando: la cosa è al di là dei miei obbiettivi ed avrebbe richiesto decisamente troppo tempo.

Fino ad ora gli effetti testo erano lasciati ad una Struct di nome Texteffect, da oggi questo compito sarà svolto dalla Classe PKCurses che però sa fare molto di più.

In sostanza è possibile creare e piazzare una finestra dove si vuole nella console e la stessa cosa si può fare con del testo: stando bene attenti è possibile quindi mettere dove si vuole una finestra che contiene del testo. Grazie a questo sistema mi è stato possibile creare tre finestrelle: una per il gioco vero e proprio, una per i dati del PG (Mr @) e una invece per i messaggi di gioco.

Infine PKCurses permette di reinizializzare una nuova console sopra a quella vecchia esattamente come avviene nei roguelike scritti in C o C++ (e che probabilmente per ottenere tutto questo utilizzano pdcurses o ncurses).

Tutto questo ha comunque portato il gioco alla versione 0.0.3.6 (Labyrinth 0.3.6).

giovedì 7 maggio 2009

Labyrinth 0.2.9 - Sotto il tempio


Lo sviluppo procede veloce e forse quest'ultima versione meriterebbe almeno un 0.3, ma mancano ancora alcune piccole accortezze per il passaggio.
Innanzitutto ho eliminato tutti i BUG della versione precedente, anche se è stato meno semplice del previsto.

Le importanti novità di questa versione sono:
  • Implementazione delle porte segrete (se non scoperte sembrano una normale parete)
  • Modalità "searching" che aiuta ad individuare trappole e porte segrete
  • Implementazione delle porte chiuse a chiave
  • Possibilità di utilizzare l'abilità "lockpick" per scassinare le porte
  • Implementazione delle quest di base, con la quest principale già assegnata
  • Creazione del primo livello di dungeon che viene popolato automaticamente quando vi si arriva
  • Creazione di 3 tipi di creature di bassa difficoltà (centipede, spider, zombie)
  • Possibilità di accedere ad una lista dei comandi in linea premendo ?
Mi pare che sia tutto, ma penso che molto presto dovrò iniziare a scrivere un Change Log serio, visto che il gioco sta prendendo una forma piuttosto delineata.

Ci sono comunque ancora molte cose da aggiungere. Ad esempio Mr @, se viene ferito, attualmente non rigenera MAI le ferite e questo può essere un grosso limite, anche se è compensato dal fatto che la regola sulla morte, com'è presente in Arcan Myth, non è ancora stata inserita. La modalità "searching" in caso di combattimento dovrebbe disattivarsi. Dovrò implementare un comando (o modalità) di riposo che consenta un recupero maggiore delle forze. Dorvò far attivare dei flag quando le ferite iniziano ad essere più preoccupanti.

Infine devo assolutamente iniziare a pensare come sviluppare l'interfaccia, seppur minimale, del gioco: adesso è semplicemente una serie di caratteri su console e questa cosa, per la verisione 0.1, va assolutamente cambiata.

martedì 5 maggio 2009

Oggetti Magici

In linea con l'ambientazione che ho voglia di applicare al mio rogue-like, ho deciso che non ci saranno oggetti magici.

Mi spiego meglio.

Non credo che inserirò degli oggetti magici generici, ma i pochi oggetti magici che ci saranno, saranno tutti oggetti unici, possibilmente ognuno con una storia, un nome e un perché. Dovrò quindi valutare anche quanti oggetti magici creare, specie all'ingrandirsi del gioco (parlando di una versione oltre la 0.1) fino alla sua estensione finale.

Penso invece che farò in modo che gli oggetti possano avere un livello di fattura, una cosa molto seplice in realtà, che li possa rendere quindi peggiori o migliori della media. In questo modo potrei quindi dare un valore al materiale con sui sono fatte o alla zona di provenienza.

Questa decisione, oltre a rendere ogni oggetto magico preziosissimo, potrebbe tornare utile per determinate quest, dove magari occorre recuperare un oggetto magico e quindi alla fine, per risolverle, separarsene.

Sarebbe un'ardua decisione ;-)

giovedì 30 aprile 2009

Labyrinth 0.2.1 - trappole e tesori

Come di consueto ecco l'aggiornamento sullo sviluppo del mio roguelike. Labyrinth ha fatto molti passi avanti ed ha raggiunto la versione 0.2.1.

In questa versione Mr @ può scoprire porte segrete e trappole, può cadere in una delle trappole e farsi molto male, ma può anche evitarla con un tiro salvezza. I tiri salvezza sono diventati delle abilità aumentabili, proprio come in Arcan Myth, con fattore di costo 2: in sostanza per aumentarli di un punto occorrerà spendere il doppio dei punti incremento di una normale abilità.

Ho abilitato gli stock, in modo che nell'inventario gli oggetti identici possano essere stoccati nello stesso slot: li ho creati principalmente per le munizioni (dardi e frecce) ma ho visto che funzionano bene anche con oggetti di altro tipo.

Le creature adesso possono essere equipaggiate, usano l'equipaggiamento e, una volta uccise, lasciano a terra TUTTO ciò che hanno. Questo perché non mi piace questa moda che imperversa in molti RL e MMORPG dove vieni attaccato a colpi di ascia da un orco gigante e una volta ucciso lascia a terra 2 monete d'argento: e l'ascia? Svanita...

Il tempio di Zutra

Ho costruito a mano il livello del tempio di Zutra e l'ho provato sostituendolo al livello zero presente ora per i test. La prova è stata interessante perché ad esempio ha messo in luce uno dei due bug della porta qui sotto e soprattutto ha evidenziato il buon funzionamento (anche se non perfetto) del sistema di visione del personaggio: il tempio infatti è un livello completamente illuminato, ma vengono messe in ombra tutte la parti coperte da muri e pilastri: ne nasce un effetto alquanto suggestivo :-)


Bug noti

Ebbene si, iniziano ad esserci alcuni bug che verranno corretti nelle prossime versioni:
  • @ riesce a chiudere una porta pur trovandovisi sopra
  • Se una creatura attraversa una porta risulta sempre visibile
  • Se si equipaggia un oggetto da uno stock viene equipaggiato tutto lo stock come fosse un oggetto unico.
Per il momento mi sembra tutto

giovedì 23 aprile 2009

Labyrinth 0.1.4 - In guardia!!

Come dice il titolo in questione, con la 0.1.4 viene implementato un semplice sistema di combattimento che consente a Mr @ di attaccare, difendersi, ferire ed essere ferito.

Naturalmente mr @ è in netto vantaggio sulle creature perché può impugnare un'arma e indossare un'armatura, quindi nel combattimento riesce ad avere la meglio, ma non è così matematico.

Ho implementato, per questo motivo, le abilità: è una lista piuttosto semplice, con abilità basilari che più avanti andrà sicuramente ampliata, specie per l'utilizzo delle armi. Intanto viene utilizzata l'abilità di combattimento per tutto quello che avviene in mischia, le altre bilità sono comunque in lista.

Mancano ancora parecchie cose prima di poter passare allo sviluppo effettivo del gioco: questa settimana penso che mi concentrerò sul targeting, sull'aumento delle abilità (avanzamento) e sul combattimento a distanza. Sarebbe anche bello riuscire a implementare porte segrete e trappole sempre per giovedì prossimo.

Poi sarà la volta delle quest, altra parte particolarmente complessa a mio avviso, che forse richiederà più settimane per essere sviluppata: l'obbiettivo è implementare un metodo che consenta la costruzione personalizzata di semplici quest, in modo da poter scrivere quella principale che riguarda lo sferoide di Narus.

Non credo per la prima versione giocabile sarà possibile vedere e interagire coi PNG, anche se qualche idea al riguardo ce l'ho.

venerdì 17 aprile 2009

Esperienza

Tutti i roguelike a cui ho giocato hanno un sistema di acquisizione di punti esperienza simile al gdr Dungeons&Dragons: in sostanza i punti si acquisiscono uccidendo le creature, anche senza una motivazione valida. Questa cosa viene estremizzata nei MMORPG (sempre tra quelli che ho visto) dove appunto i personaggi se ne vanno in giro ad ammazzare qualsiasi creatura si pari loro di fronte e questo, nella maggior parte dei casi, avviene senza motivo.

Naturalmente quando faccio il master di Arcan Myth questa regola non esiste: negli ultimi anni utilizzo una regola semplicissima, valuto il mio divertimento da 1 a 10 per la sessione appena fatta, moltiplico per 10 ed ecco i punti incremento che assegnerò ad ogni giocatore per quella seduta.

Questo secondo metodo però in un Roguelike non può funzionare, in quanto non c'è un master, ma non voglio nemmeno utilizzare il primo che trovo semplicemente ridicolo. Allora, per il momento, ho deciso che Mr @ collezionerà punti incremento in base alla pura esplorazione dei vari livelli di dungeon. Questa regola è destinata a cambiare, ma per il momento, anche per eseguire dei test sull'incremento delle abilità, rimarrà così.

Un amico mi ha chiesto perché non facessi aumentare le abilità in base all'uso che il PG ne faceva: molto semplice, trovo che sia molto più divertente distribuire i punti nelle proprie abilità, piuttosto che queste facciano tutto da sole.

Tuttavia introdurrò anche un altro piccolo particolare, riciclato sia da Arcan Myth che dall'idea dell'automatismo: non si potranno incrementare abilità non si sono utilizzate dall'ultimo incremento. Questa regola, solo intenzionale in verità, va però affinata, anche perché, sempre teoricamente, l'aumento delle abilità può avvenire in qualsiasi momento.

Quindi magari alla fine, potrebbe essere che l'aumento delle abilità si possa fare solo ogni X turni di gioco, oppure solo in determinati luogi o momenti (ad esempio dopo aver riposato).

Vedremo :-)

giovedì 16 aprile 2009

Labyrinth 0.0.9 - e la luce fu

La programmazione di un RL si sta rivelando un'impresa ardua. In effetti quando si gioca ad un roguelike, si ha l'impressione di utilizzare un qualche cosa di semplice e solo quando si affrontano i problemi per realizzarlo si apprezza veramente il gioco.

Riuscire a far aprire una porta o a far in modo che la luce che circonda mr @ non oltrepassi i muri è un grande risultato, anche se agli occhi dell'utente queste sono cose scontate.

Ecco qui la versione 0.0.9 di Labyrinth: come si può vedere ora i muri non sono più dei semplici cancelletti, ma dei blocchi pieni, le porte sono color legno, mr @ è verde (anche se solo per sfizio) e ci sono creature che girano.

Adesso il personaggio può raccogliere e lasciare a terra ogni tipo di oggetto, inoltre con l'ultima build può equipaggiare la lanterna, ma solo quella. Nelle prossime versioni si potranno equipaggiare la armi, le armature e altri tipi di oggetti.
Ogni oggetto equipaggiato avrà subito influenza sul personaggio.

E' stata implementata anche la prima parte del combattimento: infatti utilizzando l'abilità "fight" è possibile attaccare e uccidere le creature che girano per le stanze. Le creature sono invece ancora inermi.

Direi che è tutto per il momento, ma probabilmente nella prossima settimana ci saranno ancora passi avanti.

martedì 14 aprile 2009

Puntatori e DCurses

Mentre Labyrinth sta arrivando alla versione 0.0.8, sto continuando a leggere il libro Learn To Tango With D. Purtroppo devo confermare le mie prime impressioni: il libro è tutt'altro che esaustivo in molti suoi punti; per esempio i puntatori sono trattati poco e molto molto male, rimandando lo studio a wikipedia (??) e analizzando soltanto le differenze tra i puntatori del D e quelli del C/C++. Tentando già di tirare qualche somma, direi che il libro è più rivolto ai programmatori del C++ che non all'utente in generale; visto che Tango viene referenziata come Developer library ci potrebbe anche stare, ma questa scelta editoriale direi che lascia molto a desiderare.

Ho fatto delle indagini su DCurses chiedendo un help nel canale #d.tango, poichè la versione fornita per Tango è piuttosto datata e non funziona con le ultime versioni. Dopo qualche blando tentativo mi è stato detto (e non da un utente qualsiasi ma da uno che conta diciamo) che Tango e il canale IRC non è pensato per "newbie" e che devo imparare prima a compilare le applicazioni e poi forse riuscirò a far funzionare dcurses.

Stessa storia di quando anni fa chiesi aiuto con Linux. L'ambiente dei programmatori e dei sistemisti (ambiente di cui faccio parte per'altro) è pieno di gente con la puzza sotto il naso.

Vabbeh, chi fa da sé...

giovedì 9 aprile 2009

Labyrint 0.0.4

Ebbene si! Questa settimana il lavoro è stato così intenso da portare labyrinth alla 0.0.3 e alla 0.0.4!

In sostanza è stato implementato l'inventario, che può contenere circa 20-25 oggetti. Mr @ adesso può raccogliere e lasciare a terra qualsiasi oggetto gli capiti sotto i piedi. Il "Drop" deve essere affinato nel senso che, attualmente, se due oggetti vengono lasciati sulla stessa casella, apparirà a video il primo degli oggetti lasciati e non l'ultimo.

Pensavo di passare immediatamente ad implementare l'equipaggiamento, invece dovrò lavorare ancora sull'inventario in modo che mostri tutto lo spazio disponibile e non solo gli oggetti posseduti.

Nel frattempo ho già creato l'oggetto "Globe of Narus", come si evince dalla piccola immagine: man mano che costruirò i vari livelli lo sposterò sempre più sotto.

Un'altra pecca da risolvere per la 0.0.4 è che i due piani di dungeon sono così simili che se un oggetto viene posizionato per il primo, sarà presente anche nel secondo e si rigenererà al ritorno nel primo. Fino ad ora questo mi è tornato comodo per testare l'inventario, ma in settimana conto di risolvere anche questa.

domenica 5 aprile 2009

Classi e livelli

Ho giocato a parecchi roguelike, anche se a una minima parte di quelli che ci sono in giro, e devo dire che quasi tutti seguono più o meno liberamente lo schema delle classi e dei livelli.

Questo accade in maniera più massiccia nei MMORPG, sia in quelli che ho visto, sia in quelli di cui ho sentito parlare, dove sono sempre forti le correnti hack'n'slash e powerplaying (probabilmente perché più commerciali).

Questa soluzione è molto comoda perché consente, in qualche maniera, di alzare il grado di difficoltà del gioco in base al livello, di impostare gli oggetti come di classe e via discorrendo.

Io però ho deciso di non percorrere questa strada e di creare un RL basato sull'incremento delle signole abilità, a libera scelta del giocatore, esattamente come avviene nel mio gdr cartaceo e contando che questo possa divertire di più.

Il problema è che, per come ho intenzione di impostare il gioco, l'hack'n'slash sarà fortemente sconsigliato: arrivare allo sferoide di Narus sarà quindi un compendio di più fattori, dal saper affrontare certe creature al saper evitare i combattimenti troppo esosi, trovando quindi degli escamotage di un certo tipo.

sabato 4 aprile 2009

Lo sferoide di Narus

Come promesso eccomi qui per parlarvi di Narus, meglio conosciuto come lo Sferoide di Narus (Globe of Narus).

Nell'ambientazione di Arcan Myth, il mondo di Endymia, lo Sferoide di Narus è un artefatto perduto dagli inenarrabili poteri.

Le leggende legate a questo mitico oggetto erano innumerevoli, ma nel corso degli ultimi secoli sono state dimenticate e oggi soltanto in pochi sono in possesso di queste informazioni.

Secondo le leggende di origine più antica questo artefatto era in possesso dei primi Re di Endymia, probabilmente quindi elfici, che sarebbero stati resi invincibili dallo stesso. Tuttavia venne ben presto a galla la natura negativa dello sferoide e, per evitare che cadesse nelle mani sbagliate, venne posto in un luogo sicuro.

Altre leggende vogliono che Narus sia andato perduto durante la Guerra dell'Oblio (che sancì la scissione delle razze elfiche) e che da allora non se ne sia saputo più nulla.

Le leggende più recenti avrebbero origine all'inizio della terza era, nei secoli di glaciazione subito dopo la catastrofe, e queste darebbero lo sferoide in mano agli ultimi imperatori Auroriani. In questi Narus sarebbe stato uno dei fautori della catastrofe e della caduta dell'impero.

Maggiori informazioni sul mondo di Endymia le trovate qui.

giovedì 2 aprile 2009

Programmazione Blog

In queste prime fasi il progetto Labyrinth mi sta divertendo molto: sto facendo una cosa che mi piace (un Roguelike) e sto imparando un linguaggio nuovo (il D).

Per questo motivo, ad ogni progresso fatto, starei sempre qui a postare sul blog, quasi a sventolare la bandiera della vittoria. Poiché questo avviene sull'onda dell'entusiasmo, ho deciso di essere più cauto e di impormi un solo post alla settimana riguardante lo sviluppo tecnico (progressi e novità) del gioco: questo post sarà fatto sempre il giovedì sera e riassumerà il lavoro svolto e gli obbiettivi raggiunti durante la settimana.

Comunque in altri giorni della settimana potrebbero esserci dei post riguardanti altri aspetti del gioco: ambientazione, nuove features e idee in generale.

Considerando il post di ieri come quello per questa settimana, vi dò appuntamento a Giovedì prossimo.

mercoledì 1 aprile 2009

Labyrinth 0.0.2 - In giro per la cantina

Ho disegnato due livelli di prova, praticamente identici, collegati da una scala e con delle porte da aprire.

Ora la chiocciolina può andarsene in giro per questi due livelli ad esplorare quello che la circonda, può aprire e chiudere porte e sa scendere e salire le scale. Le manca la parola insomma :D

Ho anche piazzato, per prova, una creatura immobile (simbolo N) ed ho iniziato a scrivere un semplice algoritmo che consenta ad N di inseguire la chiocciolina. Non è un vero e proprio tentativo di implementare la AI, ma si tratta di una prova per capire meglio il problema.

Naturalmente siamo ancora lontani dal combattimento, dall'inventario e tutto il resto. Bisogna avere pazienza.

Nessuna novità su dcurses, mentre mi sono stampato il libro (in inglese) "Learn to Tango with D" che scaricai tempo addietro da un sito di freepress. Ho visto che il libro è a pagamento, quindi forse quando l'ho scaricato io era in fase promozionale. Gli autori sono, almeno credo, i creatori della libreria Tango: Kris Macleod Bell, Lars Ivar Igesund, Sean Kelly e Michael Parker.

Ad un primo sguardo comunque, il libro non mi è sembrato esaustivo in parecchie parti: ad esempio l'installazione del D, di Tango e dei compilatori, è descritta per il solo Windows, mentre dovrebbe comprendere almeno i sistemi linux, specie per la sezione compilatori. Per il momento quindi abbandono l'idea di usare dsss e mi limiterò a DMD che, per'altro, visto che devo compilare si e no 3 script funziona benissimo. Più avanti passerò a dsss.

domenica 29 marzo 2009

Labirynth 0.0.1 - E' vivo!

Finalmente ho completato una primissima versione di Labyrinth, la 0.0.1, che risove un po' di primi problemi legati all'esplorazione del dungeon.

La @ adesso può muoversi, illumina il terreno attorno a sè, illumina i muri che poi rimangono a schermo anche se non illuminati (una sorta di mappatura automatica). Qui a fianco potete vedere un piccolo screenshot: chi conosce i vecchi roguelike lo sa, comunque i # sono i muri del dungeon.

Non può ancora scendere le scale e aprire le porte, anche se questo sarà il prossimo passo.

L'applicazione attualmente funziona solo in console e non penso che riuscirò a farla andare in una finestra propria in tempi brevi, probabilmente nemmeno nella 0.1.

Mi sto informando su come aggiungere i colori, per ottenere effetti luce (luce gialla di una lanterna) o comunque per colorare gli oggetti e le creature.

giovedì 26 marzo 2009

Arcan Myth RL 0.1 - Labirynth

Ho riflettuto bene sull'obbiettivo che deve raggiungere il mio roguelike per essere pubblicabile.

Ho deciso che questo obbiettivo sarà la versione 0.1 che fino ad allora avrà il nome di Labyrinth. La sottoversione Labyrinth è attualmente alla 0.0.0 , ossia quello che ho fatto ancora tempo fa e che sto riprendendo in mano in questi giorni: quando questa sottoversione raggiungerà la 1.0, il gioco sarà alla sua 0.1.

Le caratteristiche certe della 0.1 saranno le seguenti:
  • Personaggio fisso o comunque non creabile dall'utente
  • 10 livelli di dungeon statici (disegnati a manina)
  • 10 tipi di creature differenti
  • 10 oggetti magici
  • Possibilità di passare dalla modalità a tempo a quella a turni e viceversa
  • Morte permanente >:-)
  • 1 quest
Naturalmente non è detto che durante lo sviluppo non vengano aggiunte altre caratteristiche. Per esempio in questo momento non ho ancora deciso se il combattimento sarà puramente in mischia o se saranno presenti già armi da lancio; la stessa cosa riguarda la presenza o meno di magia utilizzabile dal PG.

Teoricamente il PG parte da un tempio dove c'è la scala per scendere; la quest sarà quella di scendere al decimo livello del dungeon, recuperare lo Sferoide di Narus (Globe of Narus, simbolo §) salire al tempio e riporlo sull'altare.

Parlerò dello Sferoide di Narus e della sua storia (presunta) in post succesivi.

mercoledì 25 marzo 2009

Arcan Myth Rogue Like

L'idea di creare un RL che potesse assomigliare come regolamento al mio GdR, mi è sempre girata per la testa, da quando gioco.

Succede quindi che, affascinato dal nuovo linguaggio della Digital Mars e dalla libreria (indipendente?) Tango, mi venga una dannata voglia di provare.

Qualche mese fa ho scritto qualche cosa il cui risultato era una chiocciola che si muoveva in un campo vuoto e poi mi sono fermato. Ma la voglia è rimasta e quindi, oggi, ho deciso di riprendere in mano tutto, risedermi come un alunno a scuola, studiare e provare.

Non pubblicherò nulla che non sia almeno minimamente giocabile e che non abbia almeno una forma, ma posso dirvi fin da subito che questo progetto nascerà su Linux Ubuntu probabilmente solo per Linux Ubuntu, almeno finché non ci sarà qualche cosa di apprezzabile. Comunque nei prossimi giorni deciderò come strutturare il progetto e in che termini sarà disponibile un primo download.

Comunque qui si vedrà se questa cosa vedrà la luce oppure no.