Σχεδιασμοσ (planning )

Post on 27-Jan-2016

41 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Σχεδιασμοσ (Planning ). ..και εφαρμογές σε video games!. Τεχνητή Νοημοσύνη και Video Games. Game engine: Δημιουργεί τα αντικείμενα στον χώρο του video game και υπολογίζει τι συμβαίνει σε αυτόν σε κάθε frame C++ - PowerPoint PPT Presentation

TRANSCRIPT

ΣΧΕΔΙΑΣΜΟΣ (PLANNING)

..και εφαρμογές σε video games!

Τεχνητή Νοημοσύνη ΙΙ Εαρινό εξάμηνο 2012-2013

2

Τεχνητή Νοημοσύνη και Video Games

Game engine: Δημιουργεί τα αντικείμενα στον χώρο του

video game και υπολογίζει τι συμβαίνει σε αυτόν σε κάθε frame

C++ Π.χ., ένα κιβώτιο είναι στον αέρα στο

frame1. Στο frame 2 θα υπολογίσει και θα εμφανίσει τη νέα του θέση, κτλ.

3

Τεχνητή Νοημοσύνη και Video Games

Game engine: Δημιουργεί τα αντικείμενα στον χώρο του

video game και υπολογίζει τι συμβαίνει σε αυτόν σε κάθε frame

C++ Π.χ., ένα κιβώτιο είναι στον αέρα στο

frame1. Στο frame 2 θα υπολογίσει και θα εμφανίσει τη νέα του θέση, κτλ.

Το ίδιο και για τους Non-player characters!

4

Πεπερασμένα Αυτόματα (FSMs)

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)

Αναγνώριση κανονικών γλωσσών

6

Πεπερασμένα Αυτόματα (FSMs)

Συμπεριφορά σύμφωνα με εναλλαγή καταστάσεων!

On Guard

Fight

Run away

See small enemy

Losing fight

See big enemyEscaped

Energy OK

7

Πεπερασμένα Αυτόματα (FSMs)

Παραδοσιακά από τις πρώτες τεχνικές για τον καθορισμό της συμπεριφοράς των χαρακτήρων

Πολύ απλά στην κατανόηση Πολύ απλά στην υλοποίηση

Απευθείας υλοποίηση με το μορφή πολλαπλών if-then-else εντολών

8

int NPC::think(){ if (state==ONGUARD && seeSmallEnemy()){ state=FIGHT;

makeScarySound(); } else if (state==FIGHT && energy>30){

...

}

else if ...

}

Πεπερασμένα Αυτόματα (FSMs)

9

Πεπερασμένα Αυτόματα (FSMs)

Παραδοσιακά από τις πρώτες τεχνικές για τον καθορισμό της συμπεριφοράς των χαρακτήρων

Πολύ απλά στην κατανόηση Πολύ απλά στην υλοποίηση

Απευθείας υλοποίηση με το μορφή πολλαπλών if-then-else εντολών

Εύκολος διαχωρισμός της δουλειάς του προγραμματιστή με τη αυτή του σεναριογράφου

Αλλά, και απλοϊκά στις συμπεριφορές που μπορεί να εκφράσουν..

10

Δένδρα συμπεριφορών (BTs)

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)

Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές

→ ?

?

12

Δένδρα συμπεριφορών (BTs)

Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές

Door open

?

Move into

room

13

Δένδρα συμπεριφορών (BTs)

Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές

?

?Door open

?

Move into

room

Move to door

Move into

room

14

Δένδρα συμπεριφορών (BTs)

Συμπεριφορά σύμφωνα με πιο λεπτομερείς συνθήκες και στρατηγικές

?

?

→ →

Door open

?

Move into

room

Move to door

Move into

room

Door locked?

Unlockdoor

Kickdoor

Dooropen?

15

Δένδρα συμπεριφορών (BTs)

Από τα πρώτα εμπορικά video games πουχρησιμοποίησαν BTs είναι το Halo2 (2004)

Απλά στην κατανόηση Απλά στην υλοποίηση

… Εύκολος διαχωρισμός της δουλειάς του

προγραμματιστή με τη αυτή του σεναριογράφου

16

Αντανακλαστικές τεχνικές

Τα FSMs και BTs είναι αντανακλαστικές (reactive) τεχνικές Ο χαρακτήρας ακολουθεί μια

προκαθορισμένη στρατηγική που υπαγορεύει την αντίδραση του σε κάθε χρονικό σημείο του παιχνιδιού σύμφωνα με τις διαφορετικές συνθήκες που επικρατούν

Για κάθε αλληλουχία ενεργειών που χρειάζεται να πραγματοποιηθούν μαζί, πχ:[move to door, unlock/kick door, move into room], αυτό πρέπει να περιγράφεται ρητά στη δομή των FSMs BTs

17

Αντανακλαστικές τεχνικές

Ιστορικά, η συντριπτική πλειοψηφία των video games με χαρακτήρες χρησιμοποιούν κάποιο είδος/συνδυασμό FSM, BTs για να χειριστούν τη λήψη αποφάσεων του χαρακτήρα

Εύκολα υλοποιήσιμη αντιμετώπιση Οι ανάγκες που προκύπτουν

αντιμετωπίζονται εύκολα από τους προγραμματιστές

Με κατάλληλη προετοιμασία των levels δουλεύει πολύ καλά

18

Αντανακλαστικές τεχνικές

Ένα level από τα μάτια του χαρακτήρα NPC

19

Αντανακλαστικές τεχνικές

Ένα level από τα μάτια του χαρακτήρα NPC

20

Αντανακλαστικές τεχνικές

Η κατάσταση σήμερα Ανοικτοί κόσμοι (open worlds) με συνεχώς

αυξανόμενες διαθέσιμες αλληλεπιδράσεις Οι χαρακτήρες χρειάζεται να έχουν

αυτονομία, με ατομικές επιδιώξεις, στόχους, και προσωπικότητα.

21

Αντανακλαστικές τεχνικές

Η κατάσταση σήμερα Σε αυτές τις συνθήκες, η διαχείριση των

πιθανών αλληλεπιδράσεων με αντανακλαστικές τεχνικές γίνεται περίπλοκη και δύσκολη

Εμφανίζεται η ανάγκη για πιο ευέλικτες τεχνικές

22

Σχεδιασμός ενεργειών (GOAP)

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)

Αντικατάσταση των «έτοιμων» στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών

?

?

→ →

Door open

?

Move into

room

Move to door

Move into

room

Door locked?

Unlockdoor

Kickdoor

Dooropen?

24

Σχεδιασμός ενεργειών (GOAP)

Αντικατάσταση των «έτοιμων» στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών

Move into

room

Move to door

Move into

room

Unlockdoor

Kickdoor

25

Σχεδιασμός ενεργειών (GOAP)

Αντικατάσταση των «έτοιμων» στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών

Move into

room

Move to door

Unlockdoor

Kickdoor

Preconditions: Door openEffects: In room

Preconditions: -Effects: At door

Preconditions: Hold keyEffects: Door open

Preconditions: -Effects: Door open

26

Σχεδιασμός ενεργειών (GOAP)

Αντικατάσταση των «έτοιμων» στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών

Move into

room

Move to door

Unlockdoor

Kickdoor

Preconditions: Door openEffects: In room

Preconditions: -Effects: At door

Preconditions: Hold keyEffects: Door open

Preconditions: -Effects: Door open

In room

27

Σχεδιασμός ενεργειών (GOAP)

Αναζήτηση σε πραγματικό χρόνο για τη στρατηγική που επιτυγχάνει τον αναγκαίο στόχο κάθε φορά

Move into

room

Move to door

Unlockdoor

Kickdoor

Preconditions: Door openEffects: In room

Preconditions: -Effects: At door

Preconditions: Hold keyEffects: Door open

Preconditions: -Effects: Door open

In room

28

Σχεδιασμός ενεργειών (GOAP)

Πλεονεκτήματα Εύκολη διαχείριση μεγάλου αριθμού

παραγόμενων συμπεριφορών Ευέλικτο στο ότι μπορεί να πετύχει

συμπεριφορές που ικανοποιούν τις προδιαγραφές χωρίς να τις έχουμε απαριθμήσει ρητά από πριν

Αλλά χρειάζεται να επιλύει προβλήματα σχεδιασμού ενεργειών σε ελάχιστα frames!

29

Σχεδιασμός ενεργειών (GOAP)

Από τα πρώτα εμπορικά video games πουχρησιμοποίησαν σχεδιασμόενεργειών είναι το FEAR (2005)

Όχι τόσο απλό στην κατανόηση Δύσκολο στην υλοποίηση

… Προβλήματα στη συνεργασία του

προγραμματιστή με τον σεναριογράφο

30

Σχεδιασμός ενεργειών (GOAP)

Λίγες λεπτομέρειες για το FEAR: 1 άτομο για το κομμάτι της

υλοποίησης της συμπεριφοράς των χαρακτήρων

Ιδέα: μπορούμε να πετύχουμε διαφορετικές συμπεριφορές δίνοντας διαφορετικές δυνατότητες ενεργειών στους χαρακτήρες και χρησιμοποιώντας ένα planner για να αποφασίζει την επόμενη κίνηση κάθε στιγμή

31

Σχεδιασμός ενεργειών (GOAP)

32

Σχεδιασμός ενεργειών (GOAP)

Υπέρ-απλούστευση του STRIPS: Τα λεκτικά μετατρέπονται

σε variables χωρίς ορίσματα

Η κατάσταση αποθηκεύεται ως πίνακας με μικρό μέγεθος

Έρευνα σε βάθος το πολύ.. 3

A* για path finding.. A* και για planning!

33

Μελέτη

Το βιβλίο Artificial Intelligence for Games είναι μια ενδιαφέρουσα πηγή για να ξεκινήσετε μελέτη σ’ αυτή την περιοχή. Δείτε την ιστοσελίδα http://ai4g.com/

top related