Torque Game Engine - #02 Κώστας Καρπούζης (kkarpou) Αμαρυλλίς Ραουζαίου (araouz) Γιώργος Καρυδάκης (gcari) http://www.image.ntua.gr
Game Programming Δομή του παιχνιδιού το βασικό αρχείο main βρίσκεται στο root folder του παιχνιδιού Φάκελος κώδικα Common Περιέχει κώδικα που δε μεταβάλλεται ιδιαίτερα Φάκελος κώδικα Control Ορισμός του παιχνιδιού Ορισμός και έλεγχος του game play Διαχείριση των πόρων του παιχνιδιού
Game Programming game root control common data scripts
Game Programming Σχεδίαση Server - Client Server-side: Client-side: Authentication – ταυτοποίηση χρήστη Αποφάσεις σχετικές με το game play και το σκορ Πόροι συστήματος Client-side: Διαπροσωπείες με το χρήστη Παραμετροποίηση (π.χ. ορισμός ανάλυσης οθόνης) Πλοήγηση (πλήκτρα, ποντίκι, κλπ.)
Game Programming Λειτουργικότητα στο αρχείο common Authentication Μηχανισμός μηνυμάτων χρηστών και εφαρμογής In-game editors Debugger Σύστημα φωτισμού Ενσωματωμένο σύστημα βοήθειας Διαπροσωπείες χρηστών
Game Programming Lab 1: "emaga4" Ξεκινάμε από το ελάχιστο περιβάλλον ενός παιχνιδιού Ξεκίνημα ενός server Τοπική σύνδεση client (στον ίδιο υπολογιστή) Φόρτωμα μιας αποστολής Γέννηση (spawn) του μοντέλου του παίκτη (player avatar) Βασικές δυνατότητες κίνησης του παίκτη
Δομές αρχείων
Game Programming Βασικό αρχείο main Γενική αρχικοποίηση Ανάλυση παραμέτρων από το command line Help package Εκτέλεση πρόσθετων packages και add-ons
Game Programming Αρχείο main στο φάκελο control Φόρτωμα control packages και modules Αρχικοποίηση του control
Game Programming Αρχείο control/initialize Αρχικοποίηση server Αρχικοποίηση client
Game Programming Αρχείο control/client Απεικόνιση πλήκτρων σε λειτουργίες (key bindings) Ορισμός 3D view callback Ορισμός 3D view interface Απεικόνιση animation σε κινήσεις Διαχείριση μη χρησιμοποιούμενων κλήσεων από τον κώδικα common
Game Programming Αρχείο control/server Χειρίζεται την επικοινωνία του client με το server Δημιουργεί τα μοντέλα (avatars) του παίκτη
Game Programming Αρχείο control/player Ορίζει το datablock του player Ορίζει μεθόδους δημιουργίας και καταστροφής του παίκτη
Συνολικά Τα Strings περιέχονται σε double-quotes ("), παράμετροι (tagged strings) σε single-quotes(') Το Torque Script υποστηρίζει αντικείμενα με ιδιότητες και μεθόδους μέσω του κλασικού dot operator Τα Namespaces βοηθούν στη διαχείριση και χρήση ονομάτων μεταβλητών Τα Datablocks μεταφέρουν δεδομένα για τα αντικείμενα του παιχνιδιού από το server στους clients
Συνολικά Οργανώστε τα αρχεία script ώστε να έχουν νόημα για όλους τους συμμετέχοντες στην ανάπτυξη Χρησιμοποιήστε την ιδέα της διάκρισης ανάμεσα σε control scripts και τον κώδικα common Για παιχνίδια με πολλαπλούς χρήστες, ο ευαίσθητος (π.χ. για cheat) κώδικας πρέπει να βρίσκεται στο server και οτιδήποτε άλλο στον client
Άσκηση Κατεβάστε και εκτελέστε το παιχνίδι Emaga4 Μπορείτε να εκτελέσετε το παιχνίδι από το tge.exe Δεν υπάρχει main.cs – θα το δημιουργήσουμε εμείς! update: είναι όλα έτοιμα! …μαζί με τα περιεχόμενα του φακέλου control