JP2009273865A - ゲームプログラム、ゲーム装置及びゲーム制御方法 - Google Patents

ゲームプログラム、ゲーム装置及びゲーム制御方法 Download PDF

Info

Publication number
JP2009273865A
JP2009273865A JP2008250524A JP2008250524A JP2009273865A JP 2009273865 A JP2009273865 A JP 2009273865A JP 2008250524 A JP2008250524 A JP 2008250524A JP 2008250524 A JP2008250524 A JP 2008250524A JP 2009273865 A JP2009273865 A JP 2009273865A
Authority
JP
Japan
Prior art keywords
character
virtual
space
camera
virtual camera
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.)
Pending
Application number
JP2008250524A
Other languages
English (en)
Inventor
Hiroyuki Yoshimura
広幸 吉村
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.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment 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 Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2008250524A priority Critical patent/JP2009273865A/ja
Priority to US12/412,982 priority patent/US8487928B2/en
Publication of JP2009273865A publication Critical patent/JP2009273865A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • A63F13/10
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • 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/45Controlling the progress of the video game
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/812Ball games, e.g. soccer or baseball
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6684Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dynamically adapting its position to keep a game object in its viewing frustrum, e.g. for tracking a character or a ball
    • 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/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8011Ball

Abstract

【課題】撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができるようにする。
【解決手段】本プログラムでは、仮想カメラCおよび撮影空間SSが、仮想ゲーム空間に設定される。そして、複数のキャラクタK1,K2,K3が、仮想ゲーム空間に配置される。そして、複数のキャラクタK1,K2,K3が撮影空間SSの内部に位置しているか否かが、制御部1により判断される。そして、複数のキャラクタK1,K2,K3の少なくともいずれか1つのキャラクタが撮影空間SSの外部に位置していた場合に、外部に位置するキャラクタが撮影空間SSの内部に位置するように、仮想カメラCの画角および仮想カメラCの位置の少なくともいずれか一方が、変更される。そして、複数のキャラクタK1,K2,K3が、画像表示部3に表示される。
【選択図】図2

Description

本発明は、ゲームプログラム、特に、キャラクタが仮想ゲーム空間に配置され前記キャラクタが画像表示部に表示されるゲームを、コンピュータにおいて実現するためのゲームプログラムに関する。また、このゲームプログラムによって実現されるゲーム装置及びゲーム制御方法に関する。
従来から様々なビデオゲームが提案されている。これらビデオゲームは、ゲーム装置において実行されるようになっている。たとえば、一般的なゲーム装置は、モニタと、モニタとは別体のゲーム機本体と、ゲーム機本体とは別体の入力部たとえばコントローラとを有している。コントローラには、複数の入力ボタンが配置されている。
このようなゲーム装置によって実行されるゲームの1つとして、たとえば、野球ゲームが知られている(非特許文献1を参照)。野球ゲームには、コントローラによって自己チームの選手キャラクタを操作して相手チームと得点を競うタイプのゲームや、ゲーム自体は主に自動で行わせプレイヤが監督の立場で楽しむタイプのゲーム等がある。
たとえば、前者のゲームにおいて、自己チームが守備サイドである場合、プレイヤがコントローラにより野手キャラクタを操作することによって、野手キャラクタにボールを送球させることができるようになっている。一方で、相手チームが攻撃サイドである場合、相手のプレイヤがコントローラにより打者キャラクタを操作することによって、打者キャラクタにスイング動作を行わせることができるようになっている(非特許文献1を参照)。
このようなゲームでは、たとえば、3塁に走者が存在しているときに、打者キャラクタにより外野フライが打ち上げられた場合、野手キャラクタがボールを捕球したときに、3塁の走者キャラクタにタッチアップを実行させることができる。このため、3塁の走者キャラクタがタッチアップを実行した場合、モニタには、タッチアップした走者キャラクタと、外野の野手キャラクタから返球されたボールを捕球する捕手キャラクタとが表示される。また、この場合、ホームベースの近傍においては、ホームベースに突入する走者キャラクタと、外野の野手キャラクタから返球されたボールを捕球する捕手キャラクタとが接触する状態すなわちクロスプレイの映像が、モニタに表示される。
プロ野球スピリッツ4,株式会社コナミデジタルエンタテインメント、PS3、2007年4月1日発売
従来の野球ゲームでは、クロスプレイが発生するときには、クロスプレイの映像がモニタに表示されるようになっていた。このクロスプレイの映像をモニタに表示するためには、ゲーム空間に配置される仮想カメラの位置や画角等の調整を行う必要があった。このため、これまでは、クロスプレイの映像がモニタ画面に収まるように、ゲーム制作者が仮想カメラの位置や画角等の調整を手動で行っていた。特に、近年のゲーム装置は、様々な方向や角度からの映像をモニタに映し出す性能を有しているため、野球ゲームにおいてこの性能を生かして様々な方向や角度からクロスプレイを映そうとすると、ゲーム制作者は、各方向および各画角に対して、仮想カメラの位置や画角の調整を行わなければならなかった。このため、ゲーム制作者は、仮想カメラの位置や画角の調整に、多大な労力および時間を要するという問題点があった。
また、従来の野球ゲームでは、ゲーム制作者が仮想カメラの位置や画角の調整を行ったとしても、野球ゲームにおいては選手キャラクタが状況に応じて様々な動作を行うので、状況によっては、ゲーム制作者が所望する選手キャラクタをモニタに収めることができない場合があった。たとえば、上述したホームベースの近傍におけるクロスプレイでは、ホームベースに突入する走者キャラクタ、捕手キャラクタ、および審判キャラクタを、モニタに表示することを、ゲーム制作者が望んでいたとしても、状況によっては、これら3つのキャラクタをモニタに表示することができない場合があった。具体的には、ホームベースに突入する走者キャラクタおよび捕手キャラクタはモニタに表示されたとしても、審判キャラクタはモニタに表示されないことがあった。すなわち、ゲーム制作者が、所定のキャラクタを撮影対象としてモニタに表示したいと考え、仮想カメラの位置や画角を調節したとしても、上記のように状況によっては、撮影対象のキャラクタをモニタに表示することができないという問題点もあった。
本発明は、このような問題に鑑みてなされたものであり、本発明の目的は、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができるようにすることにある。
請求項1に係るゲームプログラムは、キャラクタが仮想ゲーム空間に配置されキャラクタが画像表示部に表示されるゲームを実行可能なコンピュータに、以下の機能を実現させるためのプログラムである。
(1)仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第1座標データ、仮想カメラの位置から仮想ゲーム空間を撮影するときの仮想カメラの視線方向を規定するためのカメラ用の第2座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラを仮想ゲーム空間に設定するカメラ設定機能。
(2)仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、撮影空間を仮想ゲーム空間に規定する撮影空間規定機能。
(3)仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数のキャラクタを仮想ゲーム空間に配置するキャラクタ配置機能。
(4)複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断機能。
(5)複数のキャラクタの少なくともいずれか1つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第1カメラ設定変更機能。
(6)複数のキャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示機能。
このゲームプログラムでは、カメラ設定機能において、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第1座標データ、仮想カメラの位置を基準とした仮想カメラの視線方向を規定するためのカメラ用の第2座標データ、仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラが、仮想ゲーム空間に設定される。撮影空間規定機能においては、仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、撮影空間が仮想ゲーム空間に規定される。キャラクタ配置機能においては、仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数のキャラクタが仮想ゲーム空間に配置される。キャラクタ位置判断機能においては、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かが、制御部により判断される。第1カメラ設定変更機能においては、複数のキャラクタの少なくともいずれか1つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。キャラクタ表示機能においては、複数のキャラクタそれぞれが、キャラクタ用の画像データを用いて、画像表示部に表示される。
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第1座標データ、仮想カメラの位置を基準とした仮想カメラの視線方向を規定するためのカメラ用の第2座標データ、仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラが、仮想ゲーム空間に設定される。また、仮想ゲーム空間において、仮想カメラにより撮影される撮影空間を規定するための境界用のデータを、制御部に認識させることにより、撮影空間が仮想ゲーム空間に規定される。ここで、仮想ゲーム空間の内部に位置する複数のキャラクタ(選手キャラクタや審判キャラクタ等)それぞれの座標データを制御部に認識させることにより、複数のキャラクタが仮想ゲーム空間に配置される。そして、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かが、制御部により判断される。そして、複数のキャラクタの少なくともいずれか1つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。そして、複数のキャラクタそれぞれが、キャラクタ用の画像データを用いて、画像表示部に表示される。
この場合、撮影対象の複数のキャラクタが仮想ゲーム空間に配置されると、仮想ゲーム空間に配置された仮想カメラにより撮影される撮影空間の内部に、撮影対象の複数のキャラクタが位置しているか否かが判別される。そして、撮影対象の複数のキャラクタのうちの少なくともいずれか1つのキャラクタが外部に位置していると判別された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、撮影空間の内部に位置する複数のキャラクタそれぞれが、画像表示部に表示される。
このように、請求項1に係る発明では、撮影対象のキャラクタが撮影空間の外部に位置した場合に、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、外部に位置する撮影対象のキャラクタが、撮影空間の内部に配置される。このように、撮影対象のキャラクタが撮影空間の外部に位置することがあったとしても、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更され、外部に位置する撮影対象の複数のキャラクタを、撮影空間の内部に配置することができる。このため、請求項1に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに収めることができる。すなわち、請求項1に係る発明では、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができる。
請求項2に係るゲームプログラムでは、請求項1に記載のゲームプログラムにおいて、複数のキャラクタの少なくともいずれか1つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、制御部により実行される。この機能は、第1カメラ設定変更機能において実現される。
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、複数のキャラクタの少なくともいずれか1つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、制御部により実行される。
この場合、撮影対象の複数のキャラクタのうちの少なくともいずれか1つのキャラクタが外部に位置していると判別された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が実行される
このように、請求項2に係る発明では、撮影対象のキャラクタが撮影空間の外部に位置した場合に、仮想カメラの画角を拡大させたり、複数のキャラクタから離れる方向に仮想カメラの位置を移動させたりすることにより、外部に位置する撮影対象のキャラクタを、撮影空間の内部に配置することができる。このため、請求項2に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを確実にモニタに収めることができる。すなわち、請求項2に係る発明では、仮想カメラの設定を容易に行うことができ、撮影対象のキャラクタをモニタに確実に表示することができる。
請求項3に係るゲームプログラムでは、請求項1又は2に記載のゲームプログラムにおいて、複数のキャラクタの少なくともいずれか1つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。また、仮想カメラの視線方向を変更する処理が、制御部により実行される。この機能は、第1カメラ設定変更機能において実現される。
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、複数のキャラクタの少なくともいずれか1つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。また、仮想カメラの視線方向を変更する処理が、制御部により実行される。
この場合、撮影対象の複数のキャラクタのうちの少なくともいずれか1つのキャラクタが外部に位置していると判別された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。また、仮想カメラの視線方向を変更する処理が、制御部により実行される。
このように、請求項3に係る発明では、撮影対象のキャラクタが撮影空間の外部に位置した場合に、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更することにより、外部に位置する撮影対象のキャラクタを撮影空間の内部に配置することができる。また、ここでは、仮想カメラの視線方向を変更することにより、撮影対象の複数のキャラクタを撮影空間の内部にバランス良く配置することができる。このため、請求項3に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタをバランス良くモニタに表示することができる。すなわち、請求項3に係る発明では、撮影対象のキャラクタをバランス良くモニタに表示するための仮想カメラの設定を、容易に行うことができる。
請求項4に係るゲームプログラムでは、請求項3に記載のゲームプログラムにおいて、仮想ゲーム空間において水平距離が最も離れた2つのキャラクタのそれぞれの座標データに基づいて、2つのキャラクタの中点に対応する座標データを算出する処理を制御部に実行させ、中点の座標データをカメラ用の第2座標データとして制御部に認識させることにより、仮想カメラの視線方向が変更される。この機能は、第1カメラ設定変更機能において実現される。
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、仮想ゲーム空間において水平距離が最も離れた2つの撮影対象のキャラクタのそれぞれの座標データに基づいて、2つの撮影対象のキャラクタの中点に対応する座標データを算出する処理を制御部に実行させ、中点の座標データをカメラ用の第2座標データとして制御部に認識させることにより、仮想カメラの視線方向が変更される。
この場合、仮想ゲーム空間において水平距離が最も離れた2つの撮影対象のキャラクタの間の中点を算出する処理が、実行される。そして、この中点をカメラ視点に設定することにより、仮想カメラの視線方向が変更される。このように、請求項4に係る発明では、仮想カメラの視線方向を、水平距離が最も離れた2つの撮影対象のキャラクタの間の中点の方向に変更することにより、撮影対象の複数のキャラクタを撮影空間の内部にバランス良く配置することができる。このため、請求項4に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタをバランス良くモニタに表示することができる。すなわち、請求項4に係る発明では、撮影対象のキャラクタをバランス良くモニタに表示するための仮想カメラの設定を、容易に行うことができる。
請求項5に係るゲームプログラムでは、請求項1から4のいずれかに記載のゲームプログラムにおいて、仮想カメラおよびキャラクタを結ぶ直線と仮想カメラの視線方向に向かう直線とがなす角度が、仮想カメラの視線方向に向かう直線と撮影領域の境界とがなす角度より小さいか否かを、複数のキャラクタそれぞれに対して、制御部に判断させることにより、複数のキャラクタが撮影空間の内部に位置しているか否かが判断される。この機能は、キャラクタ位置判断機能において実現される。
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、仮想カメラおよび撮影対象のキャラクタを結ぶ直線と仮想カメラの視線方向に向かう直線とがなす角度(第1角度)が、仮想カメラの視線方向に向かう直線と撮影領域の境界とがなす角度(第2角度)より小さいか否かを、複数の撮影対象のキャラクタそれぞれに対して判断される。これにより、複数のキャラクタが撮影空間の内部に位置しているか否かが判断される。
この場合、第1角度が第2角度より小さいか否かが、複数の撮影対象のキャラクタそれぞれに対して判断される。そして、第1角度が第2角度より小さい場合、撮影対象のキャラクタが撮影空間の内部に位置していることになる。また、第1角度が第2角度以上の場合、撮影対象のキャラクタが撮影空間の内部に位置していることになる。このようにして、複数のキャラクタが撮影空間の内部に位置しているか否かを判断することができる。このため、請求項5に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに表示することができる。すなわち、請求項4に係る発明では、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができる。
請求項6に係るゲームプログラムは、請求項1から5のいずれかに記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
(7)仮想ゲーム空間の内部を移動する移動体の座標データを制御部に認識させることにより、移動体を仮想ゲーム空間に配置する移動体配置機能。
このゲームプログラムでは、移動体配置機能において、仮想ゲーム空間の内部を移動する移動体の座標データを制御部に認識させることにより、移動体が仮想ゲーム空間に配置される。ここでは、キャラクタ配置機能において、移動体が衝突する第1キャラクタ、第1キャラクタとは異なる位置に位置する第2キャラクタ、および第2キャラクタとは異なる位置に位置する第3キャラクタそれぞれの座標データを制御部に認識させることにより、第1キャラクタ、第2キャラクタ、および第3キャラクタが、仮想ゲーム空間に配置される。また、キャラクタ位置判断機能においては、第1キャラクタの座標データ、第2キャラクタの座標データ、および第3キャラクタの座標データに基づいて、第1キャラクタ、第2キャラクタ、および第3キャラクタが撮影空間の内部に位置しているか否かが、制御部に判断される。また、第1カメラ設定変更機能においては、第1キャラクタ、第2キャラクタ、および第3キャラクタの少なくともいずれか1つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。さらに、キャラクタ表示機能では、第1キャラクタ、第2キャラクタ、および第3キャラクタが、キャラクタ用の画像データを用いて、画像表示部に表示される。
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、仮想ゲーム空間の内部を移動するボールの座標データを制御部に認識させることにより、ボールが仮想ゲーム空間に配置される。ここでは、ボールを捕球する第1キャラクタたとえば捕手キャラクタ(請求項6の記載では「移動体が衝突する第1キャラクタ」)、第1キャラクタとは異なる位置に位置する第2キャラクタたとえば走者キャラクタ、および第2キャラクタとは異なる位置に位置する第3キャラクタたとえば主審キャラクタそれぞれの座標データを制御部に認識させることにより、捕手キャラクタ、走者キャラクタ、および主審キャラクタが、仮想ゲーム空間に配置される。また、捕手キャラクタの座標データ、走者キャラクタの座標データ、および主審キャラクタの座標データに基づいて、捕手キャラクタ、走者キャラクタ、および主審キャラクタが撮影空間の内部に位置しているか否かが、制御部に判断される。また、捕手キャラクタ、走者手キャラクタ、および主審キャラクタの少なくともいずれか1つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される。さらに、捕手キャラクタ、走者キャラクタ、および主審キャラクタが、キャラクタ用の画像データを用いて、画像表示部に表示される。
この場合、ボール、ボールを捕球する捕手キャラクタ、走者キャラクタ、および主審キャラクタが、仮想ゲーム空間に配置される。たとえば、ボールが捕手キャラクタに向けて送球されたときに、このボールを捕球する捕手キャラクタ、ホームに向かって移動する走者キャラクタ、および主審キャラクタが、仮想ゲーム空間に配置される。そして、仮想ゲーム空間に配置された仮想カメラにより撮影される撮影空間の内部に、撮影対象の複数のキャラクタ(捕手キャラクタ、走者キャラクタ、主審キャラクタ)が位置しているか否かが判別される。そして、これら複数のキャラクタのうちの少なくともいずれか1つのキャラクタが外部に位置していると判別された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、撮影空間の内部に位置する複数のキャラクタそれぞれが、画像表示部に表示される。
このように、請求項6に係る発明では、たとえば、撮影対象のキャラクタが、捕手キャラクタ、走者キャラクタ、および主審キャラクタであった場合、捕手キャラクタ、走者キャラクタ、および主審キャラクタが、撮影空間の外部に位置することがあったとしても、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更することにより、外部に位置するキャラクタを、撮影空間の内部に配置することができる。このため、請求項1に係る発明が適用されたゲームでは、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに収めることができる。すなわち、請求項6に係る発明では、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができる。
上記の例は、ホームベースにおけるクロスプレイを想定したものであるが、本発明は、この他に、走者キャラクタが盗塁したときに、捕手キャラクタが盗塁を阻止するために野手キャラクタにボールを送球した場合にも適用できる。例えば、走者キャラクタが1塁から2塁に向かって盗塁を行い、一方、捕手キャラクタが走者キャラクタを刺すべくセカンドの野手キャラクタに送球するような場合、2塁近傍では、「第1のキャラクタ」としてセカンドの守備キャラクタが、また、「第2のキャラクタ」として走者キャラクタが存在することになる。そして、捕手キャラクタからの送球を受けたセカンドの野手キャラクタが走者キャラクタに対してタッチをしたときに、それがアウトかセーフかをジャッジする「第3のキャラクタ」としての審判キャラクタが存在する。このような場合においても、請求項6に係る発明によれば、この「第3のキャラクタ」としての審判キャラクタが画面内に確実に入るように、仮想カメラの設定が自動的に行われる。このため、ゲームの中の重要なシーンやターニングポイントの場面において、欠くべからざるキャラクタを画面内に確実に登場させることができる。また、ゲームソフトの開発者の手作業による画面構成が行われる場合には、開発者が注意をしていても「第3のキャラクタ」が画面から外れてしまう可能性も潜在的に存在する。しかしながら、本発明によれば、この可能性を排除することができる上に、開発者の手間(労力)を大幅に低減することができる。
なお、上記の2例においては、「第3のキャラクタ」は、対戦状態(対戦ゲーム中の個別の対戦場面(シーン))における、「第1のキャラクタ」と「第2のキャラクタ」との対戦結果を判定するキャラクタと定義することができる。
請求項7に係るゲームプログラムは、請求項1から6のいずれかに記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
(8)仮想ゲーム空間の内部における静止オブジェクトの座標データをCPU7に認識させることにより、静止オブジェクトを仮想ゲーム空間に配置するオブジェクト配置機能。
このゲームプログラムでは、オブジェクト配置機能において、仮想ゲーム空間の内部における静止オブジェクトの座標データをCPU7に認識させることにより、静止オブジェクトが仮想ゲーム空間に配置される。ここでは、カメラ設定機能において、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第1座標データ、仮想カメラの位置から仮想ゲーム空間を撮影するときの仮想カメラの視線方向を規定するための静止オブジェクトの位置を基準としたカメラ用の第2座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラが仮想ゲーム空間に設定される。
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、仮想ゲーム空間の内部におけるベースオブジェクト(静止オブジェクト)の座標データをCPU7に認識させることにより、ベースオブジェクトが仮想ゲーム空間に配置される。そして、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第1座標データ、仮想カメラの位置から仮想ゲーム空間を撮影するときの仮想カメラの視線方向を規定するためのベースオブジェクトの位置を基準としたカメラ用の第2座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラが仮想ゲーム空間に設定される。
この場合、仮想カメラの視線方向が、ベースオブジェクトの位置を基準として設定されるので、ベース近傍のプレイに関係するキャラクタ(撮影対象のキャラクタ)が、撮影空間の内部に配置されやすくなる。ここで対象となるプレイとしては、たとえば、ホームベースにおけるプレイ、1塁ベース、2塁ベース、および3塁ベースそれぞれにおけるプレイがあり、これら各塁近傍におけるプレイに関係するキャラクタが、撮影空間の内部に配置されやすくなる。このため、ゲームの中の重要なシーンやターニングポイントの場面において、欠くべからざるキャラクタが、画面内に登場しやすくなる。このため、ゲームソフトの開発者が手作業によって画面構成を行うときに、開発者の手間(労力)を低減することができる。
請求項8に係るゲームプログラムは、請求項7に記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
(9)複数のキャラクタそれぞれの座標データおよびカメラ用の第1座標データに基づいて、複数のキャラクタの中のいずれか1つのキャラクタと仮想カメラとの間に、他のキャラクタが位置しているか否かを、制御部に判断させるキャラクタ位置関係判断機能。
(10)複数のキャラクタの中のいずれか1つのキャラクタと仮想カメラとの間に、他のキャラクタが位置していると制御部に判断された場合に、静止オブジェクトの位置を基準として、仮想カメラの位置を所定の角度で移動する第2カメラ変更機能。
このゲームプログラムでは、キャラクタ位置関係判断機能において、複数のキャラクタそれぞれの座標データおよびカメラ用の第1座標データに基づいて、複数のキャラクタの中のいずれか1つのキャラクタと仮想カメラとの間に、他のキャラクタが位置しているか否かが、制御部により判断される。第2カメラ変更機能においては、複数のキャラクタの中のいずれか1つのキャラクタと仮想カメラとの間に、他のキャラクタが位置していると制御部に判断された場合に、ベースオブジェクト(静止オブジェクト)の位置を基準として、仮想カメラの位置が所定の角度で移動させられる。
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、複数のキャラクタ(選手キャラクタや審判キャラクタ等)それぞれの座標データに基づいて、あるキャラクタと仮想カメラとの間に、他のキャラクタが位置しているか否かが、制御部により判断される。ここで、たとえば、ベース近傍のクロスプレイを例に説明を行うと、野手キャラクタと仮想カメラとの間に、審判キャラクタが位置しているか否かが、制御部により判断される。そして、野手キャラクタと仮想カメラとの間に審判キャラクタが位置した場合、ベースの位置を基準として、仮想カメラの位置が所定の角度で移動させられる。
この場合、野手キャラクタと仮想カメラとの間に審判キャラクタが位置すると、仮想カメラをベースの位置を基準として移動させることができる。このため、審判キャラクタが邪魔になって、ベース近傍のプレイが撮影できなくなるという問題を解消することができる。すなわち、ゲームの中の重要なシーンやターニングポイントの場面において、欠くべからざるキャラクタを、確実に画面内に登場させることができる。また、ゲームソフトの開発者が手作業によって画面構成を行うときに、開発者の手間(労力)を低減することができる。
請求項9に係るゲームプログラムは、請求項1から8のいずれかに記載のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
(11)キャラクタのプレイが再現対象のプレイであるか否かを、制御部に判断させる再現プレイ判断機能。
このゲームプログラムでは、再現プレイ判断機能において、キャラクタのプレイが再現対象のプレイであるか否かが、制御部により判断される。ここでは、キャラクタのプレイが再現対象のプレイであると制御部に判断された場合に、キャラクタ配置機能において、複数のキャラクタが仮想ゲーム空間に配置される。
このゲームプログラムが野球ゲームに適用された場合を一例として、このゲームプログラムを説明すると、このゲームプログラムでは、キャラクタのプレイが再現対象のプレイであるか否かが、制御部により判断される。そして、キャラクタのプレイが再現対象のプレイであると制御部に判断された場合に、複数のキャラクタが仮想ゲーム空間に配置される。
この場合、キャラクタのプレイが再現対象のプレイであると制御部に判断された場合に、複数のキャラクタが仮想ゲーム空間に配置される。そして、撮影対象の複数のキャラクタのうちの少なくともいずれか1つのキャラクタが外部に位置していると判別された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、撮影空間の内部に位置する複数のキャラクタそれぞれが、画像表示部に表示される。
このように、請求項9に係る発明では、プレイが再現されるときに、撮影対象のキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、撮影対象のキャラクタすべてが、画像表示部に表示される。これにより、リプレイ画像の設定を行うときに、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに収めることができる。すなわち、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができる。
請求項10に係るゲーム装置は、キャラクタが仮想ゲーム空間に配置されキャラクタが画像表示部に表示されるゲームを実行可能なゲーム装置である。
このゲーム装置は、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第1座標データ、仮想カメラの位置から仮想ゲーム空間を撮影するときの仮想カメラの視線方向を規定するためのカメラ用の第2座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラを仮想ゲーム空間に設定するカメラ設定手段と、仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、撮影空間を仮想ゲーム空間に規定する撮影空間規定手段と、仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数のキャラクタを仮想ゲーム空間に配置するキャラクタ配置手段と、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断手段と、複数のキャラクタの少なくともいずれか1つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第1カメラ設定変更手段と、複数のキャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示手段と、を備えている。
請求項11に係るゲーム制御方法は、キャラクタが仮想ゲーム空間に配置されキャラクタが画像表示部に表示されるゲームを制御可能なゲーム制御方法である。
このゲーム制御方法は、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第1座標データ、仮想カメラの位置から仮想ゲーム空間を撮影するときの仮想カメラの視線方向を規定するためのカメラ用の第2座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、仮想カメラを仮想ゲーム空間に設定するカメラ設定ステップと、仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、撮影空間を仮想ゲーム空間に規定する撮影空間規定ステップと、仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数のキャラクタを仮想ゲーム空間に配置するキャラクタ配置ステップと、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断ステップと、複数のキャラクタの少なくともいずれか1つのキャラクタが外部に位置していると制御部に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第1カメラ設定変更ステップと、複数のキャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示ステップと、を備えている。
本発明では、撮影対象のキャラクタが撮影空間の外部に位置した場合に、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される。そして、外部に位置する撮影対象のキャラクタが、撮影空間の内部に配置される。このように、撮影対象のキャラクタが撮影空間の外部に位置することがあったとしても、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更され、外部に位置する撮影対象の複数のキャラクタを、撮影空間の内部に配置することができる。このため、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに収めることができる。すなわち、撮影対象のキャラクタをモニタに表示するための仮想カメラの設定を、容易に行うことができる。
〔ゲーム装置の構成と動作〕
図1は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置をとりあげて説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体10が装填可能となっており、記録媒体10からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
家庭用ビデオゲーム装置のゲームシステムは、制御部1と、記憶部2と、画像表示部3と、音声出力部4と、操作入力部5とからなっており、それぞれがバス6を介して接続される。このバス6は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部1、記憶部2、音声出力部4および操作入力部5は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部3は家庭用テレビジョンに含まれている。
制御部1は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部1は、たとえば、CPU(Central Processing Unit)7と、信号処理プロセッサ8と、画像処理プロセッサ9とから構成されている。CPU7と信号処理プロセッサ8と画像処理プロセッサ9とは、それぞれがバス6を介して互いに接続されている。CPU7は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、CPU7は、信号処理プロセッサ8に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ8は、主に、3次元空間上における計算と、3次元空間上から擬似3次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ9は、主に、信号処理プロセッサ8の計算結果および処理結果に基づいて、描画すべき画像データをRAM12に書き込む処理を行っている。
記憶部2は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部2は、たとえば、記録媒体10と、インターフェース回路11と、RAM(Random Access Memory)12とから構成されている。記録媒体10には、インターフェース回路11が接続されている。そして、インターフェース回路11とRAM12とはバス6を介して接続されている。記録媒体10は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体10は、たとえば、ROM(Read Only Memory)カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体10にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。RAM12は、記録媒体10から読み出された各種データを一時的に格納したり、制御部1からの処理結果を一時的に記録したりするために用いられる。このRAM12には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
画像表示部3は、主に、画像処理プロセッサ9によってRAM12に書き込まれた画像データや、記録媒体10から読み出される画像データなどを画像として出力するために設けられている。この画像表示部3は、たとえば、テレビジョンモニタ20と、インターフェース回路21と、D/Aコンバータ(Digital-To-Analogコンバータ)22とから構成されている。テレビジョンモニタ20にはD/Aコンバータ22が接続されており、D/Aコンバータ22にはインターフェース回路21が接続されている。そして、インターフェース回路21にバス6が接続されている。ここでは、画像データが、インターフェース回路21を介してD/Aコンバータ22に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ20に画像として出力される。
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ8により、ポリゴンアドレスデータの示す3次元空間上のポリゴンデータ(3次元ポリゴンデータ)が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、2次元空間上のポリゴンデータ(2次元ポリゴンデータ)に置換される。そして、複数の2次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
音声出力部4は、主に、記録媒体10から読み出される音声データを音声として出力するために設けられている。音声出力部4は、たとえば、スピーカー13と、増幅回路14と、D/Aコンバータ15と、インターフェース回路16とから構成されている。スピーカー13には増幅回路14が接続されており、増幅回路14にはD/Aコンバータ15が接続されており、D/Aコンバータ15にはインターフェース回路16が接続されている。そして、インターフェース回路16にバス6が接続されている。ここでは、音声データが、インターフェース回路16を介してD/Aコンバータ15に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路14によって増幅され、スピーカー13から音声として出力される。音声データには、たとえば、ADPCM(Adaptive Differential Pulse Code Modulation)データやPCM(Pulse Code Modulation)データなどがある。ADPCMデータの場合、上述と同様の処理方法で音声をスピーカー13から出力することができる。PCMデータの場合、RAM12においてPCMデータをADPCMデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー13から出力することができる。
操作入力部5は、主に、コントローラ17と、操作情報インターフェース回路18と、インターフェース回路19とから構成されている。コントローラ17には、操作情報インターフェース回路18が接続されており、操作情報インターフェース回路18にはインターフェース回路19が接続されている。そして、インターフェース回路19にバス6が接続されている。
コントローラ17は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をCPU7に送出する。コントローラ17には、第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、上方向キー17U、下方向キー17D、左方向キー17L、右方向キー17R、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1、R2ボタン17R2、スタートボタン17e、セレクトボタン17f、左スティック17SL及び右スティック17SRが設けられている。
上方向キー17U、下方向キー17D、左方向キー17L及び右方向キー17Rは、例えば、キャラクタやカーソルをテレビジョンモニタ20の画面上で上下左右に移動させるコマンドをCPU7に与えるために使用される。
スタートボタン17eは、記録媒体10からゲームプログラムをロードするようにCPU7に指示するときなどに使用される。
セレクトボタン17fは、記録媒体10からロードされたゲームプログラムに対して、各種選択をCPU7に指示するときなどに使用される。
左スティック17SL及び右スティック17SRは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む360°方向に亘って、傾倒可能な構成になっている。左スティック17SL及び右スティック17SRは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするx座標及びy座標の値を、操作信号として操作情報インターフェース回路18とインターフェース回路19とを介してCPU7に送出する。
第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1及びR2ボタン17R2には、記録媒体10からロードされるゲームプログラムに応じて種々の機能が割り振られている。
なお、左スティック17SL及び右スティック17SRを除くコントローラ17の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。電源スイッチ(図示省略)がオンにされゲームシステム1に電源が投入されると、CPU7が、記録媒体10に記憶されているオペレーティングシステムに基づいて、記録媒体10から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、RAM12に格納される。そして、CPU7が、RAM12に格納されたプログラムデータに基づいて、RAM12に格納された画像データや音声データにコマンドを発行する。
画像データの場合、CPU7からのコマンドに基づいて、まず、信号処理プロセッサ8が、3次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ9が、信号処理プロセッサ8の計算結果に基づいて、描画すべき画像データのRAM12への書き込み処理などを行う。そして、RAM12に書き込まれた画像データが、インターフェース回路13を介してD/Aコンバータ17に供給される。ここで、画像データがD/Aコンバータ17でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ20に供給され画像として表示される。
音声データの場合、まず、信号処理プロセッサ8が、CPU7からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ8から出力されて、インターフェース回路16を介してD/Aコンバータ15に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路14を介してスピーカー13から音声として出力される。
〔ゲーム装置における各種処理概要〕
本ゲーム機において実行されるゲームは、たとえば野球ゲームである。本ゲーム機は、キャラクタが仮想ゲーム空間に配置されキャラクタがテレビジョンモニタ20に表示されるゲームを、実行可能になっている。図2は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。
カメラ設定手段50は、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第1座標データ、仮想カメラの位置を基準とした仮想カメラの視線方向を規定するためのカメラ用の第2座標データ、仮想カメラの画角を規定するための画角データをCPU7に認識させることにより、仮想カメラを仮想ゲーム空間に設定する機能を備えている。
この手段では、仮想ゲーム空間における仮想カメラの位置を規定するためのカメラ用の第1座標データ、仮想カメラの位置を基準とした仮想カメラの視線方向を規定するためのカメラ用の第2座標データ、仮想カメラの画角を規定するための画角データをCPU7に認識させることにより、仮想カメラが仮想ゲーム空間に設定される。
ここでは、ゲームが開始されたときに初期条件としてCPU7に認識される、カメラ用の第1座標データ、カメラ用の第2座標データ、および仮想カメラの画角データは、RAM12に格納されている。これらのデータは、ゲームプログラムが記録媒体10からRAM12にロードされたときにRAM12に格納される。また、カメラ用の第1座標データ、カメラ用の第2座標データ、および仮想カメラの画角データの少なくともいずれか1つが変更された場合は、変更後の各データがRAM12に格納される。そして、RAM12に格納された各データが、CPU7に認識される。
撮影空間規定手段51は、仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、CPU7に認識させることにより、撮影空間を仮想ゲーム空間に規定する機能を備えている。
この手段では、仮想ゲーム空間において、仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、CPU7に認識させることにより、撮影空間が仮想ゲーム空間に規定される。
ここでは、仮想カメラの視界に入る全ての空間(視界空間)の内部の所定の領域が、モニタ20に表示される空間すなわち撮影空間(視錐領域)として規定される。言い換えると、仮想カメラの画角に入る全ての空間(視界空間)の内部の所定の領域が、撮影空間として規定される。この撮影空間は、カメラ側の面(第1面)およびカメラから離反した側の面(第2面)を仮想ゲーム空間の所定の位置に設定することにより規定される。たとえば、仮想カメラの位置を基準とした所定の2つの位置座標データ(第1面用の境界用のデータおよび第2面用の境界用データ)をCPU7に認識させることにより、第1面および第2面が、仮想ゲーム空間に規定される。
ここでは、撮影空間を規定するための第1面の位置および第2面の位置は、ゲームプログラムにおいて予め規定されているが、第1面の位置および第2面の位置を、ユーザが任意に設定することができるようにしても良い。
移動体配置手段52は、仮想ゲーム空間の内部を移動するボールの座標データをCPU7に認識させることにより、ボールを仮想ゲーム空間に配置する機能を備えている。
この手段では、仮想ゲーム空間の内部を移動するボールの座標データをCPU7に認識させることにより、ボールが仮想ゲーム空間に配置される。
たとえば、この手段では、投手キャラクタを含む野手キャラクタから送球されたボールの位置を示す座標データや、打者キャラクタにより打ち返されたボールの位置を示す座標データが、CPU7に認識される。すると、仮想ゲーム空間において、この座標データが示す位置にボールが配置される。
なお、ボールの座標データは、ボールが野手キャラクタから送球されたときのボールの軌道方程式、又はボールが打者キャラクタにより打ち返されたときのボールの軌道方程式に基づいて、算出される。ここで用いられるボールの軌道方程式は、ゲームプログラムにおいて予め規定されており、RAM12に格納されている。また、ボールの軌道を算出するときに用いられる初期条件として、ボールの初速度、ボールの送出角度、重力、および回転等に対応するデータが用いられ、これらのデータは、RAM12に格納されている。
再現プレイ判断手段は、キャラクタのプレイが再現対象のプレイであるか否かを、CPU7に判断させる機能を備えている。
この手段では、キャラクタのプレイが再現対象のプレイであるか否かが、CPU7により判断される。たとえば、出塁状況を示すデータ(フラグデータ)およびキャラクタの動作結果を示すデータ(結果データ)に基づいて、キャラクタのプレイが再現対象のプレイであるか否かが、CPU7により判断される。より具体的には、これらフラグデータと結果データとの組み合わせに応じて、キャラクタのプレイが再現対象のプレイであるか否かが、CPU7により判断される。なお、ここでは、ゲームにおいて実行されたプレイが再現対象のプレイに相当する場合の、フラグデータと結果データとの組み合わせは、たとえば、対応テーブルによって、予めゲームプログラムにおいて規定されている。
キャラクタ配置手段53は、仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データをCPU7に認識させることにより、複数のキャラクタを仮想ゲーム空間に配置する機能を備えている。
この手段では、仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データをCPU7に認識させることにより、複数のキャラクタが仮想ゲーム空間に配置される。
たとえば、この手段では、ボールを捕球する野手キャラクタ、所定の塁に向かって移動する走者キャラクタ、および審判キャラクタそれぞれの座標データをCPU7に認識させることにより、捕手キャラクタ、走者キャラクタ、および主審キャラクタが仮想ゲーム空間に配置される。
ここでは、仮想ゲーム空間において、全ての野手キャラクタ、打者キャラクタ、全ての審判キャラクタの中から、撮影対象となる複数のキャラクタ(捕手キャラクタ、走者キャラクタ、および主審キャラクタ)が、CPU7に認識される。そして、これらの捕手キャラクタ、走者キャラクタ、および主審キャラクタそれぞれの座標データをCPU7に認識させることにより、捕手キャラクタ、走者キャラクタ、および主審キャラクタが仮想ゲーム空間に配置される。
なお、ここで撮影対象となる複数のキャラクタ(ex. 捕手キャラクタ、走者キャラクタ、および主審キャラクタ)は、シーンごとに、ゲームプログラムにおいて予め規定されている。すなわち、各シーンと各シーンにおいて撮影対象となるキャラクタとの対応関係は、ゲームプログラムにおいて予め規定されている。
キャラクタ位置判断手段54は、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かを、CPU7に判断させる機能を備えている。
この手段では、複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間の内部に位置しているか否かが、CPU7により判断される。
この手段では、たとえば、捕手キャラクタの座標データ、走者キャラクタの座標データ、および主審キャラクタの座標データに基づいて、捕手キャラクタ、走者キャラクタ、および主審キャラクタが撮影空間の内部に位置しているか否かが、CPU7に判断される。
より具体的には、この手段では、仮想カメラおよびキャラクタを結ぶ直線と、仮想カメラの視線方向に向かう直線とがなす角度(第1角度)が、CPU7により算出される。また、仮想カメラの視線方向に向かう直線と、撮影領域の境界とがなす角度(第2角度)が、CPU7により算出される。そして、第1角度が第2角度より小さいか否かが、複数のキャラクタそれぞれに対して、CPU7により判断される。
ここで、全てのキャラクタが撮影空間の内部に位置している場合は、全てのキャラクタにおいて、第1角度が第2角度より小さくなる。一方で、複数のキャラクタの少なくともいずれか1つのキャラクタが撮影空間の外部に位置している場合は、外部に位置するキャラクタにおいて、第1角度が第2角度以上になる。
第1カメラ設定変更手段55は、複数のキャラクタの少なくともいずれか1つのキャラクタが外部に位置しているとCPU7に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理を、CPU7に実行させる機能を備えている。
この手段では、複数のキャラクタの少なくともいずれか1つのキャラクタが外部に位置しているとCPU7に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、CPU7により実行される。
たとえば、この手段では、捕手キャラクタ、走者キャラクタ、および主審キャラクタの少なくともいずれか1つのキャラクタが外部に位置しているとCPU7に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方を変更する処理が、CPU7により実行される。
より具体的には、この手段では、捕手キャラクタ、走者キャラクタ、および主審キャラクタの少なくともいずれか1つのキャラクタが外部に位置しているとCPU7に判断された場合に、外部に位置するキャラクタが撮影空間の内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、CPU7により実行される。そして、仮想ゲーム空間において水平距離が最も離れた2つのキャラクタのそれぞれの座標データに基づいて、2つのキャラクタの中点に対応する座標データを算出する処理がCPU7により実行される。そして、ここで算出された中点の座標データをカメラ用の第2座標データとしてCPU7に認識させることにより、仮想カメラの視線方向が変更される。これにより、複数のキャラクタを、撮影空間の内部にバランス良く配置することができる。
なお、各キャラクタが撮影空間の内部に位置している場合においても、仮想ゲーム空間において水平距離が最も離れた2つのキャラクタの中点がCPU7により算出され、この中点の座標データがカメラ用の第2座標データとしてCPU7に認識される。これにより、各キャラクタが撮影空間の内部に位置している場合においても、複数のキャラクタを、撮影空間の内部にバランス良く配置することができる。
キャラクタ表示手段56は、複数のキャラクタそれぞれを、キャラクタ用の画像データを用いて、テレビジョンモニタ20に表示する機能を備えている。
この手段では、複数のキャラクタそれぞれが、キャラクタ用の画像データを用いて、テレビジョンモニタ20に表示される。たとえば、この手段では、撮影空間の内部に配置された、捕手キャラクタ、走者キャラクタ、および主審キャラクタが、キャラクタ用の画像データを用いて、テレビジョンモニタ20に表示される。
〔野球ゲームにおけるシーン再現システムの概要〕
次に、野球ゲームにおけるシーン再現システムの具体的な内容について説明する。また、図10および図11に示すフローについても同時に説明する。なお、図10は野球ゲームの全体概要を説明するためのフローであり、図11は上記システムを説明するためのフローである。
まず、ゲーム機の電源が投入されゲーム機が起動されると、野球ゲームプログラムが、記録媒体10からRAM12にロードされ格納される。このときには、野球ゲームを実行する上で必要となる各種の基本ゲームデータも、同時に、記録媒体10からRAM12にロードされ格納される(S1)。
たとえば、基本ゲームデータには、3次元ゲーム空間用の各種の画像に関するデータが含まれている。そして、この3次元ゲーム空間用の各種の画像に関するデータ、たとえば、スタジアム用の画像データ、選手キャラクタ用の画像データ、および各種のオブジェクトの画像データ等が、CPU7に認識される。また、基本ゲームデータには、3次元ゲーム空間用の各種の画像に関するデータを3次元ゲーム空間に配置するための位置座標データが含まれている。また、基本ゲームデータには、打者キャラクタのシーン再現システムで用いられるデータも、含まれている。
続いて、RAM12に格納された野球ゲームプログラムが、基本ゲームデータに基づいて、CPU7により実行される(S2)。すると、野球ゲームの起動画面がテレビジョンモニタ20に表示される。すると、野球ゲームを実行するための各種の設定画面がテレビジョンモニタ20に表示される。ここでは、たとえば、野球ゲームのプレイモードを選択するためのモード選択画面が、テレビジョンモニタ20に表示される(図示しない)。このモード選択画面において、プレイヤがコントローラ17を操作することにより、プレイモードが決定される(S3)。プレイモードには、たとえば、12球団の中から好きなチームを選択して1試合の対戦を楽しむ対戦モード、12球団の中から好きなチームを選択してペナントレースを戦うペナントモード、プレイヤが監督の立場でチームの選手キャラクタを育成する育成モード、およりプレイヤがある1人の選手キャラクタの立場になって野球ゲームを体感する成長体感モード等が、用意されている。
続いて、モード選択画面で選択されたプレイモードにおいて、各種のイベントが、CPU7により実行される(S4)。ここで実行される各種のイベントには、たとえば、AIプログラム(Artificial Intelligence Program)に基づいてCPU7により自動制御されるイベントや、コントローラ17からの入力信号に基づいてプレイヤにより手動制御されるイベントのようなイベントがある。また、選手キャラクタの制御には、AIプログラムに基づいて選手キャラクタに命令を自動的に指示する自動制御や、コントローラ17からの入力信号に基づいて選手キャラクタに命令を直接的に指示する手動制御等がある。このように、本野球ゲームでは、コントローラ17からの指示やAIプログラムからの指示に応じて、イベントが制御されたり、選手キャラクタに命令が指示されたりするようになっている。
続いて、選択されたプレイモードが終了したか否かが、CPU7により判断される(S5)。具体的には、プレイモードが終了したことを示す命令が発行されたか否かが、CPU7により判断される。そして、プレイモードが終了したことを示す命令が発行されたとCPU7により判断された場合(S5でYes)、ゲーム継続用のデータをRAM12に格納する処理が、CPU7により実行される。そして、ゲーム継続用のデータがRAM12に格納されると、この野球ゲームを終了するか否かを選択する選択画面が、テレビジョンモニタ20に表示される(S6)。そして、この選択画面において、プレイヤがコントローラ17を操作することにより、野球ゲームの終了を示す項目が選択されると(S6でYes)、野球ゲームを終了するための処理がCPU7により実行される(S7)。一方で、この選択画面において、プレイヤがコントローラ17を操作することにより、野球ゲームの継続を示す項目が選択されると(S6でNo)、ステップ3(S3)のモード選択画面が、テレビジョンモニタ20に再表示される。
なお、プレイモードが終了するための命令が発行されたとCPU7に判断されない限り(S5でNo)、モード選択画面で選択されたプレイモードにおいて、各種のイベントがCPU7により実行される(S4)。
次に、打者キャラクタのシーン再現システムの詳細を説明する。
以下には、シーン再現システムが対戦モードにおいて機能する場合の例が示される。たとえば、モード選択画面において対戦モードが選択されたときに、シーン再現システムが機能する場合の例が示される。特に、以下では、シーン再現システムにおいて、本塁上のクロスプレイ(シーン)が再現される場合の例が示される。
本野球ゲームでは、対戦モードが開始されると(S401)、図3に示すように、シーン再現用の仮想カメラの位置C1を3次元仮想ゲーム空間に規定するためのカメラ用の第1座標データ、シーン再現用の仮想カメラの位置C1を基準として仮想カメラの視線方向VDを規定するための位置C2を示すカメラ用の第2座標データ、シーン再現用の仮想カメラの画角を規定するための画角データGAが、CPU7に認識される。これにより、シーン再現用の仮想カメラが3次元仮想ゲーム空間に設定される(S402)。
なお、ここでは、3次元仮想空間の座標系が、図3に示すように定義されている。すなわち、ここでは、仮想カメラの視線方向VDを水平面に投影した方向をY方向、高さ方向をZ方向、Y方向とZ方向とに互いに直交する方向をX方向と、定義されている。また、図3の撮影空間の底面VBは、XY平面上に設けられている。そして、このXY平面上には、グランド面が定義されている。
続いて、図3に示すように、シーン再現用の仮想カメラの画角に入る全ての空間SK(視界空間)の内部の所定の領域が、撮影空間SSとして規定される。ここでは、シーン再現用の仮想カメラの撮影対象となる撮影空間SSの奥行きを規定するための境界、たとえば、仮想カメラ側の面VS1(第1面)および仮想カメラから離反した側の面VS2(第2面)を、3次元仮想ゲーム空間の所定の位置に設定することにより、撮影空間SSが3次元仮想ゲーム空間に規定される(S403)。
具体的には、仮想カメラの位置C1の第1座標データ(x1,y1,z1)のy座標に、仮想カメラの位置C1からの第1面VS1までの距離ys1を加算する処理を制御部に実行させることにより、第1面用の境界用のデータ(x1,y1+ys1,z1)が算出される。また、仮想カメラの位置C1の第1座標データ(x1,y1,z1)のy座標に、仮想カメラの位置C1からの第2面VS2までの距離ys2を加算する処理を制御部に実行させることにより、第2面用の境界用のデータ(x1,y1+ys2,z1)が算出される。なお、距離ys1,ys2は、ゲームプログラムにおいて予め規定されており、RAM12に格納されている。また、距離ys1と距離ys2との間には、「ys2>ys1」の関係が成立している。
このようにして算出された、第1面用の境界用のデータ、および第2面用の境界用のデータを、第1面VS1の位置座標データおよび第2面VS2の位置座標データとして、CPU7に認識させることにより、第1面VS1および第2面VS2が3次元仮想ゲーム空間に決定され、撮影空間SSが3次元仮想ゲーム空間に規定される。
なお、シーン再現用の仮想カメラの撮影対象となる撮影空間SSの幅方向の境界は、シーン再現用の仮想カメラの幅方向の第1画角データGAxyによって規定される(図4を参照)。また、シーン再現用の仮想カメラの撮影対象となる撮影空間SSの高さ方向の境界は、シーン再現用の仮想カメラの高さ方向の第2画角データGAyzによって規定される(図3を参照)。このように、ここでは、シーン再現用の仮想カメラの画角データGAは、幅方向の第1画角データGAxy、および高さ方向の第2画角データGAyzから構成されている。
続いて、試合イベントが開始されプレイが実行されると(S404)、実行されたプレイが再現対象のプレイであるか否かが、CPU7により判別される(S405)。ここでは、再現対象のプレイは、ゲームプログラムにおいて予め規定されている。
具体的には、実行されたプレイが、ゲームプログラムにおいて予め規定された再現対象のプレイ、たとえば、3塁に走者キャラクタK1が存在していて打者キャラクタにより安打又は外野フライが放たれた場合のプレイであるか否かが、CPU7により判別される。
ここでは、たとえば、走者キャラクタK1が3塁に存在する場合、3塁における出塁状況を示すフラグの値として、数値「1」がCPU7により割り当てられる。また、走者キャラクタK1が3塁に存在しない場合、3塁における出塁状況を示すフラグの値として、数値「0」がCPU7により割り当てられる。このフラグの値をCPU7に認識させることにより、走者キャラクタK1が3塁に存在するか否かが、CPU7により判別される。
また、たとえば、打者キャラクタにより安打が放たれた場合、打撃結果を示す結果データの値として、ヒットに対応する数値「1」、2塁打に対応する数値「2」、3塁打に対応する数値「3」、およびホームランに対応する数値「4」のいずれか1つが、CPU7により割り当てられる。そして、打者キャラクタにより外野フライが放たれた場合、打撃結果を示す結果データの値として、外野フライに対応する数値「11」が、CPU7により割り当てられる。そして、上記以外の結果の場合、打撃結果を示す結果データの値として、数値「0」が、CPU7により割り当てられる。この結果データの値をCPU7に認識させることにより、打者キャラクタが安打又は外野フライを放ったか否かが、CPU7により判別される。
ここで、実行されたプレイが再現対象のプレイであるとCPU7により判別された場合(S405でYes)、この再現対象のプレイに関わるキャラクタの動作を再現するための座標データおよび画像データが、RAM12に格納される(S406)。たとえば、3塁に走者キャラクタK1が存在していて打者キャラクタにより安打又は外野フライが放たれた場合、再現対象のプレイに関わるキャラクタは、走者キャラクタK1、捕手キャラクタK2、および主審キャラクタK3となる。このため、この場合は、プレイ中の走者キャラクタK1、プレイ中の捕手キャラクタK2、およびプレイ中の主審キャラクタK3それぞれの座標データおよび画像データが、RAM12に格納される。また、ここでは、プレイ中のボールの座標データおよび画像データも、RAM12に格納される(S407)。
なお、ボールの座標データは、ボールの軌道方程式に基づいて算出される。たとえば、ボールの軌道方程式は、位置と時間の関数になっている。このボールの軌道方程式において、ボールの送出位置の時間を基準として、時間を1/60(sec)ずつ進行させることにより、所定のフレームにおけるボールの位置が算出される。なお、このボールの軌道方程式を構成するための変数および定数は、ゲームプログラムにおいて予め規定されている。
続いて、ここでRAM12に格納されたデータに基づいて、再現対象のプレイ(実行済みのプレイ)を3次元仮想ゲーム空間において再実行する処理が、CPU7により実行される。
まず、3次元仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データが、CPU7に認識される。たとえば、3塁に走者キャラクタK1が存在していて打者キャラクタが安打又は外野フライを放った場合、ホームベースに突入する走者キャラクタK1、ボールを捕球する捕手キャラクタK2、および主審キャラクタK3それぞれの座標データが、1フレームごとに、CPU7に認識される(S408)。ここでCPU7に認識される各キャラクタの座標データは、ステップ406(S406)でRAM12に格納されたデータである。
次に、3次元仮想ゲーム空間の内部を移動するボールの座標データが、CPU7に認識される。たとえば、3塁に走者キャラクタK1が存在していて打者キャラクタが安打又は外野フライを放った場合、ボールを捕球した野手キャラクタから捕手キャラクタK2へと送球されたボールの座標データが、1フレーム(1/60sec)ごとに、CPUに認識される(S409)。ここでCPU7に認識されるボールの座標データは、ステップ407(S407)でRAM12に格納されたデータである。
続いて、各フレームの複数のキャラクタそれぞれの座標データに基づいて、複数のキャラクタが撮影空間SSの内部に位置しているか否かが、1フレームごとに、CPU7により判断される(S410)。ここでは、たとえば、走者キャラクタK1の座標データ、捕手キャラクタK2の座標データ、および主審キャラクタK3の座標データに基づいて、走者キャラクタK1、捕手キャラクタK2、および主審キャラクタK3が撮影空間SSの内部に位置しているか否かが、CPU7に判断される。
具体的には、図4に示すように、まず、3次元仮想空間の上部から撮影空間SSを見下ろした系(XY座標系)において、仮想カメラの位置C1の第1座標データと各キャラクタ(走者キャラクタK1、捕手キャラクタK2、および主審キャラクタK3)の座標データとに基づいて、仮想カメラと各キャラクタとを結ぶ第1線分の長さを算出する処理が、CPU7により実行される。また、仮想カメラの第1座標データと仮想カメラの第2座標データとに基づいて、仮想カメラの位置と仮想カメラの視点位置とを結ぶ第2線分の長さ(仮想カメラの視線方向VDの線分の長さ)を算出する処理が、CPU7により実行される。さらに、仮想カメラの第2座標データと各キャラクタの座標データとに基づいて、仮想カメラの視点位置と各キャラクタとを結ぶ第3線分の長さを算出する処理が、CPU7により実行される。
これらの、第1線分の長さ、第2線分の長さ、および第3線分の長さを余弦定理に代入することにより、第1線分と第2線分とがなす角度A1の余弦(=cos(A1))がCPU7により算出される。すると、この余弦の逆関数を算出する処理をCPU7に実行させることにより、第1線分と第2線分とがなす角度A1(第1角度)が算出される。このようにして、仮想カメラおよびキャラクタを結ぶ直線と、仮想カメラの視線方向VDに向かう直線とがなす角度A1(第1角度)が、CPU7により設定される。
なお、図4には、走者キャラクタK1、捕手キャラクタK2、および主審キャラクタK3が、撮影空間の内部に位置する場合の例が示されている。図4では、走者キャラクタK1用の第1角度A1が「A1_K1」、捕手キャラクタK2用の第1角度A1が「A1_K2」、主審キャラクタK3用の第1角度A1が「A1_K3」で、示されている。
次に、図4に示すように、XY座標系において、仮想カメラの視線方向VDに向かう直線と撮影領域の境界とがなす角度A2(第2角度)が、CPU7により算出される。ここでは、仮想カメラの視線方向VDの直線が、仮想カメラの幅方向の画角を2等分しているので、仮想カメラの幅方向の画角を示す第1画角データGAxyに「1/2」を乗じる計算を、CPU7に実行させることにより、第2角度A2が算出される。このようにして、仮想カメラの視線方向VDに向かう直線と撮影領域の境界とがなす角度A2(第2角度)が、CPU7により設定される。
なお、ここでは、第1画角データGAxyに「1/2」を乗じる計算を、CPU7に実行させることにより、第2角度A2が算出される場合の例が示されている。しかし、第1画角データGAxyに「1/2」を乗じた値に所定の数値「dGA1(>0)」を加算したものを、第2角度A2(=GAxy/2+dGA1)として用いても良い。たとえば、調整値「dGA1」を含む第2角度A2を用いることにより、後述する判断を行うと、キャラクタを、撮影空間SSの境界から内部側に余裕をもって収めることができる。すなわち、この場合、キャラクタを確実に撮影空間SSに収めることができる。
続いて、仮想カメラおよびキャラクタを結ぶ直線と、仮想カメラの視線方向VDに向かう直線とがなす角度A1(第1角度)が、仮想カメラの視線方向VDに向かう直線と撮影領域の境界とがなす角度A2(第2角度)より小さいか否かが、各キャラクタに対してCPU7により判断される。すなわち、第1角度A1が第2角度A2より小さいか否かを判断することにより、各キャラクタが撮影空間SSの内部に位置しているか否かが判断される。
そして、各キャラクタの第1角度A1が第2角度A2より小さいと判断された場合(S410でYes:「A1_K1<A2」,且つ「A1_K2<A2」,且つ「A1_K3<A2」)、全てのキャラクタが、撮影空間SSの内部に位置していることになる。たとえば、この場合、走者キャラクタK1、捕手キャラクタK2、および主審キャラクタK3が、撮影空間SSの内部に位置していることになる。すると、3次元仮想ゲーム空間において水平距離が最も離れた2つのキャラクタのそれぞれの座標データに基づいて、2つのキャラクタの中点に対応する座標データを算出する処理がCPU7により実行される。たとえば、図4では、走者キャラクタK1と主審キャラクタK3との間の水平距離が最も大きいので、走者キャラクタK1の座標データおよび主審キャラクタK3の座標データに基づいて、これら2つのキャラクタの中点の座標データが、CPU7により算出される。
そして、ここで算出された中点のX座標を、カメラ用の第2座標データのX座標としてCPU7に再認識させることにより、仮想カメラの視線方向VDが変更される(S411)。すなわち、カメラ用の第2座標データのX座標を、上記の中点のX座標に変更する処理を、CPU7に実行させることにより、仮想カメラの視線方向VDが変更される。すると、後述するステップ414(S414)の処理が、CPU7により実行される。
一方で、複数のキャラクタのうちの少なくともいずれか1つのキャラクタの第1角度A1が第2角度A2以上であると判断された場合(S410でNo:「A1_K1≧A2」,「A1_K2≧A2」,および「A1_K3≧A2」の中の少なくともいずれかの1つの条件式が成立した場合)、第1角度A1が第2角度A2以上であるキャラクタが、撮影空間SSの外部に位置していることになる。たとえば、図5では、主審キャラクタK3の第1角度A1_K3が第2角度A2以上になるので(条件式「A1_K3≧A2」が成立するので)、主審キャラクタK3が、撮影空間SSの外部に位置していることになる。
この図5に対応する状態において、撮影空間SSがテレビジョンモニタ20に表示されると、図8(a)に示す画像になる。なお、図8(a)に示す画像は、参考のために示したものであって、本実施形態でテレビジョンモニタ20に表示される画像は、図8(b)になる。
すると、撮影空間SSの外部に位置するキャラクタが撮影空間SSの内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、CPU7により実行される(S412)。
たとえば、本塁上のクロスプレイにおいて、主審キャラクタK3が撮影空間SSの外部に位置した場合、すなわち主審キャラクタK3の第1角度A1_K3が第2角度A2以上になった場合、この主審キャラクタK3が撮影空間SSの内部に位置するように、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、CPU7により実行される。
ここでは、仮想カメラの画角を拡大する処理および複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理のいずれか一方の処理が、CPU7により実行される。
たとえば、仮想カメラの画角を拡大する処理の場合、図6に示すように、仮想カメラの画角データGA(第1画角データGAxy)に所定の値dGAxyを加算する処理が、CPU7により実行される。これにより、仮想カメラの画角データが、「GAxy+dGAxy」に変更される。この処理は、全てのキャラクタが撮影空間SSの内部に位置するまで、繰り返しCPU7により実行される。たとえば、繰り返し回数がn1回の場合、仮想カメラの画角データGA(第1画角データGAxy)に「n1・dGAxy」が加算された値、すなわち「GAxy+n1・dGAxy」が、仮想カメラの新規の画角データとなる。ここで、n1は、自然数をとる。
また、複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理の場合、図7に示すように、複数のキャラクタから離れる方向の仮想カメラの位置座標データ(x1,“y1”,z1)に、所定の値dybを加算する処理が、CPU7により実行される。これにより、仮想カメラの位置座標データが、「(x1,y1+dyb,z1)」に変更される。この処理は、全てのキャラクタが撮影空間SSの内部に位置するまで、繰り返しCPU7により実行される。たとえば、繰り返し回数がn2回の場合、複数のキャラクタから離れる方向の仮想カメラの位置座標データ(x1,“y1”,z1)に「n2・dyb」が加算されたもの、すなわち「(x1,y1+n2・dyb,z1)」が、仮想カメラの新規の位置座標データとなる。ここで、n2は、自然数をとる。
なお、仮想カメラの画角を拡大する処理、又は複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理が実行されるときには、撮影空間SSにおける第1面の定義位置および第2面の定義位置は、固定されている。このため、仮想カメラの画角の拡大、又は複数のキャラクタから離れる方向への仮想カメラの移動が行われると、撮影空間SSが拡大される。すなわち、この場合、撮影空間SSの水平方向(幅方向)の領域が拡大される。
ここでは、仮想カメラの画角を拡大する処理(第1処理)、又は複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理(第2処理)が実行される場合の例が示されているが、どの処理が実行されるのかについては、シーンごとにゲームプログラムにおいて予め規定されている。すなわち、各シーンに対応する処理が、CPU7により実行される。たとえば、あるシーンでは、仮想カメラの画角を拡大する処理(第1処理)のみが、単独で実行される。また、他のシーンでは、複数のキャラクタから離れる方向に仮想カメラの位置を移動する処理(第2処理)のみが、単独で実行される。さらに、別の他のシーンでは、第1処理および第2処理の両方の処理が、連続的に実行される。このような、各シーンと各シーンにおいて実行される処理との対応関係は、ゲームプログラムにおいて予め規定されている。
続いて、全てのキャラクタが撮影空間SSの内部に位置すると、たとえば、走者キャラクタK1、捕手キャラクタK2、および主審キャラクタK3が撮影空間SSの内部に位置すると、3次元仮想ゲーム空間において水平距離が最も離れた2つのキャラクタのそれぞれの座標データに基づいて、2つのキャラクタの中点に対応する座標データを算出する処理がCPU7により実行される。
たとえば、走者キャラクタK1のx座標と捕手キャラクタK2のx座標との差の絶対値、走者キャラクタK1のx座標と主審キャラクタK3のx座標との差の絶対値、および捕手キャラクタK2のx座標と主審キャラクタK3のx座標との差の絶対値のそれぞれの値の中で、最も大きな値を有する2つのキャラクタが、CPU7に認識される。そして、これら2つのキャラクタそれぞれの座標データに基づいて、これら2つのキャラクタの中点に対応する座標データを算出する処理がCPU7により実行される。
そして、ここで算出された中点のX座標を、カメラ用の第2座標データのX座標としてCPU7に再認識させることにより、仮想カメラの視線方向VDが変更される(S413)。すなわち、カメラ用の第2座標データのX座標を、上記の中点のX座標に変更する処理を、CPU7に実行させることにより、仮想カメラの視線方向VDが変更される。
続いて、撮影空間SSに配置された複数のキャラクタをクローズアップするか否かが、CPU7により判別される(S414)。たとえば、ここでは、3次元仮想ゲーム空間において水平距離が最も離れた2つのキャラクタのそれぞれの座標データに基づいて、これら2つのキャラクタの水平距離が、CPU7により算出される。そして、これら2つのキャラクタの水平距離が、キャラクタをクローズアップするタイミングを決定するための距離以下であるか否かが、CPU7により判別される。なお、キャラクタをクローズアップするタイミングを決定するための距離は、ゲームプログラムにおいて予め所定の値に規定されている。
そして、これら2つのキャラクタの水平距離が、キャラクタをクローズアップするタイミングを決定するための距離以下になった場合(S414でYes)、クローズアップ命令がCPU7から発行される。すると、仮想カメラの画角を縮小する処理、および複数のキャラクタに近づく方向に仮想カメラを移動する処理の少なくともいずれか一方の処理が、CPU7により実行される(S415)。具体的には、仮想カメラの画角を縮小する処理においては、仮想カメラの画角データから所定の値を減算する処理が、CPU7により実行される。また、複数のキャラクタに近づく方向に仮想カメラの位置を移動する処理においては、複数のキャラクタに近づく方向の位置座標データから所定の値を減算する処理が、CPU7により実行される。
なお、ここで用いられる仮想カメラの画角縮小量および仮想カメラの移動量は、ゲームプログラムにおいて予め規定されている。また、ここでの処理は、ステップ412(S412)の処理とは符号が異なるものの、ステップ412(S412)の処理と同様に実行することができる。
そして、このような処理が実行されると、各キャラクタ、たとえば走者キャラクタK1、捕手キャラクタK2、および主審キャラクタK3それぞれが、各キャラクタ用の画像データを用いて、テレビジョンモニタ20に表示される。また、ボールが撮影空間SSの内部に位置するときには、ボールが、ボール用の画像データを用いてテレビジョンモニタ20に表示される(S416)。このように、走者キャラクタK1と捕手キャラクタK2(主審キャラクタK3)とがある一定の距離に近づいたときには、クロスプレイに関わるキャラクタ(走者キャラクタK1、捕手キャラクタK2、および主審キャラクタK3)が、図9に示すように、テレビジョンモニタ20に拡大表示される。なお、図9は、拡大表示された、クロスプレイ時の一例としての画像である。
一方で、2つのキャラクタの水平距離が、キャラクタをクローズアップするタイミングを決定するための距離より大きい場合(S414でNo)、撮影空間SSに配置されたキャラクタは、クローズアップされない。すなわち、クローズアップ命令がCPU7から発行されない。この場合、図8(b)に示すように、ステップ411(S411)の処理が終了した状態の撮影空間SSに配置されたキャラクタが、各キャラクタ用の画像データを用いて、テレビジョンモニタ20に表示される(S416)。また、ステップ413(S413)の処理が終了した状態の撮影空間SSに配置されたキャラクタが、各キャラクタ用の画像データを用いて、テレビジョンモニタ20に表示される(S416)。
続いて、ボールがキャラクタの位置に到達したか否かが、CPU7により判断される(S417)。たとえば、捕手キャラクタによりボールが捕球されたか否かが、CPU7により判断される。具体的には、捕手キャラクタによりボールが捕球された場合、捕手キャラクタにボールが捕球されたことを示すために、フラグに数値「1」がCPU7により割り当てられる。また、捕手キャラクタによりボールが捕球されていない場合、捕手キャラクタにボールが捕球されていないことを示すために、フラグに数値「0」がCPU7により割り当てられる。このようなフラグの値をCPU7に認識させることにより、捕手キャラクタによりボールが捕球されたか否かが、CPU7により判断される。
そして、たとえば、捕手キャラクタによりボールが捕球された場合(S417でYes)、再現対象のプレイをテレビジョンモニタ20に表示する処理が終了される(S418)。一方で、捕手キャラクタによりボールが捕球されていない場合(S417でNo)、次フレームにおいて、ステップ408(S408)が再実行される。
続いて、対戦が終了したか否かが、CPU7により判断される(S419)。すなわち、対戦が終了する命令が発行されたか否かが、CPU7により判断される。そして、対戦を終了する命令が発行された場合(S419でYes)、各種のデータをRAM12に格納する処理が行われる(S420)。一方で、対戦を終了する命令が発行されない限り(S419でNo)、ステップ404(S404)以降の処理が、CPU7により繰り返し実行される。
上記のように、本実施形態では、撮影対象の複数のキャラクタK1,K2,K3のうちの少なくともいずれか1つのキャラクタが撮影空間SSの外部に位置していると判別された場合に、外部に位置するキャラクタK1,K2,K3を、撮影空間SSの内部に自動的に位置させることができる。特に、本実施形態では、外部に位置するキャラクタK1,K2,K3を、撮影空間SSの内部に単に位置させるだけでなく、撮影空間SSの内部にバランス良く配置することができる。このように、本実施形態では、仮想カメラの設定を手動で行わなくても、撮影対象のキャラクタを容易にモニタに収めることができる。また、本実施形態では、撮影対象のキャラクタをバランス良くモニタに収めることができる。
〔他の実施形態〕
(a)前記実施形態では、撮影対象のキャラクタが撮影空間の外部に位置していると制御部に判断された場合に、このキャラクタが撮影空間の内部に位置するように、仮想カメラの画角および仮想カメラの位置の少なくともいずれか一方が変更される場合の例を、示した。
前記実施形態に、次のような手段を加えることにより、あるキャラクタ(野手キャラクタ、走者キャラクタ、審判キャラクタ)と仮想カメラとの間に他のキャラクタ(野手キャラクタ、走者キャラクタ、審判キャラクタ)が位置したとしても、撮影対象のキャラクタ(野手キャラクタ、走者キャラクタ、審判キャラクタ)が互いに重ならないように、テレビジョンモニタ20に表示することができる。
ここでは、図14に示すように、たとえば、オブジェクト配置手段150と、キャラクタ位置関係判断手段151と、第2カメラ設定変更手段152とが、前記実施形態にさらに付加される。前記実施形態の各種手段については、説明を省略する。
オブジェクト配置手段150は、仮想ゲーム空間の内部における静止オブジェクトの座標データをCPU7に認識させることにより、静止オブジェクトを仮想ゲーム空間に配置するためのものである。
また、キャラクタ位置関係判断手段151は、複数のキャラクタそれぞれの座標データおよびカメラ用の第1座標データに基づいて、複数のキャラクタの中のいずれか1つのキャラクタと仮想カメラとの間に、このキャラクタを除いた他のキャラクタが位置しているか否かを、制御部に判断させるためのものである。
さらに、第2カメラ設定変更手段152は、上記のいずれか1つのキャラクタと仮想カメラとの間に、他のキャラクタが位置していると制御部に判断された場合に、静止オブジェクトの位置を基準として、仮想カメラの位置を所定の角度で移動するためのものである。
この場合、カメラ設定手段50では、カメラ用の第1座標データ、静止オブジェクトの位置を基準としたカメラ用の第2座標データ、および仮想カメラの画角を規定するための画角データGA(GAxy)を制御部に認識させることにより、仮想カメラが仮想ゲーム空間に設定される(図15を参照)。そして、キャラクタ位置関係判断手段151および第2カメラ設定変更手段152によって、撮影対象のキャラクタK2と仮想カメラとの間に、他の撮影対象のキャラクタK3が位置していると制御部に判断された場合に、静止オブジェクトの位置C2を基準として、仮想カメラの位置C1が所定の角度Bで移動させられる(図16を参照)。
具体的には、図15に示すように、カメラ用の第1座標データC1、ホームベース(静止オブジェクト)の位置を基準としたカメラ用の第2座標データC2、および仮想カメラの画角の画角データGA(GAxy)に基づいて、仮想カメラが仮想ゲーム空間に設定される。ここでは、カメラ用の第2座標データが示す位置は、ホームベース上方の所定の位置に設定されている。
そして、たとえば、図15に示すように、捕手キャラクタK2と仮想カメラとの間に主審キャラクタK3が位置した場合、ホームベースの位置C2を基準として、仮想カメラを所定の角度Bで移動する命令がCPU7から発行される。すると、図16に示すように、仮想カメラがゲーム空間において移動する。これにより、主審キャラクタK3と捕手キャラクタK2とが、重なり合うことなく、テレビジョンモニタ20に表示される。図16では、仮想カメラが45度で反時計回りに移動する場合の例を示したが、この角度Bは任意に設定可能である。
なお、オブジェクト配置手段150に係る処理は、前記実施形態のステップ401(S401)とステップ402(S402)との間において、CPU7により実行される。また、キャラクタ位置関係判断手段151および第2カメラ設定変更手段152に係る処理は、前記実施形態のステップ415(S415)とステップ416(S416)との間において、CPU7により実行される。
(b)前記実施形態では、タッチアップ後のホームベース上でのクロスプレイを例として説明しているが、塁上でのクロスプレイだけでなく、以下のような場合にも、本発明は適用することができる。たとえば、左方向(レフト方向)に強い打球が飛び、それに対してレフト守備のキャラクタが飛び込んで捕球しようとするような場合にも、本発明は適用することができる。このシーンは、打球をキャッチしてファインプレーとなるか、キャッチできずにヒットになるかといった重要なシーンである。この場合、センター守備のキャラクタは、仮にレフト守備のキャラクタの後ろに打球が抜けてもそれをカバーをできる位置にいるのか否かも、その状況では重要な要素である。このため、もし仮想カメラの視野角からセンター守備のキャラクタが外れている場合には、センター守備のキャラクタが視野角内に収まるように仮想カメラの自動調整が行われる。
(c)前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
(d)本発明には、前述したようなゲームを実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROMカセット、その他のものが挙げられる。
本発明の一実施形態によるビデオゲーム装置の基本構成図。 前記ビデオゲーム装置の一例としての機能ブロック図。 3次元ゲーム空間に配置された、撮影空間を説明するための図。 キャラクタと撮影空間との関係を示す図(その1)。 キャラクタと撮影空間との関係を示す図(その2)。 仮想カメラの設定を変更した後のキャラクタと撮影空間との関係を示す図(その1)。 仮想カメラの設定を変更した後のキャラクタと撮影空間との関係を示す図(その2)。 撮影空間に位置するキャラクタをモニタに表示した図。 クロスプレイ時のキャラクタがクローズアップされた図。 野球ゲームの全体概要を示すフロー。 シーン再現システムを説明するためのフローチャート(その1)。 シーン再現システムを説明するためのフローチャート(その2)。 シーン再現システムを説明するためのフローチャート(その3)。 他の実施形態による前記ビデオゲーム装置の一例としての機能ブロック図。 他の実施形態によるキャラクタと撮影空間との関係を示す図(その1)。 他の実施形態によるキャラクタと撮影空間との関係を示す図(その2)。
符号の説明
1 制御部
7 CPU
17 コントローラ
20 テレビジョンモニタ
50 カメラ設定手段
51 撮影空間規定手段
52 移動体配置手段
53 キャラクタ配置手段
54 キャラクタ位置判断手段
55 第1カメラ設定変更手段
56 キャラクタ表示手段
150 オブジェクト配置手段
151 キャラクタ位置関係判断手段
152 第2カメラ設定変更手段
K1,K2,K3 走者キャラクタ、捕手キャラクタ、主審キャラクタ
VD 仮想カメラの視線方向
C1 仮想カメラの位置
C2 仮想カメラの視線方向を規定するための位置
SS 撮影空間
A1,A1_K1,A1_K2,A1_K3 第1角度
A2 第2角度
GA,GAxy,GAyz 仮想カメラの画角データ
B 所定の角度

Claims (11)

  1. キャラクタが仮想ゲーム空間に配置され前記キャラクタが画像表示部に表示されるゲームを実行可能なコンピュータに、
    前記仮想ゲーム空間における前記仮想カメラの位置を規定するためのカメラ用の第1座標データ、前記仮想カメラの位置から前記仮想ゲーム空間を撮影するときの前記仮想カメラの視線方向を規定するためのカメラ用の第2座標データ、および前記仮想カメラの画角を規定するための画角データを制御部に認識させることにより、前記仮想カメラを前記仮想ゲーム空間に設定するカメラ設定機能と、
    前記仮想ゲーム空間において、前記仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、前記撮影空間を前記仮想ゲーム空間に規定する撮影空間規定機能と、
    前記仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数の前記キャラクタを前記仮想ゲーム空間に配置するキャラクタ配置機能と、
    複数の前記キャラクタそれぞれの座標データに基づいて、複数の前記キャラクタが前記撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断機能と、
    複数の前記キャラクタの少なくともいずれか1つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角および前記仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第1カメラ設定変更機能と、
    複数の前記キャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示機能と、
    を実現させるためのゲームプログラム。
  2. 前記第1カメラ設定変更機能では、複数の前記キャラクタの少なくともいずれか1つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角を拡大する処理および複数の前記キャラクタから離れる方向に前記仮想カメラの位置を移動する処理の少なくともいずれか一方の処理が、制御部により実行される、
    請求項1に記載のゲームプログラム。
  3. 前記第1カメラ設定変更機能では、複数の前記キャラクタの少なくともいずれか1つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角および前記仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行され、前記仮想カメラの視線方向を変更する処理が、制御部により実行される、
    請求項1又は2に記載のゲームプログラム。
  4. 前記第1カメラ設定変更機能では、前記仮想ゲーム空間において水平距離が最も離れた2つのキャラクタのそれぞれの座標データに基づいて、2つの前記キャラクタの中点に対応する座標データを算出する処理を制御部に実行させ、中点の前記座標データをカメラ用の前記第2座標データとして制御部に認識させることにより、前記仮想カメラの視線方向が変更される、
    請求項3に記載のゲームプログラム。
  5. 前記キャラクタ位置判断機能では、前記仮想カメラおよび前記キャラクタを結ぶ直線と前記仮想カメラの視線方向に向かう直線とがなす角度が、前記仮想カメラの視線方向に向かう直線と前記撮影領域の境界とがなす角度より小さいか否かを、複数の前記キャラクタそれぞれに対して、制御部に判断させることにより、複数の前記キャラクタが前記撮影空間の内部に位置しているか否かが判断される、
    請求項1から4のいずれかに記載のゲームプログラム。
  6. 前記コンピュータに、
    前記仮想ゲーム空間の内部を移動する移動体の座標データを制御部に認識させることにより、前記移動体を前記仮想ゲーム空間に配置する移動体配置機能、
    をさらに実現させ、
    前記キャラクタ配置機能では、前記移動体が衝突する第1キャラクタ、前記第1キャラクタとは異なる位置に位置する第2キャラクタ、および前記第2キャラクタとは異なる位置に位置する第3キャラクタそれぞれの座標データを制御部に認識させることにより、前記第1キャラクタ、前記第2キャラクタ、および前記第3キャラクタが前記仮想ゲーム空間に配置され、
    前記キャラクタ位置判断機能では、前記第1キャラクタの座標データ、前記第2キャラクタの座標データ、および前記第3キャラクタの座標データに基づいて、前記第1キャラクタ、前記第2キャラクタ、および前記第3キャラクタが前記撮影空間の内部に位置しているか否かが、制御部に判断され、
    前記第1カメラ設定変更機能では、前記第1キャラクタ、前記第2キャラクタ、および前記第3キャラクタの少なくともいずれか1つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角および前記仮想カメラの位置の少なくともいずれか一方を変更する処理が、制御部により実行される、
    前記キャラクタ表示機能では、前記第1キャラクタ、前記第2キャラクタ、および前記第3キャラクタが、キャラクタ用の画像データを用いて、画像表示部に表示される、
    請求項1から5のいずれかに記載のゲームプログラム。
  7. 前記コンピュータに、
    仮想ゲーム空間の内部の静止オブジェクトの座標データをCPU7に認識させることにより、静止オブジェクトを仮想ゲーム空間に配置するオブジェクト配置機能、
    をさらに実現させ、
    前記カメラ設定機能では、前記仮想ゲーム空間における前記仮想カメラの位置を規定するためのカメラ用の第1座標データ、前記仮想カメラの位置から前記仮想ゲーム空間を撮影するときの前記仮想カメラの視線方向を規定するための前記静止オブジェクトの位置を基準としたカメラ用の第2座標データ、および仮想カメラの画角を規定するための画角データを制御部に認識させることにより、前記仮想カメラが前記仮想ゲーム空間に設定される、
    請求項1から6のいずれかに記載のゲームプログラム。
  8. 前記コンピュータに、
    複数の前記キャラクタそれぞれの座標データおよび前記カメラ用の第1座標データに基づいて、複数の前記キャラクタの中のいずれか1つのキャラクタと前記仮想カメラとの間に、前記いずれか1つのキャラクタを除いた他のキャラクタが位置しているか否かを、制御部に判断させるキャラクタ位置関係判断機能と、
    前記いずれか1つのキャラクタと前記仮想カメラとの間に、他の前記キャラクタが位置していると制御部に判断された場合に、前記静止オブジェクトの位置を基準として、前記仮想カメラの位置を所定の角度で移動する第2カメラ変更機能と、
    をさらに実現させるための請求項7に記載のゲームプログラム。
  9. 前記コンピュータに、
    前記キャラクタのプレイが再現対象のプレイであるか否かを、制御部に判断させる再現プレイ判断機能、
    をさらに実現させ、
    前記キャラクタのプレイが再現対象のプレイであると制御部に判断された場合に、前記キャラクタ配置機能において、複数の前記キャラクタが前記仮想ゲーム空間に配置される、
    請求項1から8のいずれかに記載のゲームプログラム。
  10. キャラクタが仮想ゲーム空間に配置され前記キャラクタが画像表示部に表示されるゲームを実行可能なゲーム装置であって、
    前記仮想ゲーム空間における前記仮想カメラの位置を規定するためのカメラ用の第1座標データ、前記仮想カメラの位置から前記仮想ゲーム空間を撮影するときの前記仮想カメラの視線方向を規定するためのカメラ用の第2座標データ、および前記仮想カメラの画角を規定するための画角データを制御部に認識させることにより、前記仮想カメラを前記仮想ゲーム空間に設定するカメラ設定手段と、
    前記仮想ゲーム空間において、前記仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、前記撮影空間を前記仮想ゲーム空間に規定する撮影空間規定手段と、
    前記仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数の前記キャラクタを前記仮想ゲーム空間に配置するキャラクタ配置手段と、
    複数の前記キャラクタそれぞれの座標データに基づいて、複数の前記キャラクタが前記撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断手段と、
    複数の前記キャラクタの少なくともいずれか1つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角および前記仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第1カメラ設定変更手段と、
    複数の前記キャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示手段と、
    を備えるゲーム装置。
  11. キャラクタが仮想ゲーム空間に配置され前記キャラクタが画像表示部に表示されるゲームを制御可能なゲーム制御方法であって、
    前記仮想ゲーム空間における前記仮想カメラの位置を規定するためのカメラ用の第1座標データ、前記仮想カメラの位置から前記仮想ゲーム空間を撮影するときの前記仮想カメラの視線方向を規定するためのカメラ用の第2座標データ、および前記仮想カメラの画角を規定するための画角データを制御部に認識させることにより、前記仮想カメラを前記仮想ゲーム空間に設定するカメラ設定ステップと、
    前記仮想ゲーム空間において、前記仮想カメラの撮影対象となる撮影空間を規定するための境界用のデータを、制御部に認識させることにより、前記撮影空間を前記仮想ゲーム空間に規定する撮影空間規定ステップと、
    前記仮想ゲーム空間の内部に位置する複数のキャラクタそれぞれの座標データを制御部に認識させることにより、複数の前記キャラクタを前記仮想ゲーム空間に配置するキャラクタ配置ステップと、
    複数の前記キャラクタそれぞれの座標データに基づいて、複数の前記キャラクタが前記撮影空間の内部に位置しているか否かを、制御部に判断させるキャラクタ位置判断ステップと、
    複数の前記キャラクタの少なくともいずれか1つのキャラクタが前記撮影空間の外部に位置していると制御部に判断された場合に、前記撮影空間の外部に位置する前記キャラクタが前記撮影空間の内部に位置するように、前記仮想カメラの画角および前記仮想カメラの位置の少なくともいずれか一方を変更する処理を、制御部に実行させる第1カメラ設定変更ステップと、
    複数の前記キャラクタそれぞれを、キャラクタ用の画像データを用いて、画像表示部に表示するキャラクタ表示ステップと、
    を備えるゲーム制御方法。
JP2008250524A 2008-04-17 2008-09-29 ゲームプログラム、ゲーム装置及びゲーム制御方法 Pending JP2009273865A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008250524A JP2009273865A (ja) 2008-04-17 2008-09-29 ゲームプログラム、ゲーム装置及びゲーム制御方法
US12/412,982 US8487928B2 (en) 2008-04-17 2009-03-27 Game program, game apparatus, and game control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008108273 2008-04-17
JP2008250524A JP2009273865A (ja) 2008-04-17 2008-09-29 ゲームプログラム、ゲーム装置及びゲーム制御方法

Publications (1)

Publication Number Publication Date
JP2009273865A true JP2009273865A (ja) 2009-11-26

Family

ID=41200753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008250524A Pending JP2009273865A (ja) 2008-04-17 2008-09-29 ゲームプログラム、ゲーム装置及びゲーム制御方法

Country Status (2)

Country Link
US (1) US8487928B2 (ja)
JP (1) JP2009273865A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012043009A1 (ja) * 2010-09-30 2012-04-05 株式会社セガ 画像処理プログラム及びコンピュータ読み取り可能な記録媒体

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016073035A1 (en) * 2014-11-05 2016-05-12 Super League Gaming, Inc. Game system
JP6598522B2 (ja) * 2015-06-12 2019-10-30 任天堂株式会社 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム
CN108415639B (zh) * 2018-02-09 2022-02-25 腾讯科技(深圳)有限公司 视角调整方法、装置、电子装置及计算机可读存储介质
US11260295B2 (en) 2018-07-24 2022-03-01 Super League Gaming, Inc. Cloud-based game streaming
US11305191B2 (en) * 2018-12-20 2022-04-19 Activision Publishing, Inc. Systems and methods for controlling camera perspectives, movements, and displays of video game gameplay
CN111957042B (zh) * 2020-09-04 2024-02-23 网易(杭州)网络有限公司 游戏镜头的控制方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998043715A1 (fr) * 1997-04-03 1998-10-08 Sega Enterprises, Ltd. Procede de presentation d'une image de jeu et procede de commande associe
JPH11207029A (ja) * 1998-01-28 1999-08-03 Konami Co Ltd ビデオゲーム装置、ビデオゲームにおける画面表示方法及び画面表示プログラムが格納された可読記録媒体
JP2001353358A (ja) * 2000-06-14 2001-12-25 Namco Ltd ゲーム装置および情報記憶媒体
JP2004130003A (ja) * 2002-10-15 2004-04-30 Namco Ltd ゲームシステム、プログラム及び情報記憶媒体
JP2005319220A (ja) * 2004-05-11 2005-11-17 Sega Corp 画像処理プログラム、ゲーム処理プログラムおよびゲーム情報処理装置
JP2006314763A (ja) * 2005-04-11 2006-11-24 Sega Corp 対戦ビデオゲーム制御プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000179188A (ja) * 1998-12-15 2000-06-27 Takashima & Co Ltd 間口広さの拡縮可能な骨組膜構造物
US6803912B1 (en) * 2001-08-02 2004-10-12 Mark Resources, Llc Real time three-dimensional multiple display imaging system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998043715A1 (fr) * 1997-04-03 1998-10-08 Sega Enterprises, Ltd. Procede de presentation d'une image de jeu et procede de commande associe
JPH11207029A (ja) * 1998-01-28 1999-08-03 Konami Co Ltd ビデオゲーム装置、ビデオゲームにおける画面表示方法及び画面表示プログラムが格納された可読記録媒体
JP2001353358A (ja) * 2000-06-14 2001-12-25 Namco Ltd ゲーム装置および情報記憶媒体
JP2004130003A (ja) * 2002-10-15 2004-04-30 Namco Ltd ゲームシステム、プログラム及び情報記憶媒体
JP2005319220A (ja) * 2004-05-11 2005-11-17 Sega Corp 画像処理プログラム、ゲーム処理プログラムおよびゲーム情報処理装置
JP2006314763A (ja) * 2005-04-11 2006-11-24 Sega Corp 対戦ビデオゲーム制御プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012043009A1 (ja) * 2010-09-30 2012-04-05 株式会社セガ 画像処理プログラム及びコンピュータ読み取り可能な記録媒体
JP2012075482A (ja) * 2010-09-30 2012-04-19 Sega Corp 画像処理プログラム及びコンピュータ読み取り可能な記録媒体
US9345958B2 (en) 2010-09-30 2016-05-24 Kabushiki Kaisha Sega Image processing apparatus for forming a view frustum on a display device

Also Published As

Publication number Publication date
US20090262112A1 (en) 2009-10-22
US8487928B2 (en) 2013-07-16

Similar Documents

Publication Publication Date Title
JP4536098B2 (ja) ゲームプログラム、ゲーム装置、およびゲーム制御方法
JP2009273865A (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2008093309A (ja) 電子遊戯装置、電子遊戯用制御方法およびゲームプログラム
JP2009207780A (ja) ゲームプログラム、ゲーム装置、およびゲーム制御方法
WO2007052707A1 (ja) プログラム、プログラムが記録された記憶媒体およびゲーム装置
JP4463289B2 (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP4521020B2 (ja) ゲームプログラム、ゲーム装置、およびゲーム制御方法
JP2008093307A (ja) 電子遊戯装置、電子遊戯用制御方法およびゲームプログラム
JP4115488B2 (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP4572245B2 (ja) 画像処理プログラム、画像処理装置及び画像処理制御方法
JP2007167117A (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2008237654A (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP4543054B2 (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP4191768B2 (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JPH10216357A (ja) ゲームのリプレイ機能を有するゲームプログラムを記録した記録媒体
US8216037B2 (en) Game device, game device control method, and information storage medium
JP5072937B2 (ja) ゲームプログラム、ゲーム装置、ゲーム制御方法
JP2007159817A (ja) ゲームプログラム、ゲーム装置及びゲーム方法
JP3912658B2 (ja) 画像処理装置、画像処理方法及びこれを用いたゲーム装置並びに記憶媒体
JP5315274B2 (ja) ゲームプログラム、ゲーム装置、ゲーム制御方法
JP2008229116A (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2010142441A (ja) ゲームプログラム、ゲーム装置、及びゲーム制御方法
JP4772079B2 (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JPH11244538A (ja) ゲ―ム装置の制御を行う情報を記憶するディスク
JP2008245752A (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100420

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100618

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100831