1
Fork 0
mirror of https://github.com/Steffo99/nanogolf.git synced 2024-11-23 00:24:19 +00:00
algodist-steffo-nanogolf/docs/2 - Premessa.md
2024-03-19 05:51:28 +01:00

24 lines
No EOL
1.7 KiB
Markdown

# Premessa
[Godot Engine] è un motore general purpose ed [open source] per la realizzazione di videogiochi multi-piattaforma.
Fa uso di un suo linguaggio di programmazione personalizzato, chiamato [GDScript], che prende ispirazione da [Python] sia nella sintassi, sia nel paradigma di programmazione.
Dato che lo sviluppo di videogiochi si svolge in modo molto più sperimentale e iterativo di quello dei software tradizionali, presenta alcune scelte di design particolari atte a rendere il codice fortemente componibile e veloce da scrivere.
Un'istanza di un software Godot consiste in una struttura ad albero, detta `SceneTree`, i cui nodi eterogenei hanno ciascuno delle proprie caratteristiche dette *proprietà*, un proprio comportamento detto *script*, delle implementazioni del pattern [observer]) dette *segnali*, e sono incapsulati in sottoalberi componibili detti *scene*.
![Lo SceneTree di una istanza di Nanogolf in esecuzione.](img/scenetree.png)
![Lo SceneTree di un livello non istanziato.](img/scenetree2.png)
Per più dettagli sui concetti chiave di Godot Engine, si suggerisce di fare riferimento alla [documentazione ufficiale] a riguardo, in particolare alla pagina [Overview of Godot's key concepts].
[Godot Engine]: https://godotengine.org/
[open source]: https://github.com/godotengine
[GDScript]: https://docs.godotengine.org/en/4.2/tutorials/scripting/gdscript/index.html
[Python]: https://www.python.org/
[observer]: https://en.wikipedia.org/wiki/Observer_pattern
[documentazione ufficiale]: https://docs.godotengine.org/en/4.2/index.html
[Overview of Godot's key concepts]: https://docs.godotengine.org/en/4.2/getting_started/introduction/key_concepts_overview.html