(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024068845
(43)【公開日】2024-05-21
(54)【発明の名称】情報処理プログラム、ゲームシステム、ゲーム装置、および情報処理方法
(51)【国際特許分類】
A63F 13/48 20140101AFI20240514BHJP
A63F 13/30 20140101ALI20240514BHJP
A63F 13/795 20140101ALI20240514BHJP
A63F 13/49 20140101ALI20240514BHJP
A63F 13/533 20140101ALI20240514BHJP
【FI】
A63F13/48
A63F13/30
A63F13/795
A63F13/49
A63F13/533
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022179455
(22)【出願日】2022-11-09
(71)【出願人】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】境野 真道
(72)【発明者】
【氏名】森村 尚也
(72)【発明者】
【氏名】川又 慧
(57)【要約】
【課題】ゲームプログラムをエミュレータで実行して通信による多人数プレイを実現する場合に、当該多人数プレイを正常に開始および終了できる仕組みを提供する。
【解決手段】ゲーム装置のプロセッサは、他の情報処理装置から、通信に基づいて、他のプレイヤの多人数プレイへの参加要求があった場合に、ゲームプログラムが実行中のときは、他のプレイヤが多人数プレイへ参加していない状態を継続し、ゲームプログラムのエミュレータによる実行を開始する場面に遷移した場合に、他のプレイヤを多人数プレイへ参加させ、多人数プレイに参加しているプレイヤの情報処理装置間の通信に基づいて、ゲームプログラムの多人数プレイをエミュレータによって実行し、多人数プレイ中において、ゲームの終了指示が行われた場合、または、通信に基づいて他のプレイヤからゲームの終了要求があった場合に、当該ゲームを一時的に中断させる。
【選択図】
図6
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
多人数プレイ可能なゲームプログラムをエミュレータによって実行させ、
他の情報処理装置から、通信に基づいて、他のプレイヤの前記多人数プレイへの参加要求があった場合に、
前記ゲームプログラムが実行中のときは、前記他のプレイヤが前記多人数プレイへ参加していない状態を継続させて、
前記ゲームプログラムの前記エミュレータによる実行を開始する場面に遷移した場合に、前記他のプレイヤを前記多人数プレイへ参加させ、
前記多人数プレイに参加しているプレイヤの情報処理装置間の通信に基づいて、前記ゲームプログラムの前記多人数プレイをエミュレータによって実行させ、
前記多人数プレイ中において、ゲームの終了指示が行われた場合、または、通信に基づいて他のプレイヤからゲームの終了要求があった場合に、当該ゲームを一時的に中断させ、さらに前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われた場合に、前記ゲームプログラムを終了させる、情報処理プログラム。
【請求項2】
前記多人数プレイ可能なゲームプログラムは、多人数プレイ可能な複数のゲームプログラムのいずれかであって、
前記ゲームプログラムの前記エミュレータによる実行を開始する場面は、前記複数のゲームプログラムのいずれを開始するか選択する場面である、請求項1に記載の情報処理プログラム。
【請求項3】
前記コンピュータにさらに、
前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われて前記ゲームプログラムが終了された場合に、前記複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる、請求項2に記載の情報処理プログラム。
【請求項4】
前記コンピュータにさらに、
前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われて前記ゲームプログラムが終了された場合に、前記多人数プレイに参加しているプレイヤが参加している状態を維持したまま、前記複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる、請求項3に記載の情報処理プログラム。
【請求項5】
前記コンピュータにさらに、
前記多人数プレイをエミュレータによって実行させている間、
画面共有を指示しているプレイヤのゲーム画面を受信して表示させるとともに、画面共有を指示している場合に、他の情報処理装置にゲーム画面を送信させる、請求項1~4のいずれか1項に記載の情報処理プログラム。
【請求項6】
プロセッサを含む複数の情報処理装置を備え、
前記複数の情報処理装置の各々のプロセッサは、
多人数プレイ可能なゲームプログラムをエミュレータによって実行し、
他の情報処理装置から、通信に基づいて、他のプレイヤの前記多人数プレイへの参加要求があった場合に、
前記ゲームプログラムが実行中のときは、前記他のプレイヤが前記多人数プレイへ参加していない状態を継続し、
前記ゲームプログラムの前記エミュレータによる実行を開始する場面に遷移した場合に、前記他のプレイヤを前記多人数プレイへ参加させ、
前記多人数プレイに参加しているプレイヤの情報処理装置間の通信に基づいて、前記ゲームプログラムの前記多人数プレイをエミュレータによって実行し、
前記多人数プレイ中において、ゲームの終了指示が行われた場合、または、通信に基づいて他のプレイヤからゲームの終了要求があった場合に、当該ゲームを一時的に中断させ、さらに前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われた場合に、前記ゲームプログラムを終了する、ゲームシステム。
【請求項7】
前記多人数プレイ可能なゲームプログラムは、多人数プレイ可能な複数のゲームプログラムのいずれかであって、
前記ゲームプログラムの前記エミュレータによる実行を開始する場面は、前記複数のゲームプログラムのいずれを開始するか選択する場面である、請求項6に記載のゲームシステム。
【請求項8】
前記プロセッサはさらに、
前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われて前記ゲームプログラムが終了された場合に、前記複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる、請求項7に記載のゲームシステム。
【請求項9】
前記プロセッサはさらに、
前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われて前記ゲームプログラムが終了された場合に、前記多人数プレイに参加しているプレイヤが参加している状態を維持したまま、前記複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる、請求項8に記載のゲームシステム。
【請求項10】
前記プロセッサはさらに、
前記多人数プレイをエミュレータによって実行させている間、
画面共有を指示しているプレイヤのゲーム画面を受信して表示させるとともに、画面共有を指示している場合に、他の情報処理装置にゲーム画面を送信する、請求項6~9のいずれか1項に記載のゲームシステム。
【請求項11】
プロセッサを含むゲーム装置であって、
前記ゲーム装置のプロセッサは、
多人数プレイ可能なゲームプログラムをエミュレータによって実行し、
他の情報処理装置から、通信に基づいて、他のプレイヤの前記多人数プレイへの参加要求があった場合に、
前記ゲームプログラムが実行中のときは、前記他のプレイヤが前記多人数プレイへ参加していない状態を継続し、
前記ゲームプログラムの前記エミュレータによる実行を開始する場面に遷移した場合に、前記他のプレイヤを前記多人数プレイへ参加させ、
前記多人数プレイに参加しているプレイヤの情報処理装置間の通信に基づいて、前記ゲームプログラムの前記多人数プレイをエミュレータによって実行し、
前記多人数プレイ中において、ゲームの終了指示が行われた場合、または、通信に基づいて他のプレイヤからゲームの終了要求があった場合に、当該ゲームを一時的に中断させ、さらに前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われた場合に、前記ゲームプログラムを終了する、ゲーム装置。
【請求項12】
前記多人数プレイ可能なゲームプログラムは、多人数プレイ可能な複数のゲームプログラムのいずれかであって、
前記ゲームプログラムの前記エミュレータによる実行を開始する場面は、前記複数のゲームプログラムのいずれを開始するか選択する場面である、請求項11に記載のゲーム装置。
【請求項13】
前記プロセッサはさらに、
前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われて前記ゲームプログラムが終了された場合に、前記複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる、請求項12に記載のゲーム装置。
【請求項14】
前記プロセッサはさらに、
前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われて前記ゲームプログラムが終了された場合に、前記多人数プレイに参加しているプレイヤが参加している状態を維持したまま、前記複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる、請求項13に記載のゲーム装置。
【請求項15】
前記プロセッサはさらに、
前記多人数プレイをエミュレータによって実行させている間、
画面共有を指示しているプレイヤのゲーム画面を受信して表示させるとともに、画面共有を指示している場合に、他の情報処理装置にゲーム画面を送信する、請求項11~14のいずれか1項に記載のゲーム装置。
【請求項16】
ゲーム装置のプロセッサが多人数プレイ可能なゲームプログラムをエミュレータによって実行し、
前記プロセッサは、他の情報処理装置から、通信に基づいて、他のプレイヤの前記多人数プレイへの参加要求があった場合に、
前記ゲームプログラムが実行中のときは、前記他のプレイヤが前記多人数プレイへ参加していない状態を継続し、
前記ゲームプログラムの前記エミュレータによる実行を開始する場面に遷移した場合に、前記他のプレイヤを前記多人数プレイへ参加させ、
前記プロセッサは、前記多人数プレイに参加しているプレイヤの情報処理装置間の通信に基づいて、前記ゲームプログラムの前記多人数プレイをエミュレータによって実行し、
前記プロセッサは、前記多人数プレイ中において、ゲームの終了指示が行われた場合、または、通信に基づいて他のプレイヤからゲームの終了要求があった場合に、当該ゲームを一時的に中断させ、さらに前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われた場合に、前記ゲームプログラムを終了する、情報処理方法。
【請求項17】
前記多人数プレイ可能なゲームプログラムは、多人数プレイ可能な複数のゲームプログラムのいずれかであって、
前記ゲームプログラムの前記エミュレータによる実行を開始する場面は、前記複数のゲームプログラムのいずれを開始するか選択する場面である、請求項16に記載の情報処理方法。
【請求項18】
前記プロセッサはさらに、
前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われて前記ゲームプログラムが終了された場合に、前記複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる、請求項17に記載の情報処理方法。
【請求項19】
前記プロセッサはさらに、
前記多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われて前記ゲームプログラムが終了された場合に、前記多人数プレイに参加しているプレイヤが参加している状態を維持したまま、前記複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる、請求項18に記載の情報処理方法。
【請求項20】
前記プロセッサは、前記多人数プレイをエミュレータによって実行させている間、
画面共有を指示しているプレイヤのゲーム画面を受信して表示させるとともに、画面共有を指示している場合に、他の情報処理装置にゲーム画面を送信する、請求項16~19のいずれか1項に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理プログラム、ゲームシステム、ゲーム装置、および情報処理方法に関する。
【背景技術】
【0002】
従前の携帯ゲーム機において、多人数プレイを実現する場合には、有線の通信ケーブルで携帯ゲーム機同士を接続するという方法が採用されることがあった。例えば、特開2003-71137号公報(特許文献1)は、4台のゲーム機と通信ケーブルとで構成される通信ゲームシステムを開示する。
【0003】
このような通信ゲームシステムにおいて、通信ケーブルを介してゲーム機を物理的に接続する操作は、プレイヤのゲームへの参加とほぼ同様の意味を持つ。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したような従来の携帯ゲーム機で実行されるゲームプログラムは、有線の通信ケーブルでの接続を前提として作成されていると想定されるため、現在の機器において当該ゲームプログラムをエミュレータで実行するとともに、ネットワークを介して多人数プレイを実現しようとした場合には、予期せぬ動作を生じる可能性もある。例えば、現在のゲームにおいては普通に行われているプレイヤの参加/離脱は、当該ゲームプログラムから見れば、通信ケーブルの挿抜に相当することになり、ゲーム中の任意のタイミングでプレイヤが参加/離脱すると、ゲームプログラムの仕様によっては、強制終了などの予期せぬ動作を生じる可能性もある。例えば、セーブが実行されるゲームにおいて強制終了が発生すると、本来のセーブすべきデータがセーブされないといった可能性もある。
【0006】
本開示は、ゲームプログラムをエミュレータで実行して通信による多人数プレイを実現する場合に、当該多人数プレイを正常に開始および終了できる仕組みを提供する。
【課題を解決するための手段】
【0007】
(構成1)ある実施の形態に従う情報処理プログラムは、情報処理装置のコンピュータに、多人数プレイ可能なゲームプログラムをエミュレータによって実行させ、他の情報処理装置から、通信に基づいて、他のプレイヤの多人数プレイへの参加要求があった場合に、ゲームプログラムが実行中のときは、他のプレイヤが多人数プレイへ参加していない状態を継続させて、ゲームプログラムのエミュレータによる実行を開始する場面に遷移した場合に、他のプレイヤを多人数プレイへ参加させ、多人数プレイに参加しているプレイヤの情報処理装置間の通信に基づいて、ゲームプログラムの多人数プレイをエミュレータによって実行させ、多人数プレイ中において、ゲームの終了指示が行われた場合、または、通信に基づいて他のプレイヤからゲームの終了要求があった場合に、当該ゲームを一時的に中断させ、さらに多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われた場合に、ゲームプログラムを終了させる。
【0008】
構成1によれば、多人数プレイの進行中に他の情報処理装置との接続/切断が想定されていなかった(過去の)ゲームプログラムをエミュレータで実行する場合であっても、ゲームプログラム自体は改変することなくそのままの状態としつつ、多人数プレイを正常に開始および終了できる。
【0009】
(構成2)構成1において、多人数プレイ可能なゲームプログラムは、多人数プレイ可能な複数のゲームプログラムのいずれかであって、ゲームプログラムのエミュレータによる実行を開始する場面は、複数のゲームプログラムのいずれを開始するか選択する場面である。
【0010】
構成2によれば、多人数プレイでプレイするゲームプログラムを選択する場面において、エミュレータの実行を開始できるので、多人数プレイに必要な処理を事前に実行できる。
【0011】
(構成3)構成1または2において、情報処理プログラムは、コンピュータにさらに、多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われてゲームプログラムが終了された場合に、複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる。
【0012】
構成3によれば、多人数プレイによりゲームプログラムが終了した後であっても、同じプレイヤで再度多人数プレイを行いたい場合に、少ない操作で、多人数プレイを行うゲームプログラムを選択できる。
【0013】
(構成4)構成1~3のいずれかにおいて、情報処理プログラムは、コンピュータにさらに、多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われてゲームプログラムが終了された場合に、多人数プレイに参加しているプレイヤが参加している状態を維持したまま、複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる。
【0014】
構成4によれば、多人数プレイによりゲームプログラムが終了した後であっても、同じプレイヤで多人数プレイをすぐに開始できる。
【0015】
(構成5)構成1~4のいずれかにおいて、情報処理プログラムは、コンピュータにさらに、多人数プレイをエミュレータによって実行させている間、画面共有を指示しているプレイヤのゲーム画面を受信して表示させるとともに、画面共有を指示している場合に、他の情報処理装置にゲーム画面を送信させる。
【0016】
構成5によれば、例えば、従前の携帯ゲーム機において、相手のゲーム画面を見ながらプレイすることが前提であったゲームプログラムや、プレイヤ間でゲーム画面を見せ合った方が面白いゲームプログラムなどを、エミュレータによって実行する場合であっても、プレイヤは、従前の携帯ゲーム機と同様にプレイできる。
【0017】
また、構成5によれば、画面共有をプレイヤ毎に指示できるので、ゲームプログラムを改変せずに、プレイヤが適したと考えるプレイスタイルを任意に決定できる。
【0018】
(構成6)別の実施の形態に従うゲームシステムは、プロセッサを含む複数の情報処理装置を含む。複数の情報処理装置の各々のプロセッサは、多人数プレイ可能なゲームプログラムをエミュレータによって実行し、他の情報処理装置から、通信に基づいて、他のプレイヤの多人数プレイへの参加要求があった場合に、ゲームプログラムが実行中のときは、他のプレイヤが多人数プレイへ参加していない状態を継続し、ゲームプログラムのエミュレータによる実行を開始する場面に遷移した場合に、他のプレイヤを多人数プレイへ参加させ、多人数プレイに参加しているプレイヤの情報処理装置間の通信に基づいて、ゲームプログラムの多人数プレイをエミュレータによって実行し、多人数プレイ中において、ゲームの終了指示が行われた場合、または、通信に基づいて他のプレイヤからゲームの終了要求があった場合に、当該ゲームを一時的に中断させ、さらに多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われた場合に、ゲームプログラムを終了する。構成6によれば、構成1と同様の効果が得られる。
【0019】
(構成7)構成6において、多人数プレイ可能なゲームプログラムは、多人数プレイ可能な複数のゲームプログラムのいずれかであって、ゲームプログラムのエミュレータによる実行を開始する場面は、複数のゲームプログラムのいずれを開始するか選択する場面である。構成7によれば、構成2と同様の効果が得られる。
【0020】
(構成8)構成7において、プロセッサはさらに、多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われてゲームプログラムが終了された場合に、複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる。構成8によれば、構成3と同様の効果が得られる。
【0021】
(構成9)構成8において、プロセッサはさらに、多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われてゲームプログラムが終了された場合に、多人数プレイに参加しているプレイヤが参加している状態を維持したまま、複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる。構成9によれば、構成4と同様の効果が得られる。
【0022】
(構成10)構成6~9のいずれかにおいて、プロセッサはさらに、多人数プレイをエミュレータによって実行させている間、画面共有を指示しているプレイヤのゲーム画面を受信して表示させるとともに、画面共有を指示している場合に、他の情報処理装置にゲーム画面を送信する。構成10によれば、構成5と同様の効果が得られる。
【0023】
(構成11)別の実施の形態に従えば、プロセッサを含むゲーム装置が提供される。ゲーム装置のプロセッサは、多人数プレイ可能なゲームプログラムをエミュレータによって実行し、他の情報処理装置から、通信に基づいて、他のプレイヤの多人数プレイへの参加要求があった場合に、ゲームプログラムが実行中のときは、他のプレイヤが多人数プレイへ参加していない状態を継続し、ゲームプログラムのエミュレータによる実行を開始する場面に遷移した場合に、他のプレイヤを多人数プレイへ参加させ、多人数プレイに参加しているプレイヤの情報処理装置間の通信に基づいて、ゲームプログラムの多人数プレイをエミュレータによって実行し、多人数プレイ中において、ゲームの終了指示が行われた場合、または、通信に基づいて他のプレイヤからゲームの終了要求があった場合に、当該ゲームを一時的に中断させ、さらに多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われた場合に、ゲームプログラムを終了する。構成11によれば、構成1と同様の効果が得られる。
【0024】
(構成12)構成11において、多人数プレイ可能なゲームプログラムは、多人数プレイ可能な複数のゲームプログラムのいずれかであって、ゲームプログラムのエミュレータによる実行を開始する場面は、複数のゲームプログラムのいずれを開始するか選択する場面である。構成12によれば、構成2と同様の効果が得られる。
【0025】
(構成13)構成12において、プロセッサはさらに、多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われてゲームプログラムが終了された場合に、複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる。構成13によれば、構成3と同様の効果が得られる。
【0026】
(構成14)構成13において、プロセッサはさらに、多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われてゲームプログラムが終了された場合に、多人数プレイに参加しているプレイヤが参加している状態を維持したまま、複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる。構成14によれば、構成4と同様の効果が得られる。
【0027】
(構成15)構成11~14のいずれかにおいて、プロセッサはさらに、多人数プレイをエミュレータによって実行させている間、画面共有を指示しているプレイヤのゲーム画面を受信して表示させるとともに、画面共有を指示している場合に、他の情報処理装置にゲーム画面を送信する。構成15によれば、構成5と同様の効果が得られる。
【0028】
(構成16)別の実施の形態に従う情報処理方法において、ゲーム装置のプロセッサが多人数プレイ可能なゲームプログラムをエミュレータによって実行し、プロセッサは、他の情報処理装置から、通信に基づいて、他のプレイヤの多人数プレイへの参加要求があった場合に、ゲームプログラムが実行中のときは、他のプレイヤが多人数プレイへ参加していない状態を継続し、ゲームプログラムのエミュレータによる実行を開始する場面に遷移した場合に、他のプレイヤを多人数プレイへ参加させ、プロセッサは、多人数プレイに参加しているプレイヤの情報処理装置間の通信に基づいて、ゲームプログラムの多人数プレイをエミュレータによって実行し、プロセッサは、多人数プレイ中において、ゲームの終了指示が行われた場合、または、通信に基づいて他のプレイヤからゲームの終了要求があった場合に、当該ゲームを一時的に中断させ、さらに多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われた場合に、ゲームプログラムを終了する。構成16によれば、構成1と同様の効果が得られる。
【0029】
(構成17)構成16において、多人数プレイ可能なゲームプログラムは、多人数プレイ可能な複数のゲームプログラムのいずれかであって、ゲームプログラムのエミュレータによる実行を開始する場面は、複数のゲームプログラムのいずれを開始するか選択する場面である。構成17によれば、構成2と同様の効果が得られる。
【0030】
(構成18)構成17において、プロセッサはさらに、多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われてゲームプログラムが終了された場合に、複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる。構成18によれば、構成3と同様の効果が得られる。
【0031】
(構成19)構成18において、プロセッサはさらに、多人数プレイに参加している全プレイヤの情報処理装置から終了指示が行われてゲームプログラムが終了された場合に、多人数プレイに参加しているプレイヤが参加している状態を維持したまま、複数のゲームプログラムのいずれを開始するか選択する場面に遷移させる。構成19によれば、構成4と同様の効果が得られる。
【0032】
(構成20)構成16~19のいずれかにおいて、プロセッサは、多人数プレイをエミュレータによって実行させている間、画面共有を指示しているプレイヤのゲーム画面を受信して表示させるとともに、画面共有を指示している場合に、他の情報処理装置にゲーム画面を送信する。構成20によれば、構成5と同様の効果が得られる。
【発明の効果】
【0033】
本開示によれば、ゲームプログラムをエミュレータで実行して通信による多人数プレイを実現する場合に、当該多人数プレイを正常に開始および終了できる仕組みを提供できる。
【図面の簡単な説明】
【0034】
【
図1】本実施の形態に従うゲームシステムの構成例を示す模式図である。
【
図2】本実施の形態に従うゲームシステムの別の構成例を示す模式図である。
【
図3】本実施の形態に従うゲーム装置のハードウェア構成例を示す模式図である。
【
図4】本実施の形態に従うゲーム装置の機能構成例を示す模式図である。
【
図5】本実施の形態に従うゲーム装置同士のコネクションの一例を説明するための模式図である。
【
図6】本実施の形態に従うシステムを構成するゲーム装置がゲームプログラムを実行する場合の処理手順例を示すフローチャートである。
【
図7】本実施の形態に従うシステムを構成するゲーム装置がゲームプログラムを実行する場合の処理手順例を示すフローチャートである。
【
図8】本実施の形態に従うゲーム装置がモード選択を受け付けるためのユーザインターフェイス画面の一例を示す模式図である。
【
図9】本実施の形態に従うゲーム装置が実行対象のゲームプログラムの選択を受け付けるためのユーザインターフェイス画面の一例を示す模式図である。
【
図10】本実施の形態に従うゲーム装置が選択されたホストにおいてゲームプログラムが実行中であることを通知するためのユーザインターフェイス画面の一例を示す模式図である。
【
図11】本実施の形態に従うゲーム装置が実行中のゲームプログラムの途中終了に対するプレイヤからの同意を受け付けるためのユーザインターフェイス画面の一例を示す模式図である。
【
図12】本実施の形態に従うゲーム装置が画面共有モードにおいて提供するユーザインターフェイス画面の一例を示す模式図である。
【発明を実施するための形態】
【0035】
本実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0036】
[A.ゲームシステムの構成例]
まず、本実施の形態に従うゲームシステムの構成例について説明する。
【0037】
ゲームシステムは、1または複数の情報処理装置を含む。情報処理装置は、ゲームプログラムをエミュレータで実行できれば、どのようなハードウェア構成であってもよい。情報処理装置は、例えば、ゲーム装置、スマートフォン、タブレット、携帯電話、パーソナルコンピュータなどであってもよい。以下では、情報処理装置の一例として、コンピュータであるゲーム装置100を採用する構成例について説明する。
【0038】
図1は、本実施の形態に従うゲームシステム1の構成例を示す模式図である。
図1には、ネットワークの一例としてローカル通信により、4つのゲーム装置100-1~100-4(以下、「ゲーム装置100」と総称することもある。)が接続された構成例を示す。
【0039】
ゲーム装置100の各々は、1または複数の他のゲーム装置100と通信できる。
図1に示すゲームシステム1において、ゲーム装置100間で相互にデータをやり取りできれば、どのような通信方式(有線方式および無線方式)を採用してもよい。また、ゲーム装置100同士が直接通信を行うようにしてもよいし(例えば、無線LANのアドホックモード)、中継装置を介して通信を行うようにしてもよい(例えば、無線LANのインフラストラクチャーモード)。
【0040】
図2は、本実施の形態に従うゲームシステム1の別の構成例を示す模式図である。
図2には、ネットワークの別の一例としてネットワーク10を介したオンライン接続により、4つのゲーム装置100-1~100-4が接続された構成例を示す。ゲーム装置100の各々は、ネットワーク10を介して、相互にデータをやり取りする。
【0041】
図2に示すゲームシステム1において、ゲーム装置100の各々がネットワーク10に接続する通信方式は、有線方式であってもよいし、無線方式であってもよい。
【0042】
図1および
図2のいずれにおいても、ゲーム装置100の各々は、ゲームプログラム118をエミュレータによって実行できる。ゲームプログラム118は、過去に販売されたアプリケーションであってもよい。
【0043】
例えば、ゲームプログラム118が多人数プレイ可能である場合には、ゲーム装置100の各々は、当該多人数プレイに参加しているプレイヤのゲーム装置100間の通信に基づいて、ゲームプログラム118の多人数プレイをエミュレータによって実行する。
【0044】
本明細書において、「多人数プレイ」は、複数のプレイヤ(ユーザ)が同じゲームプログラムを同時にプレイすることを意味する。あるいは、「多人数プレイ」は、複数のプレイヤ(ユーザ)が同じプレイヤグループに参加することを意味する。さらにあるいは、「多人数プレイ」は、ゲーム装置100の各々において、自装置におけるプレイヤの操作の情報だけではなく、他のゲーム装置100からの情報に基づいて、ゲームプログラム118を実行することを意味する。
【0045】
なお、すべてのゲーム装置100が任意の方法でゲームプログラム118を予め保持していてもよい。また、ゲームプログラム118を保持していないゲーム装置100が存在する場合には、ゲームプログラム118を保持しているゲーム装置100からダウンロードするようにしてもよい。あるいは、一部または全部のゲーム装置100は、サーバ(図示しない)などからゲームプログラム118を適宜ダウンロードするようにしてもよい。
【0046】
[B.ハードウェア構成例]
次に、本実施の形態に従うゲームシステム1を構成するゲーム装置100のハードウェア構成例について説明する。
【0047】
図3は、本実施の形態に従うゲーム装置100のハードウェア構成例を示す模式図である。
図3を参照して、ゲーム装置100は、一例として、コンピュータであり、1または複数のプロセッサ102と、メモリ104と、ストレージ110と、ディスプレイ106と、操作部108と、通信部120とを含む。これらのコンポーネントは、バス122を介して、互いにデータ通信可能に接続されている。
【0048】
プロセッサ102は、ゲーム装置100が提供する処理を実行するための処理主体である。プロセッサ102は、ストレージ110が格納しているプログラムのうち必要な部分をメモリ104に順次展開して実行する。
【0049】
メモリ104は、プロセッサ102がアクセス可能な揮発性記憶装置(記憶媒体)であり、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などが用いられてもよい。
【0050】
ストレージ110は、プロセッサ102がアクセス可能な不揮発性記憶装置(記憶媒体)であり、例えば、ハードディスクやSSD(Solid State Drive)などが用いられてもよい。ストレージ110は、例えば、光ディスクやカートリッジといったゲーム装置100に着脱可能な記憶媒体であってもよい。
【0051】
ストレージ110は、システムプログラム112と、実行管理プログラム114と、エミュレータプログラム116とを格納している。
【0052】
システムプログラム112は、プロセッサ102に、ゲーム装置100として機能するために必要な基本的な処理を実行させるためのコンピュータ読取可能命令を含む。
【0053】
実行管理プログラム114は、プロセッサ102に、ゲームプログラム118をエミュレータによって実行させるためのコンピュータ読取可能命令を含む。
【0054】
エミュレータプログラム116は、プロセッサ102に、ゲームプログラム118を実行するための環境を仮想的に構成させるためのコンピュータ読取可能命令を含む。
【0055】
本実施の形態に従う「情報処理プログラム」は、少なくとも実行管理プログラム114を含む。「情報処理プログラム」は、システムプログラム112および/またはエミュレータプログラム116を含んでいてもよい。プログラムをどのように実装するのかについては設計事項であり、要求性能および制約に応じて、適宜決定できる。
【0056】
1または複数のゲームプログラム118は、ストレージ110に格納されていてもよいし、プレイヤからの要求に応じて、サーバなどから適宜ダウンロードするようにしてもよい。この場合には、実行中のみメモリ104に展開されるものの、ストレージ110には格納されなくてもよい。
【0057】
一例として、ゲームプログラム118は、ゲーム装置100とは別のゲーム装置(例えば、ゲーム装置100より以前に開発された過去のゲーム装置)で実行されるように作成されたプログラムである。但し、ゲーム装置100で実行される場合であっても、ゲームプログラム118はオリジナルのままであってもよい。すなわち、ゲームプログラム118には、ゲーム装置100のエミュレータによって実行するための改変などはなされなくてもよい。
【0058】
ストレージ110には、ゲームプログラム118が実行されることで生成されたアプリデータ130が格納されてもよい。
【0059】
ディスプレイ106は、プロセッサ102で実行される情報処理の結果として生成される画像を表示する。ディスプレイ106は複数であってもよい。また、1または複数の外部ディスプレイをゲーム装置100が利用する構成であってもよい。
【0060】
操作部108は、ゲーム装置100のプレイヤからの操作入力を受け付ける。操作部108は、例えば、押ボタン、操作レバー、タッチパネル、マウスなどを含む。操作部108は、ゲーム装置100とは別体の、有線または無線で接続されるゲームコントローラであってもよい。
【0061】
通信部120は、他のゲーム装置100との間の通信を行う。通信部120は、有線通信に必要なハードウェア、および/または、無線通信に必要はハードウェアを有していてもよい。なお、通信部120の処理の全部または一部をプロセッサ102により実現してもよい。
【0062】
図3には、ゲーム装置100を一体の装置として描くが、複数の装置の集合体として実装してもよい。すなわち、1つのゲーム装置100を複数の独立した装置の組み合わせによって実装してもよい。例えば、プロセッサ102、メモリ104およびストレージ110に相当するハードウェアを有する本体部と、ディスプレイ106および操作部108に相当するハードウェアを有する表示操作部とからなる分離した構成を採用してもよい。
【0063】
また、ゲーム装置100において実行される処理の少なくとも一部が、ネットワーク上に分散配置された1または複数の他の装置によって分散的に実行されるようにしてもよい。
【0064】
ゲーム装置100において実行される処理は、プロセッサ102がプログラムを実行することで実現されてもよいし、処理の一部または全部が、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤード回路により実現されてもよい。そのため、本明細書において、「プロセッサ」との用語は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などのプログラムに記述されたコンピュータ読取可能命令に従って処理を実行する処理回路という通常の意味に加えて、ASICやFPGAなどのハードワイヤード回路も包含する。ASICやFPGAなどのハードワイヤード回路は、実行すべき処理に対応する回路が予め形成されている。さらに、本明細書の「プロセッサ」は、SoC(System on Chip)などの複数の機能が集約された回路も包含する。
【0065】
[C.機能構成例]
次に、本実施の形態に従うゲームシステム1を構成するゲーム装置100の機能構成例について説明する。
【0066】
図4は、本実施の形態に従うゲーム装置100の機能構成例を示す模式図である。
図4を参照して、ゲーム装置100は、主たる機能構成として、実行管理モジュール124と、エミュレータ126とを含む。実行管理モジュール124は、ゲーム装置100のプロセッサ102が実行管理プログラム114(
図3)を実行することで生成されるインスタンスであり、エミュレータ126は、ゲーム装置100のプロセッサ102がエミュレータプログラム116(
図3)を実行することで生成されるインスタンスである。なお、1つのゲーム装置100において、複数のエミュレータ126が生成されることもある。
【0067】
実行管理モジュール124は、エミュレータ126で実行されるゲームプログラム118の選択、選択されたゲームプログラム118のエミュレータ126での実行の管理、プレイヤ操作情報のやり取り、ならびに、ゲーム画面の出力などの処理を実行する。
【0068】
実行管理モジュール124は、プレイヤが自装置の操作部108を操作した内容(プレイヤ操作情報150)を取得して、エミュレータ126へ提供する。また、実行管理モジュール124は、ゲームプログラム118をエミュレータ126で実行して得られるゲーム画面をディスプレイ106へ出力する。また、実行管理モジュール124は、ゲームプログラム118をエミュレータ126で実行して得られる音声をスピーカ(図示しない)などから出力してもよい。
【0069】
エミュレータ126は、ゲームプログラム118を実行するための仮想環境であり、プレイヤ操作情報150を受けるとともに、実行結果としてゲーム画面および音声を出力する。エミュレータ126は、他のエミュレータ126との間で共有データ142をやり取りする。共有データ142は、従前の携帯ゲーム機が有線の通信ケーブルを介してやり取りしていたデータに相当する。共有データ142は、ゲームプログラム118の多人数プレイにおいて送受信されるデータとして規定されたものである。共有データ142は、多人数プレイを実現するために必要な情報を含み、例えば、キャラクタの座標やアクション指示などを含む。
【0070】
エミュレータ126は、ゲームプログラム118がデータをセーブするための仮想セーブ領域128を有している。仮想セーブ領域128は、ゲームプログラム118から見れば、本来のセーブ領域のように振る舞う。仮想セーブ領域128自体は、メモリ104上に実装されてもよいが、セーブされたデータ(アプリデータ)は、ストレージ110に格納されるようにしてもよい(例えば、
図3のアプリデータ130など)。なお、エミュレータ126は、公知の技術を用いて実現できる。
【0071】
本実施の形態に従うゲームシステム1において、エミュレータ126同士は、有線の通信ケーブルを模擬するコネクションを構成することができる。
【0072】
図5は、本実施の形態に従うゲーム装置100同士のコネクションの一例を説明するための模式図である。
図5には、例えば、ゲーム装置100-1~100-4でゲームプログラム118を多人数プレイする場合の構成例を示す。ゲーム装置100のエミュレータ126同士は、実行管理モジュール124を介して、通信ケーブルを模擬するコネクション140を構成する。コネクション140は、仮想的あるいは論理的なデータ伝送路である。
【0073】
エミュレータ126は、従前の携帯ゲーム機が有線の通信ケーブルを介してやり取りしていた共有データ142を、コネクション140を介して他のエミュレータ126との間でやり取りする。コネクション140を構成することで、ゲームプログラム118から見れば、有線の通信ケーブルで接続された複数の携帯ゲーム機と同様の環境を提供できる。
【0074】
説明の便宜上、
図5には、隣接するゲーム装置100の間でコネクション140が構成される例を示しているが、すべてのエミュレータ126の組について、コネクション140が構成されてもよい。また、
図5には、4つのゲーム装置100からなる構成例を示すが、ゲーム装置100の数はいずれであってもよい。
【0075】
[D.ゲームプログラムを実行する場合の処理手順例]
次に、本実施の形態に従うゲームシステム1を構成するゲーム装置100がゲームプログラム118を実行する場合の処理手順例について説明する。
【0076】
多人数プレイ可能なゲームプログラム118については、複数のプレイヤが同時に参加することになる。そのため、ゲーム装置100は、一例として、多人数プレイへの参加を呼び掛ける「ホスト」と、「ホスト」の呼び掛けに参加する「ゲスト」との2つのモードを選択可能になっている。
【0077】
図6および
図7は、本実施の形態に従うシステムを構成するゲーム装置100がゲームプログラム118を実行する場合の処理手順例を示すフローチャートである。
図6に示す各ステップは、例えば、ゲーム装置100のプロセッサ102が、少なくとも、実行管理プログラム114(
図3)を実行することで実現されてもよい。
【0078】
図6を参照して、ゲーム装置100は、プレイヤからいずれのモードで動作することが指示されたかを判断する(ステップS100)。
【0079】
図8は、本実施の形態に従うゲーム装置100がモード選択を受け付けるためのユーザインターフェイス画面200の一例を示す模式図である。
図8を参照して、ユーザインターフェイス画面200は、ホストとして他のプレイヤからの参加を待つことを指示するボタン202と、ゲストとしてホストが開催するゲームに参加することを指示するボタン204とを含む。プレイヤは、ボタン202またはボタン204を選択する。
【0080】
再度
図6を参照して、プレイヤからホストとして動作することが指示されると(ステップS100において「ホスト」)、ゲーム装置100は、実行可能なゲームプログラム118の一覧画面をディスプレイ106に表示する(ステップS102)。
【0081】
ステップS102~S116の処理は、多人数プレイ可能なゲームプログラム118を選択する場面に相当する。ディスプレイ106には、多人数プレイ可能なゲームプログラム118のみが表示されるようにしてもよいし、あるいは、多人数プレイに対応していないゲームプログラム118も併せて表示されるようにしてもよい。後者の場合には、プレイヤが多人数プレイの可否を区別できるように異なる態様で表示してもよい。
【0082】
ゲーム装置100は、多人数プレイ可能なゲームプログラム118を選択する場面において、エミュレータ126を生成する(ステップS104)。すなわち、ゲームプログラム118のエミュレータ126による実行を開始する場面は、複数のゲームプログラム118のいずれを開始するか選択する場面であってもよい。
【0083】
ステップS104の実行後、ゲーム装置100は、ホストとして動作するので、他のプレイヤからの参加要求待ち状態となる。例えば、他のゲーム装置100から、通信に基づいて、(当該他のゲーム装置100を操作する)他のプレイヤの多人数プレイへの参加要求があった場合に、ステップS104の実行直後のように、ゲームプログラム118の実行開始前であれば、ゲーム装置100は、当該他のプレイヤを多人数プレイに参加させる。
【0084】
より具体的には、他のプレイヤからの参加要求を受けると(ステップS106においてYES)、ゲーム装置100は、参加要求を送信した他のゲーム装置100との間で、実行可能なゲームプログラム118の一覧画面を共有する(ステップS108)。また、ゲーム装置100は、生成しているエミュレータ126と参加要求を送信したゲーム装置100のエミュレータ126との間に、通信ケーブルを模擬するコネクション140を構成する(ステップS110)。
【0085】
なお、
図8には明示していないが、他のプレイヤからの離脱要求を受けると、ゲーム装置100は、離脱要求を送信したゲーム装置100のエミュレータ126との間のコネクション140を解放する。
【0086】
実行可能なゲームプログラム118の一覧画面を共有するゲーム装置100が多人数プレイに参加するゲーム装置100となる。なお、一覧画面の共有は、ホストからゲストに対して画面データ自体を送信するようにしてもよいし、ホストからのゲームプログラム118の選択情報を受けて、ゲストとして機能するゲーム装置100の各々が一覧画面を生成するようにしてもよい。
【0087】
図9は、本実施の形態に従うゲーム装置100が実行対象のゲームプログラムの選択を受け付けるためのユーザインターフェイス画面210の一例を示す模式図である。
図9を参照して、ユーザインターフェイス画面210は、現在参加しているプレイヤを示す参加プレイヤ表示212と、ゲームプログラム118の一覧表示214とを含む。
【0088】
ホストのプレイヤは、ユーザインターフェイス画面210において選択操作を行うことで、実行対象のゲームプログラム118を選択できる。選択されているゲームプログラム118には、選択されていることを示すオブジェクト216が重ねて表示される。
【0089】
再度
図6を参照して、他のプレイヤからの参加要求がなければ(ステップS106においてNO)、ステップS108およびS110の処理はスキップされる。
【0090】
また、ゲーム装置100は、自装置を操作するプレイヤによるゲームプログラム118の選択待ちの状態となる。プレイヤがいずれかのゲームプログラム118を選択すると(ステップS112においてYES)、ゲーム装置100は、選択されているゲームプログラム118を特定するためのオブジェクトを表示する(ステップS114)。このように、ホストとして動作するゲーム装置100は、プレイヤの操作に応じて、複数の多人数プレイ可能なゲームプログラム118のうち1つを選択する。すなわち、実行される多人数プレイ可能なゲームプログラム118は、多人数プレイ可能な複数のゲームプログラム118のいずれかであってもよい。
【0091】
プレイヤがいずれのゲームプログラム118も選択していなければ(ステップS112においてNO)、ステップS114の処理はスキップされる。
【0092】
続いて、ゲーム装置100は、ゲームプログラム118の実行開始が指示されたか否かを判断する(ステップS116)。ゲームプログラム118の実行開始が指示されなければ(ステップS116においてNO)、ステップS106以下の処理が繰り返される。
【0093】
ゲームプログラム118の実行開始が指示されると(ステップS116においてYES)、ゲーム装置100は、生成しているエミュレータ126で、選択されているゲームプログラム118の実行を開始する(ステップS118)。ステップS118において、ゲーム装置100は、多人数プレイに参加しているプレイヤのゲーム装置100間の通信に基づいて、ゲームプログラム118の多人数プレイをエミュレータ126によって実行する。
【0094】
ステップS118において、ゲーム装置100の各々は、実行開始の指示に従って、ゲームプログラム118をエミュレータ126によって実行し、多人数プレイに参加しているプレイヤが操作するゲーム装置100間の通信により多人数プレイを進行する。
【0095】
一方、プレイヤからゲストとして動作することが指示されると(ステップS100において「ゲスト」)、ゲーム装置100は、ホストとして動作している他のゲーム装置100および対応するプレイヤの一覧をディスプレイ106に表示する(ステップS120)。そして、ゲーム装置100は、自装置を操作するプレイヤによる他のゲーム装置100(あるいは、対応するプレイヤ)に対する選択待ちの状態となる。
【0096】
プレイヤがいずれかの他のゲーム装置100(あるいは、対応するプレイヤ)を選択すると(ステップS122においてYES)、ゲーム装置100は、選択されたゲーム装置100において、ゲームプログラム118が実行中であるか否かを判断する(ステップS124)。
【0097】
選択されたゲーム装置100において、ゲームプログラム118が実行中であれば(ステップS124においてYES)、ゲームプログラム118が実行中である旨を表示する(ステップS126)。そして、ステップS124以下の処理が繰り返される。
【0098】
図10は、本実施の形態に従うゲーム装置100が選択されたホストにおいてゲームプログラム118が実行中であることを通知するためのユーザインターフェイス画面230の一例を示す模式図である。
図10を参照して、ユーザインターフェイス画面230は、選択されたホストにおいて、ゲームプログラム118が現在実行中であることを示すメッセージ222を含む。
【0099】
このように、ホストとして動作するゲーム装置100は、(ゲストとして動作する)他のゲーム装置100から、通信に基づいて、他のプレイヤの多人数プレイへの参加要求があった場合に、ゲームプログラム118が実行中のときは、当該他のプレイヤが多人数プレイへ参加していない状態を継続させる。また、ゲストとして動作するゲーム装置100は、多人数プレイへの参加要求を(ホストとして動作する)他のゲーム装置100に送信した場合に、当該他のゲーム装置100によって多人数プレイに参加させられるまで、プレイヤにプレイを待機させるための表示(ユーザインターフェイス画面230)を行う。このような表示を行うことで、プレイヤが多人数プレイに参加する動機付けを失うことを防止できる。
【0100】
再度
図6を参照して、選択されたゲーム装置100において、ゲームプログラム118が実行中でなければ(ステップS124においてNO)、ゲーム装置100は、選択されたゲーム装置100との間で、実行可能なゲームプログラム118の一覧画面を共有する(ステップS128)。また、ゲーム装置100は、エミュレータ126を生成し(ステップS130)、多人数プレイに既に参加しているゲーム装置100のエミュレータ126との間に、通信ケーブルを模擬するコネクション140を構成する(ステップS132)。
【0101】
このように、ホストとして動作するゲーム装置100は、(ゲストとして動作する)他のゲーム装置100から、通信に基づいて、他のプレイヤの多人数プレイへの参加要求があった場合に、ゲームプログラム118のエミュレータ126による実行を開始する場面に遷移した場合(ステップS124においてNO)に、当該他のプレイヤを多人数プレイへ参加させる。なお、ステップS124の処理において、ホストとして動作するゲーム装置100とゲストして動作するゲーム装置100との間の通信は、維持されている。
【0102】
続いて、ゲーム装置100は、ゲームプログラム118の実行開始が指示されたか否かを判断する(ステップS134)。ゲームプログラム118の実行開始が指示されなければ(ステップS134においてNO)、ステップS134以下の処理が繰り返される。
【0103】
ゲームプログラム118の実行開始が指示されると(ステップS134においてYES)、ステップS118以下の処理が実行される。
【0104】
ステップS118に続いて、ゲーム装置100は、多人数プレイに参加しているいずれかのゲーム装置100において、画面共有が指示されたか否かを判断する(ステップS136)。
【0105】
いずれかのゲーム装置100において画面共有が指示されると(ステップS136においてYES)、ゲーム装置100は、画面共有が指示されたゲーム装置100において表示されているゲーム画面を自装置上で表示する(ステップS138)。画面共有に係る処理の詳細については後述する。画面共有が指示されなければ(ステップS136においてNO)、ステップS138の処理はスキップされる。
【0106】
ゲーム装置100は、多人数プレイに参加しているいずれかのゲーム装置100において、ゲームプログラム118の途中終了が指示されたか否かを判断する(ステップS140)。より具体的には、ゲーム装置100の各々は、自装置においてゲームプログラム118の終了が指示されたか否か、および、通信により他のプレイヤからゲームプログラム118の終了の要求を受けたか否かをそれぞれ判断する。
【0107】
ゲームプログラム118の途中終了が指示されなければ(ステップS140においてNO)、ゲーム装置100は、ゲームプログラム118の実行が完了したか否かを判断する(ステップS142)。ゲームプログラム118の実行が完了していなければ(ステップS142においてNO)、ゲームプログラム118の実行が継続されて、ステップS136以下の処理が繰り返される。
【0108】
ゲームプログラム118の実行が完了すれば(ステップS142においてYES)、処理はステップS106に戻る。
【0109】
ゲームプログラム118の途中終了が指示されると(ステップS140においてNO)、ステップS144およびS146のような処理が実行される。
【0110】
より具体的には、ゲーム装置100は、ゲームプログラム118のエミュレータ126による実行を一時的に中断し(ステップS144)、ゲームプログラム118を途中終了することについての同意を得る画面を表示する(ステップS146)。これによって、ゲーム装置100は、多人数プレイに参加している各プレイヤからの操作入力を待つ状態となる。
【0111】
図11は、本実施の形態に従うゲーム装置100が実行中のゲームプログラムの途中終了に対するプレイヤからの同意を受け付けるためのユーザインターフェイス画面230の一例を示す模式図である。
図11を参照して、ユーザインターフェイス画面230は、多人数プレイに参加しているすべてのプレイヤの状態を示すプレイヤ別表示231~234を含む。なお、プレイヤ別表示の数は、多人数プレイに参加しているすべてのプレイヤの数と同数となる。
【0112】
図11には、プレイヤBBB(2P)がゲームプログラム118の途中終了を指示した例を示す。そのため、プレイヤBBB(2P)のプレイヤ別表示232においては、既に同意済を示す状態表示236になっている。但し、途中終了を指示した後に、改めて途中終了に同意するか否かを選択できるような態様であってもよい。
【0113】
図11には、プレイヤAAA(1P)が操作するゲーム装置100に表示される例を示す。そのため、プレイヤAAA(1P)のプレイヤ別表示231においては、プレイヤが同意するか否かを選択できるような状態表示235になっている。
【0114】
その他のプレイヤCCC(3P)およびプレイヤDDD(4P)のプレイヤ別表示233,234においては、各プレイヤがいずれを選択したかを示す状態表示237,238になっている。
【0115】
再度
図7を参照して、多人数プレイに参加しているすべてのプレイヤがゲームプログラム118の実行を途中終了することに同意すれば(ステップS148においてYES)、ゲーム装置100は、実行中のゲームプログラム118において必要なデータをセーブする(ステップS150)。そして、処理はステップS106に戻る。
【0116】
このように、ゲーム装置100は、多人数プレイ中において、(自装置のプレイヤからの)ゲームの終了指示が行われた場合、または、通信に基づいて他のプレイヤからゲームの終了要求があった場合に、当該ゲームを一時的に中断させ、さらに多人数プレイに参加している全プレイヤのゲーム装置100から終了指示が行われた場合に、ゲームプログラム118を終了する。
【0117】
そして、ゲーム装置100は、多人数プレイ可能なゲームプログラム118を選択する場面に遷移する。すなわち、ゲーム装置100は、多人数プレイに参加している全プレイヤのゲーム装置100から終了指示が行われてゲームプログラム118が終了された場合に、複数のゲームプログラム118のいずれを開始するか選択する場面に遷移する。
【0118】
なお、ゲーム装置100の各々において、エミュレータ126およびコネクション140は維持されるので、多人数プレイ可能なゲームプログラム118を選択する場面に遷移した後も、当該終了したゲームプログラム118の多人数プレイに参加していたプレイヤは、多人数プレイに参加可能な状態に維持される。すなわち、ゲーム装置100は、多人数プレイに参加している全プレイヤのゲーム装置100から終了指示が行われてゲームプログラム118が終了された場合に、多人数プレイに参加しているプレイヤが参加している状態を維持したまま、複数のゲームプログラム118のいずれを開始するか選択する場面に遷移する。
【0119】
これに対して、多人数プレイに参加しているすべてのプレイヤがゲームプログラム118の実行を途中終了することに同意するものでなければ(ステップS148においてNO)、ゲームプログラム118の実行が再開および継続されて、ステップS140以下の処理が繰り返される。
【0120】
[E.ゲームプログラムを実行する場合の処理手順の変形例]
なお、
図6および
図7に示す処理手順においては、ゲームプログラム118の実行を途中終了する前に、必要なデータがセーブされる(ステップS148)。ゲームプログラム118の仕様によっては、データのセーブが不要な場合もある。このような場合には、
図7のステップS146を省略できる。
【0121】
さらに、データのセーブが必要でなければ、すべてのプレイヤからの同意を得なくても、ゲームプログラム118の実行を途中終了してもよい。この場合には、
図7のステップS146の処理を省略してもよい。すなわち、いずれかのプレイヤがゲームプログラム118の途中終了を指示すると、ゲームプログラム118の実行をそのまま途中終了してもよい。但し、他のプレイヤが状況を把握できるように、途中終了を指示したプレイヤ名、および、途中終了が指示されたのでゲームプログラム118が途中終了したことを各プレイヤに通知するようにしてもよい。
【0122】
[F.画面共有]
次に、画面共有に係る処理(
図7のステップS138)について説明する。
【0123】
図12は、本実施の形態に従うゲーム装置100が画面共有モードにおいて提供するユーザインターフェイス画面240の一例を示す模式図である。
【0124】
ゲーム装置100は、ゲームプログラム118を実行することで生成されるゲーム画面を表示する通常表示モードに加えて、
図12に示すような画面共有モードを選択できるようにしてもよい。例えば、特定の押ボタンの操作に応じて、通常表示モードと画面共有モードとを交互に切り替えるようにしてもよい。
【0125】
図12(A)には、プレイヤAAA(1P)により画面共有が指示された状態を示し、
図12(B)には、プレイヤAAA(1P)に加えて、プレイヤBBB(2P)により画面共有が指示された状態を示す。
【0126】
図12(A)を参照して、ユーザインターフェイス画面240は、プレイヤ(ゲーム装置100)毎に設定された表示領域241~244を含む。
図12(A)に示す例では、プレイヤAAA(1P)により画面共有が指示されているので、プレイヤAAA(1P)が操作するゲーム装置100がゲームプログラム118を実行することで生成されるゲーム画面が表示される。
【0127】
図12(B)に示す例では、
図12(A)に示すゲーム画面に加えて、プレイヤBBB(2P)により画面共有が指示されているので、プレイヤBBB(2P)が操作するゲーム装置100がゲームプログラム118を実行することで生成されるゲーム画面が表示される。
【0128】
画面共有モードは、ゲーム装置100の各々がゲーム画面を他のゲーム装置100に送信することで実現してもよい。より具体的には、ゲーム装置100の各々は、自装置のプレイヤによって画面共有が指示されていれば、ゲームプログラム118をエミュレータ126によって実行している間、自装置のゲーム画面を他のゲーム装置100へ送信する。このように、ゲーム装置100は、多人数プレイをエミュレータによって実行させている間、画面共有を指示しているプレイヤのゲーム画面を受信して表示するとともに、画面共有を指示している場合に、他のゲーム装置100にゲーム画面を送信する。
【0129】
また、ゲーム装置100の各々は、ゲームプログラム118をエミュレータ126によって実行している間、画面共有が指示されているプレイヤのゲーム画面を他のゲーム装置100から受信して表示する。
【0130】
本実施の形態に従うゲームシステム1においては、従来の有線の通信ケーブルを用いる場合とは異なり、プレイヤ同士が離れていても多人数プレイに参加できる。但し、離れた位置にいるプレイヤ同士が多人数プレイを行う場合には、プレイヤ同士でゲーム画面を見せ合うようなことができない。このような課題に対して、画面共有モードを提供することで、複数のプレイヤが物理的に離れた状態で多人数プレイに参加している場合であっても、ゲームの状況をお互いに把握することができる。
【0131】
[G.利点]
本実施の形態によれば、通信による多人数プレイが想定されていなかった(過去の)ゲームプログラムをエミュレータで実行することで、通信による多人数プレイを実現する場合に、当該多人数プレイを正常に開始および終了できる仕組みを提供する。
【0132】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0133】
1 ゲームシステム、10 ネットワーク、100 ゲーム装置、102 プロセッサ、104 メモリ、106 ディスプレイ、108 操作部、110 ストレージ、112 システムプログラム、114 実行管理プログラム、116 エミュレータプログラム、118 ゲームプログラム、120 通信部、122 バス、124 実行管理モジュール、126 エミュレータ、128 仮想セーブ領域、130 アプリデータ、140 コネクション、142 共有データ、200,210,230,240 ユーザインターフェイス画面、202,204 ボタン、212 参加プレイヤ表示、214 一覧表示、216 オブジェクト、222 メッセージ、231,232,233,234 プレイヤ別表示、235,236,237,238 状態表示、241,244 表示領域。