Come funziona?
5.0 1 522 0
04.12.2020

Come funziona l'intelligenza artificiale dei nemici in Doom Pt. 1

Ammettiamolo, l'IA mostruosa di Doom è primitiva. Cercano di avvicinarsi a te ed eseguire un attacco. Se gli spari, si feriscono e muoiono. Dietro il loro comportamento semplicistico c'è un sistema abbastanza elegante. Diamo un'occhiata a come funziona e vediamo anche alcune stranezze mentre ci siamo. Prima di tutto vediamo come vengono definiti i mostri del destino. Sono praticamente hardcoded nel motore sotto forma di una raccolta di dati. Ogni raccolta di dati contiene indici di diversi stati nemici: Lo stato di spawn in cui un nemico è inattivo. Lo stato di vista in cui un nemico sta inseguendo un bersaglio. Lo stato di dolore in cui il nemico riprodurrà l'animazione e il suono del dolore. Lo stato in mischia che dice cosa fare quando si esegue un attacco in mischia. Lo stato del missile che dice cosa fare quando si esegue un attacco a distanza.


Lo stato di morte che riprodurrà l'animazione e il suono della morte del nemico. Lo stato xdeath che riprodurrà l'animazione gibbing del nemico. E lo stato di aumento che riprodurrà l'animazione di un nemico che viene resuscitato. Prendiamo il Revenant come esempio. Il suo stato di spawn utilizza l'indice S_SKEL_STND. In questa vasta gamma di stati hard-coded, vai all'indice che abbiamo appena selezionato. Qui puoi vedere una raccolta di valori e funzioni. Esaminiamoli rapidamente tutti: SPR_SKEL è l'indice di base per lo sprite di Revenant. Lo zero successivo indica l'offset del frame. Questo stato deve durare per 10 tic. 1 tic dura 1/35 di secondo, quindi 10 tic equivalgono a circa 0,29 secondi. Questo deve chiamare la funzione A_Look. Ne parleremo più tardi. L'azione successiva deve essere S_SKEL_STND2, quindi la riga sottostante. Gli ultimi 2 valori non sono utilizzati, quindi sono sempre zero.

Quello che abbiamo appena descritto è stata la prima azione dello stato di spawn del Revenant. Consiste di 2 azioni in cui scorre tra 2 sprite facendolo camminare sul posto. Quando inizi un nuovo livello, i nemici vengono caricati e posizionati nelle loro posizioni designate. I nemici appena generati ottengono la loro salute, tipo, stato, ecc. Dalla raccolta di dati hardcoded che abbiamo visto in precedenza. Le posizioni e gli angoli si basano su come li ha posizionati il ​​creatore della mappa. Una cosa interessante qui è il suo tempo di reazione. Il tempo di reazione inizia sempre alle 8, a meno che non si tratti di difficoltà da incubo. I nemici non attaccano mai quando il loro tempo di reazione è maggiore di zero, quindi ciò significa che i nemici in difficoltà incubo non esiteranno ad attaccarti quando si svegliano.


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.

5.0 (1)
Autore Gianluigi
Articoli Hot
Posto Nome del gioco e titolo dell'articolo Categoria Autore Tipo
1

La timeline di Far Cry (prima di Far cry 6) Pt. 19

Review Gianluigi
2

Roblox Recensione dell'applicazione roblox

Review Lordofsith007
3

Grand Theft Auto V (B2P) Armi rimosse in GTA V Pt. 2

Review Gianluigi
4

Speedrun di Titanfall 2 (Speedrun spiegata - qualsiasi%) Pt. 21

Guide Gianluigi
5

10 armi tagliate da Resident Evil Pt. 6

Review Gianluigi
6

Speedrun di Doom Eternal (Speedrun spiegata - qualsiasi%) Pt. 13

Guide Gianluigi
7

Dofus Guida alle Classi Dofus - Ecaflip

Guide La_Bionda
8

I peggiori giochi del decennio Pt. 10

Review Gianluigi
9

La completa timeline di Saint Row (fino ad ora) Pt. 4

Review Gianluigi
10

La completa Timeline di Batman Arkhamverse Pt. 29

Review Gianluigi
Chat