(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024075897
(43)【公開日】2024-06-05
(54)【発明の名称】ゲームプログラム、ゲームシステム、情報処理装置および情報処理方法
(51)【国際特許分類】
A63F 13/58 20140101AFI20240529BHJP
A63F 13/30 20140101ALI20240529BHJP
A63F 13/53 20140101ALI20240529BHJP
【FI】
A63F13/58
A63F13/30
A63F13/53
【審査請求】未請求
【請求項の数】24
【出願形態】OL
(21)【出願番号】P 2022187150
(22)【出願日】2022-11-24
(71)【出願人】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】森村 尚也
(72)【発明者】
【氏名】ジャン・フランソワ ヴィダル
(72)【発明者】
【氏名】ローラン イリアール
(57)【要約】
【課題】ゲーム中のデータを活用してオンラインミッションを実行することが可能なゲームプログラムを提供する。
【解決手段】ゲームプログラムは、情報処理装置のコンピュータに、エミュレータによってゲームプログラムを実行させ、エミュレータによるゲームプログラムの実行によって使用されるメモリ領域のうち、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスを監視させ、所定のアドレスにおける値のゲーム中における推移に基づいて、予め設定された目標の達成状況を判定させ、目標の達成状況を、ネットワークで通信可能に設けられたサーバへ送信させ、サーバから、複数プレイヤによって送信された目標の達成状況に基づいて判定される、オンラインミッションの達成状況に関する情報を受信させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
エミュレータによってゲームプログラムを実行させ、
前記エミュレータによる前記ゲームプログラムの実行によって使用されるメモリ領域のうち、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスを監視させ、
前記所定のアドレスにおける値のゲーム中における推移に基づいて、予め設定された目標の達成状況を判定させ、
前記目標の達成状況を、ネットワークで通信可能に設けられたサーバへ送信させ、
前記サーバから、複数プレイヤによって送信された前記目標の達成状況に基づいて判定される、オンラインミッションの達成状況に関する情報を受信させる、ゲームプログラム。
【請求項2】
前記目標の達成状況は、前記所定のアドレスにおける値に関して、ゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて判定される、請求項1記載のゲームプログラム。
【請求項3】
前記所定のアドレスにおける値は、前記ゲームの進行に応じてリセットされる、または再度変化する値である、請求項2記載のゲームプログラム。
【請求項4】
前記所定のアドレスにおける値は、前記ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値である、請求項3記載のゲームプログラム。
【請求項5】
前記コンピュータにさらに、
前記所定のアドレスにおける値が変化した場合に、前記エミュレータによる前記ゲームプログラムの実行に基づいたゲーム画像に対して、前記目標の達成状況に関する情報を重畳させたゲーム画面を生成して出力させる、請求項1~4のいずれか一項に記載のゲームプログラム。
【請求項6】
前記コンピュータにさらに、
前記エミュレータによる前記ゲームプログラムの実行に基づいたゲーム画像と、前記サーバから取得された前記オンラインミッションの達成状況を示す画像とを合成したゲーム画面を生成して出力させる、請求項1~4のいずれか一項に記載のゲームプログラム。
【請求項7】
複数の情報処理装置と、
前記複数の情報処理装置とネットワークで通信可能に設けられたサーバとを備え、
前記複数の情報処理装置は、それぞれコンピュータを含み、
前記コンピュータは、
エミュレータによってゲームプログラムを実行し、
前記エミュレータによる前記ゲームプログラムの実行によって使用されるメモリ領域のうち、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスを監視し、
前記所定のアドレスにおける値の推移に基づいて、予め設定された目標の達成状況を判定し、
前記達成状況を、前記サーバへ送信し、
前記サーバは、
前記複数の情報処理装置から送信された前記目標の達成状況に基づいて、前記複数の情報処理装置に対して設定されたオンラインミッションの達成に関する判定を行い、
判定結果に基づいて前記オンラインミッションの達成状況に関する情報を前記複数の情報処理装置に対して送信する、ゲームシステム。
【請求項8】
前記目標の達成状況は、前記所定のアドレスにおける値に関して、ゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて判定される、請求項7記載のゲームシステム。
【請求項9】
前記所定のアドレスにおける値は、前記ゲームの進行に応じてリセットされる、または再度変化する値である、請求項8記載のゲームシステム。
【請求項10】
前記所定のアドレスにおける値は、前記ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値である、請求項9記載のゲームシステム。
【請求項11】
前記コンピュータは、さらに、
前記所定のアドレスにおける値が変化した場合に、前記エミュレータによる前記ゲームプログラムの実行に基づいたゲーム画像に対して、前記目標の達成状況に関する情報を重畳させたゲーム画面を生成して出力する、請求項7~9のいずれか一項に記載のゲームシステム。
【請求項12】
前記コンピュータは、さらに、
前記エミュレータによる前記ゲームプログラムの実行に基づいたゲーム画像と、前記サーバから取得された前記オンラインミッションの達成状況を示す画像とを合成したゲーム画面を生成して出力する、請求項7~9のいずれか一項に記載のゲームシステム。
【請求項13】
コンピュータと、
メモリとを備え、
前記コンピュータは、
エミュレータによってゲームプログラムを実行し、
前記エミュレータによる前記ゲームプログラムの実行によって使用されるメモリ領域のうち、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスを監視し、
前記所定のアドレスにおける値のゲーム中における推移に基づいて、予め設定された目標の達成状況を判定し、
前記達成状況を、ネットワークで通信可能に設けられたサーバへ送信し、
前記サーバから、複数プレイヤによって送信された前記目標の達成状況に基づいて判定される、オンラインミッションの達成状況に関する情報を受信する、情報処理装置。
【請求項14】
前記目標の達成状況は、前記所定のアドレスにおける値に関して、ゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて判定される、請求項13記載の情報処理装置。
【請求項15】
前記所定のアドレスにおける値は、前記ゲームの進行に応じてリセットされる、または再度変化する値である、請求項14記載の情報処理装置。
【請求項16】
前記所定のアドレスにおける値は、前記ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値である、請求項15記載の情報処理装置。
【請求項17】
前記コンピュータは、
前記所定のアドレスにおける値が変化した場合に、前記エミュレータによる前記ゲームプログラムの実行に基づいたゲーム画像に対して、前記目標の達成状況に関する情報を重畳させたゲーム画面を生成して出力する、請求項13~16のいずれか一項に記載の情報処理装置。
【請求項18】
前記コンピュータは、
前記エミュレータによる前記ゲームプログラムの実行に基づいたゲーム画像と、前記サーバから取得された前記オンラインミッションの達成状況を示す画像とを合成したゲーム画面を生成して出力する、請求項13~16のいずれか一項に記載の情報処理装置。
【請求項19】
ゲーム装置のプロセッサがゲームプログラムをエミュレータによって実行し、
前記プロセッサは、
前記エミュレータによる前記ゲームプログラムの実行によって使用されるメモリ領域のうち、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスを監視し、
前記所定のアドレスにおける値のゲーム中における推移に基づいて、予め設定された目標の達成状況を判定し、
前記達成状況を、ネットワークで通信可能に設けられたサーバへ送信し、
前記サーバから、複数プレイヤによって送信された前記目標の達成状況に基づいて判定される、オンラインミッションの達成状況に関する情報を受信する、情報処理方法。
【請求項20】
前記プロセッサは、前記所定のアドレスにおける値に関して、ゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて、前記ゲームに対して予め設定された目標の達成状況を判定する、請求項19記載の情報処理方法。
【請求項21】
前記所定のアドレスにおける値は、前記ゲームの進行に応じてリセットされる、または再度変化する値である、請求項20記載の情報処理方法。
【請求項22】
前記所定のアドレスにおける値は、前記ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値である、請求項21記載の情報処理方法。
【請求項23】
前記プロセッサは、さらに前記所定のアドレスにおける値が変化した場合に、前記エミュレータによる前記ゲームプログラムの実行に基づいたゲーム画像に対して、前記目標の達成状況に関する情報を重畳させたゲーム画面を生成して出力する、請求項19~22のいずれか一項に記載の情報処理方法。
【請求項24】
前記プロセッサは、さらに前記エミュレータによる前記ゲームプログラムの実行に基づいたゲーム画像と、前記サーバから取得された前記オンラインミッションの達成状況を示す画像とを合成したゲーム画面を生成して出力する、請求項19~22のいずれか一項に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゲームプログラムに関し、特にオンラインミッションの実行に関する。
【背景技術】
【0002】
従来より、エミュレータプログラムと、ゲームのロムデータが記憶されている情報処理装置が知られている(例えば特許文献1)。この装置では、過去に発売されていたゲーム装置の動作をエミュレータプログラムで再現でき、インストールされているゲームをプレイすることが可能となっている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方で、上記のような情報処理装置では、ゲーム中のデータを活用してオンラインミッションを実行するようなことは考慮されておらず、オリジナルのゲームにおいてオンラインミッションが提供されていない場合には、エミュレータによるゲームの実行においてオンラインミッションを実施することは困難であった。
【0005】
本開示の目的は、ゲーム中のデータを活用してオンラインミッションを実行することが可能なゲームプログラム、ゲームシステム、情報処理装置および情報処理方法を提供することである。
【課題を解決するための手段】
【0006】
本開示の一例に従うゲームプログラムは、情報処理装置のコンピュータに、エミュレータによってゲームプログラムを実行させ、エミュレータによるゲームプログラムの実行によって使用されるメモリ領域のうち、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスを監視させ、所定のアドレスにおける値のゲーム中における推移に基づいて、予め設定された目標の達成状況を判定させ、目標の達成状況を、ネットワークで通信可能に設けられたサーバへ送信させ、サーバから、複数プレイヤによって送信された目標の達成状況に基づいて判定される、オンラインミッションの達成状況に関する情報を受信させる。この構成によれば、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスにおける値のゲーム中における推移に基づいて目標の達成状況を判定させ、サーバへ当該目標の達成状況を送信するためゲーム中のデータを活用してオンラインミッションを実行することが可能である。
【0007】
目標の達成状況は、所定のアドレスにおける値に関して、ゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて判定される。この構成によれば、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスにおける値のゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて目標の達成状況を判定させ、サーバへ当該目標の達成状況を送信するためゲーム中のデータをさらに活用してオンラインミッションを実行することが可能である。
【0008】
所定のアドレスにおける値は、ゲームの進行に応じてリセットされる、または再度変化する値である。この構成によれば、ゲーム中のゲームの進行に応じてリセットされる、または再度変化する値であるデータを活用してオンラインミッションを実行することが可能である。
【0009】
所定のアドレスにおける値は、ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値である。この構成によれば、ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値であるデータを活用してオンラインミッションを実行することが可能である。
【0010】
ゲームプログラムは、コンピュータにさらに、所定のアドレスにおける値が変化した場合に、エミュレータによるゲームプログラムの実行に基づいたゲーム画像に対して、目標の達成状況に関する情報を重畳させたゲーム画面を生成して出力させる。この構成によれば、目標の達成状況に関する情報が重畳されたゲーム画面が出力されることによりゲーム中のデータを活用して興趣性の高いオンラインミッションを実行することが可能である。
【0011】
ゲームプログラムは、コンピュータにさらに、エミュレータによるゲームプログラムの実行に基づいたゲーム画像と、サーバから取得されたオンラインミッションの達成状況を示す画像とを合成したゲーム画面を生成して出力させる。この構成によれば、サーバから取得されたオンラインミッションの達成状況を示す画像が合成されたゲーム画面が出力されることによりゲーム中のデータを活用して興趣性の高いオンラインミッションを実行することが可能である。
【0012】
本開示の一例に従うゲームシステムは、複数の情報処理装置と、複数の情報処理装置とネットワークで通信可能に設けられたサーバとを備える。複数の情報処理装置は、それぞれコンピュータを含む。コンピュータは、エミュレータによってゲームプログラムを実行し、エミュレータによるゲームプログラムの実行によって使用されるメモリ領域のうち、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスを監視し、所定のアドレスにおける値の推移に基づいて、予め設定された目標の達成状況を判定し、達成状況を、サーバへ送信する。サーバは、複数の情報処理装置から送信された目標の達成状況に基づいて、複数の情報処理装置に対して設定されたオンラインミッションの達成に関する判定を行い、判定結果に基づいてオンラインミッションの達成状況に関する情報を複数の情報処理装置に対して送信する。この構成によれば、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスにおける値のゲーム中における推移に基づいて目標の達成状況を判定させ、サーバへ当該目標の達成状況を送信するためゲーム中のデータを活用してオンラインミッションを実行することが可能である。
【0013】
目標の達成状況は、所定のアドレスにおける値に関して、ゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて判定される。この構成によれば、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスにおける値のゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて目標の達成状況を判定させ、サーバへ当該目標の達成状況を送信するためゲーム中のデータをさらに活用してオンラインミッションを実行することが可能である。
【0014】
所定のアドレスにおける値は、ゲームの進行に応じてリセットされる、または再度変化する値である。この構成によれば、ゲーム中のゲームの進行に応じてリセットされる、または再度変化する値であるデータを活用してオンラインミッションを実行することが可能である。
【0015】
所定のアドレスにおける値は、ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値である。この構成によれば、ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値であるデータを活用してオンラインミッションを実行することが可能である。
【0016】
コンピュータは、さらに、所定のアドレスにおける値が変化した場合に、エミュレータによるゲームプログラムの実行に基づいたゲーム画像に対して、目標の達成状況に関する情報を重畳させたゲーム画面を生成して出力する。この構成によれば、目標の達成状況に関する情報が重畳されたゲーム画面が出力されることによりゲーム中のデータを活用して興趣性の高いオンラインミッションを実行することが可能である。
【0017】
コンピュータは、さらに、エミュレータによるゲームプログラムの実行に基づいたゲーム画像と、サーバから取得されたオンラインミッションの達成状況を示す画像とを合成したゲーム画面を生成して出力する。この構成によれば、サーバから取得されたオンラインミッションの達成状況を示す画像が合成されたゲーム画面が出力されることによりゲーム中のデータを活用して興趣性の高いオンラインミッションを実行することが可能である。
【0018】
本開示の一例に従う情報処理装置は、コンピュータと、メモリとを備える。コンピュータは、エミュレータによってゲームプログラムを実行し、エミュレータによるゲームプログラムの実行によって使用されるメモリ領域のうち、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスを監視し、所定のアドレスにおける値のゲーム中における推移に基づいて、予め設定された目標の達成状況を判定し、達成状況を、ネットワークで通信可能に設けられたサーバへ送信し、サーバから、複数プレイヤによって送信された目標の達成状況に基づいて判定される、オンラインミッションの達成状況に関する情報を受信する。この構成によれば、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスにおける値のゲーム中における推移に基づいて目標の達成状況を判定させ、サーバへ当該目標の達成状況を送信するためゲーム中のデータを活用してオンラインミッションを実行することが可能である。
【0019】
目標の達成状況は、所定のアドレスにおける値に関して、ゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて判定される。この構成によれば、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスにおける値のゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて目標の達成状況を判定させ、サーバへ当該目標の達成状況を送信するためゲーム中のデータをさらに活用してオンラインミッションを実行することが可能である。
【0020】
所定のアドレスにおける値は、ゲームの進行に応じてリセットされる、または再度変化する値である。この構成によれば、ゲーム中のゲームの進行に応じてリセットされる、または再度変化する値であるデータを活用してオンラインミッションを実行することが可能である。
【0021】
所定のアドレスにおける値は、ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値である。この構成によれば、ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値であるデータを活用してオンラインミッションを実行することが可能である。
【0022】
コンピュータは、所定のアドレスにおける値が変化した場合に、エミュレータによるゲームプログラムの実行に基づいたゲーム画像に対して、目標の達成状況に関する情報を重畳させたゲーム画面を生成して出力する。この構成によれば、目標の達成状況に関する情報が重畳されたゲーム画面が出力されることによりゲーム中のデータを活用して興趣性の高いオンラインミッションを実行することが可能である。
【0023】
コンピュータは、エミュレータによるゲームプログラムの実行に基づいたゲーム画像と、サーバから取得されたオンラインミッションの達成状況を示す画像とを合成したゲーム画面を生成して出力する。この構成によれば、サーバから取得されたオンラインミッションの達成状況を示す画像が合成されたゲーム画面が出力されることによりゲーム中のデータを活用して興趣性の高いオンラインミッションを実行することが可能である。
【0024】
本開示の一例に従う情報処理方法は、ゲーム装置のプロセッサがゲームプログラムをエミュレータによって実行し、プロセッサは、エミュレータによるゲームプログラムの実行によって使用されるメモリ領域のうち、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスを監視し、所定のアドレスにおける値のゲーム中における推移に基づいて、予め設定された目標の達成状況を判定し、達成状況を、ネットワークで通信可能に設けられたサーバへ送信し、サーバから、複数プレイヤによって送信された目標の達成状況に基づいて判定される、オンラインミッションの達成状況に関する情報を受信する。この構成によれば、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスにおける値のゲーム中における推移に基づいて目標の達成状況を判定させ、サーバへ当該目標の達成状況を送信するためゲーム中のデータを活用してオンラインミッションを実行することが可能である。
【0025】
プロセッサは、所定のアドレスにおける値に関して、ゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて、ゲームに対して予め設定された目標の達成状況を判定する。この構成によれば、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスにおける値のゲーム中における変化の有無、変化の回数、所定タイミングにおける値、所定期間の値の累計の少なくともいずれかに基づいて目標の達成状況を判定させ、サーバへ当該目標の達成状況を送信するためゲーム中のデータをさらに活用してオンラインミッションを実行することが可能である。
【0026】
所定のアドレスにおける値は、ゲームの進行に応じてリセットされる、または再度変化する値である。この構成によれば、ゲーム中のゲームの進行に応じてリセットされる、または再度変化する値であるデータを活用してオンラインミッションを実行することが可能である。
【0027】
所定のアドレスにおける値は、ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値である。この構成によれば、ゲームにおいて、プレイヤキャラクタが所定のアクションを行った際に変化する値であるデータを活用してオンラインミッションを実行することが可能である。
【0028】
プロセッサは、さらに所定のアドレスにおける値が変化した場合に、エミュレータによるゲームプログラムの実行に基づいたゲーム画像に対して、目標の達成状況に関する情報を重畳させたゲーム画面を生成して出力する。この構成によれば、目標の達成状況に関する情報が重畳されたゲーム画面が出力されることによりゲーム中のデータを活用して興趣性の高いオンラインミッションを実行することが可能である。
【0029】
プロセッサは、さらにエミュレータによるゲームプログラムの実行に基づいたゲーム画像と、サーバから取得されたオンラインミッションの達成状況を示す画像とを合成したゲーム画面を生成して出力する。この構成によれば、サーバから取得されたオンラインミッションの達成状況を示す画像が合成されたゲーム画面が出力されることによりゲーム中のデータを活用して興趣性の高いオンラインミッションを実行することが可能である。
【発明の効果】
【0030】
上記によれば、本開示のゲームプログラム、ゲームシステム、情報処理装置および情報処理方法は、ゲーム中のデータを活用してオンラインミッションを実行することが可能である。
【図面の簡単な説明】
【0031】
【
図1】実施形態に基づく情報処理システムの構成の概略について説明する図である。
【
図2】実施形態に基づくメニュー画面400の一例について説明する図である。
【
図3】実施形態に基づく第1のモードにおけるゲーム画面500の概要について説明する図である。
【
図4】実施形態に基づく第2のモードにおけるゲーム画面600の概要について説明する図である。
【
図5】実施形態に基づく第2のモードにおける別のゲーム画面700の概要について説明する図である。
【
図6】実施形態に基づく記憶部13に記憶されるプログラム17について説明する図である。
【
図7】実施形態に基づく情報処理装置10Aの第2のモードにおける機能ブロックについて説明する図である。
【
図8】実施形態に基づくサーバ30の機能ブロックについて説明する図である。
【
図9】実施形態に基づく第1モードにおける情報処理装置10Aの処理の流れについて説明するフロー図である。
【
図10】実施形態に基づく第2モードにおける情報処理装置10Aの処理の流れについて説明するフロー図である。
【
図11】実施形態に基づく第2モードにおける情報処理装置10Aのオンラインミッション処理について説明するフロー図である。
【
図12】実施形態に基づく目標の達成状況の判定方式について説明する図である。
【
図13】実施形態に基づく情報処理装置10Aの通信処理について説明するフロー図である。
【
図14】実施形態に基づくサーバ30の処理について説明するフロー図である。
【
図15】実施形態に基づくサーバ30の集計部302で集計した集計テーブルについて説明する図である。
【発明を実施するための形態】
【0032】
この実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0033】
[A.情報処理システムの構成]
図1は、実施形態に基づく情報処理システムの構成の概略について説明する図である。
【0034】
図1を参照して、情報処理システムをゲームシステム1として実装する場合の構成について説明する。ゲームシステム1は、サーバ30と、サーバ30と通信可能に設けられた複数の情報処理装置10A~10C(以下、総称して情報処理装置10とも称する)とを含む。
【0035】
複数の情報処理装置10A~10Cは、各々同一の構成であり、本例においては主に代表して情報処理装置10Aについて説明する。なお、複数の情報処理装置10A~10Cは、当該台数に限られずさらに複数台設けた構成とすることも可能である。
【0036】
一例として、実施形態に基づく情報処理装置10Aをゲーム装置として実装した場合の構成について説明する。
【0037】
情報処理装置10Aは、任意のコンピュータである。情報処理装置10Aは、例えば、携帯型ゲーム装置、携帯電話、あるいはスマートフォン等といった、携帯型(可搬型とも言う)の装置であってもよいし、パーソナルコンピュータや家庭用ゲーム機等といった据置型の装置であってもよいし、業務用のアーケードゲーム装置のような大型の装置であってもよい。
【0038】
以下、情報処理装置10Aのハードウェア構成について概略する。
情報処理装置10Aは、CPU12およびメインメモリ18を有している。CPU12は、情報処理装置10で実行される各種の情報処理を実行するための情報処理部である。CPU12は、メインメモリ18を用いて上記各種の情報処理を実行する。
【0039】
情報処理装置10Aは、記憶部13を有している。記憶部13は、情報処理装置10Aにおいて実行されるプログラム17を記憶する。
【0040】
記憶部13は、例えばハードディスクやメモリ等の、情報処理装置10Aに内蔵される記憶部であってもよいし、例えば光ディスクやカートリッジ等の、情報処理装置10Aに着脱可能な記憶媒体であってもよいし、これらの記憶部および記憶媒体の両方であってもよい。このような場合、情報処理装置10Aおよび任意の記憶媒体を含む情報処理システムの一例であるゲームシステムとして構成してもよい。
【0041】
プログラム17は、後述するような情報処理を実現するためのコンピュータ読取可能な命令を含む。また、処理の一部としてサーバ30との間でデータ通信を実行するプログラムおよび他の情報処理装置との間でデータ通信を実行するプログラムも含んでもよい。プログラム17の詳細については後述する。
【0042】
情報処理装置10Aは、アナログスティックやボタンやタッチパネル等、ユーザ(プレイヤ)による指示を受付ける入力部11を有している。情報処理装置10Aは、上記情報処理によって生成される画像を表示する表示部14を有している。なお、当該構成に限られず種々の入力形態および表示形態を採用することが可能である。
【0043】
情報処理装置10Aは、ネットワーク通信部16を有している。ネットワーク通信部16は、図示しないネットワークと接続され、外部装置(例えば、サーバ30あるいは他の情報処理装置)との間でのデータ通信処理を実行してもよい。
【0044】
情報処理装置10Aは、複数の装置によって構成されてもよい。例えば、情報処理装置10Aは、CPU12を有する本体装置と、入力部11および/または表示部14を有する装置とが別体である構成であってもよい。例えば、他の実施形態において、情報処理装置10Aは、本体装置と、入力部11および表示部14を有する端末装置とによって構成されてもよいし、本体装置と、入力部11を有する操作装置とによって構成されてもよい。情報処理装置10Aは、表示部14を有しておらず、テレビを表示装置として用いる構成であってもよい。
【0045】
また、他の実施形態においては、情報処理装置10Aにおいて実行される情報処理の少なくとも一部が、ネットワーク(広域ネットワークおよび/またはローカルネットワーク)によって通信可能な複数の装置によって分散して実行されてもよい。具体的には、サーバ30に情報処理装置10において実行される情報処理の少なくとも一部を実行させるようにしてもよい。
【0046】
サーバ30のハードウェア構成について概略する。
サーバ30は、CPU120およびメインメモリ180を有している。CPU120は、サーバ30で実行される各種の情報処理を実行するための情報処理部である。CPU120は、メインメモリ180を用いて各種の情報処理を実行する。
【0047】
サーバ30は、記憶部130を有している。記憶部130は、サーバ30において実行されるミッション管理プログラム150を記憶する。
【0048】
記憶部130は、例えばハードディスクやメモリ等の、サーバ30に内蔵される記憶部であってもよいし、例えば光ディスクやカートリッジ等の、サーバ30に着脱可能な記憶媒体であってもよいし、これらの記憶部および記憶媒体の両方であってもよい。このような場合、サーバ30および任意の記憶媒体を含む情報処理システムの一例であるゲームシステムとして構成してもよい。
【0049】
ミッション管理プログラム150は、後述するような情報処理を実現するためのコンピュータ読取可能な命令を含む。また、処理の一部として情報処理装置10A~10Cとの間でデータ通信を実行するプログラムおよび他の情報処理装置との間でデータ通信を実行するプログラムも含んでもよい。
【0050】
サーバ30は、ネットワーク通信部160を有している。ネットワーク通信部160は、図示しないネットワークと接続され、情報処理装置10A~10Cとの間でのデータ通信処理を実行してもよい。
【0051】
サーバ30は、複数の装置によって構成されてもよい。また、他の実施形態においては、サーバ30において実行される情報処理の少なくとも一部が、ネットワーク(広域ネットワークおよび/またはローカルネットワーク)によって通信可能な複数の別のサーバによって分散して実行されてもよい。
【0052】
[B.本実施形態の処理の概要]
次に、本実施形態で想定する処理の概要について説明する。本実施形態では、情報処理装置10Aは、複数の動作モードを有している。本例においては一例として2つの動作モードを有している。具体的には、「ひとりで遊ぶ」動作モードと、「ミッションで遊ぶ」動作モードである。
【0053】
図2は、実施形態に基づくメニュー画面400の一例について説明する図である。
図2を参照してメニュー画面400は、メニュー領域402と、メニュー操作受付領域404とを含む。メニュー操作受付領域404には、「ひとりで遊ぶ」動作モードと「ミッションで遊ぶ」動作モードとがそれぞれ選択可能に設けられている。
【0054】
メニュー領域402内には、メニュー操作受付領域404で選択されている動作モードに対する説明内容のメッセージが表示される。本例においては「ミッションで遊ぶ」動作モードが選択されている状態が示されており、当該「ミッションで遊ぶ」動作モードに対する説明内容としてメッセージ410~416が表示されている場合が示されている。具体的には、ミッションタイトルとして「キックミッション」のメッセージ410が示されている。キックミッションのミッション内容として「みんなで敵キャラクタを10億回キックできるでしょうか?」のメッセージ412が表示されている。ミッションクリアの特典に関する情報として「ミッションクリアで全員にポイント」のメッセージ414が表示されている。さらにミッションクリアの追加の特典に関する情報として「成績上位者には限定アイテムをプレゼント!」のメッセージ416が表示されている。
【0055】
メニュー領域402の下側には、操作指示画像406も表示されている。操作指示画像306は、入力部11の操作ボタン群に対するユーザ操作と、対応する処理内容とが示されている。具体的には、入力部11の操作ボタン群のうち特定の操作ボタン(「A」に相当)が操作されることで、メニュー操作受付領域404に示される処理の実行が決定される。
【0056】
入力部11の操作ボタン群のうち特定の操作ボタン(「B」に相当)が操作されることで、図示しないがメニュー画面400の一つ前の画面にもどることが可能となる。
【0057】
[ひとりで遊ぶ動作モードについて]
ひとりで遊ぶ動作モード(以下、単に第1のモードと呼ぶ)として、エミュレータプログラムを実行して、所定のゲーム装置で実行される所定のゲーム処理をエミュレーションする動作モードがある。所定のゲーム装置は情報処理装置10Aとは別のゲーム装置であって、本実施形態では、この所定のゲーム装置の一例として、8ビットCPUのゲーム装置を想定する。以下、当該ゲーム装置のことを、エミュレーション対象ゲーム機と呼ぶ。ここで、本実施形態で想定する情報処理装置10Aは、エミュレーション対象ゲーム機よりもプロセッサの性能や画像処理の性能(処理能力)は高いものとする。また、上記エミュレーションするゲームのことを、以下の説明ではエミュレーション対象ゲームと呼ぶ。そして、エミュレーション対象ゲームの一例として、2D画面での処理による、画面スクロールが可能なジャンプアクションゲームを想定する。当該エミュレーション対象ゲームは、本来は、エミュレーション対象ゲーム機用のゲームカートリッジとして提供されていたものである。本実施形態では、このゲームカートリッジに記憶されているデータを後述するゲームロムデータ173として記憶部13に記憶している。そして、当該ゲームロムデータ173を上記エミュレータプログラムに読み込ませ、当該ゲームロムデータ173内に含まれるゲームプログラムを実行(エミュレーション)することで、エミュレーション対象ゲームを実行する。
【0058】
図3は、実施形態に基づく第1のモードにおけるゲーム画面500の概要について説明する図である。
【0059】
図3を参照して、ゲーム画面500は、中央にエミュレーション対象ゲームの表示領域506が設けられている。また、ゲーム画面500には、当該エミュレーション対象ゲームの表示領域506とは別に他のアプリケーションで利用可能な表示領域504が設けられている。本例においては、一例として表示領域506には、プレイヤキャラクタ508、敵キャラクタ509、背景画像等が表示されている。
【0060】
敵キャラクタ509は、ブロックの上に乗っている状態である。プレイヤキャラクタ508は、敵キャラクタ509をキックして倒すためにブロックの上方にジャンプした状態が示されている。プレイヤは、入力部11の特定の操作ボタン(十字キー、Aボタン、Bボタン等)をそれぞれ操作することで、プレイヤキャラクタ508を任意の位置に移動させたり、ジャンプさせたりすることができる。当該ゲームは、プレイヤキャラクタ508を操作して、各種障害物を避けたり、敵キャラクタ509をキックして倒したりしながら、ゴール地点を目指して進んでいくジャンプアクションゲームとなっている。
【0061】
[ミッションで遊ぶ動作モードについて]
ミッションで遊ぶ動作モード(以下、単に第2のモードと呼ぶ)について説明する。
【0062】
本実施形態では、第2のモードとして、所定のゲーム処理とは別にオンラインミッションをプレイヤに提供する。
【0063】
本例におけるオンラインミッションは、一例として複数プレイヤで協力して敵キャラクタを10億回キックするというものである。各プレイヤは、それぞれゲーム内で敵キャラクタをキックすることがミッションとなっている。各プレイヤのミッションの達成回数をカウントして、ミッションの達成回数の総合計が10億回に到達した場合に全体のミッションすなわち、オンラインミッション達成となる。
【0064】
図4は、実施形態に基づく第2のモードにおけるゲーム画面600の概要について説明する図である。
【0065】
図4を参照して、ゲーム画面600は、中央にエミュレーション対象ゲームの表示領域606が設けられている。また、ゲーム画面600には、当該エミュレーション対象ゲームの表示領域606とは別にオンラインミッションのアプリケーションで利用可能な表示領域604が設けられている。本例においては、一例として表示領域606には、プレイヤキャラクタ508、敵キャラクタ509、背景画像等が表示されている。
【0066】
プレイヤキャラクタ508は、ブロックの上方にジャンプし、敵キャラクタ509をキックして倒した状態が示されている。敵キャラクタ509を倒すことにより敵キャラクタ509は消滅している。
【0067】
当該キックによりミッションである目標の達成状況に関する情報、本例においてはキック回数を示す「+1」の画像610が表示領域606のエミュレーション対象ゲームのゲーム画像に重畳されて表示される。なお、同時に複数の敵キャラクタ509をキックした回数に従って「+2」、「+3」と増加する。
【0068】
表示領域604において、表示領域606の右側領域においては、オンラインミッションの達成状況を示す情報が表示されている。具体的には、オンラインミッションの達成状況を示す情報を表示するための表示領域620~650がそれぞれ設けられている。当該表示領域620~650は、オンラインミッション達成となるまでゲーム中、表示領域606の右側領域に常に表示されており、メッセージは更新される。
【0069】
一例として、表示領域620には、現在のプレイヤのオンラインミッションである目標の達成状況に関する情報が示されている。一例としてキック回数が1回として表示されている。
【0070】
表示領域630には、プレイヤのこれまで積算したオンラインミッションの合計の目標の達成状況に関する情報が示されている。一例としてこれまでのキック回数が7520回として表示されている。また、キック回数に関するプレイヤのランキングは20位として表示されている。
【0071】
表示領域640には、地域毎のオンラインミッションの合計の目標の達成状況に関する情報が示されている。一例として地域毎として日本全体のプレイヤのオンラインミッションの合計の達成状況に関する情報が示されている。一例として日本全体のプレイヤのキック回数が102939回として表示されている。
【0072】
表示領域650には、世界全体のミッションの合計の達成状況に関する情報が示されている。一例として世界全体のプレイヤのキック回数が129802939回として表示されている。
【0073】
なお、表示領域620に表示される情報は、情報処理装置10Aが保持するデータに基づいて表示されるものである。一方、表示領域630~650に表示される情報は、サーバ30で処理され、集計された情報に基づいて表示されるものである。
【0074】
本例においては、情報処理装置10Aは、第2のモードとして、ミッションである予め設定された目標の達成状況、すなわちプレイヤキャラクタ508の敵キャラクタ509へのキックを判定する。具体的には、情報処理装置10Aは、プレイヤキャラクタ508の敵キャラクタ509へのキックを所定のアドレスにおける値のゲーム中における推移に基づいて判定する。
【0075】
情報処理装置10Aは、目標の達成状況を、ネットワークで通信可能に設けられたサーバ30に送信する。
【0076】
サーバ30は、複数プレイヤによって送信された目標の達成状況に基づいてデータを集収してオンラインミッションが達成されたか否かを判定する。
【0077】
サーバ30は、集収したデータに基づいてオンラインミッションの達成状況に関する情報を生成し、情報処理装置10Aに送信する。
【0078】
情報処理装置10Aは、サーバ30から当該情報を受信して、オンラインミッションの達成状況を示す情報を表示する。当該処理をオンラインミッションが達成されるまで繰り返す。
【0079】
この結果、オンラインミッション達成に向けて世界中のプレイヤは協力しながらリアルタイムでミッションを進めている実感を得ることが可能である。
【0080】
図5は、実施形態に基づく第2のモードにおける別のゲーム画面700の概要について説明する図である。
【0081】
図5を参照して、ゲーム画面700は、中央にエミュレーション対象ゲームの表示領域606が設けられている。また、ゲーム画面700には、当該エミュレーション対象ゲームの表示領域606とは別にオンラインミッションのアプリケーションで利用可能な表示領域604が設けられている。本例においては、一例として表示領域606には、プレイヤキャラクタ508、背景画像等が表示されている。
【0082】
表示領域604において、表示領域606の右側領域においては、オンラインミッションの達成状況を示す情報が表示されている。具体的には、オンラインミッションの達成状況を示す情報を表示するための表示領域710が設けられている。
【0083】
本例においては、オンラインミッションが達成された場合の画面が示されている。具体的には、一例として、表示領域710には、「ミッション達成おめでとう」のメッセージと、「10000ポイントプレゼント」のメッセージと、「成績上位者ランク20位」「限定アイテムプレゼント」のメッセージとが表示されている。
【0084】
なお、表示領域710に表示される情報は、サーバ30で処理され、集計された情報に基づいて表示されるものである。
【0085】
当該、生成された情報からオンラインミッション達成を知ることができる。また、この結果、参加したプレイヤに特典(ポイント)を提供することが可能である。またランキング上位者には追加の特典(限定アイテム)を提供することも可能である。
【0086】
[C.プログラム17の構成]
図6は、実施形態に基づく記憶部13に記憶されるプログラム17について説明する図である。
【0087】
図6を参照して、プログラム17は、制御用プログラム170と、エミュレータプログラム171と、ミッションアプリプログラム172と、ゲームロムデータ173とを含む。
【0088】
制御用プログラム170は、情報処理装置10Aの基本的な動作を制御するためのプログラムである。また、
図2で説明したメニュー画面400を表示し、第1モードあるいは第2モードの実行の指示を行うためのプログラムである。
【0089】
エミュレータプログラム171は、エミュレーション対象ゲーム機の動作をエミュレーションするプログラムである。
【0090】
ミッションアプリプログラム172は、第2のモードとしてオンラインミッションを実行するプログラムである。
【0091】
ゲームロムデータ173は、上記エミュレーション対象ゲームのロムデータである。
[D.機能構成]
図7は、実施形態に基づく情報処理装置10Aの第2のモードにおける機能ブロックについて説明する図である。
【0092】
図7を参照して、情報処理装置10AのCPU12は、エミュレータプログラム171およびミッションアプリプログラム172を読み込むことにより各種の機能ブロックを実現する。
【0093】
CPU12は、実行部200と、目標達成監視部201と、目標達成判定部202と、達成情報送信部203と、達成情報受信部204と、合成部205と、表示制御部206と、画像生成部207とを含む。
【0094】
一例としてエミュレータプログラム171は実行部200を実現し、ミッションアプリプログラム172は、目標達成監視部201と、目標達成判定部202と、達成情報送信部203と、達成情報受信部204と、合成部205と、表示制御部206と、画像生成部207とを実現する。
【0095】
実行部200は、記憶部13に記憶されたゲームロムデータ173を用いてエミュレーション対象ゲームを実行する。
【0096】
目標達成監視部201は、実行部200によって使用されるメモリ領域のうち、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスを監視する。当該監視については後述する。
【0097】
目標達成判定部202は、所定のアドレスにおける値のゲーム中における推移に基づいて、予め設定された目標の達成状況を判定する。
【0098】
達成情報送信部203は、判定した目標の達成状況を、ネットワークで通信可能に設けられたサーバ30へ送信する。
【0099】
達成情報受信部204は、サーバ30から、複数プレイヤによって送信された目標の達成状況に基づいて判定される、オンラインミッションの達成状況に関する情報を受信する。
【0100】
画像生成部207は、判定した目標の達成状況に関する情報を示す画像を生成する。また、画像生成部207は、サーバ30から取得されたオンラインミッションの達成状況を示す画像を生成する。
【0101】
合成部205は、実行部200の実行に基づいて生成されるゲーム画像に対して、判定した目標の達成状況に関する情報を示す画像を重畳させたゲーム画面を生成する。合成部205は、実行部200の実行に基づいて生成されるゲーム画像とともに、サーバ30から取得されたオンラインミッションの達成状況を示す画像を合成したゲーム画面を生成する。
【0102】
表示制御部206は、合成部205で生成したゲーム画面を表示部14に表示する。
図8は、実施形態に基づくサーバ30の機能ブロックについて説明する図である。
【0103】
図8を参照して、サーバ30のCPU120は、ミッション管理プログラム150を読み込むことにより各種の機能ブロックを実現する。
【0104】
CPU120は、受信部300と、送信部301と、集計部302と、全体目標達成判定部303とを含む。
【0105】
受信部300は、各情報処理装置10から送信される判定した目標の達成状況を受信する。
【0106】
集計部302は、受信部300で受信した判定した目標の達成状況を集計する。
全体目標達成判定部303は、複数の情報処理装置から送信された目標の達成状況に基づいて、オンラインミッションの達成に関する判定を行う。
【0107】
送信部301は、判定結果に基づいてオンラインミッションの達成状況に関する情報を複数の情報処理装置に対して送信する。送信部301は、判定結果に基づいてオンラインミッションの達成状況に関する情報として達成状況に応じた特典に関する情報を送信する。
【0108】
[E.処理手順]
次に、実施の形態に基づく処理の詳細について説明する。なお、ここで説明する処理は、汎用的な処理の例示であり、実施の形態の趣旨を逸脱しない範囲で、適宜別の処理が追加されても良い。
【0109】
[第1モードの処理]
図9は、実施形態に基づく第1モードにおける情報処理装置10Aの処理の流れについて説明するフロー図である。
【0110】
図9を参照して、CPU12は、記憶部13に格納されているゲームロムデータ173を読み込む(ステップS2)。具体的には、ゲームロムデータ173をメインメモリ18に配置する。
【0111】
次に、CPU12は、記憶部13に格納されているエミュレータプログラム171を読み込む(ステップS4)。具体的には、エミュレータプログラム171をメインメモリ18に配置する。
【0112】
次に、CPU12、メインメモリ18に対してエミュレータメモリ領域を割り当てる(ステップS6)。割り当てられた当該エミュレータメモリ領域に対してゲーム中の種々のデータが格納される。
【0113】
次に、CPU12は、プログラムを実行する(ステップS8)。具体的には、メインメモリ18に配置されたエミュレータプログラム171およびゲームロムデータ173に基づいてエミュレーション対象ゲームを実行する。
【0114】
そして、処理を終了する(エンド)。
[第2モードの処理]
図10は、実施形態に基づく第2モードにおける情報処理装置10Aの処理の流れについて説明するフロー図である。
【0115】
図10を参照して、
図9のフロー図と比較して、ステップS5、ステップS7を追加した点が異なる。
【0116】
具体的には、ステップS4において、CPU12は、エミュレータプログラム171の読み込みをした後、ミッションアプリプログラム172を読み込む(ステップS5)。具体的には、ミッションアプリプログラム172をメインメモリ18に配置する。
【0117】
また、ステップS6において、CPU12は、メインメモリ18に対してエミュレータメモリ領域を割り当てた後、ミッションアプリメモリ領域を割り当てる(ステップS7)。割り当てられた当該ミッションアプリメモリ領域に対してミッションアプリプログラムの種々のデータが格納される。
【0118】
次に、CPU12は、プログラムを実行する(ステップS8)。具体的には、CPU12は、メインメモリ18に配置されたエミュレータプログラム171およびゲームロムデータ173に基づいてエミュレーション対象ゲームを実行する。さらに、CPU12は、メインメモリ18に配置されたミッションアプリプログラム172に基づいてオンラインミッションを実行する。
【0119】
そして、処理を終了する(エンド)。
図11は、実施形態に基づく第2モードにおける情報処理装置10Aのオンラインミッション処理について説明するフロー図である。
【0120】
図11を参照して、目標達成監視部201は、エミュレータメモリ領域内の所定のアドレスを確認する(ステップS10)。目標達成監視部201は、確認した所定のアドレスの値を目標達成判定部202に通知する。
【0121】
次に、目標達成判定部202は、目標達成監視部201から通知される所定のアドレスの値の推移に基づく目標の達成状況を判定する(ステップS12)。目標の達成状況の判定方式については後述する。
【0122】
次に、目標達成判定部202は、目標の達成状況が成立したか否かを判断する(ステップS14)。
【0123】
ステップS14において、目標達成判定部202は、目標の達成状況が成立したと判断した場合(ステップS14においてYES)には、目標の達成状況をミッションアプリメモリ領域に設定する(ステップS16)。
【0124】
次に、画像生成部207は、ミッションアプリメモリ領域に設定された目標の達成状況に関する画像を生成する(ステップS18)。具体的には、
図4で説明したキック回数を示す「+1」の画像610および表示領域620に表示するためのメッセージ画像を生成する。なお、ミッションアプリメモリ領域に設定された目標の達成状況は所定期間経過後にリセットされる。これにより、画像610は所定期間経過後に消去される。また、表示領域620に表示されるキック回数は0回となる。
【0125】
次に、合成部205は、実行部200の実行に基づいて生成されるゲーム画像に対して、生成した画像を合成する(ステップS19)。具体的には、実行部200の実行に基づいて生成されるゲーム画像に対して、
図4で説明したキック回数を示す「+1」の画像610を重畳し、表示領域620の表示するためのメッセージ画像を合成したゲーム画面600を生成する。
【0126】
次に、表示制御部206は、生成したゲーム画面を表示部14に表示する(ステップS20)。
【0127】
次に、達成情報送信部203は、通信処理を実行する(ステップS22)。通信処理の詳細については後述する。
【0128】
次に、ゲームが終了したか否かを判断する(ステップS24)。
ステップS24において、ゲームが終了したと判断した場合(ステップS24においてYES)には、処理を終了する(エンド)。
【0129】
一方、ステップS24において、ゲームが終了しないと判断した場合(ステップS24においてNO)には、ステップS10に戻り、処理を継続する。
【0130】
一方、ステップS14において、目標達成判定部202は、目標の達成状況が成立しない判断した場合(ステップS14においてNO)には、ステップS16~S20をスキップして、ステップS22の通信処理を実行する。以降の処理については同様である。
【0131】
図12は、実施形態に基づく目標の達成状況の判定方式について説明する図である。
図12(A)を参照して、本例においては、プレイヤキャラクタ508が敵キャラクタ509をキックした状態における所定のアドレスの値の変化について説明する図である。
【0132】
本例においては、ゲーム中に所定のイベントが発生した時に値が変化する所定のアドレスを監視する。具体的には、所定のイベントとしてプレイヤキャラクタがキックした時に値が変化する所定のアドレスを監視する。
【0133】
本例においては、エミュレータメモリ領域内の所定のアドレス(「030042F0」)の値を監視する。より具体的には、一番右側の値が値「00」から値「1A」に変化した場合が示されている。
【0134】
エミュレーション対象ゲームの実行によるエミュレータメモリ領域内のデータを解析することにより所定のイベントである敵キャラクタへのキックと当該所定のアドレスの値の変化との関連付けを特定することが可能である。
【0135】
当該所定のアドレスにおける値は、ゲームの進行に応じてリセットされる、または再度変化する値である。
【0136】
目標達成監視部201は、当該所定のアドレスの値を監視し、目標達成判定部202に通知する。目標達成判定部202は、当該値の変化に従って目標の達成状況すなわちプレイヤキャラクタ508が敵キャラクタ509をキックした状況を判定する。
【0137】
本例においては、プレイヤキャラクタ508が敵キャラクタ509をキックした状態における所定のアドレスの値の変化について説明したが、他の目標の達成状況を判定することも可能である。
【0138】
例えば、プレイヤキャラクタ508が協力キャラクタ510に乗った状態を達成状況として判定する場合について説明する。
【0139】
図12(B)を参照して、本例においては、プレイヤキャラクタ508が協力キャラクタ510に乗った状態を示している。
【0140】
一例として、所定のアドレス(「0x08000534」)の値として一番右側の値について所定のアドレス(「0x0800052E」)へのコードが設定された場合が示されている。
【0141】
エミュレーション対象ゲームの実行によるエミュレータメモリ領域内のデータを解析することにより所定のイベントであるプレイヤキャラクタ508が協力キャラクタ510に乗った状態と当該所定のアドレスの値との関連付けを特定することが可能である。
【0142】
当該所定のアドレスにおける値は、ゲームの進行に応じてリセットされる、または再度変化する値である。
【0143】
目標達成監視部201は、当該所定のアドレスの値を監視し、目標達成判定部202に通知する。目標達成判定部202は、当該値の変化に従って目標の達成状況すなわちプレイヤキャラクタ508が協力キャラクタ510に乗った状況を判定することが可能である。
【0144】
図13は、実施形態に基づく情報処理装置10Aの通信処理について説明するフロー図である。
【0145】
図13を参照して、達成情報送信部203は、ミッションアプリメモリ領域に目標の達成状況が設定されているか否かを判断する(ステップS30)。
【0146】
ステップS30において、達成情報送信部203は、ミッションアプリメモリ領域に目標の達成状況が設定されていると判断した場合には、当該設定された目標の達成状況をサーバ30に送信する(ステップS32)。例えば、達成情報送信部203は、情報処理装置10Aを識別するために予め設定されている装置IDおよび国IDとともに設定された目標の達成状況を関連付けてサーバ30に送信する。一例として、本例においては、情報処理装置10Aに対して割り当てられている装置ID(「AAA」)および国ID(「JP」)を設定された目標の達成状況(キック回数(+1))を関連付けてサーバ30に送信する。
【0147】
次に、達成情報送信部203は、ミッションアプリメモリ領域に設定された目標の達成状況をリセットする処理を実行する(ステップS33)。
【0148】
次に、達成情報送信部203は、サーバ30に対してオンラインミッションの達成状況に関する情報を要求する(ステップS34)。例えば、達成情報送信部203は、情報処理装置10Aを識別するために予め設定されている装置IDおよび国IDとともに当該情報を要求するコマンドをサーバ30に送信する。一例として、本例においては、情報処理装置10Aに対して割り当てられている装置ID(「AAA」)および国ID(「JP」)を要求するコマンドとともにサーバ30に送信する。
【0149】
一方、ステップS30において、達成情報送信部203は、ミッションアプリメモリ領域に目標の達成状況が設定されていないと判断した場合(ステップS30においてNO)にはステップS32およびS33をスキップしてステップS34に進む。
【0150】
達成情報受信部204は、サーバ30から情報を受信したか否かを判断する(ステップS36)。
【0151】
ステップS36において、達成情報受信部204は、情報を受信するまでステップS36の状態を維持し、情報を受信した場合(ステップS36においてYES)には、オンラインミッションの達成状況に関する情報として達成情報を受信したか否かを判断する(ステップS38)。
【0152】
ステップS38において、達成情報受信部204は、オンラインミッションの達成状況に関する情報として達成情報を受信したと判断した場合(ステップS38においてYES)には、達成情報受信部204は、画像生成部207に指示し、画像生成部207は、達成情報に含まれるオンラインミッションの達成に応じた特典に関する情報を示すための画像を生成する(ステップS42)。
【0153】
次に、合成部205は、実行部200の実行に基づいて生成されるゲーム画像に対して、生成した画像を合成する(ステップS44)。具体的には、
図5で説明したように実行部200の実行に基づいて生成されるゲーム画像に対して、オンラインミッションの達成に応じた特典に関する情報を表示するための表示領域710が合成されたゲーム画面700を生成する。
【0154】
次に、表示制御部206は、生成したゲーム画面を表示部14に表示する(ステップS46)。
【0155】
そして、処理を終了する(リターン)。
一方、ステップS38において、達成情報受信部204は、オンラインミッションの達成状況に関する情報として達成情報を受信しないと判断した場合(ステップS38においてNO)には、達成情報受信部204は、画像生成部207に指示し、画像生成部207は、状況情報に基づいて当該情報を示すための画像を生成する(ステップS40)。
【0156】
次に、合成部205は、実行部200の実行に基づいて生成されるゲーム画像に対して、生成した画像を合成する(ステップS44)。具体的には、
図4で説明したように実行部200の実行に基づいて生成されるゲーム画像に対して、オンラインミッションの達成状況を示す情報を表示するための表示領域630~650が合成されたゲーム画面600を生成する。
【0157】
次に、表示制御部206は、生成したゲーム画面を表示部14に表示する(ステップS46)。
【0158】
そして、処理を終了する(リターン)。
図14は、実施形態に基づくサーバ30の処理について説明するフロー図である。
【0159】
図14を参照して、サーバ30のCPU120は、ミッション管理プログラム150を読み込むことにより以下の処理を実行する。本例においては、情報処理装置10Aとの間での処理について説明するが、他の情報処理装置10B、10Cについても同様の処理が実行される。
【0160】
受信部300は、情報処理装置10Aから目標の達成状況を受信したか否かを判断する(ステップS50)。
【0161】
ステップS50において、受信部300は、情報処理装置10Aから目標の達成状況を受信したと判断した場合(ステップS50においてYES)には、当該目標の達成状況に関するデータを集計部302に通知し、集計部302は、当該データを集計する(ステップS52)。具体的には、集計部302は、後述する集計テーブルを参照して、集計テーブル内の情報処理装置10A(装置ID(「AAA」))に割り当てられた項目を更新する。
【0162】
図15は、実施形態に基づくサーバ30の集計部302で集計した集計テーブルについて説明する図である。
【0163】
図15を参照して、集計テーブルは、本例においては、装置IDに関連付けられて当該装置IDが所属する地域を示す地域IDと、ミッション(kicks)の回数と、ランキング(rank)とが関連付けられて登録されている。
【0164】
具体的には、装置ID(AAA)に対応して、国ID(「JP」)、ミッションの回数(「7520」)、ランキング(「20」)が登録されている。
【0165】
装置ID(BBB)に対応して、国ID(「JP」)、ミッションの回数(「2000」)、ランキング(「200」)が登録されている。
【0166】
装置ID(CCC)に対応して、国ID(「JP」)、ミッションの回数(「4000」)、ランキング(「160」)が登録されている。
【0167】
また、国ID毎のミッションの回数の集計として「102939」が登録されている。
また、世界全体のミッションの回数の集計として「1929802939」が登録されている。
【0168】
集計部302は、各情報処理装置から送信される目標の達成状況を受信する毎に当該集計テーブルを更新する。
【0169】
例えば、装置ID(AAA)から送信された目標の達成状況としてキック回数(+1)を受信した場合には、対応する項目のミッションの回数を更新する。また、国ID毎の集計のミッションの回数および世界全体のミッションの回数を更新する。さらに、当該回数に基づいてランキングを算出して、当該ランキングの値を必要に応じて更新する。
【0170】
オンラインミッションが達成されるまで当該処理を継続する。
再び
図14を参照して、次に、全体目標達成判定部303は、集計結果に基づいてオンラインミッション(全体目標)が達成されたか否かを判断する(ステップS56)。一例として、全体目標達成判定部303は、集計テーブルの集計結果に基づいて世界全体のミッションの回数の集計として10億回に到達したか否かを判断する。
【0171】
ステップS56において、全体目標達成判定部303は、オンラインミッションが達成されたと判断した場合(ステップS56においてYES)は、目標達成状態に設定する(ステップS58)。一例として、全体目標達成判定部303は、集計テーブルの集計結果に基づいて世界全体のミッションの回数の集計として10億回に到達した場合には目標達成状態に設定する。
【0172】
一方、ステップS50において、受信部300は、情報処理装置10Aから目標の達成状況を受信しないと判断した場合(ステップS50においてNO)には、ステップS52~S58をスキップして、ステップS60に進む。
【0173】
また、ステップS56において、全体目標達成判定部303は、オンラインミッションが達成されないと判断した場合(ステップS56においてNO)は、ステップS58をスキップして、ステップS60に進む。
【0174】
ステップS60において、受信部300は、情報処理装置10Aからオンラインミッションの達成状況に関する情報の要求があるか否かを判断する(ステップS60)。
【0175】
ステップS60において、受信部300は、情報処理装置10Aからオンラインミッションの達成状況に関する情報の要求があると判断した場合(ステップS60においてYES)には、送信部301に指示し、送信部301は、全体目標達成判定部303によりオンラインミッションが目標達成状態に設定されているか否かを判断する(ステップS62)。
【0176】
ステップS62において、送信部301は、オンラインミッションが目標達成状態に設定されていると判断した場合(ステップS62においてYES)には、オンラインミッションの達成状況に関する情報として達成情報を送信する(ステップS64)。具体的には、送信部301は、達成情報としてオンラインミッションの達成に応じた特典に関する情報を送信する。具体的には、「ミッション達成おめでとう」および「10000ポイントプレゼント」のデータを送信する。送信部301は、情報処理装置10Aのランキングを確認する。送信部301は、ランキングが所定のランキング以内(例えば50位以内)である場合には、ランキング情報である「成績上位者ランク20位」および「限定アイテムプレゼント」のデータを送信する。
【0177】
これにより、情報処理装置10Aは、
図5で説明したように表示領域710にオンラインミッションが達成された場合の画面を表示する。
【0178】
次に、オンラインミッションの処理を終了するか否かを判断する(ステップS66)。
ステップS66において、オンラインミッションの処理を終了しない場合(ステップS66においてNO)にはステップS50に戻り、上記処理を繰り返す。
【0179】
一方、ステップS66において、オンラインミッションの処理を終了する場合(ステップS66においてYES)には処理を終了する(エンド)。
【0180】
一方、ステップS62において、送信部301は、オンラインミッションが目標達成状態に設定されていないと判断した場合(ステップS62においてNO)には、オンラインミッションの達成状況に関する情報として状況情報を送信する(ステップS68)。具体的には、送信部301は、状況情報として、装置IDに対応する情報処理装置10Aのミッションの回数(「7520」)およびランキング(「20」)のデータを送信する。また、送信部301は、状況情報として、国ID毎のミッションの回数の集計として「102939」および世界全体のミッションの回数の集計として「1929802939」のデータを送信する。
【0181】
これにより、情報処理装置10Aは、
図4で説明したように表示領域630にオンラインミッションの達成状況に関する情報としてプレイヤのこれまで積算したオンラインミッションの合計の目標の達成状況に関する情報を表示する。情報処理装置10Aは、
図4で説明したように表示領域640にオンラインミッションの達成状況に関する情報として地域毎のオンラインミッションの合計の目標の達成状況に関する情報を表示する。情報処理装置10Aは、
図4で説明したように表示領域650にオンラインミッションの達成状況に関する情報として世界全体のミッションの合計の達成状況に関する情報を表示する。
【0182】
そして、ステップS66に進む。以降の処理については同様である。
一方、ステップS60において、受信部300は、情報処理装置10Aからオンラインミッションの達成状況に関する情報の要求が無いと判断した場合(ステップS60においてNO)には、ステップS50に戻り、上記処理を繰り返す。
【0183】
[F.付記]
上記の実施形態においては、目標達成監視部201は、所定のアドレスにおける値に関して、ゲーム中におけるプレイヤキャラクタ508が敵キャラクタ509をキックした状態における所定のアドレスの値の変化の有無に基づいて目標(ミッション)が達成された状況を判定する場合について説明するが、特にこれに限られない。
【0184】
例えば、ゲーム中に複数のステージが設けられている場合に、プレイヤキャラクタ508が全てのステージをプレイしたか否かをミッションとしてもよい。例えば目標達成監視部201は、ステージ毎に設定されるステージ名に対応した所定のアドレスの値を監視し、目標達成判定部202は、所定のアドレスの値が全てのステージに対応した値に変化したか否かに基づいて目標(ミッション)が達成された状況を判定するようにしてもよい。あるいは、プレイヤキャラクタが特定の敵キャラクタを倒すことや、特定のアイテムを取得することをミッションとしてもよい。例えば目標達成監視部201は、特定の敵キャラクタや特定のアイテムに対応した所定のアドレスの値を監視し、目標達成判定部202は、標達成判定部202は、所定のアドレスの値の変化に基づいて目標(ミッション)が達成された状況を判定するようにしてもよい。
【0185】
ゲーム中にプレイヤキャラクタ508が複数の状態に変化することをミッションとしてもよい。例えば目標達成監視部201は、プレイヤキャラクタ508が複数の状態に変化する毎に変化する所定のアドレスの値を監視し、目標達成判定部202は、所定のアドレスの値が複数回変化したか否か(変化の回数)に基づいて目標(ミッション)が達成された状況を判定するようにしてもよい。
【0186】
プレイヤキャラクタ508に限られず、ゲーム中の特定のイベントの発生をミッションとしてもよい。例えば、目標達成監視部201は、ランダム的に発生するイベントに対応した所定のアドレスの値を監視し、目標達成判定部202は、所定のアドレスの値の変化に基づいて目標(ミッション)が達成された状況を判定するようにしてもよい。
【0187】
プレイヤキャラクタ508が特定の状態において特定の条件を満たすことを目標(ミッション)としてもよい。例えば、プレイヤキャラクタ508が無敵状態で所定数以上の敵キャラクタを倒すことを目標(ミッション)としてもよい。目標達成監視部201は、プレイヤキャラクタ508が特定の状態に変化する第1の所定のアドレスの値と、敵キャラクタを倒した場合に変化する第2の所定のアドレスの値とをそれぞれ監視し、目標達成判定部202は、第1および第2の所定のアドレスの値が所定の条件を満たすか否かに基づいて目標(ミッション)が達成された状況を判定するようにしてもよい。なお、第1および第2の所定のアドレスの値に限られずさらに別のアドレスの値に基づいて目標(ミッション)が達成された状況を判定するようにしてもよい。
【0188】
所定のアドレスの値とプレイ時間とを組み合わせて目標(ミッション)が達成された状況を判定するようにしてもよい。例えば、目標達成判定部202は、所定時間以内に所定のアドレスの値が変化するか否かに基づいて目標(ミッション)が達成された状況を判定するようにしてもよい。あるいは、所定タイミングにおける所定のアドレスの値や、所定期間の値の累計に基づいて目標(ミッション)が達成された状況を判定するようにしてもよい。また、プレイ時間に限られず、他のパラメータを組み合わせて目標(ミッション)が達成された状況を判定するようにしてもよい。例えば、プレイヤキャラクタ508の移動距離や移動速度を算出して、目標達成判定部202は、当該移動距離あるいは移動速度を算出して、所定の閾値以上であるか否かを条件として組み合わせて目標(ミッション)が達成された状況を判定するようにしてもよい。
【0189】
図13のフロー図において、達成情報送信部203は、ステップS32において設定された目標の達成状況をサーバ30に送信し、ステップS34においてオンラインミッションの達成状況に関する情報の要求をサーバ30に送信する構成について説明したが、これに限られず、例えば、達成情報送信部203は、ステップS32とステップS34を纏めて設定された目標の達成状況およびオンラインミッションの達成状況に関する情報の要求をサーバ30に送信するようにしてもよい。
【0190】
本例においては、オンラインミッションに参加している情報処理装置10A~10Cがオンラインミッションの達成状況に関する情報の要求をサーバ30に送信し、サーバ30からオンラインミッションの達成状況に関する情報を受信する場合について説明したが、特にこれに限られずオンラインミッションに参加していない他の情報処理装置10からオンラインミッションの達成状況に関する情報を要求して、当該要求に従ってサーバ30からオンラインミッションの達成状況に関する情報を受信するようにしてもよい。これによりオンラインミッションに参加する動機付けを他の情報処理装置10のプレイヤに対して与えることが可能である。
【0191】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0192】
1 ゲームシステム、10,10A,10B,10C 情報処理装置、11 入力部、13,130 記憶部、14 表示部、16,160 ネットワーク通信部、17 プログラム、18,180 メインメモリ、30 サーバ、150 ミッション管理プログラム、170 制御用プログラム、171 エミュレータプログラム、172 ミッションアプリプログラム、173 ゲームロムデータ、200 実行部、201 目標達成監視部、202 目標達成判定部、203 達成情報送信部、204 達成情報受信部、205 合成部、206 表示制御部、207 画像生成部、300 受信部、301 送信部、302 集計部、303 全体目標達成判定部。