LogoLogo
Knowledge BaseOther Academies & GuidesThe Sandbox Website
  • Game Maker Academy へようこそ!
  • 🏆Japan Game Jam 障害物レース
    • 🔑ゲームルール&ロジックテンプレート
    • 📘ルールとガイドライン
    • 👩‍⚖️審査と投票
    • ❓FAQ とリソース
  • 👋Game Maker 概要
    • Game Maker について
    • Game Maker で使用するツール
  • 🏁はじめに
    • プロフィールの作成
    • Game Maker のインストール
    • マルチプレイヤーについて
      • マルチプレイヤー環境下でのパフォーマンス
  • 🚀ローンチ
    • Game Maker のローンチ方法
    • 体験の作成
  • 🧰メニュー
    • インターフェース概要
    • Top Bar(トップバー)
    • Side Bar(サイドバー)
    • Library(ライブラリ)
    • Toolbar(ツールバー)
    • Hierarchy(ヒエラルキー)
  • 🧭カメラコントロール
    • カメラコントロール概要
    • Game Maker の操作とショートカットキー
    • パンニング
    • 回転
    • ズーム
    • Shift キー
    • 旋回
    • ターゲット
  • 🌎BLOCK(ブロック)
    • ブロックについて
    • ブロックの配置方法
    • Brush(ブラシ)ツールを使う
  • 🦖Asset(アセット)
    • アセットについて
    • アセットとオブジェクト
    • アセットの配置
    • Properties(プロパティ)
    • Rarity and Attributes(レアリティと属性)
    • Presets(プリセット)
    • アセットの親子化
  • 🦸‍♀️ Avatar(アバター)
    • アバターについて
    • Avatar Spawner(アバター スポナー)
    • Custom Avatar(カスタム アバター)
    • Player's Avatar(プレイヤーアバター)
    • Inventory(インベントリ)
  • 🔧Logic(ロジック)
    • ロジックの仕組み
    • Parameters(パラメーター)
    • Behaviours & Components(ビヘイビアとコンポーネント)
    • Triggers(トリガー)
    • Tags(タグ)
    • Messages(メッセージ)
  • 🐵Behaviours(ビヘイビア)
    • ビヘイビアについて
    • ビヘイビアの設定方法
    • ビヘイビア 一覧
      • Animated Decoration(アニメーション)
      • Asset Spawner(アセットスポナー)
      • Asker(質問者)
      • Basic Platform(ベーシックプラットフォーム)
      • Bird(鳥)
      • Button(ボタン)
      • Citizen(住人)
      • Crowd Events(グループイベント)
      • Door(ドア)
      • Farmer(農民)
      • Healer(ヒーラー)
      • Light(ライト)
      • Melee Enemy(近接エネミー)
      • Message Broadcaster(メッセージブロードキャスター)
      • Multi(マルチ)
      • Plant(植物)
      • Post Process Effects(ポストプロセスエフェクト)
      • Predator(捕食者)
      • Prey(獲物)
      • Replace Asset(アセットの交換)
      • Soldier(兵士)
      • Timed Events(制限時間付きイベント)
      • Void(空間)
      • Weather Switcher(天気変更)
  • ⚙️ Components(コンポーネント)
    • コンポーネントについて
    • コンポーネントの設定方法
    • コンポーネント一覧
      • Climbable(登る)
      • Collectible(収集品)
      • Defeat(ゲームオーバー)
      • Drop(ドロップ)
      • Health(体力)
      • Image Display(イメージ表示)
      • NFT Image Display(NFT イメージ表示)
      • NFT Display Information(NFT 詳細表示)
      • Indicator(インジケーター)
      • Pickable(拾う)
      • Play Sound(サウンド再生)
      • Rarity(レアリティ)
      • Speaker(スピーカー)
      • Toggle Behaviour(ビヘイビアの切替)
      • Victory(ビクトリー)
  • 🎮Global Parameters(グローバルパラメーター)
    • グローバルパラメーター
  • 🏆Rules(ルール)
    • Rules(ルール)
    • Welcoming Screen(ウェルカム画面)
    • Quests(クエスト)
      • Unlock Quest(クエストの解除)
      • Launch Quest(クエストの起動)
      • Quest Type(クエストの種類)
        • Counter(カウンター)
        • Asset Death(アセットを倒す)
        • Timer(タイマー)
        • Wait for Message(メッセージを待つ)
      • Quest Completion(クエストの完了)
      • Action After Completion(クエスト終了後のアクション)
    • Victory(ビクトリー)
    • Defeat(ゲームオーバー)
  • 📝パッチノート
    • 8️⃣Game Maker 0.8
Powered by GitBook
On this page
  • シングルプレイヤーとマルチプレイヤー
  • ビヘイビアとコンポーネントのリスト
  • ビヘイビアとコンポーネントの選択(シングルプレイヤーとマルチプレイヤー)
  • マルチプレイヤーの設定に関して
  1. はじめに

マルチプレイヤーについて

マルチプレイヤーの体験を使用する際の要件をご紹介します。

PreviousGame Maker のインストールNextマルチプレイヤー環境下でのパフォーマンス

マルチプレイヤー機能を利用するとオブジェクトの位置や状態、環境をコントロール及び変更することができるビヘイビア やコンポーネントとのより高度な同期が可能になります。

マルチプレイヤーの機能を使うとオブジェクトが移動したり環境の変化が起こった際にすべてのプレイヤーがその変化を同時に見ることができます。

まずはDoor(ドア)のビヘイビア を例に挙げて解説します。

このビヘイビアを持ったActor(アクター)はすべてのプレイヤーが使用することができ、Collision(コリジョン)もすべてのプレイヤーに対して変更することできます。つまりドアが開くとすべてのプレイヤーのドアが開き、ドアが閉まるとすべてのプレイヤーのドアが閉まるという状況を作り出すことができます。

次にBasic Platform(ベーシックプラットフォーム)のビヘイビア を例に挙げて解説します。

このビヘイビアを持ったアクターが1つの場所から他の場所へと移動するとその動きはすべてのプレイヤー間で同期されます。

すべてのプレイヤー間で同期可能で移動するプラットフォームやドアを使用することで体験内にクリアしにくい部分を設定したり、異なるエリアへのアクセスを可能にします。

シングルプレイヤーとマルチプレイヤー

マルチプレイヤー機能は体験を作っていく際に楽しい部分でもありますが、同時に複雑な機能を重ねて作成していく細かい作業が必要な部分でもあります。

参加者が増えるにしたがってプレイヤーたちがどのように交流するのか、そのやり取りから何を生み出すかなどを考えながらより「深み」のある構造を作りだしていけるように作成していきましょう。

Synchronized(同期可能)ビヘイビア やコンポーネントは同期ができないビヘイビアやコンポーネントとはメッセージの送受信ができないため注意が必要です。

すべてのビヘイビアやコンポーネント、ツールが同期機能を持っているわけではありませんのでご注意ください。

例えばRules(ルール)のタブで作成されたクエストは同期されていないのでClient Only(クライアントオンリー)のメッセージによってのみトリガーされ、それぞれのプレイヤーは「ローカル」でクリアすることになります。

0.8 のアップデートではClient only[SP:シングルプレイヤー]とSynchronized[MP:マルチプレイヤー]でそれぞれ異なるビヘイビアとコンポーネントが新たに導入されました。

Client Only[SP:シングルプレイヤー]:ビヘイビアとコンポーネント は「ローカル」で機能するため、Client Only のビヘイビア やコンポーネントの間でのみメッセージの送受信を行うことができます。クエストの進捗状況などのメッセージや変更はマルチプレイヤーの体験内でプレイしていたとしてもそれぞれ個人のプレイヤーしか見ることができません。

Synchronized[MP:マルチプレイヤー]:ビヘイビア とコンポーネント は「グローバル」に適用されるためプレイヤーとの間で交換された1つ1つのメッセージはすべてのプレイヤーに適用され、メッセージの結果として生じる変化はすべてのプレイヤーに適用されます。

Collectible(収集品)のコンポーネントを例に挙げて解説します。

このコンポーネントは Client Only でも Synchronized でも選択することが可能です。

[SP] Collectible のコンポーネントを持つオブジェクトを拾った場合、オブジェクトは個人のプレイヤーの体験からは消えてしまいますが、他のプレイヤーがまだ拾えるように体験内には残ります。これはアクターの状態の変化が個人のプレイヤーにしか適用されないからです。

[MP] Collectible のコンポーネント を持つオブジェクトを拾った場合、オブジェクトはすべてのプレイヤーの体験から消え、一人のプレイヤーしか拾うことができないという状況が生まれます。これはアクターの状態の変化がすべてのプレイヤーに適用されるからです。

ビヘイビアとコンポーネントのリスト

SP とMP で使用可能な機能を分けたことによってビヘイビア やコンポーネントに関連する選択肢がおよそ倍に増えたことになります。

以下のチャートでは変更になったビヘイビアとコンポーネントと使用可能な環境をチャートにわかりやすくまとめてご紹介しています。

上記のリストにあるグレーで色付けされている従来のビヘイビアやコンポーネントはMPの体験とは互換性がありません。(MP COMPATIBLE のタブにNO と表示されています。) これらの機能はマルチプレイヤーでは使用できませんのでご注意ください。

ポートされていないClient only のビヘイビア やコンポーネントをマルチプレイヤーの体験で使用するとプレイヤー間での同期が適切に処理されないことがあります。

上記のアイテムの中にはSynchronized のカテゴリーでは使用可能でもClient only では使用不可となっているものも含まれています。

これはビヘイビアとコンポーネントがシングルプレイヤーの環境で使用できないという意味ではなく、それぞれのプレイヤーが体験内で各自の目的に合わせて使用できる仕様になっていないということを意味しています。

例えばBasic Platform はClient only では使用できず、ビヘイビアのウィンドウのSynchronized のフィルタからしかアクセスできない仕様になっています。この機能はシングルプレイヤーの体験で使用することはできますが、マルチプレイヤーではコリジョンと動きを全てのユーザー間で非同期にすることはできません。

マルチプレイヤーの体験でも使用できるシングルプレイヤーの機能には以下も含みます。

Asker のビヘイビア との会話 Speaker とIndicator のコンポーネント に関わる通知 Animated Decoration のビヘイビア を使用したアクションに対する反応 Message Broadcaster のようなビヘイビア によって起動するクエスト目標

ビヘイビアとコンポーネントの選択(シングルプレイヤーとマルチプレイヤー)

ビヘイビアとコンポーネントを適用するには、まずはじめにアクターを選択し、次にプロパティパネルからビヘイビアとコンポーネントの欄をクリックします。

ポップアップウィンドウが表示され、デフォルトの画面では緑色の文字でアイテムの名前の前に[SP] と表記されているClient Only の選択肢が表示されます。

デフォルトの画面でグレーの文字で表示されるビヘイビアやコンポーネントはマルチプレイヤーの体験とは互換性がありません。シングルプレイヤーの体験のみで使用してください。

ビヘイビアとコンポーネントのSynchronized を選択するにはポップアップ画面右上にType(タイプ)と書かれたドロップダウンより切り替えを行ってください。Synchronized を選択すると画面が更新され、黄色の文字でアイテムの名前の前に [MP] と表記されている選択肢が表示されます。

使用環境に合わせて使いたいアイテムが見つかったら、そのアイテムをクリックするだけで簡単に追加することができます。

[MP] と [SP]のビヘイビアとコンポーネント の色の識別は今後のアップデートでマルチプレイヤーとの互換性が確立された時点で削除される予定になっています。

シーンではオブジェクト がClient Only か Synchronized かどうかの表示はされませんのでご注意ください。

[MP] と[SP] のビヘイビア とコンポーネント を同じアクターに使用することはできません。

例:[MP] のAsker のビヘイビアを持っているものに[SP]のIndicator のコンポーネント を設定することはできません。

タイプの異なる選択肢のビヘイビア やコンポーネントを設定しようとすると以下のメッセージが表示されます。

「BLOCKED BY Network policy incompatible with another Behaviour/component assigned to the actor/s」(アクターに割り当てられたビヘイビア やコンポーネントと互換性がないためネットワークポリシーに則りブロックされました。)

それぞれのバージョンが使用環境に合わせて設計されているため、上記のような使用環境が異なる機能を同時に使用すると重大な問題が発生してしまいますのでご注意ください。

マルチプレイヤーの設定に関して

システムエラーや重大な問題等を引き起こす可能性を減らすためにアクターのType(タイプ)が常に同じであることを確認してください。

1つのアクターのすべてのビヘイビアとコンポーネントが必ずClient Only か Synchronized のどちらかになるように統一してください。

1️⃣ Type(タイプ)

特定のType のビヘイビアやコンポーネントがアクターに追加されている場合、反対の設定に自動的にアクセス制限がかかり、ビヘイビアやコンポーネントのウィンドウでは選択されていない方の項目は選択できなくなります。

2️⃣ メッセージ

Client Only に設定されているアクターはSynchronized に設定されているアクターにメッセージを送ることができないため(反対の設定も同様)、アクターのコミュニケーションを設定する際にはタイプの一貫性を保つように注意してください。

3️⃣ Hierarchy(ヒエラルキー)

アクターがClient Only に設定されている場合はSynchronized に設定されているアクターの親や子に設定することはできないため(反対の設定も同様)、アクターの親子関係を設定する際には統一性を保つように注意してください。

4️⃣ スポーンに関連するビヘイビア やコンポーネント

Asset Spawner(アセットスポナー)のビヘイビア やReplace Asset(アセットの交換)のビヘイビア、Drop(ドロップ)のコンポーネント を使用して、体験内でスポーンされたアクターには必ずスポナーと同じType を選択してください。

Synchronized のビヘイビアはClient Only のアクターをスポーンすることはできません。(反対も同様)

🏁
左:Client-Only (シングルプレイヤー)のビヘイビア 右:Syncronized (マルチプレイヤー)のビヘイビア
新旧ビヘイビアとコンポーネント のリスト
[MP] のビヘイビアを持ったアクターに[SP] のコンポーネントを追加しようとすると表示されるメッセージ