# 0.11 アップグレードガイド

{% hint style="danger" %}
Game Maker 0.11 ではコリジョンがアップデートされ、マルチプレイヤーで互換性のあるオブジェクティブシステムが導入されました。
{% endhint %}

<figure><img src="/files/wUCt0C4ufPRx0JW1PomM" alt=""><figcaption></figcaption></figure>

<details>

<summary><strong>チェックリスト</strong></summary>

* [ ] デフォルトパレットでブロックやアセットのスペースを調節してください。
* [ ] 新しくなったムーブメントパレットで選択したカスタムアバターのアニメーションを確認してください。
* [ ] 登ることができるアセットの表面や足場の端があっているか確認してください。
* [ ] 複雑なアセットや使い方のものにシンプルなコリジョンを使用できるようにアップデートされているか確認してください。
* [ ] 削除された\[SP] のコリジョンにSpeaker のコンポーネントの設定を適用させているか確認してください。
* [ ] 0.11 のオブジェクティブに移行して、インタラクティブな\[MP] ロジックを使ってマルチプレイヤーでクエストをトリガーできるようになりました。

</details>

{% hint style="success" %}
[**Game Maker 0.11** ](/jp/creators/game-maker/chcangelog/game-maker-0.11.md)のページから本バージョンアップのすべての詳細をご覧いただけます。
{% endhint %}

## コリジョンの変更

### <img src="/files/sdPS8EhTpz95kG4lj1If" alt="" data-size="line"> [Movement Palettes](#movement-palettes)（ムーブメントパレット）

カメラ、コントロール、アニメーションを含めゲームの感じ方に影響を与えることができる設定です。

{% hint style="warning" %}
新しい体験では**Coyote Time**（コヨーテタイム）や**Edge Recovery**（エッジリカバリー）が**Default** として使用でき、よりプレイしやすいプラットフォームの作成が可能になりますが、様々な別のオブジェクトやブロックの位置を設定する必要があります。

0.11 以前の体験ではLegacy のパレットからのアップデートは任意となっています。
{% endhint %}

<figure><img src="/files/3KLzqtVnPBRGCnDkWquM" alt=""><figcaption><p>Default のパレットの機能</p></figcaption></figure>

#### 重要ポイント

* 0.10（Legacy）では、プレイヤーが入れなかった部分にも0.11 の機能を使うと入れてしまう可能性があるため、プレイヤーのエリアへのアクセスを防ぐようにデザインしてください。
* ジャンプの高さや距離、難易度などを細かくデザインします。
* 必要に応じたアセットのデザインが必要です。
* カスタムアバターの使い方

{% hint style="warning" %}
**CUSTOM AVATARS と MOVEMENT PALETTES**

古いアセットには0.11 の[**Movement Palette**](https://docs.sandbox.game/jp/creators/game-maker/chcangelog/game-maker-0.11#movement-palettes)（ムーブメントパレット）を使用してもEdge Recovery などのアニメーションが使用できない可能性があります。必要なアニメーションは必ずテストを行って制作を進めるようにしてください。
{% endhint %}

{% hint style="warning" %}
アクセスバリアは最低3ブロック分の高さが必要です。（**Default** のパレットでは2つ分）
{% endhint %}

{% tabs %}
{% tab title="ゲームデザイン（ブロック）" %}

#### それぞれの動きに必要となるブロックの数

<table><thead><tr><th width="219"></th><th width="168">ジャンプ距離（歩く）</th><th>ジャンプ距離（走る）</th><th>ジャンプ高度</th><th data-hidden data-type="files"></th></tr></thead><tbody><tr><td>Legacy（0.11 以前）</td><td>5 ブロック</td><td>7 ブロック</td><td>1.5 ブロック</td><td></td></tr><tr><td>Default（0.11 以降）</td><td>7 ブロック</td><td>10 ブロック</td><td>2.5 ブロック</td><td></td></tr></tbody></table>
{% endtab %}

{% tab title="アセットデザイン（ボクセル）" %}
それぞれの動きに必要となるブロックの数

<table><thead><tr><th width="219"></th><th width="168">ジャンプ距離（歩く）</th><th>ジャンプ距離（走る）</th><th>ジャンプ高度</th><th data-hidden data-type="files"></th></tr></thead><tbody><tr><td>Legacy（0.11 以前）</td><td>160 ボクセル</td><td>224 ボクセル</td><td>48 ボクセル</td><td></td></tr><tr><td>Default（0.11 以降）</td><td>224 ボクセル</td><td>320 ボクセル</td><td>80 ボクセル</td><td></td></tr></tbody></table>
{% endtab %}
{% endtabs %}

***

### <img src="/files/nU4Hq0F7FHqx9H4byCH0" alt="" data-size="line"> Climbable のコンポーネント

{% hint style="warning" %}
オブジェクトの端を合わせて、シンプルなコライダーを使って**Climbable** のコンポーネントをオブジェクトに設定することをおすすめします。
{% endhint %}

**アラインメント（位置を合わせること）**

登ることができるオブジェクトから表面へのスムーズな移動を実現するために端を揃えます。

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span>  端が揃っていない</td><td><a href="/files/wjQFMmOn7gfw8Hqdmjtn">/files/wjQFMmOn7gfw8Hqdmjtn</a></td></tr><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span>  端が揃っている</td><td><a href="/files/On6zGvhG0Go98C0FvN4M">/files/On6zGvhG0Go98C0FvN4M</a></td></tr></tbody></table>

**複雑なコリジョン**

面の多いオブジェクトのコリジョンを削除し、同じ場所にある見えないアセットにシンプルなコリジョンを設定し、スムーズに登れるようにするために**Clibmable** のコンポーネントを設定します。

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="274c">❌</span>  登れる面の数が多すぎる</td><td><a href="/files/6IUuYHGRx6YM8TaAtmPr">/files/6IUuYHGRx6YM8TaAtmPr</a></td></tr><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span>  簡単に計算できるように登れるアセットを代用する</td><td><a href="/files/4ILNw1CTIF9TINaFN2YC">/files/4ILNw1CTIF9TINaFN2YC</a></td></tr></tbody></table>

***

### ![](/files/w0rfqzZyrmJJYBdFNP3f) Speaker のコンポーネント

{% hint style="warning" %}
**\[SP] Speaker** のコンポーネントをオブジェクトに設定してコリジョンを削除します。ロジックに変更が必要な場合があります。
{% endhint %}

アクターを回転させることができる**Look at Target** のオプションによって、 **\[SP] Speaker** のコンポーネントはサーバーとマルチプレイヤーの体験のゲームクライアントとの間で矛盾した物理的設定が発生する場合があります。その場合に行うことができるアップデートを2つ紹介します。

#### :large\_blue\_diamond: \[MP] が使用可能な場合

**\[SP] Speaker** のコンポーネント&#x3092;**\[MP]** に変更して同じ結果がでるように必要に応じて調節をしてください。

<table data-card-size="large" data-view="cards"><thead><tr><th></th></tr></thead><tbody><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="26a0">⚠️</span> マルチプレイヤーの環境下では、これによってオブジェクトのコミュニケーションがクライアントからサーバーへと変わり、<strong>[SP]</strong> のオブジェクトとはコミュニケーションを取らなくなります。必要に応じて他のロジックを修正してください。</td></tr><tr><td><span data-gb-custom-inline data-tag="emoji" data-code="26a0">⚠️</span> オブジェクトに他の<strong>[SP]</strong> のロジックが設定されている場合、<strong>[MP]</strong> のロジックを設定することはできません。変更が複雑過ぎる場合、他の方法でアップデートすることをおすすめします。</td></tr></tbody></table>

#### :large\_blue\_diamond: \[SP] が必要な場合

**\[SP] Speaker** のコンポーネントはオブジェクトに設定したまま、コリジョンを持ったオブジェクトを複製して、すべてのロジックを削除し、見えない設定にします。

***

## ![](/files/aId6sqjvhxBmsNygozEL) オブジェクティブシステムポート

<figure><img src="/files/VA5m6vvYs2aSm29PGGzU" alt="" width="563"><figcaption><p>New！チーム対抗クエスト</p></figcaption></figure>

{% hint style="warning" %}
**0.11 オブジェクティブシステム**

* 以前に制作した体験の0.11への移行は任意となっています。
* UI の変更によって重複している内容が削除されたり、機能が改善されました。
* :bust\_in\_silhouette: シングルプレイヤー - <mark style="color:green;">**\[SP] のビヘイビアやコンポーネント**</mark>が <img src="/files/aId6sqjvhxBmsNygozEL" alt="" data-size="line"> オブジェクティブをトリガーします。
* :busts\_in\_silhouette: マルチプレイヤー - プレイヤーソースのデータを送信するためには<mark style="color:orange;">**インタラクティブな\[MP] のビヘイビアやコンポーネント**</mark>のトリガーを使用する必要があります。
  * <img src="/files/6bWxmVgiJSMhXlNnC5PQ" alt="" data-size="line"> <mark style="color:orange;">**\[MP] のオブジェクト**</mark> → <img src="/files/aId6sqjvhxBmsNygozEL" alt="" data-size="line"> オブジェクティブに送信
  * <img src="/files/6bWxmVgiJSMhXlNnC5PQ" alt="" data-size="line"> <mark style="color:orange;">**\[MP] のオブジェクト**</mark> → ルールを含む他のロジックを <img src="/files/aId6sqjvhxBmsNygozEL" alt="" data-size="line">オブジェクティブに送信
  * <img src="/files/K7DvySE2fByffjF3KmI3" alt="" data-size="line"> ルール → スポーンされた\[MP] のオブジェクト、または \[MP] のオブジェクトにテレポート してオブジェクティブに送信

{% endhint %}

### 既存のクエストのアップグレード

0.11 以前のクエスト設定に応じたステップごとのアップグレード方法をご紹介します。

{% tabs %}
{% tab title="1." %}

#### Unlock Quest

{% endtab %}

{% tab title="Auto Unlock" %}
**Auto Unlock** のオプションは削除されました。同じ機能の再現方法：

1. **Required Message** を選択するか、メッセージを作成します。
2. **Game Rules** を開き、**OnPlayerJoin** を追加します。
3. オブジェクティブをトリガーするにはルールの発信メッセージをRequired Message に設定します。
   {% endtab %}

{% tab title="Requires Message" %}
**シングルプレイヤー**

変更は必要ありません。

**マルチプレイヤー**

{% hint style="warning" %}
プレイヤーソースデータが必要です。
{% endhint %}

クエストに含まれるすべてのプレイヤーは、オブジェクティブをトリガーしたり、オブジェクティブを含む一連のロジックをトリガーする\[MP] のビヘイビアやコンポーネントと直接インタラクションを取る必要があります。
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="2." %}

#### Launch Quest

{% endtab %}

{% tab title="Auto Launch" %}
変更は必要ありません。
{% endtab %}

{% tab title="Requires Message" %}

#### **シングルプレイヤー**

変更は必要ありません。

**マルチプレイヤー**

{% hint style="warning" %}
プレイヤーソースデータが必要です。
{% endhint %}

クエストに含まれるすべてのプレイヤーは、オブジェクティブをトリガーしたり、オブジェクティブを含む一連のロジックをトリガーする\[MP] のビヘイビアやコンポーネントと直接インタラクションを取る必要があります。
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="3." %}

#### Quest Type

{% endtab %}

{% tab title="Counter" %}

### Collected Objects

**シングルプレイヤー**

変更は必要ありません。

**マルチプレイヤー**

拾うことができるオブジェクトのグローバル設定をゲームプレイに合わせて変更してください。

| ゲームプレイ                         | 設定                                                                                                                             | 収集可能なアイテムの合計数                   |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------- |
| それぞれのプレイヤーはタグ付けされたオブジェクトの収集が可能 | 収集可能なオブジェクトごとに**Global** の設定を<mark style="color:red;">**False**</mark> に設定                                                     | プレイヤーの数 x オブジェクトの数              |
| 一人のプレイヤーがタグ付けされたオブジェクトを収集可能    | 収集可能なオブジェクトの**Global** の設定を<mark style="color:red;">**True**</mark> に設定                                                        | オブジェクトの数                        |
| コンビネーション                       | 収集可能なオブジェクトごとに必要に応じて**Global** の設定を<mark style="color:red;">**False**</mark> または<mark style="color:green;">**True**</mark> に設定 | （プレイヤーの数 x オブジェクトの数） + オブジェクトの数 |

### Object Deaths

変更は必要ありません。
{% endtab %}

{% tab title="Asset Death" %}
変更は必要ありません。
{% endtab %}

{% tab title="Timer" %}

### Survive または Defend

変更は必要ありません。

### Message Needed

**シングルプレイヤー**

変更は必要ありません。

**マルチプレイヤー**

{% hint style="warning" %}
プレイヤーソースデータが必要です。
{% endhint %}

クエストに含まれるすべてのプレイヤーは、オブジェクティブをトリガーしたり、オブジェクティブを含む一連のロジックをトリガーする\[MP] のビヘイビアやコンポーネントと直接インタラクションを取る必要があります。
{% endtab %}

{% tab title="Wait for Message" %}
**シングルプレイヤー**

変更は必要ありません。

**マルチプレイヤー**

{% hint style="warning" %}
プレイヤーソースデータが必要です。
{% endhint %}

クエストに含まれるすべてのプレイヤーは、オブジェクティブをトリガーしたり、オブジェクティブを含む一連のロジックをトリガーする\[MP] のビヘイビアやコンポーネントと直接インタラクションを取る必要があります。
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="4." %}

#### Quest Completion

{% endtab %}

{% tab title="Auto Completion" %}
変更は必要ありません。
{% endtab %}

{% tab title="Requires Message" %}
**シングルプレイヤー**

変更は必要ありません。

**マルチプレイヤー**

{% hint style="warning" %}
プレイヤーソースデータが必要です。
{% endhint %}

クエストに含まれるすべてのプレイヤーは、オブジェクティブをトリガーしたり、オブジェクティブを含む一連のロジックをトリガーする\[MP] のビヘイビアやコンポーネントと直接インタラクションを取る必要があります。
{% endtab %}

{% tab title="Wait for Input" %}
**Wait for Input** のオプションは削除されました。同じ機能を再現するためには**Requires Message** のクエストタイプに変更してください。
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="5." %}

#### Action After Completion

{% endtab %}

{% tab title="Send Message" %}

#### **シングルプレイヤー** & **マルチプレイヤー**

送信メッセージのため変更は必要ありません。

{% hint style="success" %}
Thこのメッセージにはプレイヤーソースデータが含まれています。&#x20;

ルールの**Required Message** にこのメッセージが設定してある場合、ゲームルールのチーム変数やプレイヤー変数の変更をトリガーできます。
{% endhint %}
{% endtab %}

{% tab title="End Game" %}
**End Game** のオプションは削除されました。同じ機能の再現方法：

**シングルプレイヤー**

**Send Message** のオプションを使ってオブジェクトの**Victory** や**Defeat** のコンポーネントをトリガーしてください。

**マルチプレイヤー**

**Send Message** のオプションを使ってオブジェクトの**Victory** や**Defeat** のコンポーネントをトリガーしてください。

{% hint style="warning" %}
プレイヤーソースデータが必要です。
{% endhint %}

クエストたゲームの最後に含まれるすべてのプレイヤーは、オブジェクティブをトリガーしたり、オブジェクティブを含む一連のロジックをトリガーする\[MP] のビヘイビアやコンポーネントと直接インタラクションを取る必要があります。
{% endtab %}

{% tab title="Nothing" %}
**Nothing** のオプションは重複のため削除されました。変更は必要ありません。
{% endtab %}
{% endtabs %}

#### 新しいクエストの作成 <a href="#create-new-quests" id="create-new-quests"></a>

Game Maker 0.11 のオブジェクティブはサーバーレベルで機能するため、今まで以上にクリエイティブな可能性が広がりました。

今回のバージョンでは機能を維持したまま移行することを目的にしていますが、今後は様々なマルチプレイヤーのシナリオを作っていけるような機能を実装する予定です。（予定は変更となる場合がありますのでご了承ください。）

マルチプレイヤーと互換性のあるクエスト（0.11）のシナリオに関しては[**Text, Quests & Icons**](https://docs.sandbox.game/en/creators/game-maker/creative-guides/logic-guide/text-quests-and-icons)（順次日本語に翻訳予定）をご覧ください。

紹介したロジックはあくまでも一般的なロジックのため、制作の際には必ずテストを行いながら制作を進めてください。また[**クリエイターフォーラム**](https://forum.sandbox.game/)では様々なアイデア交換をすることができ、制作に役立つ情報をご紹介しています。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sandbox.game/jp/creators/game-maker/chcangelog/game-maker-0.11/upgrade-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
