Ανάπτυξη Εφαρμογών Κινητών και Παιχνιδιών

Το μάθημα περιλαμβάνει 2 ενότητες, ανάπτυξη σε Android και ανάπτυξη διαπλατφορμικών 2D/3D παιχνιδιών με C# και Unity. Πρόκειται για 2 παράλληλα αντικείμενα. Ακολουθεί η αναλυτική περιγραφή.

 

Ανάπτυξη εφαρμογών Android

Σκοπός: Σε αυτή την ενότητα οι εκπαιδευόμενοι μέσα από απλά παραδείγματα και πρακτική εξάσκηση θα αποκτήσουν τις βασικές δεξιότητες προγραμματισμού σε Android.

Ειδικότερα μετά το πέρας του μαθήματος οι εκπαιδευόμενοι θα είναι σε θέση να

·       δουλεύουν στο περιβάλλον ανάπτυξης εφαρμογών Android Studio,

·       αναπτύσσουν απλές εφαρμογές Android

·       αποσφαλματώνουν εφαρμογές μέσω του συστήματος του Android Studio

·       κατανοούν τον τρόπο δημιουργίας διεπαφών Android Εφαρμογών

·       κατανοούν  και να διαχειρίζονται τον κύκλο ζωής των εφαρμογών

·       διατηρούν πληροφορίες ενός Android Activity

·       δημιουργούν διαδραστικά κουμπιά και μενού

·       κατανοούν τη βασική αρχιτεκτονική μίας Android εφαρμογής

·       διαχειρίζονται μία βάση δεδομένων

·       χρησιμοποιούν υπηρεσίες γεωεντοπισμού

·       ανακτούν πληροφορίες για ανάπτυξη εφαρμογών Android

·       δημιουργούν μία ολοκληρωμένη εφαρμογή Android

 

Περιεχόμενα:

1.       Βασικά στοιχεία Android Εφαρμογών

Android Developers Site, Εγκατάσταση και παραμετροποίηση Android Studio – Εξοικείωση με το περιβάλλον, Δημιουργία απλής εφαρμογής Android, Αρχιτεκτονική προγράμματος Android, Εγκατάσταση εικονικής συσκευής (Android Virtual Device - AVD), Εκτέλεση εφαρμογής σε πραγματική συσκευή, Συστατικά Εφαρμογών, Δημιουργώντας ένα Activity, Πολλαπλά Activities και Intents

2.       Layout

Δημιουργία διεπαφής χρησιμοποιώντας το Android Studio Designer Tool, Δημιουργία διεπαφής χρησιμοποιώντας κώδικα, Android Grid Layout, List Views, Adapters

3.       Kύκλος ζωής των Activities

Διαχείριση της κατάστασης ενός Android Activity, Αποθήκευση και ανάκτηση πληροφοριών από ένα Android Activity

4.       Άλλα στοιχεία

Εvent handling, fragments, Μενού, Intents, Grangle, Debugging

5.       Δημιουργία ολοκληρωμένης εφαρμογής (Project)

 

 

Ανάπτυξη διαπλατφορμικών 2D/3D παιχνιδιών με C# και πλατφόρμας Unity

Σκοπός

Ο στόχος του μαθήματος είναι η κατανόηση και η εξοικείωση με την  αντικειμενοστραφή γλώσσα προγραμματισμού C#. Επίσης παρουσιάζονται προηγμένα περιβάλλοντα  απαιτήσεων και  ειδικών πακέτων λογισμικού που αναφέρονται σαν μηχανές παιχνιδιών (game engines) και χρησιμοποιούνται για την υλοποίηση διαπλατφορμικών (cross-platform) παιχνιδιών (2Δ και 3Δ). Για τον σκοπό αυτό θα χρησιμοποιηθεί μία ενιαία ολοκληρωμένη πλατφόρμα υλοποίησης μέσω της οποίας  οι φοιτητές μπορούν να παράξουν λύσεις οι οποίες μπορούν να εφαρμοστούν σε ποικίλα συστήματα. Η πλατφόρμα αυτή είναι το περιβάλλον Unity. Οι φοιτητές θα αποκτήσουν εμπειρία και τεχνογνωσία σε συστήματα και τεχνολογίες 2Δ και 3Δ παιχνιδιών και θα γνωρίσουν τη διαδικασία ανάπτυξης παιχνιδιών.

Περίγραμμα

1.       Εισαγωγή στον κόσμο των διαδραστικών εφαρμογών ( Human Computer Interaction).

2.       Τεχνικές αξιολόγησης διαδραστικών εφαρμογών και 2Δ και 3Δ παιχνιδιών.

3.       Επισκόπηση διαφόρων πλατφορμών και τεχνικών για υλοποίηση παιχνιδιών

4.       Γραφικό περιβάλλον διεπαφής της πλατφόρμας Unity

a.       Τι είναι η σκηνή (Scene), τα αντικείμενα (Objects) και τα στοιχεία αντικειμένων (Components)

b.      Δυναμικότητα και διαδραστικότητα αντικειμένων

c.       Διεπαφή μέσω των συστημάτων εισόδου (ποντίκι, πληκτρολόγιο κ.λπ.)

d.      Έτοιμες βιβλιοθήκες (Assets)

e.       Πηγές αναφοράς των εργαλείων και των βιβλιοθηκών Unity, και η συμβολή τους στην κατανόηση του μηχανισμού του συστήματος

f.        Δυνατότητες πλατφόρμας Unity και των διαπλατφορμικών εφαρμογών

5.       Προγραμματισμός με χρήση της γλώσσας προγραμματισμού C#

a.       Συναρτήσεις διαχείρισης συμβάντων στη ροή μιας προσομοίωσης

b.      Μετατροπή στατικών αντικειμένων σε δυναμικά/διαδραστικά αντικείμενα

6.       Σχεδιασμός και ανάπτυξη συστήματος διεπαφής του χρήστη (User Interface)

7.       Ανάπτυξη παιχνιδιών πρώτου και τρίτου προσώπου με την πλατφόρμα Unity και με χρήση C#

8.       Συστήματα ρεαλισμού: ήχος, φωτισμός σκηνής και βελτίωση γραφικών του παιχνιδιού

9.       Αυτόματο σύστημα περιηγήσεις στον χώρο με χρήση τεχνητής νοημοσύνης

10.   Διασύνδεση των εφαρμογών μας με βάση δεδομένων (C#, PHP και MySQL)

11.   Ανάπτυξη 2Δ παιχνιδιού με την πλατφόρμα Unity

12.   Ανάπτυξη 3Δ παιχνιδιού με την πλατφόρμα Unity

13.   H χρήση των παιχνιδιών στην εκπαίδευση, στον πολιτισμό και για εμπορικούς σκοπούς

 

Προτεινόμενη βιβλιογραφία

[1] Jeremy Gibson Bond, Introduction to Game Design, Prototyping, and Development: From Concept to Playable Game with Unity and C#, Addison-Wesley Professional, 2014

[2] Sue Blackman, Beginning 3D Game Development with Unity 4: All-in-one, multi-platform game development (Technology in Action), 2nd ed. Edition, 2013

[3] Joe Hocking, Unity in Action: Multiplatform Game Development in C# with Unity 5, 1st Edition, 2015

[4] Alex Okita. Learning C# Programming with Unity 3D, 2015