Creați un joc, designeri de jocuri, motoare de jocuri

Crearea unei inteligențe artificiale


Buna ziua tuturor, in acest articol as vrea sa creez cu voi mai multe comportamente pentru inamic.

Comportamentul numărul 1. patrulare
Descriere: Inamicul patrulează o anumită zonă. Ie se mută de la un loc la altul.
Cum se va realiza: Vom crea un dușman și două pereți. Când adversarul atinge unul dintre pereți, el se întoarce la 180 de grade.

Creați un inamic:
Introduceți un obiect - Sprite - trageți inamicul - salvați
Redenumiți noul creat sprite către Ene.

Creați un perete:
Introduceți un obiect - Sprite - desenați un perete (în joc acesta va fi invizibil, deci nu încercați din greu) - salvați
Redenumiți sprite nou creat pentru a bloca.

Să facem pereții invizibili în joc:
Selectați peretele - Proprietăți - bifați caseta de lângă Invisible at start

O vom face astfel încât inamicul să poată "merge" pe o linie dreaptă, pentru asta adăugăm comportamentul lui Bullet:
SelectațiEnemy - Proprietăți - Comportamente - Adăugați - Bullet - Inserați

Puteți să acordeți imediat atenție anumitor parametri ai acestui comportament:
Viteza este viteza de mișcare;
Accelerare - accelerare;
Distruge când - când trebuie să distrugeți obiectul (aspect exterior - dacă obiectul a depășit nivelul; Offscreen - dacă obiectul a depășit vizibilitatea ecranului, niciodată - niciodată, intervalul depășit - când intervalul este depășit).

eveniment:
Inserați evenimentul - coliziunea TheEnemy - On pe un alt obiect - Alegeți un bloc de obiecte

acțiune:
Noua acțiune - theEnemy - Set unghi - în fereastra de jos selectațiEnemy - Obțineți unghi - în câmpul Angel introduceți "theEnemy.Angle + 180" (fără citate) - Finish

Tocmai am făcut-o astfel încât atunci când dușmanul a atins peretele, el a avansat la 180 de grade.

Comportamentul numărul 2. trăgător
Descriere: Inamicul sta in picioare si trage direct la intervale regulate.
Cum se va realiza: Vom crea un dușman, un glonț și îl vom forța să tragă la fiecare secundă și jumătate.

Creați un inamic:
Introduceți un obiect - Sprite - trageți inamicul - salvați
Redenumiți noul creat în Sprite.

Vom crea un glonț, pe care inamicul îl va emite:
Introduceți un obiect - Sprite - desenați un glonț - salvați
Redenumiți noul creat sprite la bul.

Să ne opunem comportamentul bullet bullet:
Selectați bul - Proprietăți - Comportamente - Adăugați - Bullet - Introduceți

eveniment:
1. Inserați evenimentul --Scope - Obiectul este afișat pe ecran?
2. Introduceți o nouă stare - Sistem - La fiecare milisecundă X - scrieți valoarea 1500 - Finish

acțiune:
Noua acțiune - theShoot - Spawn un alt obiect - Alegeți un obiect - bul - nu uitați să specificați în câmpul Layout numărul stratului pe care trebuie creat glonțul - Finish

În cazul nr. 1, am indicat condiția în care inamicul începe să tragă, adică numai când vede pe ecran. Dacă vrei ca inamicul să tragă întotdeauna - pune Sistemul - întotdeauna.
În al doilea eveniment, am stabilit intervalul prin care inamicul va trage.
În acțiune, am făcut-o astfel încât inamicul a început să tragă.

Totul ar fi bine, dar inamicul trage spre dreapta! Să-l facem să tragă la stânga:
SelectațiShoț - Proprietăți - în câmpul Unghi scrieți 180 (indică direcția vederii inamicului) - puneți o marcaj în fața oglinzii automate (oglindirea automată orizontală).
Ei bine, acum totul este așa cum ar trebui să fie.

Creați un erou:
Introduceți un obiect - Sprite - desenați un cavaler curajos - salvați
Redenumiți noul creat sprite în bazis

Creați un inamic:
Introduceți un obiect - Sprite - desenați ceva mic și cu aripi - salvați
Redenumiți noul creat sprite la flyEnemy.
Faceți mai multe copii ale adversarului și împrăștiați-le în jurul nivelului.

Vom da adversarilor comportamentul Mișcării personalizate.
Selectați flyEnemy - Proprietăți - Comportament - Adăugați - Mișcare particularizată - Inserați

eveniment:
Inserați evenimentul - Sistem - Pentru fiecare obiect - Alegeți un obiect - flyEnemy - Finish

subevent:
Faceți clic dreapta pe evenimentul nou creat - Introduceți sub-eveniment - flyEnemy - Comparați poziția X - în coloana Comparație selectați Mai puțin sau egal. în coordonate X scrieți "bazis.X + 500" (fără citate) - Finish

Acțiuni pentru următorul:
1. Acțiune nouă - flyEnemy - accesați fila Mișcare personalizată - Modificați unghiul spre obiect - Alegeți un obiect - bazis - Finalizați
2. Acțiune nouă - flyEnemy - accesați fila Mișcare particularizată - Schimbare viteză - Setare, Viteză = 200 - Finalizare

Eveniment - am identificat toți oponenții flyEnemy.
Sub-eveniment - a găsit motivul pentru începerea mișcării adversarilor. Ie dacă eroul se află la o distanță mai mică de 500 de unități - flyEnemy începe să se deplaseze spre erou.
Acțiunea 1 - setați direcția de mișcare a adversarilor (adică obiectivul lor este eroul).
Acțiunea 2 - stabilirea vitezei de mișcare a adversarilor.

Această tehnică calculează distanța dintre erou și adversar în axa X. Dacă trebuie să calculați distanța de-a lungul axei Y, atunci în sub-eveniment alegeți Comparați poziția Y. și nu uitați să schimbați X la Y în expresia "bazis.X + 500"

Sper că principiul creării AI este de înțeles pentru tine și vei putea să realizezi ce ai nevoie.
Cu tine ai fost Loko ™. succes!

Articole similare