Autor: Wrocław,

Podobne dokumenty
Czym są Casuale? Mała objętość. Prostota grafiki. Intuicyjność obsługi. Niska cena. Małe wymagania sprzętowe. Dystrybucja przez internet

Brain Game. Wstęp. Scratch

Interface (Manipulacja) odpowiadają na pytanie: Jak chcę to zrobić?. Nazywam tę część manipulacją,

Stanusch Technologies S.A. lider w rozwiązaniach opartych o sztuczną inteligencję

WIRTUALNE WIZUALIZACJE. Poznaj nowy wymiar wizualizacji dzięki wirtualnej rzeczywistości.

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

REFERAT PRACY DYPLOMOWEJ Temat pracy: SUDOKU - Algorytmy tworzenia i rozwiązywania

Nowinki technologiczne procesorów

Budowa Mikrokomputera

Marcel Stankowski Wrocław, 23 czerwca 2009 INFORMATYKA SYSTEMÓW AUTONOMICZNYCH

Projekt Śnieżna wojna

Gra komputerowa jako przedmiot prawa autorskiego [PRZEDSPRZEDAŻ] Ireneusz Matusiak Wolters Kluwer Polska - LEX, Seria: MONOGRAFIE

Wpływ gier komputerowych i sieciowych na zachowania agresywne dzieci mgr Agnieszka Taper

2

Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby

Celem tego projektu jest stworzenie

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

Jazda autonomiczna Delphi zgodna z zasadami sztucznej inteligencji

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Zasady działania botów w grach MMO, sposoby ochrony przed nimi i omijania zabezpieczeń

Efekt kształcenia. Ma uporządkowaną, podbudowaną teoretycznie wiedzę ogólną w zakresie algorytmów i ich złożoności obliczeniowej.

Rodzaje Szkoleń Wine Casino

Just Cause 2. Castlevania Lords of Shadow 2

INTERESUJĄCE, ALE CO TO JEST E-SPORT?

Sztuczna inteligencja stan wiedzy, perspektywy rozwoju i problemy etyczne. Piotr Bilski Instytut Radioelektroniki i Technik Multimedialnych

Wymagania na poszczególne oceny szkolne dla klasy VI. (na podstawie Grażyny Koba, Teraz bajty. Informatyka dla szkoły podstawowej.

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010

SKRYPT KODOWANIE. Nauczycieli

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

E-magazyn Produkty marki Palit - s. 3. Nowości - s. 6

Zadanie z lokalnych sieci komputerowych. 1. Cel zajęć

Gry strategiczne jako element treningu menadżerów.

Komunikujemy się z komputerem.

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

9. ILE TO KOSZTUJE CZYLI OD ZAGADKI DO ZADANIA TEKSTOWEGO, CZ. III

Zarządzanie pamięcią w systemie operacyjnym

Elementy modelowania matematycznego

Jak powstawał Wielki Mistrz

Autor: Paweł Mroziuk Prezentacja powstała w ramach projektu - Mazowiecki program stypendialny dla uczniów szczególnie uzdolnionych najlepsza

Siły graczy: Czerwony: 3 postaci znaczne i 1 pospolita, albo 4 postaci znaczne

Kurs z NetLogo - część 4.

NAZWA PRZEDMIOTU/MODUŁU KSZTAŁCENIA:

Technik teleinformatyk. Zespół Szkół Nr 2 w Sanoku

Kursy pozalekcyjne z budowy i programowania robotów dla dzieci i młodzieży

dr inż. Jarosław Forenc

Kwestionariusz stylu komunikacji

omnia.pl, ul. Kraszewskiego 62A, Jarosław, tel

Laptop Kruger&Matz EXPOLRE PRO 1511

UCHWAŁA NR 46/2013. Senatu Akademii Marynarki Wojennej im. Bohaterów Westerplatte z dnia 19 września 2013 roku

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

Kwestionariusz AQ. wersja dla młodzieży lat. Płeć dziecka:... Miesiąc i rok urodzenia dziecka:... Miejsce zamieszkania (miasto, wieś):...

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

RAPORT. Polskie firmy nie chcą iść na rękę klientom. Plany polskich przedsiębiorstw dotyczących przejścia na faktury elektroniczne

Numer artykułu: Zestaw do gry w bule. Instrukcja gry. Tchibo GmbH D Hamburg 95091AB2X3VIII

Tworzenie gier na urządzenia mobilne

PREZENTACJA SPÓŁKI. 1 sierpnia 2017 r.

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Techniki animacji komputerowej

Tworzenie prostych gier w programie GameMaker

Nowinkach technologicznych procesorów

Pogromcy duchów. Wstęp. Krok 1: Stwórz latającego ducha

TransEDU Samouczek dla prowadzącego zajęcia

Poniższe pytania dotyczą różnych spraw związanych z korzystaniem z mediów i urządzeń cyfrowych, w tym komputerów stacjonarnych, laptopów, notebooków,

Dlaczego warto wybrać system inteligentnego domu Deimic One podczas budowy domu wg. projektu przygotowanego przez Pracownię Projektową Archipelag.

Komputer VIPER i x4,2ghz 8GB GTX 1050TI 4GB 1TB USB 3.0

Cykl organizacyjny le Chateliera

Podsumowanie wyników ankiety

Nieoficjalny poradnik GRY-OnLine do gry. FIFA Football. autor: Adam Harpen Woźny. (c) 2002 GRY-OnLine sp. z o.o.

Przeszłość i przyszłość informatyki

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

Sprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer

Zawartosc. Cel gry. 4 Planszetki 1 Moneta Kultury 104 Karty, podzielone na 3 Epoki oraz 6 Domen: Epoka III. Epoka II. Epoka I

LEAD GENERATION OUTSOURCING SPRZEDAŻY

Nowe akcje. Gdy napastnik wykona jedno z działań wywołujących Alarm, lub gdy upłynie określona ilość tur, powyższe restrykcje się kończą.

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Optymalizacja ciągła

DEBIUT NA RYNKU NEWCONNECT

Efekty kształcenia dla kierunku studiów INFORMATYKA, Absolwent studiów I stopnia kierunku Informatyka WIEDZA

Formacyjne znaczenie programowania w kształceniu menedżerów

KIERUNKOWE EFEKTY KSZTAŁCENIA

Wykład wprowadza do podstawowych definicji związanych z Systemami Sterowania Rozproszonego (DCS Distributed Process Control) a zwłaszcza zwraca uwagę

Dajemy Wam przemoc! Kamil Bartczak, Konferencja Larpowa 2015

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

Ping-Pong. Gra dla dwóch graczy.

Zastosowanie gier 3vs3, jako środka nauczającego gry w etapie wstępnym (7-12 lat) Krystian Rubajczyk k.rubajczyk@olympicwroclaw.pl

KURSY PROGRAMOWANIA DLA DZIECI

Algorytm genetyczny (genetic algorithm)-

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Opis wymagań na poszczególne oceny z języka angielskiego:

8 sposobów na więcej czasu w ciągu dnia

Priorytetyzacja przypadków testowych za pomocą macierzy

Zarobki, awanse, szacunek. Dlaczego specjaliści zmieniają pracę. Badania Pracuj.pl

Bezpieczeństwo systemów komputerowych

SKĄD WYWODZI SIĘ NAZWA PROGRAMU?

EDUKACJA FINANSOWA /WIEDZA I UMIEJĘTNOŚCI/ PARTNERSTWO KONSUMPCJA BIZNES

WYMAGANIA EDUKACYJNE Z INSTRUMENTU GŁÓWNEGO FOPRTEPIAN W PSM I ST. W KAMIENIU POMORSKIM. dla klasy drugiej cyklu czteroletniego i sześcioletniego

INŻYNIERIA OPROGRAMOWANIA

GSMONLINE.PL dla zainteresowanych nowymi technologiami

Transkrypt:

Autor: 148371 Wrocław, 22.06.2009 "Współdziałanie programów/agentów sterujących działaniem postaci w programach gier komputerowych" Przedmiot: Informatyka Systemów Autonomicznych Prowadzący: dr inż. Marek Piasecki

Współczesne gry komputerowe są często bardzo rozbudowanymi projektami, przy których pracuje kilkuset scenarzystów, programistów, projektantów, grafików, dźwiękowców i nierzadko specjalistów od sztucznej inteligencji. Przykładowo: nad GTAIV (we wszystkich fazach rozwoju projektu) pracowało około 1000 osób. Do niedawna istotnym wyznacznikiem rozwoju gier w ogóle była strona techniczna (audiowizualna), stopniowo jednak tempo rozwoju w tej dziedzinie maleje, po części ze względu na ograniczenia techniczne różnice wydajnościowe (i technologiczne) pomiędzy kolejnymi generacjami np. kart graficznych nie są tak duże, jak jeszcze kilka lat temu. Przykładowo: jeszcze około roku 2004 kolejne generacje kart graficznych pojawiały się co około rok i ich pojawienie się oznaczało, że poprzednia generacja nadaje się do wymiany przykładem niech będą procesory graficzne z serii Nvidia GeForce 6 (GeForce 5 generacji), które w niedługim czasie po pojawieniu się na rynku GeForce 7 prawie natychmiast przestały wystarczać do grania w najnowsze gry w zadowalających rozdzielczościach i poziomach szczegółowości. Dzisiaj rozwój nie jest już tak dynamiczny. Najtańsza karta graficzna z serii 8800, kupiona w listopadzie 2006 roku, nawet dzisiaj z powodzeniem wystarcza do grania praktycznie we wszystkie nowe gry w rozdzielczości Full HD i w przyzwoitych ustawieniach szczegółowości. Podobnie jest z procesorami pomimo, że na rynku dostępnych jest wiele modeli czterordzeniowych i taktowanych wysokimi zegarami, jeśli chodzi o gry, z powodzeniem wystarcza dwurdzeniowy procesor o taktowaniu poniżej 3GHz. Innym powodem, dla którego oprawa audiowizualna, choć wciąż ważna dla sukcesu komercyjnego gry komputerowej, przestaje być najszybciej rozwijającą się dziedziną jest prosty fakt, że gry komputerowe już dziś wyglądają bardzo dobrze, często niemal fotorealistycznie. Tak więc ograniczeniem tempa rozwoju jest brak potrzeby tego rozwoju. Cóż więc mają robić twórcy gier, żeby zaskoczyć, zachwycić potencjalnego klienta i skłonić go do wydania pieniędzy na ten, a nie inny produkt? Na przykład przygotowując scenariusz pełen zaskakujących zwrotów akcji i zapadających w pamięć momentów. Jednak w dobie gier casual, czyli dla niedzielnych graczy, którzy grę włączają na godzinę-dwie tygodniowo mało kto doceni ukryte smaczki czy odwołania do kultury wyższej (obrazów, utworów muzycznych ). To pozostawia pole do popisu dla specjalistów od sztucznej inteligencji. Jeśli sterowane przez komputer postaci (tak wrogów, jak i sprzymierzeńców w grze) są w stanie zachowywać się w sposób logiczny i dynamicznie reagować na poczynania gracza, to każda rozgrywka będzie zaskakująca i ciekawa, co przyciągnie graczy i w konsekwencji może (o ile oczywiście inne elementy nie zawiodą) doprowadzić do sukcesu komercyjnego produkcji. Jakie więc zadania stają przed sztuczną inteligencją w grach komputerowych? 1. Urealnianie świata gry. Spotykane głównie w grach crpg (Computer Role Playing Game). Sztuczna inteligencja ma za zadanie sterować działaniami postaci, na które natknie się gracz. Jeśli np. w quasi-średniowiecznym królestwie, w którym 2

toczy się gra, postacie niezależne (tzw. NPC Non-player characters, sterowane przez komputer) mają cykl dnia, wstają, pracują, bawią się, chodzą spać, rozmawiają między sobą o poczynaniach gracza, to stwarza to bardzo pozytywne wrażenie i umożliwia lepsze wczucie się gracza w kierowaną postać, co jest głównym założeniem gry RPG. Jeśli na przykład gracz zamorduje lub okradnie jakąś postać niezależną i nie będzie przy tym dyskretny, to powinien być ścigany przez straże (tudzież policję) i ukarany, a także inne postacie niezależne powinny przestać darzyć bohatera sterowanego przez gracza szacunkiem i zaufaniem. Rozwiązanie takie niewątpliwie przysłużyło się ogromnej popularności gry The Elder Scrolls IV: Oblivion, która, pomimo upływu 4 lat od premiery, wciąż może stanowić przykład realizacji wirtualnego świata, w który łatwo uwierzyć dzięki sterowanym przez komputer mieszkańcom. 2. Stworzenie wyzwania dla gracza. Za przykład niech posłużą gry, których tematyką są wyścigi samochodowe. Nie jest trudne (ani pożądane) aby agenci kierujący samochodami konkurującymi z samochodem sterowanym przez gracza jeździli bezbłędnie, bo byłoby to dla gracza frustrujące. Wyzwaniem jest stworzenie AI, które będzie symulować zachowania rzeczywistych kierowców jeśli gracz zrobi coś niespodziewanego, np. zatrzyma się na środku drogi, to AI powinna być w stanie na to zareagować, np. omijając go. Bardzo ciekawe i zwiększające grywalność rozwiązanie zastosowano w dość starej grze Total Immersion Racing każdy kierowca sterowany przez komputer miał własny charakter i pamięć, dzięki czemu potrafił się zemścić, jeśli gracz zachował się wobec niego nieuczciwie. W tej kategorii mieszczą się również przeciwnicy we wszelkiego rodzaju strzelankach, gdzie przeciwnicy dynamicznie reagujący na działania gracza, wykorzystujący elementy wirtualnego otoczenia (np. potrafiący przewrócić stół, by schować się za nim przed ostrzałem) stanowią istotny czynnik sukcesu produkcji 3. Komentowanie wydarzeń w świecie gry, np. w grach sportowych. Za przykład niech posłuży seria FIFA algorytmy muszą dobierać frazy, nagrane uprzednio przez zawodowych komentatorów sportowych, do sytuacji na wirtualnym boisku. Jest to tym trudniejsze, że możliwych wariantów sytuacji jest bardzo wiele, i tym istotniejsze, że seria dąży do jak najwierniejszego odtworzenia relacji telewizyjnych z meczy, co ciężko sobie wyobrazić bez profesjonalnego komentarza. 3

Jeśli więc w procesie powstawania gry zespół zdecyduje się na implementację bardziej złożonych algorytmów sztucznej inteligencji w miejsce tradycyjnych, prostych skryptów, to jak należy to rozwiązać? Rozważmy to na przykładzie gry crpg. Idealnym rozwiązaniem byłoby stworzenie oddzielnego, wirtualnego bytu dla każdej postaci, z których każda miałaby indywidualnie określone potrzeby oraz sposoby ich spełniania (np. kiedy wzrasta poziom zmiennej głód, postać idzie do tawerny lub np. wyrusza na połów ryb, w zależności od pogody czy aktualnego stanu portfela), zmysły, służące obserwacji wirtualnego otoczenia, a także zasób wiedzy, który mógłby się zmieniać poprzez rozmowy z innymi postaciami, czytanie wiadomości, obserwację Złożoność obliczeniowa takiego rozwiązania, a także potencjalna liczba błędów i problemy z ich odnajdowaniem (w końcu za każdym uruchomieniem gry wszystko przebiegałoby zupełnie inaczej, świat jest w pełni dynamiczny!), zwłaszcza jeśli w grze znajdzie się kilkaset takich postaci, jest ogromna. Tak więc i tu znajduje zastosowanie zasada, że wszystkie rozwiązania idealne mają wspólną cechę nie da się ich zrealizować. Oczywiście, opisanie wszystkiego prostymi algorytmami, ustalenie sztywnych ścieżek każdej postaci również nie jest słuszne, bo trudno byłoby przy ich użyciu stworzyć świat realistyczny, w który gracz chciałby uwierzyć i którego ratowaniu chciałby poświęcić pieniądze i czas. Najlepsze rozwiązanie jak zwykle leży gdzieś pośrodku. Gracz nie jest w stanie widzieć wszystkiego naraz, można więc stosować dynamiczne algorytmy SI tylko dla postaci znajdujących się bezpośrednio w pobliżu postaci gracza. Kiedy gracz się przemieszcza, odpowiedni agenci budzą się do życia, a inni się dezaktywują. Innym rozwiązaniem mogłoby być wprowadzenie prostych algorytmów, które sterowałyby postaciami zgodnie z ustalonymi regułami (chodź, pracuj, jedz, śpij ), oraz inteligencji świata, która modyfikowałaby te reguły na podstawie poczynań gracza. Przykładowo: gracz spalił tawernę, gdzie często przebywała postać sterowana przez agenta, więc inteligencja świata zmieni miejsce przebywania tej postaci. Ciekawą implementacją powyższego pomysłu jest wydana niedawno gra Left 4 Dead, traktująca o grupie ocalałych walczących z potworami. Rozgrywka polega na tym, że 4 graczy, używając różnej broni i współpracując przeciwko sterowanym przez komputer potworom, próbuje przebić się do bezpiecznego miejsca. Każdy potwór sterowany jest bardzo prostymi algorytmami, po prostu kieruje się na najbliższego gracza i atakuje, istnieje jednak nadrzędny mechanizm, analizujący poczynania graczy i modyfikujący rozgrywkę, aby zapewnić graczom możliwie emocjonujące sytuacje. Przykładowo: jeśli jeden z graczy zbytnio oddali się od pozostałych, to zostanie w jego stronę wysłana dodatkowa grupa potworów, co skłoni go do powrotu do grupy graczy i prawdopodobnie zainicjuje desperacką obronę. 4

Tak więc, chociaż teoretycznie postaci sterowane przez komputer powinny by od siebie niezależne i porozumiewać się przy użyciu wirtualnych zmysłów, ze względu na duże skomplikowanie takiego rozwiązania, znacznie lepiej jest stworzyć nadrzędną inteligencję sterującą wszystkimi agentami postaci. Złożone AI jednak nie zawsze jest konieczne, by gra odniosła sukces. W końcu dla gracza istotne jest nie samo działanie sztucznej inteligencji, lecz samo wrażenie że ona działa. Za przykład niech posłuży seria Call of Duty, gdzie działanie przeciwników sterowane było całkowicie przez stworzone przez programistów, odgórnie ustalone skrypty. Tak więc, za każdym razem gdy gracz jest atakowany przez wroga, odpowiada za to skrypt i niezależnie co gracz zrobi, zostanie zaatakowany w ten sam sposób przy następnej próbie. Dobrze przygotowane skrypty są jednak zaletą, a nie wadą produkcji dzięki nim akcja jest cały czas dynamiczna i efektowna. Źle przygotowane skrypty często psują grę całkowicie. W mniej znanych produkcjach próbujących naśladować serię Call of Duty nagminne jest zjawisko, gdzie skrypt, który powinien się uruchomić i nasłać na gracza grupę przeciwników po tym jak ten przejdzie przez drzwi nie uruchamia się i gracz nie wie co ma robić dalej. Podsumowując, chociaż skomplikowana sztuczna inteligencja w grach komputerowych jeszcze nie występuje, to ważna jest jej jak najlepsza imitacja. Współpraca pomiędzy agentami sterującymi postaciami jest zwykle ograniczona albo do nakazów nadrzędnego agenta, sterującego całą rozgrywką, albo do przygotowanych przez twórców gry skryptów. Ostatecznie, jak to zwykle w informatyce, ważniejsze od samego rozwiązania jest jego odpowiednie dobranie do problemu, a problemem w przypadku gier komputerowych jest wywarcie jak najlepszego wrażenia na graczu przy możliwie niewielkich wymaganiach obliczeniowych produkcji. Oczywiście należy zapominać, że pomimo coraz większej mocy obliczeniowej komputerów i coraz potężniejszych algorytmów sztucznej inteligencji na dzień dzisiejszy komputery nie są w stanie zastąpić innych graczy. Świadczy o tym niesłabnąca popularność gier sieciowych. W Counter-Strike, sieciową grę traktującą o zmaganiach terrorystów i antyterrorystów (obydwie drużyny sterowane są przez graczy) wciąż grają tysiące ludzi, pomimo upływu 10 lat od premiery. World of Warcraft, największa dotychczas gra z gatunku MMORPG (Massive Multiplayer-only Role Playing Game) ma na dzień dzisiejszy ponad 11 milionów użytkowników na całym świecie i przynosi wydawcy około 150 milionów dolarów przychodu miesięcznie. To chyba wystarczający dowód na sukces tej produkcji, pomimo braku zaawansowanej sztucznej inteligencji. Można postawić tezę, że współdziałanie pomiędzy agentami sterującymi postaciami w grach komputerowych działa najlepiej, jeśli tymi agentami są żywi gracze. 5

Źródła: http://gry.gery.pl/newsy/6565.html http://pl.wikipedia.org/wiki/geforce 6