Discussione: Un FPS in 96kb...
Visualizza messaggio singolo
Vecchio 11-05-2008, 14.02.13   #1 (permalink)
waiser
Tribe Member
 
Info generali:
Data registrazione: 25-04-2005
Età: 24
Messaggi: 176

Predefinito Un FPS in 96kb...

Ciao a tutti,
oggi ho scoperto probabilmente l'acqua calda, ma mi sembra giusto condividerlo con tutti di questo forum, soprattutto da quando leggo tutte le discussioni su quanto occupa un gioco, qual è il supporto migliore, ecc. Voglio essere provocatorio ed azzardato e rispondo: il floppy disk. Ora lasciate che mi spieghi: navigando senza meta ho trovato un gioco, uno sparatutto in prima persona, che è essenzialmente una beta ed è ingiocabile a livello di gameplay MA è stato programmato in modo interessante. La cosa più interessante in assoluto è che occupa 96kb e la grafica è tutt'altro che brutta: richiede per girare DirectX 9.0b e sfrutta luci dinamiche, modelli 3D e tutto quello che ci piace vedere nei gioconi che tipicamente giochiamo su console o PC. Potete trovarlo su wwwtheprodukktcom (non linko per paura di violare qualche regola del forum) oppure potete scaricarlo direttamente da qui visto che l'ho allegato (ma un giro sul sito fatevelo comunque).
Com'è che sono riusciti a far stare una roba del genere in 96kb? Nemmeno DOOM era così piccolo (e questo ha una grafica ai livelli di Unreal I, forse anche di più). Hanno fondamentalmente utilizzato una tecnica di generazione di texture e mesh progressiva: in sostanza le texture ed i mesh non sono salvati in dei file che vengono caricati quando serve, ma sono generati dinamicamente al momento del caricamento del livello. Quello che è salvato su file (o forse, in questo caso, direttamente "hard-coded" nel gioco) sono le informazioni su COME generare le textures ed i mesh. In sostanza quali sono i passi da seguire per ottenere il risultato, piuttosto che il risultato stesso. Pensate: un'immagine JPEG ha occupa su disco dai 10kB in su, una riga di codice invece è sull'ordine delle decine di byte.
Naturalmente un'implementazione del genere ha dei problemi (scommetto che tutti gli ing. che stanno leggendo si sono già fatti la lista in testa ), primo tra tutti i tempi di caricamento decisamente allungati per la generazione delle textures ed i mesh. Inoltre queste informazioni, una volta generate, vengono salvate in memoria e occupano effettivamente decine e decine di mega. Essendo generate al momento del caricamento, ad esempio, del livello, non si potranno avere livelli che utilizzano informazioni in totale più grandi della dimensione della memoria disponibile sulla macchina che sta facendo girare il programma. Una roba come GTA4 sarebbe irrealizzabile con una soluzione del genere, MA (e sottolineo MA) utilizzando un'implementazione ibrida tra questa e quella che vede mega e mega di textures, mesh, suoni e quant'altro salvati su supporti sempre più grandi si potrebbero decisamente ridurre i volumi dei videogiochi. Chiaro, il codice di generazione andrebbe ultra-ottimizzato per avere dei tempi di caricamento accettabili, ma d'altra parte ha un senso avere videogiochi inutilmente enormi salvati su supporti come BD o DVD9 quando si potrebbero ancora utilizzare i CD (se non teniamo conto dei filmati HD)? Che ne pensate?

Ciao a tutti,
Juan
Files allegati
Tipo file: zip kkrieger-beta.zip‎ (97.8 KB, 56 visite)
Maschiowaiser non  è collegato   Rispondi citando
Sponsored Links