Come funziona l'intelligenza artificiale dei nemici in Doom Pt. 4
(Quarta parte della guida della speedrun di SpongeBob SquarePants: Battle for Bikini Bottom, trovate le parti precedenti negli articoli pubblicati di recente o su "cerca")
Successivamente il gioco calcola la distanza tra il nemico e il giocatore, quindi sottrae 64 unità da quel numero. Se al nemico manca un attacco in mischia, diminuisci il valore della distanza di 128 unità. Se il nemico è un Arcivile e la distanza è maggiore di 896 unità, non iniziare mai un attacco. Se il nemico è un Revenant e la distanza è entro 196 unità, non sparare missili. Questo crea un po 'una zona morta per il Revenant dove non farà né il suo attacco in mischia né l'attacco missilistico, a meno che non si faccia male, ovviamente. Se la distanza tra Revenant e giocatore è maggiore di 196 unità, dimezza il valore della distanza.
Se il nemico è un Cyberdemon, Spiderdemon o Lost Soul, dimezza anche il valore della distanza. Ora, limita il valore della distanza a 200, a meno che il nemico non sia un Cyberdemon, quindi limitalo a 160. Genera un numero casuale compreso tra 0 e 255 e se questo valore è inferiore alla distanza, spara un proiettile. Un nome un po 'fuorviante, stato missilistico, poiché gli hitcanner lo usano anche per gli attacchi a distanza. A proposito, gli attacchi hitcan nemici sono limitati a 2.048 unità di lunghezza, ma attaccheranno comunque da distanze molto maggiori di quella. Inoltre la maggior parte dei nemici chiama A_FaceTarget quando attacca. Ciò garantisce che il nemico sia di fronte al giocatore durante l'attacco, ma i Baroni e gli Hell Knights hanno un po 'di svista. Il loro attacco non chiama mai A_FaceTarget, quindi se cambiano bersaglio subito prima di attaccare, lanceranno una palla di fuoco da dietro.
Dopo aver eseguito un attacco missilistico con successo, esegui lo stato missilistico del nemico e contrassegna il nemico come uno che ha appena attaccato. Vediamo come lo fa Revenant: questo stato contiene 4 azioni. I primi due affronteranno l'obiettivo e ... che cosa? Perché all'improvviso gli offset del telaio sono così enormi? Questo perché il codice di rendering dello sprite maschera un valore di 32.768, o 0x8000 in esadecimale, con l'offset del frame. Se mascherato correttamente, lo sprite deve essere reso completamente luminoso. Torna al codice A_Chase. Se si tratta di un gioco cooperativo, la soglia del nemico è stata ridotta a 0 e non può vedere il suo obiettivo attuale, quindi cerca nuovi giocatori.
E anche questa parte è finita. Spero che vi sia piaciuto. Consigliatemi altri giochi da fare per questa serie, e lasciate 5 stelle e un commento. Ciao.