色々な領域でのゲーム需要
- Nintendo SwitchやPlayStation 5などのゲーム機
- Webブラウザ
- モバイルアプリ
など色々な場面でゲームが普及しています。
大規模な開発から個人での開発まで様々な規模で、ゲーム開発に色々な
- プログラミング言語
- 開発プラットフォーム
が使われています。
今日は、そのいくつかを紹介します。
- ゲーム開発に使われるイメージが無かった
- ゲームエンジンについて興味が出た
など、何か発見があるかもしれません。
使用されるプログラミング言語
大人数での開発から個人開発まで、プロジェクトが多様なゲーム開発では、使用されるプログラミング言語は多数あります。
C++
長い歴史を持つC++は、様々な場面で使用されています。
多くのソフトウェアの開発で用いられているC++は、機械学習ライブラリのTensorFlowといった近年注目を集めているライブラリの開発にも使用されています。
C++は、ゲーム開発にも用いられています。
Cocos2d-xといったゲーム開発フレームワークにC++が使用できます。
C#
C#には、後述するゲームエンジンUnityとの関係で、ゲーム開発で広く使用されているプログラミング言語というイメージを持っている人が多いかもしれません。
Unityの他にも、ゲーム開発フレームワークMonoGameでC#を用いたゲーム開発に取り組むことができます。
Lua
Luaは、1993年に初めて公開されたプログラミング言語です。
同世代のPythonと比較すると、プログラミング言語としてはあまり有名ではないかもしれませんが、ゲーム開発に用いるスクリプト言語としては知られています。
JavaScript
Web開発で活用されているJavaScriptは、Webブラウザゲーム開発にも使用されます。
などのゲーム開発フレームワークを使用することができます。
Swift
Apple製OSで動作するアプリケーションを開発するための言語であるSwiftは、iPhoneのゲームアプリ開発に使用できます。
といったゲーム開発フレームがあります。
Kotlin
Androidアプリ開発に広く用いられるKotlinは、ゲームアプリ開発に使用されます。
libGDXというゲーム開発のフレームワークをKotlinで使用することができます。
Dart
モバイルアプリケーションフレームワークFlutterで使用されるプログラミング言語Dartは、ゲーム開発にも用いられます。
といったゲームエンジンを使用することができます。
Rust
システムプログラミング言語として注目を集めているRustには、ゲーム開発ワーキンググループがあります。
などのゲームエンジンをRustで使用することができます。
ゲームエンジン
ゲーム開発では、ゲームエンジンと呼ばれるソフトウェアを使用することがあります。
ゲームエンジンはゲーム開発の基盤とも言えるもので、広く知られるゲームには、ゲームエンジンを用いて開発されたものが多くあります。
大規模開発から個人での開発まで、ゲームエンジンを利用することで効率的にゲーム開発が進められる場合があります。
開発に用いられるゲームエンジンは多数あります。
Unity
Unityは、広く知られているゲームエンジンです。
PCやゲーム機、モバイルなど様々なプラットフォーム向けのゲームを開発することができます。
ゲーム開発で使用できる様々な素材(3Dモデルや音声など)が有料 / 無料で入手できるUnityアセットストアが有名です。
Unityを使えば、プログラミングなしでも開発に取り組めますが、より高度な処理をさせたい時には、C#を使ってゲーム開発をします。
Unreal Engine
Unreal Engineも、Unity同様広く使われているゲームエンジンです。
Unityと同様に色々なプラットフォーム向けのゲームを開発することができます。
Unreal Engineは、高性能グラフィックスのゲーム開発が可能なことで知られています。
Unreal Engineでは、Blueprintsというビジュアルプログラミング言語を用いてゲーム開発ができます。
より複雑なことをする場合、C++を使ってUnreal Engineでゲーム開発をすることもできます。
Defold
Defoldは、Webやモバイルなどのゲーム開発のためのゲームエンジンです。
PCやモバイルなどいくつかのプラットフォーム向けのゲーム開発ができます。
- 容量の小さいゲームアプリの開発が可能
- Defold自体も軽量
などの特徴があるとされています。
GUIベースでゲーム開発を進めつつ、プログラミング言語Luaを使用して開発に取り組むことができます。
Godot
Godotは、2014年に初めて公開された比較的新しいゲームエンジンです。
- PCや家庭用ゲーム機などいくつかのプラットフォーム向けのゲーム開発が可能
- GUIのツールとプログラミング言語での開発環境を備える
など、これまでに紹介したゲームエンジンと共通点があります。
Godotは、GDscriptという独自のプログラミング言語で開発することができる点がユニークです。
GDscriptは、Unreal EngineのBlueprintsのようにビジュアルプログラミング言語ではなく、Pythonに似た構文を持つスクリプト言語です。
(Unreal Engineには、UnrealScriptという独自のスクリプト言語があります。)
GDscriptのほかにも、Godotでは
- C++
- C#
などでの開発も可能です。
プログラミング学習 × ゲーム開発
ゲーム開発には非常に多様な、
- プログラミング言語
- ゲームエンジン
などが使われています。
ゲームの大規模開発が想像できない、という場合でも、プログラミング学習にゲーム開発の要素を組み入れることは可能です。
今日紹介したツールの多くは、最初は無料で使い始めることができます。
- JavaScripを学んでいるので、簡単なWebブラウザゲームを作ってみる
- Rustを一通り学んだ後で、Rustで使えるゲームエンジンを活用して開発してみる
- Unityを試してみて、面白そうならC#を使ってプログラミングでゲーム開発に挑戦
など、色々な組み合わせが考えられます。
特に、簡単なゲームを作る際には、
- プログラミングコードの変化と、ゲーム内動作の変化を対応させて考えやすい
- 成果が目に見える
など、プログラミング学習のモチベーションアップにつながる要因があると思います。
プログラミング学習にゲーム開発、気になった人は是非お試しください。
コメント