この記事は(検証可能)な(参考文献や出典)が全く示されていないか、不十分です。(2020年12月) |
Godotは、クロスプラットフォームかつオープンソース(MITライセンス)の2D/3Dゲームエンジンである。現在の開発主体はGodot Engine communityであるが、オープンソース化によってそのような形態をとる前はラテンアメリカの幾つかの企業向けに開発、使用がなされていた[5]。開発環境(エディタ)はWindows、macOS、Linux、BSD系OS とHaiku(32ビット及び64ビット)で動作し、開発対象となるプラットフォームはPC、家庭用ゲーム機、スマートフォン、Web (HTML5、WebGL) と、非常に多様なプラットフォーム上で動作するように設計されている。
概要
Godotは統合ゲーム開発環境として開発されているため、 CGアセットや音楽といった素材を除いてゲームをスクラッチで制作することを可能にしている。「シーン」による入れ子構造によって構成される独特のゲームデザインアーキテクチャを用いている。スクリプトからグラフィック素材に至るまで、ゲームの構成部品すべてが独立したファイルシステム(またはデータベース)に統合される。この管理システムはバージョン管理システムと併用することも可能である[6]。
Godotは複数のプラットフォームへの出力をサポートしており、開発者はスマートフォン、Web、PC、ゲーム機など多くのプラットフォームに対応できる。テクスチャ圧縮や解像度をプラットフォーム毎に設定することも可能である。
現在サポートされているプラットフォームはWindows、macOS、Linux、FreeBSD、Android、iOS、BlackBerry10、HTML5、PlayStation 3、PlayStation Vita、ニンテンドー3DSの他、サポート途中のプラットフォームにWindows Runtimeがある[7]。
スクリプティング
ゲームの作成はPythonに近い独自のスクリプト言語であるGDScriptによって成される(C#を利用可能な版もある。またC/C++コードを呼び出すことも可能)。GDScriptはその基となったPythonよりも変数の厳格な記法が可能で、「シーン」を礎となすGodotのアーキテクチャに最適化されたものになっている。エンジン開発者は当初外部のプログラミング言語を検討していたが、結局高度な最適化とエディタへの統合が成されたカスタム言語を採用することになったと述べている[8]。
Godotにはオートインデントやシンタックスハイライト、コード自動補完などの機能を有するスクリプトエディタが統合されている。またブレークポイントおよび プログラムステッピングを設定できるデバッガも有している。
一方で、GodotはVisual Studio Code[9]などの外部エディタや統合開発環境と連携して開発を行うことも出来る。
また、バージョン3からはビジュアルスクリプトが利用可能になり、Unreal Engineのブループリント[10]やBlender Game Engineのロジックエディター[11]のような視覚的なプログラミングが可能である。しかし、次期メジャーアップデートであるGodot 4.0ではビジュアルスクリプトの廃止がなされることがアナウンスされた。[12]
描画機能
GodotはすべてのプラットフォームでOpenGL ES 2.0/3.0を用いた描画を行う。エンジンは透明度、法線マッピング、スペキュラ、シャドウマップを用いた動的な影や、FXAA、ブルーム効果、被写界深度、HDR、ガンマ補正やフォグ等のフルスクリーンポストプロセッシング効果を実装している。GodotはGLSLに似たシンプルなシェーダ言語を備えている。シェーダーはマテリアルやポストプロセッシングはもちろん、2DCGレンダリングに対しても用いることができる。シェーダーは頂点シェーダー部とフラグメントシェーダー部で分けられている。ビジュアルエディタを用いたノードベースでのシェーダー編集も可能である。
Godotは独立した2Dグラフィックスエンジンを備えており、3Dのそれとは別に動かすことができる。2Dエンジンの機能の一例としてライティングやシェーディング、タイルセット、多重スクロール、2Dポリゴン、アニメーション、パーティクルに加えて物理演算エンジンを備えている。これら2Dと3D二つのグラフィックスエンジンを「ビューポートノード」を用いて併用・統合させて用いることが可能であり、エンジンの大きな特徴となっている。
その他の特徴
Godotはアニメーション作成用のGUIを備えており、スケルタルアニメーション、ブレンディング、アニメーションツリー、モーフィング、リアルタイムカットシーンを編集できる。これによって定義した任意のアニメーションで、ゲームエンティティを動かせる。3D物理エンジンにはBulletを採用している。
他にも以下のような機能を備えている:
- オクルージョンカリング
- (Level of detail)
- パフォーマンス統計のグラフ化
- ライティング
- マルチスレッド処理
- プラグインシステム
- レンダリングターゲット
- 動画再生機能(Theora)
- 音声再生機能(Ogg Vorbis,WAV)
- パーティクルシステム
- テクスチャ入力/出力/圧縮パイプライン
- Navmeshのサポート
- GUI
- キーボード、マウス、ゲームパッドとタッチ操作のサポート
- OpenXRプラグインを使用したVRのサポート
歴史
Godotの開発がJuan 'reduz' LinietskyとAriel 'punto' Manzurによって開始されたのは2007年のことである[13][14]。Linietskyはプレゼンテーションにおいて、"Godot"の名は「エンジンに新しい機能を追加し、完璧なものへと近づけたい」という永遠の叶わぬ願いをサミュエル・ベケットの劇「ゴドーを待ちながら」になぞらえて取られたということを述べている[15]。2014年2月、GodotのソースコードがMITライセンスでGitHubに公開される[16]。
2014年12月15日、Godotはライトマッピングやナビメッシュによる経路探索のサポートを追加し、シェーダー機能を強化したバージョン1.0をリリースし、これが初の安定版となった[17]。次いで2015年5月21日にリリースされたバージョン1.1はコードエディター上でのオートコンプリートの改善、ビジュアルシェーダーエディター、OSのウィンドウ管理のためのAPI、ダークテーマを追加し、Blender用(Collada)エクスポーターの改善がなされた。また、2Dエンジンの書き直しとそれに伴い2Dナビゲーションポリゴンのサポートが追加される[18]。新しい2Dエンジンはシェーダーやマテリアル、独立したノード毎のZオーダー、光源やポリゴンを用いたシャドウ、法線マッピングの他、Distance-fieldフォントのサポートが改善された。
2015年11月4日、GodotはSoftware Freedom Conservancyのメンバー・プロジェクトとなる[19]。
2016年2月23日、Godotは安定版としてバージョン2.0をリリースした。シーンのインスタンス化と継承、複数シーンの編集機能やデバッガー等が改善され、新しいファイルブラウザが追加された[20]。更に2016年8月リリースのバージョン2.1では、アセットデータベースやプロファイル、プラグインAPIの追加がなされた[21]。
2016年6月22日、 GodotはMozilla Open Source Support (MOSS) の“Mission Partners”アワードからWebSocket、 WebAssemblyとWebGL 2.0のサポートへの支援として20,000ドルの支援を受けた[22]。
2018年1月29日、 Godotはバージョン3.0をリリースした。3DレンダリングとVRの互換性が向上し、C#(Mono)がサポートされた。また独自の組み込み3D物理エンジンはBullet物理エンジンに置き換えられた。
採用ゲーム一覧
OKAMスタジオのゲームの多くがGodotを用いて作られている。コミュニティ製のオープンソースのゲームに用いられることもある[23]。
- El Asombroso Show Zamba
- Dog Mendonça & Pizza Boy
- Anthill
- Running Nose
- Project Carnival
- DynaDungeons
- Minilens
- Tanks of Freedom
- ソニック カラーズ アルティメット
脚注
- ^ Linietsky, Juan (2014年1月14日). “First public release!”. godotengine.org. 2020年9月21日閲覧。
- ^ “Download”. godotengine.org. 2023-04-022閲覧。
- ^ “Release candidate: Godot 4.0 RC 6”. godotengine.org. 2023年2月28日閲覧。
- ^ “Godot Game Engine”. Open Hub. 2020年7月30日閲覧。
- ^ “Godot 2.0: Talking with the Creator”. 80.lv. 2016年6月18日閲覧。
- ^ “”. Godot documentation. Godot. 2016年2月6日時点のオリジナルよりアーカイブ。2016年1月29日閲覧。
- ^ “Compiling for Universal Windows Apps”. Godot. 2016年2月1日閲覧。[]
- ^ “”. Godot documentation. Godot. 2016年2月6日時点のオリジナルよりアーカイブ。2016年1月29日閲覧。
- ^ Visual Studio CodeなどのメジャーなエディタではGodot向けの拡張機能が用意されている。
- ^ “Unreal Engine ブループリント”. 2021年11月13日閲覧。
- ^ “Blender Game Engine ロジックエディター”. 2021年11月13日閲覧。
- ^ “Godot 4.0 will discontinue VisualScript”. godotengine.org. 2022年9月2日閲覧。
- ^ StraToN. “SteamLUG Cast”. 2016年6月18日閲覧。
- ^ reduz. “Godot history in images!”. 2016年6月18日閲覧。
- ^ “Juan Linietsky presentation of Godot at RMLL 2015 in Beauvais, France” (2015年7月7日). 2017年10月2日閲覧。
- ^ liamdawe (2014年2月14日). “Godot Game Engine Is Now Open Source”. 2017年10月2日閲覧。
- ^ “” (2014年12月15日). 2014年12月16日時点のオリジナルよりアーカイブ。2014年12月16日閲覧。
- ^ “”. 2015年5月24日時点のオリジナルよりアーカイブ。2015年5月22日閲覧。
- ^ “Godot Game Engine is Conservancy's Newest Member Project”. 2015年11月13日閲覧。
- ^ “Godot Engine Reaches 2.0 Stable” (2016年2月23日). 2017年6月1日閲覧。
- ^ “Godot Reaches 2.1 Stable” (2016年8月9日). 2017年6月1日閲覧。
- ^ “Mozilla Awards $385,000 to Open Source Projects as part of MOSS "Mission Partners" Program”. The Mozilla Blog. 2016年10月17日閲覧。
- ^ “Awesome Godot - a curated list of free/libre games, plugins, add-ons and scripts for Godot.”. GitHub. 2015年7月25日閲覧。
外部リンク
- 公式ウェブサイト
- Godot Engine - GitHub