Come funziona l'assistenza alla frenata dei giochi di corse automobilistiche?


8

Ci sono molti giochi di corse automobilistiche per PC che hanno questo esclusivo aiuto alla guida che aiuta a frenare la tua auto in modo da poterla girare in sicurezza. Mentre in alcuni giochi è solo un 'aiuto', aiuterà la tua auto a frenare ma non ti garantirà una svolta sicura. Mentre in altri, l'assistenza alla frenata ti aiuterà a ottenere una svolta sicura. Mi chiedevo quale potrebbe essere l'algoritmo che viene seguito per raggiungerlo.

Un algoritmo molto semplice a cui potevo pensare era

  • Pre-determinare la distanza di frenata di un'auto ideale per ogni curva della pista, a seconda del raggio della curva, quindi iniziare a frenare di conseguenza l'auto. Ad esempio, per una curva inferiore a 90 ° , la macchina inizierà a frenare automaticamente a 50 m di distanza dall'inizio della svolta.

Potrebbe essere un algoritmo più avanzato, che garantirebbe una svolta sicura

  1. Pre-determinare la velocità dell'auto all'inizio di ogni svolta, individualmente per ogni traccia, svolta e auto. Inoltre, predeterminare individualmente la velocità di decelerazione di ciascuna vettura, che varia a causa delle prestazioni della vettura.
  2. L'assistenza alla frenata continuerebbe a registrare la velocità della vettura in un determinato istante di tempo.
  3. Inizia a frenare l'auto in modo appropriato in modo che l'auto raggiunga la velocità esatta necessaria all'inizio della svolta.
  4. Ad esempio, lascia che la velocità di una determinata auto all'inizio di una curva di 43 m nel raggio sia di 120 km / h. Lascia che la velocità di decelerazione dell'auto sia di 200 km / h 2 . Se, ad un certo momento, la velocità della macchina è di 200 km / h, la macchina inizierà automaticamente a frenare a 400 m dall'inizio della svolta.

2
Opzioni più sofisticate determinerebbero il tempo, la superficie stradale, la distribuzione del peso della vettura, le caratteristiche delle sospensioni e dei pneumatici. Ho visto giochi come Real Racing 2 in cui le opzioni di aggiornamento modificano le sospensioni e le gomme e alcuni altri consentono l'accordatura delle sospensioni. Un gioco con caratteristiche mondiali persistenti potrebbe tenere conto delle schifezze accumulate sulla strada e del cambiamento dell'usura e della rigidità delle gomme durante il riscaldamento.
Andy Dent,

[sembra che non posso ancora commentare, quindi inserisco questo come risposta] Oltre alla seconda delle tue proposte, modificherei questo algoritmo per frenare un po 'troppo in modo che la velocità all'inizio della curva sia inferiore alla velocità ottimale . L'intenzione qui è che il giocatore dovrebbe scoprire che può fare il turno più velocemente senza uscire di pista se non usa l'assistenza. Vorrei incoraggiare il giocatore a disabilitare gli assist che dovrebbero renderlo più orgoglioso di se stesso.
Grzegorz Sławecki,

Qualsiasi algoritmo qui sarebbe notevolmente diverso dal controllo di un avversario AI?
rimorchiatori

Non evidentemente, ma sì, diverso in molti aspetti. Puoi far muovere l'IA a qualsiasi velocità e angolazione e comunque fare un'impressione di movimento normalizzata. In questo caso, un personaggio AI può girare anche alla velocità di 160 km / h, anche se non è possibile, ma il primo algoritmo qui non consentirebbe a un giocatore di farlo. Anche per la seconda, il ruolo dell'assist è di portare la macchina alla velocità ottimale richiesta all'inizio della curva. Se un giocatore prevede di aumentare la sua velocità in seguito, non sarà in grado di girare.
Ayush Khemka,

Risposte:


4

Fondamentalmente, l'assistenza alla frenata funziona confrontando la velocità della vettura del giocatore con la velocità del punto più vicino sulla linea di corsa ottimale della pista e applicando automaticamente i freni secondo necessità per ridurre la velocità della macchina del giocatore in modo che corrisponda alla velocità specificata sulla linea di corsa ottimale. È esattamente come scrivere l'intelligenza artificiale delle auto da corsa, ma applicare solo le uscite dei freni dell'IA, non l'acceleratore o lo sterzo.

Ciò (ovviamente) richiede che tu abbia dati su una linea di gara ottimale, in modo da poter dire quanto il giocatore deve rallentare. Questa linea da corsa viene in genere generata computazionalmente durante lo sviluppo e viene fornita con il gioco come un dato statico, anziché essere calcolata in fase di esecuzione. (Ho lavorato su giochi che hanno generato dinamicamente una linea di corsa davanti al giocatore, ma questo era computazionalmente costoso e non lo consiglio a meno che tu non abbia tracce che cambiano in modi imprevedibili)


1

Potresti calcolare il percorso che la macchina descriverà se gira con la velocità attuale senza andare alla deriva. Quindi applicare i freni in proporzione alla d distante , che è la distanza misurata dal percorso calcolato alla curva.

inserisci qui la descrizione dell'immagine

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.