mercoledì 7 febbraio 2018

Maghetti

Prosegue lentamente lo sviluppo. Dopo la sistemazione sommaria del codice per poter fa funzionare il Rogue Like con le librerie Phobos, mi sono dedicato a cose più inerenti il gameplay.

Nella fattispecie ho ampliato il numero degli incantesimi e ho creato i primi nemici maghi: come fase di test si tratta sostazialmente di goblin che lanciano incantesimi e che possono essere incontrati fin dal primo livello.

Attualmente la profondità del livello influisce sulla difficoltà dando al mago solo un numero di incantesimi più elevato, ma non influisce minimamente sulla strategia di lancio. Per esempio è capitato che il mago lanciasse per due volte consecutive armatura magica su di sè, perdendo quindi un round. Dovrò quindi lavorare sull'AI in modo che lanci il giusto incantesimo e alla giusta potenza a seconda della situazione.

Anche se rimane ancora molto da fare sono soddisfatto dei nuovi nemici, perché avere dei maghi come avversari dà parecchia varietà al gioco.

Ho anche corretto alcuni bug. Per esempio mi sono accorto che con un personaggio mago, salvando, si perdevano tutti gli incantesimi memorizzati e al riprendere della partita bisognava memorizzarli di nuovo.

martedì 24 ottobre 2017

Back to the past

Grazie all'interesse di un amico ho ripreso in mano il progetto, anche se dico fin da ora che lo sviluppo procederà molto lentamente a causa della mancanza di tempo.

Avevo abbandonato Arcanrogue principalmente per il fatto che D-Tango era diventato moribondo e privo di qualsivoglia supporto. Riscrivere tutto in D-Phobos mi sembrava una perdita di tempo in quanto, a quel punto, avrei potuto farlo in JAVA, oppure creare un browser game usando linguaggi che conosco, o ancora rifarlo in node.js che mi sarebbe utile anche per scopi lavorativi.

Anno dopo anno controllavo la situazione di Tango e non cambiava, anno dopo anno non riuscivo a mettermi nell'ordine di idee di riscrivere tutto in un altro linguaggio.

Così, "sotto la pressione della stampadi settore", mi sono deciso a provare quanto meno a convertire il codice da Tango a Phobos. C'è voluto diverso tempo perché una volta sistemati gli errori di compilazione, il gioco partiva ma crashava dopo poco.

Al momento posso dire che la conversione è riuscita, anche se qualche crash ogni tanto si verifica ancora (e sto naturalmente provvedendo).

Sviluppo lento però, perché ho trentordicimila altri progetti in ballo, tra i quali ovviamente quello di conquistare l'universo.

giovedì 14 aprile 2011

Magic 0.2.5 - What?

Questa settimana ho cercato di sviluppare maggiormente l'interfaccia di comando, approfondendo ulteriormente TERMIOS. Infatti sto preparando una classe a sé stante solo per l'interprete di comandi, in modo da poter utilizzare sia i tasti funzione, sia le combinazioni dei tasti premento ALT, soprattutto i numeri.

Infatti per lanciare gli incantesimi al momento si utilizzano i numeri combinati con SHIFT, ma questo rende limitato il numero di incantesimi a 10; rendendo disponibile anche l'ALT potrò inserire fino a 20 incantesimi, il che non è male considerando il tipo di gdr dal quale questo RL proviene.

Sono poi riuscito a creare l'incantesimo "confusione", che rende una creatura momentaneamente stupida e la fa muovere in una direzione a caso per un numero limitato di round. La cosa, anche se banale, è importante per riuscire a sviluppare altri incantesimi di questo tipo, cioè che colpiscano una creatura senza arrecarle un danno, ma un effetto diverso, come paralisi per dirne una.

Ho introdotto le creature armate con armi da lancio e ho fatto in modo che le abilità delle creature siano coerenti con le armi che indossano. C'è un problema da risolvere coi proiettili, ma penso che non sia una cosa difficile.

Rimanete concentrati :-)

giovedì 7 aprile 2011

Magic 0.2.0 - Boom!

Ho abbandonato, per il momento, l'idea di creare una conversione windows del gioco. In effetti pensavo che la cosa fosse molto più semplice, ma la verità è che la console windows è decisamente più limitata di quella linux e quindi o se ne crea una ad arte oppure si devono far i conti con la velocità.

Continuo quindi lo sviluppo del progetto Magic in parallelo col mio gdr e le sue avventure che faccio giocare abbastanza regolarmente. In diapositiva potete vedere l'incantesimo Esplosione (per i nostalgici del D&D sarebbe Palla di Fuoco) mentre si scatena all'interno di una stanza.

Adesso un mago può raccogliere da terra le pergamente e impararsele fino a un massimo di 10 incantesimi: sembrano pochi, ma in realtà per il momento ne ho messi a punto solo 3 quindi sicuramente ci sarà tempo per progettarne altri. Gli incantesimi saranno sostanzialmente di 4 tipologie: dardi, raggi, aree ed esplosioni. Ne ho in mente anche un altro e, se sarà fattibile, diventerà la tipologia "finale" di incantesimi.

Ho migliorato l'equipaggiamento delle creature, così che alla fine degli scontri si possano trovare oggetti di più tipi, ma comunque questi renderanno più forti anche le creature. Questo passaggio è fondamentale per rendere il gioco un attimino più vario e ottenere quindi una maggior godibilità.

Adesso mi concentrerò sullo sviluppo degli incantesimi, dei nemici attrezzati con armi da lancio e, ovviamente, dei maghi nemici :-)

Poi penserò al resto.

mercoledì 12 gennaio 2011

Magic 0.1.3

In questa settimana non sono riuscito a far molto, anche per portare avanti il mio gdr dal quale questo RL è stato tratto, ma soprattutto per problemi inerenti alla programmazione.

Infatti ho provato a concentrarmi sulla conversione del gioco per sistemi windows, ma la cosa sembra più ostica del previsto: il problema che sto affrontando ora consiste nel sistema di input dei comandi. Su piattaforma linux, pur non essendo presenti funzioni che facciano al caso mio, ho utilizzato uno script chiamato termios che mi ha consentito di creare esattamente ciò di cui avevo bisogno.

Il problema è che termios non funziona sui terminali win32/dos quindi sono punto a capo. Ho spulciato le API del D per vedere se fornivano qualche aiuto, ma non ho ancora trovato nulla e il forum sembra morto. Allo stato attuale sto cercando di sfruttare la chat.

Alla peggio dovrò tentare di convertire le librerie del C che forniscono la funzone getch e vedere se ci riesco. Altrimenti addio versione windows :D

Tuttavia questa ricerca su termios mi ha fornito le competenze per ampliare il set di comandi del gioco nelle versioni future, introducendo anche le combinazione con il ctrl.

Vedremo.

sabato 8 gennaio 2011

Magic 0.1.2

Sono tornato.

Come dissi nel mio (ex) utlimo post, il progetto era solo in pausa e ora è venuto il momento di riprenderlo in mano e cercare di migliorarlo.

Visto che ho avuto occasione e tempo di testarlo su un portatile sono riuscito a scovare parecchi bug e alcune lacune che sto vedendo di colmare. La lacuna più grande migliorata è la lentezza dell'inizializzazione del gioco che ora è praticamente ridotta a zero: questo influisce anche sul gioco salvato, che prima portava via parecchio tempo, e sul passaggio tra un livello e l'altro che adesso è quasi istantaneo.

Un bug non ancora risolto riguarda le trappole: se si utilizza il comando REST su una trappola il gioco si blocca e i punti ferita continuano a scendere anche sottozero. Spero di risolvere presto.

Inoltre mi dovrò concentrare sulle abilità speciali in generale e sulla magia in particolare.

Contrariamente a quello che pensavo non devo riprendere familiarità col linguaggio e sto anche valutando una versione windows e una unix (che dovrebbe essere compatibile con mac).

Restate sintonizzati.

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