The Xna-Way: Terrain Editor Journal

Questo post sarà il giornale di sviluppo che dedicherò al terrain editor.
Aggiornerò di volta in volta con le modifiche che farò, con le possibili modifiche/update da fare al programma, gli errori (e quando riesco a risolverli anche come ho fatto XD).
Se poi ci saranno articoli relativi a pezzi di codice del Terrain Editor saranno linkati anche qui.

Quello che mi sono prefisso di fare inizialmente era di creare un Terrain Editor, in modo da poterlo poi utilizzare per creare i livelli di gioco per i miei futuri progetti (sempre pensare in grande perchè poi a forza di tagliare resta sempre poco XD).
Ho quindi poi deciso di ampliare il progetto permettendo di aggiungere oggetti alla scena.
Quindi da "semplice" terrain editor sono passato a voler fare un "semplice" Level Editor (con un formato mio personale).

I fondamenti sono i seguenti:
- Uso di un'immagine come Height Map (HM) per la creazione del terreno di base.
Un'immagine ha 4 canali per il colore (RGBA), ed ho deciso di utilizzare solo le informazioni presenti nel canale R per la creazione del modello del terreno. In questo modo gli altri canali potranno essere utilizzati per memorizzare altre informazioni (per esempio le zone in cui è possibile "camminare", posizione di alcuni oggetti di scena, etc)
Usando il valore di un singolo colore per l'altezza del vertice, il valore dell'altezza può variare tra 0-255 (estremi compresi).
Per ampliare il range di valori posso utilizzare un fattore di scala (positivo) per il quale moltiplicare il valore dell'altezza del vertice.
Avrò un fattore di scala anche per la dimensione del del modello lungo gli assi X-Z (in questo modo il fattore di scala per la larghezza sarà diverso e distinto da quello per l'altezza).

- Possibilità di editare il terreno, modificando l'altezza dei vertici che compongono il modello.
Cioè saranno dati dei brush con i quali sarà possibile modificare la mesh del terreno. Ad ogni brush (a seconda della funzionalità che deve espletare) può avere associata un'immagine, la quale verrà utilizzata per modificare la posizione dei vertici. L'immagine associata potrà essere cambiata a seconda del tipo di modifica che si vuole fare, e sarà in BN (o in caso non sia in BN verrà usato solo il valore del canale R, come per la HM usata per costruire il terreno).

- Possibilità di salvare il terreno prodotto come immagine.
Per quando ci saranno dei possibili modelli sul terreno dovranno essere salvati anche le informazioni sui modelli (forse serializzando con XML), come anche le informazioni sulle luci della scena, etc.

- Possibilità di utilizzare 4 texture per la colorazione del terreno. Per ora il numero è limitato a 4 per una maggiore semplicità di programmazione (e per la struttura dei vertici usati): difatto utilizzare più di 4 texture è "la stessa cosa" che usarne 4, solo che i casi da discriminare sono di più. Sarà possibile utilizzare le varie texture in base all'altezza dei vertici, o texturizzare a mano il terreno.

A presto per degli aggiornamenti

Stato attuale:
  • Caricamento HM e creazione terreno partendo dall'immagine: 90%
  • Caricamento altre informazioni dall'immagine: 90%
  • Salvataggio terreno editato: 80%
  • Uso di un file XML per la memorizzazione di altre informazioni sul livello: 80%
  • Definizione di Brush personalizzati atti alla modellazione del terreno: 80%
  • Salvataggio/caricamento brush ed immagini dei brush: 70%
  • Possibilità di texturizzare il modello in base all'altezza dei vertici o a mano: 80%
  • Possibilità di creare ed aggiungere nuovi brush: 0%
  • Possibilità di modificare le texture usate dal modello: 80%
  • Possibilità di aggiungere/gestire modelli al livello: 60%
  • Possibilità di aggiungere/gestire luci nel livello: 0%
  • Possibilità di fare degli screenshot/render del terreno: 0%
  • Algoritmo di intersezione mouse-VS-poligoni: 100% (da farne uno migliore e preciso)
  • Algoritmo di editig dei vertici del modello: 70%
  • Algoritmo di texturing: 50%

End
Continua a leggere!

The Xna-Way: Terrain Editor

Come avevo detto tempo fa, non ho molto tempo per scrivere qualcosa su XNA da postare qua, ma non per questo vuol dire che non stia andando avanti in qualche modo.

Ho recentemente iniziato un progetto per l'università (o almeno spero che possa usarlo per un esame universitario), che per ora ha il nome di Terrain Editor.
Lo sto sviluppando usando C# ed XNA (se no cola cavolo che ne parlavo sotto Xna-Way XD), e per ora si prospetta come un semplice editor di terreni.
Alcune immagini:



Quello che mi sono prefisso di fare è di creare un piccolo editor di livelli, in modo da poter creare delle mappe da poter usare in un gioco o quello che ci pare.
I "livelli" per ora composti solo dal terreno, sono costruti partendo da delle immagini (usate come Height Map), in modo da poter usare i colori per posizionare i vertici.
In seguito voglio aggiungere altre caratteristiche, tra le quali per ora ho messo:
- editare il terreno (se no che Terrain editor sarebbe...) (già in parte implementato)
- definire zone in cui è possibile camminare o meno
- possibilità di aggiungere oggetti al livello e posizionarli nella scena
- Multitexturing del terreno (questo già in parte implementato)

poi mano a mano che mi vengono in mente le aggiungerò.
Quando avrò tempo credo che posterò qualche pezzo di codice più interessante (non che per il momendo ce ne sia poi molto).
Spero che il progetto vi piaccia (e nel caso possa usarlo come progetto d'esame che piaccia anche al prof!).

Un salutone!
A presto!
Continua a leggere!

Guida galattica per gli autostoppisti - 42

Vi è mai capitato di chiedervi quale sia il senso della vostra vita? Del perchè ci siete? Del perchè pensiate? (puntualizziamo... chi di voi lo fa)
Bè a me si, e ultimamente anche spesso.
Mi ritrovo alle volte a chiedermi il perchè delle cose che mi accadono, delle cose che penso, di come voglio continuare, etc etc.
In uno di questi momenti mi è però tornato in mente che in casa avevo il libro "Guida galattica per gli autostoppisti" (si lo so, voi direte che il 'gli' non ci va, dato che il titolo del film è "Guida galattica per autostoppisti", invece qui casca l'asino).
Allora ho deciso, per cercare di dare un taglio a tutti quei pensieri che mi gironzolavano per la testa, di cominciare leggere tale libro. In fondo Adams una risposta alla domanda fondamentale l'ha data!

Devo che dire che il film non rende giustizia al libro! Il libro è decisamente meglio, più cattivo e talgiente!
Riesce a farti ridere da un momento all'altro (cosa che alle volte ho trovato fastiodiosa, soprattutto perchè mi ci vuole un po' per riprendermi dagli spasmi dell'improvvisa risata, riprendere fiato e recuperare il segno della pagina ed il filo del discorso! XD)
Fa riflettere come libro: io mi aspettavo un libro puramente comico (non che faccia ridere, come ho detto sopra), ma che mi lasciasse molto meno. Invece mi è piaciuto tantissimo!
200 pagine di divertimento e interessanti spunti!

I personaggi sono molto più belli, e lo stile narrativo... cavolo gente è veramente ben strutturato!

Ora non vedo di continuare a leggere gli altri volumi della saga ^^
appena tornerò in libreria ne farò scorta mi sa :)

Intanto vi lascio con una chicca da nerd, pescata da Wikipedia ^^
la domanda fondamentale, quella che da come risposta 42, potrebbe essere SEI*NOVE ?
Bè se la matematica non è un'opinione si dovrebbe dire di no, ma rovistando un po' su wiki, e avendo un animo da programmatore, si può anche accettare che SEI*NOVE = 42.
Volete la prova?
Eseguite questo codice:

#include <stdio.h>

#define SEI 1 + 5
#define NOVE 8 + 1

int main()
{
printf( "Il significato della vita: %d\n", SEI * NOVE );
return 0;
}

Sto male lo so, ma non potevo non riportare questa cosa XD
Show/Hide


Alla prossima gente!
Tanti saluti da Odino!

E per l'occasione vi faccio gli auguri per la fine di questo anno (del cazzo per me, ma spero che ad altri sia andata meglio)!
All'anno prossimo (dè mancano solo pochi giorni X)

Continua a leggere!

The Xna-Way: Avviso

E' con dispiacere che informo, chi è interessato, chi mi segue, e quei pochi che capitano su queste pagine (forse pure per errore), che non credo aggiungerò altri tutorial/codice/guide su XNA per minimo un mese.

Motivo?
Studio, università, lavori da consegnare, progetti da completare e discutere, problemi vari, e tanto altro ancora!
Se ce la farò vedrò di pubbliacare qualche post di commento/recensione, ma non prometto nulla.

Per chi volesse contattarmi o simili vi rammento che sono su msn e rispondo a questo indirizzo e-mail.
odinoa@hotmail.it

Saluti! Continua a leggere!

Mitologia norrena in pillole pt 2

Dato che non ho pronti al momento altri articoli di programmazione (troppo poco tempo) recupero un vecchio articolo che avevo scritto.
Non riguarda nulla di tecnico sulla programmazione o sulla grafica, ma bensì è un ritorno alla mitologia norrena!

Be direi che possiamo cominciare col parlare delle divinità norrene, e direi di partire dal più importante dio del panteon norreno: Odino.
Anche se però Odino non è il dio il cui culto era più diffuso.
In parole povere divinità più importante si, ma più adorato forse no XD

Odino non è solo il padre di tutti gli dei (anche se non è veramente padre di tutti gli dei lo è di molti), ma viene anche considerato il padre di tutto (ricordiamo il mito della creazione).
Odino vive ad Asgard in un palazzo innalzato da lui stesso, e stando seduto sul suo trono riesce a vedere tutto quello che accade nei vari mondi.
Odino è il dio della guerra, della magia, della poesia e della sapienza (cavolo O_O anche li avevano la crisi, o "grisi", e per risparmiare sui posti di lavoro ognuno faceva più mestieri?).
Essendo il dio della guerra in battaglia cavalcava Sleipnir, un cavallo ad otto zampe (altro che 4x4 questo o_O) che riesce a correre sia sull'acqua sia nei cieli. Particolare curioso: Sleipnir è in verità uno dei figli del dio Loki (e Loki in teoria ne è la MADRE O_O) ma di questo ne darò spiegazione più avanti (quindi Odino cavalcava suo nipote? XD da non credere).
Odino non solo ha una cavalcatura di tutto rispetto, ma in battaglia impugna anche Gungnir, lancia fabbricata dai nani: tale arma è in grado di colpire sempre il suo bersaglio.
Odino è sposato con la dea Frigg (o Frigga), che è chiamata la "signora del cielo". Il miglior potere di Frigg (oltre forse quello di sopportare il marito dico XD) è quello della chiaroveggenza, con il quale riesce a venire a conoscenza di fatti di cui anche Odino ignora nonostante sia lui stesso il dio della sapienza.

Odino deve la suo enorme conoscenza alla fonte di Mimir (fonte che il gigante omonimo custodisce), al quale lui bevve dopo aver sacrificato un occhio (altre versioni dicono che Odino si mise in viaggio per trovare la fonte dell'onniscenza di Mimir [che tra l'altro dovrebbe essere il dio della conoscenza], e tornato dal viaggio Odino si portò dietro la testa del gigante da consultare come oralcolo....cioè un trofeo un po' macrabro, stile i capoccioni sotto teca di vetro di Futurama ma senza teca e senza acqua, ma che parla lo stesso.....brrrr ç_ç che impressione che doveva fare ç_ç).

Il nostro padre degli dei è anche un po' dispettoso, infatti era solito divertirsi trasformandosi in vecchio e viaggiando per i nove mondi in cerca di creature o esseri antichi e sapienti (come lo scontro di indovinneli che ebbe con un gigante e contro un re).

Se non fosse abbastanza, basti dire che Odino conosce i segreti delle Rune, lettere che, secondo la credenza, se incise sul ferro, pietre, etc sono l'origine di ogni potere. Odino ottenne questa conoscenza immolando e stesso, e rimase appeso per nove giorni e nove notti ad un albero (forse Yggdrasil?).

Per gli uomini Odino era il dio non solo della guerra (e quindi chiamato anche Gunnar), ma anche della vittoria e dei caduti, cioè era colui che decideva chi tra due contendenti sarebbe stato il vincitore e chi sarebbe morto; ricordiamo che per i guerrieri vincere o morire in battaglia sono cose "piacevoli", dato che chi vince è il più forte ma chi muore e viene giudicato meritevole dal dio verrà poi accolto nel Valhalla.
Odino quindi era anche la divinità mietitrice sui campi di battaglia.
Alcuni dei culti più estremi del dio guerriero Odino portano alla creazione di alcune congregazioni di guerrieri tra cui non posso non ricordare i Berserker: Berserker (che dovrebbe voler dire "vestiti d'orso", forse per come si vestivano) erano guerrieri particolari che avevano fatto un giuramento ad Odino. Erano famosi per il loro modo di combattere: si dice che per quanto li si colpisse o per quanto combattessero non sentissero ne il dolore ne la stanchezza, anche se poi crollavano (di solito morti) stremati alla fine della battaglia. Si dice che quando entravano in battaglia facessero il vuoto attorno a loro.
Lo stato di furia in cui erano soliti entrare nei combattimenti pare fosse una specie di trance, forse anche indotta da potenti droghe e allucinogeni. C'è anche chi dice che il loro comportamento rabbioso fosse dovuta ad una malattia che fa ispessire troppo le ossa (forse le rende anche più robuste?) e che questo ispessimento provocasse una maggiore pressione sul cervello. Io sono più propenso a credere alla versione delle droghe (funghetti a gogo altro che XD), che in culture come quella erano alla base di molti riti, ma anche della medicina.

Al culto di Odino erano anche legati alcuni sacrifici PUBBLICI svolti come rituale di impiccagione (...oddio...), durante i quali erano sacrificati, impiccandoli agli alberi, ladri, schiavi ed esemplari maschi di animali che dovevano rievocare l'immolazione fatta da Odino per ottenere il potere delle Rune.
Questa versione "crudele" e battagliera di Odino mi ha un sorpreso, anche se in fondo non avrebbe dovuto, essendo un culto proveniente da una popolazione abbastanza dedita alla guerra.

Odino ha al suo fianco altri animali portentosi oltre il suo destriero (anche se al solo pensare che la madre è Loki rabbrividisco ?_?).
Due sono Hugin e Munin (che significano rispettivamente Pensiero e Memoria), due corvi che Odino manda in perlustrazione per il mondo durante il giorno, e alla sera quando rientrano, si posano sulle sue spalle e gli sussurrano nelle orecchie ciò che hanno visto. Infatti anche se Odino sa "tutto" o quasi, e anche se dal suo trono riesce a vedere ciò che succede nei vari mondi non credo che riesca a tenere d'occhio tutto e tutti.
Gli altri sono Geri e Freki (Avaro ed Ingordo), due lupi compagni di Odino. Egli gli da il suo cibo, dato che Odino si nutre solo di idromele (OMG O_O), anche se invece in battaglia si nutrono dei cadaveri dei caduti, sottolineando ancora di più la versione guerriera di Odino, nonche la sua parte dispensatrice di morte sui campi di battaglia.
Credo che gli stessi corvetti di Odino si nutrano dei resti dei cadaveri sui campi di battaglia. Insomma come immagini non sono proprio rassicuranti.

Per ora credo di aver detto tutto quello che sono riuscito a trovare, e dovrebbe essere abbastanza (spero.....). Devo dire che cercando a fondo si vengono a scoprire cose strane e bizzarre (Loki... madre...oddio....) mentre qualcuna pure sconcertante (tipo i sacrifici....).

Spero che la prossima volta trovi qualcosa anche di più allegro da riferire.
Continua a leggere!

Lilith

Eccomi con un'altra "recensione" se così si può dire.
Di cosa vi parlo oggi? Bè della nuova "figlia" di Luca Enoch e cioè Lilith!


Cosa dire di Lilith?
Bè non credo si possa partire a parlare di Lilith senza accenare qualcosa a Gea, l'ultima opera completa di Enoch.
Ho scoperto Gea per caso, ad un mercatino dell'usato, e devo dire che dopo aver letto un solo numero mi sono appassionato subito, trovando i temi trattati, la storia e l'ambientazione di mio gradimento.
Ma la cosa che veramente mi è piaciuta è la caratterizzazione dei personaggi creati da Enoch! Spazzano da una serietà ad una comicità estremi, divertendo il lettore e facendoli riflettere allo stesso tempo (e lo stesso Enoch non perde occasione ad usare i suoi personaggi per darci delle lezioni di vita, facendogli fare dei piccoli monologhi).
Gea è un personaggio che è nato "adolescente" se si può dire, e in tutti gli anni che sono passati è cresciuta, non solo fisicamente, ma anche spiritualmente, cosa questa che è successa anche allo stesso autore, dato che l'opera si è protratta per circa 10 anni.

Gea era però un fumetto dove si rideva più spesso.
Con questo non intendo dire che trovo i disegni di Enoch troppo cartonosi e comici, anzi devo dire che sono estremamenti belli e dettagliati, ma nonostante ciò lui riesce lo stesso a farti ridere. Certo alle volte deforma un po' i volti, le espressioni, ma il tutto è reso veramente bene :)
Dico però che non sono mancate scene con sbudellamenti ed interiora sparse qua e la, e anche li la maestria si è vista... e a pensarci bene le prime volte ci sono rimasto male! :O

Ecco, con Lilith non potevo che aspettarmi un passo avanti!
Il fumetto è molto più serio e cupo, anche perchè cupa e seria è la missione della nostra erorina: spedita qua e la indietro per il tempo, in diversi luoghi, per estirpare una razza di alieni che in un futuro conquisteranno il nostro pianeta costringendo gli esseri umani a vivere nel sottosuolo.
Insomma deve andare indietro nel tempo, smembrare persone e modificare la linea temporale.
Già qui gli si può avere da ridire sui paradossi temporali e compagnia bella, ma sorvoliamo! La storia va presa così come è (e poi lo saprà Enoch quello che fa no?).

Possiamo subito dire che se modifica la linea temporale, il corso degli eventi,lei non potrà mai più tornare nel suo tempo.
Bè già partire sapendo che è una missione senza ritorno a casa, perchè una casa non ce l'hai più, è durissimo.
Per non parlare della caratterizzazione della stessa Lilith: oramai siamo al 3° volume, e piano piano ci stanno venendo rivelati pezzi del suo "passato/futuro", del suo addestramento, delle cose che ha dovuto fare. Tutte cose che l'hanno segnata e trasformata in quello che è, e cioè (nel bene o nel male della cosa) in un'arma assassina.

Già con queste premesse l'opera non poteva che essere più seria rispetto a Gea, anche se qualche elemento ironico Enoch lo ha inserito (anche per spezzare un po' la tensione forse). Per non parlare poi del compagno di viaggio di Lilith, uno strano bestione nero, che per alcuni elementi ricorda il micio Cagliostro di Gea.
Non pensate però che questo essere ci farà ridere tanto quanto il mitico gatto nero ^^, quindi dimentichiamoci (almeno per ora) molte delle risate che il mitico gatto ci aveva fatto fare.
Come per ora non pensiamo di ritrovare tutte quelle scene comiche che avevano accompagnato la "biondina".
L'unica cosa che forse possiamo aspettarci è di ritrovare nei personaggi di Lilith i volti di qualche personaggio apparso in Gea, come Leo, Sig, etc.
Infondo credo che Luca abbia fatto un po' di fatica a staccarsi da Gea, che ha disegnato per 10 anni, e a creare questo nuovo personaggio. Credo anche che un po' di fatica l'abbia fatta a non far assomigliare troppo Lilith a Gea XD
Secondo me se la sognava di notte Gea, o quando cominciava a disegnare gli veniva fuori il suo volto XD

Cosa dire di Lilith come fumetto? In poche poche brevi parole?
Ne dico solo una: stupendo!
Trovo il lavoro di Enoch fantastico, sopratutto nella ricostruzione storica di luoghi ed epoche, cosa che credo gli sia costata non poca fatica e tanto tempo speso a documentarsi.
E anche la crudezza e crudeltà delle tavole calzano a pennello ai toni cupi della storia, rendendo il tutto ancora più apprezzabile.
E Lilith è dotata di una bellezza eccezionale (come quasi tutti i personaggi femminili di Enoch), la quale viene apprezzata nei momenti di pace, ma che viene dimenticata in fretta quando vediamo cosa è capace di fare ai corpi di chi si trova sulla sua strada la nostra inferocita eroina, che è tanto bella quanto letale e violenta. Una tigre a confronto sembra un gattino piccolo piccolo.

Io vi consiglio l'acquisto di questi volumi, per ora solo 3.
Ne valgono la pena, veramente.
E la parola giusta da usare è proprio pena, dato che i volumi escono una volta ogni 6 mesi! Tempo ragionevole dato che Enoch lavora da solo a Lilith (tavole, cover e tutto il resto), ma per i lettori è veramente una pena aspettare tanto per leggere il continuo!

Corro a (ri)leggerlo, tanto avrò tempo fino a giugno per impararlo a memoria!

Ciau!
Continua a leggere!

FUUUUUU.... cioè quando non ti resta altro da fare!

Vi è mai capitato di non sapere dove sbattere la testa?
Di avere delle cose da fare ma altre vi si sovrappongono e dovete rimandare?
Oppure solo di provare una forte rabbia per qualcosa che non va per il verso giusto?

Bè ecco come mi sento quando provo cose del genere!


Sinceramente non saprei in qualche altro modo esprimere la rabbia e la frustrazione che alle volte si prova!
E questa immagine rende bene come ci si sente XD

Il soggetto non è mio! Il FUUUU come viene chiamato è nato sulle Chan (se ricordo bene) e avendo passato una giornata pesa, persa a compilare della cavolo di librerie che non ne volevano sapere di partire, quando poi ce l'ho fatta per liberarmi un po' ho fatto questa... cosa (XD) in zBrush.
Circa 40 minuti di lavoro... o meno... bo non lo so (intanto facevo anche altre cavolate).
Se qualcuno lo vuole mi chieda il file e glielo invio per posta elettronica.

Buon FUUUU a tutti!
Meglio un FUUUU che spaccare i mobili di casa XD

Alla prossima!
Continua a leggere!