説明

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

【課題】新装置のGPUが旧装置のGPUに対して異なる描画手法を用いる場合であっても、旧装置用のソフトウェアを実行して完成度の高い表示画像を生成できる情報処理装置等を提供する。
【解決手段】通常モードは、情報処理方法用の第1アーキテクチャに基づいた処理を実行する処理モードであり、互換モードは、他の情報処理方法用の第2アーキテクチャに基づいた処理を実行する処理モードである。そして、通常モードにおいては、第1アーキテクチャに基づいた処理を実行して得られた第1結果データを、入力されたデータをユーザに対して出力する出力手段に入力し、互換モードにおいては、第2アーキテクチャに基づいた処理を実行して得られた第2結果データを、出力手段への入力に適応する態様で当該出力手段に入力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理装置、情報処理方法及び情報処理システムに関し、より特定的には、先世代の装置用ソフトウェアの実行を可能とする、後世代の装置で実行される情報処理プログラム等に関する。
【背景技術】
【0002】
ゲーム装置に代表される各種の情報処理装置は、ハードウェア性能の進歩等に伴って後継世代の装置(以下、「旧装置」という場合がある)が販売されることがある。この場合、例えば特許文献1に記載の方法によって、後継世代の装置において、先世代の装置(以下、「新装置」という場合がある)用のソフトウェアをも実行できるように互換機能を持たせる場合がある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−314644号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、新装置において、旧装置用のソフトウェアを実行し、その後エミュレーションを行うことによって表示画像を生成している。このことから、上記の従来技術では、表示画像はエミュレーションの完成度に依存する。典型的には、新装置に備えられた表示画像を描画するGPUが、旧装置に備えられたGPUに対して異なる描画手法を用いる設計(アーキテクチャ)である場合、上記の従来技術では、完成度の低い表示画像しか生成できないこととなる。更には、上記描画手法が互いに全く異なる場合、上記の従来技術では、旧装置用のソフトウェアを実行して表示画像を生成することができないこととなる。
【0005】
それ故に、本発明の主たる目的は、新装置に備えられた描画装置(GPU)が、旧装置に備えられた描画装置(GPU)に対して異なる描画手法を用いる設計(アーキテクチャ)である場合であっても、旧装置用のソフトウェアを実行して完成度の高い表示画像を生成できる情報処理装置等を提供することである。
【課題を解決するための手段】
【0006】
本発明は、上述の課題を解決するために、以下の構成を採用した。
【0007】
通常モードと互換モードで処理を実行できる情報処理装置のコンピュータで実行される情報処理プログラムであって、上記コンピュータを、第1処理手段と第2処理手段として機能させる。通常モードは、情報処理装置用の第1アーキテクチャに基づいた処理を実行する処理モードである。互換モードは、第1アーキテクチャとは異なる他の情報処理装置用の第2アーキテクチャに基づいた処理を実行する処理モードである。第1処理手段は、第1アーキテクチャに基づいた処理を実行する。第2処理手段は、第2アーキテクチャに基づいた処理を実行する。通常モードにおいて、第1処理手段は、第1アーキテクチャに基づいた処理を実行して得られた第1結果データを、入力されたデータをユーザに対して出力する出力手段に入力する。互換モードにおいて、第2処理手段は、第2アーキテクチャに基づいた処理を実行して得られた第2結果データを、第1処理手段に入力し、第1処理手段は、第2処理手段から入力された第2結果データを、出力手段への入力に適応する態様で当該出力手段に入力する。
【0008】
これによれば、互換モードにおいて、他の情報処理装置用の第2アーキテクチャに基づいた処理を実行する第2処理手段によって処理を行うので、上記他の情報処理装置によって第2アーキテクチャに基づいた処理を実行して得られる結果データと同じ結果データ(上記の第2結果データ)を得ることができる。そして、この第2結果データを出力手段に適応させて当該出力手段に入力する。このことから、従来の技術の様にエミュレーションを行わないので、その完成度に依存することはない。更には、上記情報処理装置と上記他の情報処理装置との間でアーキテクチャ(設計思想又は処理手法)が大きく異なる場合であっても、他の情報処理装置用のソフトウェア(プログラム)を実行して、ユーザに対して当該他の情報処理装置と実質的に同様の出力を確実に行うことができる。なお、上記の第1処理手段は、後述する実施形態において、一例として、CPU311及びGPU313として説明している。また、上記の第2処理手段は、後述する実施形態において、一例として、CPU312及びGPU314として説明している。
【0009】
また、第1アーキテクチャ及び第2アーキテクチャは、画像を生成するためのアーキテクチャであり、第1結果データ及び第2結果データは画像データであり、出力手段はユーザに対して画像を表示してもよい。
【0010】
これによれば、画像生成処理において、従来の技術とは異なり、エミュレーションの完成度に依存することなく、他の情報処理装置用のソフトウェアを実行して、ユーザに対して当該他の情報処理装置と実質的に同様の画像を確実に出力することができる。
【0011】
また、第1アーキテクチャは、3次元コンピュータグラフィックスによって3次元CG画像を生成するためのアーキテクチャであり、第2アーキテクチャは、2次元コンピュータグラフィックスによって2次元CG画像を生成するためのアーキテクチャであってもよい。
【0012】
これによれば、3次元コンピュータグラフィックスを用いた描画処理を行う上記情報処理装置において、従来の技術とは異なり、エミュレーションの完成度に依存することなく、他の情報処理装置用の2次元コンピュータグラフィックスを用いた描画処理を実現するソフトウェアを実行して、ユーザに対して当該他の情報処理装置と実質的に同様の画像を確実に出力することができる。
【0013】
また、第1処理手段は、第1結果データとして、3次元コンピュータグラフィックスによる3次元CG画像のデータを生成する第1描画手段と、3次元CG画像の内容を決定する演算を行い、第1描画手段に当該決定した内容の3次元CG画像のデータ生成を指示する第1演算手段とを含み、第2処理手段は、第2結果データとして、2次元コンピュータグラフィックスによる2次元CG画像のデータを生成する第2描画手段と、2次元CG画像の内容を決定する演算を行い、第2描画手段に当該決定した内容の2次元CG画像のデータ生成を指示する第2演算手段とを含んでもよい。
【0014】
これによれば、上記情報処理装置は、上記他の情報処理装置と同様の第2演算手段及び第2描画手段を備え、互換モードにおいて、これらによって生成された2次元CG画像データを用いて表示画像を生成する。このことから、ユーザに対して他の情報処理装置と実質的に同様の画像を確実に出力することができる。なお、上記の第1描画手段及び第1演算手段は、後述する実施形態において、一例として、GPU313及びCPU311としてそれぞれ説明している。また、上記の第2描画手段及び第2演算手段は、後述する実施形態において、一例として、GPU314及びCPU312としてそれぞれ説明している。
【0015】
また、第1演算手段が第1描画手段に対して行う3次元CG画像のデータ生成の指示方式と、第2演算手段が第2描画手段に対して行う2次元CG画像のデータ生成の指示方式とは、互いに異なってもよい。
【0016】
上記情報処理装置は、上記他の情報処理装置と同様の第2演算手段及び第2描画手段を備え、互換モードにおいて、これらによって生成された2次元CG画像データを用いて表示画像を生成する。このことから、上記のように指示方式が互いに異なる場合であっても、ユーザに対して他の情報処理装置と実質的に同様の画像を確実に出力することができる。
【0017】
また、互換モードにおいて、第1処理手段は、第2処理手段から入力された第2結果データに対して所定の追加処理を実施し、出力手段への入力に適応する態様で当該出力手段に入力してもよい。
【0018】
これによれば、第2結果データに対して様々な追加的な処理を実施できる。
【0019】
また、所定の追加処理は、第2結果データが示す画像に所定の画像を付加する処理であってもよい。
【0020】
これによれば、互換モードの実行中において、ユーザに対して様々な視覚的情報を提供できる。また、付加する画像に操作ボタンを設けることによって、当該画像をユーザインターフェースとして使用することもできる。この付加される画像の一例として、後に説明する実施形態において、ホーム移行決定画像を挙げている。
【0021】
また、所定の追加処理は、第2結果データが示す画像に所定の画像調整を行う処理であってもよい。
【0022】
これによれば、上記他の情報処理装置では行われていなかった画像調整処理を、互換モードにおいて追加的に実行することができる。この画像調整処理の一例として、後に説明する実施形態において、光過敏性発作を防止するために明るさに関する調整を実施する画像処理を挙げている。
【0023】
また、他の情報処理装置は、情報処理装置と同種の装置であって、当該情報処理装置よりも古い世代の装置であってもよい。
【0024】
これによれば、世代交代が比較的頻繁に行われるタイプの情報処理装置において、古い世代(先世代)の情報処理装置用のソフトウェアを、後継世代の情報処理装置によって確実に実行することができる。
【0025】
前記情報処理装置は、ゲーム装置であってもよい。
【0026】
これによれば、ゲーム装置において、先世代のゲーム装置のソフトウェア(ゲームプログラム)を確実にプレイすることができる。
【0027】
以上では、情報処理プログラムとして本発明を構成する場合について記載した。しかし、本発明は、情報処理装置、情報処理方法、又は情報処理システムとして構成されてもよい。更には、本発明は、上記情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体として構成されてもよい。
【発明の効果】
【0028】
本発明によれば、新装置に備えられた描画装置(GPU)が、旧装置に備えられた描画装置(GPU)に対して異なる描画手法を用いる設計(アーキテクチャ)である場合であっても、旧装置用のソフトウェアを実行して完成度の高い表示画像を生成できる情報処理装置等を提供できる。
【図面の簡単な説明】
【0029】
【図1】ゲーム装置10(新装置)の内部構成例を示すブロック図
【図2】ゲーム装置110(旧装置)の内部構成例を示すブロック図
【図3】ゲーム装置110の情報処理部131によって実行されるゲーム処理のフローチャートの一例
【図4】ゲーム装置10のメインメモリ32のメモリマップの一例を示す図
【図5】ゲーム装置10が実行する、実行対象であるゲームプログラムを通常モード及び互換モードの何れの処理モードで実行するのかを判定する処理を示すフローチャートの一例
【図6】図5のステップS400の通常モードのゲーム処理のフローチャートの一例
【図7】ホーム移行決定画像の一例を示す図
【図8】図5のステップS500の互換モードのゲーム処理のフローチャートの一例
【発明を実施するための形態】
【0030】
(一実施形態)
以下、本発明の一実施形態に係る情報処理装置であるゲーム装置について説明する。なお、本発明は、このような装置に限定されるものではなく、このような装置の機能を実現する情報処理システムであってもよく、このような装置における情報処理方法であってもよく、このような装置において実行される情報処理プログラムであってもよい。更には、本発明は、この情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体であってもよい。
【0031】
(本実施形態のゲーム装置10の構成)
以下、本発明の一実施形態に係るゲーム装置10(以下、「新装置」という場合がある)の構成について説明する。ゲーム装置10は、交換可能なメモリカード内に記憶され、又は、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などの3次元コンピュータグラフィックス(3DCG)により生成された画像を画面に表示することができる。また、ゲーム装置10は、図2等を用いて後述するゲーム装置110(以下、「旧装置」という場合がある)用のゲームプログラムをも実行することができる。
【0032】
図1は、ゲーム装置10の構成を示す図である。図1に示すように、ゲーム装置10は、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用内部メモリ35、通信モジュール36、電源回路40、操作部14、下側LCD(Liquid Crystal Display:液晶表示装置)12、上側LCD22、インターフェイス回路(I/F回路)41、タッチパネル13、およびスピーカ43を備えている。
【0033】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用内部メモリ35、通信モジュール36、電源回路40、操作部14、下側LCD12、上側LCD22、およびインターフェイス回路41が接続される。外部メモリI/F33には、後述する外部メモリ44(又は144)が着脱自在に接続される。インターフェイス回路41には、タッチパネル13が接続され、図示しないアンプを介してスピーカ43が接続される。
【0034】
情報処理部31は、CPU(Central Processing Unit)311、CPU312、GPU(Graphics Processing Unit)313、GPU314、およびVRAM(Video RAM)315を含む情報処理手段である。
【0035】
CPU311は、ゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ44やデータ保存用内部メモリ35)に記憶されているゲーム装置10(新装置)用に開発されたゲームプログラム(以下、「新装置用ゲームプログラム」という場合がある)を実行することによって、当該プログラムに応じた処理を実行する。CPU312は、ゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ144やデータ保存用内部メモリ35)に記憶されているゲーム装置110(旧装置)用に開発されたゲームプログラム(以下、「旧装置用ゲームプログラム」という場合がある)を実行することによって、当該プログラムに応じた処理を実行する。図2を用いて後述するが、CPU312は、ゲーム装置110(旧装置)に備えられているCPU312と同一である。なお、新装置用ゲームプログラム及び旧装置用ゲームプログラムは、他の機器との通信によって他の機器から取得されてもよい。
【0036】
GPU313は、3次元コンピュータグラフィックス(3DCG)を用いた描画処理を実行する専用回路構造から成る3DCG描画ユニットであり、CPU311の命令に基づいて画像を生成する。GPU314は、2次元コンピュータグラフィックス(2DCG)を用いた描画処理を実行する専用回路構造から成る2DCG描画ユニットであり、CPU312の命令に基づいて画像を生成する。また、3次元コンピュータグラフィックスと2次元コンピュータグラフィックスとはその描画手法が互いに大きく異なるため、CPU311がGPU313に対して行う描画指示の方式と、CPU312がGPU314に対して行う描画指示の方式とは、互いに大きく異なる。つまり、GPU313(又はGPU313の処理)のアーキテクチャとGPU314(又はGPU314の処理)のアーキテクチャとは互いに異なるため、GPU313に対する指示の方式とGPU314に対する指示の方式とは、互いに全く異なる。一例としては、GPU313は、描画される3Dオブジェクトの頂点の情報と、当該3Dオブジェクトを(仮想的に)撮影する仮想カメラの情報とを用いて、当該3Dオブジェクトを仮想カメラで撮影して描画する画像を生成する一方で、GPU314は、2D画像を組み合わせることによって描画する画像を生成する。なお、図2を用いて後述するが、GPU314は、ゲーム装置110(旧装置)に備えられているGPU314と同一である。
【0037】
VRAM315は、GPU313が生成した画像をフレーム単位でバッファリングするフレームバッファであり、当該画像が描画される。なお、VRAM315に描画された画像は、GPU313によって上側LCD22及び下側LCD12に出力され、上側LCD22及び下側LCD12に表示される。
【0038】
メインメモリ32は、情報処理部31(CPU311及びCPU312)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、CPU311又はCPU312に実行されるプログラムに基づく処理に用いられる各種データを一時的に記憶する揮発性の記憶手段である。本実施形態では、メインメモリ32として、例えばPSRAM(Pseudo−SRAM)を用いる。
【0039】
外部メモリ44は、情報処理部31によって実行される新装置用ゲームプログラムを記憶するための不揮発性の記憶手段である。外部メモリ144は、情報処理部31によって実行される旧装置用ゲームプログラムを記憶するための不揮発性の記憶手段である。図2を用いて後述するゲーム装置110(旧装置)に外部メモリ144が装着されることによって、ゲーム装置110は、外部メモリ144に記憶された旧装置用ゲームプログラムを実行できる。外部メモリ44及び144は、例えば読み取り専用の半導体メモリで構成される。外部メモリ44又は144が外部メモリI/F33に接続されると、情報処理部31は外部メモリ44又は144に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。
【0040】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、通信モジュール36を介した無線通信によってダウンロードされたデータやゲームプログラム(新装置用ゲームプログラム及び旧装置用ゲームプログラム)が格納される。
【0041】
通信モジュール36は、例えばIEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、通信モジュール36は、所定の通信方式(例えば独自プロトコルによる通信や、赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。情報処理部31は、通信モジュール36を用いて、インターネットを介して他の機器との間でデータを送受信したり、同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0042】
電源回路40は、ゲーム装置10が有する電源(例えば、図示しない充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0043】
スピーカ43は、アンプによって増幅されたI/F回路41からの音声信号を、音声としてスピーカ43から出力する。
【0044】
タッチパネル13は、下側LCD12の画面上に装着されている。なお、本実施形態では、タッチパネル13は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度が一致している必要はない。なお、タッチパネル13に対する操作は、通常、タッチペン(図示なし)を用いて行われるが、タッチペンに限らずユーザの指等を用いて行われてもよい。
【0045】
I/F回路41は、スピーカ43(アンプ)の制御を行う音声制御回路と、タッチパネル13の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われた位置を知ることができる。
【0046】
操作部14は、各種操作ボタン(図示なし)、及び、方向を指示するためのデバイスであるアナログスティック(図示なし)から成る。操作部14は、この各種操作ボタンに対する入力状況(押下されたか否か)を示す操作データを、情報処理部31に出力する。情報処理部31は、操作部14から上記操作データを取得することによって、各種操作ボタンに対する入力に従った処理を実行する。なお、この各種操作ボタンには、図6及び図8で説明する「ホームボタン」が含まれる。また、操作部14は、アナログスティックに対するアナログ入力(操作方向及び操作量)を示す操作データを、情報処理部31に出力する。情報処理部31は、操作部14から上記操作データを取得することによって、アナログスティックに対する入力に従った処理を実行する。
【0047】
上側LCD22は、立体視可能な画像(立体視画像)を表示することが可能な表示装置であり、その画素数は本実施形態では800dot×240dot(横×縦)である。上側LCD22には、実質的に同一の表示領域を用いて、相互間で視差を有する左目用画像と右目用画像が表示される。具体的には、上側LCD22は、左目用画像と右目用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置であって、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像を視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右目にも左目にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。なお、上側LCD22は、左目用画像と右目用画像とが時分割で交互に表示される方式の表示装置であってもよい。また、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが用いられてもよい。
【0048】
上側LCD22は、情報処理部31(のGPU313)の指示に従って画像を表示する。具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM315に格納された右目用画像と左目用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右目用画像について縦方向に1ライン分の画素データを読み出す処理と、左目用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM315から右目用画像と左目用画像とを読み出す。これにより、右目用画像および左目用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右目用画像の短冊状画像と左目用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右目に右目用画像が、ユーザの左目に左目用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
【0049】
下側LCD12は、上側LCD22とは異なり画像を(立体視ではなく)平面的に表示する表示装置であり、その画素数は本実施形態では320dot×240dot(横×縦)である。下側LCD12は、情報処理部31(のGPU313)の指示に従って画像を表示する。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。
【0050】
(旧装置の構成)
次に、ゲーム装置110(旧装置)の構成について説明する。ゲーム装置110は、上記したゲーム装置10(新装置)と同種の先世代(古い世代)の装置である。ゲーム装置110は、交換可能なメモリカード内に記憶され、又は、サーバや他のゲーム装置から受信したゲームプログラムを実行可能であり、予め記憶している画像などを用いて2次元コンピュータグラフィックス(2DCG)により生成された画像を画面に表示することができる。以下では、ゲーム装置10に対して異なる点を中心に説明する。
【0051】
図2は、ゲーム装置110の構成を示す図である。図2に示すように、ゲーム装置110は、情報処理部131、メインメモリ132、外部メモリインターフェイス(外部メモリI/F)133、データ保存用内部メモリ135、通信モジュール136、電源回路140、操作部114、下側LCD112、上側LCD122、インターフェイス回路(I/F回路)141、タッチパネル113、およびスピーカ143を備えている。
【0052】
情報処理部131には、メインメモリ132、外部メモリI/F133、データ保存用内部メモリ135、通信モジュール136、電源回路140、操作部114、下側LCD112、上側LCD122、およびインターフェイス回路141が接続される。外部メモリI/F133には、外部メモリ144が着脱自在に接続される。インターフェイス回路141には、タッチパネル113が接続され、図示しないアンプを介してスピーカ143が接続される。
【0053】
情報処理部131は、CPU312とGPU314を含む情報処理手段である。
【0054】
CPU312は、ゲーム装置110内のメモリ(例えば外部メモリI/F133に接続された外部メモリ144やデータ保存用内部メモリ135)に記憶されているゲーム装置110(旧装置)用に開発された旧装置用ゲームプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、既に説明したが、CPU312は、ゲーム装置10(新装置)に備えられているCPU312と同一である。
【0055】
GPU314は、2次元コンピュータグラフィックス(2DCG)を用いた描画処理ユニットであり、CPU312の命令に基づいて画像を生成する。なお、既に説明したが、GPU314は、ゲーム装置10(新装置)に備えられているGPU314と同一である。
【0056】
メインメモリ132は、情報処理部131(CPU312)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。
【0057】
外部メモリ144は、情報処理部131によって実行される旧装置用ゲームプログラムを記憶するための不揮発性の記憶手段である。外部メモリ144が外部メモリI/F133に接続されると、情報処理部131は外部メモリ144に記憶されたプログラム(旧装置用プログラム)を読み込むことができる。情報処理部131が読み込んだプログラムを実行することにより、所定の処理が行われる。
【0058】
データ保存用内部メモリ135は、読み書き可能な不揮発性メモリで構成され、所定のデータを格納するために用いられる。
【0059】
通信モジュール136は、無線LANに接続する機能、及び所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。情報処理部131は、通信モジュール136を用いて、インターネットを介して他の機器との間でデータを送受信したり、同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0060】
電源回路140は、ゲーム装置110が有する電源(図示なし)からの電力を制御し、ゲーム装置110の各部品に電力を供給する。
【0061】
スピーカ143は、アンプによって増幅されたI/F回路141からの音声信号を音声として出力する。
【0062】
タッチパネル113は、下側LCD112の画面上に装着されている。なお、本実施形態では、タッチパネル113は抵抗膜方式のタッチパネルである。
【0063】
I/F回路141は、スピーカ143(アンプ)の制御を行う音声制御回路と、タッチパネル113の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル113からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部131に出力する。情報処理部131は、タッチ位置データを取得することにより、タッチパネル113に対して入力が行われた位置を知ることができる。
【0064】
操作部114は、各種操作ボタン(図示なし)から成る。操作部114は、この各種操作ボタンに対する入力状況(押下されたか否か)を示す操作データを、情報処理部131に出力する。情報処理部131は、操作部114から上記操作データを取得することによって、各種操作ボタンに対する入力に従った処理を実行する。
【0065】
上側LCD122は、立体視画像ではない平面的な画像を表示する表示装置(つまり、立体視画像を表示できない表示装置)であり、その画素数は本実施形態では640dot×200dot(横×縦)である。上側LCD122は、情報処理部131(のGPU314)の指示に従って画像を表示する。
【0066】
下側LCD112は、上側LCD122と同様に、立体視画像ではない平面的な画像を表示する表示装置であり、その画素数は本実施形態では256dot×192dot(横×縦)である。下側LCD112は、情報処理部131(のGPU314)の指示に従って画像を表示する。
【0067】
(旧装置の処理フロー)
【0068】
次に、図3を参照して、ゲーム装置110(旧装置)によって実行されるゲーム処理について説明する。ゲーム装置110の電源が投入されると、ゲーム装置110のCPU312は、データ保存用内部メモリ135等に記憶されている起動プログラムを実行し、これによってメインメモリ132等の各ユニットが初期化される。そして、外部メモリ144に記憶された旧装置用ゲームプログラムがメインメモリ132に読み込まれ、CPU312によって旧装置用ゲームプログラムが実行される。
【0069】
図3は、情報処理部131によって実行されるゲーム処理のフローチャートの一例である。図3のフローチャートで示す処理は、1フレーム(例えば1/60秒)毎に繰り返し実行される。
【0070】
まず、ステップS1において、CPU312は、メインメモリ132に読み込まれた旧装置用ゲームプログラムを実行することによって、ゲーム処理を実行する。具体的には、CPU312は、操作部114及びタッチパネル113に対して行われたユーザの操作内容に従ってゲーム処理を実行し、ゲームを進行させる。その後、処理はステップS2に移る。
【0071】
ステップS2において、CPU312は、ステップS1において進行させたゲームの状態を表す画像の描画指示を、GPU314に対して行う。以下、具体的に説明する。メインメモリ132には、2次元コンピュータグラフィックス(2DCG)画像を生成するために使用される各オブジェクト(例えば、背景オブジェクト、ユーザオブジェクト、敵オブジェクト)の画像データが、外部メモリ144から予め読まれている。CPU312は、これらのオブジェクトを、どの様な組み合わせで使用するのか、又、どの様な位置関係(前後関係も含む位置関係)で使用するのか等を指示する描画指示情報を、メインメモリ132に書き込む。その後、処理はステップS3に移る。
【0072】
ステップS3において、GPU314は、2次元コンピュータグラフィックスによる描画処理を行う。具体的には、GPU314は、ステップS2においてメインメモリ132に書き込まれた描画指示情報に従って、2次元コンピュータグラフィックスによる描画処理を行って、1フレーム分の2DCG画像データを生成する。その後、処理はステップS4に移る。
【0073】
ステップS4において、GPU314は、ステップS3で生成した2DCG画像データを、上側LCD122及び下側LCD112に出力する。なお、ステップS4における2DCG画像データの出力は、フレームを構成するライン単位で順次実行される。その後、処理はステップS1に戻る。
【0074】
以上のように、ステップS1〜S4の処理が繰り返されることによって、ゲーム装置110(旧装置)において、ゲームが進行し、それに応じた2次元コンピュータグラフィックス画像が上側LCD122及び下側LCD112に表示されることとなる。
【0075】
(ゲーム装置10(新装置)の処理フロー)
次に、図4〜図8を参照して、ゲーム装置10(新装置)によって実行されるゲーム処理について説明する。なお、以下では、本発明とは直接関連しない処理についての説明は原則として省略する。
(メモリマップ)
まず、ゲーム処理の際にメインメモリ32に記憶されるデータについて説明する。図4は、ゲーム装置10のメインメモリ32のメモリマップの一例を示す図である。図4に示すように、メインメモリ32は、プログラム記憶領域400およびデータ記憶領域500を含む。プログラム記憶領域400およびデータ記憶領域500のデータの一部は、外部メモリ44、外部メモリ144、又はデータ保存用内部メモリ35に記憶されており、ゲーム処理の実行時にはメインメモリ32に読み込まれて記憶される。
【0076】
プログラム記憶領域400には、ゲームプログラム401、新装置用描画プログラム402、旧装置用描画プログラム403、付加処理プログラム404、ベースプログラム405等のプログラムが記憶される。
【0077】
ゲームプログラム401は、ゲーム処理を実行するプログラムである。ゲーム装置10が新装置用ゲームプログラムを実行する際には、この新装置用ゲームプログラムがゲームプログラム401としてプログラム記憶領域400に記憶され、ゲーム装置10が旧装置用ゲームプログラムを実行する際には、この旧装置用ゲームプログラムがゲームプログラム401としてプログラム記憶領域400に記憶される。
【0078】
新装置用描画プログラム402は、3次元コンピュータグラフィックスによる描画処理を実現するプログラムであり、オブジェクトが配置された仮想3次元空間を仮想カメラで撮影して3次元画像を生成するためのプログラムである。また、新装置用描画プログラム402は、ユーザの左目に見せるための左目用画像を撮影する左目用仮想カメラとユーザの右目に見せるための右目用画像を撮影する右目用仮想カメラとして上記仮想カメラを機能させて、両画像間に視差を有する立体視画像を生成することもできる。
【0079】
旧装置用描画プログラム403は、2次元コンピュータグラフィックスによる描画処理を実現するプログラムであり、各種オブジェクトの2次元画像を重ね合わせて2次元画像を生成するためのプログラムである。
【0080】
付加処理プログラム404は、後述する図8のステップS504、S506の処理を実現するためのプログラムである。
【0081】
ベースプログラム405は、図5を用いて後述するゲーム処理モードを決定する処理等を実現するプログラムである。
【0082】
データ記憶領域500には、旧装置用ゲームプログラム判定リスト501、操作データ502、3DCG用オブジェクトデータ503、2DCG用オブジェクトデータ504等が記憶される。
【0083】
旧装置用ゲームプログラム判定リスト501は、ゲーム装置10が実行できる旧装置用ゲームプログラムに含まれるゲームヘッダのリストである。なお、ゲームヘッダは、ゲームプログラムを識別するための情報である。
【0084】
操作データ502は、操作部14及びタッチパネル13に対して行われたユーザの操作内容を示すデータである。
【0085】
3DCG用オブジェクトデータ503は、3次元コンピュータグラフィックスによって表示画像を生成するために仮想3次元空間に配置される各種オブジェクトに関するデータであり、各種オブジェクトの位置、向き、形状(ポリゴン形状)、及び色彩(テクスチャ)等を示すデータである。
【0086】
2DCG用オブジェクトデータ504は、2次元コンピュータグラフィックスによって表示画像を生成するために用いられる各種オブジェクトを表す2次元画像のデータである。
【0087】
(ゲーム処理のモード決定)
以下では、ゲーム装置10が新装置用ゲームプログラムを実行するゲーム処理モードを「通常モード」と呼び、ゲーム装置10が旧装置用ゲームプログラムを実行するゲーム処理モードを「互換モード」と呼ぶ。通常モードでは、新装置用のゲームに関する画像が上側LCD22及び下側LCD12に表示され、又、新装置用のゲームに関する音声がスピーカ43から出力される。互換モードでは、旧装置用のゲームに関する画像が上側LCD22及び下側LCD12に表示され、又、旧装置用のゲームに関する音声がスピーカ43から出力される。
【0088】
図5は、ゲーム装置10が実行する、実行対象であるゲームプログラムを通常モード及び互換モードの何れの処理モードで実行するのかを判定する処理の一例を示すフローチャートである。以下では、この判定する処理について説明する。
【0089】
ゲーム装置10の電源が投入されると、ゲーム装置10のCPU311は、データ保存用内部メモリ35等に記憶されている起動プログラムを実行し、これによってメインメモリ32等の各ユニットが初期化される。そして、CPU311は、ベースプログラム405を実行して以下のゲーム処理のモードを決定する処理を行う。
【0090】
まず、ステップS100において、CPU311は、ゲームの実行指示が有ったか否かを判定する。具体的には、CPU311は、外部メモリI/F33に、新装置用ゲームプログラムが記憶されている外部メモリ44又は旧装置用ゲームプログラムが記憶されている外部メモリ144が装着されたか否かを判定し、装着されたと判定された場合(ステップS100でYES)処理をステップS200に進める。また、CPU311は、データ保存用内部メモリ35に記憶されているゲームプログラム(新装置用ゲームプログラム又は旧装置用ゲームプログラム)のうちの何れかが、実行対象として選択されたか否かを判定し、選択されたと判定された場合(ステップS100でYES)処理をステップS200に進める。
【0091】
ステップS200において、CPU311は、外部メモリI/F33に装着された外部メモリ(44又は144)に記憶されているゲームプログラムを、メインメモリ32に読み込む。ここで、上記ゲームプログラム(新装置用ゲームプログラム又は旧装置用ゲームプログラム)には、そのゲームプログラムの識別情報であるゲームヘッダが含まれている。その後、処理はステップS300に移る。
【0092】
ステップS300において、CPU311は、ステップS200でメインメモリ32に読み込んだゲームプログラム(401)が、互換モードで実行する必要のあるプログラムであるか否かを判定する。具体的には、CPU311は、ステップS200で読み込んだゲームプログラムに含まれているゲームヘッダが、メインメモリ32の旧装置用ゲームプログラム判定リスト501に記載されたゲームヘッダの何れかと一致するか否かを判定する。ステップS300での判定がYESの場合、処理はステップS500に移り、この判定がNOの場合、処理はステップS400に移る。
【0093】
ステップS400において、図6を用いて後述する通常モードのゲーム処理がされ、新装置用ゲームプログラムによるゲームが実行され、ユーザは新装置用のゲームをプレイできる。
【0094】
ステップS500において、図8を用いて後述する互換モードのゲーム処理がされ、旧装置用ゲームプログラムによるゲームが実行され、ユーザは旧装置用のゲームをプレイできる。
【0095】
(通常モードのゲーム処理)
以下では、図6を参照して、図5のステップS400の通常モードのゲーム処理について説明する。図6は、図5のステップS400の通常モードのゲーム処理のフローチャートの一例である。図6のフローチャートで示す処理は、1フレーム(例えば1/60秒)毎に繰り返し実行される。
【0096】
まず、ステップS401において、CPU311は、メインメモリ32に読み込まれた新装置用ゲームプログラムを実行することによって、ゲーム処理を実行する。具体的には、CPU311は、操作データ502を参照して操作部14及びタッチパネル13に対して行われたユーザの操作内容を判定し、当該操作内容に従ってゲーム処理を実行し、ゲームを進行させる。その後、処理はステップS402に移る。
【0097】
ステップS402において、CPU311は、ステップS401で進行させたゲームの内容に応じて、仮想3次元空間において各種オブジェクトを形成する。具体的には、CPU311は、3DCG用オブジェクトデータ503を用いて、仮想3次元空間において、ゲームの進行に対応させて各種オブジェクトを形成する。その後、処理はステップS403に移る。
【0098】
ステップS403において、CPU311は、ホーム移行決定画像を下側LCD12に表示する必要があるか否かを判定する。図7は、ホーム移行決定画像の一例を示す図である。図7に示すように、ホーム移行決定画像は、ホームメニュー(例えば、ゲーム装置10が実行可能なプログラムを選択等できるメニュー)に移行するか否かをユーザに判断させる画像である。ホーム移行決定画像の「OK」が選択されるとホームメニューに移行することとなって実行中のゲームは終了し、ホーム移行決定画像の「キャンセル」が選択されると実行中のゲームは終了せず継続することとなる。具体的には、ステップS403において、CPU311は、操作部14を構成するホームボタン(図示なし)がユーザによって押下されたことによってホーム移行決定画像の表示が必要となった場合、又は、既に表示されているホーム移行決定画像の表示終了が決定されるまで(つまり、上記「キャンセル」が選択されるまで)は、ホーム移行決定画像を下側LCD12に表示する必要があると判定する。なお、上記「OK」が選択された場合、図6のゲーム処理(図5のステップS400の処理)自体が終了して、ホームメニューに移行する。ステップS403での判定がYESの場合、処理はステップS405に移り、この判定がNOの場合、処理はステップS404に移る。
【0099】
ステップS404において、CPU311は、GPU313に対して、ステップS402で各種オブジェクトを形成した仮想3次元空間を仮想カメラで撮像して描画する指示を行う。ここで、この指示には、ホーム移行決定画像を表示する指示が含められない。その後、処理はステップS406に移る。
【0100】
ステップS405において、CPU311は、GPU313に対して、ステップS402で各種オブジェクトを形成した仮想3次元空間を仮想カメラで撮像して描画する指示を行う。ここで、この指示には、ホーム移行決定画像を表示する指示は含められる。その後、処理はステップS406に移る。
【0101】
ステップS406において、GPU313は、ステップS404又はS405で行われた指示に応じて、新装置用描画プログラム402を用いて、ステップS402で各種オブジェクトが形成された仮想3次元空間を仮想カメラで撮像する描画処理を行って、上側LCD22及び下側LCD12に表示される画像を生成する。以下、具体的に説明する。ステップS404に続いてステップS406の処理が実行される場合、CPU311は、ステップS402で各種オブジェクトが形成された仮想3次元空間を仮想カメラで撮像する描画処理を行って、ホーム移行決定画像の無い上側LCD22及び下側LCD12用の画像を生成する。ステップS405に続いてステップS406の処理が実行される場合、CPU311は、ステップS402で各種オブジェクトが形成された仮想3次元空間を仮想カメラで撮像する描画処理を行って、ホーム移行決定画像の無い上側LCD22用の画像を生成する。また、ステップS405に続いてステップS406の処理が実行される場合、CPU311は、ステップS402で各種オブジェクトが形成された仮想3次元空間を仮想カメラで撮像し、撮像した画像にホーム移行決定画像を付加してホーム移行決定画像の有る下側LCD12用の画像を生成する。その後、処理はステップS407に移る。なお、上側LCD22が立体視表示を実行する設定のゲームプログラムが実行される場合、ステップS406においてGPU313は、上側LCD22用の立体視画像を生成する際には、左目用画像を撮像する仮想左カメラ及び右目用画像を撮像する仮想右カメラとして上記仮想カメラを機能させて(つまり、仮想ステレオカメラとして機能させて)仮想3次元空間を撮像する。
【0102】
ステップS407において、GPU313は、ステップS406で描画された画像を、VRAM315に書き込む(バッファリングする)。具体的には、GPU313は、ステップS406で描画された画像のうち上側LCD22に表示される1フレーム分の画像をVRAM315の所定領域に書き込み、ステップS406で描画された画像のうち下側LCD12に表示される1フレーム分の画像をVRAM315の所定領域に書き込む。その後、処理はステップS408に移る。なお、上側LCD22に表示される画像が左目用画像及び右目用画像から成る立体視画像である場合、VRAM315には、1フレーム分の立体視画像を構成する左目用画像及び右目用画像が書き込まれる。
【0103】
ステップS408において、GPU313は、ステップS407でVRAM315に書き込まれた画像(画像データ)を、上側LCD22及び下側LCD12に出力する。この結果として、上側LCD22及び下側LCD12に、新装置用ゲームプログラムによるゲーム画像が表示されることとなる。その後、処理はステップS401に戻り、ゲームが終了されるまでステップS401〜S408の処理が繰り返されることとなる。
【0104】
(互換モードのゲーム処理)
以下では、図8を参照して、図5のステップS500の互換モードのゲーム処理について説明する。図8は、図5のステップS500の互換モードのゲーム処理のフローチャートの一例である。図8のフローチャートで示す処理は、1フレーム(例えば1/60秒)毎に繰り返し実行される。
【0105】
まず、ステップS501において、CPU312は、メインメモリ32のゲームプログラム401(旧装置用ゲームプログラム)を実行することによって、ゲーム処理を実行する。具体的には、CPU312は、操作部14及びタッチパネル13に対して行われたユーザの操作内容に従ってゲーム処理を実行し、ゲームを進行させる。ここで、ステップS501においてゲーム装置10のCPU312が行う処理は、図3のステップS1においてゲーム装置110(旧装置)のCPU312が行う処理と同一である。その後、処理はステップS502に移る。
【0106】
ステップS502において、CPU312は、ステップS501において進行させたゲームの状態を表す画像の描画指示を、GPU314に対して行う。以下、具体的に説明する。CPU312は、2次元コンピュータグラフィックス画像を生成する際に、オブジェクトを、どの様な組み合わせで使用するのか、又、どの様な位置関係(前後関係も含む位置関係)で使用するのか等を指示する描画指示情報を、メインメモリ32に書き込む。ここで、ステップS502においてゲーム装置10のCPU312が行う処理は、図3のステップS2においてゲーム装置110のCPU312が行う処理と同一である。その後、処理はステップS503に移る。
【0107】
ステップS503において、GPU314は、旧装置用描画プログラム403を用いて、2次元コンピュータグラフィックスによる描画処理を行う。具体的には、GPU314は、ステップS502においてメインメモリ32に書き込まれた描画指示情報に従って、2DCG用オブジェクトデータ504を用いて2次元コンピュータグラフィックスによる描画処理を行って、上側LCD22及び下側LCD12に表示する1フレーム分の2DCG画像データをそれぞれ生成する。ここで、ステップS503においてゲーム装置10のGPU314が行う処理は、図3のステップS3においてゲーム装置110のGPU314が行う処理と同一である。その後、処理はステップS504に移る。
【0108】
ステップS504において、CPU311は、付加処理グログラム404を用いて、ステップS503で生成された2DCG画像データに対して所定の画像処理を行う。本実施形態では、CPU311は、ステップS503で生成された画像データに対して、ゲーム装置110の上側LCD122及び下側LCD112に出力するための解像度からゲーム装置10の上側LCD22及び下側LCD12に出力するための解像度に変換する画像処理(解像度変換処理)を行う。また、本実施形態では、CPU311は、光過敏性発作を防止するために明るさに関する調整を実施する画像処理(フィルタリング)を行う。その後、処理はステップS505に移る。
【0109】
ステップS505において、CPU311は、ホーム移行決定画像(図7参照)を下側LCD12に表示する必要があるか否かを判定する。具体的には、ステップS505において、図6のステップS403と同様に、CPU311は、操作部14を構成するホームボタン(図示なし)がユーザによって押下されたことによってホーム移行決定画像の表示が必要となった場合、又は、既に表示されているホーム移行決定画像の表示終了が決定されるまで(つまり、上記「キャンセル」が選択されるまで)は、ホーム移行決定画像を下側LCD12に表示する必要があると判定する。なお、上記「OK」が選択された場合、図8のゲーム処理(図5のステップS500の処理)自体が終了して、ホームメニューに移行する。ステップS505での判定がYESの場合、処理はステップS506に移り、この判定がNOの場合、処理はステップS507に移る。
【0110】
ステップS506において、CPU311は、ステップS504で所定の画像処理が施された2つの2DCG画像のうち下側LCD12に表示される画像上にホーム移行決定画像を重畳する処理を行う。その後、処理はステップS507に移る。
【0111】
ステップS507において、CPU311は、GPU313に対して描画指示を行う。以下、具体的に説明する。ステップS505に続いてステップS507の処理が行われる場合、CPU311は、GPU313に対して、ステップS504で生成(処理)された2つの2DCG画像を仮想3次元空間にテクスチャとしてそれぞれ配置し(ポリゴンに貼付け)この配置されたテクスチャを仮想カメラで正射影によってそれぞれ撮像することによって、上側LCD22及び下側LCD12に表示する画像をそれぞれ描画するよう指示を行う。一方、ステップS506に続いてステップS507の処理が行われる場合、CPU311は、GPU313に対して、ステップS506で生成(処理)された下側LCD12に表示する2DCG画像(ホーム移行決定画像が重畳された画像)を仮想3次元空間にテクスチャとして配置し(ポリゴンに貼付け)この配置されたテクスチャを仮想カメラで正射影によって撮像することによって下側LCD12に表示する画像を描画するよう指示を行う。また、ステップS506に続いてステップS507の処理が行われる場合、CPU311は、GPU313に対して、ステップS506で生成(処理)された上側LCD22に表示する2DCG画像(ホーム移行決定画像が重畳されていない画像)を仮想3次元空間にテクスチャとして配置し(ポリゴンに貼付け)この配置されたテクスチャを仮想カメラで正射影によって撮像することによって上側LCD22に表示する画像を描画するよう指示を行う。その後、処理はステップS508に移る。
【0112】
ステップS508において、GPU313は、新装置用描画プログラム402を用いて、ステップS507で行われたCPU311からの指示に従って、上側LCD22及び下側LCD12に表示する2DCG画像を、3次元コンピュータグラフィックスによってそれぞれ描画する。その後、処理はステップS509に移る。なお、ステップS507で説明したように、ステップS508における3DCGによる描画処理は、2DCG画像であるテクスチャを仮想カメラで正射影によって撮像する処理である。このことから、テップS508において描画される画像は、2次元コンピュータグラフィックスによって描画される画像と実質的に同じである。この結果として、上側LCD22には立体視表示することはできない。
【0113】
ステップS509において、GPU313は、ステップS508で描画された画像を、VRAM315に書き込む(バッファリングする)。具体的には、GPU313は、ステップS508で描画された画像のうち上側LCD22に表示される1フレーム分の画像をVRAM315の所定領域に書き込み、ステップS508で描画された画像のうち下側LCD12に表示される1フレーム分の画像をVRAM315の所定領域に書き込む。その後、処理はステップS510に移る。
【0114】
ステップS510において、GPU313は、ステップS509でVRAM315に書き込まれた画像(画像データ)を、上側LCD22及び下側LCD12に出力する。この結果として、上側LCD22及び下側LCD12に、旧装置用ゲームプログラムによるゲーム画像が表示されることとなる。その後、処理はステップS501に戻り、ゲームが終了されるまでステップS501〜S510の処理が繰り返されることとなる。
【0115】
以上に説明したように、本実施形態では、実行対象のゲームプログラムが新装置用ゲームプログラムか旧装置用ゲームプログラムかを判定し、新装置用ゲームプログラムである場合には通常モードでゲーム処理を行い、旧装置用ゲームプログラムである場合には互換モードでゲーム処理を行う(図5参照)。そして互換モードでゲーム処理を行う場合には、旧装置(ゲーム装置110)のCPU(312)と同様のCPU(312)を用いて旧装置用ゲームプログラムを実行し、旧装置のGPU(314)と同様のGPU(314)を用いて旧装置用のゲーム画像(2DCG画像)を一旦生成する(図8のS501〜S503)。その後、通常モード(図6参照)においてゲーム処理等を実行するCPU311によって旧装置用のゲーム画像に対して様々な付加処理を行い(S504〜S506)、通常モードにおいて描画処理を実行するGPU313によって上記付加処理を行った画像を対象として描画処理を行って(S507、S508)、上側LCD22及び下側LCD12に表示させる画像を生成する。
【0116】
このことから、本実施形態によれば、従来技術のようにエミュレーションを行って処理結果である画像を得るのではなく、従来(旧装置)と同じアーキテクチャ上で処理結果である表示画像を生成し、生成した画像を利用するので、旧装置用ゲームプログラムを実行した場合に表示画像がエミュレーションの完成度に依存することはない。この結果として、本実施形態によれば、ゲーム装置10(新装置)に備えられた描画装置(GPU313)が、ゲーム装置110(旧装置)に備えられた描画装置(GPU314)に対して異なる描画手法を用いる設計である場合であっても、旧装置用のソフトウェアを実行して完成度の高い表示画像を生成することができる。
【0117】
(変形例)
なお、上記の本実施形態では、ゲーム装置110はゲーム装置10と同種の先世代の装置として説明した。しかし、ゲーム装置110は、ゲーム装置10とは別種のゲーム装置であってもよい。
【0118】
また、上記の本実施形態では、ゲーム装置10で3DCG描画ユニットが採用され、ゲーム装置110で2DCG描画ユニットが採用されているものとして説明した。しかし、例えば、ゲーム装置10の描画ユニットがベクター形式の画像を描画するためのユニットで、ゲーム装置110の描画ユニットがラスタ形式の画像を描画するためのユニットであるような場合にも、本発明は適用可能である。
【0119】
また、上記の本実施形態では、ゲーム装置110はゲーム装置10におけるアーキテクチャと互換性のないアーキテクチャ(2DCG描画ユニット)のみを備えるものとして説明した。しかし、ゲーム装置110がゲーム装置10におけるアーキテクチャと互換性を有するアーキテクチャ(3DCG描画ユニット)をさらに備えていたとしても、本発明は有効である。つまり、ゲーム装置10側でゲーム装置110との間の互換を実現するためには、結局互換性のないアーキテクチャ(2DCG描画ユニット)との互換性を確保する必要があるためである。
【0120】
また、上記の本実施形態では、通常モード及び互換モードにおいて、下側LCD12にホーム移行決定画像が表示されるものとした。しかし、通常モード及び互換モードにおいて、上側LCD22にホーム移行決定画像が表示されるものとしてもよい。更には、上側LCD22及び下側LCD12の両方に、ホーム移行決定画像が表示されるものとしてもよい。
【0121】
また、上記の本実施形態では、通常モード及び互換モードにおいて、上側LCD22及び下側LCD12にゲーム空間が表示されるとした。ここで、下側LCD12に表示されるゲーム空間の画像は、ユーザがタッチパネル13を用いて操作を行うための操作画像であってもよい。
【0122】
また、上記の本実施形態では、図8のステップS504及ぶS506の付加処理をCPU311が実行するものとした。しかし、これらの付加処理は、GPU313又は専用に設けられるデバイスによって実行されてもよい。また、これらの付加処理は、各デバイスで分担して処理されてもよい。
【0123】
また、上記の本実施形態では、上側LCD22及び下側LCD12の両方に画像が表示されるゲームプログラムについて説明した。しかし、一方のLCDにのみ画像が表示されるゲームプログラムであってもよく、この場合において、ホーム移行決定画像は、画像が表示されているLCDに表示されてもよく、画像が表示されていないLCDに表示されてもよい。
【0124】
また、上記の本実施形態では、本発明を描画処理に適用する場合について説明した。しかし、これには限られず、本発明は、例えば、音声を生成する処理に適用されてもよい。例えば、旧装置では1つのスピーカを用いて音声を出力しており、新装置では多数(例えば6個)のスピーカを用いて音響効果の高い音声を出力する場合を考える。この場合、旧装置の1つのスピーカが出力する音声のデータを生成するSPU(Sound Processing Unit)と、新装置の多数のスピーカが出力する音声のデータを生成するSPUとは、互いに大きく異なる処理方式(及び構造)で動作するものと考えられる。このことから、旧装置のCPUが旧装置のSPUに出す指示の方式と、新装置のCPUが新装置のSPUに出す指示の方式とは互いに大きく異なるので、本発明を適用する有用性が十分あるからである。
【0125】
また、上記の本実施形態は、本発明をゲーム装置10に適用したものであるが、本発明はゲーム装置10に限定されない。例えば、携帯電話機、簡易型携帯電話機(PHS)、PDA等の携帯情報端末にも本発明の適用は可能である。また、据え置き型ゲーム機やパーソナルコンピュータ等にも本発明の適用は可能である。
【0126】
また、上記の本実施形態では、1つのゲーム装置10で上述した処理を全て実行しているが、有線又は無線で通信可能な複数の装置で上記処理を分担してもよい。
【0127】
また、上記の本実施形態において、上述した情報処理で用いられる処理順序等は、単なる一例に過ぎず、本発明の範囲を逸脱しなければ他の順序等であっても、本発明を実現できることは言うまでもない。
【0128】
また、上記の本実施形態のゲーム装置10において実行される各種情報処理プログラムは、外部メモリ44等の記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線又は無線の通信回線を通じてゲーム装置10に供給されてもよい。また、上記プログラムは、ゲーム装置10内部の不揮発性記憶装置(データ保存用内部メモリ35等)に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、或いはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ等であってもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
【0129】
以上、本発明を詳細に説明してきたが、上述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
【符号の説明】
【0130】
10、110 ゲーム装置
12、112 下側LCD
13、113 タッチパネル
14、114 操作部
22、122 上側LCD
31、131 情報処理部
32、132 メインメモリ
33、133 外部メモリI/F
35、135 データ保存用内部メモリ
36、136 通信モジュール
40、140 電源回路
41、141 I/F回路
43、143 スピーカ
44、144 外部メモリ
311、312 CPU
313、314 GPU
315 VRAM

【特許請求の範囲】
【請求項1】
通常モードと互換モードで処理を実行できる情報処理装置のコンピュータで実行される情報処理プログラムであって、
前記通常モードは、前記情報処理装置用の第1アーキテクチャに基づいた処理を実行する処理モードであり、
前記互換モードは、前記第1アーキテクチャとは異なる他の情報処理装置用の第2アーキテクチャに基づいた処理を実行する処理モードであり、
前記コンピュータを、
前記第1アーキテクチャに基づいた処理を実行する第1処理手段と、
前記第2アーキテクチャに基づいた処理を実行する第2処理手段として機能させ、
前記通常モードにおいて、
前記第1処理手段は、前記第1アーキテクチャに基づいた処理を実行して得られた第1結果データを、入力されたデータをユーザに対して出力する出力手段に入力し、
前記互換モードにおいて、
前記第2処理手段は、前記第2アーキテクチャに基づいた処理を実行して得られた第2結果データを、前記第1処理手段に入力し、
前記第1処理手段は、前記第2処理手段から入力された前記第2結果データを、前記出力手段への入力に適応する態様で当該出力手段に入力する、情報処理プログラム。
【請求項2】
前記第1アーキテクチャ及び前記第2アーキテクチャは、画像を生成するためのアーキテクチャであり、
前記第1結果データ及び前記第2結果データは、画像データであり、
前記出力手段は、ユーザに対して画像を表示する、請求項1に記載の情報処理プログラム。
【請求項3】
前記第1アーキテクチャは、3次元コンピュータグラフィックスによって3次元CG画像を生成するためのアーキテクチャであり、
前記第2アーキテクチャは、2次元コンピュータグラフィックスによって2次元CG画像を生成するためのアーキテクチャである、請求項2に記載の情報処理プログラム。
【請求項4】
前記第1処理手段は、
前記第1結果データとして、3次元コンピュータグラフィックスによる3次元CG画像のデータを生成する第1描画手段と、
前記3次元CG画像の内容を決定する演算を行い、前記第1描画手段に当該決定した内容の3次元CG画像のデータ生成を指示する第1演算手段とを含み、
前記第2処理手段は、
前記第2結果データとして、2次元コンピュータグラフィックスによる2次元CG画像のデータを生成する第2描画手段と、
前記2次元CG画像の内容を決定する演算を行い、前記第2描画手段に当該決定した内容の2次元CG画像のデータ生成を指示する第2演算手段とを含む、請求項3に記載の情報処理プログラム。
【請求項5】
前記第1演算手段が前記第1描画手段に対して行う3次元CG画像のデータ生成の指示方式と、前記第2演算手段が前記第2描画手段に対して行う2次元CG画像のデータ生成の指示方式とは、互いに異なる、請求項4に記載の情報処理プログラム。
【請求項6】
前記互換モードにおいて、前記第1処理手段は、前記第2処理手段から入力された前記第2結果データに対して所定の追加処理を実施し、前記出力手段への入力に適応する態様で当該出力手段に入力する、請求項2〜5の何れかに記載の情報処理プログラム。
【請求項7】
前記所定の追加処理は、前記第2結果データが示す画像に所定の画像を付加する処理である、請求項6に記載の情報処理プログラム。
【請求項8】
前記所定の追加処理は、前記第2結果データが示す画像に所定の画像調整を行う処理である、請求項6に記載の情報処理プログラム。
【請求項9】
前記他の情報処理装置は、前記情報処理装置と同種の装置であって、当該情報処理装置よりも古い世代の装置である、請求項1〜8の何れかに記載の情報処理プログラム。
【請求項10】
前記情報処理装置は、ゲーム装置である、請求項1〜9の何れかに記載の情報処理プログラム。
【請求項11】
通常モードと互換モードで処理を実行できる情報処理装置であって、
前記通常モードは、前記情報処理装置用の第1アーキテクチャに基づいた処理を実行する処理モードであり、
前記互換モードは、前記第1アーキテクチャとは異なる他の情報処理装置用の第2アーキテクチャに基づいた処理を実行する処理モードであり、
前記第1アーキテクチャに基づいた処理を実行する第1処理手段と、
前記第2アーキテクチャに基づいた処理を実行する第2処理手段とを備え、
前記通常モードにおいて、
前記第1処理手段は、前記第1アーキテクチャに基づいた処理を実行して得られた第1結果データを、入力されたデータをユーザに対して出力する出力手段に入力し、
前記互換モードにおいて、
前記第2処理手段は、前記第2アーキテクチャに基づいた処理を実行して得られた第2結果データを、前記第1処理手段に入力し、
前記第1処理手段は、前記第2処理手段から入力された前記第2結果データを、前記出力手段への入力に適応する態様で当該出力手段に入力する、情報処理装置。
【請求項12】
通常モードと互換モードで処理を実行できる情報処理方法であって、
前記通常モードは、前記情報処理方法用の第1アーキテクチャに基づいた処理を実行する処理モードであり、
前記互換モードは、前記第1アーキテクチャとは異なる他の情報処理方法用の第2アーキテクチャに基づいた処理を実行する処理モードであり、
前記通常モードにおいては、前記第1アーキテクチャに基づいた処理を実行して得られた第1結果データを、入力されたデータをユーザに対して出力する出力手段に入力し、
前記互換モードにおいては、前記第2アーキテクチャに基づいた処理を実行して得られた第2結果データを、前記出力手段への入力に適応する態様で当該出力手段に入力する、情報処理方法。
【請求項13】
通常モードと互換モードで処理を実行できる情報処理システムであって、
前記通常モードは、前記情報処理システム用の第1アーキテクチャに基づいた処理を実行する処理モードであり、
前記互換モードは、前記第1アーキテクチャとは異なる他の情報処理システム用の第2アーキテクチャに基づいた処理を実行する処理モードであり、
前記第1アーキテクチャに基づいた処理を実行する第1処理手段と、
前記第2アーキテクチャに基づいた処理を実行する第2処理手段とを備え、
前記通常モードにおいて、
前記第1処理手段は、前記第1アーキテクチャに基づいた処理を実行して得られた第1結果データを、入力されたデータをユーザに対して出力する出力手段に入力し、
前記互換モードにおいて、
前記第2処理手段は、前記第2アーキテクチャに基づいた処理を実行して得られた第2結果データを、前記第1処理手段に入力し、
前記第1処理手段は、前記第2処理手段から入力された前記第2結果データを、前記出力手段への入力に適応する態様で当該出力手段に入力する、情報処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−174145(P2012−174145A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−37628(P2011−37628)
【出願日】平成23年2月23日(2011.2.23)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】