7 Γλώσσες ανάπτυξης παιχνιδιών Unity για μάθηση: Ποια είναι η καλύτερη;

7 Γλώσσες ανάπτυξης παιχνιδιών Unity για μάθηση: Ποια είναι η καλύτερη;

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





Μαθαίνοντας πώς να χρησιμοποιείτε το πρόγραμμα Unity θα σας φτάσει μόνο μέχρι τώρα. Ο πραγματικός πυρήνας του παιχνιδιού σας θα είναι ο κώδικας που καθορίζει τη συμπεριφορά του. Το να κατανοήσετε ποια γλώσσα θα μάθετε για την ανάπτυξη παιχνιδιών μπορεί να είναι δύσκολο --- αλλά στην περίπτωση της Unity, είναι απλό.





πώς να αντιγράψετε διευθύνσεις email από το gmail

1. Η καλύτερη επιλογή: C#

Για οποιονδήποτε ξεκινά με την Unity ή για οποιονδήποτε έχει προηγούμενη γνώση αντικειμενοστραφούς προγραμματισμού, η C# είναι η κατάλληλη γλώσσα για να μάθει για την Unity. Στην πραγματικότητα, η C# είναι η μόνη γλώσσα που αξίζει να μάθει κανείς για την πλατφόρμα, και με καλό λόγο.





Η Unity χρησιμοποιεί το Mono, το οποίο είναι μια εφαρμογή πολλαπλών πλατφορμών του πλαισίου .NET της Microsoft. Η C# είναι η κύρια γλώσσα του .NET και όλες οι βιβλιοθήκες της Unity έχουν δημιουργηθεί με χρήση κώδικα C#. Το να πούμε ότι η C# είναι η γλώσσα της Ενότητας δεν θα ήταν υπερβολή. Η Unity κατέστησε σαφές ότι θεωρούν ότι η C# είναι η μόνη γλώσσα για χρήση με τον κινητήρα στο μέλλον.

Αυτά είναι καλά νέα, καθώς η C# είναι μια ισχυρή γλώσσα και εύκολη στην εκμάθηση. Η ενότητα είναι μόνο μία από τις πολλές καλοί λόγοι για να μάθεις C# , και αν είστε αρχάριος, μπορεί ακόμη και να το βρείτε πιο προσβάσιμο. Η ανάπτυξη παιχνιδιών δίνει δομή στη μάθηση και οι στόχοι που βασίζονται σε έργα οδηγούν σε μεγαλύτερη κατανόηση νέων θεμάτων.



Με την εισαγωγή του C# σύστημα εργασίας και ECS , Η Unity πιέζει ό, τι μπορεί να γίνει με το C# όλο και περισσότερο, και ο νέος μεταγλωττιστής Burst το κάνει πιο γρήγορο από ποτέ.

2. Η τρέχουσα εναλλακτική λύση: JavaScript

Η Unity υποστηρίζει επίσης JavaScript-γνωστή ως UnityScript. Από την κυκλοφορία του, το JavaScript βρίσκεται δίπλα-δίπλα με το C# ως μια πλήρως αναπτυγμένη γλώσσα ανάπτυξης Unity. Η αναφορά δέσμης ενεργειών Unity είχε παράδειγμα κώδικα τόσο στη C# όσο και στην JavaScript για τα περισσότερα στοιχεία της βιβλιοθήκης.





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

Ενώ το UnityScript μοιάζει με το JavaScript --- δεν είναι. Το UnityScript έχει κλάσεις, κάτι που δεν έχει το JavaScript. Οι δυνατότητες της JavaScript, όπως η δήλωση πολλαπλών μεταβλητών και τα προαιρετικά ημι-άνω και κάτω τελεία, δεν είναι διαθέσιμα στο UnityScript.





Crucialσως το κυριότερο, η αναζήτηση βοήθειας JavaScript σε έργα Unity πάντα προκαλούσε σύγχυση καθώς οι περισσότεροι άνθρωποι την ανέφεραν ως JavaScript και όχι ως UnityScript. Τα αποτελέσματα τόσο για το σχεδιασμό ιστοσελίδων όσο και για την ανάπτυξη παιχνιδιών θολώθηκαν μαζί και η διαφορά μεταξύ των γλωσσών αποτέλεσε αντικείμενο διαμάχης για τους καθαρούς προγραμματιστές JavaScript.

Unsσως δεν αποτελεί έκπληξη, η Unity ανακοίνωσε ότι πρόκειται να αποσύρει την υποστήριξη για το UnityScript και τώρα υπάρχει ένα χρονοδιάγραμμα για τον παροπλισμό του Το Μπορείτε ακόμα να χρησιμοποιήσετε JavaScript με Unity, αλλά γνωρίζοντας ότι θα τελειώσει, γιατί θα το κάνατε;

3. The Old Third Choice: Boo

Στις πρώτες μέρες της Unity, υπήρχε η επιλογή χρήσης Boo --- μιας γλώσσας που μοιάζει με Python. Αυτό ίσως δεν προκαλεί έκπληξη ως Rodrigo B. De Oliveira, Ο σχεδιαστής του Boo , εργάστηκε για την Unity. Η γλώσσα είναι συμβατή με .NET και Mono και θα εφαρμοστεί πλήρως με τη μηχανή του παιχνιδιού. Τι πήγε στραβά?

Δεν το χρησιμοποιούσαν αρκετοί άνθρωποι, υποθέτοντας ότι απλώς προσπαθούσε να μιμηθεί τον Python. Με την πάροδο του χρόνου, η Unity διέκοψε την υποστήριξη για το Boo και οι επερχόμενες αλλαγές στο UnityScript θα καταστήσουν άχρηστα όλα τα παλιά σενάρια Boo στην Unity. Κάποιοι μπορεί να το δουν αυτό ως μια χαμένη ευκαιρία, καθώς το Boo ήταν μια μεγάλη προσπάθεια σύνταξης που μοιάζει με Python για τον προγραμματισμό .NET.

Ωστόσο, οι λάτρεις της Python έχουν μια άλλη επιλογή.

4. The Odd Choice: IronPython

Εάν θέλετε να αναπτύξετε παιχνίδια, η Python πιθανότατα δεν είναι η γλώσσα για εσάς, αλλά είναι δυνατό. Στο ιστολόγιο του Microsoft Developer Community, ο Charlie Calvert περιγράφει πώς να εκτελέσετε Python από C# --- αλλά δεν είναι για τους αδύναμους. Σχεδόν δέκα χρόνια αργότερα, το IronPython βρίσκεται ακόμη σε ενεργό ανάπτυξη.

Εν ολίγοις, θα χρειαστεί να κατεβάσετε το Βιβλιοθήκες IronPython από το GitHub και αναφέρετέ τα στο C# έργο σας. Αυτό θα σας επιτρέψει να καλέσετε σενάρια Python από σενάρια C#, όπως θα κάνατε σε οποιαδήποτε άλλη βιβλιοθήκη. Το IronPython επιτρέπει επίσης κλήση .NET βιβλιοθηκών από την Python Το Όσο χρήσιμο κι αν ακούγεται, αφού η Unity βασίζεται στο C# αυτή η λειτουργικότητα δεν βοηθά.

Το IronPython --- και το IronRuby, είναι αδελφό έργο που συνδέει το C# με τη γλώσσα προγραμματισμού Ruby --- είναι φανταστικά έργα, αλλά δεν είναι πρακτικά για χρήση με την Unity.

5. Η ενδιαφέρουσα επιλογή: Lua

Μία από τις καλύτερες εφαρμογές μιας εξωτερικής γλώσσας για την Unity είναι MoonSharp --- διερμηνέας Lua. Αυτό το έργο δεν έχει σχεδιαστεί για να αντικαταστήσει την C# ως γλώσσα, αλλά περισσότερο ως γέφυρα. Η τέλεια περίπτωση χρήσης για το MoonSharp θα ήταν να προσθέσετε με τρόπο ώστε οι παίκτες του παιχνιδιού σας να δημιουργούν mods παιχνιδιού στη γλώσσα Lua.

Θα μπορούσατε επίσης να το χρησιμοποιήσετε για να περιγράψετε αντικείμενα και να σχεδιάσετε επίπεδα ξεχωριστά από τον βασικό κώδικα του παιχνιδιού σας.

Εάν κωδικοποιείτε ήδη σε C# και αναζητάτε έναν ενδιαφέροντα τρόπο διασύνδεσης με τον κώδικά σας, αξίζει να εξεταστεί το MoonSharp. Δεδομένου ότι είναι διαθέσιμο δωρεάν στις Κατάστημα Unity's Asset , μπορείτε να το εισάγετε απευθείας στα έργα σας.

6. Καλύτερη γλώσσα για προσθήκες: C/C ++

Παρά την ισχυρή βιβλιοθήκη Unity και όλα τα διαθέσιμα εργαλεία που παρέχει η C#, μερικές φορές μπορεί να θέλετε τα δικά σας plugins. Οι κύριοι λόγοι για τους οποίους οι άνθρωποι επιλέγουν πρόσθετα περιλαμβάνουν την ταχύτητα ή την πρόσβαση σε μια βάση κώδικα που έχει ήδη γραφτεί σε άλλη γλώσσα. Η ενσωμάτωση αυτών των σεναρίων σε πρόσθετα DLL εξοικονομεί κωδικό αναδιαμόρφωσης και μπορεί να βελτιώσει την απόδοση σε ορισμένες περιπτώσεις.

Στις περισσότερες περιπτώσεις, το C ++ θα είναι η γλώσσα που χρησιμοποιείται για τη δημιουργία προσθηκών, αλλά το C θα λειτουργούσε εξίσου καλά. Εφόσον ο κώδικας ενσωματωθεί σε DLL, μπορεί να τοποθετηθεί στο φάκελο προσθηκών της Unity και να αναφερθεί σε κώδικα. Η πιθανότητα είναι, ωστόσο, εάν είστε ήδη άνετοι στην κωδικοποίηση σε C/C ++, ότι η εκμάθηση C# θα ήταν μια σχετικά απλή εργασία!

πώς να στείλετε μηνύματα κειμένου στο διαδίκτυο

7. Νέα γλώσσα για προσθήκες: Rust

Η σκουριά είναι μια γλώσσα με πολλή φασαρία γύρω της. Οι έμπειροι προγραμματιστές το λατρεύουν για τον απίστευτο έλεγχο που δίνει, αποφεύγοντας τις παγίδες της γραφής σε λιγότερο ασφαλείς γλώσσες όπως η C ++. Το Rust δημιουργήθηκε από τη Mozilla το 2009, ως ένας τρόπος για τους προγραμματιστές να αναπτύξουν γρήγορα λογισμικό υψηλής απόδοσης.

Παρόλο που δεν είναι δυνατή η άμεση εγγραφή Rust in Unity, μπορείτε να έχετε πρόσβαση σε συναρτήσεις και μεθόδους γραμμένες σε Rust από τον κωδικό Unity. Ο Τζιμ Φλέμινγκ περιγράφει λεπτομερώς πώς να το κάνουμε στην ανάρτησή του στο Medium Το

Αν αυτό σας φαίνεται οικείο, είναι γιατί αυτός είναι ένας άλλος τρόπος δημιουργίας εγγενών προσθηκών. Αξιοποιώντας τη δυνατότητα διασύνδεσης του Rust με άλλες γλώσσες, μπορείτε να καλέσετε τις συναρτήσεις Rust απευθείας από τον κώδικα C# χρησιμοποιώντας Unity's DllImport Χαρακτηριστικό. Φυσικά, υπάρχουν πολλά βήματα ενδιάμεσα, και διαβάζοντας τη συνέχεια της δημοσίευσης του Τζιμ συνιστάται η απόκτηση καλής κατανόησης των FFIs (διεπαφές ξένων λειτουργιών)!

Μια απλή επιλογή

Η στάση της Unity απέναντι σε οποιαδήποτε γλώσσα δεν είναι C# είναι σαφής και οι συνεχείς βελτιώσεις της Unity βασίζονται σε αυτήν την ομοψυχία. Συνδυάστε το με τη συνεχή βελτίωση της C# ως γλώσσας από τη Microsoft και η εκμάθηση της ανάπτυξης του παιχνιδιού C# για την Unity είναι κάτι που δεν χρειάζεται. Και φροντίστε να το ελέγξετε Unity Learn για έναν ευκολότερο τρόπο εκμάθησης της ανάπτυξης παιχνιδιών Το

Αυτή όμως δεν είναι η μόνη επιλογή σας, η Unity είναι μόνο ένας κινητήρας και υπάρχουν πολλές επιλογές λογισμικού ανάπτυξης παιχνιδιών να επιλέξεις απο.

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Canon εναντίον Nikon: Ποια μάρκα κάμερας είναι καλύτερη;

Η Canon και η Nikon είναι τα δύο μεγαλύτερα ονόματα στη βιομηχανία κάμερας. Ποια μάρκα προσφέρει όμως την καλύτερη γκάμα φωτογραφικών μηχανών και φακών;

Διαβάστε Επόμενο
Σχετικά θέματα
  • Προγραμματισμός
  • JavaScript
  • Ανάπτυξη παιχνιδιών
  • ντο
  • Ενότητα
Σχετικά με τον Συγγραφέα Ο anαν Μπάκλεϊ(216 δημοσιευμένα άρθρα)

Ο Ian Buckley είναι ανεξάρτητος δημοσιογράφος, μουσικός, ερμηνευτής και παραγωγός βίντεο που ζει στο Βερολίνο της Γερμανίας. Όταν δεν γράφει ή δεν είναι στη σκηνή, ασχολείται με ηλεκτρονικά ή κώδικα DIY με την ελπίδα να γίνει τρελός επιστήμονας.

Περισσότερα από τον Ian Buckley

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή