Γεια σε όλους! 👊
Είμαι Michal, Full-Stack Dev από το 2016, ακόμα 9-7.
Πέρυσι, ήμουν εντελώς βαρεμένος και κατάθλιψη από την οικοδόμηση μιας ακόμη εφαρμογής επιχειρήσεων, γι ‘αυτό αποφάσισα να οικοδομήσω online παιχνίδια περιστασιακά για να εξισορροπήσω τα πράγματα.
Για έξι μήνες, έχτισα ένα demo ενός MMORPG (Διαβάστε το dev-log), και κατά τη διάρκεια αυτής της περιόδου, λύσαμε πολλά από τα πιο δύσκολα προβλήματα και πρόσθεσα βασικούς μηχανικούς:
– Σύνδεση/εγγραφή μέσω ψευδώνυμου και κωδικού πρόσβασης
– συνομιλία
– Κίνηση χαρακτήρων με διαδρομή
– Μετακίνηση αντικειμένων
– Βασικό σύστημα μάχης
– Βασικό σύστημα εξέλιξης δεξιοτήτων
– Δύο τέρατα με απλό AI
– Πλακάκια χάρτη με διάφορες επιδράσεις στην ταχύτητα κίνησης
– Στοιχεία εδάφους και εμπόδια όπως τα δέντρα και τα βράχια
– Επεξεργαστής χαρτών
Χάρις σε Εκτοξευτήμπορείτε να αναπτύξετε το MMO σας χωρίς να ξοδέψετε εκατοντάδες ώρες χτίζοντας τον κινητήρα και όλα τα δύσκολα πράγματα. Μπορείτε επίσης να τροποποιήσετε ελαφρώς τον διακομιστή και να δημιουργήσετε ένα άλλο online παιχνίδι (όπως και εγώ κάνω όταν δημιουργώ ένα νέο παιχνίδι).
Δημιούργησα το διακομιστή στο Java + Spring Webflux με Netty, καθώς είναι ένα πολύ σταθερό οικοσύστημα με πολλά εργαλεία.
Ο πελάτης του προγράμματος περιήγησης αντιδρά + phaser.
Κατά τη σύνταξη του κώδικα διακομιστή, χρησιμοποίησα σχέδια σχεδιασμού και εξαγωνική αρχιτεκτονική, χάρη στο οποίο το logic layer διαχωρίζεται 100% από το στρώμα δικτύου, ώστε να μπορείτε εύκολα να προσθέσετε RAW TCP για, για παράδειγμα, έναν πελάτη επιφάνειας εργασίας.
Είμαι περίεργος τι σκέφτεστε γι ‘αυτό.
Με εκτίμηση!