オンラインRPGを作ろう!と決めた僕は、何が必要なのかを情報収集するところからスタート!
まず、プログラムも未経験です。
開発にどのようなものが必要なのかもわかっていない状態。
当時は検索をかけるも、具体的な手法については見つかりませんでした。
この記事では、オンラインRPGを作るとして、何が必要なのかを書いていきます。
必要なもの:1:ゲームエンジン
まず必要なのは「ゲームエンジン」です。
オンラインRPGに限らず、未経験からゲームを作るなら「ゲームエンジン」を導入することを強く強くオススメします。
ゲームエンジンとは「ゲーム開発に必要なものが詰まった開発環境(道具箱)」のことです。
Unity、UnrealEngine、GodotEngineなどがあります。
それぞれのゲームエンジンの特徴の解説は他のブログにお任せするとして、オススメは「Unity」です。
当ゲーム「ノンビリア」もUnity製。
Unityを扱うには、C#というプログラミング言語の習得も必須になってきます。
無くてもできるっちゃできるんですが、自分の理想の仕様にしたいなら必要ですね。
必要なもの:2:バックエンド
聞き慣れない言葉ですが、バックエンドとは「ゲーム本体とは別の、ゲームの進行を管理する仕組み」の部分です。
MMOやオンラインRPGでいうと「プレイヤーのセーブデータや、一緒に遊べるようにする仕組み」のこと。
スマホのソシャゲだと、スタミナ管理とかもここになります。
バックエンドは大きく分けると2つに分かれます。
2-1:マルチプレイのために必要な「マルチプレイ用通信サーバー」
マルチプレイ用通信サーバーは「他のプレイヤーと同じゲーム空間で遊べるようにできる」仕組みです。
これが無いと、オンラインRPGやMMOとは言えないですね。
チャットもここに属します。
自分で作ることもできるのですが、専門知識が必要になります。
そのため、外部の有料サービスを使うことがオススメ。
Unityを使う場合、「Photon」か「モノビットEngine(MUN)」のどちらかになると思います。
ちなみに当ノンビリアでは、モノビットEngine様より技術的なサポートを頂いています。
PhotonはUnityAssetstoreで半額セールをやったりするので、そこも狙い目かもしれませんね。
どちらもテスト用に無料のプランなどがありますので、導入や試用にお金はかかりません。
2-2:セーブデータなどに必要な「データサーバー」
ユーザーのセーブデータや、ログイン機能、スタミナなどの管理、UGC(ユーザー投稿型コンテンツ)を扱うサーバーです。
ユーザーの遊ぶパソコンにセーブデータなどを保存してしまうと、悪意のあるユーザーからのデータの改造と不正なデータの流通が発生します。
それを防ぐ意味でも、悪意あるプレイヤーの手の届かないところにセーブデータやゲームのルールを置いておく必要があるのです。
そこで活躍するのがデータサーバーです。
ユーザーのセーブデータのセーブとロード、ログインシステム、抽選システム、課金関係などを一括で担当してくれます。
もちろん自前で作ることもできますが、これもまた大変なので、外部サービスを使ったほうが早いです!
個人的に使ってオススメなのは、次の2つです。
ノンビリアではPlayfabを採用しておりますが、ニフティクラウドモバイルバックエンドの検索機能はとても高性能で魅力的でした。
ユーザー投稿型コンテンツに対応したPlayfabが個人的なオススメにはなりますが、他のユーザーの情報を細かく取りたいゲームでしたら、ニフティに軍配が上がるでしょう。
2-3:購入とアカウントを紐付ける「販売プラットフォーム」
これはノンビリア特有の仕様かもしれません。
アカウント売買などを防ぐためにも、「買った人と、特定のゲーム内アカウントを紐付ける」機能が必要でした。
メアドとパスワードさえ知ってしまえば、誰でもログインできるのはマズいなぁ、と思いまして。
幸い、みんな大好き「Steam」がログイン機能を実装してくれています。
すなわち、ユーザーがSteamで購入してもらえれば、Steamのアカウントを使ってログイン判定ができるようになります。
ここからPlayfabへの連携をするので2度手間ではあるのですが、自前で購入&ログインシステムを管理するよりずっと簡単です。
さらに、DLCの導入などもできるようになります。
無料で誰でもウェルカムという形であれば不要ですが、ノンビリアではこの形態を取っています。
マルチプレイ時の通信でお金がかかりますしね。
Steamではチャットができたり、オンラインのマルチプレーヤーをサポートしたり、PlayfabとPhotonを足したような機能を持っています。一元化できれば、ここがベストかもしれませんね。
(ノンビリアの仕様とはマッチしなかったので、別々になっています)
以上がオンラインRPGを作るのに必要なものでした。
プログラミング技術やモデリングなど、他に必要なものはわんさかありますが、仕組みの部分ではこれらが必要とわかるだけでも違うと思います!
次回もお楽しみに!