元々、GodotはLua言語を使用してたが、オブジェクト指向で記述するには複雑で、膨大なコードを必要だった。
そして、Pythonへ言語を変更しようと研究していたが、困難であるという結果になった。
そこで開発されたスクリプト言語が、このGDScriptなのである。
参考: https://docs.godotengine.org/ja/stable/about/faq.html#what-were-the-motivations-behind-creating-gdscript
開発の背景として以下の理由がある。
- 他の言語(Lua, Python, Squirrel, JavaScript, ActionScriptなど)では、スレッドサポートが不十分だが、Godotではスレッドを使用するため。
- 他の言語では、クラス拡張のサポートが不十分で、Godotの動作方法を適応させるためには非効率だったため。
- 他の言語では、C++とバインドするために、不安定なインターフェースを使用する必要があり、大量のコードやバグ、ボトルネックなどが発生してしまうため。(Godotを良いゲームエンジンに集中したいため)
- ネイティブのベクトルのクラスなどがなく、カスタムのタイプなどを定義する必要があり、パフォーマンスが低下してしまうため。
- ガベージコレクターにより処理速度が低下してしまったり、不必要なメモリ使用が発生することがあるため。