スポンサーリンク

コードが書ける!数式が書ける!AAが書ける!スタンプが貼れる!

無料の匿名掲示板型SNS「このはちゃんねる

新規会員募集中!

プログラミングでゲームを作成するには?

295, 2020-02-16

目次

プログラミングでゲーム作成

プログラミングをしているとゲームを作成したくなります。
これはみんな通る道です。
しかし、プログラミングにおけるゲーム開発は選択肢が幅広く、初心者の方は何からやったらいいのかわからないことが多いと思いますので、この記事が導入になればと思います。

結論からまとめると、必要なのは↓の通りです。

  • 言語選び
  • ゲームエンジン/ライブラリ選び
  • リソース作成
  • 開発

言語選び

プログラミングでゲーム作成をするわけなので、最初にプログラミング言語を選択する必要があります。
プログラミング言語はC/C++やJavaScript, Javaなどです。

プログラミング言語の種類

ゲームエンジンを使わない場合は好きな言語を選べばOKです。
ゲームエンジンを使う場合はゲームエンジンがサポートしている言語を選ぶことになります。

よく使われるのはC/C++など、速度が出る言語です。
特にC++はゲーム開発でよく使われる代表格のような言語ですね。
C++はゲームエンジンのUnrealEngineがサポートしています。
C++は学習コストが高い言語として知られていますが、ゲーム作成のプロフェッショナルになりたければ避けては通れない言語と言えます。

それから最近はJavaScriptもよく使われます。
ゲームエンジンでもUnityなどのサポートしているエンジンがありますね。
しかし最近のUnityはJavaScriptのサポートを廃止予定だそうです。

あとはUnityはC#もサポートしています。Unityでは今後はC#が主流になるようです。
C#はUnrealEngineもサポートしています。

他にもJavaでゲーム開発してる人もいます。

↑は少し古いコンテンツですが、JavaでPCゲームを作るコンテンツです。
よくまとまっていて良い入門用コンテンツだと思います。
また、Javaはアンドロイドゲームの開発でも使うことが出来るので、一石二鳥なところがあります。

何の言語を選べばいいのか?

最終的には開発者の好みですが、言語選びの方向性としては↓の要素を考えるといいです。

  • ゲームエンジンとの相性
  • デバイスとの相性
  • 速度

たとえば先ほどの例では、ゲームエンジンのUnityを使う場合はC#に。
ゲームエンジンのUnrealEngineを使う場合はC++, C#が選択肢に入ります。

また、スマホなどのデバイスをターゲットにしたい場合はJava、またはUnityはスマホ向けの開発も出来るのでこれを考慮するということになります。

PCゲームなどで、リアルなゲームを作りたい場合はUnrealEngineが選択肢に入るので、学ぶべき言語はC++かC#になります。
PCゲームとスマホゲームの両方を作りたい場合はUnityで、学ぶべき言語はC#に。またはJavaになるということですね。
共通項としては、ゲームエンジンを使う場合はC#を学んでおけば潰しが効くということもわかります。

そして、ゲームに処理速度を求めたい場合はC++になるでしょう。

ゲームエンジン/ライブラリ選び

言語に目星がついたらゲームエンジンやライブラリを選びます。

ゲームエンジン

最近のゲーム開発ではゲームエンジンを使うのが一般的になっています。
代表的なエンジンは↓の通りです。

  • Unity
  • UnrealEngine
  • ツクール

Unity(ユニティー)

Unityは有名なゲームエンジンです。その名を聞いたことがある人も多いことでしょう。

Wikiから引用するとUnityは↓のようなエンジンです。

Unity(別名:Unity3D)は、統合開発環境を内蔵し、複数の機材(platform)に対応するゲームエンジンである。開発はユニティ・テクノロジーズ(英語版)。日本法人はユニティテクノロジーズジャパン合同会社。ウェブプラグイン、デスクトッププラットフォーム、ゲーム機、携帯機器向けのコンピュータゲームを開発するために用いる。100万人以上の開発者が利用している[4]。Unityは主にモバイルやブラウザゲーム製作に使用する。

開発者が多く、コミュニティも活発で質問しがいがあるということなので、初心者の人には嬉しいかもしれません。
また、PC、スマホなど色々なデバイスに対応しているので開発が楽です。

UnrealEngineに比べるとデフォルメされたキャラクターなどが得意な印象があるエンジンです。
言語はC#などに対応しています。

UnrealEngine(アンリアル・エンジン)

UnrealEngineはリアル志向のゲームエンジンです。

Wikiから引用するとUnrealEngineは↓のようなエンジンです。

Unreal Engineはエピックゲームズが自社で開発した『Unreal』、『Unreal Tournament』シリーズ、『Gears of War』シリーズおよび『Infinity Blade』はもちろんの事、同業他社が開発した『レインボーシックス』シリーズ、『レッドスティール』、『バイオショック』および『ミラーズエッジ』など多くのゲームで採用されている。その他にも、NASAの宇宙飛行士訓練やウォルト・ディズニー・カンパニーの映画製作とテーマパークに利用[3][4]されるなど様々なジャンルで使われ、「最も成功したビデオゲームエンジン」としてギネス世界記録にもなっている[5][6]。

Unityに比べるとリアルなグラフィックが得意なエンジンです。
言語はC++, C#などに対応しています。

ツクール

RPGツクールなどに代表される日本製のゲームエンジンです。
2DのRPGを作りたい場合はこれが選択肢に入るでしょう。

様々な命令、画像、音楽を組み合わせてオリジナルのRPGを制作することができる。画像、音楽はあらかじめ用意されたものの他、自分で作ったものも使用できる。作成したRPGは遊ぶだけなら本ソフトを必要としないため、友人に遊ばせたりインターネットで配布したりすることができる。

ライブラリ

ゲームエンジンを使用せずにライブラリを使って開発するというのも一般的です。
ただゲームエンジンに比べると作るのは少し大変です。
1から全部自分で作ってみたい場合はライブラリを使うと良いでしょう。

OpenGL(オープン・ジーエル)

有名なCGライブラリです。

OpenGL(オープンジーエル、Open Graphics Library)は、クロノス・グループ (英: Khronos Group) が策定している、グラフィックスハードウェア向けの2次元/3次元コンピュータグラフィックスライブラリである。SGI社内で自社のCGワークステーション向けにクローズドに策定されたAPI仕様が改良されて公開され、後に大きなシェアを持つに至った。現在は多様な描画デバイスを包括するグラフィックスAPIのオープン標準規格として策定が行なわれている。

OpenGLはLinuxやWindowsで使うことが出来ます。
C++ではSFML(2D向け)やGLFWなど、OpenGLを使用するライブラリが揃っています。
また、JavaScriptではWebGLを使うことも出来ます。WebGLを使いやすくした有名なライブラリにThree.jsがあります。

DirectX(ダイレクト・エックス)

有名なWindows用のCGライブラリです。

Microsoft DirectX(ダイレクトエックス)は、マイクロソフトが開発したゲーム・マルチメディア処理用のAPIの集合である[1]。オーバーヘッドを少なくしたデバイスの仮想化・抽象化を提供する。Windows・Xbox・Xbox 360・Xbox Oneなど、マイクロソフト製のプラットフォームおよびデバイスにおいて広く利用されている。グラフィックスに関しては、DirectX (Direct3D) 互換のビデオカードを利用することにより、高品質の2次元・3次元コンピュータグラフィックスを高速にレンダリングできる。

DirectXはWindowsで使うことが出来ます。
また、DxLibというDirectXを使用するライブラリが有名です。

ライブラリは何を選べばいいのか?

LinuxとWindowsの両方でゲームを動作させたい場合はOpenGLを。
Windows専門にやる場合はDirectXがいいでしょう。
これらのCGライブラリを使いやすくしたライブラリも沢山ありますので、言語に合わせて選びましょう。

リソース作成

ゲームには絵や音声などのリソースが付き物です。
これらを無料で作れるツールを紹介します。

代表的なツールは↓の通りです。

  • GIMP
  • Inkscape

GIMPはドローイングソフトで、絵を描くのに使えます。

Inkscapeはベクターで絵を作れます。

両方使えるとはかどるでしょう。

音声

音声加工ソフトとしてはAudacityが有名です。
これは波形編集用のソフトです。

とても使いやすく高機能で私も重宝しています。
また、フリーの音声素材を加工するのにも使えます。

開発

言語、ゲームエンジン/ライブラリ、ツールなどが揃ったらいよいよゲーム作成です。
最初は小さいゲームから作ることになると思います。

おわりに

プログラミングによるゲーム作成の方法を紹介してきました。
この記事に書いてある知識でゲーム開発に進むことが出来ると思います。

健闘を祈ります

おしまい

投稿者名です。64字以内で入力してください。

必要な場合はEメールアドレスを入力してください(全体に公開されます)。

投稿する内容です。

スポンサーリンク

スポンサーリンク

スポンサーリンク

スポンサーリンク