Godot入門

この記事はGodotがあなたに向いているかどうかをはっきりさせる助けになるために書いています。「始めるために何を知っておくべきか?」という質問に対する答えが得られるように、広範囲にわたる機能の紹介をします。

すべての機能を網羅する、という意味ではありません。この「はじめに」のシリーズでシリーズでもっとたくさんの機能を紹介していきます。

Godotとは?

Godotは様々なプロジェクト向けにデザインされた、汎用の2D/3Dゲームエンジンです。ゲームやアプリケーションを作成し、デスクトップ用、モバイル、Webでリリースすることが出来ます。

パワフルなプログラミングスキルやゲーム開発者がいなくても、コンソール機のゲームを作る事もできます。

注釈

コンソールゲーム機製造元とのライセンス契約を結ばずに、コンソール向けにゲームをエクスポートする機能を提供することはGodotチームには出来ません。どのエンジンを使っていても、コンソール機でゲームをリリースするには常に多くの労力が必要です。そのことについては Godotでの(ゲーム)コンソールのサポート で詳しく解説しています。

このエンジンで出来ることは?

Godotは当初はアルゼンチンにあるゲームスタジオの内製プロダクトとして開発されました。開発は2001年からスタートし、2014年にオープンソースとしてリリースされて以来、途方もない規模で改良されてきたエンジンです。

Godotで制作されたゲームの例として、Ex-Zodiac や Helms of Fury が挙げられます。

../../_images/introduction_ex_zodiac.png ../../_images/introduction_helms_of_fury.jpg

アプリケーションの制作例では、オープンソースのピクセルアート描画ソフトである Pixelorama や、ボクセルRPG制作ソフトの RPG in a box が挙げられます。

../../_images/introduction_rpg_in_a_box.png

公式のショーケースビデオで多くの作例を見ることが出来ます:

どのように、どんな見た目で機能しますか?

Godotは最も一般的なニーズに答えるために、オールインワンのゲームエディタと統合されたツールを提供しています。専用のコードエディタ、アニメーションエディタ、タイルマップエディタ、シェーダエディタ、デバッガ、プロファイラなどを備えています。

../../_images/introduction_editor.png

開発チームは多機能で一貫性のあるユーザエクスペリエンスのゲームエディタを提供できるように努力しています。改良の余地があれば、ユーザインタフェースは日々改良されていきます。

もちろん、あなたの好みに合わせて、外部のプログラムと組み合わせて動作も出来ます。私たちは公式に Blender の3Dシーンのインポートをサポートしていますし、 VSCodeEmacs 向けのGDScriptとC#のプラグインのメンテナンスも行っています。WindowsではVisual StudioでのC#もサポートしています。

../../_images/introduction_vscode.png

プログラミング言語

まず利用可能なプログラミング言語を見てみましょう。

Godot専用に最適化された軽量言語である GDScript でコーディングすることが出来ます。これら2種は公式にメインでサポートするスクリプト言語です。

Godotはノードベースのビジュアルプログラミング言語である ビジュアル・スクリプト: もサポートしています。

GDNative テクノロジーを使うことで、エンジンの再コンパイルなしで、ゲームロジックにも高パフォーマンスなアルゴリズムにもC言語やC++言語で記述する事ができます。サードパーティ製のライブラリや別のソフトウェアデベロップメントキット(SDK)をエンジンで使用する事もできます。

もちろん直接モジュールや機能をエンジンに追加する事も可能です。Godotは完全にフリーなオープンソースです。.

参考

公式にサポートされている5個のプログラミング言語があります。コミュニティで管理しているサポート言語はもっとあります。追加の情報は :ref:`GDNative third-party bindings <doc_what_is_gdnative_third_party_bindings>`を参照してください。

Godotを使うのに必要な知識は?

Godotはオールインワンのゲームエンジンです。無数の機能があり、それらを学ぶ必要があるでしょう。それらを理解するためにプログラミングの基礎が必要になります。私たちはエンジンをもっととっつきやすいものにしようと試みていますが、まずはプログラマー的な思考を知ることがあなたに大きな利益をもたらすでしょう。

Godotはオブジェクト指向プログラミングを規範としています。クラスやオブジェクトといったコンセプトに親しんでいると効率的なコーディングに役立てることができるでしょう。

もしあなたが完全にプログラミングが初めてであれば、ハーバード大学が公開している`CS50 open courseware`_ をやってみてください(英語)。良いスタートを切るために必要なすべてを教えてくれる、無料の素晴らしいコースです。後にどんなゲームエンジンを学習する際にも、たくさんの時間と障害を減らしてくれることでしょう。

注釈

CS50では複数のプログラミング言語を学ぶことになります。でも恐れないで、それぞれプログラミング言語には多くの共通点があります。一つの言語で学んだ技術は別な言語でも応用することが出来ます。

私たちはGodotに特化した学習リソースを 新しい機能を学ぶには で提供しています。

次のパートでは、Godotエンジンの基本となるコンセプトの概要をお見せします。