(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-27
(45)【発行日】2025-02-04
(54)【発明の名称】ゲームプログラム、ゲームシステム、およびゲーム処理方法
(51)【国際特許分類】
A63F 13/45 20140101AFI20250128BHJP
A63F 13/795 20140101ALI20250128BHJP
A63F 13/55 20140101ALI20250128BHJP
A63F 13/79 20140101ALI20250128BHJP
A63F 13/47 20140101ALI20250128BHJP
【FI】
A63F13/45
A63F13/795
A63F13/55
A63F13/79 500
A63F13/47
(21)【出願番号】P 2023126361
(22)【出願日】2023-08-02
【審査請求日】2023-11-10
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】110001276
【氏名又は名称】弁理士法人小笠原特許事務所
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】松浦 龍平
【審査官】嶋田 行志
(56)【参考文献】
【文献】特開2022-155070(JP,A)
【文献】特開2019-122561(JP,A)
【文献】[ドラクエウォーク]メガモンスター討伐の攻略 出現時間と優先度[DQウォーク],GameWith ドラクエウォーク攻略[オンライン],2024年09月25日,インターネット<URL:https://gamewith.jp/dq-walk/article/show/166567>,最終更新日:2023.06.03 03:04
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-A63F 13/98
A63F 9/24
YouTube.com
4Gamer.net
(57)【特許請求の範囲】
【請求項1】
第1のゲーム装置のユーザと、当該第1のゲーム装置とネットワークを介してマッチングされた第2のゲーム装置のユーザとの間でマルチプレイゲームを行うゲームプログラムであって、
前記第1のゲーム装置のコンピュータに、
前記第1のゲーム装置のユーザによる操作データに基づいて移動制御される第1プレイヤキャラクタと、前記第2のゲーム装置のユーザによる操作データに基づいて移動制御される第2プレイヤキャラクタと、所定のトリガーオブジェクトとをゲームステージに配置させ、
前記ゲームステージにおける、前記第1プレイヤキャラクタおよび前記第2プレイヤキャラクタによる前記マルチプレイゲームを開始させ、
前記第1プレイヤキャラクタが前記トリガーオブジェクトに作用
することで開始される第1所定時間内に前記第2プレイヤキャラクタが当該トリガーオブジェクトに作用した場合、前記第1プレイヤキャラクタと前記第2プレイヤキャラクタとが前記ゲームステージのプレイ成績を競う第1モードでゲームを進行させ、
前記第1所定時間内に前記第2プレイヤキャラクタが当該トリガーオブジェクトに作用しなかった場合、前記第1プレイヤキャラクタと前記第2プレイヤキャラクタとがプレイ成績を競わない第2モードでゲームを進行させる、ゲームプログラム。
【請求項2】
前記コンピュータに、
前記第1のゲーム装置および前記第2のゲーム装置と前記ネットワークを介してマッチングされた第3のゲーム装置のユーザによる操作データに基づいて移動制御される第3プレイヤキャラクタを、さらに前記ゲームステージに配置させ、
前記第1所定時間内に前記トリガーオブジェクトに作用したプレイヤキャラクタを、第1モードでプレイさせ、
前記第1所定時間内に前記トリガーオブジェクトに作用しなかったプレイヤキャラクタを、第2モードでプレイさせる、請求項1に記載のゲームプログラム。
【請求項3】
前記コンピュータに、
前記トリガーオブジェクトに作用したプレイヤキャラクタを、前記第1所定時間が経過するまで、前記ゲームステージの所定領域から出られなくさせる、請求項1又は2に記載のゲームプログラム。
【請求項4】
前記コンピュータに、
前記ゲームステージの画面のスクロール表示をロックすることによって、前記トリガーオブジェクトに作用したプレイヤキャラクタを、前記所定領域から出られなくさせる、請求項3に記載のゲームプログラム。
【請求項5】
前記コンピュータに、
前記第1モードにおいて、いずれかのプレイヤキャラクタが前記ゲームステージをクリアしてから第2所定時間経過後に、他のプレイヤキャラクタが前記ゲームステージをクリアしていなくても、当該第1モード
を終了させる、請求項1に記載のゲームプログラム。
【請求項6】
前記コンピュータに、
前記第1モード終了時に前記ゲームステージをクリアしていないプレイヤキャラクタのユーザに対して、前記第2モードでゲームプレイ
を続行するのか、ゲームプレイを終了するのかを選択させる、請求項5に記載のゲームプログラム。
【請求項7】
前記マッチングには、互いにフレンドとなっているユーザとの間で行われるフレンドマッチングと、ランダムなユーザとの間で行われるランダムマッチングとがあり、
前記コンピュータに、
前記フレンドマッチングでマッチングされたユーザ間で前記マルチプレイゲームを行う場合にのみ、前記ゲームステージに前記トリガーオブジェクトを配置させる、請求項1に記載のゲームプログラム。
【請求項8】
第1のゲーム装置のユーザと、当該第1のゲーム装置とネットワークを介してマッチングされた第2のゲーム装置のユーザとの間でマルチプレイゲームを行うゲームシステムであって、
前記第1のゲーム装置が備えるプロセッサは、
前記第1のゲーム装置のユーザによる操作データに基づいて移動制御される第1プレイヤキャラクタと、前記第2のゲーム装置のユーザによる操作データに基づいて移動制御される第2プレイヤキャラクタと、所定のトリガーオブジェクトとをゲームステージに配置し、
前記ゲームステージにおける、前記第1プレイヤキャラクタおよび前記第2プレイヤキャラクタによる前記マルチプレイゲームを開始し、
前記第1プレイヤキャラクタが前記トリガーオブジェクトに作用
することで開始される第1所定時間内に前記第2プレイヤキャラクタが当該トリガーオブジェクトに作用した場合、前記第1プレイヤキャラクタと前記第2プレイヤキャラクタとが前記ゲームステージのプレイ成績を競う第1モードでゲームを進行し、
前記第1所定時間内に前記第2プレイヤキャラクタが当該トリガーオブジェクトに作用しなかった場合、前記第1プレイヤキャラクタと前記第2プレイヤキャラクタとがプレイ成績を競わない第2モードでゲームを進行する、ゲームシステム。
【請求項9】
前記プロセッサは、
前記第1のゲーム装置および前記第2のゲーム装置と前記ネットワークを介してマッチングされた第3のゲーム装置のユーザによる操作データに基づいて移動制御される第3プレイヤキャラクタを、さらに前記ゲームステージに配置し、
前記第1所定時間内に前記トリガーオブジェクトに作用したプレイヤキャラクタを、第1モードでプレイさせ、
前記第1所定時間内に前記トリガーオブジェクトに作用しなかったプレイヤキャラクタを、第2モードでプレイさせる、請求項8に記載のゲームシステム。
【請求項10】
前記プロセッサは、
前記トリガーオブジェクトに作用したプレイヤキャラクタを、前記第1所定時間が経過するまで、前記ゲームステージの所定領域から出られなくさせる、請求項8又は9に記載のゲームシステム。
【請求項11】
前記プロセッサは、
前記ゲームステージの画面のスクロール表示をロックすることによって、前記トリガーオブジェクトに作用したプレイヤキャラクタを、前記所定領域から出られなくさせる、請求項10に記載のゲームシステム。
【請求項12】
前記プロセッサは、
前記第1モードにおいて、いずれかのプレイヤキャラクタが前記ゲームステージをクリアしてから第2所定時間経過後に、他のプレイヤキャラクタが前記ゲームステージをクリアしていなくても、当該第1モード
を終了させる、請求項8に記載のゲームシステム。
【請求項13】
前記プロセッサは、
前記第1モード終了時に前記ゲームステージをクリアしていないプレイヤキャラクタのユーザに対して、前記第2モードでゲームプレイ
を続行するのか、ゲームプレイを終了するのかを選択させる、請求項12に記載のゲームシステム。
【請求項14】
前記マッチングには、互いにフレンドとなっているユーザとの間で行われるフレンドマッチングと、ランダムなユーザとの間で行われるランダムマッチングとがあり、
前記プロセッサは、
前記フレンドマッチングでマッチングされたユーザ間で前記マルチプレイゲームを行う場合にのみ、前記ゲームステージに前記トリガーオブジェクトを配置する、請求項8に記載のゲームシステム。
【請求項15】
第1のゲーム装置のユーザと、当該第1のゲーム装置とネットワークを介してマッチングされた第2のゲーム装置のユーザとの間でマルチプレイゲームを行うゲーム処理方法であって、
前記第1のゲーム装置のコンピュータに、
前記第1のゲーム装置のユーザによる操作データに基づいて移動制御される第1プレイヤキャラクタと、前記第2のゲーム装置のユーザによる操作データに基づいて移動制御される第2プレイヤキャラクタと、所定のトリガーオブジェクトとをゲームステージに配置させ、
前記ゲームステージにおける、前記第1プレイヤキャラクタおよび前記第2プレイヤキャラクタによる前記マルチプレイゲームを開始させ、
前記第1プレイヤキャラクタが前記トリガーオブジェクトに作用
することで開始される第1所定時間内に前記第2プレイヤキャラクタが当該トリガーオブジェクトに作用した場合、前記第1プレイヤキャラクタと前記第2プレイヤキャラクタとが前記ゲームステージのプレイ成績を競う第1モードでゲームを進行させ、
前記第1所定時間内に前記第2プレイヤキャラクタが当該トリガーオブジェクトに作用しなかった場合、前記第1プレイヤキャラクタと前記第2プレイヤキャラクタとがプレイ成績を競わない第2モードでゲームを進行させる、ゲーム処理方法。
【請求項16】
前記コンピュータに、
前記第1のゲーム装置および前記第2のゲーム装置と前記ネットワークを介してマッチングされた第3のゲーム装置のユーザによる操作データに基づいて移動制御される第3プレイヤキャラクタを、さらに前記ゲームステージに配置させ、
前記第1所定時間内に前記トリガーオブジェクトに作用したプレイヤキャラクタを、第1モードでプレイさせ、
前記第1所定時間内に前記トリガーオブジェクトに作用しなかったプレイヤキャラクタを、第2モードでプレイさせる、請求項15に記載のゲーム処理方法。
【請求項17】
前記コンピュータに、
前記トリガーオブジェクトに作用したプレイヤキャラクタを、前記第1所定時間が経過するまで、前記ゲームステージの所定領域から出られなくさせる、請求項15又は16に記載のゲーム処理方法。
【請求項18】
前記コンピュータに、
前記ゲームステージの画面のスクロール表示をロックすることによって、前記トリガーオブジェクトに作用したプレイヤキャラクタを、前記所定領域から出られなくさせる、請求項17に記載のゲーム処理方法。
【請求項19】
前記コンピュータに、
前記第1モードにおいて、いずれかのプレイヤキャラクタが前記ゲームステージをクリアしてから第2所定時間経過後に、他のプレイヤキャラクタが前記ゲームステージをクリアしていなくても、当該第1モード
を終了させる、請求項15に記載のゲーム処理方法。
【請求項20】
前記コンピュータに、
前記第1モード終了時に前記ゲームステージをクリアしていないプレイヤキャラクタのユーザに対して、前記第2モードでゲームプレイ
を続行するのか、ゲームプレイを終了するのかを選択させる、請求項19に記載のゲーム処理方法。
【請求項21】
前記マッチングには、互いにフレンドとなっているユーザとの間で行われるフレンドマッチングと、ランダムなユーザとの間で行われるランダムマッチングとがあり、
前記コンピュータに、
前記フレンドマッチングでマッチングされたユーザ間で前記マルチプレイゲームを行う場合にのみ、前記ゲームステージに前記トリガーオブジェクトを配置させる、請求項15に記載のゲーム処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゲーム等の情報処理に関する。
【背景技術】
【0002】
従来から、ゲームステージを複数人のプレイヤでプレイするマルチプレイゲームあった。(例えば、特許文献1)
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
マルチプレイゲームにおいて、より自由度の高いプレイモードの選択が求められていた。
【0005】
それ故に、本発明の目的は、マルチプレイゲームにおいて、より自由度の高いプレイモードの選択ができるゲームプログラム、ゲームシステムおよびゲーム方法を提供することである。
【課題を解決するための手段】
【0006】
上記目的を達成するために、例えば以下のような構成例が挙げられる。
【0007】
第1の構成例は、第1のゲーム装置のユーザと、当該第1のゲーム装置とネットワークを介してマッチングされた第2のゲーム装置のユーザとの間でマルチプレイゲームを行うゲームプログラムであって、第1のゲーム装置のコンピュータに、第1のゲーム装置のユーザによる操作データに基づいて移動制御される第1プレイヤキャラクタと、第2のゲーム装置のユーザによる操作データに基づいて移動制御される第2プレイヤキャラクタと、所定のトリガーオブジェクトとをゲームステージに配置させ、ゲームステージにおける、第1プレイヤキャラクタおよび第2プレイヤキャラクタによるマルチプレイゲームを開始させ、第1プレイヤキャラクタがトリガーオブジェクトに作用してから第1所定時間内に第2プレイヤキャラクタが当該トリガーオブジェクトに作用した場合、第1プレイヤキャラクタと第2プレイヤキャラクタとがゲームステージのプレイ成績を競う第1モードでゲームを進行させ、第1プレイヤキャラクタがゲームステージに配置されたトリガーオブジェクトに作用してから第1所定時間内に第2プレイヤキャラクタが当該トリガーオブジェクトに作用しなかった場合、第1プレイヤキャラクタと第2プレイヤキャラクタとがプレイ成績を競わない第2モードでゲームを進行させる。
【0008】
上記第1の構成例によれば、マルチプレイゲームにおいて、ゲームステージが開始してから、プレイヤキャラクタを操作することによって各プレイヤにプレイモードを選択させることができる。
【0009】
第2の構成例は、上記第1の構成例において、コンピュータに、第1のゲーム装置および第2のゲーム装置とネットワークを介してマッチングされた第3のゲーム装置のユーザによる操作データに基づいて移動制御される第3プレイヤキャラクタを、さらにゲームステージに配置させ、第1所定時間内にトリガーオブジェクトに作用したプレイヤキャラクタを、第1モードでプレイさせ、第1所定時間内にトリガーオブジェクトに作用しなかったプレイヤキャラクタを、第2モードでプレイさせる。
【0010】
第3の構成例は、上記第1又は2の構成例において、コンピュータに、トリガーオブジェクトに作用したプレイヤキャラクタを、第1所定時間が経過するまで、ゲームステージの所定領域から出られなくさせる。
【0011】
上記第3の構成例によれば、プレイ成績を競う第1モードにおいて、他のプレイヤキャラクタよりも早いタイミングでプレイヤキャラクタを移動開始させて有利にゲームを進めることを防止できるので、プレイ成績を競う第1モードの公平性を確保できる。
【0012】
第4の構成例は、上記第3の構成例において、コンピュータに、ゲームステージの画面のスクロール表示をロックすることによって、トリガーオブジェクトに作用したプレイヤキャラクタを、所定領域から出られなくさせる。
【0013】
上記第4の構成例によれば、プレイヤキャラクタの移動を制限することによる違和感を低減できる。
【0014】
第5の構成例は、上記第1の構成例において、コンピュータに、第1モードにおいて、いずれかのプレイヤキャラクタがゲームステージをクリアしてから第2所定時間経過後に、他のプレイヤキャラクタがゲームステージをクリアしていなくても、当該第1モード終了させる。
【0015】
上記第5の構成例によれば、ゲームステージクリアに大きく遅れているプレイヤキャラクタを待つことなく第1モードを終了することができる。
【0016】
第6の構成例は、上記第5の構成例において、コンピュータに、第1モード終了時にゲームステージをクリアしていないプレイヤキャラクタのユーザに対して、第2モードでゲームプレイ続行するのか、ゲームプレイを終了するのかを選択させる。
【0017】
上記第6の構成例によれば、プレイ成績を競う第1モードが終了したユーザに、プレイ成績を競わない第2モードでゲームを続行する選択肢を提供できる。
【0018】
第7の構成例は、上記第1の構成例において、マッチングには、互いにフレンドとなっているユーザとの間で行われるフレンドマッチングと、ランダムなユーザとの間で行われるランダムマッチングとがあり、コンピュータに、フレンドマッチングでマッチングされたユーザ間でマルチプレイゲームを行う場合にのみ、ゲームステージにトリガーオブジェクトを配置させる。
【0019】
上記第7の構成例によれば、互いにフレンドのユーザ同士でのみ第1モードでゲームを行うことができる。
【発明の効果】
【0020】
本実施形態によれば、マルチプレイゲームにおいて、より自由度の高いプレイモードの選択ができるゲームプログラム、ゲームシステムおよびゲーム方法を提供することができる。
【図面の簡単な説明】
【0021】
【
図1】本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図
【
図2】本体装置2の内部構成の一例を示すブロック図
【
図3】本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図
【
図21】DRAM85に記憶される各種データの例を示す図
【発明を実施するための形態】
【0022】
以下、一実施形態について説明する。
【0023】
[情報処理システムのハードウェア構成]
【0024】
以下、本実施形態の一例に係る情報処理システム(ゲームシステム、ゲーム装置)について説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる。以下では、本実施形態のゲームシステム1のハードウェア構成について説明し、その後に本実施形態のゲームシステム1の制御について説明する。
【0025】
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。
図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
【0026】
また、本体装置2は、スピーカを備えており、スピーカから効果音等の音が出力される。
【0027】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための左側端子と、本体装置2が右コントローラ4と有線通信を行うための右側端子を備える。
【0028】
また、本体装置2は、スロットを備える。スロットは、本体装置2のハウジングの上側面に設けられる。スロットは、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。
【0029】
左コントローラ3および右コントローラ4は、それぞれ、各種操作ボタン等を備える。各種操作ボタン等は、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
【0030】
また、左コントローラ3および右コントローラ4は、それぞれ、本体装置2と有線通信を行うための端子を備える。
【0031】
図2は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0032】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0033】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0034】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0035】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、例えばWi-Fiの規格に準拠した方式により無線LANに接続して、外部装置(他の本体装置2)とインターネット通信等を行う。また、ネットワーク通信部82は、他の本体装置2と近距離無線通信(例えば、赤外線通信)を行うこともできる。
【0036】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0037】
プロセッサ81は、上述の左側端子17、右側端子21、および下側端子27に接続される。プロセッサ81は、左コントローラ3と有線通信を行う場合、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信する。また、プロセッサ81は、右コントローラ4と有線通信を行う場合、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信する。また、プロセッサ81は、クレードルと通信を行う場合、下側端子27を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置または本体装置2単体がクレードルに装着された場合、本体装置2は、クレードルを介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
【0038】
本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とプロセッサ81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ81へ出力する。
【0039】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0040】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0041】
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0042】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0043】
図3は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、
図2で示しているため
図3では省略している。
【0044】
左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。
図3に示すように、通信制御部101は、端子42を含む各構成要素に接続される。本実施形態においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。
【0045】
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
【0046】
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、左スティック32を備える。各ボタン103および左スティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
【0047】
左コントローラ3は、慣性センサを備える。具体的には、左コントローラ3は、加速度センサ104を備える。また、左コントローラ3は、角速度センサ105を備える。本実施形態においては、加速度センサ104は、所定の3軸(例えば、
図4に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ104は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ105は、所定の3軸(例えば、
図4に示すxyz軸)回りの角速度を検出する。なお、角速度センサ105は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。加速度センサ104および角速度センサ105は、それぞれ通信制御部101に接続される。そして、加速度センサ104および角速度センサ105の検出結果は、適宜のタイミングで繰り返し通信制御部101へ出力される。
【0048】
通信制御部101は、各入力部(具体的には、各ボタン103、左スティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0049】
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103および左スティック32に対する操作を、操作データに基づいて判別することができる。また、本体装置2は、左コントローラ3の動きおよび/または姿勢に関する情報を、操作データ(具体的には、加速度センサ104および角速度センサ105の検出結果)に基づいて算出することができる。
【0050】
左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
【0051】
図3に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
【0052】
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、右スティック52、慣性センサ(加速度センサ114および角速度センサ115)を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
【0053】
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
【0054】
[本実施形態で想定するゲームについて]
次に、本実施形態にかかるゲームシステム1で実行されるゲーム処理(情報処理の一例)の概要を説明する。本実施形態で想定するゲームは、例えば、様々なオブジェクトが配置された仮想空間(ゲーム空間)内を、プレイヤ(ユーザ)の操作に応じて動作するプレイヤオブジェクト(「プレイヤキャラクタ」という場合がある)が移動等して所定の目的(ゴール地点に到達する目的)を達成するアクションゲームである。具体的には、プレイヤが、複数のゲームステージ(単に「ステージ」という場合がある)からプレイするステージを選択し、複数のプレイヤが同じステージを選択した場合には、選択したステージでマルチプレイを行うアクションゲームである。なお、本ゲームは、アクションゲームに限られず、他の種類のゲームであってもよい。
【0055】
[本実施形態のゲーム処理の概要]
図4は、本ゲーム処理に係る通信ネットワークの一例を説明するための図である。本ゲーム処理では、複数のゲーム装置(ゲームシステム)1とサーバ130がインターネット131を介して通信可能に接続されて、マルチプレイゲームを実行できる。本ゲーム処理では、最大4人(最大4つのゲーム装置)で、マルチプレイゲームを実行できる。また、本ゲーム処理では、各ゲームステージにおいてマルチプレイをするときには、複数のゲーム装置1が、インターネット131を介して(又は介することなく近距離無線通信等により)互いに通信可能に接続されて、又、サーバ130を介することなく互いに通信可能に接続されてP2P(Peer to Peer)通信によりマルチプレイゲームが実行される。なお、各ゲームステージにおいてマルチプレイをする場合において、複数のゲーム装置1がサーバ130を介して互いに通信可能に接続されてマルチプレイゲームが実行されてもよい。
【0056】
また、本ゲーム処理では、プレイヤの操作に応じて仮想空間に配置されたキャラクタの動作等を制御し、仮想カメラで仮想空間を撮影(描画)して画面(ディスプレイ12)に表示してゲームを進行する。また、本ゲーム処理では、プレイヤが所望のステージを選択して、選択したステージのゲームプレイを行う。
【0057】
図5は、プレイヤが、プレイするステージを選択するための画面(「ステージ選択画面」という場合がある)について説明するための図である。本ゲーム処理では、プレイするステージを各プレイヤが選択するための仮想空間(「ステージ選択空間」という場合がある)に、各プレイヤの操作に応じて地面上をそれぞれ移動する各プレイヤキャラクタと、ステージを選択するための円形領域(「ステージ選択領域」という場合がある)とが配置され、ステージ選択空間が斜め上方から仮想カメラで撮影(描画)されて、各ゲーム装置1の画面に表示される。そして、各プレイヤは、自分が操作するプレイヤキャラクタを、所望のステージ選択領域上に移動させた上で所定の選択操作(例えば、ボタンの押下)を実行することによって、そのステージ選択領域に対応するステージのゲームを開始することができる。
【0058】
図5に示すように、自ゲーム装置のステージ選択画面では、自ゲーム装置のプレイヤが操作するプレイヤキャラクタ(「自プレイヤキャラクタ」という場合がある)200と、他ゲーム装置のプレイヤ(「他プレイヤ」という場合がある)がそれぞれ操作するプレイヤキャラクタ(「他プレイヤキャラクタ」という場合がある)201~205と、ステージ1を選択するためのステージ選択領域207と、ステージ2を選択するためのステージ選択領域208と、ステージ3を選択するためのステージ選択領域209とが表示されている。なお、分かりやすいように、自プレイヤキャラクタ200の頭には、Aを記載し、他プレイヤキャラクタ201~205の頭には、それぞれ、B~Fを記載している。また、本ゲーム処理では、ステージ選択画面、および、後述するステージ画面において、原則として、自ゲーム装置の画面に自プレイヤキャラクタが含まれるように表示領域(描画領域)が移動する。
【0059】
図6~
図20は、
図5を用いて説明したステージ選択画面において選択されたゲームステージの画面(「ステージ画面」という場合がある)について説明するための図である。本ゲーム処理では、多数のステージが設けられ、ゲーム装置毎に、各ステージに対応する仮想空間(「ステージ空間」という場合がある)が設けられる。
【0060】
図5を用いて説明したステージ選択画面においてプレイヤがステージを選択すると、そのステージのスタート地点が表示される。具体的には、
図6等に示すように、ステージ空間に、プレイヤキャラクタと、ステージを構成するブロックや地面等のオブジェクトと、敵キャラクタ(図示なし)等が配置される。ここで、
図6では、4人のプレイヤが同じステージを選択して、4つのプレイヤキャラクタ200~203が配置されている。
【0061】
そして、ステージ空間が真横から仮想カメラで撮影(描画)されて、各ゲーム装置の画面に表示される。また、本ゲームの各ステージにおいて、自プレイヤキャラクタ、他プレイヤキャラクタ、敵キャラクタは、左右および上下の方向に移動可能であり、手前と奥行の方向には移動できない。つまり、
図6に示すxy平面内で移動可能である。プレイヤは、自プレイヤキャラクタを操作して、スタート地点から移動させることによってそのステージをプレイし、ゴール地点に到達するとステージクリアしてそのステージのプレイが終了し、敵キャラクタに接触する等のミスを所定回数するとステージのクリアに失敗してプレイが終了する。
【0062】
また、本ゲームでは、ステージのゲームに参加する全プレイヤ(最大4人)の全てがフレンドである場合には、そのステージにおいてプレイヤ同士(プレイヤキャラクタ同士)でタイムレースを行うことができる。そして、タイムレースを行わないプレイヤは、通常通りタイムレースをせずにステージのゴールを目指すこととなる。以下、具体的に説明する。なお、フレンドとは、本ゲーム処理を実行していない時において、予め、一方のプレイヤ(一方のプレイヤアカウント)から他方のプレイヤ(他方のプレイヤアカウント)に対して送信されたフレンド依頼が他方のプレイヤによって受諾されて両者がフレンド関係となった状態(両プレイヤアカウントがフレンド関係で紐づいた状態)である。
【0063】
図6は、ステージ選択空間(
図5参照)において、互いにフレンドである4人のプレイヤ(プレイヤキャラクタ200~203を操作する4人のプレイヤ)がステージ選択領域1を選択して、ステージ選択領域1に対応するステージのスタート地点が表示されてから、プレイヤキャラクタ200~203がスタート地点に入場した場面である。また、
図6は、プレイヤキャラクタ200を動作させるゲーム装置1の画面(プレイヤキャラクタ200を操作するプレイヤが見る画面)である。また、
図6に示すように、本実施形態では、(各ゲーム装置1の画面において)他プレイヤキャラクタは半透明で表示される。また、各プレイヤのゲーム装置において、各プレイヤキャラクタのステージ中の位置等(例えば、座標、向き、姿勢)は同期される一方で、ステージの状態は同期されない。例えば、いずれかのゲーム装置のステージ空間において、このゲーム装置のプレイヤキャラクタによってオブジェクト(例えば、ブロック)が破壊等されても、他のゲーム装置のステージ空間では、この他のゲーム装置のプレイヤキャラクタがそのオブジェクトを破壊等していなければ、そのオブジェクトが破壊等されていない状態でゲームが進行する。但し、後述するレースブロック210については、各プレイヤのゲーム装置において、その状態が同期される。なお、上記は一例であり、各プレイヤのゲーム装置においてステージの状態が同期されてもよい。
【0064】
図6に示すように、互いにフレンドである4人のプレイヤがステージに入場する場合には、ステージのスタート地点に、プレイヤキャラクタがレースにエントリするためのレースブロック210(トリガーオブジェクト)が配置される。また、レースブロック210の上方には、文字「レース開催するよ」が表示されて、レースができることが示される。
【0065】
次に、
図7に示すように、プレイヤキャラクタ201がジャンプしてレースブロック210を叩くと(レースブロック210に作用すると)、レースの参加メンバーの募集が開始され(所定の募集時間(例えば20秒)の減算が開始され)、プレイヤキャラクタ201がレースにエントリされる。また、
図6に示すように、レースブロック210の上方には、文字「メンバー募集中」が表示され、エントリされたプレイヤキャラクタ201の顔が表示される。
【0066】
次に、
図8に示すように、プレイヤキャラクタ203がジャンプしてレースブロック210を叩き(レースブロック210に作用し;図示せず)、その後、プレイヤキャラクタ200がジャンプしてレースブロック210を叩く(レースブロック210に作用する)ことによって、プレイヤキャラクタ203およびプレイヤキャラクタ200がレースにエントリされる。また、
図8に示すように、レースブロック210の上方には、エントリされたプレイヤキャラクタ203およびプレイヤキャラクタ200の顔が追加表示される。また、
図8に示すように、自プレイヤキャラクタ(プレイヤキャラクタ200)を操作するゲーム装置1の画面表示の上下に帯212が表示されることで、自プレイヤキャラクタがレースにエントリしたことが示される。なお、本実施形態では、エントリ済みのプレイヤキャラクタがレースブロック210を再度叩いてもエントリは解除されない構成としたが、エントリ済みのプレイヤレースブロック210を再度叩くとエントリが解除される構成としてもよい。また、上記では叩くことでエントリされる構成としたが、これには限られず、例えば、レースブロック210にプレイヤキャラクタ(又はプレイヤキャラクタが使用するアイテム)が触れることでエントリされる構成としてもよい。
【0067】
ここで、プレイヤの操作に応じて自プレイヤキャラクタが画面表示範囲(仮想空間での仮想カメラの撮影範囲)の外側に出ると、自プレイヤキャラクタが表示されなくなり操作に支障が生じる。そこで、プレイヤの操作に応じて自プレイヤキャラクタが移動して画面表示範囲外に出ることは、通常、できない構成となっており、自プレイヤキャラクタが移動すると、画面がスクロール表示される(仮想空間において仮想カメラの撮影範囲が移動する)。しかし、本実施形態では、
図9に示すように、自プレイヤキャラクタがレースにエントリすると、画面のスクロール表示の実行を停止(ロック)させて、自プレイヤキャラクタが画面表示範囲外に移動できなくなるようにする。
図9では、レースにエントリした自プレイヤキャラクタ(プレイヤキャラクタ200)は、画面表示範囲の右端まで前進しているが、画面のスクロール表示の実行が停止されているので、画面表示範囲外に移動できなくなくなっている。このようにすることによって、レースにエントリしたプレイヤキャラクタがレース開始前に前進してしまうことを禁止している。なお、画面のスクロール表示の実行が停止するのではなく、例えば、プレイヤが操作してもプレイヤキャラクタが移動できないようにしてもよい。また例えば、スタートラインを設けて全てのプレイヤキャラクタをスタートラインに強制的に集合(整列)させて、プレイヤが操作してもプレイヤキャラクタが移動できないようにしてもよい。
【0068】
そして、上記した所定の募集時間(例えば20秒)が経過、又は、4人(全員)のプレイヤキャラクタ(全てのプレイヤキャラクタ)がレースにエントリすると、(レースのエントリ期間は終了し)レーススタートまでのカウントダウン表示が開始される。具体的には、
図10に示すように、信号機213が表示されてカウントダウン表示が行われ、自プレイヤキャラクタがスタートしてからゴールするまでのタイムを計測するタイマ214が表示される。なお、プレイヤキャラクタが1人だけレースにエントリした状態で上記した所定の募集時間(例えば20秒)が経過すると、誰もエントリしていない状態(
図6参照)に戻る。
【0069】
次に、
図11に示すように、カウントダウン表示が終了して信号機213が文字「スタート」の表示に変化してレースが開始すると同時にタイマ214の時間計測が開始すると、
図12に示すように、画面スクロール表示の停止(ロック)が解除されて、レースに参加したプレイヤキャラクタが前進できるようになる。また、
図11および
図12に示すように、レースが開始されると、帯212は非表示となり、又、レースブロック210の上方には文字「レース中」が表示される。
【0070】
上記のように、レースにエントリしたプレイヤキャラクタのゲーム装置1の画面では、タイマ214による時間計測が行われてレースモード(第1モード)でゲームが進行するが、レースにエントリしていないプレイヤキャラクタのゲーム装置1の画面では、レース状態にはならずレースを行わない通常モード(第2モード)でゲームが進行する。なお、
図13に示すように、レースのカウントダウンが開始してからレースが終了するまでの期間においては、レースに未エントリのプレイヤキャラクタ202がレースブロックを叩いても、プレイヤキャラクタ202はレースに参加できない。このように、本実施形態では、1つのステージにおいて並行して2つ以上のレースが実行されない構成としている。
【0071】
次に、
図14に示すように、プレイヤキャラクタがつかまることによってゴールするゴールツリー215が、スクロール表示により画面に表示されるゴール前の状態となる。その後、
図15に示すように、他プレイヤキャラクタ201は、ゴールツリー215の所定範囲(例えば、仮想空間でゴールツリー215から2メートル以内の範囲)に入ると、ゴールツリー215に近付くに従って半透明表示から透明表示に徐々に変化して、ゴールツリー215につかまる直前に透明表示となり、ゴールツリー215につかまると半透明表示に戻る。ここで、マルチプレイでレースをしている複数のゲーム端末1間では、通信遅延等によって、各ゲーム端末1においてプレイヤキャラクタがゴールツリー215につかまるタイミング(ゴールするタイミング)が異なる場合がある。本実施形態では、上記のようにゴールツリー215につかまる直前に他プレイヤキャラクタを半透明表示から透明表示にすることによって、各ゲーム端末1間でゴールタイミングが異なることによる違和感を防止できる。
【0072】
次に、
図16に示すように、自プレイヤキャラクタ200がゴールツリー215につかまってゴールすると、文字「ゴール!!」が表示され、タイマ214の時間計測が停止して自プレイヤキャラクタ200のレースのタイムが確定する。なお、同様に、他プレイヤキャラクタを動作させるゲーム装置1において、この他プレイヤキャラクタがゴールツリー215につかまってゴールすると、文字「ゴール!!」が表示され、タイマ214の時間計測が停止して、この他プレイヤキャラクタのレースのタイムが確定する。
【0073】
次に、
図17に示すように、最初にプレイヤキャラクタ201がゴールしてから所定時間(例えば30秒)が経過するまで待機状態となり、文字「まもなくレース終了です」が表示される。
【0074】
次に、
図18に示すように、プレイヤキャラクタ203がゴールして、上記の所定時間(例えば30秒)が経過するまでにレースに参加したプレイヤキャラクタの全てがゴールした場合、レースが終了して、レースの順位が描かれた結果表示218が表示されて、今回のレースの結果が発表される。ここで、上記したように各プレイヤキャラクタのタイムはそれぞれのゲーム装置において確定する。そして、ゲーム装置間で各プレイヤキャラクタのタイムが通知されて共有されることによって、各ゲーム装置において同様の順位が表示されることとなる。
【0075】
一方、最初にプレイヤキャラクタ201がゴールしてから、プレイヤキャラクタ203がゴールする前に上記の所定時間(例えば30秒)が経過した場合、
図19に示すように、プレイヤキャラクタ203を動作させるゲーム装置の画面では、コースの画像が非表示になってレースが終了すると共に、文字「レースが終了しました」と、結果表示218と、文字「つづける」が描かれたボタン219と、文字「コースを抜ける」が描かれたボタン220と、カーソル221が表示される。そして、プレイヤがカーソル221を操作して「つづける」が描かれたボタン219を指定して所定のボタンを押下すると、レースが終了した時点のコース(ステージ)の位置から、レースを行わない通常モード(第2モード)でゲームを続行することとなる。一方、プレイヤがカーソル221を操作して「コースを抜ける」が描かれたボタン220を指定して所定のボタンを押下すると、プレイヤキャラクタ203がコース(ステージ)を抜けて、ステージ選択空間(
図5参照)に戻ることとなる。なお、
図19では、ゴールする前にレースが終了したプレイヤキャラクタ203(D)は結果表示218に表示されない構成としたが、プレイヤキャラクタ203も(文字表示「記録なし」と共に)結果表示218に表示される構成としてもよい。
【0076】
次に、
図20に示すように、
図18のゴールした場面(レースモード(第1モード))から通常モード(第2モード)になってから、ゴールしたプレイヤキャラクタはコース(ステージ)から退場する。具体的には、
図20に示すように、通常モードのゴールツリー222に掴まってゴールした状態となったプレイヤキャラクタと、文字「コースクリア」が表示された状態(通常モード)に場面が切り替わってから、プレイヤキャラクタが退場口223に入っていく。なお、退場口223に入ったプレイヤキャラクタは、ステージ選択空間(
図5参照)に戻る。
【0077】
[本実施形態の情報処理の詳細]
次に、
図21~
図25を参照して、本実施形態の情報処理について詳細に説明する。
【0078】
[使用データについて]
本ゲーム処理において用いられる各種データに関して説明する。
図21は、ゲームシステム1のDRAM85に記憶されるデータの一例を示している。
図21示すように、DRAM85には、少なくともプログラム記憶領域301とデータ記憶領域302が設けられる。プログラム記憶領域301には、ゲームプログラム401が格納される。データ記憶領域302には、ゲーム制御用データ402、画像データ408、仮想カメラ制御用データ409、操作データ410、送信用データ411、および受信データ412等が格納される。ゲーム制御用データ402には、オブジェクトデータ403が含まれる。
【0079】
ゲームプログラム401は、本ゲーム処理を実行するためのゲームプログラムである。
【0080】
オブジェクトデータ403は、仮想空間に配置されるオブジェクトのデータであり、プレイヤキャラクタ、敵キャラクタ、アイテム、地面、ブロック、岩、石、木、建物等のオブジェクトのデータである。また、オブジェクトデータ403には、オブジェクトの座標(位置)、向き、姿勢、状態等のデータが含まれる。
【0081】
画像データ408は、背景やバーチャルエフェクト等の画像データである。
【0082】
仮想カメラ制御用データ409は、仮想空間に配置される仮想カメラの動きを制御するためのデータである。具体的には、仮想カメラの位置、姿勢、画角、撮像方向等を指定するデータである。
【0083】
操作データ410は、左コントローラ3および右コントローラ4に対して行われた操作の内容を示すデータである。例えば、左コントローラ3および右コントローラ4の動きや姿勢変化、各種ボタンに対する押下状態等に対する入力状態を示すデータが含まれる。当該操作データの内容は、左コントローラ3および右コントローラ4からの信号に基づき、所定の周期で更新される。
【0084】
送信用データ411は、他のゲームシステム1に送信するためのデータであり、少なくとも、送信元を特定するための情報と、操作データ410の内容を含むデータである。送信用データ411には、マルチプレイ相手の他のゲームシステム1(又はサーバ)に送信する自プレイヤキャラクタに関するデータ(座標(位置)、姿勢、状態等を示すデータ)等が含まれる。
【0085】
受信データ412は、他のゲームシステム1から受信した送信用データを、当該他のゲームシステム1毎に(つまり、送信元が)識別可能なように記憶したデータである。受信データ412には、マルチプレイ相手の他のゲームシステム1(又はサーバ)から受信した他プレイヤ系キャラクタに関するデータ(座標(位置)、姿勢、状態等を示すデータ)が含まれる。
【0086】
受信データ413は、プレイヤのアカウントとフレンドとして紐づいている他のプレイヤのアカウントを示すデータ(つまり、プレイヤのフレンドのプレイヤを示すデータ)である。受信データ413は、例えば、ゲームの起動時にサーバ(
図4参照)から受信されるデータである。
【0087】
その他、DRAM85には、ゲーム処理で用いられる各種のデータが必要に応じて記憶される。
【0088】
[ゲーム処理の詳細について]
次に、フローチャートを参照して、本実施形態に係るゲーム処理の詳細を説明する。
図22~
図25は、本実施形態に係るゲーム処理の詳細を示すフローチャートの一例である。
【0089】
まず、本ゲーム処理が開始されると、
図22のステップS100において、プロセッサ81は、
図23を用いて後述するステージ選択処理を行う。その後、処理はステップS200に移る。
【0090】
ステップS200において、プロセッサ81は、
図24および
図25を用いて後述するステージ実行処理を行う。その後、処理はステップS100に戻る。
【0091】
図23は、ステージ選択処理の詳細を示すフローチャートの一例である。以下、
図23を用いて説明する。
【0092】
まず、ステップS101において、プロセッサ81は、操作データ410に基づいて、自プレイヤキャラクタの移動操作が行われたか否かを判定する。この判定がYESの場合、処理はステップS102に移り、この判定がNOの場合、処理はステップS103に移る。
【0093】
ステップS102において、プロセッサ81は、ステップS101での操作に基づいて、自プレイヤキャラクタを移動させる。また、プロセッサ81は、自プレイヤキャラクタの位置や姿勢等を、マルチプレイ相手の他のゲームシステム1(他ゲーム装置)に送信する。その後、処理はステップS101に戻る。ステップS101およびS102の処理によって、ステージ選択空間において各プレイヤの操作に応じて各プレイヤキャラクタが移動する(
図5参照)。
【0094】
ステップS103おいて、プロセッサ81は、オブジェクトデータ403等に基づいて、ステージ選択空間において自プレイヤキャラクタがステージ選択位置の何れかに移動したか否かを判定する。この判定がYESの場合、処理はステップS104に移り、この判定がNOの場合、処理はステップS105に移る。
【0095】
ステップS104において、プロセッサ81は、ステップS103で自プレイヤキャラクタが移動したステージ選択位置に応じたステージの実行を決定する。つまり、プレイヤが自プレイヤキャラクタを操作して選択したゲームステージの実行を決定する。その後、処理は
図22のステップS200に移り、ステップS103でプレイヤが選択したステージのゲームが開始される。
【0096】
ステップS105おいて、プロセッサ81は、操作データ410に基づいて、所定のゲーム終了操作が有ったか否かを判定する。この判定がYESの場合、本ゲーム処理は終了し、この判定がNOの場合、処理はステップS101に戻る。
【0097】
図24および
図25は、ステージ実行処理の詳細を示すフローチャートの一例である。以下、
図24および
図25を用いて説明する。
【0098】
まず、
図24のステップS201において、プロセッサ81は、フレンドデータ413に基づいて、
図23のステップS104で決定されたステージ(同じステージ)をプレイするプレイヤ全員が互いにフレンドであるか否かを判定する。ステップS201の判定がYESの場合、処理はステップS202に移り、この判定がNOの場合、処理はステップ220に移る。
【0099】
ステップS202において、プロセッサ81は、プレイヤをステージに入場させる(
図6参照)。また、プロセッサ81は、ステージに、プレイヤキャラクタがレースにエントリするためのレースブロック210(トリガーオブジェクト)を配置している。その後、処理はステップS203に移る。
【0100】
ステップS203において、プロセッサ81は、レース開始条件が満たされたか否かを判定する。
図7及び
図8を用いて説明したように、レース開始条件は、最初にプレイヤキャラクタがレースブロック210に作用してから(レースにエントリしてから)所定の募集時間(例えば20秒)内に、少なくとも1人のプレイヤキャラクタがレースブロック210に作用する、又は、他のプレイヤキャラクタ全員がレースブロック210に作用するという条件である。ステップS203の判定がYESの場合、処理はステップS204に移り、この判定がNOの場合、処理はステップS221に移る。
【0101】
ステップS204において、プロセッサ81は、自プレイヤキャラクタはレースにエントリしている(既にレースブロック210に作用した)か否かを判定する。ステップS204の判定がYESの場合、処理はステップS206に移り、この判定がNOの場合、処理はステップS221に移る。ここで、
図9を用いて説明したように、自プレイヤキャラクタがレースにエントリすると、画面スクロール表示がロックされて自プレイヤキャラクタが画面表示範囲を超えて移動できないように制御する。
【0102】
ステップS205において、プロセッサ81は、
図10を用いて説明したように、レーススタートのカウントダウンを行う。その後、処理はステップS206に移る
【0103】
ステップS206において、プロセッサ81は、ステップS205のカウントダウン終了に応じて、
図11および
図12を用いて説明したように、レースをスタートさせ、画面スクロール表示のロックを解除して自プレイヤキャラクタが前進できるようにする。
【0104】
ステップS207において、プロセッサ81は、レースモード(第1モード)でゲームを進行するレースモード処理を行う。その後、処理はステップS208に移る。
【0105】
ステップS208において、プロセッサ81は、自プレイヤキャラクタがゴールする前にレースが終了したか否かを判定する。なお、
図25ステップS213の説明で後述するが、レース終了条件が満たされることでレースが終了する。ステップS208の判定がYESの場合、処理はステップS230に移り、この判定がNOの場合、処理はステップS209に移る。
【0106】
ステップS209において、プロセッサ81は、自プレイヤキャラクタがゴール前まで来た(
図14参照)か否かを判定する。ステップS209の判定がYESの場合、処理はステップS210に移り、この判定がNOの場合、処理はステップS207に戻る。
【0107】
ステップS210において、プロセッサ81は、
図15を用いて説明したように、ゴール直前の他プレイヤキャラクタを徐々に透明化させる。その後、処理は
図25のステップS211に移る。
【0108】
図25のステップS211において、プロセッサ81は、自プレイヤキャラクタがゴールするまで待機し(NO)、自プレイヤキャラクタがゴールすると(YES)、処理をステップS212に移す。
【0109】
ステップS212において、プロセッサ81は、
図16を用いて説明したように、自プレイヤキャラクタのタイムを確定し、自プレイヤキャラクタのゴール演出を行う。その後、処理はステップS213に移る。
【0110】
ステップS213において、プロセッサ81は、レース終了条件が満たされるまで待機し(NO)、レース終了条件が満たされると(YES)、処理をステップS214に移す。
図17~
図19を用いて説明したように、レース終了条件は、最初にプレイヤキャラクタがゴールしてから所定の待ち時間(例えば30秒)が経過する前にレースに参加したプレイヤキャラクタ全員がゴールする、又は、最初にプレイヤキャラクタがゴールしてからレースに参加したプレイヤキャラクタ全員がゴールする前に所定の待ち時間が経過するという条件である。
【0111】
ステップS214において、プロセッサ81は、
図18を用いて説明したように、レースを終了させてレースの結果を表示する。その後、処理は
図24のステップS224に移る。
【0112】
ステップS201での判定がNOの場合、ステップS220において、プロセッサ81は、プレイヤをステージに入場させる(
図6参照)。但し、この場合、プロセッサ81は、ステージに、プレイヤキャラクタがレースにエントリするためのレースブロック210を配置していない。その後、処理はステップS221に移る。
【0113】
ステップS221において、プロセッサ81は、通常モード(第2モード)でゲームを進行する通常モード処理を行う。その後、処理はステップS222に移る。
【0114】
ステップS222において、プロセッサ81は、通常モードでプレイする自プレイヤキャラクタがゴール地点に到達してコースをクリアしたか否かを判定する。ステップS222の判定がYESの場合、処理はステップS223に移り、この判定がNOの場合、処理はステップS221に戻る。
【0115】
ステップS233において、プロセッサ81は、通常モードにおけるコースクリア演出を行う(
図20参照)。その後、処理はステップS224に移る。
【0116】
ステップS224において、プロセッサ81は、
図20を用いて説明したように、ゴール(コースクリア)したプレイヤキャラクタがステージから退場する表示を行う。その後、処理は
図22のステップS100に戻る。
【0117】
ステップS208での判定でYESの場合、ステップS230において、プロセッサ81は、
図19を用いて説明したように、レース表示を停止してレース結果表示および選択表示を行う。その後、処理はステップS231に移る。
【0118】
ステップS231において、プロセッサ81は、
図19を用いて説明したように、プレイヤによって「つづける」が選択されたか否かを判定する。ステップS231の判定がYESの場合、処理はステップS221に戻り通常モードでゲームが継続し、この判定がNOの場合、処理はステップS233に移る。
【0119】
ステップS232において、プロセッサ81は、
図19を用いて説明したように、プレイヤによって「コースを抜ける」が選択されたか否かを判定する。ステップS232の判定がYESの場合、処理はステップS233に移り、この判定がNOの場合、処理はステップS231に戻る。
【0120】
ステップS233において、プロセッサ81は、
図19を用いて説明したように、ステージが終了する。その後、処理は
図22のステップS100に戻る。
【0121】
以上に説明したように、本実施形態によれば、フレンド同士でステージに入ってゲームをする場合において、ステージのスタート地点でレースにエントリする操作を行うことで(
図8等)レースができる(
図24のS201~S210、
図25)一方で、エントリする操作を行わないことで、レースに参加せず通常のゲームができる(
図24のS204でNO、S221~S223)。
【0122】
[変形例]
なお、上記した本実施形態では、各プレイヤがステージ選択画面で参加するステージを選択することでマルチプレイ相手が決まる例を挙げた(
図5、
図6等)。しかし、これには限られず、サーバ等によってマルチプレイ相手がマッチングされてマルチプレイ相手が決定されてもよい。この場合、互いにフレンドのプレイヤのみでマルチプレイできるようにマッチングされるフレンドマッチングと、ランダムなプレイヤでマルチプレイできるようにマッチングされるランダムマッチングとを行い、フレンドマッチングではステージにレースブロックを配置し(
図24のS202)、ランダムマッチングではステージにレースブロックを配置しない(
図24のS220)構成としてもよい。
【0123】
また、上記した本実施形態では、レースモードのタイプとして、ゴールするまでの時間を争うレースモードを例に挙げた。しかし、これには限られず、スコアを競うレースモードであってもよい。
【0124】
また、上記した本実施形態では、レーススタートのカウントダウン開始時点(
図10)までレースのエントリができる例を挙げた。しかし、これには限られず、レーススタート(
図11)までレースのエントリができる構成としてもよい。
【0125】
また、上記した本実施形態においては、ゲーム処理にかかる一連の処理が単一のゲーム装置で実行される場合を説明した。他の実施形態においては、上記一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。更には、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの主要な処理がサーバ側装置によって実行され、当該端末側装置では一部の処理が実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。また、いわゆるクラウドゲーミングの構成としてもよい。例えば、ゲーム装置は、ユーザの操作を示す操作データを所定のサーバに送り、当該サーバにおいて各種ゲーム処理が実行され、その実行結果が動画・音声としてゲーム装置にストリーミング配信されるような構成としてもよい。
【0126】
以上、本実施形態および変形例について説明したが、これらの説明はあらゆる点において例示にすぎず、その範囲を限定しようとするものではない。また、本実施形態および変形例について、種々の改良や変形を行うことができることは言うまでもない。
【符号の説明】
【0127】
1 ゲームシステム
3、4 コントローラ
12 ディスプレイ
81 プロセッサ
85 DRAM
200、201、202、204、205 プレイヤキャラクタ
210 レースブロック