ゲーム開発~プログラミング言語とゲームエンジン~
ソーシャルゲーム
近年、スマートフォーン、タブレットの普及によりソーシャルゲームという言葉をよく耳にします。
この記事ではソーシャルゲームの開発について説明しますが、その前にソーシャルゲームとは何かを説明します。
ソーシャルゲームとは?
ソーシャルゲーム主にSNSプラットフォーム上で動作するオンラインゲームであり、Webブラウザ上で遊べるもの、ダウンロード、インストールして遊ぶものがあります。
また、ソーシャルゲームは、SNS上で配信されているゲームのことをいいますが、現在ではソーシャルグラフが積極的に活用されたスマートフォン向けゲームアプリを指す言葉とも言われています。
ですので、スマホ向けアプリストア(App Store、Google Play ストア)配信されているゲームをソーシャルゲームと言われることも多くなっています。
ソーシャルゲームは基本的に無料で遊ぶことが出来ますがガチャで課金や、アイテム課金などでお金を払うこともあります。
ソーシャルゲーム開発
ソーシャルゲームはスマホ向けアプリストア(App Store、Google Play ストア)配信されているゲームと言われる事も多くなっていると説明しました。
では実際に、ゲーム開発を行うにはどんなものがあるのかを説明します。
プログラミング言語
ゲーム開発を行うにはプログラミング言語のスキルを使用することがあります。
簡単にですがゲーム開発にて使われるプログラミング言語紹介します。
C#
ゲーム開発に使用される機会が最も多いと言われる言語の1つです。
C#はC++とJavaをベースに両言語のいい部分を取り入れて作られている言語であり、比較的書きやすく学びやすい言語と言われています。
C#でのゲーム開発に最適なゲームエンジンUnity、MonoGameなどがあり、多数のプラットフォーム向けに配信できる環境が整っています。
C++
C++はC言語ベースに様々な機能を足し付けたものであり、少し難しい言語と言われています。
特徴としては軽量な処理にはごく少数のメモリ、重い処理には重点的に割り当てることで処理を効率的かつ迅速に行えるためゲーム開発時では処理落ちを未然に防げることができます。
C++に対応しているゲームエンジンはCocos2d-x(ココス・ツー・ディー・エックス)、UnrealEngine(アンリアル・エンジン)などがあります。
JavaScript
JavaScriptは利用するプログラマーの数が多く、汎用性が高いことからフレームワークの数が膨大に存在しています。
ゲームエンジンにはenchant.jsというものがあり、2Dゲームの開発に特化しています。
Swift
Appleから提供されているApple製品のアプリを開発するためのプログラミング言語です。
iPhoneなどで全ての機能を利用することができます。
Ruby
ソーシャルゲームやモバイルゲームの開発によく使われている言語の1つです。
また、Rubyは基本的に内部の処理がメインであるサーバーサイド開発のための言語です。
スマホアプリもサーバサイドもRubyだけで制作することが可能です。
Lua
LuaはC言語と相性がよくC言語の関数を呼び出すことができます。
コンパイルせずにすぐに実行可能であるスクリプト言語の1つです。
LuaにはLÖVEと呼ばれる2Dゲーム開発向けゲームエンジンがあり初心者の方でもゲーム開発を行うことができます。
ゲームエンジン
ゲーム開発をスムーズに進めるための様々な機能が簡単に使えるようにまとまった総合環境であるゲームエンジンというものがあります。
ゲームエンジンはプログラミング言語の知識が少なくとも簡単なゲームを開発することが可能です。
その逆に、複雑なゲームを開発するには、プログラミング言語の取得は必要となります。
ここではよく使われるゲームエンジンを紹介します。
Unity(ユニティ)
Unityの特徴は2D、3Dゲームを作成することができます。
マルチプラットフォームに対応しており、Windows、macOS、Linux、様々なゲーム機、iOSやAndroidモバイルなどに対応しています。
開発言語はC#を使用しています。
Cocos2d-x(ココス・ツー・ディー・エックス)
開発環境が小型であり、ソーシャルゲーム開発やモバイルゲーム開発などに使用されています。
Windows、Linux、iOSやAndroidモバイルなどのプラットフォームに対応しています。
開発言語はC++、JavaScript、Lua言語に対応しています。
UnrealEngine(アンリアル・エンジン)
ハイスペックなグラフィック性能を持っており、3D動画を構築できる機能を持っています。
Windows、macOS、Linux、様々なゲーム機、iOSやAndroidのモバイルなどのプラットフォームに対応しています。
開発にはUnrealEngineのBlueprint機能とC++を使用します。
まとめ
ソーシャルゲーム、開発に使用されるプログラミング言語、ゲームエンジンについて簡単にですが説明しました。
ゲーム開発を行ってみたいと思ってる方の参考になれば幸いです。