マルチプレイゲームを知ろう

マルチプレイゲームの定義

マルチプレイゲームを作る前に、マルチプレイゲームとは何かを考えてみましょう。 マルチプレイではないゲーム(シングルプレイゲーム)も考えてみるとわかりやすいです。

さて、みなさんがゲームを作ろうと思った時、どのようなものを思い浮かべたでしょう。

このようなゲームを思い浮かべた人もいるかもしれません。 絵だと伝わらないかもしれないので言語化してみます。

  1. 他のプレーヤーがいて、複数人で対戦や協力プレイが行われるゲーム
  2. ギルドやフレンドなどソーシャルな仕組みはある。ゲーム自体は一人で操作する
  3. 通信しなくても一人で遊べるゲーム。CPU とだけ対戦する

3 つのパターン考えてみました。1-2 番までをマルチプレイゲームという人もいるし、1 番はマルチプレイゲーム、2 番はソシャゲ、という人もいるし、1-2 番両方ともソシャゲだ、という人もいます。 この辺の定義は人によって違いますし、ゲームの構造によって 1 に近い 2 があったり、逆に 2 に近い 1 があったりして難しいです。

1 番の定義をみると、他のプレーヤー、複数人、といった他人を意味するワードが現れます。 他人はどこにいるのかというと、あなたと同じ場所(世界)に存在します。 ワールドの遥か反対側で建築していたり、倒れたら蘇生してくれたりします。 あなたが同じ世界を旅すれば他人の建築物を目にすることができますし、一緒に戦う仲間を助けたり、相手を画面外に吹っ飛ばそうとしたりすることもあるでしょう。

みなさんが思い描く、マルチプレイゲームに近づいてきたかもしれません。 同じ世界に他人を存在させ、共有物(土地、アイテムなど)に干渉する。 そして、場合によっては他人への干渉(攻撃、協力)も行う。これがマルチプレイゲームの特徴と言えそうです。

まとめますと

  • 複数人(他人が存在する)
  • 相互干渉(共有物や他人に干渉し合う)

これがこの記事で考えていくマルチプレイゲームの定義となります。すこしわかりやすく言い直すと、みんなで遊ぶ機能を持ったやつです。

ニコ生ゲームにおけるマルチプレイゲームとランキングゲーム

さて、ニコ生ゲームでマルチプレイゲームが作成できることは、以前お知らせしたことがあります。 https://ch.nicovideo.jp/shin-ichiba/blomaga/ar1697055

ニコ生ゲームは Akashic Engine を用いて作成できるのですが、そこにもマルチプレイゲームに関する記事があります。 https://akashic-games.github.io/tutorial/v3/multiplay/introduction.html

これらを読破することによりマルチプレイゲームが作れるようになります。 つまり前述した特徴(複数人、相互干渉)を備えたゲームが作れるということになりますね。 ニコ生ゲームでマルチプレイゲームを作るにあたって押さえておきたいのは、つりっくま、パーフェクトバッティングに代表されるランキング対応ゲームの存在です。

いままでニコニコ生放送に投稿していただいた数々のゲームも含め、ニコニコ生放送(の放送ネタ) ではゲームに対してのランキング機能を提供しています。 この機能は、一定のルールに従ってシングルプレイゲームを作ると、ゲームの結果をランキング形式で表示して他の人と競うことができる、というものでした。 他の人とランキングボードにある5位までの枠を奪い合う、という点においてこれも立派なマルチプレイゲームの一種となります。 ただしできることが違うため、ニコ生ゲームではランキングゲームとマルチプレイゲームは別物として扱っています。

具体的には、ランキングゲームはシングルプレイゲームの結果だけを共有する仕組みなので以下のようなことはできません。

  • 他の人とプレイ中に協力、妨害し合う
  • 他の人の状態を知る
  • 人によって別々の役割を持たせる
  • チーム分け、攻撃側と防御側に別れるなど

最後の最後までシングルゲームとして動き、ゲーム終了間際にスコア送信を行うときだけ通信するのでこのような制約は必然と言えます。 シングルプレイ、ランキング対応ゲーム、一般的なマルチプレイ、を図に表してみます。

シングルプレイではなにもやり取りがありません。お互いが何をしていても知らんぷりです。

ランキング対応ゲームでは、シングルプレイと同じでお互いに何もしません。最後に一度だけ結果を送信します。

そして、これから何回かに渡って説明していくマルチプレイゲームは、まさしく上記イラストの通り、他人への干渉を含めたマルチプレイゲームです。

最後だけでなく、ゲーム中の要所要所でデータの送信を行い、さらにデータの受信も行い同期を試みます。 (相手からの操作だけでなく自分の操作も受信しているのが重要ですが今回は省略します)

もしみなさんが作りたいゲームがスコアアタックのような、ランキング機能で十分実現できる場合はこのドキュメントを読まなくても作ることができます。 シングルプレイゲームやランキング対応については、 ニコ生ゲームを作ろう・ランキングゲーム編 を参照してください。

もしみなさんが作りたいゲームが

  • 他人の情報をゲーム中に共有したい
  • 他人と協力したり邪魔したりしたい

といった場合には、この記事が助けになるかもしれません。

次は

次のページからは、現存するマルチプレイ関連の記事をまとめた後、実際に簡単なマルチプレイゲームを何回かに分けて作っていきます。