martedì 23 ottobre 2007

Genesi di Oversteer

Fin da bambino, giocando con i primi videogame per il mitico Commodore 64, ho sognato di diventare programmatore di videogame; poi i casi della vita e le condizioni ambientali (scarsa diffusione di sw-house di videogame in Italia), hanno portato ad occuparmi di noiosissimo software gestionale. Però continuo a coltivare questa passione ed inseguire questo sogno. Finora sono riuscito a realizzare solo dei demo incompleti, ma dall'uscita del framework Microsoft XNA ho iniziato a credere nella possibilità di creare un "garage game".
Questa libreria consente al programmatore amatoriale di concentrarsi sugli aspetti specifici del proprio gioco, evitando di spendere tempo per mettere su l'infrastuttura; basti pensare alla facilità di importazione di file grafici e sonori permessi dalla Content Pipeline. Inoltre mi ha affascinato l'idea di poter programmare una console next-generation come la XBox 360; è fantastica la semplicità con cui si può deployare e debuggare un progetto sulla X360. L'obiezione principale che molti fanno è che l'uso di un linguaggio interpretato come C# è un limite alle prestazioni; in realtà il maggior carico computazionale nei moderni giochi si ha per la grafica ed ormai questa viene quasi interamente elaborata dalla GPU, tramite gli shaders, per cui C# non costituisce più un grosso limite. Per me che venivo da anni di programmazione C e C++, il linguaggio C# è stata una scoperta piacevolissima, ha davvero dei costrutti molto potenti e comodi come le region, i delegate ; inoltre consente di usare i thread in modo facile; ciò è una carta vincente del framework XNA perchè tutte le nuove CPU sono multicore (la XGPU può elaborare 6 thread hardware contemporaneamente). Una ulteriore spinta verso la scelta di XNA è venuta dalla notizia che, ad inizio 2008, Microsoft lancerà un sito YouTube-like, che fungerà da vetrina per i videogiochi amatoriali creati con XNA. Credo che sia fondamentale avere un minimo di visibilità per il proprio game; inoltre i videogame migliori potranno essere pubblicati dalla stessa Microsoft sul Live Arcade del Marketplace XBox360. Inoltre con la versione 2.0 di XNA, disponibile a Natale, sarà anche possibile il supporto per il multiplayer di rete, rendendo davvero completa la piattaforma.
Scelta la tecnologia, dovevo decidere il tipo di gioco da creare; ho deciso di fare un gioco che mi sarebbe piaciuto giocare, piuttosto che decidere in base a motivi commerciali e di mode. Da sempre sono stato appassionato di corse automobilistiche e di F1, quindi i miei videogame preferiti sono sempre stati i simulatori di guida; di conseguenza la scelta è ricaduta su questa tipologia. Anche perchè ci sono stati degli ottimi esempi di giochi nati da progetti amatoriali di una-due persone e diventati una realtà commerciale: vedi l'esempio italiano di NetKar oppure quello olandese di Live for Speed; il gioco a cui intendo ispirarmi però è R-Factor, per la sua versatilità e modificabilità. Altre fonti ispiratrici sono state il realismo di guida di Forza Motorsport 2 e la pulizia grafica e l'illuminazione di Gran Turismo 4 e 5. E' chiaro che per un progetto amatoriale è impossibile raggiungere il livello tecnico dei giochi citati nonchè implementare tutte le loro funzionalità. Cosi ho deciso concentrarmi su di un sottoinsieme di caratterisitiche, che per me costituiscono l'essenza di un simulatore di guida: grafica foto-realistica ed una fisica molto realistica. Buona parte del lavoro preparatorio per questo game è stato lo studio della dinamica del veicolo: ho acquistato ben 3 testi, tra cui la "Bibbia" degli ingegneri di pista: "Racecar Vehicle Dynamics" di Milliken&Milliken.

3 commenti:

Valerio Cuscunà ha detto...

Ciao Stefano
Quando scrivi:
Altre fonti ispiratrici sono state il realismo di guida di Forza Motorsport 2 e la pulizia grafica e l'illuminazione di Gran Turismo 4 e 5.

osa intendi x realismo di guida prendendo ispirazione da forza motorsport? considerato che in quel titolo nno esiste neanche la visuale dal cockpit? qual'è la carateristica alla quale ti vuoi ispirare?
grazie e ciao

Stefano ha detto...

Il modello di guida di Forza2 è molto realistico; la vettura sovrasterza il giusto, si può controllare la sbandata come pochi; anche la frenata è impegnativa ed è simulato molto bene il bloccaggio. Anche la fisica delle sospensioni è la top: guarda un replay di quando vai fuoripista e noterai come si muovono ruote e sospensioni. La visuale dal cockpit non serve a nulla se la guida poi è poco realistica.

Valerio Cuscunà ha detto...

Ciao,
non sono esperto di fisica però conosco bene tutti i simulatori da GPL a GTR2, sinceramente Forza2 non mi ha mai impressionato in quanto a fisica, comunque il fatto che manchi la visuale dal cockpit toglie molto realismo, cambia il FOV e il POV ovviamente non realistici.
Sinceramente ritengo rfactor e netkar PRO i migliori simulatori tra quelli "tosti" (nel senso che vanno a ricercare il più possibile il realismo senza compromessi, sopratutto netkar) tu cosa ne pensi sopratutto riguardo netkar?
ad ogni modo penso anche che sia illogico escludere una feature con il ff in un simulatore di guida, quando questa è di certo la via più efficace per trasmettere le sensazioni che si provano nell'abitacolo di una vettura e non si possono provare sulla sedia davanti al pc :)
ciao e buona serata
Valerio