長いコースを作った場合、あと少しでゴールというところで落下してしまい、また最初からやり直す羽目になるとプレイヤーはイライラするでしょう。チェックポイントとして、複数のスポーン場所(リスタートできる所)を持つことで、プレイヤーはゲームの特定の部分に到達した後にリスポーン、再スタートすることができます。スーパーマリオなどのゲームでこういった仕組みを見たことがあるかもしれません。
リスポーン場所は以下のような状況に適しています。
- 難しいジャンプの前や後
- プレイヤーが短時間プレイした後
チェックポイントシステムの設定
各プレイヤーには、特定の SpawnLocation が割り当てられています。プレイヤーが新しいSpawnLocationに触れるたびに、新しい場所が以前の場所に置き換わります。途中で落ちてしまった場合は、最後に触れたSpawnLocationでリスポーンします。
チームサービスを追加する
チームサービスというツールを使って、複数のスポーン場所を作成することができます。各チームには固有のスポーン場所が割り当てられます。プレイヤーがステージをクリアすると、Teamが変更され、そのTeamに設定したスポーン場所に変更されるということになります。
チームとは
ロブロックスは、マルチプレイヤーのゲームです。そのため、何人ものプレイヤーがゲームに入ってくることを想定しなくてはなりません。それも同時に入ってくるのではなく、バラバラに入ってくるということを考えなくてはなりません。つまり、まだ1つのステージもクリアできていないプレイヤーを「チーム0」とし、ステージ1をクリアしたプレイヤーを「チーム1」と定義する。それがチームという考えです。
- MODEL(モデル)タブを選択します。
- Advanced(アドバンスト)セクション(一番右)で、Service(サービス)(2個の歯車)をクリックします。
- Teams(チーム)を選択します。
- Insert(挿入)をクリックします。
- ExplorerにTeams(チーム)フォルダが作成されたことを確認します。
Teamを追加する
チームサービスが追加されたことで、Teamを作成することができます。作成したそれぞれのTeamは、ゲーム内の異なるスポーン場所(チェックポイント)が設定できます。プレイヤーがゲームを進めていくうちに、新しいTeamを切り替わっていくことになります。
- Explorerで、Teams(チーム)を右クリックしてメニューを表示します。
- Insert Object(オブジェクトの挿入)> Team(チーム)をクリックします。Teamsフォルダーに新しいチームが作成されます。
Teamが表示されない場合、ステップを最初からやりなおしてみてください。間違ったオブジェクトを右クリックしていたり、チームサービスを挿入していなかったりする場合があります。
Team名を変更する
チーム名というよりも、ステージ名、エリア名といった方が分かりやすいかも知れません。名前はゲームのテーマに合わせます。以下に例を挙げます。
- Stage 1(ステージ1)
- Lobby(ロビー)
- Unicorn Valley(ユニコーンの谷)
- Village Area(村エリア)
- Beginner Room(初心者の部屋)
チーム名の変更は以下のように行います。
- Team(チーム)を右クリックします。
- Rename(名前の変更)クリックします。
- 分かりやすい名前を付けます。(プログラミングのことを考慮するならば、英単語の方がベスト)
Teamのスポーンを変更する
現時点では、どのプレーヤーも最初の SpawnLocation にスポーンすることになります。よって、このままですと、15番目のスポーン位置にいるプレイヤーが誤ってゲームのスタート地点にリスポーンしてしまう可能性があります。
Teamプロパティを設定する
この問題を修正するには、Teamプロパティを変更する必要があります。
- スタート時のSpawnLocationをクリックします。
- Properties(プロパティ)ウィンドウで、Neutral(ニュートラル)のチェックを外します。
ゲームに入ってきたときの最初のスボーン位置のみ、Neutralをオンにします。
これにより、プレイヤーはSpawnLocationのTeamColorにマッチしてしている場合のみ、このSpawnLocationでスポーンすることができます。これにより、ゲーム内で問題が発生することを防ぎます。
最初のSpawnLocationにチームを割り当てる際には、SpawnLocationのTeamColorと、TeamのTeam Colorを同じにする必要があります。
- SpawnLocationのPropertiesウィンドウで、TeamColorを探します。この色を覚えておいてください。
- 名前を変更したTeamオブジェクトをクリックします。
- TeamColorを最初の1のSpawnLocationと同じになるように設定します。
- ゲームをテストします。
SpawnLocationが機能しない場合、次を確認してください。
1. SpawnLocationのBrickColorではなく、TeamColorが置き換えられていることを確認します。
2. 色がまったく同じであることを確認します。
スポーン場所を追加する
スポーン場所をさらに追加することにより、プレイヤーにより長く楽しい体験を提供することができます。
- 新しいSpawnLocationを追加します。
- SpawnLocationの名前をSpawnLocation2に変更します。
- AllowTeamChangeOnTouchをONにます。SpawnLocation2に触ったプレイヤーは、このTeamColorに変更され、新たなチームに変わります。
- Neutralのチェックを外します。
- 新しいTeamColorを選びます。
Teamオブジェクトを設定する
- 新しいTeamオブジェクトを作成します(Teams(チーム)を右クリック > Insert Object(オブジェクトの挿入)> Team(チーム))。
- エリア名に変更します。例:Stage2
チームプロパティを変更する
- AutoAssignableのチェックを外します。
- TeamColorを変更し、新しいSpawnLocationと同じにします。
AutoAssignableをONにするのは最初のチームのみとします。プレイヤーがゲームをスタートさせると、自動的に最初のチェックポイントに割り当てられます。
プロジェクトを続ける
- 少なくとも3つの新しいスポーンロケーションを追加します。
- 意図した通りに機能することを確認するため、各ポイントを追加するたびにテストします。
スポーンロケーションはたくさん追加してかまいません。ただし、次の点に注意してください。
それぞれ異なる – 名前に変更します。(例:SpawnLocation2、SpawnLocation3 …)
- 各スポーンロケーション/チームオブジェクトごとに異なるチームカラーを使用します。
問題:プレイヤーが間違ったスポーン場所にスポーンされる場合、 次の点を確認してください。
・最初のチームのみがAutoAssignに設定されているかどうか
・SpawnLocationがNeutralがONになっているかどうか
・色がSpawnLocationのTeamColorとチームオブジェクトTeamColorに一致してしているかどうか
[ 【4】テーマと色 ]
[ 【6】スクリプトの作成 ]