Come gestire saltare su un pendio in una partita a corridore?


8

In un corridore senza fine 2D, cosa dovrebbe succedere quando il giocatore corre "troppo veloce" su una pendenza e salta?

Ad esempio, in un caso "normale":

    .O.
   . __..O_____
  . /
 . /
 O/
_/

Se si sta muovendo a destra abbastanza lentamente, salterà verso l'alto e atterrerà sulla parte piatta della superficie. Tuttavia, se si sta muovendo troppo velocemente, il salto non avrà alcun effetto in quanto il suo movimento in avanti lo riporterà in contatto con la pendenza prima che possa salire abbastanza in alto da passarci sopra. Quando la velocità è sufficientemente elevata, non ci sarà effettivamente alcun salto.

     _________
    /
 .O/
 O/
_/

Esistono modi noti per risolvere questo problema? So che è fisicamente corretto *, ma ci sono tecniche che altri giochi usano per superarlo in modo ragionevole?

Come ultima risorsa dovrò semplicemente rimuovere tutte le pendenze troppo inclinate.

* Se costringi il giocatore a non saltare mai indietro.


Sembra che il passaggio da un terreno pianeggiante a una ripida collina rallenterebbe il giocatore abbastanza da fare il salto. Se vogliono mantenere la loro velocità, saltarebbero prima della pendenza. Cordiali saluti, penso che la tua domanda sia una specie di domanda "aiutami a decidere", rendendola una specie di opinione.
MichaelHouse

@ Byte56 Forse qualche opinione potrebbe entrare nel mix, ma penso che questa sia ancora una buona domanda. Alcune delle migliori domande su questo sito hanno un'aria di opinione su di loro. Una buona risposta potrebbe indicare soluzioni spedite.
kevintodisco,

@ktodisco Sono d'accordo, le risposte possono trasformare una domanda borderline in una grande. (Anche se l'ultimo dei tuoi esempi è chiuso, giustamente).
MichaelHouse

Una possibilità, che penso di aver visto (so che non è particolarmente convincente) potrebbe essere quella di fare una direzione di salto in relazione all'angolo del terreno sotto di te, quindi saltare su una pendenza verso il basso ti farebbe guadagnare un po 'di slancio in avanti, ma non saltare più in alto, mentre saltare su un pendio verso l'alto ti manderebbe più in alto con uno slancio in avanti ridotto (pensa al salto come a spingere da terra)
Stregone di latta,

@ Amadeus9 è un buon punto, ma penso che in questo caso specifico non applicherei. Ridurre la velocità durante il salto finirà comunque per creare una collisione di pendenza, poiché la velocità aumenta senza limiti.
tu786,

Risposte:


11

Ecco alcuni esempi di come i giochi (corridore o altro) hanno gestito questa situazione. Non esiste un "migliore" e devi ancora decidere quale è giusto per il tuo gioco.

Il modo fisicamente "corretto" (impulso verticale)

Per saltare, aggiungi un impulso verticale (rosso) alla velocità di movimento (verde) . La velocità risultante (blu) ti porterà sempre sopra la pendenza, quindi fino a quando la pendenza non diventa troppo ripida presto, il tuo personaggio salterà sempre sopra la pendenza.

ali minuscole

L'avvertenza è che se il tuo personaggio corre su un pendio ripido, ora puoi saltare molto in alto.

Salti perpendicolari (Sonic)

Quando salti, il tuo impulso di salto è in una direzione (rossa) perpendicolare alla pendenza (verde) . Potresti ricordare questo comportamento dai giochi di Sonic.

sonico

L'avvertenza è che su pendii molto ripidi, si finisce spesso per saltare all'indietro.

Non saltare sui pendii

Forse decidi che le piste sono in qualche modo speciali e non ha senso saltare su di esse. Ad esempio, le scale sono un tipo speciale di pendenza, che in alcuni giochi non è possibile saltare affatto.

castlevania 3

L'avvertenza è che, ogni volta che togli il controllo al giocatore in questo modo, devi comunicare chiaramente le aspettative, altrimenti il ​​giocatore può sentirsi frustrato. Ad esempio, Castlevania utilizza un'animazione speciale per "salire le scale" per chiarire che si tratta di un tipo speciale di movimento.

Non correre su pendii ripidi

Un'altra opzione è rendere impossibile arrampicarsi su pendii troppo ripidi: i giocatori scivolano giù come se fosse un ostacolo simile a un muro. Dal momento che stanno cadendo o scivolando verso il basso, è chiaro che non possono saltare neanche durante questo periodo.

Nessuna pendenza ripida

Potresti uscire facilmente e rimuovere completamente le piste che ti daranno tali problemi. Questa non è una cattiva idea come sembra, perché camminare su per le piste non è divertente; camminare lungo le piste è molto più eccitante!

safari sugli sci

Nessuna pendenza (la risposta Mu)

Quando si tratta di gameplay, sono un fan del design minimalista - come dice il proverbio, "la perfezione è finalmente raggiunta non quando non c'è più nulla da aggiungere, ma quando non c'è più nulla da portare via". Le piste servono a un utile scopo di gioco o sono semplicemente belle - cioè sono divertenti ? Dopotutto, è perfettamente bene avere un corridore senza piste.

canabalt


Grazie per la risposta dettagliata Per la cronaca, ho finito per rimuovere tutte le pendenze troppo ripide.
you786,

1

Per chiunque lo trovi, ci sono riuscito avendo un numero minimo di fotogrammi che devono passare nell'animazione del salto prima che venga registrata la collisione con la collina. In questo modo hai un periodo di grazia per consentire al personaggio di alzarsi un po 'senza preoccuparsi della collisione del pendio.


-1

il raycast è una buona idea, puoi usare il ray ray se si tratta di una pendenza, quindi puoi controllare la velocità cambiando la velocità del giocatore.


Puoi migliorare significativamente questa risposta spiegando come .
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.