Η σκέψη πίσω από το Glinaur, αντλημένη από τα δικά έγγραφα σχεδιασμού του προγραμματιστή. Ό,τι έχει αποφασιστεί λέγεται αποφασισμένο· τίποτα εδώ δεν λέει πότε.
Γράφτηκε 6 Οκτωβρίου 2026
Αποθηκεύοντας τον κόσμο, πιο γρήγορα
Ο διακομιστής τρέχει τον κόσμο σε κύκλους (ticks), έναν ανά δευτερόλεπτο. Κάθε τριακοστό κύκλο αποθηκεύει την κατάσταση κάθε συνδεδεμένου χαρακτήρα: θέση, υγεία, μάνα, εμπειρία, δεξιότητες, τον εξερευνημένο χάρτη, ό,τι έχει ανακαλυφθεί, ενεργά αποτελέσματα και άλλα. Αυτή η αποθήκευση λέγεται «flush».
Ως τώρα το flush έστελνε μία εντολή βάσης δεδομένων ανά χαρακτήρα. Με 300 δοκιμαστικούς χαρακτήρες συνδεδεμένους, ο κύκλος που τους αποθήκευε χρησιμοποιούσε περίπου το μισό από το δευτερόλεπτό του.
Τώρα όλες οι γραμμές πηγαίνουν μαζί, έως χίλιοι χαρακτήρες ανά εντολή. Μια δεύτερη αλλαγή βάζει ό,τι πρέπει να αποθηκευτεί πριν ενημερωθεί οποιοσδήποτε γι' αυτό (χρυσός, λάφυρα, θάνατοι, ανεβάσματα επιπέδου) σε μία συναλλαγή βάσης δεδομένων ανά κύκλο: αποθηκεύονται όλα, ή τίποτα.
Έχει σημασία γιατί ο στόχος του σχεδιασμού είναι περίπου χίλιοι παίκτες ταυτόχρονα σε έναν αδιαίρετο κόσμο, και αυτός ο στόχος κλίμακας είναι ο κίνδυνος που κατευθύνει την αρχιτεκτονική πιο έντονα από κάθε άλλον.
Τα νούμερα παρακάτω συγκρίνουν το πριν και το μετά στο ίδιο μηχάνημα, σε μια μέτρηση επιδόσεων· δεν λένε τι θα δει ένας ζωντανός διακομιστής. Η παράλληλη αποστολή των ενημερώσεων κάθε κύκλου στους παίκτες δεν έχει γίνει ακόμη.
- Αποθήκευση 300 χαρακτήρων: 489 ms και 300 εντολές πριν, 69 ms και μία εντολή μετά.
- Αποθήκευση 3.000 χαρακτήρων: 4.917 ms πριν, 550 ms μετά.
- Φθορά σε 300 αντικείμενα: 387 ms πριν, 6,5 ms μετά.
- Ένας κύκλος με 100 θανάτους: 245 ms και 209 εντολές πριν, 54 ms και 11 εντολές μετά.
Γράφτηκε 4 Οκτωβρίου 2026
Ένα μυστήριο, όχι ένας πόλεμος
Ο κόσμος έχει πλέον μια υπόθεση. Ήταν μία ήπειρος, μόνη· ύστερα έφτασαν άλλες ήπειροι και ενώθηκαν μαζί της, η καθεμιά μια ολόκληρη μυθολογία. Από τότε ο κόσμος είναι εκτός ισορροπίας: ολόκληρος ο κόσμος, όχι μόνο η μαγεία του. Όλα πέφτουν σε αταξία όταν ξαφνικά εμφανίζονται ολόκληρες ήπειροι.
Οι νεοφερμένοι δεν επιτίθενται. Αυτό είναι το νόημα: η ιστορία είναι ένα μυστήριο προς διερεύνηση, όχι ένας πόλεμος προς νίκη. Γιατί είναι εδώ, τι συνέβη, είναι εισβολή; Κάτι στην τάξη του κόσμου έχει μετατοπιστεί, και ό,τι ήταν γνωστό πρέπει να γραφτεί από την αρχή.
Οι μυθολογίες είναι ένα στρώμα του παιχνιδιού, όχι το κέντρο του. Προορίζονται επίσης να διδάσκουν: τα ονόματα των περιοχών, οι άνθρωποι που δίνουν αποστολές, τα κείμενα των αποστολών και οι εικόνες των όντων πρέπει να δείχνουν πώς είναι χτισμένη μια μυθολογία. Η σκανδιναβική έρχεται πρώτη, βόρεια της πρώτης πόλης.
Ο όρκος που δίνει κάθε χαρακτήρας αφορά το έργο, όχι την υπακοή. Το πώς ένας χαρακτήρας αντιμετωπίζει την ανισορροπία είναι δικό του ζήτημα. Εκεί ακριβώς βρίσκει και η μάχη παίκτη εναντίον παίκτη το νόημά της: οι στάσεις είναι διαφορετικές απαντήσεις στον ίδιο όρκο.
Γράφτηκε 3 Οκτωβρίου 2026
Γιατί η εξέλιξη είναι αργή
Το Glinaur προορίζεται να παίζεται επί χρόνια: εκατοντάδες επίπεδα, μακριές αλυσίδες σχολών, εξοπλισμός που κλιμακώνεται ψηλά. Ο αργός ρυθμός είναι αποφασισμένος και σκόπιμος.
Υπάρχουν δύο λόγοι. Ένας μακρύς δρόμος είναι αυτό που κρατά έναν ζωντανό πληθυσμό συνδεδεμένο· ο σχεδιασμός είναι διαστασιολογημένος για 400 έως 600 παίκτες όλο το εικοσιτετράωρο. Και το βάθος συστημάτων που συνεχίζει να κλιμακώνεται είναι το μόνο είδος περιεχομένου που μπορεί να αντέξει να φτιάξει ένας προγραμματιστής.
Το χάσμα ανάμεσα σε νεοφερμένους και βετεράνους προορίζεται να κλείσει με μηχανισμούς (καθοδήγηση, ίσως έναν τρόπο να φτάσεις τους άλλους), όχι μικραίνοντας τον δρόμο. Κανένα από τα δύο δεν είναι υλοποιημένο, και η μορφή τους είναι ακόμη ανοιχτή.
Γράφτηκε 3 Οκτωβρίου 2026
Μηχανές πριν το περιεχόμενο
Το παιχνίδι χτίζεται πρώτα με τη μηχανή. Το περιεχόμενο και οι αριθμοί ισορροπίας είναι δεδομένα, που επεξεργάζονται σε πάνελ, ποτέ κώδικας: ένα νέο τέρας, κατάστημα, σχολή ή περιοχή δεν χρειάζεται προγραμματισμό.
Ένας μηχανισμός αποδεικνύεται μία φορά. Μία σιδερένια φλέβα αποδεικνύει την εξόρυξη· περισσότερα μέταλλα είναι απλώς περισσότερες γραμμές δεδομένων. Γι' αυτό ο κόσμος φαίνεται μικρός σήμερα: αυτό που βλέπεις υποτιμά όσα μπορούν να σηκώσουν οι μηχανές.
Γι' αυτό επίσης σχεδόν ό,τι βλέπεις (ονόματα, αντικείμενα, τέρατα, τιμές και κάθε αριθμός) είναι προσωρινό. Το περιεχόμενο και η ισορροπία έρχονται στα δικά τους περάσματα, όταν υπάρξουν τα συστήματα.
Γράφτηκε 3 Οκτωβρίου 2026
Χωρίς ημερομηνίες, μόνο εξαρτήσεις
Δεν θα βρεις ημερομηνία για τίποτα σε αυτόν τον ιστότοπο. Η δουλειά ταξινομείται με βάση το τι εξαρτάται από τι (τι πρέπει να υπάρχει πριν χτιστεί το επόμενο), ποτέ με ημερολόγιο ή επείγον.
Ο σχεδιασμός είναι διαφορετικός: είναι πάντα ανοιχτός. Οποιοδήποτε ερώτημα σχεδιασμού μπορεί να λυθεί οποιαδήποτε στιγμή· μόνο το χτίσιμο έχει σειρά. Γι' αυτό οι προτάσεις είναι χρήσιμες σε κάθε στάδιο.
Γράφτηκε 3 Οκτωβρίου 2026
Οι κίνδυνοι, ειλικρινά
Τα έγγραφα σχεδιασμού κατονομάζουν τους δικούς τους κινδύνους:
- Ο στόχος κλίμακας (περίπου χίλιοι παίκτες ταυτόχρονα σε έναν αδιαίρετο κόσμο) κατευθύνει την αρχιτεκτονική, και πρέπει να δοκιμαστεί υπό πίεση νωρίς.
- Ένας κόσμος που αλλάζει και θυμάται: οικόπεδα, κτίρια, απόθεμα καταστημάτων και πτώματα στο έδαφος παραμένουν όλα.
- Τα οικόπεδα, οι επιδρομές και ο έλεγχος πόλης είναι η μεγαλύτερη νέα επιφάνεια σχεδιασμού, και ο μεγαλύτερος κίνδυνος για το εύρος ενός προγραμματιστή.
- Η οικονομία χρειάζεται συνεχή ρύθμιση, και μέτρηση ενσωματωμένη στο παιχνίδι.
- Η παραγωγή περιεχομένου χρειάζεται εργαλεία, κάτι που πλέον απαντάται σε μεγάλο βαθμό από το πάνελ επεξεργασίας.
- Ο σχεδιασμός εξαρτάται από τον πληθυσμό του: κάτω από περίπου εκατό παίκτες συνδεδεμένους, οι βασικοί μηχανισμοί χάνουν το νόημά τους. Η ζήτηση NPC με δυναμικές τιμές, αποφασισμένη αλλά όχι υλοποιημένη, προορίζεται να το μαλακώσει.
- Μια ζωντανή προσομοίωση NPC είναι μια μεγάλη και αυξανόμενη επιφάνεια.
