Όλες οι αναρτήσεις

Ένας κόσμος, πέντε πλατφόρμες – Devlog #2: οι προκλήσεις της ανάπτυξης ενός cross-platform MMORPG

Ένα MMORPG που παίζεται με ποντίκι, οθόνη αφής και χειριστήριο: οι επιλογές του Ancient Online για interface, χειρισμό, 30 γλώσσες και μετάφραση.

Ένα χειριστήριο παιχνιδιών πάνω σε γραφείο, σε χαμηλό φως, με κόκκινες και τιρκουάζ ανταύγειες

Σχεδιάζουμε το Ancient Online: Remastered ως έναν ενιαίο κόσμο όπου θα συναντιούνται οι παίκτες σε Windows, Linux, macOS, Android και iOS. Στο χαρτί ακούγεται απλό: ένα παιχνίδι, πέντε πλατφόρμες. Στην πράξη, το να φέρεις στα τηλέφωνα και στα χειριστήρια ένα κλασικό MMORPG σχεδιασμένο για να παίζεται με κλικ του ποντικιού σημαίνει μια σειρά από δύσκολες αποφάσεις. Σε αυτό το μέρος του ημερολογίου ανάπτυξης μοιραζόμαστε αυτές τις αποφάσεις και τους λόγους πίσω τους.

Το παιχνίδι βρίσκεται υπό ανάπτυξη. Η έκδοση ανάπτυξης δοκιμάζεται προς το παρόν σε συσκευές Windows και Android· τα macOS, Linux και iOS είναι οι υπόλοιπες πλατφόρμες στις οποίες στοχεύουμε.

Κανόνας 1: ένας κόσμος, ένα σύνολο κανόνων

Για τους παίκτες στα κινητά δεν υπάρχει ξεχωριστός διακομιστής ούτε «απλοποιημένη» ισορροπία. Επειδή όλοι οι κανόνες του παιχνιδιού τρέχουν στον διακομιστή, παίζετε στον ίδιο κόσμο και με τους ίδιους κανόνες, από όποια συσκευή κι αν συνδέεστε. Ο λογαριασμός, ο χαρακτήρας, το inventory και η συντεχνία σας δεν εξαρτώνται από τη συσκευή. Την πλευρά του διακομιστή την καλύψαμε στο πρώτο μέρος του ημερολογίου ανάπτυξης.

Για τον client, ο κανόνας αυτός σημαίνει ότι διαφορετικές πλατφόρμες μπορούν να προσφέρουν διαφορετικό χειρισμό, αλλά δεν μπορούν να προσφέρουν διαφορετικές δυνατότητες.

Οθόνες αφής: ξανασκεφτόμαστε αντί να σμικρύνουμε

Το να σμικρύνεις το κλασικό περιβάλλον ενός MMORPG όπως είναι και να το βάλεις σε ένα τηλέφωνο δεν δουλεύει· τα κουμπιά καταλήγουν πολύ μικρά για το δάχτυλο και η οθόνη πολύ φορτωμένη. Γι' αυτό σχεδιάσαμε ένα ξεχωριστό επίπεδο περιβάλλοντος για τα κινητά:

  • Κινητό joystick: Όπου κι αν ακουμπήσετε το δάχτυλό σας στο αριστερό μισό της οθόνης, το joystick έρχεται σε αυτό· ο παίκτης δεν χρειάζεται να πετύχει ένα συγκεκριμένο σημείο της οθόνης.
  • Κουμπί επίθεσης που το κρατάτε πατημένο, με ένα τόξο δεξιοτήτων γύρω του.
  • Άγγιγμα για στόχευση: Το αντίστοιχο, στην αφή, της συνήθειας του PC «κάνε κλικ στο τέρας».

Υπάρχει και κάτι που σκόπιμα δεν κάναμε: η κίνηση με άγγιγμα. Την κίνηση την αναλαμβάνει το joystick. Με δύο συστήματα κίνησης, κάθε άγγιγμα που θα αστοχούσε στον στόχο θα γινόταν ένα ακούσιο τρέξιμο, και στη μέση της μάχης αυτό είναι απαράδεκτο.

Μία ακόμη μικρή αλλά σημαντική απόφαση: στο τηλέφωνο φαίνονται μόνο λίγες θέσεις κάθε φορά, άρα η εναλλαγή ανάμεσα στις σελίδες δεξιοτήτων γίνεται πολύ συχνότερα απ' ό,τι στον υπολογιστή. Κάναμε τις θέσεις των φίλτρων ανεξάρτητες από τις σελίδες· όταν αλλάζετε σελίδα, τα φίλτρα σας μένουν εκεί που είναι. Για να γίνει αυτό, δεν αρκούσε να μετακινήσουμε ένα κελί στο περιβάλλον: χρειάστηκε να διαχωρίσουμε πλήρως τον κώδικα που χρησιμοποιεί τις θέσεις των φίλτρων από τη λογική των σελίδων.

Κάμερα και πολλαπλή αφή

Στο τηλέφωνο, η κάμερα γυρίζει όταν σέρνετε ένα δάχτυλο σε κενή περιοχή. Το να το πετύχουμε τοποθετώντας πάνω από το περιβάλλον μια «ζώνη κάμερας» σε όλη την οθόνη έμοιαζε δελεαστικό, όμως ένα τέτοιο επίπεδο θα κατάπινε τα αγγίγματα που προορίζονται για κάθε κουμπί από κάτω του. Χειριζόμαστε το σύρσιμο της κάμερας στον ελεγκτή του παίκτη και όχι στο επίπεδο του περιβάλλοντος, και έτσι αποφύγαμε τις συγκρούσεις ανάμεσα στα κουμπιά και στην κάμερα. Επίσης, ξεχωρίζουμε την επιλογή στόχου από το σύρσιμο της κάμερας με ένα μικρό κατώφλι κίνησης: μέχρι να ξεπεραστεί το κατώφλι η κάμερα δεν κουνιέται καθόλου, και μόλις ξεπεραστεί αρχίζει να γυρίζει χωρίς απότομο άλμα.

Χειριστήρια: πλοήγηση και στα μενού

Την υποστήριξη χειριστηρίου τη σχεδιάσαμε για ολόκληρο το περιβάλλον, όχι μόνο για τη μάχη. Για την πλοήγηση στο inventory και στα μενού με χειριστήριο, προσθέσαμε πλοήγηση εστίασης με το D-pad. Κι εδώ υπήρχε μια παγίδα: το D-pad και τα κουμπιά επιβεβαίωσης/επιστροφής χρειάζονται τόσο για την πλοήγηση στα μενού όσο και για τη χρήση των γρήγορων θέσεων. Η λύση: όσο είναι ανοιχτό ένα παράθυρο, τα κουμπιά αυτά πλοηγούν στο μενού, και όταν κλείσει επιστρέφουν στις γρήγορες θέσεις. Το να γλιστρήσει σιωπηλά το παιχνίδι σε «λειτουργία μενού» στη μέση της μάχης θα ήταν το χειρότερο σφάλμα που θα μπορούσε να έχει αυτό το σύστημα.

Το παιχνίδι θυμάται ποια συσκευή εισόδου χρησιμοποιήσατε τελευταία: όταν περνάτε σε χειριστήριο, τα κουμπιά αφής αποσύρονται από την οθόνη.

Και οι ρυθμίσεις ακολουθούν την πλατφόρμα

Το παράθυρο ρυθμίσεων παίρνει το σχήμα του από τη συσκευή: οι καρτέλες ποντικιού και πληκτρολογίου εμφανίζονται μόνο στο PC και η καρτέλα αφής μόνο στα τηλέφωνα. Επιλογές γραφικών που αφορούν μόνο τους υπολογιστές, όπως τα Lumen, DLSS και FSR, δίνουν στα κινητά τη θέση τους σε επιλογές ανάλυσης και anti-aliasing. Σε κάθε συσκευή δείχνουμε μόνο τις ρυθμίσεις που κάνουν πραγματικά κάτι εκεί.

30 γλώσσες και ένα περιβάλλον μετρημένο ανά γλώσσα

Το παιχνίδι και οι ιστότοποί μας στοχεύουν σε 30 γλώσσες. Η κρυφή δυσκολία ενός πολύγλωσσου περιβάλλοντος είναι το μήκος του κειμένου: η ίδια ετικέτα κουμπιού μπορεί να είναι σύντομη σε μια γλώσσα και διπλάσια σε μια άλλη. Το πλάτος των καρτελών στο παράθυρο ρυθμίσεων το υπολογίζουμε από το πραγματικό πλάτος κάθε ετικέτας στη συγκεκριμένη γλώσσα, αντί να τους δίνουμε ίσα μερίδια· όταν αλλάζει η γλώσσα, η διάταξη υπολογίζεται ξανά. Στον επιλογέα γλώσσας, κάθε γλώσσα γράφεται με το δικό της όνομα.

Μετάφραση συνομιλίας στους δικούς μας διακομιστές

Για να μπορούν να συνεννοούνται στον ίδιο κόσμο παίκτες από διαφορετικές χώρες, τα μηνύματα της συνομιλίας μεταφράζονται στη γλώσσα του αναγνώστη. Όταν χτίζαμε αυτό το σύστημα είχαμε δύο αρχές:

  1. Τα μηνύματα δεν φεύγουν από τους διακομιστές μας. Η μετάφραση γίνεται στους δικούς μας διακομιστές από ένα τοπικό μοντέλο που δουλεύει μόνο με CPU· δεν χρησιμοποιείται κανένα εξωτερικό API μετάφρασης.
  2. Διατήρηση της γλώσσας του παιχνιδιού. Η συνομιλία ενός MMORPG είναι γεμάτη συντομογραφίες, όρους του παιχνιδιού και emoji. Χρησιμοποιούμε ένα γλωσσάρι ειδικό για το παιχνίδι και προστατεύουμε χωριστά τα emoji, ώστε να μη χάνονται στη μετάφραση.

Τι ακολουθεί

Η δουλειά συνεχίζεται στις επιδόσεις στα κινητά και στις υπόλοιπες πλατφόρμες στις οποίες στοχεύουμε. Για την πλήρη λίστα του χειρισμού από την πλευρά του παίκτη, ρίξτε μια ματιά στον οδηγό cross-platform παιχνιδιού σε PC και κινητό στον ιστότοπο του παιχνιδιού. Για να γνωρίσετε το στούντιό μας, διαβάστε το «Ποια είναι η Astronaut Entertainment;».

Κοινοποίηση:
Διαθέσιμο και σε29