1 / 33

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

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

otto
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Σχεδιασμοσ (Planning) ..και εφαρμογές σε video games!

  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 Energy OK See small enemy Losing fight See big enemy Escaped Run away

  7. Πεπερασμένα Αυτόματα (FSMs) • Παραδοσιακά από τις πρώτες τεχνικές για τον καθορισμό της συμπεριφοράς των χαρακτήρων • Πολύ απλά στην κατανόηση • Πολύ απλά στην υλοποίηση • Απευθείας υλοποίηση με το μορφή πολλαπλών if-then-else εντολών

  8. Πεπερασμένα Αυτόματα (FSMs) • int NPC::think(){ if (state==ONGUARD && seeSmallEnemy()){ state=FIGHT; makeScarySound(); } else if (state==FIGHT && energy>30){ ... • } • else if ... • }

  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) • Αντικατάσταση των «έτοιμων» στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών Preconditions: Door openEffects: In room Move into room Preconditions: -Effects: At door Move to door Preconditions: Hold keyEffects: Door open Unlockdoor Preconditions: -Effects: Door open Kickdoor

  26. Σχεδιασμός ενεργειών (GOAP) • Αντικατάσταση των «έτοιμων» στρατηγικών με μια περιγραφή στόχων και διαθέσιμων ενεργειών Preconditions: Door openEffects: In room In room Move into room Preconditions: -Effects: At door Move to door Preconditions: Hold keyEffects: Door open Unlockdoor Preconditions: -Effects: Door open Kickdoor

  27. Σχεδιασμός ενεργειών (GOAP) • Αναζήτηση σε πραγματικό χρόνο για τη στρατηγική που επιτυγχάνει τον αναγκαίο στόχο κάθε φορά Preconditions: Door openEffects: In room In room Move into room Preconditions: -Effects: At door Move to door Preconditions: Hold keyEffects: Door open Unlockdoor Preconditions: -Effects: Door open Kickdoor

  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/

More Related