Godot

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Godot Engine
Στιγμιότυπο της Godot έκδοσης 3.4.
Γενικά
ΔημιουργοίJuan Linietsky, Ariel Manzur
Ημερ. Δημιουργίας2007
Είδοςμηχανή παιχνιδιού, ελεύθερο και ανοιχτού κώδικα λογισμικό, εφαρμογή
Διανομή
Έκδοση4.2.2 (18 Απριλίου 2024)[1]
Δοκιμαστική έκδοση4.2 beta 6 (13 Νοέμβριος 2023)[2]
ΛειτουργικάGNU/Linux, macOS, Microsoft Windows, BSD, iOS, Android, HTML5, Xbox, Windows Phone
ΑρχιτεκτονικήMicrosoft Windows, macOS, Linux
Διαθέσιμο σε34 γλώσσες (και στα ελληνικά)
Ανάπτυξη
Υπευθ. ανάπτυξηςRémi Verschelde, Juan Linietsky
Γραμμένο σεC++, C
Άδεια χρήσηςΆδεια MIT
Σύνδεσμοι
Επίσημος ιστότοπος
https://godotengine.org/
Αποθετήριο κώδικα
https://github.com/godotengine/godot

Το Godot είναι μια μηχανή παιχνιδιών για πολλαπλές πλατφόρμες, δωρεάν και ανοιχτού κώδικα που κυκλοφορεί με άδεια MIT. Αναπτύχθηκε αρχικά από τους Αργεντινούς προγραμματιστές λογισμικού Juan Linietsky και Ariel Manzur[3] για αρκετές εταιρείες στη Λατινική Αμερική πριν από τη δημόσια κυκλοφορία του.[4] Το περιβάλλον ανάπτυξης εκτελείται σε πολλά λειτουργικά συστήματα, όπως Linux, BSD, macOS και Microsoft Windows. Έχει σχεδιαστεί για τη δημιουργία παιχνιδιών 2D και 3D που στοχεύουν σε υπολογιστές, κινητές συσκευές και πλατφόρμες ιστού. Μπορεί επίσης να χρησιμοποιηθεί για τη δημιουργία λογισμικού μη παιχνιδιών, συμπεριλαμβανομένων των συντακτών.

Χαρακτηριστικά[Επεξεργασία | επεξεργασία κώδικα]

Ο Godot στοχεύει να προσφέρει ένα πλήρως ενσωματωμένο περιβάλλον ανάπτυξης παιχνιδιών. Επιτρέπει στους προγραμματιστές να δημιουργήσουν ένα παιχνίδι, χωρίς να χρειάζονται άλλα εργαλεία πέρα από αυτά που χρησιμοποιούνται για τη δημιουργία περιεχομένου (οπτικά στοιχεία, μουσική κ.λπ. ). Η αρχιτεκτονική του κινητήρα είναι χτισμένη γύρω από την ιδέα ενός δέντρου «κόμβων». Οι κόμβοι είναι οργανωμένοι μέσα σε "σκηνές", οι οποίες είναι επαναχρησιμοποιήσιμες, παραδειγματικές, κληρονομούμενες και ένθετες ομάδες κόμβων. Όλοι οι πόροι του παιχνιδιού, συμπεριλαμβανομένων των σεναρίων και των στοιχείων γραφικών, αποθηκεύονται ως μέρος του συστήματος αρχείων του υπολογιστή (και όχι σε μια βάση δεδομένων ). Αυτή η λύση αποθήκευσης προορίζεται να διευκολύνει τη συνεργασία μεταξύ των ομάδων ανάπτυξης παιχνιδιών που χρησιμοποιούν συστήματα ελέγχου εκδόσεων λογισμικού.[5]

Σενάριο[Επεξεργασία | επεξεργασία κώδικα]

Οπτικό σενάριο.

Ο Godot υποστηρίζει μια ποικιλία γλωσσών προγραμματισμού για τη δημιουργία παιχνιδιών, συμπεριλαμβανομένων των ενσωματωμένων γλωσσών GDScript, C++[6] και C#. Επιπλέον, ο κινητήρας περιλαμβάνει GDNative, μια δυνατότητα δημιουργίας δεσμών με άλλες γλώσσες. Οι επίσημα υποστηριζόμενες γλώσσες GDNative περιλαμβάνουν τη C και τη C++.[7] Οι γλώσσες που υποστηρίζονται από την κοινότητα περιλαμβάνουν τις Rust, Nim, JavaScript, Haskell, Clojure, Swift και D. Υποστηρίζεται επίσης η οπτική κωδικοποίηση, μέσω της ενσωματωμένης γλώσσας VisualScript, που έχει σχεδιαστεί για να είναι οπτικό ισοδύναμο με το GDScript.[εκκρεμεί παραπομπή]

Το πρόγραμμα επεξεργασίας Godot περιλαμβάνει ένα πρόγραμμα επεξεργασίας κειμένου με αυτόματη εσοχή, επισήμανση σύνταξης και συμπλήρωση κώδικα . Διαθέτει επίσης πρόγραμμα εντοπισμού σφαλμάτων με δυνατότητα ορισμού σημείων διακοπής και βημάτων προγράμματος [εκκρεμεί παραπομπή]

GDScript[Επεξεργασία | επεξεργασία κώδικα]

Στιγμιότυπο οθόνης επεξεργασίας ενός αρχείου GDScript με χρήση του ενσωματωμένου προγράμματος επεξεργασίας σεναρίων του Godot 3.4

Ο Godot έχει τη δική του ενσωματωμένη γλώσσα δέσμης ενεργειών, την GDScript,[8] μια υψηλού επιπέδου, δυναμικά πληκτρολογημένη γλώσσα προγραμματισμού που είναι συντακτικά παρόμοια με την Python. Σε αντίθεση με την Python, το GDScript είναι βελτιστοποιημένο για την αρχιτεκτονική που βασίζεται στη σκηνή του Godot και μπορεί να καθορίσει αυστηρή πληκτρολόγηση μεταβλητών. Οι προγραμματιστές του Godot έχουν δηλώσει ότι πολλές εναλλακτικές γλώσσες δέσμης ενεργειών τρίτων όπως οι Lua, Python και Squirrel δοκιμάστηκαν πριν αποφασίσουν ότι η χρήση μιας προσαρμοσμένης γλώσσας επέτρεπε ανώτερη βελτιστοποίηση και ενσωμάτωση επεξεργαστή. Στην έκδοση 4.0, μια νέα δυνατότητα που ονομάζεται πίνακας Typed εφαρμόστηκε[9] στο GDScript. Αυτό επιτρέπει στους χρήστες να αλλάζουν εύκολα έναν κανονικό πίνακα σε πληκτρολογημένο και αντίστροφα χωρίς να αλλάζουν πολύ κώδικα.

Ένα απλό πρόγραμμα "Hello world" μπορεί να γραφτεί ως εξής:

func _ready():
	print("Hello World")

Πιο πολύπλοκα προγράμματα, όπως αυτό που δημιουργεί μια ακολουθία Fibonacci, είναι επίσης δυνατά:

func _ready():
	var nterms = 5
	print("Fibonacci sequence:")
	for i in range(nterms):
		print(fibonacci(i))

func fibonacci(n):
  if n <= 1:
	  return n
  else:
	  return fibonacci(n - 1) + fibonacci(n - 2)

Απόδοση[Επεξεργασία | επεξεργασία κώδικα]

Η μηχανή γραφικών του Godot χρησιμοποιεί OpenGL ES 3.0 για όλες τις υποστηριζόμενες πλατφόρμες. Διαφορετικά, χρησιμοποιείται το OpenGL ES 2.0. Αναπτύσσεται μελλοντική υποστήριξη για το Vulkan, η οποία περιλαμβάνει επίσης τη δυνατότητα υποστήριξης για Metal χρησιμοποιώντας MoltenVK.[εκκρεμεί παραπομπή] Ο κινητήρας υποστηρίζει κανονική χαρτογράφηση, ιδιομορφία, δυναμικές σκιές με χρήση σκιωδών χαρτών, ψητό και δυναμικό παγκόσμιο φωτισμό και εφέ μετα-επεξεργασίας πλήρους οθόνης όπως άνθηση, DOF, HDR και διόρθωση γάμμα. Μια απλοποιημένη γλώσσα shader, παρόμοια με την GLSL, έχει επίσης ενσωματωθεί. Οι σκίαστρες μπορούν να χρησιμοποιηθούν για υλικά και μετα-επεξεργασία. Εναλλακτικά, μπορούν να δημιουργηθούν με χειρισμό κόμβων σε ένα οπτικό πρόγραμμα επεξεργασίας.

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

Αλλα χαρακτηριστικά[Επεξεργασία | επεξεργασία κώδικα]

Ο Godot περιέχει ένα σύστημα κινούμενων εικόνων με GUI για σκελετικά κινούμενα σχέδια, ανάμειξη, δέντρα κινούμενων σχεδίων, μορφοποίηση και περικοπές σε πραγματικό χρόνο. Σχεδόν κάθε μεταβλητή που ορίζεται ή δημιουργείται σε μια οντότητα παιχνιδιού μπορεί να κινηθεί. Ο κινητήρας χρησιμοποιεί το Bullet για τρισδιάστατη προσομοίωση φυσικής.

Πρόσθετα χαρακτηριστικά περιλαμβάνουν:

Παραπομπές[Επεξεργασία | επεξεργασία κώδικα]

  1. «Maintenance release: Godot 4.2.2». 
  2. «Dev snapshot: Godot 4.2 beta 6». 
  3. «Historia de Godot». Headsem (στα Αγγλικά). 15 Σεπτεμβρίου 2017. Ανακτήθηκε στις 22 Αυγούστου 2022. 
  4. Linietsky, Juan (4 Μαρτίου 2016). «Godot 2.0: Talking with the Creator». 80.lv (στα Αγγλικά). Ανακτήθηκε στις 22 Αυγούστου 2022. 
  5. «File system». Getting started (στα Αγγλικά). Godot Docs. Ανακτήθηκε στις 22 Αυγούστου 2022. 
  6. «Godot With C++» (στα Αγγλικά). 
  7. «GDNative C++ example» (στα Αγγλικά). Αρχειοθετήθηκε από το πρωτότυπο στις 22 Αυγούστου 2022. Ανακτήθηκε στις 22 Αυγούστου 2022. 
  8. «GDScript basics: History». Getting started (στα Αγγλικά). Godot Docs. Ανακτήθηκε στις 22 Αυγούστου 2022. 
  9. «TypedArrays» (στα Αγγλικά). Ανακτήθηκε στις 22 Αυγούστου 2022. 

Εξωτερικοί σύνδεσμοι[Επεξεργασία | επεξεργασία κώδικα]