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

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

Info

Publication number
JP4388984B2
JP4388984B2 JP2008035330A JP2008035330A JP4388984B2 JP 4388984 B2 JP4388984 B2 JP 4388984B2 JP 2008035330 A JP2008035330 A JP 2008035330A JP 2008035330 A JP2008035330 A JP 2008035330A JP 4388984 B2 JP4388984 B2 JP 4388984B2
Authority
JP
Japan
Prior art keywords
character
line
sight direction
viewpoint position
plane
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.)
Active
Application number
JP2008035330A
Other languages
English (en)
Other versions
JP2009189665A (ja
Inventor
達也 鈴木
淳 藤木
貴則 菊池
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2008035330A priority Critical patent/JP4388984B2/ja
Priority to PCT/JP2008/003335 priority patent/WO2009101663A1/ja
Priority to EP08872435.6A priority patent/EP2241357B1/en
Priority to EP11008072.8A priority patent/EP2428936B1/en
Priority to US12/601,541 priority patent/US8267782B2/en
Publication of JP2009189665A publication Critical patent/JP2009189665A/ja
Application granted granted Critical
Publication of JP4388984B2 publication Critical patent/JP4388984B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ゲーム制御技術に関し、とくに、3次元空間内に作成されたオブジェクトの上をキャラクタに移動させるゲームを制御するゲーム装置、ゲーム制御方法、及びゲーム制御プログラムに関する。
「だまし絵」は、平行投影変換の特性を巧みに利用して、現実にはあり得ない不思議な3次元世界を2次元平面上に表現している。例えば、エッシャーの「上昇と下降」は、実際には高さの異なる位置にある階段を、あたかもつながっているかのように描くことで、1周すると元の位置に戻り、無限に上昇又は下降し続ける不思議な階段を表現している。
本発明者は、上述しただまし絵のトリックを利用した全く新しいゲームを想到し、下記URLにて公開している。
藤木淳(Jun Fujiki)、「OLE Coordinate System」、[online]、平成18年10月6日、藤木淳(Jun Fujiki)、[平成20年2月15日検索]、インターネット<URL:http://tserve01.aid.design.kyushu-u.ac.jp/~fujiki/ole_coordinate_system/index.html>
本発明者らは、このような新しいゲームにおいて、プレイヤーの利便性を向上させる技術を想到するに至った。
本発明はこうした状況に鑑みてなされたものであり、その目的は、より娯楽性の高いゲーム制御技術を提供することにある。
本発明のある態様は、ゲーム制御プログラムに関する。このゲーム制御プログラムは、視点位置及び視線方向を設定し、3次元空間内に配置されたオブジェクトのデータを保持する保持部に保持されたデータを参照して、前記3次元空間内に配置されたオブジェクトをレンダリングする機能と、前記視点位置又は前記視線方向の変更指示を受け付けて、前記視点位置又は前記視線方向を変更する機能と、前記視点位置又は前記視線方向が所定の範囲内に入ったとき、前記視点位置又は前記視線方向を前記所定の範囲外へ変更する機能と、をコンピュータに実現させることを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、より娯楽性の高いゲーム制御技術を提供することができる。
実施の形態に係るゲーム装置は、3次元空間内に配置された立体的な通路に沿ってキャラクタを所定の位置に移動させるゲームを提供する。本実施の形態のゲームにおいては、だまし絵のトリックを応用した、現実の3次元空間ではあり得ない新しい規則に則ってキャラクタを移動させる。まず、ゲームの概要について説明する。
図1は、実施の形態に係るゲーム装置により制御されるゲームにおける3次元空間の例を示す。3次元空間内には、立方体のブロック80と、高さの異なる位置に配置されたブロック間をつなぐ階段81とを組み合わせて形成された複数の通路86及び87が設けられている。通路上には、通路の上底面に沿って自動的に移動するキャラクタであるキャスト84と、静止したキャラクタであるエコー85が配置されており、プレイヤーは、キャスト84がエコー85に接触するようにキャスト84を移動させる。通路上には、更に、キャスト84を通路の上底面から離れる方向へ移動させる機能が割り当てられる。具体的には、キャスト84を跳躍させる機能を有するファン82と、キャスト84を落下させる機能を有するホール83が配置されている。なお、ブロック80は、3次元空間内に設定された3本の座標軸のそれぞれに平行な辺を有する平行六面体であってもよく、直交座標系においては直方体であってもよいが、本実施の形態では理解を容易にするために立方体とする。
キャスト84が配置された通路86と、エコー85が配置された通路87は、3次元空間内では離間しているので、キャスト84が通路86に沿って移動している限り、エコー85に接触することはない。しかし、本実施の形態では、以下の5つの新しい規則を採用し、空間的に離間した通路間をキャスト84が移動することを可能とする。
1.主観的移動
図2(a)(b)は、本実施の形態で採用される第1の規則を説明するための図である。図2(a)において、ブロック90aとブロック90bは高さの異なる位置に配置されているが、図2(b)に示したように視点を移動すると、あたかもつながっているかのように見える。本実施の形態では、このように、あたかもつながっているかのように見えるブロック同士を、実際につながっているものとして扱い、ブロック90aからブロック90bへのキャスト84の移動を可能とする。この規則を「主観的移動」と呼ぶ。
2.主観的着地
図3(a)(b)は、本実施の形態で採用される第2の規則を説明するための図である。図3(a)において、ホール83が設けられたブロック91aとブロック91bとは同じ高さに配置されているが、図3(b)に示したように視点を移動すると、ブロック91bはブロック91aの真下にあるかのように見える。本実施の形態では、このように、ホール83からキャスト84が落下したとき、あたかも足下にあるかのように見えるブロック91bに、キャスト84が実際に着地することを可能とする。この規則を「主観的着地」と呼ぶ。
3.主観的存在
図4(a)(b)は、本実施の形態で採用される第3の規則を説明するための図である。図4(a)において、ブロック92aとブロック92bは、空間的に離間した位置に配置されているが、図4(b)に示したように視点を移動すると、ブロック92aとブロック92bの間の隙間がオブジェクト92cにより隠され、あたかもつながっているかのように見える。本実施の形態では、このように、他のオブジェクトにより隠された位置に、ブロックが存在しているものとして扱い、ブロック92aからブロック92bへのキャスト84の移動を可能とする。この規則を「主観的存在」と呼ぶ。
4.主観的不在
図5(a)(b)は、本実施の形態で採用される第4の規則を説明するための図である。図5(a)において、ブロック93aにはホール83が設けられているが、図5(b)に示したように視点を移動すると、ブロック93aに設けられたホール83が他の通路により隠され、あたかもホール83が存在しないかのように見える。本実施の形態では、このように、他のオブジェクトにより隠されたファン82及びホール83を、実際に存在しないものとして扱い、ファン82及びホール83の機能を発現しない。この規則を「主観的不在」と呼ぶ。
5.主観的跳躍
図6(a)(b)は、本実施の形態で採用される第5の規則を説明するための図である。図6(a)において、ファン82が設けられたブロック94aとブロック94bとは空間的に大きく離間した位置に配置されているが、図6(b)に示したように視点を移動すると、ブロック94aとブロック94bとの間の距離が縮まったかのように見える。本実施の形態では、このように、ファン82によりキャスト84が跳躍したとき、あたかもファン82の近くに存在するように見えるブロック94bに、キャスト84が実際に着地することを可能とする。この規則を「主観的跳躍」と呼ぶ。
上述した5つの規則を用いることにより、プレイヤーは、3次元空間内では実際には離間した通路間であっても、視点位置を操作することでキャスト84を移動させることができる。
図7は、実施の形態に係るゲーム装置10の構成を示す。ゲーム装置10は、コントローラ20、入力受付部30、制御部40、形状データ保持部60、画面生成部66、及び表示装置68を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのCPU、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
入力受付部30は、プレイヤーが操作するコントローラ20から入力される制御信号を受け付ける。制御部40は、入力受付部30が受け付けたプレイヤーからの操作入力に基づいて視点位置を制御しつつ、3次元空間内に配置された立体的な通路に沿ってキャストを移動させるゲームを進行させる。形状データ保持部60は、3次元空間内に配置されたオブジェクトのデータを保持する。画面生成部66は、制御部40により制御されるゲームの画面を生成し、表示装置68に表示させる。
図8は、コントローラ20の外観を示す。コントローラ20の上面には、十字キー21、△ボタン22、□ボタン23、○ボタン24、×ボタン25、アナログスティック26及び27が設けられている。また、コントローラ20の側面には、Lボタン28及びRボタン29が設けられている。本実施の形態では、十字キー21及びアナログスティック26及び27には、視点位置を入力した方向へ移動させる機能が、Rボタン29には、視点位置の移動を高速化する機能が、それぞれ割り当てられている。また、△ボタン22には、キャスト84を停止させる機能が、×ボタン25には、キャスト84の移動を高速化する機能が、それぞれ割り当てられている。また、□ボタン23には、後述するように、主観的移動が可能なブロックの探索を要求する機能が、○ボタン24には、探索対象を変更する機能が、それぞれ割り当てられている。
図9は、コントローラ20の別の例を示す。図9は、携帯型のゲーム装置10の外観を示しており、ゲーム装置10の上面には、コントローラ20と表示装置68が設けられている。図8に示したコントローラ20と同様の機能を有する部材には、同じ符号を付している。
形状データ保持部60は、3次元空間内に配置されたオブジェクトのデータを保持する。形状データ保持部60は、ブロック80や階段81などのオブジェクトの中心位置の3次元ワールド座標、キャスト84やエコー85などのキャラクタの現在位置の3次元ワールド座標、ファン82及びホール83が配置されたブロック80の識別情報などを保持する。また、形状データ保持部60は、ブロック80、階段81、ファン82、ホール83、キャスト84、エコー85などの3次元形状データを保持する。
本実施の形態では、同じ形状の立方体のブロック80を3次元空間に配置する。これにより、プレイヤーが通路の立体的な形状を把握しやすくなるとともに、上述した規則が適用されやすいようにすることができる。また、レンダリングの負荷を低減させることができる。また、3次元格子の決まった位置にブロック80が配置されるので、立方体の各辺を単位ベクトルとする座標系における座標でブロック80の位置を表現してもよい。これにより、データ量を低減することができるとともに、後述する探索の処理負荷を低減させることができる。
視点変更部41は、入力受付部30から伝達される、プレイヤーが入力した視点位置又は視線方向の変更指示を受け付けて、3次元空間をレンダリングするための視点位置又は視線方向を変更する。視点変更部41は、3次元空間内に設定された所定位置を中心とした球面に沿って視点位置を移動させてもよい。このとき、視点位置から所定位置への方向を視線方向としてもよい。視点変更部41は、変更した視点位置を第1レンダリング部42及び第2レンダリング部43へ通知する。
図10は、視点変更部41の動作について説明するための図である。視点変更部41は、コントローラ20の十字キー21又はアナログスティック26による方向の入力を受け付けると、点96を中心とした球面に沿って、入力された方向へ視点位置95を移動させる。視点位置95から中心の点96へ向かう方向が視線方向となる。球の半径は、3次元空間に配置されたオブジェクト全体の大きさなどに応じて、例えば全体が画面におさまるように伸縮されてもよい。なお、本実施の形態では、視点変更部41が視点位置を変更するが、別の例では、オブジェクトのワールド座標に回転変換を施すことにより、3次元空間を回転させてもよい。
視点変更部41は、視線方向が、キャスト84が移動するブロック80の上底面に平行又は垂直となる状態が所定時間以上維持されることを禁止する。このように視点位置を制限する理由を以下に述べる。
図11(a)(b)は、視点位置を真横に移動させることを禁止する理由を説明するための図である。図11(a)に示した3次元空間を矢印の方向、すなわち真横から見たとき、図11(b)に示すように、通路86の上面と通路87の上面は一致するので、主観的移動により通路86と通路87の間を容易に行き来することができてしまう。また、通路の上面に配置されるファン82及びホール83は全て見えなくなるので、主観的不在により全てのファン82及びホール83は機能しなくなる。このように、水平方向に視点位置を移動させることを許すと、ゲームが極端に容易になってしまうことがある。
図12(a)(b)は、視点位置を真上に移動させることを禁止する理由を説明するための図である。図12(a)に示した3次元空間を矢印の方向、すなわち真上から見たとき、図12(b)に示すように、実際には高さの異なる位置に配置されたブロック94aを含む通路とブロック94bを含む通路がつながって見えるので、主観的移動によりブロック94aとブロック94との間を容易に行き来することができてしまう。このように、真上又は真下に視点位置を移動させることを許すと、ゲームが極端に容易になってしまうことがある。
以上のように、本実施の形態のゲームでは、主観的移動によりつながって見える通路間を移動することができるという規則を採用しているため、真上、真下、真横という特定の方向に視点位置を移動することを許すと、ゲームの難易度が極端に変わってしまうという新たな問題が生じる。したがって、視点変更部41は、図10に示すように、視点位置の変更を、上方向は水平から65°まで、下方向は水平から40°までの範囲に制限し、それ以上視点位置を変更する指示入力があっても無視して、上記の範囲外に視点位置を変更することを禁止する。また、真横の方向を含む水平から上下5°以内の範囲内に視点位置が入ったとき、視点位置を範囲外へ強制的に移動させる。
図13は、視点位置を下方向へ移動させたときの視点変更部41の動作を説明するための図である。プレイヤーが、視点位置を位置95から下方向へ移動させたとき、視点変更部41は、水平方向から上へ5°の位置97aまでは視点位置を連続的に下方向へ移動させる。位置97aにおいて、更に視点位置を下方向へ移動させる操作入力を受け付けると、視点変更部41は、視点位置を水平方向から下へ5°の位置97bまで強制的に移動させ、位置97aから位置97bまでの間における視点位置の停止を禁止する。視点変更部41は、位置97aから位置97bまで非連続的に視点位置をジャンプさせてもよいし、連続的にスライドさせてもよい。いずれにしても、水平方向すなわち真横の位置に視点位置が停止させないように視点位置を制御する。
後者の例において、視点変更部41は、位置97aから位置97bまで連続的に視点位置を変更している間に、プレイヤーから視点位置を下方向以外の方向へ変更させる指示入力を受け付けると、新たに入力された方向へ視点位置を移動させつつ、水平方向から上下へ5°の範囲から外れるように視点位置を移動させてもよい。例えば、位置97aから位置97bまで視点位置を変更している間に、上方向へ視点位置を変更させる指示入力を受け付けると、その時点の位置から移動方向を上方向へ切り替え、位置97aまで視点位置を連続的に変更する。また、右方向へ視点位置を変更させる指示入力を受け付けると、その時点の位置から移動方向を右下方向へ切り替え、水平方向から下へ5°の位置まで視点位置を移動させる。要は、水平方向から上下へ5°の範囲内に所定時間以上視点位置が維持されないようにすればよい。
図14は、視点位置を上方向に移動させたときの視点変更部41の動作を説明するための図である。プレイヤーが、視点位置を位置95から上方向へ移動させたとき、視点変更部41は、水平方向から上へ65°の位置98aまでは視点位置を連続的に上方向へ移動させる。位置98aにおいて、更に視点位置を上方向へ移動させる操作入力を受け付けると、視点変更部41は、それを無視し、真上への視点位置の移動を禁止する。
図15は、視点位置を上方向に移動させたときの視点変更部41の動作の別の例を示す。位置98aにおいて、更に視点位置を上方向へ移動させる操作入力を受け付けると、視点変更部41は、視点位置を逆側の位置98bまで強制的に移動させ、位置98aから位置98bまでの間における視点位置の停止を禁止する。この場合、そのまま視点位置を逆側へ移動させると、画面の上下方向が逆転し、操作入力の方向と視点位置の移動方向とが逆転してしまうので、画面の上下方向を反転させてもよい。
第1レンダリング部42は、視点変更部41から視点位置を取得し、形状データ保持部60に保持されたデータを参照して、3次元空間に配置されたオブジェクトを平行投影変換によりレンダリングする。第1レンダリング部42は、通知された視点位置から3次元空間内に設定された所定位置へ向かう方向を視線方向に設定してレンダリングしてもよい。すなわち、第1レンダリング部42は、視点位置から所定位置へ向かうベクトルを法線ベクトルとする平面を投影面として3次元空間を投影する。
第2レンダリング部43は、第1レンダリング部42と同様に、視点変更部41から視点位置を取得し、形状データ保持部60に保持されたデータを参照して、ブロック80及び階段81をレンダリングする。第2レンダリング部43は、各ピクセルの画素値を算出して表示画面を生成するのではなく、各ピクセルにブロックのID、面のID、Z値を格納する。第2レンダリング部43は、さらに、ファン82やホール83の有無を示す情報を各ピクセルに格納してもよい。このレンダリング結果は、後述するように、キャラクタ制御部44により利用される。第2レンダリング部43の機能の一部又は全部が、第1レンダリング部42と共有されてもよい。
キャラクタ制御部44は、3次元空間内に配置されたブロック80により形成された通路の上底面に沿ってキャスト84などのキャラクタを移動させる。キャラクタ制御部44は、キャスト84を所定の速度で移動させ、第1レンダリング部42がレンダリングを行う時間間隔に合わせてキャストの現在位置の3次元ワールド座標を算出し、形状データ保持部60を更新する。キャラクタ制御部44は、プレイヤーが×ボタン25を押下している間は、通常よりも速い速度でキャスト84を移動させる。キャラクタ制御部44は、プレイヤーが△ボタン22を押下すると、キャスト84の移動を停止させ、プレイヤーが再び△ボタン22を押下すると、キャスト84の移動を再開させる。
キャラクタ制御部44は、キャスト84がブロック80の中央を通過する前に、キャスト84を次に移動させるブロックを判定する。キャラクタ制御部44は、キャスト84の足下にあるブロックの前後左右に隣接するブロック又は階段が存在するか否かを次のように判定し、移動先のブロックを決定する。
キャラクタ制御部44は、まず、キャスト84の足下にあるブロックを基準にして、進行方向の左側に隣接するブロックが存在するか否かを判定する。キャラクタ制御部44は、3次元空間内において左側に隣接するブロックが実際に存在する場合は、そのブロックを移動先に設定する。キャラクタ制御部44は、3次元空間内において左側に隣接するブロックにファン82又はホール83が配置されていても、レンダリングされた2次元平面においてオブジェクトにより隠されて見えない場合は、それらの機能を発現させない(主観的不在)。
キャラクタ制御部44は、3次元空間内において左側に隣接するブロックの位置に、実際にはブロックが存在しなくても、その位置に仮想ブロックを配置したとき、2次元平面に仮想ブロックが描画されるはずの位置から第1の範囲内に描画されているブロックがあれば、そのブロックが、3次元空間内において左側に隣接する位置に実際に存在するものとして、そのブロックを移動先に設定する(主観的移動)。キャラクタ制御部44は、第2レンダリング部43のレンダリング結果を参照して移動先のブロックのIDを取得し、更に形状データ保持部60を参照してそのブロックの3次元ワールド座標を取得することにより、そのブロックに移動した後のキャスト84の現在位置の3次元ワールド座標を算出する。
キャラクタ制御部44は、3次元空間内において左側に隣接するブロックの位置が、レンダリングされた2次元平面においてオブジェクトにより隠されて見えない場合は、実際にその位置にブロックが存在しなくても、ブロックが存在するものとして、そのブロックを移動先に設定する(主観的存在)。キャラクタ制御部44は、実際には存在しないブロックの上を主観的存在によりキャスト84が通過している間に、キャスト84の足下にブロックが存在していないことが見える位置に視点位置が変更された場合、キャスト84をその位置から下方へ落下させる。このとき、キャスト84がホール83から落下するときと同様に、2次元平面内でキャスト84の下方にブロックが存在すれば、そのブロックにキャスト84を着地させる。
キャラクタ制御部44は、進行方向の左側に隣接するブロックが存在しなければ、前、右、後ろの順に移動先のブロックを探索する。キャラクタ制御部44は、キャスト84が前後左右に隣接するいずれのブロックにも移動できないと判定した場合、キャスト84をその位置に留まらせる。
キャラクタ制御部44は、キャスト84がファン82の上を通過したとき、ファン82に設定された初速度でキャスト84を跳躍させる。ただし、キャラクタ制御部44は、3次元空間内でキャスト84の軌跡を計算するのではなく、レンダリングされた2次元空間内で軌跡を計算する。キャラクタ制御部44は、第2レンダリング部43によりレンダリングされた2次元平面のデータを参照して、跳躍したキャスト84が落下するときの軌跡上にブロックが存在するか否かを判定し、ブロックが存在すれば、キャスト84をそのブロックに着地させる。このとき、キャラクタ制御部44は、落下するキャスト84が画面で最も手前になるようにZ値を設定し、ブロックのZ値にかかわらず2次元平面内で軌跡上に存在するブロックに着地させる。キャラクタ制御部44は、形状データ保持部60を参照して、着地したブロックのIDからキャスト84の現在位置の3次元ワールド座標を算出し、形状データ保持部60を更新する。
キャラクタ制御部44は、キャスト84がホール83の上を通過したとき、キャスト84をホール83の下方へ落下させる。キャラクタ制御部44は、ホール83が設けられたブロックと3次元空間内で一体になっているオブジェクトよりも下方へ落下して、キャスト84が全て見えるようになった後、2次元平面内でキャスト84の下方にブロックが存在するか否かを判定し、ブロックが存在すればキャスト84をそのブロックに着地させる。キャラクタ制御部44は、形状データ保持部60を参照して、着地したブロックのIDからキャスト84の現在位置の3次元ワールド座標を算出し、形状データ保持部60を更新する。
探索部45は、レンダリングされた2次元平面における距離が所定の範囲内にあるブロックの組を探索し、探索されたブロック同士が2次元平面において隣接して描画されるように、視点位置又は視線方向を変更する。より具体的には、探索部45は、探索対象となるブロックに隣接する位置に仮想ブロックを配置したとき、2次元平面における仮想ブロックとの距離が第1の範囲よりも長い第2の範囲内にあるブロックを探索する。該当するブロックがあれば、探索部45は、探索されたブロックと仮想ブロックとの距離が第1の範囲内になるように、視点位置又は視線方向を変更する。探索部45は、任意のタイミングで探索を行ってもよいし、視点位置が変更された後に探索を行ってもよいし、プレイヤーが□ボタン23を押下して探索を要求したときに探索を行ってもよい。
図16(a)(b)は、探索部45の動作を説明するための図である。図16(a)において、探索部45は、探索を要求する指示入力を受け付けると、まず、その時点でキャスト84が存在するブロック90aを探索対象とする。探索部45は、ブロック90aを基準として、キャスト84の進行方向の左側に仮想ブロック99aを仮想的に配置させ、第2レンダリング部43により生成された2次元平面において、仮想ブロック99aから第2の範囲内に描画されているブロックが存在するか否かを判定する。図16(a)の例では、仮想ブロック99aの近隣にはブロックは存在しないので、つづいて、ブロック90aを基準として、キャスト84の進行方向の前方に仮想ブロック99bを仮想的に配置させ、2次元平面において仮想ブロック99bから第2の範囲内に描画されているブロックが存在するか否かを判定する。図16(a)の例では、ブロック90bは仮想ブロック99bの近傍に描画されているので、探索部45は、ブロック90bを探索結果として取得する。このように、探索部45は、探索対象ブロックの前後左右に隣接する位置に仮想ブロック99a〜99dを仮想的に配置し、2次元平面において仮想ブロック99a〜999dから第2の範囲内に描画されているブロックを探索する。このとき、仮想ブロック99dの位置には、3次元空間において実際にブロックが配置されているので、仮想ブロック99dは探索対象外とする。
探索されたブロック90bは、2次元平面において、仮想ブロック99bから第1の範囲以上離間しているので、このままでは、キャラクタ制御部44はブロック90aとブロック90bが隣接しているとは判定しないので、主観的移動が成立しない。探索部45は、探索されたブロック90bが探索対象のブロック90aに隣接して描画されるように、視点位置を変更させる。具体的には、ブロック90bと仮想ブロック99bの中心間を結ぶベクトルが視線方向と平行になるように、球面の中心の点96からそのベクトルに平行な直線を引いて、球面との交点を視点位置とすればよい。これにより、2次元平面においてそれらのブロックは同じ位置にレンダリングされることになるので、図16(b)に示すように、ブロック90aとブロック90bが隣接しているように描画され、これらのブロック間で主観的移動が成立する。
ブロック90aから主観的移動が可能なブロックが発見されなかった場合は、探索部45は、キャスト84が次に移動するブロックを探索対象として、再び探索を行う。探索部45は、このように、キャスト84の現在位置から所定の範囲内にあるブロック、例えば、キャスト84が移動する予定の5つ先のブロックまでを探索対象として探索を行ってもよい。
プレイヤーが視点位置の変更により主観的移動を成立させるためには、ブロック同士が隣接して見えるように視点位置を微妙に調整する必要があるが、操作体系に不慣れなプレイヤーには微妙な調整が困難な場合がある。本実施の形態では、ブロック同士が隣接して見えるように視点位置を自動的に変更するので、プレイヤーの利便性を向上させることができる。また、探索対象をキャストの周囲に限定することで、キャストから遠く離れたブロックが偶然近接して描画されていたために、視点位置が意図しない位置に自動的に変更され、プレイヤーが混乱することを防ぐことができる。さらに、探索部45は、キャラクタ制御部44がキャスト84の移動先のブロックを判定するときと同様に、キャスト84が存在するブロックを基準として、進行方向の左、前、右、後ろの順に主観的移動が可能なブロックを探索するので、プレイヤーがキャスト84を移動させようとしているブロックを優先的に探索し、主観的移動が成立するように視点位置を移動させることができる。これにより、プレイヤーの利便性を向上させることができる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
実施の形態に係るゲーム装置により制御されるゲームにおける3次元空間の例を示す図である。 図2(a)(b)は、本実施の形態で採用される第1の規則を説明するための図である。 図3(a)(b)は、本実施の形態で採用される第2の規則を説明するための図である。 図4(a)(b)は、本実施の形態で採用される第3の規則を説明するための図である。 図5(a)(b)は、本実施の形態で採用される第4の規則を説明するための図である。 図6(a)(b)は、本実施の形態で採用される第5の規則を説明するための図である。 実施の形態に係るゲーム装置の構成を示す図である。 コントローラの外観を示す図である。 コントローラの別の例を示す図である。 視点変更部の動作について説明するための図である。 図11(a)(b)は、視点位置を真横に移動させることを禁止する理由を説明するための図である。 図12(a)(b)は、視点位置を真上に移動させることを禁止する理由を説明するための図である。 視点位置を下方向へ移動させたときの視点変更部の動作を説明するための図である。 視点位置を上方向に移動させたときの視点変更部の動作を説明するための図である。 視点位置を上方向に移動させたときの視点変更部の動作の別の例を示す図である。 図16(a)(b)は、探索部の動作を説明するための図である。
符号の説明
10 ゲーム装置、20 コントローラ、30 入力受付部、40 制御部、41 視点変更部、42 第1レンダリング部、43 第2レンダリング部、44 キャラクタ制御部、45 探索部。

Claims (10)

  1. コンピュータにより実現されるレンダリング部が、視点位置及び視線方向を設定し、3次元空間内に配置されたオブジェクトのデータを保持する保持部に保持されたデータを参照して、前記3次元空間内に配置されたオブジェクトをレンダリングする機能と、
    コンピュータにより実現される変更部が、前記視点位置又は前記視線方向の変更指示を受け付けて、前記視点位置又は前記視線方向を変更する機能と、
    コンピュータにより実現されるキャラクタ制御部が、前記オブジェクトの外面の一部を構成する平面に沿ってキャラクタを移動させる機能と、をコンピュータに実現させ、
    前記キャラクタ制御部は、前記レンダリングする機能により生成された2次元平面において近接するオブジェクト間で前記キャラクタの移動を許可し、
    前記変更部は、前記視線方向が前記平面に平行又は垂直である状態が所定時間以上維持されることを禁止するか、又は、前記視線方向が前記平面に平行又は垂直な方向を含む所定の範囲内に入ったときに、前記視線方向が前記所定の範囲外になるように前記視点位置を変更することを特徴とするゲーム制御プログラム。
  2. 前記キャラクタ制御部は、前記3次元空間内において前記キャラクタが接している第1のオブジェクトに近接するオブジェクトの位置に、実際にはオブジェクトが存在しなくても、その位置に仮想的にオブジェクトを配置したとき、仮想的に配置されたオブジェクトが前記2次元平面において描画されるはずの位置から第1の範囲内に描画されている第2のオブジェクトがあれば、前記第2のオブジェクトが前記3次元空間内において前記第1のオブジェクトに近接する位置に実際に存在するものとして、前記第1のオブジェクトから前記第2のオブジェクトへの前記キャラクタの移動を許可することを特徴とする請求項1に記載のゲーム制御プログラム。
  3. 前記キャラクタ制御部は、前記3次元空間内において前記キャラクタが接している第1のオブジェクトに近接するオブジェクトの位置が、前記2次元平面において他のオブジェクトにより隠されて見えない場合は、実際にその位置に第2のオブジェクトが存在しなくても、前記第2のオブジェクトが存在するものとして、前記第1のオブジェクトから前記第2のオブジェクトへの前記キャラクタの移動を許可することを特徴とする請求項1に記載のゲーム制御プログラム。
  4. 前記キャラクタ制御部は、前記平面上において、前記キャラクタを前記平面から離れる方向へ移動させる機能が割り当てられた位置を前記キャラクタが通過したときに、前記キャラクタを前記平面から離れる方向へ移動させる一方、前記視点位置から見て前記機能が割り当てられた位置の手前にオブジェクトが存在し、前記レンダリングする機能により生成された2次元平面において前記機能が割り当てられた位置が見えない状態にある場合には、前記機能を発現させず、前記平面に沿って前記キャラクタを移動させることを特徴とする請求項1に記載のゲーム制御プログラム。
  5. 前記変更部は、前記視線方向が前記平面に平行又は垂直となるような前記視点位置又は前記視線方向の変更指示を無視することを特徴とする請求項1から4のいずれかに記載のゲーム制御プログラム。
  6. 前記オブジェクトは、前記3次元空間内に設定された3本の座標軸のそれぞれに平行な辺を有する平行六面体を含み、
    前記キャラクタ制御部は、前記平行六面体の上底面に沿って前記キャラクタを移動させ、
    前記変更部は、前記平行六面体の上底面に平行又は垂直である状態が所定時間以上維持されることを禁止するか、又は、前記視線方向が前記平行六面体の上底面に平行又は垂直な方向を含む所定の範囲内に入ったときに、前記視線方向が前記所定の範囲外になるように前記視点位置を変更することを特徴とする請求項1から5のいずれかに記載のゲーム制御プログラム。
  7. 前記レンダリング部は、平行投影変換により前記オブジェクトをレンダリングすることを特徴とする請求項1から6のいずれかに記載のゲーム制御プログラム。
  8. 3次元空間内に配置されたオブジェクトのデータを保持する保持部と、
    視点位置及び視線方向を設定し、前記保持部に保持されたデータを参照して、前記3次元空間内に配置されたオブジェクトをレンダリングするレンダリング部と、
    前記視点位置又は前記視線方向の変更指示を受け付けて、前記視点位置又は前記視線方向を変更する変更部と、
    前記オブジェクトの外面の一部を構成する平面に沿ってキャラクタを移動させるキャラクタ制御部と、を備え、
    前記キャラクタ制御部は、前記レンダリング部により生成された2次元平面において近接するオブジェクト間で前記キャラクタの移動を許可し、
    前記変更部は、前記視線方向が前記平面に平行又は垂直である状態が所定時間以上維持されることを禁止するか、又は、前記視線方向が前記平面に平行又は垂直な方向を含む所定の範囲内に入ったとき、前記視線方向が前記所定の範囲外になるように前記視点位置を変更することを特徴とするゲーム装置。
  9. コンピュータにより実現されるレンダリング部が、視点位置及び視線方向を設定し、3次元空間内に配置されたオブジェクトのデータを保持する保持部に保持されたデータを参照して、前記3次元空間内に配置されたオブジェクトをレンダリングするステップと、
    コンピュータにより実現される変更部が、前記視点位置又は前記視線方向の変更指示を受け付けて、前記視点位置又は前記視線方向を変更するステップと、
    コンピュータにより実現されるキャラクタ制御部が、前記オブジェクトの外面の一部を構成する平面に沿ってキャラクタを移動させるステップと、を備え、
    前記キャラクタ制御部は、前記レンダリングするステップにより生成された2次元平面において近接するオブジェクト間で前記キャラクタの移動を許可し、
    前記変更部は、前記視線方向が前記平面に平行又は垂直である状態が所定時間以上維持されることを禁止するか、又は、前記視線方向が前記平面に平行又は垂直な方向を含む所定の範囲内に入ったとき、前記視線方向が前記所定の範囲外になるように前記視点位置を変更することを特徴とするゲーム制御方法。
  10. 請求項1から7のいずれかに記載のゲーム制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2008035330A 2008-02-15 2008-02-15 ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム Active JP4388984B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008035330A JP4388984B2 (ja) 2008-02-15 2008-02-15 ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
PCT/JP2008/003335 WO2009101663A1 (ja) 2008-02-15 2008-11-14 ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
EP08872435.6A EP2241357B1 (en) 2008-02-15 2008-11-14 Game device, game control method, and game control program
EP11008072.8A EP2428936B1 (en) 2008-02-15 2008-11-14 Game device, game control method and game control program
US12/601,541 US8267782B2 (en) 2008-02-15 2008-11-14 Game device, game control method, and game control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008035330A JP4388984B2 (ja) 2008-02-15 2008-02-15 ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム

Publications (2)

Publication Number Publication Date
JP2009189665A JP2009189665A (ja) 2009-08-27
JP4388984B2 true JP4388984B2 (ja) 2009-12-24

Family

ID=41072256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008035330A Active JP4388984B2 (ja) 2008-02-15 2008-02-15 ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム

Country Status (1)

Country Link
JP (1) JP4388984B2 (ja)

Also Published As

Publication number Publication date
JP2009189665A (ja) 2009-08-27

Similar Documents

Publication Publication Date Title
US9789391B2 (en) Method and apparatus for using a common pointing input to control 3D viewpoint and object targeting
JP6340414B2 (ja) 情報処理装置、情報処理システム、および情報処理方法
JP5507893B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP5157329B2 (ja) ゲーム装置
JP2007296108A (ja) ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
JP2021045608A (ja) 機能強化動作を行うことの出来るプレイヤキャラクタの制御
KR20220091600A (ko) 미리 주문된 소품을 디스플레이하기 위한 방법 및 장치, 디바이스, 매체 및 제품
EP3796988B1 (en) Virtual camera placement system
KR20230145430A (ko) 가상 환경에서의 좌표축 표시 방법 및 장치, 그리고 단말기 및 매체
JP7049968B2 (ja) ゲームプログラム、方法、および情報処理装置
JP4388985B2 (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
WO2009101663A1 (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
WO2009104227A1 (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP4388984B2 (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP5506158B2 (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP2009213721A (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP2022056813A (ja) プログラム、コンピュータシステムおよびゲームシステム
Caputo et al. A Comparison of Navigation Techniques in a Virtual Museum Scenario.
JP6152394B2 (ja) 情報処理プログラム
KR102362707B1 (ko) 게임용 가상패드의 화면상 위치 및 크기를 조정하는 방법 및 이를 이용한 서버
Anderson et al. Light-tracing: Ray-casted movement for improved character control in platform virtual reality gaming
CN114210063A (zh) 虚拟对象之间的互动方法、装置、设备、介质及程序产品
JP2012249859A (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP2012161586A (ja) ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム
JP2007296107A (ja) ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090630

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: 20090929

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091005

R150 Certificate of patent or registration of utility model

Ref document number: 4388984

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131009

Year of fee payment: 4

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

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250