Μάθημα : Ανάπτυξη Βιντεοπαιχνιδιών
Κωδικός : CEID1417
CEID_NE565 - Κωνσταντινος Τσίχλας
Περιγραφή Μαθήματος
Διαλέξεις/Εργαστήρια:
- Διάλεξη: Τετάρτη 9:00-11:00, Αίθουσα Δ2
- Unity εργαστήριο: Παρασκευή 18:00-19:30 στο zoom Υπ. Εργαστηρίου: Φλαμής Δημήτριος
- Unreal εργαστήριο: Δευτέρα 18:00-20:00 στο zoom Υπ. Εργαστηρίου: Τσαχρέλιας Κωνσταντίνος
- Godot εργαστήριο: Πέμπτη 19:30-21:00 στο zoom Υπ. Εργαστηρίου: Ζαπαντιώτης Μάριος
Όταν ήμουν παιδί (δεκαετία '90) έπαιζα καμιά φορά με δεκάδραχμα σε Arcade συστήματα ενώ η πρώτη μου επαφή με Η/Υ το 1989 ήταν πάλι βλέποντας ένα παιχνίδι. Είναι ένας από τους λόγους που πολλοί από εμάς μπαίνουν στον κόσμο της Πληροφορικής. Το μάθημα αυτό είναι για τον διδάσκοντα μία ευκαιρία να δώσει τη δυνατότητα σε κάποιους φοιτητές να κάνουν το εξής φοβερό: να φτιάχνουν τους δικούς τους κόσμους. Η ανάπτυξη παιχνιδιών συνδυάζει την τέχνη και την τεχνολογία και αυτό το μάθημα θα σας δώσει τη δυνατότητα να δημιουργήσετε κάτι πραγματικά δικό σας (ή τουλάχιστον το έναυσμα για να κάνετε κάτι τέτοιο), ενώ θα συνεργαστείτε με άλλους που μοιράζονται τον ενθουσιασμό σας. Αναπόφευκτα όμως, η προσέγγιση ενός μαθήματος μπορεί να διώξει για κάποιους λίγη από αυτή τη μαγεία, αλλά θα είναι πάντα εκεί.
Ο σκοπός του μαθήματος είναι να εισάγει τους φοιτητές στις θεμελιώδεις έννοιες και τεχνικές ανάπτυξης παιχνιδιών, από τον εννοιολογικό σχεδιασμό έως τη δημιουργία ενός πρωτότυπου παιχνιδιού. Θα εξερευνήσουμε (συνοπτικά) βασικές έννοιες που σχετίζονται με τη σχεδίαση παιχνιδιών (game design) και βασικούς μηχανισμούς των παιχνιδιών (game mechanics), όπως και την υλοποίηση 2D και 3D περιβαλλόντων χρησιμοποιώντας σύγχρονες μηχανές ανάπτυξης παιχνιδιών, όπως η Unity, η Unreal και η Godot.
Επίσης, θα γίνονται 3 εξ αποστάσεως εργαστήρια την εβδομάδα (zoom από το link στο αριστερό μενού), για κάθε μία από τις παραπάνω μηχανές. Το εργαστήριο δεν είναι υποχρεωτικό και αν θέλετε μπορείτε να παρακολουθήσετε δύο από αυτά ή και τα τρία. Η περιγραφή καθώς και όλο το υλικό κάθε διάλεξης/εργαστηρίου θα αναρτάται στο ιστολόγιο. Το μάθημα προτείνεται σε φοιτητές που να έχουν ολοκληρώσει το 4ο έτος σπουδών χωρίς όμως αυτό να σημαίνει ότι κάποιος φοιτητής στο 7ο εξάμηνο δεν θα μπορέσει να ανταπεξέλθει σε αυτό.
Τρόπος Βαθμολόγησης:
1. Ισχύει για όλους τους φοιτητές: 30% του βαθμού η γραπτή εξέταση (με ελάχιστο βαθμό για να είναι προβιβάσιμος, το 3)
2. Για ασκήσεις σε Unity/Unreal: 20% η 1η άσκηση, 30% η 2η άσκηση και 40% η 3η άσκηση. Οι ασκήσεις αφορούν το χειμερινό εξάμηνο και δεν μπορούν να δοθούν στην επί διπλώματι εξέταση ή στην εξέταση του Σεπτεμβρίου. Οι ασκήσεις είναι μέχρι 2 ατόμων.
3. Για το απαλλακτικό project: 90% του βαθμού. Αυτό μπορεί να δοθεί στην επί διπλώματι εξέταση ή στην εξεταστική Σεπτεμβρίου. Το project είναι μέχρι 6 άτομα.
Πριν μπούμε σε κώδικα...
- Στοιχεία που αφορούν το τρόπο παιχνιδιού (Gameplay)
- Τεχνητή Νοημοσύνη (AI)
- Διήγηση (Strorytelling)
- Τεκμηρίωση Ανάπτυξης Παιχνιδιών (Documentation)
- Σχεδίαση Κόσμων/Επιπέδων
- Μελέτες Περιπτώσεων Βιντεοπαιχνιδιών
Θεμελιώσεις μεν αλλά όχι ακριβώς. Μην φοβάστε, δεν θα έχει πολύ θεωρία...
- Τί είναι ένα βιντεοπαιχνίδι;
- Είδη παιχνιδιών
- Επισκόπηση μηχανών παιχνιδιών (game engines)
- Γενική αρχιτεκτονική μηχανής παιχνιδιών
- Εργαλεία και Ροές Εργασίας
- Μαθηματικά εργαλεία (Συστήματα συντεταγμένων, Μετασχηματισμοί, quaternions, γραμμική παρεμβολή)
Αυτά που μάλλον δεν θα δείτε ποτέ αλλά είναι κοινά παντού...
- Βρόχος παιχνιδιού (Game Loop)
- Προσομοίωση πραγματικού χρόνου (και εξομοίωση αν θέλετε :-))
- Η έννοια του χρόνου (Abstract Timelines)
Αυτά που θα δείτε και θα χρησιμοποιείτε αλλά δεν θα αλλάζετε...
- Η μηχανή απόδοσης γραφικών (Rendering Engine)
- Εικονική Σκηνή
- Εικονική Κάμερα
- Πηγές Φωτός
- Ιδιότητες Επιφανειών
- Ροή εργασίας για την απόδοση γραφικών
- Προχωρημένα θέματα φωτισμού και οπτικών εφέ
- Συστήματα κίνησης (animation)
- Συγκρούσεις και φυσική άκαμπτων σωμάτων
- Μηχανές φυσικής (Physics Engine)
- Βασικά στοιχεία ήχου
Πώς να σκέφτεται το παιχνίδι σας...
- Πράκτορες
- Αντίληψη
- Σκέψη
- Δράση
- Εκμάθηση
- Μηχανές Πεπερασμένων Καταστάσεων
- Τεχνικές ΑΙ (αναζήτηση διαδρομής, δένδρα συμπεριφοράς, αναδυόμενη συμπεριφορά, κ.α.)
Το εργαστήριο θα είναι μόνο για 2D και 3D βιντεοπαιχνίδια και θα γίνεται χρήση της C# για scripting. Εκτιμώμενο περιεχόμενο και ακολουθία εργαστηρίων σε Unity:
- Εισαγωγή
- 3D μετακίνηση στο χώρο
- 3D προσθήκη εχθρών, raycasting και προσθήκη γραφικών
- 2D Card Game
- 2D Platformer
- GUI
- Third person και animations
- Αλληλεπιδραστικά αντικείμενα και inventory manager
- Ήχος
- Δημιουργία ολοκληρωμένου βιντεοπαιχνιδιού
- Σύνδεση παιχνιδιού στο δίκτυο και δημοσίευση παιχνιδιού
Το εργαστήριο θα γίνεται με χρήση των blueprints για scripting (όπου χρειάζεται και σπάνια θα χρησιμοποιηθεί C++). Εκτιμώμενο περιεχόμενο και ακολουθία εργαστηρίων σε Unreal:
- Εισαγωγή – Project Setup
- Βασικά θέματα σε Blueprints – Κάμερα
- Φυσική, Φωτισμός & Περιβάλλον
- 2D Παιχνίδια σε Unreal
- Σχεδιασμός περιβάλλοντος, τοπία και φύλλωμα, Υλικά, σύστημα Niagara, Ήχος (metasound)
- ΑΙ και Σύστημα Αντίληψης
- Σύστημα Απογραφής Αντικειμένων (Inventory System)
- Gameplay Fundamentals (HUD, Main Menu, Save/Load,…)
- Cinematics & Multiplayer
- Control Rig
Το εργαστήριο θα είναι για 2D και 3D βιντεοπαιχνίδια και θα γίνεται χρήση της GDScript (μοιάζει στην python) για scripting. Εκτιμώμενο περιεχόμενο και ακολουθία εργαστηρίων:
- Εισαγωγή στο Περιβάλλον της Godot
- 2D παιχνίδι – Εισαγωγή σε βασικά εργαλεία
- 2D παιχνίδι – Χρήση κώδικα
- Ήχος και UI
- Εισαγωγή σε 3D παιχνίδια
- Θέματα 3D παιχνιδιών (π.χ., πυροβολισμός, περίπλοκα σώματα εχθρών)
- Κάμερα 3ου προσώπου και Animation
- Περιβάλλον (π.χ., συστήματα σωματιδίων, vfx)
- Σκηνές – Μηχανισμοί
- Τοπία, Multiplayer, Export
Ημερολόγιο
Ανακοινώσεις
Όλες...-
χθες - 10:03 π.μ.
-
προχθές - 9:54 μ.μ.
-
Κυριακή, 30 Νοεμβρίου 2025 - 7:45 μ.μ.