{"id":24473,"date":"2023-10-03T05:00:00","date_gmt":"2023-10-03T03:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=24473"},"modified":"2023-09-27T15:07:15","modified_gmt":"2023-09-27T13:07:15","slug":"metody-sztucznej-inteligencji-w-grach-komputerowych","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/metody-sztucznej-inteligencji-w-grach-komputerowych\/","title":{"rendered":"Metody sztucznej inteligencji w grach komputerowych"},"content":{"rendered":"\n<p>Sztuczna inteligencja (ang. Artificial Intelligence, AI) jest obecna w wi\u0119kszo\u015bci gier komputerowych. Sw\u00f3j pocz\u0105tek zawdzi\u0119cza Alanowi Mathisonowi Turingowi. Matematyk, przez zastosowanie algorytm\u00f3w sztucznej inteligencji, przyczyni\u0142 si\u0119 do powstania gry, w kt\u00f3rej jeden z graczy mia\u0142 zosta\u0107 zast\u0105piony komputerem.<br>Zasady gry opieraj\u0105 si\u0119 na zadawaniu pyta\u0144 \u2013 te\u015bcie, kt\u00f3ry zosta\u0142 nazwany testem Turinga (Ryc. 1). Je\u017celi po serii pyta\u0144 gracz nie b\u0119dzie pewien, czy rozmawia\u0142 z osob\u0105, czy z maszyn\u0105, test uznawany jest za pozytywny. Komputer wykorzystuje zachowanie naturalne cz\u0142owieka, przejmowanie emocji oraz cech, aby wygra\u0107.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/Obraz1-3.png\"><img decoding=\"async\" width=\"334\" height=\"255\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/Obraz1-3.png\" alt=\"Test Turinga\" class=\"wp-image-24474\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/Obraz1-3.png 334w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/Obraz1-3-300x229.png 300w\" sizes=\"(max-width: 334px) 100vw, 334px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 1 <a href=\"https:\/\/botland.com.pl\/blog\/wp-content\/uploads\/2020\/07\/Turing_test_diagram.png\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Test Turinga<\/a><\/figcaption><\/figure>\n\n\n\n<p>Sztuczna inteligencja kojarzy si\u0119 ze skomplikowaniem i zawi\u0142o\u015bciami, lecz zaobserwowanie podobie\u0144stw w grach pokazuje, \u017ce jest realizowana tymi samymi metodami.<\/p>\n\n\n\n<p>W artykule zaprezentowa\u0142em popularne mechanizmy oraz algorytmy, jakie s\u0105 obecne w\u015br\u00f3d niezliczonej ilo\u015bci gier wykorzystuj\u0105cych AI. W szczeg\u00f3lno\u015bci opisa\u0142em te, kt\u00f3re <strong>wykorzysta\u0142em sam w hobbystycznym projekcie gry RPG <\/strong>(ang. Role-Playing Game).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Techniki podejmowania decyzji<\/strong><\/h2>\n\n\n\n<p>Najbardziej znan\u0105 metod\u0105 dotycz\u0105c\u0105 sztucznej inteligencji w grach komputerowych jest <strong>system podejmowania decyzji<\/strong>. Do wykorzystania tej techniki dochodzi w momencie, gdy agent mia\u0142by w konkretny spos\u00f3b zareagowa\u0107 na zachowanie gracza. Agentem nazywany jest komputerowy przeciwnik, czyli ka\u017cdy obiekt zdolny do podejmowania decyzji, odczuwania bod\u017ac\u00f3w z otoczenia, czy posiadaj\u0105cy odruchy naturalne cz\u0142owieka.<\/p>\n\n\n\n<p>W trakcie gry mo\u017cna spotka\u0107 r\u00f3\u017cne postaci, stworzenia lub wrog\u00f3w, kt\u00f3rzy mog\u0105 nas zobaczy\u0107 czy zaatakowa\u0107. Wszyscy kwalifikuj\u0105 si\u0119 do grupy agent\u00f3w. Przyk\u0142adem mo\u017ce by\u0107 mieszkaniec wioski przemierzaj\u0105cy rynek czy zwierz\u0119 biegaj\u0105ce po \u015bwiecie gry. Agenci, opr\u00f3cz zauwa\u017cenia czy ataku gracza, analizuj\u0105 tak\u017ce wi\u0119ksz\u0105 ilo\u015b\u0107 danych, zanim podejm\u0105 decyzj\u0119.<\/p>\n\n\n\n<p>W przypadku gier typu RPG mog\u0105 to by\u0107 takie elementy jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pole widzenia przeciwnika,<\/li>\n\n\n\n<li>decyzja o rozpocz\u0119ciu po\u015bcigu,<\/li>\n\n\n\n<li>mo\u017cliwo\u015b\u0107 najlepszego ukrycia przed graczem w razie ucieczki.<\/li>\n<\/ul>\n\n\n\n<p>W grach sportowych, na przyk\u0142ad o tematyce pi\u0142ki no\u017cnej, do decyzji podejmowanej przez AI nale\u017cy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ocena sytuacji na boisku,<\/li>\n\n\n\n<li>umiej\u0119tne podania pi\u0142karzy prowadz\u0105ce do zdobycia gola i p\u00f3\u017aniejszego zwyci\u0119stwa.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Znajdowanie \u015bcie\u017cki<\/strong><\/h2>\n\n\n\n<p>Mechanizm szukania \u015bcie\u017cek (ang. Pathfinding) jest jedn\u0105 z wa\u017cniejszych funkcji w grach. Algorytmy sztucznej inteligencji s\u0142u\u017c\u0105 do przeanalizowania terenu pod k\u0105tem krzywizn, obiekt\u00f3w znajduj\u0105cych si\u0119 z agentami na scenie, a tak\u017ce rozbudowanej szaty graficznej z elementami dekoracyjnymi.<\/p>\n\n\n\n<p>Wszelkie cz\u0119\u015bci pod\u0142o\u017ca stanowi\u0105 niema\u0142e wyzwanie dla pathfindingu, dlatego <strong>poruszanie postaci powinno by\u0107 przemy\u015blane<\/strong>. Najcz\u0119\u015bciej wykorzystywanymi algorytmami s\u0105 algorytmy heurystyczne, czyli optymalizacyjne. Przyk\u0142adem jest <strong>algorytm A*<\/strong> (ang. A-Star), kt\u00f3ry wyszukuje \u015bcie\u017ck\u0119 pomi\u0119dzy dwoma punktami w sieci w\u0119z\u0142\u00f3w. Droga b\u0119dzie zawsze optymalna, je\u017celi istnieje mo\u017cliwo\u015b\u0107 jej wyznaczenia. Argumentem przemawiaj\u0105cym za u\u017cywaniem algorytmu A* jest fakt, i\u017c doskonale wykorzystuje on heurystyk\u0119 przy testowaniu mniejszej liczby w\u0119z\u0142\u00f3w (punkt\u00f3w, mi\u0119dzy kt\u00f3rymi porusza si\u0119 posta\u0107).<\/p>\n\n\n\n<p>W mojej implementacji <strong>wykorzysta\u0142em ten algorytm do poruszania si\u0119 NPC<\/strong> (ang. Non-playable character) w \u015bwiecie gry. Przyk\u0142adowo \u2013 posta\u0107 rolnika, kt\u00f3ry pracuje przy zbieraniu plon\u00f3w, ma \u015bci\u015ble okre\u015blon\u0105 sie\u0107 w\u0119z\u0142\u00f3w, miedzy kt\u00f3rymi mo\u017ce si\u0119 porusza\u0107. Rolnik pod\u0105\u017ca do pierwszego punktu, wykonuje animacj\u0119 kopania w ziemi, nast\u0119pnie przypisany do agenta skrypt wyszukuje nast\u0119pny w\u0119ze\u0142, do kt\u00f3rego ma si\u0119 uda\u0107. Sekwencja powtarza si\u0119 do momentu wyczerpania punkt\u00f3w w sieci, po czym wraca do pocz\u0105tku. <\/p>\n\n\n\n<p>W momencie, gdy gracz podejdzie do rolnika to przestanie on wykonywa\u0107 swoje czynno\u015bci i zwr\u00f3ci si\u0119 w jego kierunku. Zachowanie to ma na celu <strong>zwr\u00f3cenie uwagi na gracza<\/strong> i ewentualne rozpocz\u0119cie rozmowy. Oddalenie si\u0119 spowoduje powr\u00f3t rolnika do obowi\u0105zk\u00f3w.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Maszyny stan\u00f3w sko\u0144czonych<\/strong><\/h2>\n\n\n\n<p>Metoda realizacji sztucznej inteligencji w grach komputerowych, kt\u00f3ra jest stosowana najpowszechniej, znana jest jako Maszyna stan\u00f3w sko\u0144czonych (ang. Finite-State Machine) (Ryc. 2). Istnienie tego automatu okre\u015blaj\u0105 nast\u0119puj\u0105ce zasady:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>przej\u015bcia mi\u0119dzy stanami wyst\u0119puj\u0105 po spe\u0142nieniu okre\u015blonych warunk\u00f3w,<\/li>\n\n\n\n<li>liczba stan\u00f3w musi by\u0107 sko\u0144czona,<\/li>\n\n\n\n<li>automat mo\u017ce by\u0107 tylko w jednym stanie na raz.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/2-2.jpg\"><img decoding=\"async\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/2-2.jpg\" alt=\"Przyk\u0142adowa maszyna stan\u00f3w sko\u0144czonych\" class=\"wp-image-24488\" width=\"707\" height=\"490\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/2-2.jpg 910w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/2-2-300x208.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/2-2-768x533.jpg 768w\" sizes=\"(max-width: 707px) 100vw, 707px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 2 <a href=\"https:\/\/mwin.pl\/wp-content\/uploads\/2016\/11\/FSM.png\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Przyk\u0142adowa maszyna stan\u00f3w sko\u0144czonych<\/a><\/figcaption><\/figure>\n\n\n\n<p>Na pocz\u0105tku dostarczane s\u0105 dane wej\u015bciowe, na podstawie kt\u00f3rych wylicza si\u0119 stan wyj\u015bciowy i przechodzi do niego. <\/p>\n\n\n\n<p>Jednym z przyk\u0142ad\u00f3w maszyny stan\u00f3w sko\u0144czonych mo\u017ce by\u0107 <strong>otwieranie drzwi, kt\u00f3re maj\u0105 dwa stany<\/strong> \u2013 otwarte i zamkni\u0119te. Gracz podchodz\u0105c do drzwi, uruchamia wyzwalacz, kt\u00f3ry otwiera drzwi lub najpierw wy\u015bwietla informacj\u0119, jakim przyciskiem je otworzy\u0107. Nale\u017cy pami\u0119ta\u0107 o optymalnym doborze po\u0142\u0105cze\u0144 mi\u0119dzy stanami, poniewa\u017c zbyt du\u017ca ilo\u015b\u0107 warunk\u00f3w do sprawdzenia przez maszyn\u0119 stan\u00f3w sko\u0144czonych mo\u017ce skutkowa\u0107 op\u00f3\u017anieniem w ruchach postaci. Automaty sko\u0144czone stanowi\u0105 <strong>najprostsz\u0105 metod\u0119 do kreowania AI.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Drzewa decyzyjne<\/strong><\/h2>\n\n\n\n<p>Drzewa decyzyjne to nazwa algorytm\u00f3w pomagaj\u0105cych sztucznej inteligencji w okre\u015blaniu, czy warto wykona\u0107 pewne dzia\u0142anie. Poprzez rozpatrywanie wszelkich mo\u017cliwo\u015bci ruchu, obiekt analizuje dane drzewo decyzyjne dla odleg\u0142o\u015bci, kt\u00f3ra jest konieczna i najbardziej optymalna. Wybrane posuni\u0119cie jest najkorzystniejsze w stosunku do obecnej pozycji oraz sytuacji. Algorytmy te s\u0105 najbardziej wydajne w momencie, gdy nie mamy skomplikowanych w\u0119z\u0142\u00f3w, poniewa\u017c posiadanie wielu agent\u00f3w ze z\u0142o\u017conymi drzewami decyzyjnymi mo\u017ce spowodowa\u0107 b\u0142\u0119dne posuni\u0119cie lub zwieszenie gry.<\/p>\n\n\n\n<p><strong>Naj\u0142atwiej por\u00f3wna\u0107 to do kodu, <\/strong>kt\u00f3ry posiada wiele zagnie\u017cd\u017conych instrukcji warunkowych \u2018if\u2019.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Sieci Neuronowe<\/strong><\/h2>\n\n\n\n<p>System opieraj\u0105cy si\u0119 na budowie kom\u00f3rek m\u00f3zgowych, nazywany jest sztuczn\u0105 sieci\u0105 neuronow\u0105. Jest to zaawansowany spos\u00f3b na wdra\u017canie sztucznej inteligencji, kt\u00f3ra wymaga znajomo\u015bci logiki rozmytej oraz dzia\u0142ania systemu nerwowego. Tworzy to tym samym narz\u0119dzie do budowania wysokorozwini\u0119tej AI. <\/p>\n\n\n\n<p>Sieci neuronowe skupiaj\u0105 si\u0119 na nauce danych podawanych na wst\u0119pie (<strong>warstwa wej\u015bciowa<\/strong>), dostosowaniu ich do aktualnych potrzeb (<strong>warstwa ukryta<\/strong>) i ostatecznym podj\u0119ciu decyzji (<strong>warstwa wyj\u015bciowa<\/strong>). Dawniej do rozwi\u0105zywania problemu u\u017cywano jednej ukrytej warstwy dla sieci neuron\u00f3w. Obecnie stosuje si\u0119 setki, a nawet tysi\u0105ce ukrytych warstw w tworzonych sieciach. Zwi\u0119kszenie liczby warstw ukrytych jest jedn\u0105 z cech uczenia g\u0142\u0119bokiego. Dog\u0142\u0119bne analizowanie i eksperymentowanie w doborze informacji pozwala na otrzymanie wyniku zbli\u017conego do idea\u0142u. <\/p>\n\n\n\n<p>Sieci neuronowe u\u017cywa si\u0119 w wysoce skomplikowanych projektach, kt\u00f3re wymagaj\u0105 najbardziej precyzyjnych rezultat\u00f3w przy zachowaniu wydajno\u015bci.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Silniki do tworzenia gier<\/strong><\/h2>\n\n\n\n<p>Silnik gier to, w skr\u00f3cie, zaawansowane narz\u0119dzie programistyczne, dzi\u0119ki kt\u00f3remu tworzenie gier jest o wiele \u0142atwiejsze. Oferuje du\u017cy zas\u00f3b wbudowanych funkcji i mechanizm\u00f3w, aby przyspieszy\u0107 prac\u0119 programist\u00f3w. Silniki gier posiadaj\u0105 kilka zintegrowanych innych silnik\u00f3w odpowiedzialnych za poszczeg\u00f3lne komponenty. Nale\u017c\u0105 do nich mi\u0119dzy innymi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>silnik do renderowania,<\/li>\n\n\n\n<li>silnik d\u017awi\u0119kowy,<\/li>\n\n\n\n<li>silnik fizyki.<\/li>\n<\/ul>\n\n\n\n<p>W Internecie jest kilka darmowych silnik\u00f3w do tworzenia gier. S\u0105 nimi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Unity,<\/li>\n\n\n\n<li>Unreal Engine,<\/li>\n\n\n\n<li>CryEngine.<\/li>\n<\/ul>\n\n\n\n<p>Jednak najwi\u0119ksze tytu\u0142y gier, kt\u00f3re wpisa\u0142y si\u0119 w pami\u0119\u0107 graczy jako wz\u00f3r do por\u00f3wnywania, <strong>w wi\u0119kszo\u015bci przypadk\u00f3w korzystaj\u0105 z w\u0142asnych silnik\u00f3w<\/strong>. Przyk\u0142adami takich gier s\u0105:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wied\u017amin (silnik REDengine),<\/li>\n\n\n\n<li>Grand Theft Auto (silnik Rockstar Advanced Game Engine \u2013 RAGE),<\/li>\n\n\n\n<li>Assassin\u2019s Creed (silnik Ubisoft Anvil),<\/li>\n\n\n\n<li>Skyrim (silnik Bethesda Creation Engine).<\/li>\n<\/ul>\n\n\n\n<p>Najnowsza gra od studia Bethesda, czyli Starfield r\u00f3wnie\u017c zosta\u0142a stworzona przy u\u017cyciu silnika Creation Engine w od\u015bwie\u017conej wersji 2. <strong>Jako ciekawostk\u0119 mog\u0119 doda\u0107<\/strong>, \u017ce w niekt\u00f3rych przypadkach tw\u00f3rcy autorskich silnik\u00f3w i tak wybieraj\u0105 darmowy Unreal Engine (stworzony przez Epic Games) z powodu jego rozwoju technologicznego i poziomu zaawansowania.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Silniki gier a sztuczna inteligencja<\/strong><\/h2>\n\n\n\n<p>Po przedstawieniu wybranych metod sztucznej inteligencji oraz silnik\u00f3w gier warto r\u00f3wnie\u017c wspomnie\u0107 o ich <strong>wzajemnej integralno\u015bci<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Mecanim<\/strong><\/h3>\n\n\n\n<p>Jednym z narz\u0119dzi wspomagaj\u0105cych tworzenie AI na wz\u00f3r naturalnych zachowa\u0144 cz\u0142owieka jest <strong>Mecanim<\/strong>. To zaawansowany system przeznaczony do zarz\u0105dzania animacjami modeli znajduj\u0105cymi si\u0119 w grze. Oparty jest na <strong>animacji szkieletowej<\/strong> (ang. skeletal animation, rigging), co poprawia jako\u015b\u0107 odbioru postaci, kt\u00f3ra ma przypomina\u0107 istot\u0119 \u017cyj\u0105c\u0105. Ko\u015bci, z kt\u00f3rych sk\u0142ada si\u0119 dany obiekt, poruszaj\u0105 si\u0119 wsp\u00f3lnie z uwzgl\u0119dnieniem dziedziczenia. Przyk\u0142adem jest ko\u015b\u0107 nadgarstka, kt\u00f3ra poruszy si\u0119 razem z ko\u015bci\u0105 przedramienia czy ca\u0142ego ramienia.<\/p>\n\n\n\n<p>Mecanim doskonale nadaje si\u0119 do tworzenia maszyn stan\u00f3w sko\u0144czonych, kt\u00f3re opisa\u0142em wcze\u015bniej. Ni\u017cej znajdziecie screen z <strong>moim rozwi\u0105zaniem wykorzystuj\u0105cym maszyn\u0119 stan\u00f3w sko\u0144czonych<\/strong> oraz system Mecanim z silnika gier Unity (Ryc. 3). Narz\u0119dzia do animacji posiadaj\u0105 konkretne stany, kt\u00f3re przechodz\u0105 mi\u0119dzy sob\u0105 w zale\u017cno\u015bci od zadanych parametr\u00f3w.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/3-1.jpg\"><img decoding=\"async\" width=\"1024\" height=\"407\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/3-1-1024x407.jpg\" alt=\"System Mecanim jako maszyna stan\u00f3w sko\u0144czonych\" class=\"wp-image-24480\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/3-1-1024x407.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/3-1-300x119.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/3-1-768x305.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/3-1.jpg 1456w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 3 System Mecanim jako maszyna stan\u00f3w sko\u0144czonych<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>NavMesh<\/strong><\/h3>\n\n\n\n<p>Innym narz\u0119dziem, bardzo przydatnym w procesie kreowania gry wraz ze sztuczn\u0105 inteligencj\u0105, jest <strong>NavMesh<\/strong>. To dzi\u0119ki niemu mo\u017cliwe jest poruszanie si\u0119 po terenie oraz zintegrowanie z mechanizmem znajdywania \u015bcie\u017cek. NavMesh automatycznie dzieli stworzony teren na tr\u00f3jk\u0105tne elementy, co usprawnia obliczenia pathfindingu. <\/p>\n\n\n\n<p>Poni\u017cej mo\u017cecie zobaczy\u0107 screen z <strong>wygenerowan\u0105 siatk\u0105 NavMesh z mojej gry<\/strong> (Ryc. 4). Gracz poruszaj\u0105c si\u0119 po \u015bwiecie, doskonale ominie przeszkody oraz agent\u00f3w w grze. Dodatkowo, NavMesh potrafi rozpozna\u0107 wod\u0119, twarde pod\u0142o\u017ce czy grz\u0105ski grunt, co podnosi realizm rozgrywki. Przeskakiwanie mniejszych obszar\u00f3w nast\u0105pi tylko w momencie wykrycia pe\u0142nego braku sp\u00f3jno\u015bci na terenie.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/Obraz4-1.png\"><img decoding=\"async\" width=\"494\" height=\"269\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/Obraz4-1.png\" alt=\"NavMesh wygenerowany w silniku Unity\" class=\"wp-image-24482\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/Obraz4-1.png 494w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/Obraz4-1-300x163.png 300w\" sizes=\"(max-width: 494px) 100vw, 494px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 4 NavMesh wygenerowany w silniku Unity<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowanie<\/strong><\/h2>\n\n\n\n<p>Obecnie w grach komputerowych du\u017c\u0105 uwag\u0119 po\u015bwi\u0119ca si\u0119 tematowi sztucznej inteligencji, co wi\u0105\u017ce si\u0119 z podniesieniem jako\u015bci odbioru gry przez graczy. W artykule opisa\u0142em najpopularniejsze metody powstawania AI w grach oraz to, jak AI jest zintegrowana z silnikami gier na podstawie w\u0142asnej gry RPG w \u015brodowisku Unity.<\/p>\n\n\n\n<p>Dzi\u0119ki sztucznej inteligencji postacie wiedz\u0105, co nale\u017cy do ich obowi\u0105zk\u00f3w, reaguj\u0105 na gracza, a ca\u0142a gra sprawia wra\u017cenie t\u0119tni\u0105cej \u017cyciem. Istnieje wiele innych ciekawych zagadnie\u0144 zwi\u0105zanych ze sztuczn\u0105 inteligencj\u0105. Zach\u0119cam Was do zapoznania si\u0119 z nimi oraz ich wykorzystaniem w r\u00f3\u017cnych gatunkach gier komputerowych.<\/p>\n\n\n\n<p>***<\/p>\n\n\n\n<p>Je\u015bli ciekawi Ci\u0119 tematyka <a href=\"https:\/\/sii.pl\/blog\/all\/ai\/\" target=\"_blank\" aria-label=\"sztucznej inteligencji (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">sztucznej inteligencji<\/a> lub chcia\u0142by\u015b dowiedzie\u0107 si\u0119 wi\u0119cej nt. &#8222;<a href=\"https:\/\/sii.pl\/blog\/persona-testowanie-z-wykorzystywaniem-technik-z-gier-rpg\/?category=testowanie&amp;tag=design-thinking,e2e,persona,rpg,tester,user-stories\" target=\"_blank\" aria-label=\"Persona \u2013 testowanie z wykorzystywaniem technik z gier RPG (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\">Persona \u2013 testowanie z wykorzystywaniem technik z gier RPG<\/a>&#8222;, zajrzyj koniecznie na naszego bloga. <\/p>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;24473&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;12&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;4.9&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;4.9\\\/5 ( votes: 12)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Metody sztucznej inteligencji w grach komputerowych&quot;,&quot;width&quot;:&quot;136.6&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 136.6px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            4.9\/5 ( votes: 12)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Sztuczna inteligencja (ang. Artificial Intelligence, AI) jest obecna w wi\u0119kszo\u015bci gier komputerowych. Sw\u00f3j pocz\u0105tek zawdzi\u0119cza Alanowi Mathisonowi Turingowi. Matematyk, przez &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/metody-sztucznej-inteligencji-w-grach-komputerowych\/\">Continued<\/a><\/p>\n","protected":false},"author":567,"featured_media":24486,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1316],"tags":[1805,1726,680],"class_list":["post-24473","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-miekko","tag-gra-komputerowa","tag-rpg","tag-ai"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/09\/Metody-sztucznej-inteligencji-w-grach-komputerowych.jpg","category_names":["Development na mi\u0119kko"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/24473"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/567"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=24473"}],"version-history":[{"count":2,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/24473\/revisions"}],"predecessor-version":[{"id":24491,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/24473\/revisions\/24491"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/24486"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=24473"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=24473"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=24473"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}