Τι μηχανή 2D παιχνιδιών θα χρησιμοποιήσετε για το επόμενο παιχνίδι σας

Πριν από λίγες εβδομάδες, δημοσίευσα σχετικά με την εμπειρία μου προσπαθώντας να φτιάξω ένα πρωτότυπο σε μια σειρά διαφορετικών μηχανών / πλαισίων παιχνιδιών 2D για να μάθω τι τους κάνει να σημειώνουν.

Εάν ψωνίζετε για έναν κινητήρα για το επόμενο 2D παιχνίδι σας, αυτό το άρθρο θα παρέχει ορισμένα πράγματα που πρέπει να λάβετε υπόψη σας, τα οποία μπορεί να σας βοηθήσουν στη διαδικασία διάκρισης.

Σημειώστε ότι δεν προσπαθώ να καλύψω κάθε 2D μηχανή παιχνιδιών εκεί έξω. ούτε τοποθετώ τον ένα κινητήρα ή το πλαίσιο πάνω από έναν άλλο. Αυτές οι προτάσεις προέρχονται από την προσωπική μου εμπειρία με τη χρήση διαφορετικών μηχανών και πλαισίων για πρωτότυπα.

Και αν προτιμάτε να παρακολουθείτε αντί να διαβάζετε, έχω δημιουργήσει μια έκδοση βίντεο αυτής της ανάρτησης (παρακολούθηση 26 λεπτών):

Αντιδρώ

Με την πρώτη ματιά, ίσως σκεφτόσασταν, "Το React είναι ένα πλαίσιο διεπαφής για τη δημιουργία διαδραστικών ιστότοπων. Δεν είναι μηχανή παιχνιδιών!" Και θα ήταν σωστά ως επί το πλείστον.

Αντιδρούν δεν παρέχει εγγενή υποστήριξη για βασικά ανάπτυξης παιχνιδιών, όπως, για παράδειγμα, 2D φυσική, αλλά κάνει κράτους λαβή εξαιρετικά καλά. Εάν είστε ήδη προγραμματιστής JavaScript και θέλετε να συνδυάσετε το React με κάτι σαν boardgame.io για να δημιουργήσετε ένα απλό 2D παιχνίδι, θα μπορούσατε ενδεχομένως να δημιουργήσετε ένα πρωτότυπο και να τρέξετε αρκετά γρήγορα.

Για όλους τους άλλους τύπους παιχνιδιών 2D, θα θελήσετε να κοιτάξετε αλλού.

Ενότητα

Η Unity έχει γίνει πανταχού παρούσα στους χώρους ανάπτυξης παιχνιδιών 2D και 3D. Θα το τοποθέτησα ως μια εξαιρετική μηχανή παιχνιδιών 3D και μια σέρβις 2D.

Ο επεξεργαστής Unity είναι αρκετά περίπλοκος, με πολλά ένθετα μενού που χρειάζονται λίγο χρόνο για να τυλίξετε το κεφάλι σας (δείτε αυτό το άρθρο για μια περιήγηση στις 2D δυνατότητές του). Εάν δεν έχετε ήδη φόντο στο C #, το οποίο το Unity χρησιμοποιεί για δέσμες ενεργειών, θα θελήσετε να το βελτιώσετε πριν μάθετε το Unity, καθώς κάτι τέτοιο θα διευκολύνει τη συνολική καμπύλη μάθησης.

Η Unity κάνει επίσης πολλά πράγματα με τον «σκληρό τρόπο» όσον αφορά την ανάπτυξη παιχνιδιών 2D, η οποία δεν αισθάνεται εγγενής σε σύγκριση με άλλες μηχανές παιχνιδιών. Η δημιουργία ενός κόσμου παιχνιδιών 2D στο Unity, για παράδειγμα, μοιάζει σαν να ξεκινάτε ένα αεροπλάνο 2D σε έναν μεγάλο χώρο 3D και πράγματα όπως η κινούμενη εικόνα και η τελειότητα των pixel είναι πιο αδέξια από ό, τι σε άλλους 2D κινητήρες.

Μπορείτε να κάνετε οποιονδήποτε τύπο παιχνιδιού 2D με το Unity εάν ​​είστε πρόθυμοι να παλέψετε με τον επεξεργαστή και τις υποκείμενες τρισδιάστατες ιδιοσυγκρασίες. Έχει εκτεταμένη υποστήριξη από την κοινότητα και θα διαπιστώσετε ότι η συνεργασία με το C # είναι απόλαυση. Επιπλέον, το Unity's Asset Store διαθέτει όλα τα είδη τέχνης και προτύπων για λήψη και αγορά, αλλά ο αγοραστής πρέπει να προσέχει: μπορεί να ξοδέψετε όσο χρόνο ξαναγράφετε τον κωδικό κάποιου άλλου για να ταιριάζει στο έργο σας, όπως θα ξεκινήσατε από το μηδέν.

Η ενότητα είναι γενικά δωρεάν, αλλά η τιμολόγηση γίνεται πιο περίπλοκη αν θέλετε να χρησιμοποιήσετε ό , τι έχει να προσφέρει (ανατρέξτε σε αυτήν τη σελίδα για περισσότερες λεπτομέρειες)

Γκοντ

Το Godot είναι ένας δωρεάν και ανοιχτής πηγής 2D και 3D μηχανισμός παιχνιδιών που υποστηρίζει GDScript, C #, ακόμη και C ++ και Python εάν είστε πρόθυμοι να κάνετε πολλά από τα βαριά ανύψωση για να τα κάνετε να λειτουργήσουν. Υποστηρίζει ροή εργασίας σε στιλ κόμβου και είναι εξαιρετικά ελαφριά.

Εάν είστε) πρόθυμοι να επενδύσετε στην εκμάθηση GDScript ή β) ήδη πολύ καλός σε C #, C ++ ή Python, πιθανότατα θα είστε εντάξει στο Godot, ειδικά αν σας αρέσει να εργάζεστε με λογισμικό ανοιχτού κώδικα. Εάν όχι, μπορεί να απογοητευτείτε εύκολα, καθώς δεν υπάρχει σχεδόν τόσο υποστήριξη για C # ή άλλες γλώσσες όσο υπάρχει για το GDScript. Ωστόσο, το Godot είναι ένας ευχάριστος κινητήρας με τον οποίο μπορεί να λειτουργήσει και παρόλο που μπορεί να μην έχει την ίδια γενεαλογία και υποστήριξη κοινότητας με κάτι σαν το Unity, αν είστε αυτο-εκκινητής μπορεί να νιώσετε σαν στο σπίτι σας.

Κατασκευή 3

Εάν θέλετε απλώς να δημιουργήσετε παιχνίδια 2D και δεν σας ενδιαφέρει η γλώσσα προγραμματισμού ή τα τέλη συνδρομής, θα βρείτε το Construct 3 για να έχετε όλα όσα χρειάζεστε για να ξεκινήσετε και να εκτελείτε μια επίδειξη και γρήγορα. Όλη η εργασία σας θα γίνει σε ένα πρόγραμμα περιήγησης, χρησιμοποιώντας εργαλεία μεταφοράς και απόθεσης (και προσαρμοσμένη υποστήριξη JavaScript εάν το χρειάζεστε).

Ωστόσο, μην περιμένετε να έχετε μια ουσιαστικά παραγωγική εμπειρία με το Construct 3, ωστόσο. Υπάρχει μια απλή επίδειξη που μπορείτε να δοκιμάσετε, αλλά η σημαντική ανάπτυξη παιχνιδιών με το Construct 3 είναι κλειδωμένη πίσω από ένα paywall και μια συνδρομή σε αυτό.

Game Maker Studio 2

Το Game Maker Studio 2 έχει ένα φιλικό προς το χρήστη πρόγραμμα επεξεργασίας που υποστηρίζει μια ιδιόκτητη γλώσσα που ονομάζεται, κατάλληλα, Game Maker Language (GML), μαζί με οπτικό σενάριο. Διαθέτει επίσης πολλά μαθήματα, μεγάλη υποστήριξη κοινότητας και ένα κατάστημα περιουσιακών στοιχείων (το οποίο συνοδεύεται από τις ίδιες προειδοποιήσεις με τα Unity's, παραπάνω).

Η γενική ροή εργασίας του Game Maker Studio 2 και η πραγματοποίηση πραγμάτων όπως το animation sprite, η δημιουργία του κόσμου του παιχνιδιού σας και ούτω καθεξής, είναι απλή και διαισθητική. Το GML μπορεί να μην είναι το φλιτζάνι του τσαγιού σας εάν προέρχεστε από μια άλλη, ευρύτερα χρησιμοποιούμενη γλώσσα προγραμματισμού και δεν θα το συνιστούσα ως την πρώτη σας εισαγωγή για να μάθετε πώς να κωδικοποιείτε. Χρησιμοποιεί μερικές από τις βασικές έννοιες του προγραμματισμού, αλλά όχι σημαντικές λεπτομέρειες, όπως κωδικοποίηση βέλτιστων πρακτικών ή πώς να γράψετε καθαρό κώδικα.

Επιπλέον, μπορείτε να δοκιμάσετε το Game Maker Studio 2 με μια δωρεάν δοκιμαστική περίοδο 30 ημερών, αλλά θα πρέπει να πληρώσετε για να συνεχίσετε να το χρησιμοποιείτε μετά από αυτό το χρονικό διάστημα.

Φάση 3

Αν θέλετε να κωδικοποιήσετε τα πάντα και να μάθετε πολλά για το οικοσύστημα JavaScript ενώ το κάνετε, ρίξτε μια ματιά στο Phaser 3 (ή περιμένετε το Phaser 4, που βρίσκεται στο δρόμο).

Το Phaser είναι ένα ελαφρύ και ισχυρό πλαίσιο JavaScript για τη δημιουργία 2D παιχνιδιών. Ενώ το Phaser 2 ήταν εξαιρετικά καλά τεκμηριωμένο και είχε εξαιρετική κοινοτική υποστήριξη, το Phaser 3 είναι ακριβώς το αντίθετο. Υπάρχει καλή επίσημη τεκμηρίωση και πολλά παραδείγματα (χωρίς πολλά περιβάλλοντα γύρω τους, πρέπει να ειπωθεί), και μια φοβερά μικρή ποσότητα σεμιναρίων.

Περιμένετε να φτιάξετε τα πάντα μόνοι σας, αλλά αν ψάχνετε για υποστήριξη ES6 ή TypeScript ή αν θέλετε πραγματικά να βελτιώσετε τις δεξιότητές σας ως προγραμματιστής JavaScript, θα είστε σε θέση να προχωρήσετε πολύ με το Phaser 3.

Για λόγους δικαιοσύνης, πρέπει να αναφέρω δύο άλλες μηχανές παιχνιδιών 2D που μου έχουν προταθεί από τότε που άρχισα να γράφω σχετικά με το θέμα: LÖVE 2D, το οποίο χρησιμοποιεί το Lua και το MonoGame, το οποίο υποστηρίζει το C #. Δεν έχω χρησιμοποιήσει κανένα από αυτά (ή άλλα, όπως το PyGame), και δεν μπορώ να μιλήσω για τη χρησιμότητά τους, αλλά μπορεί να αξίζει τον κόπο.

Επιτρέψτε μου να ξέρω ποια μηχανή 2D παιχνιδιών καταλήγετε να χρησιμοποιείτε και γιατί!

Εάν σας άρεσε αυτό το άρθρο, σκεφτείτε το ενδεχόμενο να δείτε τα παιχνίδια και τα βιβλία μου, να εγγραφείτε στο κανάλι μου στο YouTube ή να συμμετάσχετε στο Entromancy Discord .

MS Farzan, Ph.D. έχει γράψει και εργαστεί για εταιρείες υψηλού προφίλ βιντεοπαιχνιδιών και ιστότοπους σύνταξης, όπως Electronic Arts, Perfect World Entertainment, Modus Games και MMORPG.com και έχει υπηρετήσει ως Community Manager για παιχνίδια όπως Dungeons & Dragons Neverwinter και Mass Effect: Andromeda . Είναι ο Creative Director και επικεφαλής σχεδιαστής παιχνιδιών του Entromancy: A Cyberpunk Fantasy RPG και συγγραφέας του The Nightpath Trilogy . Βρείτε MS Farzan στο Twitter @sominator.