Se è la prima volta che sviluppi l'IA, non devi preoccuparti di cose come il modello di stato, la matematica comportamentale o persino ottenere un libro sull'argomento.
Puoi letteralmente cavartela con qualcosa del genere:
if( targetInRange == true )
{
FireAtTarget();
}
else if( bulletComingTowardsMe == true )
{
MoveAwayFromBullet();
}
else
{
WanderAroundAimlessly();
}
L'aspetto principale per ottenere l'IA corretta è pensare a quali comportamenti vuoi che il personaggio abbia e come questo possa essere realizzato realisticamente. Quindi, per un nemico di base dell'astronave, immagino che le possibili azioni che potrebbe compiere sarebbero:
E quando potrebbero accadere queste azioni?
- Muoviti - Nient'altro da fare
- Fuoco: quando individuo un nemico
- Scappa - Quando ho poca salute / Quando prendo fuoco / ecc
Dopo averlo fatto a causa del basso numero di "stati" in cui può trovarsi il tuo personaggio, puoi usare un'istruzione if semplice come quella sopra. Vorrei quindi raccomandare di guardare Comportamenti di guida in quanto questi sono comportamenti molto semplici da attuare e possono dare origine a movimenti davvero belli.
Maggiori informazioni sono disponibili qui: http://www.red3d.com/cwr/steer/
E consiglierei sicuramente il libro di Mat Buckland Programmazione AI per esempio , in particolare all'inizio.
Quando ti sentirai davvero a tuo agio con questi, suggerirei di esaminare i modelli di stato e strategia.
Il punto è iniziare in modo piccolo e semplice. Non preoccuparti di tutti questi termini che tutti continuano a lanciare attorno a FSM e modelli di progettazione e quant'altro. Progettare e costruire prima di tutto, quindi preoccuparsi di come migliorarlo utilizzando metodi o standard esistenti.
Spero che aiuti!