Sunday, December 16, 2007

Per far un viaggio ci vuol la mappa


Da qualche parte si deve pur cominciare, e dal momento che non sono ancora molto pratico di utilizzo delle directx, ho deciso di iniziare lo sviluppo dalla creazione della mappa.
Una cosa che mi ha sempre affascinato dei lavori di Braben è l'enorme densità di informazioni che questi contengono. Il suo primo Elite conteneva 8 galassie da 255 stelle ciascuna in meno di 48 kb, e Frontier l'intera via lattea in 600Kb.
Chiaramente usa dei trucchi: le stelle sono generate casualmente, così come i nomi, ma il tutto è fatto intelligentemente, così i nomi, le locazioni, le caratteristiche, son tutte casuali ma sempre uguali tra diverse partite, dando l'illusione cosi' che vi sia veramente una galassia memorizzata in pochi kappa.
E questa sarà la strada che prenderò anch'io. L'idea è quella di prendere un'immagine di una galassia, converirla in bianco e nero. Ogni pixel rappresenta diciamo di 50 anni luce quadrati, in base all'intensita' del "bianco" di ciascun pixel, corrisponde una densita' di stelle all'interno di quel quadrato 50x50. Piu' e' bianco e piu' stelle ci saranno, e viceversa.
Il risultato e' quindi quello di una griglia di 800x600 quadrati, pieni ciascuno di un numero casuale di stelle, che comunque rispecchia l'andamento della galassia.
E' cosi' anche l'occasione per mostrarvi il primo screenshot di quel che sto facendo.
Ovviamente il tutto e' moooolto grezzo e va comunque considerata più come una curiosità che altro.

Ah, due parole sui tool usati, visto che mi è stato chiesto.
Per lo sviluppo ho scelto il C++, in quanto linguaggio veloce, nessuna "schifezza" interpretata o macchine virtuali che mal si sposano con l'inevitabile ricerca di ottimizzazione.
Come compilatore ho scelto il Visual C++ Express 2005. Non sono soddisfattissimo dal tool, ma e' freeware, e gran parte degli esempi che si trovano in giro sono studiati proprio per questa IDE.
Se avete qualche suggerimento però dite pure! :)
Per il modeling 3D il davvero eccellente Blender, infine Paint Shop Pro per il disegno 2D

No comments: