Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεThaddius Kormos Τροποποιήθηκε πριν 10 χρόνια
1
ΣΧΕΔΙΑΣΜΟΣ (PLANNING)..και εφαρμογές σε video games! Τεχνητή Νοημοσύνη ΙΙ Εαρινό εξάμηνο 2012-2013
2
Τεχνητή Νοημοσύνη και Video Games 2 Game engine: Δημιουργεί τα αντικείμενα στον χώρο του video game και υπολογίζει τι συμβαίνει σε αυτόν σε κάθε frame C++ Π. χ., ένα κιβώτιο είναι στον αέρα στο frame1. Στο frame 2 θα υπολογίσει και θα εμφανίσει τη νέα του θέση, κτλ.
3
Τεχνητή Νοημοσύνη και Video Games 3 Game engine: Δημιουργεί τα αντικείμενα στον χώρο του video game και υπολογίζει τι συμβαίνει σε αυτόν σε κάθε frame C++ Π. χ., ένα κιβώτιο είναι στον αέρα στο frame1. Στο frame 2 θα υπολογίσει και θα εμφανίσει τη νέα του θέση, κτλ. Το ίδιο και για τους Non-player characters!
4
Πεπερασμένα Αυτόματα (FSMs) 4 Video Games: Finite State Machines Decision Diagrams Behavior Trees Goal Oriented Action Planning Ακαδημαϊκή έρευνα σε agents: Knowledge representation, First-order logic, Classical planning, Planning with preferences, … Belief-Desire-Intention architecture, Agent-based programming, … Probabilistic reasoning, Bayesian networks, Utility theory, Markov Decision Processes, …
5
Πεπερασμένα Αυτόματα (FSMs) 5 Αναγνώριση κανονικών γλωσσών
6
Πεπερασμένα Αυτόματα (FSMs) 6 Συμπεριφορά σύμφωνα με εναλλαγή καταστάσεων ! On GuardFight Run away See small enemy Losing fight See big enemy Escaped Energy OK
7
Πεπερασμένα Αυτόματα (FSMs) 7 Παραδοσιακά από τις πρώτες τεχνικές για τον καθορισμό της συμπεριφοράς των χαρακτήρων Πολύ απλά στην κατανόηση Πολύ απλά στην υλοποίηση Απευθείας υλοποίηση με το μορφή πολλαπλών if-then-else εντολών
8
int NPC::think(){ if (state==ONGUARD && seeSmallEnemy()){ state=FIGHT; makeScarySound(); } else if (state==FIGHT && energy>30){... } else if... } Πεπερασμένα Αυτόματα (FSMs) 8
9
9 Παραδοσιακά από τις πρώτες τεχνικές για τον καθορισμό της συμπεριφοράς των χαρακτήρων Πολύ απλά στην κατανόηση Πολύ απλά στην υλοποίηση Απευθείας υλοποίηση με το μορφή πολλαπλών if-then-else εντολών Εύκολος διαχωρισμός της δουλειάς του προγραμματιστή με τη αυτή του σεναριογράφου Αλλά, και απλοϊκά στις συμπεριφορές που μπορεί να εκφράσουν..
10
Δένδρα συμπεριφορών (BTs) 10 Video Games: Finite State Machines Decision Diagrams Behavior Trees Goal Oriented Action Planning Ακαδημαϊκή έρευνα σε agents: Knowledge representation, First-order logic, Classical planning, Planning with preferences, … Belief-Desire-Intention architecture, Agent-based programming, … Probabilistic reasoning, Bayesian networks, Utility theory, Markov Decision Processes, …
11
Δένδρα συμπεριφορών (BTs) 11 Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές → ? ?
12
Δένδρα συμπεριφορών (BTs) 12 Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές → Door open? Move into room
13
Δένδρα συμπεριφορών (BTs) 13 Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές → ? → ? Door open? Move into room Move to door Move into room
14
Δένδρα συμπεριφορών (BTs) 14 Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές → ? → ? →→ Door open? Move into room Move to door Move into room Door locked? Unlock door Kick door Door open?
15
Δένδρα συμπεριφορών (BTs) 15 Από τα πρώτα εμπορικά video games που χρησιμοποίησαν BTs είναι το Halo2 (2004) Απλά στην κατανόηση Απλά στην υλοποίηση … Εύκολος διαχωρισμός της δουλειάς του προγραμματιστή με τη αυτή του σεναριογράφου
16
Αντανακλαστικές τεχνικές 16 Τα FSMs και BTs είναι αντανακλαστικές (reactive) τεχνικές Ο χαρακτήρας ακολουθεί μια προκαθορισμένη στρατηγική που υπαγορεύει την αντίδραση του σε κάθε χρονικό σημείο του παιχνιδιού σύμφωνα με τις διαφορετικές συνθήκες που επικρατούν Για κάθε αλληλουχία ενεργειών που χρειάζεται να πραγματοποιηθούν μαζί, πχ : [move to door, unlock/kick door, move into room], αυτό πρέπει να περιγράφεται ρητά στη δομή των FSMs BTs
17
Αντανακλαστικές τεχνικές 17 Ιστορικά, η συντριπτική πλειοψηφία των video games με χαρακτήρες χρησιμοποιούν κάποιο είδος / συνδυασμό FSM, BTs για να χειριστούν τη λήψη αποφάσεων του χαρακτήρα Εύκολα υλοποιήσιμη αντιμετώπιση Οι ανάγκες που προκύπτουν αντιμετωπίζονται εύκολα από τους προγραμματιστές Με κατάλληλη προετοιμασία των levels δουλεύει πολύ καλά
18
Αντανακλαστικές τεχνικές 18 Ένα level από τα μάτια του χαρακτήρα NPC
19
Αντανακλαστικές τεχνικές 19 Ένα level από τα μάτια του χαρακτήρα NPC
20
Αντανακλαστικές τεχνικές Η κατάσταση σήμερα Ανοικτοί κόσμοι (open worlds) με συνεχώς αυξανόμενες διαθέσιμες αλληλεπιδράσεις Οι χαρακτήρες χρειάζεται να έχουν αυτονομία, με ατομικές επιδιώξεις, στόχους, και προσωπικότητα. 20
21
Αντανακλαστικές τεχνικές Η κατάσταση σήμερα Σε αυτές τις συνθήκες, η διαχείριση των πιθανών αλληλεπιδράσεων με αντανακλαστικές τεχνικές γίνεται περίπλοκη και δύσκολη Εμφανίζεται η ανάγκη για πιο ευέλικτες τεχνικές 21
22
Σχεδιασμός ενεργειών (GOAP) 22 Video Games: Finite State Machines Decision Diagrams Behavior Trees Goal Oriented Action Planning Ακαδημαϊκή έρευνα σε agents: Knowledge representation, First-order logic, Classical planning, Planning with preferences, … Belief-Desire-Intention architecture, Agent-based programming, … Probabilistic reasoning, Bayesian networks, Utility theory, Markov Decision Processes, …
23
Σχεδιασμός ενεργειών (GOAP) 23 Αντικατάσταση των « έτοιμων » στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών → ? → ? →→ Door open? Move into room Move to door Move into room Door locked? Unlock door Kick door Door open?
24
Σχεδιασμός ενεργειών (GOAP) 24 Αντικατάσταση των « έτοιμων » στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών Move into room Move to door Move into room Unlock door Kick door
25
Σχεδιασμός ενεργειών (GOAP) 25 Αντικατάσταση των « έτοιμων » στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών Move into room Move to door Unlock door Kick door Preconditions: Door open Effects: In room Preconditions: - Effects: At door Preconditions: Hold key Effects: Door open Preconditions: - Effects: Door open
26
Σχεδιασμός ενεργειών (GOAP) 26 Αντικατάσταση των « έτοιμων » στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών Move into room Move to door Unlock door Kick door Preconditions: Door open Effects: In room Preconditions: - Effects: At door Preconditions: Hold key Effects: Door open Preconditions: - Effects: Door open In room
27
Σχεδιασμός ενεργειών (GOAP) 27 Αναζήτηση σε πραγματικό χρόνο για τη στρατηγική που επιτυγχάνει τον αναγκαίο στόχο κάθε φορά Move into room Move to door Unlock door Kick door Preconditions: Door open Effects: In room Preconditions: - Effects: At door Preconditions: Hold key Effects: Door open Preconditions: - Effects: Door open In room
28
Σχεδιασμός ενεργειών (GOAP) 28 Πλεονεκτήματα Εύκολη διαχείριση μεγάλου αριθμού παραγόμενων συμπεριφορών Ευέλικτο στο ότι μπορεί να πετύχει συμπεριφορές που ικανοποιούν τις προδιαγραφές χωρίς να τις έχουμε απαριθμήσει ρητά από πριν Αλλά χρειάζεται να επιλύει προβλήματα σχεδιασμού ενεργειών σε ελάχιστα frames!
29
Σχεδιασμός ενεργειών (GOAP) 29 Από τα πρώτα εμπορικά video games που χρησιμοποίησαν σχεδιασμό ενεργειών είναι το FEAR (2005) Όχι τόσο απλό στην κατανόηση Δύσκολο στην υλοποίηση … Προβλήματα στη συνεργασία του προγραμματιστή με τον σεναριογράφο
30
Σχεδιασμός ενεργειών (GOAP) 30 Λίγες λεπτομέρειες για το FEAR: 1 άτομο για το κομμάτι της υλοποίησης της συμπεριφοράς των χαρακτήρων Ιδέα : μπορούμε να πετύχουμε διαφορετικές συμπεριφορές δίνοντας διαφορετικές δυνατότητες ενεργειών στους χαρακτήρες και χρησιμοποιώντας ένα planner για να αποφασίζει την επόμενη κίνηση κάθε στιγμή
31
Σχεδιασμός ενεργειών (GOAP) 31
32
Σχεδιασμός ενεργειών (GOAP) 32 Υπέρ - απλούστευση του STRIPS: Τα λεκτικά μετατρέπονται σε variables χωρίς ορίσματα Η κατάσταση αποθηκεύεται ως πίνακας με μικρό μέγεθος Έρευνα σε βάθος το πολύ.. 3 A* για path finding.. A* και για planning!
33
Μελέτη 33 Το βιβλίο Artificial Intelligence for Games είναι μια ενδιαφέρουσα πηγή για να ξεκινήσετε μελέτη σ ’ αυτή την περιοχή. Δείτε την ιστοσελίδα http://ai4g.com/ http://ai4g.com/
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.