Tip Book – Paged Geometry

•mercoledì, 14 novembre 2007 • Lascia un commento

Durante la mia incessante ricerca di nuove librerie utili a semplificare il lavoro del team mi sono imbattuto in questo fantastico tool free per Ogre, il Paged Geometry.

Cosa fa questo Paged Geometry? In parole povere permette di istanziare una mesh per centinaia di migliaia di volte in uno scenario, senza sacrificare le prestazioni. In parole ancora più povere, potete per esempio creare foreste sterminate, che si perdono all’orizzonte, mantenendo un frame rate eccezionale!

Jungle
Jungle1
Jungle2

Queste immagini ne sono l’esempio più lampante. Nonostante siano realizzate con mesh e textures non proprio sbalorditive, senza la presenza di shaders oltretutto, risultano veramente eccezionali. Il test eseguito sul tool dimostra un frame rate variante dai 100 ai 150 FPS, ottenuto su una “vecchia” GeForce 7800 GT.
Fa pensare come, spesso ormai, i programmatori che si dedicano ad arricchire l’universo open source ottengano risultati quasi equivalenti, e talvolta migliori, a quelli dei grandi team che chiedono migliaia e migliaia di dollari per i loro software.
Immaginate ora di sostituire le palme con alberi più dettagliati e materiali comprendenti shaders. Il risultato si avvicina abbastanza a quello tanto decantato di Crysis. Attenzione però, credere di ottenere tutto quel ben di Dio tanto facilmente e a costo zero è solo un’illusione. Le dovute differenze ci sono e vanno evidenziate.

Prima tra tutte, la gestione delle ombre va ancora migliorata. In secondo luogo, è ancora da testare la dinamicità delle mesh istanziate, animabili per il momento solo con un Vertex Shader fatto ad-hoc. Ovviamente sono difetti minori per un tool che, già alla sua seconda release, dimostra potenzialità immense. E, ricordiamolo, è open source.

Ma come si comporta il Paged Geometry in presenza di più modelli da istanziare? La libreria processa in maniera diversa i modelli vicini e quelli lontani. Tornando all’esempio della foresta:

- riguardo agli alberi vicini, è possibile usare un numero praticamente illimitato di modelli diversi, grazie alle potenzialità di batching del tool, a patto però di tenere minimo il numero di materiali diversi utilizzati. In altre parole, ciò che pesa sulle performance del software non sono tanto le geometrie quanto i materiali che le ricoprono, siano essi texture o shader. Questo ovviamente significa che non è possibile strafare con la varietà della vegetazione, cosa che invece il CryEngine2 gestisce facilmente. Ma ritorno a precisare che non è possibile fare confronti pesanti tra engine di diversa natura.

- riguardo agli alberi lontani, la situazione è esattamente opposta. Ovvero peserà più sulle prestazioni la quantità di mesh diverse utilizzate rispetto ai materiali. Questo perchè gli alberi distanti sono processati con un metodo detto Impostor Rendering. In altre parole di ogni modello viene generata un’immagine che riprende la mesh da tutti i punti di vista, in modo da sostituire i possibili molti poligoni della geometria istanziata con i soli due di una Texture con canale Alpha.
Impostor Map
Concludendo, vi consiglio caldamente di seguire lo sviluppo di questa fantastica libreria che potrebbe anche farvi risparmiare molta fatica e denaro ;)
- Paged Geometry Wiki

A Symmetrical Diary – Chapter 3 – “Sierriamo” i ranghi…

•mercoledì, 7 novembre 2007 • 1 commento

Dopo molto, ma molto, spam via internet e invio di materiale a diversi pubblishers, ora finalmente uno sembra aver recepito il messaggio. Vivendi Games (aka Sierra Entertainment) è interessata a valutare una demo del gioco, Starship Sound. Inutile dire che questa cosa mi ha fatto un piacere enorme, perchè significa che l’idea ha del potenziale.

Quindi c’è poco da fare, ci dobbiamo rimboccare le maniche e far uscire qualcosa di concreto al più presto. Perchè se è vero che i grandi pubblishers sono diffidenti verso le software house minori, ancora più vero è che non si fiderebbero di nessuno che dimostri scarsa professionalità.

In conclusione, sierriamo i ranghi, per davvero. Chiunque voglia unirsi a noi visiti la pagina di arruolamento Join Us. Vi aspettiamo!

A Symmetrical Diary – Chapter 2 – Programmer area done!

•domenica, 21 ottobre 2007 • Lascia un commento

Finita! L’area programmatori è piena e qualcosa si sta già muovendo. Di contro, l’area grafica è più vuota del Parlamento di lunedì mattina. Di grafici capaci è pieno il web, ma evidentemente pochi hanno la volontà di imbarcarsi in qualcosa di concreto.

Sempre in tema grafico, stamani ho dovuto ricredermi su Blender. Da quando lo usavo io è cresciuto parecchio, integrando in sè tutte le varie funzioni che oggi possiamo trovare in un qualsiasi 3Dstudio o Maya (ovviamente con gli opportuni ridimensionamenti, ma c’è proprio tutto). Sono rimasto impressionato nell’osservare le sue capacità di sculpting e, onestamente, mi è sembrato più user-friendly di ZBrush, in questo senso. In sintesi, credo che ora come ora siano veramente pochi i motivi per spender fior di euro (soprattutto se si è un indie team) per un programma professionalmente caro come 3Dstudio. Per quello c’è tempo.

A Symmetrical Diary – Chapter 1 – Spamming through the web

•sabato, 13 ottobre 2007 • Lascia un commento

Terzo giorno della ricerca: devo dire che non c’è male. Grazie a tutto lo spa…- ergh – pubblicità che ho fatto in lungo e in largo in molti forum italiani la Symmetrical Home ha già raggiunto quota 173 visite. Lasciando stare un paio di ban che mi sono beccato, questa ricerca ha messo in evidenza due cose che già da tempo sospettavo:

1. è più facile trovare un pubblisher generoso che grafici e musicisti capaci;

2. in Italia ci sono più programmatori che gatti.

In verità devo dire che sono stato piacevolmente sorpreso dal numero di programmatori che mi ha contattato, anche se la maggior parte non sono stati in grado di leggere i requisiti che mi necessitano. Per ora solo due programmer possono essermi d’aiuto, di cui uno è già stato inserito nell’organico del team e un altro è ancora in fase di vaglio. Sempre e comunque più di quanti sperassi :)

Comunque sia il mio ”spamming tour” continua, e se non mi vedete in un qualsiasi forum vuol dire che sono stato già bannato XD

Ciao e al prossimo capitolo!

A Symmetrical Diary – Prologue -

•mercoledì, 10 ottobre 2007 • Lascia un commento

Con questo articolo mi accingo a iniziare il resoconto di un’avventura che spero duri il più possibile. Voglio in qualche modo ricreare in queste pagine una sorta di diario, nelle mie intenzioni testimone del percorso di crescita di un piccolo team con la fissazione del videogioco.

Questa, in estrema sintesi, è la ragione di esistenza di questo spazio.

Tuttavia il mercato che ci accingiamo ad abbordare non è dei più clementi, ne dei più economici. Ci sono difficoltà enormi da superare, che spesso costringono alla ritirata più di una persona.

Di conseguenza il qui presente blog vuole provare anche ad essere una specie di punto di riferimento italiano per risolvere i piccoli e concreti problemi di sviluppo che puntualmente affiorano durante lo sviluppo di un videogioco.

Nella mia ignoranza proverò ad aiutare un po’ tutti.

Nel frattempo il team cerca ancora il suo assestamento ideale, perciò chiunque abbia compentenze di programmazione in C#, chiunque sia in grado di modellare discretamente su Blender mi contatti. Vi invito comunque a visitare la home page dei Symmetrical Minds e vi saluto, invitandovi a tornare nel caso l’argomento risulti interessante.

Ciao!