Το μάθημα επικεντρώνεται στην εμβάθυνση των γνώσεων γύρω από αλγορίθμους, δομές δεδομένων και αλγοριθμικές τεχνικές που εφαρμόζονται στην ανάπτυξη ψηφιακών παιχνιδιών. Διερευνώνται ζητήματα που αφορούν την ανάλυση και τον σχεδιασμό αλγορίθμων, την πολυπλοκότητά τους, καθώς και τις τεχνικές επίλυσης προβλημάτων που προκύπτουν κατά τη δημιουργία ενός ψηφιακού παιχνιδιού. Το μάθημα καλύπτει τη χρήση τυχαίων αριθμών, την ανάπτυξη και αξιολόγηση τουρνουά, δέντρων παιχνιδιών, και εξετάζει αλγόριθμους για γραφήματα, βέλτιστες διαδρομές και λήψη αποφάσεων, με τη χρήση της Python. Επιπλέον, συμπεριλαμβάνονται έννοιες πολλαπλών παικτών, είτε τοπικά είτε διαδικτυακά, καθώς και η αξιοποίηση βάσεων δεδομένων και τυχαίων τεχνικών για την ενίσχυση της επαναληψιμότητας. Η διδασκαλία, με μεθόδους ανακαλυπτικής και συνεργατικής μάθησης, δίνει τη δυνατότητα στους φοιτητές να αποκτήσουν δεξιότητες για τη διδασκαλία προγραμματισμού και αλγορίθμων σε διάφορα επίπεδα εκπαίδευσης.
Το μάθημα στοχεύει στην εξοικείωση με την αντικειμενοστραφή
σχεδίαση και ανάπτυξη παιχνιδιών μέσα από την γλώσσα
προγραμματισμού C#. Το μάθημα αποτελείται από τρεις ενότητες.
Αρχικά γίνεται μια παρουσίαση των βασικών δομικών στοιχείων της
γλώσσας C#, όπως κλάσεις, αντικείμενα, κληρονομικότητα,
πολυμορφισμός. Στη συνέχεια δίνεται έμφαση στα στοιχεία της
γλώσσας τα οποία επιτρέπουν την ανάπτυξη ψηφιακών παιχνιδιών με
στόχο την υλοποίηση απλών παιχνιδιών. Το μάθημα ολοκληρώνεται
με την παρουσίαση τεχνικών για την αποτελεσματική σχεδίαση
παιχνιδιών μέσα από την γλώσσα περιγραφής συστημάτων UML.
Το μάθημα στοχεύει στην εξοικείωση των διδασκομένων με τις αρχές
του αντικειμενοστρεφούς προγραμματισμού (object-oriented
programming) και τεχνικών ανάλυσης και σχεδίασης λογισμικού
ψηφιακών παιχνιδιών. Κατά τη διάρκεια του μαθήματος οι
διδασκόμενοι θα αναπτύξουν επάρκεια στη χρήση της
αντικειμενοστρεφούς μεθοδολογίας για την επίλυση υπολογιστικών
προβλημάτων που σχετίζονται με την ανάπτυξη ψηφιακών
παιχνιδιών, και θα αναπτύξουν ικανότητες επίλυσης πολύπλοκων
προβλημάτων. Μέσα από διδακτικές προσεγγίσεις συνεργατικής και
ανακαλυπτικής μάθηση, οι διδασκόμενοι λαμβάνουν πολύτιμα
εφόδια για τη διδασκαλία του προγραμματισμού αλλά και γενικότερα
για την κατανόηση, ανάλυση και επίλυση προβλημάτων στην
πρωτοβάθμια και δευτεροβάθμια εκπαίδευση.
Τα video games δεν είναι μόνο κώδικας ή προγραμματισμός, αλλά και περιεχόμενο. Τα ψηφιακά παιχνίδια, ως αφηγηματικό μέσο, προσφέρουν μια έντονα διαδραστική οπτικοακουστική εμπειρία, η οποία ενδέχεται να λάβει διαφορετικές μορφές ανάλογα με το είδος του παιχνιδιού (genre), το μέγεθος της εταιρείας ανάπτυξης και φυσικά το διαθέσιμο προϋπολογισμό.

Στο μάθημα αυτό θα προσεγγίσουμε την έννοια της αφήγησης ως δομικό στοιχείο των παιχνιδιών, δίνοντας βαρύτητα στις εννοιολογικές κατηγορίες της ροής (flow), της εμβύθισης (immersion), της παρουσίας (presence) και της ταυτοποίησης (identification). Θα μελετήσουμε τους βασικούς τύπους αφήγησης που συναντάμε σε διαφορετικά game genre, αλλά και τα κλισέ που τείνουν να επαναλαμβάνονται.

Η διάκριση ανάμεσα στις αφηγήσεις που καθοδηγούνται από τους ίδιους τους παίκτες (player-driven) και τη παραδοσιακή διαδραστική αφήγηση, θα αναδείξει σημαντικά ζητήματα σχεδιασμού, όπως το βαθμό ελευθερίας των παικτών και τη διαχείριση της αφηγηματικής ροής. Ιδιαίτερη όμως βαρύτητα θα δώσουμε σε τεχνικές αφηγηματικού σχεδιασμού και σε αναλύσεις περιπτώσεων παιχνιδιών, για να προσεγγίσουμε δημιουργικά και πρακτικά την αφηγηματική αρχιτεκτονική του κόσμου του παιχνιδιού.

Η χρήση της κάμερας και η συναισθηματική επένδυση του παίκτη, η διαφορά ανάμεσα στην πρωτοπρόσωπη και τριτοπρόσωπη αφήγηση και η λειτουργία των cinematics, θα αποτελέσουν επίσης αντικείμενο μελέτης. Το μάθημα αποτελείται από θεωρητικό και πρακτικό μέρος. Στο πρακτικό μέρος θα χρησιμοποιήσουμε εύκολα εργαλεία ανοιχτού λογισμικού όπως το Twine.

Παιδαγωγικές εφαρμογές:

Κατά τη διάρκεια του μαθήματος οι φοιτητές και φοιτήτριες θα κατανοήσουν τη σημασία και το ρόλο που διαδραματίζει η αφήγηση σε μια διαδραστική εμπειρία, όπως είναι τα video games και θα έρθουν σε επαφή με δομές αφήγησης και design frameworks, τα οποία θα τους επιτρέψουν να δομήσουν και να αποδομήσουν τον αφηγηματικό χώρο των παιχνιδιών. Η συγγραφή και ανάπτυξη μικρών διαδραστικών σεναρίων μέσω text editors όπως είναι το Twine, αλλά και ο σχεδιασμός πλούσιων αφηγηματικών κόσμων, αποτελούν μερικούς μόνο από τους εκπαιδευτικούς στόχους του μαθήματος. Οι φοιτητές/φοιτήτριες πρόκειται να φτιάξουν storyboards των δικών τους ιστοριών, θα επανασχεδιάσουν γνωστά παιχνίδια προσθέτοντας αφηγηματικό βάθος και θα έρθουν σε επαφή με βασικές έννοιες σκηνοθεσίας, όπως η οπτική γωνία.