Godot

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

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

### Σενάριο
σύνδεσμος=//upload.wikimedia.org/wikipedia/commons/thumb/1/11/Godot_VisualScript_Example.png/220px-Godot_VisualScript_Example.png|μικρογραφία| Οπτικό σενάριο.
Ο Godot υποστηρίζει μια ποικιλία γλωσσών προγραμματισμού για τη δημιουργία παιχνιδιών, συμπεριλαμβανομένων των ενσωματωμένων γλωσσών GDScript, C++ και C#. Επιπλέον, ο κινητήρας περιλαμβάνει GDNative, μια δυνατότητα δημιουργίας δεσμών με άλλες γλώσσες. Οι επίσημα υποστηριζόμενες γλώσσες GDNative περιλαμβάνουν τη C και τη C++. Οι γλώσσες που υποστηρίζονται από την κοινότητα περιλαμβάνουν τις Rust, Nim, JavaScript, Haskell, Clojure, Swift και D. Υποστηρίζεται επίσης η οπτική κωδικοποίηση, μέσω της ενσωματωμένης γλώσσας VisualScript, που έχει σχεδιαστεί για να είναι οπτικό ισοδύναμο με το GDScript. 

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

#### GDScript
σύνδεσμος=//upload.wikimedia.org/wikipedia/commons/thumb/0/08/Gdscript3.4.png/306px-Gdscript3.4.png|μικρογραφία|306x306εσ| Στιγμιότυπο οθόνης επεξεργασίας ενός αρχείου GDScript με χρήση του ενσωματωμένου προγράμματος επεξεργασίας σεναρίων του Godot 3.4
Ο Godot έχει τη δική του ενσωματωμένη γλώσσα δέσμης ενεργειών, την GDScript, μια υψηλού επιπέδου, δυναμικά πληκτρολογημένη γλώσσα προγραμματισμού που είναι συντακτικά παρόμοια με την Python. Σε αντίθεση με την Python, το GDScript είναι βελτιστοποιημένο για την αρχιτεκτονική που βασίζεται στη σκηνή του Godot και μπορεί να καθορίσει αυστηρή πληκτρολόγηση μεταβλητών. Οι προγραμματιστές του Godot έχουν δηλώσει ότι πολλές εναλλακτικές γλώσσες δέσμης ενεργειών τρίτων όπως οι Lua, Python και Squirrel δοκιμάστηκαν πριν αποφασίσουν ότι η χρήση μιας προσαρμοσμένης γλώσσας επέτρεπε ανώτερη βελτιστοποίηση και ενσωμάτωση επεξεργαστή. Στην έκδοση 4.0, μια νέα δυνατότητα που ονομάζεται πίνακας Typed εφαρμόστηκε στο GDScript. Αυτό επιτρέπει στους χρήστες να αλλάζουν εύκολα έναν κανονικό πίνακα σε πληκτρολογημένο και αντίστροφα χωρίς να αλλάζουν πολύ κώδικα. 

Ένα απλό πρόγραμμα "Hello world" μπορεί να γραφτεί ως εξής:
```gdscript
func _ready():
	print("Hello World")
```
Πιο πολύπλοκα προγράμματα, όπως αυτό που δημιουργεί μια ακολουθία Fibonacci, είναι επίσης δυνατά:
```gdscript
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 για τρισδιάστατη προσομοίωση φυσικής. 

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

## Παραπομπές

## Εξωτερικοί σύνδεσμοι

* 
* godot στο GitHub
* Παιχνίδια που δημιουργήθηκαν με τον Godot 
Κατηγορία:Μηχανές βιντεοπαιχνιδιών
Κατηγορία:Λογισμικό με τη χρήση άδειας MIT
Κατηγορία:Ελεύθερο λογισμικό προγραμματισμένο σε C++
Κατηγορία:Διαλειτουργικό λογισμικό
Κατηγορία:Σελίδες με μη επιθεωρημένες μεταφράσεις