JP2015058135A - 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法 - Google Patents

情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法 Download PDF

Info

Publication number
JP2015058135A
JP2015058135A JP2013193420A JP2013193420A JP2015058135A JP 2015058135 A JP2015058135 A JP 2015058135A JP 2013193420 A JP2013193420 A JP 2013193420A JP 2013193420 A JP2013193420 A JP 2013193420A JP 2015058135 A JP2015058135 A JP 2015058135A
Authority
JP
Japan
Prior art keywords
game program
image
execution
information processing
game
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013193420A
Other languages
English (en)
Other versions
JP6470488B2 (ja
Inventor
宏一 林田
Koichi Hayashida
宏一 林田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2013193420A priority Critical patent/JP6470488B2/ja
Priority to EP20130195632 priority patent/EP2862605A1/en
Priority to US14/138,884 priority patent/US9789389B2/en
Publication of JP2015058135A publication Critical patent/JP2015058135A/ja
Application granted granted Critical
Publication of JP6470488B2 publication Critical patent/JP6470488B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/795Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/209Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform characterized by low level software layer, relating to hardware management, e.g. Operating System, Application Programming Interface

Abstract

【課題】既存のゲームプログラムを活用し、より手軽にゲームを楽しめる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法を提供すること。【解決手段】情報処理ログムラムにおいて、情報処理装置を、前記情報処理装置の構成とは異なる構成を持つ他の情報で実行可能なゲームプログラム及びゲームプログラムの所定の実行箇所における実行状況を表す実行状況情報を読み込む読込手段と、前記実行状況情報を用いて、前記ゲームプログラムを所定の実行箇所からエミュレートするエミュレート手段と、前記エミュレートするゲームプログラムの実行状況を判定する判定手段と、前記ゲームプログラムの実行状況が予め定めた条件を満たすと判定した場合に、前記エミュレート手段の実行状態を変更する変更手段として動作させる。【選択図】図1

Description

本発明は、ゲームプログラムのエミュレーションを行う情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法に関する。
近年、コンピュータ技術の進歩により、CPU(Central Processing Unit)の処理速度、処理能力が向上している。それに伴い、新たなCPUを用いたゲーム機が開発されている。このような新タイプのゲーム機は、旧タイプと構成が異なるため、旧タイプ用のゲームプログラムを動作させることは出来ない。そこで、新タイプのゲーム機において、旧タイプのゲーム機用のゲームプログラムを利用可能とするエミュレータが提案されている(特許文献1)。
特開2001−340640号公報
上記提案されているエミュレータは、単に旧タイプのゲーム機用プログラムを新タイプのゲーム機で利用可能とするものであり、場面をクリアする条件など、ゲーム内容には変化がなかった。そのため、ゲームの一場面をクリアするためには、ある一定以上の時間が必要であった。
しかし、ユーザの生活が多様化する中、より手軽にゲームを楽しめることが望まれている。また、旧タイプのゲーム機用プログラムといった既存のゲームプログラムを活用し新たな楽しみをユーザに提供することが望まれている。
本発明の目的とするところは、既存のゲームプログラムを活用し、より手軽にゲームを楽しめる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法を提供することにある。
本発明に係る情報処理プログラムは、情報処理装置を、前記情報処理装置の構成とは異なる構成を持つ他の情報処理装置で実行可能なゲームプログラム及び前記ゲームプログラムの所定の実行箇所における実行状況を表す実行状況情報を読み込む読込手段と、前記実行状況情報を用いて、前記ゲームプログラムを前記所定の実行箇所からエミュレートするエミュレート手段と、前記エミュレートするゲームプログラムの実行状況を判定する判定手段と、前記ゲームプログラムの実行状況が予め定めた条件を満たすと判定した場合に、前記エミュレート手段の実行状態を変更する変更手段として前記情報処理装置を動作させる。
本発明に係る情報処理プログラムにおいて、前記ゲームプログラムによるゲームは複数の場面を含み、前記実行状況情報は、所定の場面における状態を示す情報であり、前記エミュレート手段は、前記所定の場面から処理を実行する。
本発明に係る情報処理プログラムにおいて、前記変更手段は、前記条件を満たすと判定した場合に、前記エミュレートしている場面についての処理を停止させる。
本発明に係る情報処理プログラムにおいて、前記読込手段は前記ゲームプログラムの複数の場面それぞれに対応する実行箇所における実行状況情報の中から前記エミュレートしている場面とは異なる一の場面に対応した実行状況情報を更に読み込み、前記変更手段は、前記エミュレート手段が実行中の場面についての処理を停止させ、前記エミュレートしている場面とは異なる一の場面についての処理を前記エミュレート手段に実行させる。
本発明に係る情報処理プログラムにおいて、前記読込手段は複数のゲームプログラムについての実行状況情報の中から一の場面に対応した実行状況情報を読み込む。
本発明に係る情報処理プログラムにおいて、前記実行状況情報は、ゲームプログラムがエミュレートされる際に使用される仮想メモリ全体のメモリイメージである。
本発明に係る情報処理プログラムにおいて、前記予め定めた条件は、ゲームが予め定めた状況まで進行したか否かであり、前記判定手段は、前記エミュレート手段で実行するゲームプログラムが出力する出力画像及び予め定めた判定用画像のマッチングを行うマッチング手段、並びにマッチング手段によるマッチング結果から、前記ゲームプログラムに係るゲームが予め定めた状況まで進行したか否かを判定する画像判定手段を含む。
本発明に係る情報処理プログラムにおいて、前記画像判定手段は、前記マッチング結果より前記出力画像に前記判定用画像が出現している場合に、前記ゲームプログラムの実行状況が条件を満たしたと判定する。
本発明に係る情報処理プログラムにおいて、前記画像判定手段は、前記出力画像における前記判定用画像の出現位置が所定範囲内である場合に、前記ゲームプログラムの実行状況が条件を満たしたと判定する。
本発明に係る情報処理プログラムにおいて、前記マッチング手段は、前記出力画像及び前記判定用画像のマッチングを繰り返し実行し、前記画像判定手段は、前記出力画像における前記判定用画像の出現位置が、予め定めた遷移をした場合に、前記ゲームプログラムの実行状況が条件を満たしたと判定する。
本発明に係る情報処理プログラムにおいて、前記マッチング手段は、前記出力画像及び前記判定用画像のマッチングを繰り返し実行し、マッチングを行う都度、前記出力画像における前記判定用画像の出現個数又は前記出力画像に含まれる数値を取得し、前記画像判定手段は、前記出力画像における前記判定用画像の出現個数又は数値が所定の条件を満たした場合に、前記ゲームプログラムの実行状況が条件を満たしたと判定する。
本発明に係る情報処理プログラムにおいて、前記所定の条件を満たした場合とは、前記出現個数又は前記出力画像に含まれる数値が、先行するマッチングにより取得した出現個数又は数値から所定の変化をした場合である。
本発明に係る情報処理装置は、自らとは構成の異なる構成を持つ他の情報処理装置で実行可能なゲームプログラム及び前記ゲームプログラムの所定の実行箇所における実行状況を表す実行状況情報を読み込む読込部と、前記実行状況情報を用いて、前記ゲームプログラムを前記所定の実行箇所からエミュレートするエミュレート部と、前記エミュレートするゲームプログラムの実行状況を判定する判定部と、前記ゲームプログラムの実行状況が予め定めた条件を満たすと判定した場合に、前記エミュレート部の実行状態を変更する変更部とを備える。
本発明に係る情報処理システムは、自らとは構成の異なる構成を持つ他の情報処理システムで実行可能なゲームプログラム及び前記ゲームプログラムの所定の実行箇所における実行状況を表す実行状況情報を読み込む読込部と、前記実行状況情報を用いて、前記ゲームプログラムを前記所定の実行箇所からエミュレートするエミュレート部と、前記エミュレートするゲームプログラムの実行状況を判定する判定部と、前記ゲームプログラムの実行状況が予め定めた条件を満たすと判定した場合に、前記エミュレート部の実行状態を変更する変更部とを備える。
本発明に係る情報処理方法は、情報処理装置で実行される情報処理方法であって、自らとは構成の異なる構成を持つ他の情報処理装置で実行可能なゲームプログラム及び前記ゲームプログラムの所定の実行箇所における実行状況情報を読み込む読込ステップと、前記実行状況情報を用いて、前記ゲームプログラムを前記所定の実行箇所からエミュレートするエミュレートステップと、前記ゲームプログラムの実行状況を判定する判定ステップと、前記ゲームプログラムの実行状況が予め定めた条件を満たすと判定した場合に、前記ゲームプログラムの実行状態を変更する変更ステップを含む。
本発明は、ゲーム機により実行されているゲームプログラムをプログラム内部で定めた終了条件ではなく、プログラム外部で定めた条件により終了させるので、既存のゲームプログラムとは異なる楽しみ方を提供可能であり、ユーザが手軽に楽しめるゲームを提供することが可能となる。
本実施の形態に係るゲームシステムの構成を示す説明図である。 本実施の形態に係るゲーム機のハードウェア構成を示すブロック図である。 本実施の形態に係るゲーム機のハードウェアとソフトウェアとの関係を示す説明図である。 ゲーム機で行われる処理の概要を示すフローチャートである。 実行フローのデータ構造を示す説明図である。 クリア条件の条件タイプ別のデータ構造を示す説明図である。 プレイヤキャラクタが敵キャラクタをかわす場合についての説明図である。 レースゲームにおいて、プレイヤキャラクタがゴールした場合についての説明図である。 種々のゲームにおいて、壁を規定数破壊した場合をクリア条件とする場合の説明図である。 種々のゲームにおいて、プレイヤキャラクタの残機数の変化を検出する場合についての説明図である。 スコアが所定の値になったら、クリアとする場合の説明である。 本実施の形態に係るゲーム機で行われる処理を説明するためのフローチャートである。 停止条件判定処理の処理手順を示すフローチャートである。 停止条件判定処理の処理手順を示すフローチャートである。 停止条件判定処理の処理手順を示すフローチャートである。
図1は本実施の形態に係るゲームシステム(情報処理システム)の構成を示す説明図である。ゲームシステムは、ゲーム機1(情報処理装置)、記録媒体2、テレビジョン受像機などのディスプレイ3、コントローラ4を含む。ゲーム機1は記録媒体2などに記憶されている情報処理プログラムを読み出して実行することにより、ゲーム処理を実行する。本実施の形態において、情報処理プログラムは管理プログラム、エミュレーションプログラム、ゲームプログラムなどである。また、ゲーム処理とはゲームプログラムで行われる処理のことを示す。
ゲーム機1は接続コードを介してディスプレイ3に接続される。ディスプレイ3はゲーム機1において実行されるゲーム処理によって得られるゲーム画像を表示する。また、ディスプレイ3はスピーカを内蔵しており、スピーカはゲーム処理の結果得られるゲーム音声を出力する。
コントローラ4はユーザが用いる操作装置である。コントローラ4は、例えばBluetooth(登録商標)といった近距離無線通信技術を用いて、ゲーム機1と通信を行う。コントローラ4は、十字キー、アナログスティック、プッシュボタン又はタッチパネル等により、プレイヤの操作入力を受け付けて、それらの操作情報をゲーム機1に送信する。また、コントローラ4は表示部やスピーカ、マイクを備えていても良く、ディスプレイ3に表示される画像を表示したり、ディスプレイ3とは異なる画像を表示したりしても良い。音声についても同様にディスプレイ3の内蔵スピーカと同じ音声を、コントローラ4のスピーカから出力しても良いし、コントローラ4向けの独自の音声を出力しても良い。マイクはコントローラ4の周辺の音声、例えばプレイヤの発話音声などを集音し、ゲーム機1へ送信する。
図2は本実施の形態に係るゲーム機1のハードウェア構成を示すブロック図である。ゲーム機1は、処理部10、出力部11、記録媒体装着部12、一次記憶部13、二次記憶部14、近距離無線通信部15、無線通信部16等を含む。
ゲーム機1の処理部10は、CPU(Central Processing Unit)などの演算処理装置を用いて構成されている。処理部10は、二次記憶部14に記憶された後述する管理プログラムP1、エミュレータ、ゲームプログラムP3を一次記憶部13に読み出して実行することにより、ゲーム処理を行う。管理プログラムP1、エミュレーションプログラムP2、ゲームプログラムP3の全部又は一部を記録媒体装着部12に装着された記録媒体2より、読み出しても良い。
出力部11は、処理部10から与えられた画像、音声を出力し、ディスプレイ3に画像を表示させ、ディスプレイ3内臓のスピーカより音声を出力させる。記録媒体装着部12は、DVD(Digital Versatile Disc)、CD−ROM(Compact Disc Read Only Memory)等の記録媒体2を着脱できるように構成されている。なお、記録媒体装着部12は従来のゲーム機で使用されていたカセットを装着可能とし、ゲームプログラムP3等をカセットから読み込むこととしても良い。一次記憶部13は、半導体メモリ素子などを用いて構成されている。一次記憶部13は、処理部10の演算処理に伴って生成される各種のデータが一時的に記憶される。二次記憶部14は、一次記憶部13と比較して大容量の不揮発性記憶装置を用いて構成されている。二次記憶部14は、ゲームプログラムP3及びその他のデータ等を記憶する。
近距離無線通信部15は上述したように、コントローラ4と通信を行う。コントローラ4から操作入力、マイクによる集音データを受信し、それを処理部10に出力する。また、処理部10又は出力部11より入力された画像又は音声をコントローラ4に送信する。
無線通信部16は、無線LAN(Local Area Network)又は携帯電話網等のネットワーク5を介して、サーバ装置等との間で情報の送受信を行う。例えばゲーム装置1は、無線通信部16にてサーバ装置との通信を行ってゲームプログラムP3をダウンロードし、二次記憶部14に記憶することができる。管理プログラムP1、エミュレータなども、サーバ装置からダウンロードしても良い。
図3は、本実施の形態に係るゲーム機1のハードウェアとソフトウェアとの関係を示す説明図である。ゲーム機1のハードウェア上で管理プログラムP1が実行される。管理プログラムP1上でエミュレータが動作し、さらにエミュレータ上でゲームプログラムP3が動作する。
エミュレータ(エミュレート実行部)はゲーム機1と異なるハードウェア構成を持つ他のゲーム機のハードウェアをエミュレートする。エミュレータは仮想CPU10g、仮想メモリ10hを含む。エミュレータにより、他のゲーム機でしか動作できないゲームプログラムを動作させることが可能となる。例えば、他のゲーム機は、以前の世代のゲーム機である。
管理プログラムP1は機能部として、読込部10a、判定部10b及び変更部10fを含む。読込部10aはエミュレータの動作に必要な実行状況情報を読み込む。
判定部10bは、エミュレータで動作しているゲームプログラムの実行状態を監視し、実行状態が予め定めた条件を満たしたか否かを判定する。
本実施の形態において、判定部10bはディスプレイ3に表示されるゲーム画像の表示内容から判定を行う。判定部10bは、画像取込部10c、マッチング部10d、画像判定部10eを含む。画像取込部10cはゲーム画像を取り込む。マッチング部10dは画像取込部10cが取り込んだ画像と予め取得してある判定用画像とのマッチングを行う。画像判定部10eはマッチング部10dによるマッチング結果から、ゲーム画像が予め定めた条件を満たしているか否かを判定する。
変更部10fは、判定部10bにより実行状態が予め定めた条件を検知した場合、エミュレータで実行中のゲームプログラムの実行状態を変更する。例えば、実行中のゲームプログラムの実行を停止し、予め定めた実行箇所から実行を再開する。または、他のゲームプログラムを読み込み、当該プログラムを所定の実行箇所から実行する。
ゲーム機1は、処理部10が管理プログラムP1を実行することによって、読込部10a、判定部10b、変更部10fがソフトウェア的な機能手段として実現される。
本実施の形態に係るゲーム機は、ゲームプログラムを部分実行することが可能である。ここで、部分実行とは、ゲームプログラムを部分的に実行することを示す。部分実行は、1つのゲームプログラムの一部分を1回のみ行うものでも良いし、複数回、実行するのでも良い。また、1つのプログラムの異なる一部分を、それぞれ1回又は複数回実行しても良い。さらにまた、複数のプログラムの部分実行を組み合わせても良い。このような部分実行を実現するために、実行フローを用いる。実行フローは、ゲームプログラムの実行順、各実行におけるゲームプログラムの実行箇所、実行するゲームプログラムを停止する条件などが記載されたものである。
図4は、ゲーム機で行われる処理の概要を示すフローチャートである。ゲーム機はまず、実行フローを読み込む。読み込んだ実行フローに従い、ゲームプログラムを実行する。ゲーム機はゲームプログラムの実行状態を監視し、実行状態が停止条件を満たしているか否かを判定する。実行状態が停止条件を満たしていない場合、ゲーム機はゲームプログラムの実行を継続する。実行状態が停止条件を満たした場合、ゲーム機は実行フローを参照し、次に実行すべきゲームプログラムが有るか否か判定する。次に実行すべきプログラムが有る場合、ゲーム機は次のゲームプログラムを実行する。実行すべきプログラムがない場合は、ゲーム機は処理を終了する。
次に、本実施の形態において用いられる各種データについて説明する。図5は実行フローFのデータ構造を示す説明図である。実行フローFはゲームプログラムの実行手順を定義する。実行フローFは複数のフローf1、フローf2、…から構成される。図5にf11、f21はフローのIDが格納され、IDに含まれる数値の順にフローが実行される。フローf1を例として、各フローのデータ構造を説明する。フローf1は、ゲームIDf12、実行状況情報f13、クリア条件f14を含む。ゲームIDf12はゲームを特定するための情報である。
実行状況情報f13はゲームIDf12で特定されたゲームに対応するゲームプログラムを所定の箇所から実行開始するための情報である。実行状況情報f13はゲームプログラム実行中の所定の箇所でのレジスタ情報f131、メモリ情報f132を含む。レジスタ情報f131、メモリ情報f132を用いることにより、所定の箇所での状態を再現し、当該ゲームプログラムをプログラムの冒頭からではなく、所定の箇所から実行することが可能となる。実行状況情報f13には、スタック、フラグレジスタ、割り込みベクタ、インタバールタイマ等のタイマ値などの情報を含んでも良い。
上述したように、実行状況情報f13はゲームプログラムを所定の箇所で止めた場合の、レジスタ情報f131、メモリ情報f132等であり、いわゆるスナップショットとも言われる、静的情報を示す。
それに対して、実行状態は、動作しているゲームプログラムの状態であり、変化することが前提の動的な情報である。複数の実行状況情報f13を時系列に並べた場合、最新なものが実行状態である。
本実施の形態において、実行状況情報f13はゲームの途中の状況を示す情報である。例えば、複数の場面からなるゲームにおいて、第3面の冒頭の状況を実行状況情報f13として用意しておけば、プレイヤは第1面、第2面をクリアせずとも、第1面、第2面をクリアしたものとして、第3面の冒頭からゲームを開始することが可能となる。また、場面の途中での実行状況情報f13を取得していれば、場面の途中からゲームを開始することも可能となる。例えば、最終面において、ボスキャラクタが登場する条件が揃った状況における実行状況情報f13を取得しておけば、プレイヤは他の面をクリアすることなく、ボスキャラクタと戦うことが可能となる。
クリア条件f14とはゲームプログラムを停止する条件(停止条件)を定義する。クリア条件f14を用いることにより、ゲームプログラムの動作を任意の時点で停止することが可能なる。すなわち、ゲームプログラム自体とは異なる条件で、ゲームをクリアしたものとできる。図5のフロー1f1を例とすすると、クリア条件f14は条件タイプf141と条件データf142を含む。条件データf142は条件タイプ毎に内容が異なる。
なお、停止条件はゲームをクリアとするクリア条件f14のみならず、ゲームオーバーを判定する条件としても良い。
次にクリア条件f14について説明する。以下、クリア条件f14の一例として、ゲームプログラムが表示出力する画像(以下、「ゲーム画像」と記す。)を用いて、条件判定を行う場合について説明する。図6はクリア条件f14の条件タイプ別のデータ構造を示す説明図である。図6には3つの条件タイプを例示している。図6Aは「出現回数」タイプの場合のクリア条件f14である。この条件はゲーム画像に所定の画像が複数回出現した場合に、条件を満たしたと判定する。この場合のクリア条件f14は検索範囲c1、判定用画像c2、回数c4、出現位置c5を含む。検索範囲c1はゲーム画像のうち、どの範囲を処理対象とするかを定める。判定用画像c2はクリア条件f14を判定するのに用いる画像を抽出するための画像である。回数c4はクリア条件を満たす出現回数である。出現位置c5は所定の画像が出現すべき位置を定義する。定義した位置を基準とする一定範囲内に所定画像が表示された場合に、出現回数をカウントする。検索範囲内であれば、どこの位置でも良い場合は、定義しなくても良い。また、回数に対応した数の位置を定義することにより、異なる位置に複数回出現する場合も条件として定義が可能となる。
図6Bは「出現数」タイプの場合のクリア条件f14である。この条件はゲーム画像中に同時に複数の所定画像が出現している場合に条件を満たしたと判定する。この場合のクリア条件は検索範囲c1、判定用画像c2、個数c6を含む。検索範囲c1、判定用画像c2は上記と同様である。個数c6はクリア条件を満たす所定画像の個数である。
図6Cは「カウンタ」タイプの場合のクリア条件f14である。この条件はゲーム画像中に出現する数値を抽出し、その値と閾値との大小関係で条件関係を満たしたかを判定するものである。この場合のクリア条件f14は検索範囲c1、判定用画像c2、値c7、不等号c8を含む。検索範囲c1は上記と同様である。判定用画像c2も上記と同様であるが、ここでは数字を表す画像を抽出する必要が有るため、少なくとも0から9を表す9枚の画像が定義されている。値c7は条件判定の基準となる閾値である。不等号c8は条件を満たす場合の画面上の数値としきい値との関係を示す。不等号c8が大なり記号「>」場合、画面上の数値が閾値より大きい場合に条件を満たしたと判定する。
次にクリア条件f14の具体例を示す。図7はプレイヤキャラクタ71が敵キャラクタ72をかわす場合についての説明図である。すなわち、プレイヤキャラクタ71が敵キャラクタ72をかわせたら、ゲームをクリアしたとする。図7Aに示すように、敵キャラクタ72は画面の右から現れる。図7Bに示すように、プレイヤキャラクタ71はジャンプして、敵キャラクタ72をよける。図7Cに示すように、敵キャラクタは画面の左へ消えていく。この場合、敵キャラクタ72が現れた画像と、敵キャラクタ72が消えていく画像とを捉える。
図7において、画像の左上が原点Oである。左右の軸がx軸、上下の軸がy軸である。画面右端のx座標をx1、敵キャラクタ72が右端にいる場合のx座標をx2、左端にいる場合はのx座標をx3とする。
この場合、敵キャラクタ72がx2の付近に現れた後に、x3まで移動し、表示されなくなったとき、プレイヤキャラクタ71は敵キャラクタ72をかわしたものと判断できるから、クリア条件f14は、例えば、以下のように設定する。
タイプt:出現回数
検索範囲c1:画面全体
判定用画像c2:敵キャラ画像
回数c4:2回
出現位置c5:一回目x=x2、y=任意、二回目x=x3、y=任意
ここで、出現位置c5の座標に幅を設けていないが、位置の判定を行う際に幅を設けても良い。y座標については「任意」としたが、該当する敵キャラクタ72が上下には移動しないものであれば、y座標を指定しても良い。
また、より正確に敵キャラクタ72の動きを検出するため、回数c4を増やしても良い。
上述と同様な条件設定により、プレイヤキャラクタがスタートから出発してゴールに到達したこと、プレイヤキャラクタがスタートから出発して何かしらのタスクを果たしてスタートに戻ってきたことを検出することが可能となる。
また、レーシングゲームにおいて、コースのショートカットが行える場合に、ショートカットが行える地点の背景画像に含まれる特徴的な画像と、ショートカットが成功した後の地点の背景画像に含まれる特徴的な画像を判定用画像とすることにより、ショートカットに成功したことを検知することが可能となる。
図8はレースゲームにおいて、プレイヤキャラクタ81がゴールした場合についての説明図である。プレイヤキャラクタ81が乗ったカート82がゴールしたので、「GOAL!」というメッセージが画面に表示されている。このメッセージを検知することにより、プレイヤキャラクタ81がゴールしたことを検知可能となる。
この場合は、クリア条件f14は、例えば、以下のように設定する。
タイプt:出現回数
検索範囲c1:所定範囲
判定用画像c2:「GOAL!」のメッセージ画像
回数c4:1回
出現位置c5:任意
上述の場合、メッセージの表示箇所は一定であるとの前提で、処理量軽減のため、検索範囲を「所定範囲」とした。しかし、メッセージ画像が表示される位置が場面により異なり、予め設定が困難な場合は、検索範囲を画面全体とすれば良い。
上述と同様な条件設定により、場面をクリアした場合の「Clear!」などのメッセージ画像や、格闘ゲームで相手キャラクタに勝利した場合の「Win!」などのメッセージを検出することが可能である。
また、プレイヤキャラクタが取る特殊なポーズを検出することにより、ゴールや、敵キャラクタを倒したことを検出可能である。
さらにまた、敵キャラクタが倒された時に表示される効果画像を検知することにより、プレイヤキャラクタが敵キャラクタを倒したことを検出することが可能となる。
図9は種々のゲームにおいて、壁を規定数破壊した場合をクリア条件とする場合の説明図である。図9Aは壁を破壊する前の状況であり、プレイヤキャラクタ91が壁92を壊そうとしている。図9Bは壁を破壊した直後の状況であり、破壊された壁93が表示されている。破壊された壁93の上に、破壊によって得たポイント94が表示されている。図9Bの例では、得たポイント94は、100ポイントである。プレイヤキャラクタ91が規定数の壁を破壊したらクリアとする。
この場合、クリア条件f14は、例えば、以下のように設定する。
タイプt:出現回数
検索範囲c1:画像全体
判定用画像c2:壁が破壊された直後の画像
回数c4:規定数
出現位置c5:任意
上述と同様な条件設定により、壁を規定数破壊した場合にクリアにする条件も設定可能である。また、敵キャラクタを規定数倒した場合に、クリアとする条件も同様である。
図10は種々のゲームにおいて、プレイヤキャラクタの残機数の変化を検出する場合についての説明図である。図10に示す例では、プレイヤキャラクタ101の残機数が画面左上の領域103に、アイコン102の表示数で示されている。アイコン102が3個表示されているから、残機数は3である。ここで、残機数が1増加し、残機数が4となったらクリアするものとする。
この場合、クリア条件f14は、例えば、以下のように設定する。
タイプt:出現数
検索範囲c1:所定範囲(図10では領域103)
判定用画像c2:残機を示すアイコン画像(図10ではアイコン102の画像)
個数c6:増加と判定する個数(今回の例では4)
なお、上記の例では、クリアとする残機数を4と設定したが、開始時の残機数が不確定の場合は、開始時に残機数を取得し、その後、残機数が1増加することを検出すれば良い。そのような場合、個数の設定を符号付きの「+1」などし、上記の場合との区別が行えるようにすれば良い。
また、プレイヤキャラクタ101がアイテムを取得したら、クリアとする場合も上記と同様である。図10の画面右下には、アイテム表示領域104が3つ表示されている。一番左のアイテム表示領域104にはアイテム105が表示されている。これは、アイテム105をプレイヤキャラクタ101が取得したことを示している。アイテムが何も取得されていない状態から、アイテム105を取得した場合にクリアとする条件は、例えば、以下のように設定する。
タイプt:出現数
検索範囲c1:所定範囲(図10の例では全てのアイテム表示領域104)
判定用画像c2:対象とするアイテムのアイコン画像(図10では、アイテム105の画像)
個数c6:取得したとみなす個数(図10では1)
なお、特定のアイテムを取得した場合ではなく、任意のアイテムを取得した場合にクリアとするには、判定用画像c2を全アイテムの数と設定すれば良い。
図11はスコアが所定の値になったら、クリアとする場合の説明である。画面の所定領域112に、スコア113が表示されている。図11の例ではスコア113は100点である。ここで、スコア113が150点になったら、クリアとする条件は、例えば、以下の様に設定する。
タイプt:カウンタ
検索範囲c1:所定範囲(図11では領域112)
判定用画像c2:数字を示す画像(「0」から「9」までの画像)
値c7:増減と判定する値(図11では150)
不等号c8:>、<など(図11では=又は≧)
なお、残機数の変化を検知する場合において、残機数の表示がアイコンの個数ではない場合は、上記と同様な設定により、条件設定が可能である。床や壁を規定数破壊したことをクリア条件とする場合も、破壊数が数字で画面表示される場合は、上記と同様な設定により、条件設定が可能である。
また、判定用画像を「0」から「9」までの各数字の画像としたが、クリアとするスコア、残機数、破壊数の値が一定値であるならば、その一定値を表示されている画像のみを判定用画像として、条件タイプt「出現回数」で回数c4を1と設定をすれば良い。
上述のように、様々なクリア条件f14を設定することが可能であるので、ゲームプログラム本来の条件とは異なるクリア条件f41で、ゲームをクリアすることが可能となる。例えば、野球ゲームにおいて、アウトを1つ取っただけでクリアとしたり、レーシングゲームにおいて、コースのショートカットに成功したらクリアとしたりすることが可能となる。
次に、本実施の形態に係るゲーム機1で行われる処理について説明する。図12は本実施の形態に係るゲーム機1で行われる処理を説明するためのフローチャートである。プレイヤはゲーム機1の起動後、メニュー画面等から実行する機能を選択する。ゲーム機1の処理部10は選択された機能から、従来動作を行うか否かを判定する(ステップS1)。ここで言う従来動作とは、従来技術のゲーム機が備えている機能を提供するための動作である。
従来動作を指示されていない場合(ステップS1でNO)、処理部10(読込部10a)は二次記憶部14より実行フローを読み込む(ステップS2)。処理部10は実行フローに含まれるフローの数を変数nに設定し、ループカウンタiを1に設定する(ステップS3)。
次に、処理部10はエミュレータを起動する(ステップS4)。すなわち、二次記憶部14に記憶してあるエミュレーションプログラムP2起動する。処理部10はエミュレーションプログラムP2を実行することにより、エミュレート部として機能する。
続いて、処理部10(読込部10a)は実行フローからi番目のフローを読み込み、指定されているゲームプログラムを二次記憶部14より読み込む(ステップS5)。処理部10は実行状況情報を設定する(ステップS6)。処理部10は実行状況情報に含まれる各種レジスタの値、メモリの状態を、それぞれエミュレータのレジスタ、メモリに設定する。
そして、処理部10はエミュレータ上でゲームプログラムを実行する(ステップS7)。処理部10(判定部10b)は停止条件判定を行う(ステップS8)。
図13から図15は、停止条件判定処理の処理手順を示すフローチャートである。制御部10は実行中のフローであるi番目のフローのクリア条件を取得し、さらにクリア条件に含まれる検索範囲を取得する。制御部10(画像取込部10c)は、取得した検索範囲に基づき、ゲームプログラムの出力画像から、マッチングに用いる部分画像を作成する(ステップS21)。出力画像は一次記憶部13に記憶されている。次に、制御部10はクリア条件に含まれる判定用画像を取得する(ステップS22)。制御部10(マッチング部10d)は部分画像と判定用画像とによるマッチングを行う(ステップS23)。制御部10はマッチングを行ってない判定用画像が有るか否かを判定する(ステップS24)。マッチングを行ってない判定用画像がある場合(ステップS24でYES)、制御部10は処理をステップS22に戻す。マッチングを行ってない判定用画像がない場合(ステップS24でNO)、制御部10(画像判定部10e)はクリア条件の条件タイプを取得し、「出現回数」であるか否か判定する(ステップS25)。条件タイプが「出現回数」である場合(ステップS25でYES)、フローチャートは図14に進み、制御部10はマッチング画像の出現位置が指定範囲内であるか否かを判定する(ステップS26)。すなわち、検索範囲内にマッチング画像が出現し、なおかつ、そのマッチング画像がクリア条件に記載されている出現位置を含む所定範囲内に、位置しているか否かを判定する。指定範囲内にマッチング画像が位置していた場合(ステップS26でYES)、制御部10は、クリア条件の回数が1であるか否か判定する(ステップS27)。1である場合(ステップS27でYES)、制御部10は戻り値に条件を満たす旨の値を設定し(ステップS28)、処理を呼び出し元に戻す。
クリア条件の回数が1ではない場合(ステップS27でNO)、制御部10は一次記憶部13等に記憶してある出現回数を増加させる(ステップS29)。制御部10は出現回数が、クリア条件に指定されている所定回数に達したかを判定する(ステップS30)。所定回数に達している場合(ステップS30でYES)、制御部10は一次記憶部13等に記憶してある出現回数を含むマッチングの履歴をクリアする(ステップS31)。制御部10は戻り値に条件を満たす旨の値を設定し(ステップS28)、処理を呼び出し元に戻す。
所定回数に達していない場合(ステップS30でNO)、制御部10は、二次記憶部14等に既にマッチングの履歴があれば更新し、なければ、出現回数を含む履歴を新たに作成し記録する(ステップS32)。履歴は出現回数以外に、マッチング画像の出現位置、現在時刻などのタイムスタンプ等を含めても良い。
そして、制御部10は、戻り値に条件を満たさない旨の値を設定し(ステップS33)、処理を呼び出し元に戻す。
指定範囲内にマッチング画像が位置していない場合(ステップS26でNO)、制御部10は、戻り値に条件を満たさない旨の値を設定し(ステップS33)、処理を呼び出し元に戻す。
図13において、条件タイプが「出現回数」でない場合(ステップS25でNO)、制御部10は条件タイプが「出現数」であるか否かを判定する(ステップS34)。条件タイプが「出現数」である場合(ステップS34でYES)、制御部10はマッチング結果より、判定用画像の出現数をカウントする(ステップS35)。制御部10は、出現数がクリア条件に設定されている個数以上であるか否かを判定する(ステップS36)。設定されている個数以上である場合(ステップS36でYES)、フローチャートは図14に進み、制御部10は戻り値に条件を満たす旨の値を設定し(ステップS28)、処理を呼び出し元に戻す。図13に戻り、設定されている個数未満である場合(ステップS36でNO)、図14に進み、制御部10は、戻り値に条件を満たさない旨の値を設定し(ステップS33)、処理を呼び出し元に戻す。
図13において、条件タイプが「出現数」でない場合(ステップS34でNO)、フローチャートは図15に進む。この場合、条件タイプは残りの「カウンタ」ということになる。制御部10はマッチング結果より、対象となるカウンタ値を取得する(ステップS37)。制御部10はクリア条件に設定されている不等号を取得する(ステップS38)。制御部10はカウンタ値とクリア条件14に設定してある閾値c7とが取得した不等号の関係を満たすか否かを判定する(ステップS39)。例えば、不等号が大なり記号「>」であれば、カウンタ値が閾値c7より大きいか否かを判定する。不等号の関係を満たす場合(ステップS39でYES)、制御部10は戻り値に条件を満たす旨の値を設定し(ステップS28)、処理を呼び出し元に戻す。不等号の関係を満たさない場合(ステップS39でNO)、制御部10は、戻り値に条件を満たさない旨の値を設定し(ステップS33)、処理を呼び出し元に戻す。
なお、制御部10に、画像処理を高速に行えるDSP(Digital Signal Processor)やGPU(Graphics Processing Unit)を含めておき、部分画像の作成(ステップS21)からマッチング(ステップS23)までの処理を、DSPやGPUに行わせることとしても良い。
また、上述したマッチング処理では、検索範囲が指定されている場合、出力画像からマッチングに用いる部分画像を作成することとしたが、部分画像の作成は必須ではない。検索範囲で判定用画像とのマッチングを行えば良い。
図12に戻り、処理部10は、停止条件判定処理の戻り値より、判定結果が停止条件を満たすものであったか否かを判定する(ステップS9)。停止条件を満たしていない場合(ステップS9でNO)、処理部10は処理をステップS7に戻す。停止条件を満たしている場合(ステップS9でYES)、処理部10(変更部10f)はエミュレータで実行中のゲームプログラムの実行状態を実行から停止に変更させる(ステップS10)。処理部10はループカウンタを1インクリメントする(ステップS11)。処理部10はループカウンタiがフロー数nより大きいか判定する(ステップS12)。ループカウンタiがフロー数nより大きくない場合(ステップS12でNO)、処理部10は、i番目のフローで指定されているゲームプログラムが実行停止中のプログラムと同一であるか否かを判定する(ステップS13)。同一である場合(ステップS13でYES)、処理部10は処理をステップS6に戻す。同一でない場合(ステップS13でNO)、処理部10は処理をステップS5に戻す。
ループカウンタiがフロー数nより大きい場合(ステップS12でYES)、すなわち、実行フローに含まれる全てのフローについての処理が終了したので、処理部10は、処理を終了する。また、ステップS1で従来動作であると判定された場合(ステップS1でYES)、処理部10は従来動作を行い(ステップS14)、処理を終了する。
以上のように、本実施の形態に係るゲーム機1は、ゲームプログラムの動作途中におけるCPUのレジスタ状態、メモの内容を読み込むことにより、ゲームプログラムを途中から動作させることが可能となる。また、予め定めたクリア条件が満たされたか否かを検知し、ゲームプログラムの実行状態の変更を行うので、実行中のゲームプログラムが本来のクリア条件を満たしていない場合でも、実行を停止し、他の箇所から再開することが可能である。それにより、既存ゲームプログラムの一部分を異なったクリア条件で、ユーザは楽しむことが可能となる。また、複数のゲームプログラムを組み合わせることにより、ユーザは様々なゲームを手軽に楽しむことが可能となる。
なお、実行フロー、ゲームプログラムは記録媒体装着部12を介して記録媒体2又は無線通信部16を介してネットワーク上のサーバ等から読み込んでも良い。
また、クリア条件の判定は、出力される画像を用いたが、エミュレータのメモリ等を調べて判定しても良い。例えば、スコア値、残機数などは所定の変数で保持しているのが通常であるからである。本発明おいて画像を用いているのは、複数のゲームプログラムに汎用的に対応可能とするためである。変数を調べる場合には、ゲームプログラムごとに変数定義を調査し、それらの変数がどのメモリ番地に記憶されているかを調べて、設定する必要がある。一方、画像を用いる場合は、画面イメージを取得できれば、容易に条件設定が可能である。
上述の実施の形態では、ゲームプログラムの実行開始箇所及びゲームのクリア条件を変えることにより、ゲームの新たな楽しみ方を提供した。さらに画面表示について、制御を加えて、新たな楽しみ方を提供する事が可能である。
<色の変更>
カラー表示を、グレースケール表示、セピアカラー表示に変更する。このことより、プレイヤが画面から受ける印象が変わり、従前のゲームとは違った楽しみ方を提供可能となる。
具体的な実現方法は、周知の技術により実現可能であるが、例えば、以下のようにして実現する。エミュレータがエミュレートしているVRAMに描画されている画像を書き換える。また、エミュレータのカラーパレットを書き換えることにより、カラー情報が書き変わった画像をエミュレータのVRAMに描画させる。
または、ゲーム機1のVRAMに描画されている画像を書き換える、ゲーム機1のカラーパレットを書き換えるという方法も実現可能である。
<プレイヤキャラクタの行動範囲制限>
ロールプレイングゲームやアドベンチャーゲームでは、1つの場面において、プレイヤキャラクタの行動可能な範囲が広いため、その行動範囲の制限することにより、より手軽にゲームを楽しむことが可能となる。
具体的な実現方法としては、以下の様なものが考えうる。ゲームプログラムにおいて、メインキャラクタの位置座標が、如何なる変数に保持されているかを解析する。また、行動範囲を制限した場合に、メインキャラクタが行動可能な位置座標の範囲を決定する。そして、エミュレータでゲームプログラムが実行されている場合に、管理プログラムは、メインキャラクタの位置座標を常に取得する。取得した値より、メインキャラクタが行動範囲を逸脱しそうな場合には、管理プログラムは、プレイヤが入力したメインキャラクタについての移動命令を、エミュレータに伝達しないようする。または、エミュレータを制御し、プレイヤが入力したメインキャラクタについての移動命令を、ゲームプログラムが取得できないようにする。
また、扉や抜け穴等により、別の場所に移動するのを制限する場合には、プレイヤキャラクタの位置に加えて、例えば、次のような処理を行うことが考えられる。別の場所に移動するのに伴い、背景となる画像データや、新たな場面の設定データ等が読み込まれるはずである。これらの別の場所に移動する際の処理は、一又は複数のサブルーチンで実現されているはずである。そこで、管理プログラムがエミュレータのメモリ等に展開されているプログラムを書き換え、別の場所に移動する際の処理を行うサブルーチンが呼ばれても、何らの処理をせずに、リターンするようにする。
以上のように、プレイヤキャラクタの行動範囲制限を行うことで、1つの場面のクリアに比較的長い時間を要するロールプレイングやアドベンチャーゲームであっても、より短い時間で、より手軽に楽しめるゲームとして、プレイヤに提供することが可能となる。
<表示マスク処理>
ゲーム画面の一部のみを表示させたり、一部のみを表示させないという処理を行うことにより、新たな楽しみ方を提供できる。
例えば、以下のようにして実現する。エミュレータがエミュレートしているVRAMに描画されている出力画像を書き換える。出力画像の画素数と同様なビットパターンを用意する。表示させる部分に1、表示させない部分0とする。出力画像とビットパターンとを論理積演算する。それにより、表示させる部分は変化がなく、表示させない部分は黒となり、所望の出力画像が得られる。
<オブジェクトの輪郭強調表示>
メインキャラクタ、敵キャラクタ、アイテム等のオブジェクトの輪郭を強調表示することで、新たな楽しみ方を提供できる。キャラクタの輪郭を強調表示することで、外観の印象を変えることが可能となる。また、敵キャラクタの輪郭を強調表示することで、プレイヤが敵キャラクタの登場に気づきやすくなり、ゲームの難易度を下げることが可能となる。また、アイテムが強調表示されていれば、プレイヤは見つけやすくなる。秘密の扉や、抜け穴も強調表示することでプレイヤが見つけやすくなる。それにより、ゲームの難易度を下げることが可能となる。このように、強調表示を用いてゲームの難易度を下げることにより、プレイヤは手軽にゲームを楽しむことが可能となる。
例えば、以下のようにして実現する。ゲームプログラムに含まれているキャラクタやアイテム等の画像データを輪郭強調表示された画像に書き換えれば、常に輪郭強調表示されることとなる。または、輪郭強調表示された画像を用意し、ゲームプログラムから読み出す際に用いられる画像へのポインタを書き換えることにより、通常表示の画像に変わって、輪郭強調表示された画像が表示されることとなる。
<画面全体を拡大縮小>
ゲーム画面全体を拡大又は縮小表示することで新たな楽しみ方を提供可能となる。拡大表示をした場合においては、キャラクタの表示が拡大されて迫力を増す一方で、表示される範囲は狭くなる。また、縮小した場合においては、キャラクタが見にくくなるおそれもがあるが、画面表示される範囲が広くなるので、ゲーム全体を見通し易くなる。
例えば、以下のように実現する。エミュレータがエミュレートしているVRAMに描画されている出力画像を書き換える。VRAMに出力画像が格納される都度、当該出力画像を拡大又は縮小した画像に書き換え、VRAMに格納し直す。
<画面全体を左右反転>
ゲーム画像全体を左右反転表示することで新たな楽しみ方を提供可能となる。例えば、シューティングゲームにおいて、キャラクタが右から左に進むことが基本となっているゲームであれば、左から右に進むことが基本となる。それにより、プレイヤの操作感は違ったものとなり、異なる楽しみ方が提供可能となる。
実現方法の一例は拡大縮小の場合と同様に、VRAMに出力画像が格納される都度、当該出力画像を左右反転した画像に書き換え、VRAMに格納し直す。
<画像にモザイク>
画面に表示される画像にモザイクを書けることにより、外観が異なった表示となる。それにより、敵キャラクタが把握しにくくなり、アイテムが区別しにくくなれば、ゲーム難易度を上げることが可能となる。
実現方法は上述の輪郭強調表示と同様で、ゲームプログラムに含まれているキャラクタやアイテム等の画像データをモザイク処理画像に書き換えれば、常にモザイク表示されることとなる。または、モザイク処理された画像を用意し、ゲームプログラムから読み出す際に用いられる画像へのポインタを書き換えることにより、通常表示の画像に変わって、モザイク処理された画像が表示されることとなる。
<背景を周期的に非表示>
ゲーム画面の背景を、周期的非表示にしたり、再表示したりするようにする。それにより、プレイヤはゲーム場面において、メインキャラクタの位置がわかり難くなる。場面によっては、プレイヤはメインキャラクタが進むべき方向を見失うこともあるから、ゲームの難易度を上げることが可能となる。
実現方法の一例は、輪郭強調表示と同様で、ゲームプログラムに含まれている背景画像の画像データを同一サイズの透過画像に書き換えれば、背景が非表示となる。背景画像を元に戻せば、再び、背景が表示されることとなる。または、背景画像と同一サイズの透過画像を用意し、ゲームプログラムから読み出す際に用いられる画像へのポインタを書き換えたり、書き戻したりすることにより、背景を非表示にしたり、再表示したりすることが可能となる。
<一部キャラクタを非表示>
一部のキャラクタを非表示にする。例えば、敵キャラクタの一部を非表示にすることにより、プレイヤはその存在に気付かず、非表示の敵キャラクタにより、メインキャラクタを失うこととなる。そのことにより、ゲームの難易度を上げることが可能となる。
実現方法の一例は、背景を非表示にする場合と同様であり、非表示にするキャラクタの画像と同一サイズの透過画像を用意し、画像データそのものを書き換えるか、ゲームプログラムから読み出す際に用いられる画像へのポインタを書き換えるかにより、実現される。
<一部キャラクタの画像の変更>
一部キャラクタの画像を変更する。例えば、敵キャラクタ画像をプレイヤが操作するメインキャラクタ画像と同じにする。戦っている場合などに、プレイヤはいずれが自分の操作する真のメインキャラクタであるのかという混乱を生じ、ゲームの難易度を上げることが可能となる。
実現方法の一例は、一部キャラクタを非表示にする場合と同様であり、変更するキャラクタの画像を、変更後の画像データに書き換えるか、ゲームプログラムから読み出す際に用いられる画像へのポインタを書き換えるかにより、実現される。
<メインキャラクタの無敵化>
プレイヤが操作するメインキャラクタを無敵化し、敵キャラクタから攻撃を受けたとしても、メインキャラクタが死なないようにする。それにより、プレイヤはクリアするまで、ゲームを継続して楽しむことが可能となる。 実現方法の一例は、次の通りである。ゲームプログラムが使用する仮想メモリから、メインキャラクタのダメージや受けた攻撃の度合いを示すHP(Hit Point)、ダメージポイントといった値を保持する変数を監視し、攻撃を受けたことにより値が変化しても、その値をすぐに回復するような処理を行えば良い。
<所定キーを入力固定>
所定キーが常に入力された状態とする。そのことにより、プレイヤが操作せずともキー入力されている状態となる。例えば、所定キーが入力されていないとき、メインキャラクタは歩く速度で移動するが、所定キーが入力されているときは、歩くのではなくダッシュで移動するようになる場合において、当該所定キーを常に入力している状態を作り出す。そのことにより、メインキャラクタは常にダッシュでしか移動ができないため、ゲームの難易度を上げることが可能となる。
実現方法の一例は、次の通りである。エミュレータで所定のキーが入力されている状態をソフトウェア的に作り出することにより、エミュレータ上で実行されるゲームプログラムは所定キーが入力されているものとして動作することとなる。
以上のように、本実施の形態においては、ゲームプログラムをエミュレータ上で動作させていることから、エミュレータの仮想メモリを操作することにより、ゲームプログラムを多様な形態で動作させることが可能となり、プレイヤに新たなゲームの楽しみかたを提供することが可能となる。
なお、情報処理装置としてのゲーム機1は単一の装置として示したが、それに限らない。ゲーム機1の部分的な機能が複数の装置により提供され、それらの装置が協働することより、上述した機能を実現することとしても良い。
各実施例で記載されている技術的特徴(構成要件)はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
1 ゲーム機(情報処理装置)
10 処理部
10a 読込部
10b 判定部
10c 画像取込部
10d マッチング部
10e 画像判定部
11 出力部
12 記録媒体装着部
13 一次記憶部
14 二次記憶部
15 近距離無線通信部
16 無線通信部
2 記録媒体
3 ディスプレイ
4 コントローラ

Claims (15)

  1. 情報処理装置を、
    前記情報処理装置の構成とは異なる構成を持つ他の情報処理装置で実行可能なゲームプログラム及び前記ゲームプログラムの所定の実行箇所における実行状況を表す実行状況情報を読み込む読込手段と、
    前記実行状況情報を用いて、前記ゲームプログラムを前記所定の実行箇所からエミュレートするエミュレート手段と、
    前記エミュレートするゲームプログラムの実行状況を判定する判定手段と、
    前記ゲームプログラムの実行状況が予め定めた条件を満たすと判定した場合に、前記エミュレート手段の実行状態を変更する変更手段
    として前記情報処理装置を動作させる情報処理プログラム。
  2. 前記ゲームプログラムによるゲームは複数の場面を含み、
    前記実行状況情報は、所定の場面における状態を示す情報であり、
    前記エミュレート手段は、前記所定の場面から処理を実行する
    請求項1に記載の情報処理プログラム。
  3. 前記変更手段は、前記条件を満たすと判定した場合に、前記エミュレートしている場面についての処理を停止させる
    請求項2に記載の情報処理プログラム。
  4. 前記読込手段は前記ゲームプログラムの複数の場面それぞれに対応する実行箇所における実行状況情報の中から前記エミュレートしている場面とは異なる一の場面に対応した実行状況情報を更に読み込み、
    前記変更手段は、前記エミュレート手段が実行中の場面についての処理を停止させ、前記エミュレートしている場面とは異なる一の場面についての処理を前記エミュレート手段に実行させる
    請求項3に記載の情報処理プログラム。
  5. 前記読込手段は複数のゲームプログラムについての実行状況情報の中から一の場面に対応した実行状況情報を読み込む
    請求項4に記載の情報処理プログラム。
  6. 前記実行状況情報は、ゲームプログラムがエミュレートされる際に使用される仮想メモリ全体のメモリイメージである
    請求項1乃至5のいずれか1項に記載の情報処理プログラム。
  7. 前記予め定めた条件は、ゲームが予め定めた状況まで進行したか否かであり、
    前記判定手段は、
    前記エミュレート手段で実行するゲームプログラムが出力する出力画像及び予め定めた判定用画像のマッチングを行うマッチング手段、並びに
    マッチング手段によるマッチング結果から、前記ゲームプログラムに係るゲームが予め定めた状況まで進行したか否かを判定する画像判定手段を含む
    請求項1乃至6のいずれか1項に記載の情報処理プログラム。
  8. 前記画像判定手段は、前記マッチング結果より前記出力画像に前記判定用画像が出現している場合に、前記ゲームプログラムの実行状況が条件を満たしたと判定する
    請求項7に記載の情報処理プログラム。
  9. 前記画像判定手段は、前記出力画像における前記判定用画像の出現位置が所定範囲内である場合に、前記ゲームプログラムの実行状況が条件を満たしたと判定する
    請求項8に記載の情報処理プログラム。
  10. 前記マッチング手段は、前記出力画像及び前記判定用画像のマッチングを繰り返し実行し、
    前記画像判定手段は、前記出力画像における前記判定用画像の出現位置が、予め定めた遷移をした場合に、前記ゲームプログラムの実行状況が条件を満たしたと判定する
    請求項8または9に記載の情報処理プログラム。
  11. 前記マッチング手段は、前記出力画像及び前記判定用画像のマッチングを繰り返し実行し、マッチングを行う都度、前記出力画像における前記判定用画像の出現個数又は前記出力画像に含まれる数値を取得し、
    前記画像判定手段は、前記出力画像における前記判定用画像の出現個数又は数値が所定の条件を満たした場合に、前記ゲームプログラムの実行状況が条件を満たしたと判定する
    請求項8に記載の情報処理プログラム。
  12. 前記所定の条件を満たした場合とは、前記出現個数又は前記出力画像に含まれる数値が、先行するマッチングにより取得した出現個数又は数値から所定の変化をした場合である
    請求項11に記載の情報処理プログラム。
  13. 自らとは構成の異なる構成を持つ他の情報処理装置で実行可能なゲームプログラム及び前記ゲームプログラムの所定の実行箇所における実行状況を表す実行状況情報を読み込む読込部と、
    前記実行状況情報を用いて、前記ゲームプログラムを前記所定の実行箇所からエミュレートするエミュレート部と、
    前記エミュレートするゲームプログラムの実行状況を判定する判定部と、
    前記ゲームプログラムの実行状況が予め定めた条件を満たすと判定した場合に、前記エミュレート部の実行状態を変更する変更部と
    を備える情報処理装置。
  14. 自らとは構成の異なる構成を持つ他の情報処理システムで実行可能なゲームプログラム及び前記ゲームプログラムの所定の実行箇所における実行状況を表す実行状況情報を読み込む読込部と、
    前記実行状況情報を用いて、前記ゲームプログラムを前記所定の実行箇所からエミュレートするエミュレート部と、
    前記エミュレートするゲームプログラムの実行状況を判定する判定部と、
    前記ゲームプログラムの実行状況が予め定めた条件を満たすと判定した場合に、前記エミュレート部の実行状態を変更する変更部と
    を備える情報処理システム。
  15. 情報処理装置で実行される情報処理方法であって、
    自らとは構成の異なる構成を持つ他の情報処理装置で実行可能なゲームプログラム及び前記ゲームプログラムの所定の実行箇所における実行状況情報を読み込む読込ステップと、
    前記実行状況情報を用いて、前記ゲームプログラムを前記所定の実行箇所からエミュレートするエミュレートステップと、
    前記ゲームプログラムの実行状況を判定する判定ステップと、
    前記ゲームプログラムの実行状況が予め定めた条件を満たすと判定した場合に、前記ゲームプログラムの実行状態を変更する変更ステップ
    を含む情報処理方法。
JP2013193420A 2013-09-18 2013-09-18 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法 Active JP6470488B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013193420A JP6470488B2 (ja) 2013-09-18 2013-09-18 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
EP20130195632 EP2862605A1 (en) 2013-09-18 2013-12-04 Information processing program, information processing apparatus, information processing system, and information processing method
US14/138,884 US9789389B2 (en) 2013-09-18 2013-12-23 Emulator using analysis of displayed image to determine execution status

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013193420A JP6470488B2 (ja) 2013-09-18 2013-09-18 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2015058135A true JP2015058135A (ja) 2015-03-30
JP6470488B2 JP6470488B2 (ja) 2019-02-13

Family

ID=49765800

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013193420A Active JP6470488B2 (ja) 2013-09-18 2013-09-18 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法

Country Status (3)

Country Link
US (1) US9789389B2 (ja)
EP (1) EP2862605A1 (ja)
JP (1) JP6470488B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6425287B1 (ja) * 2017-10-23 2018-11-21 株式会社mediVR リハビリテーション支援システム、リハビリテーション支援方法およびリハビリテーション支援プログラム
JP2019076703A (ja) * 2017-10-23 2019-05-23 株式会社mediVR リハビリテーション支援システム、リハビリテーション支援方法およびリハビリテーション支援プログラム
JP2022002798A (ja) * 2018-10-12 2022-01-11 株式会社mediVR リハビリテーション支援システム、リハビリテーション支援方法およびリハビリテーション支援プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9358461B2 (en) * 2012-12-26 2016-06-07 Sony Interactive Entertainment America Llc Systems and methods for ranking of cloud executed mini-games based on tag content and social network content

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001340655A (ja) * 2000-03-30 2001-12-11 Nintendo Co Ltd ゲームプログラム配信システムおよびそれに用いる装置
JP2001340640A (ja) * 2000-03-30 2001-12-11 Nintendo Co Ltd ゲーム情報記憶媒体およびそれを用いたゲームシステム
JP2012065831A (ja) * 2010-09-22 2012-04-05 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、プログラム及び情報記憶媒体
JP2012085823A (ja) * 2010-10-19 2012-05-10 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体
JP2013097613A (ja) * 2011-11-01 2013-05-20 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、データ構造、情報処理サーバおよび情報処理端末

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5112051A (en) * 1989-06-05 1992-05-12 Westinghouse Electric Corp. Interfacing device for a computer games system
US6955606B2 (en) * 2000-03-30 2005-10-18 Nintendo Co., Ltd. Game information storage medium and game system using the same
US7841946B2 (en) * 2006-06-29 2010-11-30 Spawn Labs, Inc. System for remote game access
JP5358071B2 (ja) 2007-07-04 2013-12-04 任天堂株式会社 ゲームプログラム、およびゲーム装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001340655A (ja) * 2000-03-30 2001-12-11 Nintendo Co Ltd ゲームプログラム配信システムおよびそれに用いる装置
JP2001340640A (ja) * 2000-03-30 2001-12-11 Nintendo Co Ltd ゲーム情報記憶媒体およびそれを用いたゲームシステム
JP2012065831A (ja) * 2010-09-22 2012-04-05 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、プログラム及び情報記憶媒体
JP2012085823A (ja) * 2010-10-19 2012-05-10 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体
JP2013097613A (ja) * 2011-11-01 2013-05-20 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体、データ構造、情報処理サーバおよび情報処理端末

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6425287B1 (ja) * 2017-10-23 2018-11-21 株式会社mediVR リハビリテーション支援システム、リハビリテーション支援方法およびリハビリテーション支援プログラム
JP2019076703A (ja) * 2017-10-23 2019-05-23 株式会社mediVR リハビリテーション支援システム、リハビリテーション支援方法およびリハビリテーション支援プログラム
JP2019076290A (ja) * 2017-10-23 2019-05-23 株式会社mediVR リハビリテーション支援システム、リハビリテーション支援方法およびリハビリテーション支援プログラム
JP2022002798A (ja) * 2018-10-12 2022-01-11 株式会社mediVR リハビリテーション支援システム、リハビリテーション支援方法およびリハビリテーション支援プログラム
JP7149658B2 (ja) 2018-10-12 2022-10-07 株式会社mediVR リハビリテーション支援システム、リハビリテーション支援方法およびリハビリテーション支援プログラム

Also Published As

Publication number Publication date
US20150080133A1 (en) 2015-03-19
US9789389B2 (en) 2017-10-17
JP6470488B2 (ja) 2019-02-13
EP2862605A1 (en) 2015-04-22

Similar Documents

Publication Publication Date Title
US9522325B2 (en) Storage medium storing a game program, game system, and game control method for displaying a target image in a separate frame
JP4651604B2 (ja) ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP4977248B2 (ja) ゲーム装置及びゲーム制御プログラム
US7927215B2 (en) Storage medium storing a game program, game apparatus and game controlling method
US11093121B2 (en) Game program, computer control method, and information processing apparatus
JP6470488B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
JP2021133171A (ja) ゲームプログラム、ゲーム装置、及びゲーム実行方法
CN113101635A (zh) 虚拟地图的显示方法、装置、电子设备以及可读存储介质
US10898791B2 (en) Game apparatus
JP4856157B2 (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
JP5273900B2 (ja) ゲームプログラム
JP2015058136A (ja) 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
JP2019217291A (ja) プログラム、制御方法および情報処理装置
JP6626876B2 (ja) ゲームプログラム、情報処理装置および方法
JP6170599B1 (ja) プログラム、制御方法および情報処理装置
JP7146052B1 (ja) ゲームシステム、ゲームプログラム及び情報処理方法
JP2020089492A (ja) ゲームプログラム、ゲーム処理方法及びゲーム端末
WO2023063121A1 (ja) コンピュータプログラム、それに用いるゲームシステム、及び制御方法
US11964203B2 (en) Information processing system for displaying a screen and automatically adjusting the screen
US11395967B2 (en) Selective indication of off-screen object presence
JP6557297B2 (ja) プログラム、プレイヤ端末およびサーバシステム
JP5347007B2 (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
JP2022136675A (ja) プログラム
CN116531757A (zh) 游戏的操作控制方法、装置和电子设备
CN116099195A (zh) 一种游戏的显示控制方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181127

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20181204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190118

R150 Certificate of patent or registration of utility model

Ref document number: 6470488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250