Modelli per il comportamento delle corse con l'intelligenza artificiale


9

Supponiamo che tu abbia un'intelligenza artificiale da corsa basata su spline. Supponiamo che sia già in grado di gestire le basi della frenata e dello sterzo in pista.

Come struttureresti e attiveresti la prevenzione delle collisioni, il sorpasso, il disegno, il blocco e altri comportamenti in modo che le tue auto rimangano competitive ma realizzassero gare interessanti?

I collegamenti a documenti / implementazioni sarebbero fantastici.


che tipo di motore stai usando,
— Harshal Benake,

Risposte:


7

Hai visto comportamenti di guida per personaggi autonomi ? Considererei un algoritmo " CrowdPathFollowing" per rimanere in pista ed evitare le collisioni. Potresti essere in grado di mescolare un comportamento di "Seguire il campo di flusso" per disegnare, passare e bloccare - fare in modo che il campo di flusso segua il percorso passato e proiettato del giocatore, ma diviso attorno alla sua posizione attuale.

      /-------------\
 ----<  [playerCar]  >-----
      \-------------/

Ciò dovrebbe indurre l'AI a seguire direttamente dietro di lui e muoversi direttamente davanti per bloccare, incoraggiando tuttavia passaggi puliti.


1
Sono a conoscenza di boids, ma è un buon riferimento. Ho un po 'paura di molti comportamenti (rimanere sulla linea di corsa, evitare auto, blocchi, tiraggio, ecc.) Interagendo in modi troppo complessi da mettere a punto e finendo con l'occasionale collisione del bordo. Questo va bene per i pedoni, ma catastrofico per le macchine da corsa che devono continuare a muoversi.
— 10

Ho lavorato con l'API OpenSteer che implementa molte di queste cose. L'ho trovato abbastanza facile da sintonizzare. Nel tuo caso aumenterei il peso di "SteerToAvoidCollision". Non so che cosa i veicoli che si sta correndo, ma mi piacerebbe pensare che se lo fanno bene per la stragrande maggioranza dei casi, poi i restanti urto occasionale o bash a causa di un caso limite è probabilmente abbastanza realistica ....
— ASelly

Erano i veicoli di governo o qualcos'altro? Ho paura di situazioni che causano problemi come due veicoli davanti alla tua sinistra e uno davanti alla tua destra. Il vettore medio comporterebbe un movimento a destra, anche se ciò potrebbe metterti in contatto con il veicolo a destra.
— tenpn

Lavoravo principalmente con i pedoni, quindi non posso giurare che funzionerà. Una cosa da ricordare è che non deve essere una miscela di comportamenti: può essere un'erarchia. In questo modo puoi evitare che le collisioni abbiano una priorità maggiore su qualsiasi altra cosa. Nel caso in cui descrivi l'auto andrebbe bene fino a quando il percorso previsto non intersecasse il percorso dell'auto a destra, momento in cui evitare quella collisione diventa la forza prevalente. È inoltre possibile aggiungere condizioni speciali: ad esempio, se non viene trovato alcun percorso sicuro in N frame, aggiungere una frenata brusca.
— AShelly,


1

Anti-Pattern: gli avversari adattano la loro velocità

Sfortunatamente non sono in grado di darti modelli, ma vorrei nominare un modello anti. Non tentare di adattare la velocità dei driver AI a quella del giocatore umano. L'idea alla base è quella di creare condizioni di gara eque per i dilettanti e professionisti e di abbandonare la necessità di livelli di difficoltà multipli (e la loro attuazione).

Tuttavia, ciò che suona bene sulla carta risulta terribile in pratica e la serie MotoGP ha fallito miseramente nell'attuare questo comportamento. È finito con l'avversario alla guida a 5mp / h quando sei rimasto fermo per un paio di secondi e l'impossibilità di dire se sei migliorato nel gioco (feedback molto negativo)


Grazie. Sto parlando in particolare di comportamenti di razza interessanti qui piuttosto che di bilanciamento o livelli di difficoltà, ma lo terrò a mente.
— tenpn,

5
Quasi tutti i giochi di corse includono una qualche forma di fascia in gomma per mantenere il giocatore in azione o mantenere l'IA vicino al buon giocatore. Il trucco è quello di essere discreto con esso e sapere quando spegnerlo. Una volta che il giocatore se ne accorge si sentono traditi.
— Wkerslake,

La situazione della MotoGP sembra un problema di andare troppo lontano, piuttosto che un problema con la fascia in gomma in generale. Non è irragionevole per i conducenti nella parte anteriore guidare con più cautela e le auto nella parte posteriore per provare più disperatamente a colmare il divario, e penso che abbia valore modellarlo in quel modo e presentarlo in modo trasparente al giocatore.
— Jibb Smart,

Questo è un post interessante sull'argomento: gamasutra.com/view/feature/3920/… Fondamentalmente ti hanno messo in 3 gruppi di corridori di intelligenza artificiale e ti hanno fatto avanzare da un gruppo all'altro durante il corso della gara.
— Felsir,
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.