Tuesday, May 27, 2008
Wednesday, May 14, 2008
Il Radar

Come detto la volta precedente, un buon tool per la navigazione potrebbe essere un vettore che rappresenti costantemente la direzione di movimento relativa all'orientamento dell'astronave.
Per far cio', c'e' poco da fare, occorre iniziare a lavorare al radar, che tanto prima o poi avrei dovuto affrontare.
Per ora, come potete vedere (meglio se clickate sull'immagine) ho definito l'"armatura" del radar e ho pasticciato un po' con le coordinate.
Per ottenere l'effetto simil-3d ho disegnato con Paint Shop Pro un cerchio grande, ci ho fatto un bel buco in mezzo, ed ho applicato l'effetto "bevel".
Infine ho preso il risultato e vi ho applicato una proiezione prospettica per dargli l'inclinazione che vedete nella schermata, ridimensionato il tutto a 256x128 e dato in pasto ad uno sprite che lo visualizza costantemente.
Tuesday, May 6, 2008
Manovre 2

Un'altra utilità che dovrebbe migliorare la manovrabilità del nostro mezzo è il radar.
Il quale, a differenza di quanto avviene nei giochi di Braben, potrebbe a sto punto mostrare anche il vettore di movimento dell'astronave rispetto al suo attuale orientamento. Nell'immagine vedete una bozza dell'idea: le due linee diagonali tratteggiate rappresentano il campo visivo del giocatore, le linee bianche gli oggetti che stanno sopra il piano dell'astronave, e quelli grigi quelli che stanno sotto.
Inoltre la freccia rossa indica la direzione attuale dell'astronave, senz'altro piu' precisa delle classiche "stelle che ci vengono contro", senza contare che le stelle ovviamente se ne stanno belle ferme.
Che ve ne pare come idea?
Monday, May 5, 2008
[OT] Ei fù
Manovre

Come avete potuto notare dal video del precedente articolo, la manovrabilità dell'astronave è decisamente ostica, al punto che il nostro veicolo è di fatto non pilotabile.
Ho aggiunto oggi un primo aiuto. Che non sarè la soluzione di ogni male ma almeno rende le manovre un pò più semplici.
In sostanza, premendo DESTRA o SINISTRA, si accende il razzo di manovra opposto, e la nostra astronave inizia a ruotare nella direzione scelta. Il guaio è che una volta che si smette di azionare il razzo, il corpo continua a ruotate su sè stesso fino a quando non viene applicata una forza contraria, grazie all'inerzia (avete presente gli asteroidi che ruotano sempre su sè stessi? Ecco.)
Ovvero, per ruotare diciamo di 90 gradi ad ovest, dovete premere ad esempio SINISTRA, e prima di raggiungere i 90 gradi di rotazione, premere DESTRA fino a quando la rotazione non si arresta. E se lo tenete premuto un pò troppo, una volta fermatasi, l'astronave inizierà a ruotare verso est.
Irritante.
Così ho implementato un sistema di bilanciamento automatico che funziona così: tenendo premuto sinistra o destra si accende il razzo corrispondente, e l'astronave inizia a ruotare, ovviamente piu' lo tenete premuto e maggiore diventera' la velocita' di rotazione.
Pero', non appena spegnete il razzo/rilasciate il pulsante, si accendera' automaticamente il razzo opposto, che rallentera' la rotazione fino a quando arriverà a zero. Raggiunto l'arresto, automaticamente il razzo si spegne, e la vostra astronave a questo punto rimane immobile.
Rimane chiaramente l'effetto dell'inerzia, quindi una volta che smettete di premere un tasto, l'astronave non si fermera' all'istante, ma gradualmente. Quindi se dovete ruotare di 90 gradi, dovete azionare il razzo fino a 45 gradi, dopodiche' lasciare che gli altri 45 gradi siano a carico del razzo opposto che frena la rotazione. Ma questo non è Quake, è uno spacesim :)
I "dolori" verranno per la gestione del propulsore principale. Il comportamento attuale è fisicamente corretto, ma poco pratico: se l'astronave si muove diciamo verso nord, e, mentre è in movimento, la si ruota, l'effetto non è come nell'automobile quello di cambiar direzione di movimento, ma bensì verrà cambiato senz'altro l'orientamento di prua-poppa, ma la direzione di movimento rimarrà sempre verso nord. Se una volta cambiato l'orientamento si accendono i razzi o i retrorazzi allora la direzione varierà, ma ancora una volta non nella direzione di orientamento, ma bensì nella risultante della somma vettoriale tra orientamento e spostamento.
Insomma, un macello, del tutto inusabile quando si tratta di dover far manovre di "fino", tipo un attracco od un combattimento.
Devo trovare un modo per rendere la guida più immediata, senza rendere di contro la simulazione troppo irrealistica.
Monday, April 28, 2008
Inerzia
Finalmente qualcosa si muove... con un certo realismo.
Lavorando con la gestione dei motori di manovra e di propulsione si inizia ad avere un movimento che non e' piu' quell'obbrobrio mosso dal mouse che avete visto fin'ora, ma un movimento piu' armonioso che tiene conto dell'inerzia del mezzo.
Come temevo la cosa e' assolutamente non manovrabile per ora, saranno necessari tools o trucchi per rendere il tutto piu' usabile, pero' il tutto per lo meno e' piu' fluido ed armonioso.
Vi lascio un piccolo video di quanto vi ho appena raccontato
Lavorando con la gestione dei motori di manovra e di propulsione si inizia ad avere un movimento che non e' piu' quell'obbrobrio mosso dal mouse che avete visto fin'ora, ma un movimento piu' armonioso che tiene conto dell'inerzia del mezzo.
Come temevo la cosa e' assolutamente non manovrabile per ora, saranno necessari tools o trucchi per rendere il tutto piu' usabile, pero' il tutto per lo meno e' piu' fluido ed armonioso.
Vi lascio un piccolo video di quanto vi ho appena raccontato
Tuesday, April 22, 2008
Ricominciamo?
Non lo so, mi piacerebbe, ma come detto in sto periodo son piuttosto preso con il lavoro che, a differenza di Tau Ceti, mi da da mangiare.
Ad ogni modo oggi son finalmente riuscito a ritagliarmi un po' di tempo, e devo confessare che dopo tanto tempo ho fatto fatica nel riprendere in mano i sorgenti e capire dove diamine ero arrivato :)
Detto questo comunque sto sviluppando il sistema di propulsione dell'astronave, pensavo di fornirla di un motore principale per l'accelerazione, e, con un po' di fantasia, anche per la decelerazione (altrimenti per amor di realismo diventa un po' troppo complicato pilotarla), e 4 motori laterali piu' piccoli per le manovre (virate dx,sx, beccheggio).
In tale ottica diventa piuttosto vincolante la forza di inerzia. Per ruotare ad esempio aziono il motore di sinistra, la nave inizia a girare verso destra.. ma in teoria per fermarmi dovrei ad un certo punto spegnere il motore di sinistra ed azionare quello di destra fino a quando l'asse della nave non e' fermo. Tutto molto bello, e nemmeno di difficile implementazione, quel che mi lascia perplesso e': poi il tutto diventa ingovernabile? L'idea e' quella di fare un gioco, non un simulatore di space shuttle, eppure da un lato non vorrei nemmeno trasformarlo in un ufo al quale ogni manovra e' concessa.
Se avete idee, vi ascolto.
Ad ogni modo oggi son finalmente riuscito a ritagliarmi un po' di tempo, e devo confessare che dopo tanto tempo ho fatto fatica nel riprendere in mano i sorgenti e capire dove diamine ero arrivato :)
Detto questo comunque sto sviluppando il sistema di propulsione dell'astronave, pensavo di fornirla di un motore principale per l'accelerazione, e, con un po' di fantasia, anche per la decelerazione (altrimenti per amor di realismo diventa un po' troppo complicato pilotarla), e 4 motori laterali piu' piccoli per le manovre (virate dx,sx, beccheggio).
In tale ottica diventa piuttosto vincolante la forza di inerzia. Per ruotare ad esempio aziono il motore di sinistra, la nave inizia a girare verso destra.. ma in teoria per fermarmi dovrei ad un certo punto spegnere il motore di sinistra ed azionare quello di destra fino a quando l'asse della nave non e' fermo. Tutto molto bello, e nemmeno di difficile implementazione, quel che mi lascia perplesso e': poi il tutto diventa ingovernabile? L'idea e' quella di fare un gioco, non un simulatore di space shuttle, eppure da un lato non vorrei nemmeno trasformarlo in un ufo al quale ogni manovra e' concessa.
Se avete idee, vi ascolto.
Subscribe to:
Posts (Atom)
