JP4307317B2 - ゲーム装置およびゲームプログラム - Google Patents

ゲーム装置およびゲームプログラム Download PDF

Info

Publication number
JP4307317B2
JP4307317B2 JP2004133471A JP2004133471A JP4307317B2 JP 4307317 B2 JP4307317 B2 JP 4307317B2 JP 2004133471 A JP2004133471 A JP 2004133471A JP 2004133471 A JP2004133471 A JP 2004133471A JP 4307317 B2 JP4307317 B2 JP 4307317B2
Authority
JP
Japan
Prior art keywords
line
grid
unit line
unit
end point
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.)
Expired - Lifetime
Application number
JP2004133471A
Other languages
English (en)
Other versions
JP2005316687A (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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2004133471A priority Critical patent/JP4307317B2/ja
Publication of JP2005316687A publication Critical patent/JP2005316687A/ja
Application granted granted Critical
Publication of JP4307317B2 publication Critical patent/JP4307317B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

本発明は、ゲーム装置およびゲームプログラムに関し、より特定的には、3次元の仮想空間において地形オブジェクトを描画するゲーム装置およびゲームプログラムに関する。
従来、3次元の仮想的なゴルフコースにおいて仮想的なゴルフをプレイするゴルフゲーム装置がある。このようなゴルフゲーム装置では、ゴルフコースを構成する3次元の地形についての傾斜の方向や傾斜の度合いを、プレイヤに対して正確かつ分かり易く提示する必要がある。なぜなら、このようなゴルフゲーム装置では、現実世界のゴルフと同様、地形の傾斜の様子(傾斜の方向や度合い)がボールの移動に影響するようにプログラムされており、地形の傾斜の様子がゲームプレイに大きな影響を与えるからである。しかしながら、3次元的な地形オブジェクトは2次元的な表示装置の画面に表示されるので、プレイヤは、傾斜の様子を正確かつ容易に把握することが困難である。
この種のゴルフゲーム装置の一例が、特許3410409号(以下、特許文献1)に開示されている。この特許文献1に開示されるゴルフゲーム装置は、ゴルフコースの地形上にガイド線(グリッド)を表示する。そして、地形の傾斜の様子をプレイヤに分かり易く提示するために、地形の高低差によってガイド線の輝度を変化させて表示する。
また、この種のゴルフゲーム装置の他の一例が、非特許文献1に開示されている。この非特許文献1に開示されるゴルフゲーム装置は、ゴルフコースの地形上にグリッドを表示するとともに、グリッドの上を移動する粒子を表示する。さらに、地形の傾斜の様子をプレイヤに分かり易く提示するために、傾斜が急な場所では粒子は速く流れるように移動表示され、傾斜が緩やかな場所では粒子は遅く流れるように移動表示される。
この種のゴルフゲームのさらに他の一例が、非特許文献2に開示されている。この非特許文献2に開示されるゴルフゲーム装置は、ゴルフコースの地形上にグリッドを表示する。そして、地形の傾斜の様子をプレイヤに分かり易く提示するために、傾斜の度合いに応じてグリッドを構成する線の表示形態を変化させている。すなわち、傾斜が急な場所ではグリッド要素の数を多くし、傾斜が緩やかな場所ではグリッド要素の数を少なくするようにして、グリッドを一定速度で流れるように描画する。
特許3410409号公報 「みんなのゴルフ3」,ソニーコンピュータエンタテインメント,2001年7月26日,p11 「マリオゴルフファミリーツアー」,任天堂,2003年9月5日,p11
特許文献1に開示されるゴルフゲーム装置では、ガイド線の輝度の変化だけで高低差を表しているので、背景となるゴルフコースの地形の色によっては、プレイヤにとって高低差がわかりにくい場合がある。具体的には、芝の領域とバンカーの領域とのように、背景色が異なる領域間の輝度の差がわかりにくく、結果として、コースの傾斜の様子がわかりにくくなる。また、リアルさを追及する目的でゴルフコースに影を表示する場合には、影による輝度変化と高低差による輝度変化とが混じってしまうことが原因で、コースの傾斜の様子がわかりにくくなる。さらに、特許文献1に開示されるゴルフゲーム装置では、ガイド線に動きがなく、静的な表示であるので、ゴルフコースの地形上をボールがどのように転がるのかがプレイヤにとってイメージし難いという問題もあった。
また、非特許文献1に開示されたゴルフゲーム装置では、グリッドを構成する線上を粒子が移動するので、グリッドが存在しない場所では、地形が傾斜しているイメージをプレイヤに抱かせることが難しかった。また、粒子は、グリッドを構成する線毎に独立して移動しており、ある粒子とその周囲に存在する粒子との関係がわかりにくかった。つまり、各粒子の速度の違い(どちらの粒子が速く動いているか、すなわち、どちらの傾斜の方が急であるか)を認識することが困難であった。
さらに、非特許文献2に開示されたゴルフゲーム装置では、非特許文献1に開示されたゴルフゲーム装置と同様、グリッドの線が存在しない場所においては、地形が傾斜しているイメージをプレイヤに抱かせることが難しい。また、このゴルフゲーム装置ではグリッド要素の数によって傾斜の違いを表現しているが、傾斜の違い、すなわち、グリッド要素の数の違いは、プレイヤが直感的にわかりにくい。従って、特に、グリッド要素の数の違いが小さい場合、プレイヤにとっては傾斜の違いを即座に認識することが困難であった。
それゆえに、この発明の主たる目的は、プレイヤが容易に地形を認識することができる、ゲーム装置およびゲームプログラムを提供することである。
また、この発明の他の目的は、ゴルフコースの地形の傾斜の度合いをプレイヤが直感的に認識することができ、ゲームプレイの進行を迅速に行うことができる、ゴルフゲーム装置を提供することである。
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、この欄における括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
本発明の第1の発明は、地形オブジェクト描画手段(S1(ステップ1の略。以下同様。)を実行するCPU31。以下、単にステップ番号のみを示す。)と、グリッド描画手段(S7)と、移動描画手段(S9)とを備えるゲーム装置である。地形オブジェクト描画手段は、3次元の仮想空間における地形オブジェクト(70)を描画する。グリッド描画手段は、多角形の単位グリッドを格子状に複数並べて構成され、地形オブジェクトの高さに応じて格子点の高さが設定されたグリッド(73)を地形オブジェクトの上に描画する。移動描画手段は、グリッドを構成する線(縦単位線)を、当該線が描画される位置において地形オブジェクトが傾斜している方向に向かって移動させて描画する。
また、第2の発明においては、グリッド描画手段は、互いに交わらない複数の第1線と、互いに交わらずかつ当該第1線に交わる複数の第2線とによって構成されるグリッドを描画してもよい。このとき、移動描画手段は、第1線と第2線との各交点を結ぶ線を単位線とし、グリッドを構成する線を、単位線を単位として移動させて描画する。
また、第3の発明においては、移動描画手段は、第1線を構成する第1単位線の一方の端点である第1端点(前端点)の高さが、当該第1端点を含む単位線であって第2線を構成する単位線である第2単位線の端点である第2端点の高さよりも高いとき、当該第1端点が当該第2端点へ向かって当該第2単位線上を移動するように、当該第1単位線を移動させて描画してもよい。
また、第4の発明においては、移動描画手段は、第1単位線の端点であって第1端点とは異なる端点である第3端点(奥端点)の高さが、当該第3端点を含む単位線であって第2線を構成する単位線である第3単位線の端点である第4端点の高さよりも高いとき、当該第3端点が当該第4端点へ向かって第3単位線上を移動するように、かつ、当該第1端点および当該第3端点が両端となるように、第1単位線を移動させて描画してもよい。
また、第5の発明においては、移動描画手段は、第1端点の高さと第2端点の高さとの差の大きさに応じて、当該第1端点が第2線上を移動する速度を決定してもよい。
また、第6の発明においては、移動描画手段は、グリッドの初期位置の線を残しつつ、単位線を移動させて描画してもよい。
また、第7の発明においては、移動描画手段は、ユーザによって所定の操作が行われたとき、単位線をグリッドの初期位置に戻してもよい。
また、第8の発明においては、移動描画手段は、単位線がグリッドの初期位置から所定距離(2単位グリッド分)だけ移動したとき、単位線をグリッドの初期位置に戻してもよい。
また、第9の発明においては、移動描画手段は、単位線が移動を開始してから所定時間が経過したとき、単位線をグリッドの初期位置に戻してもよい。
また、第10の発明においては、移動描画手段は、単位グリッドを構成する4つの単位線のうちの互いに対向する2つの単位線のうちの高さが高い方の単位線を低い方の単位線の方向へ移動させて描画してもよい。
また、第11の発明においては、移動描画手段は、単位線の端点のうちの所定側に存在する端点(前端点)の高さを当該単位線の高さとしてもよい。
また、第12の発明においては、移動描画手段は、高さが高い方の単位線と低い方の単位線との差の大きさに応じて、当該高い方の単位線の移動速度を変化させてもよい。
また、第13の発明においては、移動描画手段は、グリッドを構成する単位線のうち、第1線を構成する第1単位線(縦単位線)のみを移動させるとともに、初期状態において互いに接続されている第1単位線については互いに接続された状態で移動させるようにしてもよい。
なお、本発明は、上記ゲーム装置のコンピュータにおいて実行されることによってゲーム装置に上記の機能を実現させるゲームプログラム(41)として提供されてもよい。
上記第1の発明によれば、グリッドを構成する線自体を地形オブジェクトの傾斜に応じて移動させることによって、グリッド自体が移動しているようなイメージをプレイヤに与えることができる。従って、プレイヤは、容易に地形を認識することができる。
上記第2の発明によれば、グリッドを構成する単位線が移動することによって、縦単位線とそれに隣接する縦単位線との関係を分かり易く表示することができる。
上記第3の発明によれば、グリッドの端点の高さによって高さを判断することができるので、単位線を移動させる方向を容易に算出することができる。
上記第4の発明によれば、前端点と奥端点とを結ぶことによって移動後の単位線を容易に描画することができる。
上記第5の発明によれば、地形オブジェクトの傾斜角度に応じて単位線の移動速度が変化するので、プレイヤは、地形オブジェクトの傾斜角度を容易に認識することができる。
上記第6の発明によれば、グリッドの初期状態が表示されるので、移動前後における単位線の様子を容易に認識することができる。
上記第7の発明によれば、時間が経過した結果、各単位線がばらついて移動しているような状態となった場合でも、プレイヤは、このような状態を自己の操作によって容易に解消することができる。
上記第8の発明によれば、単位線は所定範囲を繰り返し移動するので、当該所定範囲における地形オブジェクトの傾斜を分かり易く表示することができる。
上記第9の発明によれば、時間が経過した結果、各単位線がばらついて移動しているような状態となった場合でも、このような状態を自動的に解消することができる。
上記第10の発明によれば、単位線は周囲の単位線の高さに応じて移動するので、単位線を移動させる方向を容易に算出することができる。
上記第11の発明によれば、グリッドの端点の高さによって高さを判断することができるので、単位線を移動させる方向を容易に算出することができる。
上記第12の発明によれば、地形オブジェクトの傾斜角度に応じて単位線の移動速度が変化するので、プレイヤは、地形オブジェクトの傾斜角度を容易に認識することができる。
上記第13の発明によれば、単位線は、その両側の単位線と接続されて移動するので、ある単位線とその両側の単位線との関係をより分かり易く表示することができる。
以下、本発明の一実施形態に係るゲーム装置およびゲームプログラム、並びに当該ゲーム装置を含むゲームシステムについて説明する。図1は、当該ゲームシステム1の外観図である。なお、本実施形態では、本発明に係るゲーム装置として据置型ゲーム装置を一例に上げて説明するが、ゲームシステムはこれに限定されるものではなく、例えば携帯型ゲーム装置、アーケードゲーム装置、携帯端末、携帯電話またはパーソナルコンピュータなどのように、ゲームプログラムを実行するコンピュータを搭載する機器に適用することができる。
図1において、ゲームシステム1は、据置型ゲーム装置(以下、単にゲーム装置と記載する)3と、当該ゲーム装置3に接続コードを介して接続される表示装置の一例であるテレビジョン受像機(以下、単にテレビと記載する)2とを含む。ゲーム装置3には、プレイヤによって操作可能な複数の操作スイッチを有するコントローラ6が接続される。また、ゲーム装置3には、本発明に係るゲームプログラムを記憶した情報記憶媒体の一例の光ディスク4が着脱自在に装着される。さらに、ゲーム装置3には、ゲームのセーブデータ等を記憶するフラッシュメモリ等を搭載するカートリッジ5が必要に応じて着脱自在に装着される。ゲーム装置3は、光ディスク4に記憶されたゲームプログラムを実行することによって得られるゲーム画像をテレビ2に表示する。さらに、ゲーム装置3は、カートリッジ5に記憶されたセーブデータを用いて、過去に実行されたゲームの続きを実行したり、過去に実行されたゲーム状態を再現して、ゲーム画像をテレビ2に表示することもできる。そして、ゲーム装置3のプレイヤは、テレビ2に表示されたゲーム画像を見ながらコントローラ6を操作することによってゲームを楽しむことができる。
コントローラ6は、上述したように接続コードを介してゲーム装置3に着脱自在に接続される。コントローラ6は、テレビ2に表示されるゲーム空間に登場するプレイヤオブジェクト(プレイヤの操作対象であるオブジェクト(キャラクタ))を主に操作するための操作手段であり、複数の操作スイッチとして、操作ボタン、キー、およびスティック等の入力部を備えている。具体的には、コントローラ6には、プレイヤによって把持されるグリップ部が形成される。また、コントローラ6は、プレイヤの左手の親指等によって操作可能なメインスティック61および十字キー62と、右手の親指等によって操作可能なCスティック63およびAボタン64等を含む。なお、コントローラ6は、上記ボタンの他、Bボタン、Xボタン、Yボタン、およびスタート−ポーズボタンや、プレイヤの右手の人差し指等によって操作可能なRボタン、プレイヤの左手の人差し指等によって操作可能なLボタンを含む。また、ゲームシステム1は、ゲーム装置3に複数のコントローラ6を接続することによって、複数のプレイヤが同時にゲームをプレイすることができる。
次に、図2を参照して、本発明に係るゲーム装置3の構成について説明する。図2は、ゲームシステム1の機能ブロック図である。図2において、ゲーム装置3は、各種プログラムを実行するCPU(セントラルプロセッシングユニット)31を備える。CPU31は、図示しないブートROMに記憶された起動プログラムを実行し、ワークメモリ32等のメモリの初期化等を行った後、光ディスク4に記憶されているゲームプログラムをワークメモリ32に一旦読み込んだ後に当該ゲームプログラムを実行し、そのゲームプログラムに応じたゲーム処理を行うものである。CPU31には、ワークメモリ32、ビデオRAM(VRAM)33、外部メモリインターフェース(I/F)34、コントローラインターフェース(I/F)35、GPU(Graphics ProceSing Unit)36、および光ディスクドライブ37がバスを介して接続される。
ワークメモリ32は、CPU31で使用される記憶領域であって、CPU31の処理に必要なゲームプログラム等を適宜記憶する。例えば、ワークメモリ32は、CPU31によって光ディスク4から読み出されたゲームプログラムや各種データ等を記憶する。このワークメモリ32に記憶されたゲームプログラムや各種データ等がCPU31によって実行される。VRAM33は、テレビ2にゲーム画像を表示するためのゲーム画像データを格納する。外部メモリI/F34は、図示しないコネクタにカートリッジ5を嵌合させることによってゲーム装置3とカートリッジ5とを通信可能に接続する。CPU31は、カートリッジ5に設けられたバックアップメモリに外部メモリI/F34を介してアクセスする。コントローラI/F35は、図示しないコネクタによって外部機器とゲーム装置3とを通信可能に接続する。例えば、コントローラ6は、接続コードを介して当該コネクタと嵌合し、コントローラI/F35を介してゲーム装置3と接続される。GPU36は、例えば、3Dグラフィックスの表示に必要なベクトル演算やレンダリング処理等の処理をCPU31からの指示に応じて行う半導体チップで構成され、当該GPU36によってレンダリングされたゲーム画像はテレビ2に表示される。光ディスクドライブ37は、CPU31からの指示に応じて、光ディスク4に記憶されたゲームプログラム、画像データ、サウンドデータなどの各種のデータを読み出す。
以下、光ディスク4に格納されたゲームプログラムによってゲーム装置3において実行されるゲーム処理について説明する。まず、本実施形態におけるゲーム処理の概要を説明する。本実施形態におけるゲームは、3次元の仮想空間において地形オブジェクトが構築されるゲームである。なお、以下では、3次元の仮想的なゴルフコースにおいて仮想的なゴルフをプレイするゴルフゲームを例にとって説明する。
本実施形態においては、ゴルフコースの地形オブジェクトの起伏の様子、すなわち、傾斜の方向および度合いを表すグリッドが表示される(図5参照。)。ここで、本実施形態においては、ゲーム装置3は、グリッドを構成する線自体を移動させる(図6参照。)。本発明は、グリッドを構成する線自体を移動させることによって、地形オブジェクトの起伏の様子をプレイヤに対して直感的にかつ分かり易く提示するものである。以下、グリッドを構成する線を移動させる処理について詳細に説明する。
まず、図3〜図5を用いて、初期状態のグリッドを表示する処理を説明する。図3は、本実施形態におけるゲーム空間を真上から見た図である。図3に示すように、3次元の仮想空間には、ゴルフコースを表す地形オブジェクト70や木等のオブジェクトが配置される。図3においては、ゴルフボールは現在地点71に存在している。ゲーム装置3は、現在地点71の位置やその他の条件(例えば、ゴルフボールを打ち出す方向やクラブの種類等)に基づいて予想落下地点72を算出する。予想落下地点とは、プレイヤキャラクタがゴルフボールを打つ動作を行った結果、ゴルフボールが落下すると予想される地点である。現在地点71および予想落下地点72が決定した後、ゲーム装置3は、初期状態におけるグリッド73の位置を決定する。なお、本実施形態においては、地形オブジェクト70の高さ方向の座標軸をY軸とし、Y軸に垂直な軸をX軸およびZ軸とする(図3参照)。また、図3に示す白丸は、グリッド73の各格子点を表しているが、実際のゲーム画面では表示されていない。
本実施形態では、初期状態のグリッド73の位置は、現在地点71および予想落下地点72の位置と、地形オブジェクト70とに基づいて決定される。具体的には、まず、グリッド73の各格子の位置を示す座標のうち、高さ方向の成分以外の成分(X座標成分およびZ座標成分)が、現在地点71および予想落下地点72の位置に基づいて決定される。グリッド73の各格子点のX座標およびZ座標は、1辺が所定長dである正方形が複数並べられた構成となるように決定される。また、グリッド73の各格子点のX座標およびZ座標は、初期状態のグリッド73の全体が正方形となり、かつ、予想落下地点72が当該正方形の中心となるように決定される。また、グリッド73は、現在地点71から予想落下地点72への方向(第1方向e1)に延びる線と、その方向に垂直な方向(第2方向e2)に延びる線とによって構成される。
グリッド73の各格子点のY座標成分は、X座標成分およびZ座標成分が決定された後、地形オブジェクト70に基づいて決定される。具体的には、格子点のY座標は、当該格子点のX座標およびZ座標の位置における地形オブジェクト70のY座標と同じになるように決定される。図4は、地形オブジェクトをY軸に垂直な方向から見た図である。なお、図4においては、X座標成分およびZ座標成分が決定された時点で、各格子点のY座標はY=0に設定されているものとする。図4に示す黒丸は、X座標成分およびZ座標成分が決定された時点における各格子点の位置である。一方、図4に示す白丸は、地形オブジェクト70に基づいてY座標が決定された各格子点の位置である。図4に示すように、各格子点のY座標は、地形オブジェクト70の高さに応じて決定される。
各格子点のX座標、Y座標、およびZ座標が決定されると、ゲーム装置3は、初期状態のグリッドを表示する。具体的には、隣接する格子点を結ぶ直線を描画することによって当該グリッドが表示される。図5は、初期状態のグリッドが表示されたゲーム画面の例を示す図である。以下においては、初期状態として表示されるグリッド75(グリッドを構成する線が移動する前のグリッド)を、「原形グリッド」と呼ぶ。原形グリッド75は、四角形が格子状に複数並べられた構成である。また、原形グリッド75は、上記第1方向(現在地点71から予想落下地点72への方向)に延びる線(「第1線」と呼ぶ。)と、上記第2方向(第1方向に垂直な方向)に延びる線(「第2線」と呼ぶ。)とによって構成される。
なお、以下においては、グリッドの各格子点を結んだ線分を「単位線」と呼ぶ。また、4つの単位線によって囲まれる四角形を「単位グリッド」と呼ぶ。さらに、グリッドを構成する単位線のうち、上記第1方向に延びる線分(例えば、図5に示す単位線76および単位線77)を「縦単位線」と呼ぶ。すなわち、縦単位線は、上記第1線を構成する線分である。また、グリッドを構成する単位線のうち、上記第2方向に延びる線分(例えば、図5に示す単位線78および単位線79)を「横単位線」と呼ぶ。横単位線は、上記第2線を構成する線分である。
次に、図6〜図8を用いて、グリッドの各単位線を移動させる処理について説明する。図6は、グリッドの各単位線が移動する様子を示す図である。図6は、図5に示すゲーム画面から所定時間が経過した後のゲーム画面を示す図である。なお、図6に示す点線は、単位線の初期位置、すなわち、図5における単位線の位置を示す。なお、図6では、単位線が移動すると初期状態における単位線は消去されるが、他の実施形態においては、初期状態のグリッド(原形グリッド)を表示したままにしてもよい。図6に示すように、本実施形態では、グリッドを構成する単位線のうちの縦単位線のみが移動する。縦単位線は、それぞれ独立して移動する。また、縦単位線の移動方向は、当該縦単位線の下において地形オブジェクトの傾斜している方向である。縦単位線の移動速度は、当該縦単位線が描画される位置における(当該縦単位線の下に位置する)地形オブジェクトの傾斜が急になるほど大きくなるように決定される。
ここで、本実施形態においては、グリッドを構成する単位線自体が移動するので、グリッドを構成する単位グリッド自体が移動しているように表示することができる。従って、グリッドの面全体が移動しているように見えるので、グリッドを構成する線がない場所に関しても地形が傾斜しているイメージをプレイヤに抱かせることができる。さらに、本実施形態においては、グリッドを構成する単位線を移動させることによって、縦単位線とそれに隣接する縦単位線との関係が分かり易くなる。例えば、図6においては、単位線76と単位線77とでは、単位線76の方が移動速度が速いことを即座に把握することができる。従って、単位線76の下における地形オブジェクトの傾斜と、単位線77の下における地形オブジェクトの傾斜とでは、単位線76の下における地形オブジェクトの傾斜の方が急であることをプレイヤは即座に把握することができる。
以下、図7および図8を用いて、縦単位線を移動させる処理について詳細に説明する。図7は、縦単位線の移動方向を決定する方法を説明するための図である。なお、図7では、説明を容易にする目的でグリッドの一部のみを示す。すなわち、図7では、格子点P0,P1,P2,P3,P4,およびP5を順に結ぶ第2線と、格子点P6,P7,P8,P9,P10,およびP11を順に結ぶ第2線との間のグリッドのみを示す。
図7において、縦単位線は、当該縦単位線を1辺とする単位グリッドの4辺のうちの、当該縦単位線と向かい合う辺(単位線)の方向へ移動することが可能である(移動する可能性がある)。1本の縦単位線は隣接する2つの単位グリッドの辺を構成するので、縦単位線は、2方向に移動する可能性がある。例えば、格子点P2とP8とを結ぶ縦単位線L2は、格子点P1とP7とを結ぶ縦単位線L1側と、格子点P3とP9とを結ぶ縦単位線L3側との両側に移動する可能性がある。ここでは、グリッドを手前側(現在地点71に近い側)から見た場合の右向きを正方向とし、グリッドを手前側から見た場合の左向きを負方向とする。縦単位線は、正方向側と負方向側との両側に移動する可能性がある。
縦単位線を移動させる処理においては、まず、縦単位線を移動させる側が判断される。本実施形態では、縦単位線を移動させる側は、移動対象となる縦単位線の高さと、当該縦単位線と向かい合う縦単位線(「対向単位線」と呼ぶ。)の高さとによって決定される。ここで、本実施形態では、前端点の高さを縦単位線の高さとする。前端点とは、縦単位線の2つの端点のうちの現在地点71に近い側の端点である。例えば、縦単位線L1の前端点は、格子点P1の位置にある端点である。なお、縦単位線の2つの端点のうちの、前端点と異なる端点を、奥端点と呼ぶ。例えば、縦単位線L1の奥端点は、格子点P7の位置にある端点である。
ゲーム装置3は、正方向側および負方向側の両側について縦単位線を移動させるか否かを判断する。具体的には、縦単位線の高さが、当該縦単位線と正方向側で向かい合う縦単位線の高さよりも高ければ、当該縦単位線は正方向側に移動される。逆に、縦単位線の高さが、当該縦単位線と正方向側で向かい合う縦単位線の高さ以下であれば、当該縦単位線は正方向側に移動されない。負方向側についても正方向側と同様に、縦単位線の高さが、当該縦単位線と負方向側で向かい合う縦単位線の高さよりも高ければ、当該縦単位線は負方向側に移動される。逆に、縦単位線の高さが、当該縦単位線と負方向側で向かい合う縦単位線の高さ以下であれば、当該縦単位線は負方向側に移動されない。具体的には、移動対象となる縦単位線の高さをhとし、その正方向側における対向単位線の高さをhrとし、その負方向側における対向単位線の高さをhlとすると、縦単位線が移動する側は次のように判断される。すなわち、h>hrのとき、縦単位線は正方向側へ移動すると判断され、h≦hrのとき、縦単位線は正方向側へ移動しないと判断される。また、h>hlのとき、縦単位線は負方向側へ移動すると判断され、h≦hlのとき、縦単位線は負方向側へ移動しないと判断される。
以上に説明した、縦単位線が移動する側についての判断をまとめると、判断結果は次の4通りのパターンをとりうる。
(パターンa)hl≧h>hrのとき、正方向側にのみ移動する。
(パターンb)hl<h≦hrのとき、負方向側にのみ移動する。
(パターンc)hl<h>hrのとき、両側に移動する。
(パターンd)hl≧h≦hrのとき、移動しない。
例えば、図7に示す縦単位線L1は(パターンc)に該当する。従って、縦単位線L1は、2本の縦単位線となって、正方向側および負方向側の両側へ移動する。また、例えば、図7に示す縦単位線L3は(パターンd)に該当する。従って、縦単位線L3は原形グリッドの位置から移動しない。また、図7に示す縦単位線L2は(パターンa)に該当し、図7に示す縦単位線L4は(パターンb)に該当する。
また、縦単位線を移動させる処理において、縦単位線の移動速度は、当該縦単位線と、当該縦単位線が移動する側における対向単位線の高さとの差に基づいて決定される。すなわち、縦単位線の移動速度は、当該差が大きいほど大きくなるように決定される。
図8は、縦単位線が移動する様子を示す図である。図8では、縦単位線L1が正方向に移動する場合を例にとって説明する。本実施形態では、縦単位線が移動する様子を描画する際には、まず、移動後における上記前端点の位置が決定され、次いで、移動後における上記奥端点の位置が決定される。最後に、移動後における前端点と奥端点とを結ぶ直線を描画することによって移動後における縦単位線が描画される。図8を例にとって説明すると、縦単位線L’1の前端点P’1は、原形グリッドの格子点P1と格子点P2とを結ぶ横単位線上を移動する。従って、縦単位線は、地形オブジェクトのほぼ表面に沿って移動することとなる。また、移動後における前端点P’1の位置は、上記移動速度vに基づいて算出される(後述する式(5)参照)。また、移動後における前端点の位置が決定されると、奥端点の位置が決定される。なお、図8に示すように、奥端点P’7は、原形グリッドの格子点P7と格子点P8とを結ぶ横単位線上を移動する。ここで、移動後における奥端点P’7の位置は、格子点P7から奥端点P’7までの距離と更新点P7から格子点P8までの距離との比が、格子点P1から前端点P’1までの距離と格子点P1から格子点P2までの距離との比と等しくなるように決定される。
以上のように決定された、移動後における前端点と奥端点とを結ぶ直線が、移動後における前単位線として描画されてテレビ2に表示される。以上に示した縦単位線を移動させる処理は、グリッドを構成する全ての縦単位線について行われる。また、ゲーム装置3は、典型的には1フレーム毎に当該処理を行うことによって、グリッドの縦単位線が移動していく様子を表現することができる。
なお、図7および図8の説明においては、縦単位線が1単位グリッド分(横単位線の長さ分)移動する場合について示したが、本実施形態では、各縦単位線は、2単位グリッド分移動するものとする。すなわち、各縦単位線は、原形グリッドの位置から正方向または負方向に2単位グリッド分移動すると、原形グリッドの位置に戻る。そして、原形グリッドの位置から再度移動を開始する。なお、「戻る」とは、原形グリッドの位置に瞬時に移動するという意味であり、逆方向に移動するという意味ではない。つまり、各縦単位線は、原形グリッドの位置から2単位グリッド分進んだ位置までの移動を繰り返すことになる。
次に、図9および図10を用いて、ゲーム装置3において実行されるゲーム処理の詳細を説明する。ゲーム装置3の電源が投入されると、ゲーム装置3のCPU31は、図示しないブートROMに記憶されている起動プログラムを実行し、ワークメモリ32等の各ユニットを初期化する。そして、光ディスク4に格納されたゲームプログラムが光ディスクドライブ37を介してワークメモリ32に読み込まれ、ワークメモリ32に読み込まれたゲームプログラム41の実行が開始される。図9で示されるフローチャートは、以上の処理動作以降の処理を示している。なお、このフローチャートに示す処理は、CPU31およびGPU36の協調動作として行われるが、例えばCPU31のみによって当該処理のほぼ全てを行わせることも可能である。
図9は、本実施形態に係るゲーム装置3において実行されるゲーム処理の流れを示すフローチャートである。なお、このフローチャートにおいては、本発明に直接関連しないゲーム処理については記載を省略し、ゴルフコースの地形オブジェクト上のグリッドを表示するための処理について主に説明する。
まず、ステップ1において、ゴルフコースの地形オブジェクトが描画される。続くステップ3(図では「ステップ」を単に「S」と略す。)において、ゴルフボールの予想落下地点が算出される。予想落下地点は、例えば、現在地点71の位置、ゴルフボールを打ち出す方向、およびプレイヤキャラクタが使用するクラブの種類に基づいて算出される。続くステップ5において、ステップ1で算出された予想落下地点の位置に基づいてグリッドの格子点のX座標およびZ座標が算出される(図3参照)。さらに、続くステップ7において、地形オブジェクトの高さ(Y座標の値)に基づいてグリッドの格子点のY座標が算出される(図4参照)。本実施形態では、格子点のY座標の値は、当該格子点のX座標およびZ座標の位置における地形オブジェクト70のY座標の値に設定される。さらに、続くステップ9において、原形グリッドが描画される。具体的には、ステップ5およびステップ7で位置が決定された各格子点を結ぶ直線が描画される。以上のステップ1〜7によって、テレビ2の画面に原形グリッドが表示されることとなる。なお、以上のステップ1〜7は、原形グリッドを表示するための処理の一例であり、原形グリッドを表示するための方法はどのような方法であってもよい。
ステップ9の次に、ステップ11においてグリッド移動描画処理が行われる。グリッド移動描画処理とは、グリッドを構成する線を、当該線の下において地形オブジェクトが傾斜している方向に向かって移動させて描画する処理である。以下、グリッド移動描画処理の詳細を説明する。
ここで、本実施形態では、初期状態のグリッド(原形グリッド)における各縦単位線は、重複する2つの縦単位線によって構成されているものとして処理される。上述したように、縦単位線は、正方向側と負方向側との両側に移動する可能性があるからである。従って、初期状態のグリッドにおける各縦単位線は、正方向側へ移動可能な縦単位線と、負方向側へ移動可能な縦単位線という2つの縦単位線として取り扱われる。例えば原形グリッドとしてn本の縦単位線が表示される場合、ゲーム装置3は、正方向側へ移動可能なn本の縦単位線と、負方向側へ移動可能なn本の縦単位線という2×n本の縦単位線をゲーム処理のために用意する。そして、これら2種類の縦単位線は、本実施形態におけるゲーム処理においてそれぞれ独立して処理される。これによって、上記パターンcのように、1つの縦単位線が両側へ移動する場合の処理を破綻なく実行することができる。なお、以下では、正方向側へ移動可能な縦単位線を第1縦単位線と呼び、負方向側へ移動可能な縦単位線を第2縦単位線と呼ぶ。
図10は、図9に示すステップ11の処理の詳細を示すフローチャートである。図10に示すグリッド移動描画処理においては、まず、ステップ21において、グリッドを構成する各縦単位線のうちの1つの縦単位線が指定される。ステップ21では、ステップ21〜31のループにおいてまだ指定されていない縦単位線が指定される。続くステップ23において、ステップ21で指定された縦単位線が第1縦単位線であるか否かが判定される。ステップ23の判定において、ステップ21で指定された縦単位線が第1縦単位線であると判定された場合、ステップ25の処理が行われる。一方、ステップ23の判定において、ステップ21で指定された縦単位線が第1縦単位線でないと判定された場合(すなわち、ステップ21で指定された縦単位線が第2縦単位線である場合)、ステップ29の処理が行われる。
ステップ25においては、ステップ21で指定された縦単位線(ステップ25では第1縦単位線)が正方向側に移動可能であるか否かが判定される。ステップ25の判定の方法は、図7の説明において上述した通りである。すなわち、第1縦単位線の高さが、当該第1縦単位線と正方向側で向かい合う縦単位線の高さよりも高ければ、当該第1縦単位線は正方向側に移動可能であると判定される。逆に、第1縦単位線の高さが、当該第1縦単位線と正方向側で向かい合う縦単位線の高さ以下であれば、当該第1縦単位線は正方向側に移動不可能であると判定される。
ステップ25の判定において、ステップ21で指定された縦単位線が正方向側に移動可能でないと判定された場合、ステップ27〜41の処理がスキップされ、ステップ43の処理が行われる。一方、ステップ21で指定された縦単位線が正方向側に移動可能であると判定された場合、ステップ27〜41の処理が行われる。ステップ27〜41の処理は、移動後における縦単位線の位置を決定するための処理である。
ステップ27においては、第1縦単位線の移動速度および移動単位ベクトルが算出される。具体的には、第1縦単位線の移動速度は、当該第1縦単位線と、当該第1縦単位線の正方向側における対向単位線の高さとの差に基づいて決定される。本実施形態では、第1縦単位線の移動速度vは、次の式(1)を用いて決定される。
v=(h−hr)×α …(1)
式(1)において、αは、予め定められた定数である。定数αの値は、ゲームプログラムにおいて適宜設定される。なお、式(1)から、移動速度vは、縦単位線の前端点を含む横単位線の傾き(XZ平面に対する傾き)に応じて決定されることがわかる。
上記式(1)によって移動速度が算出された後、第1縦単位線の移動単位ベクトルが算出される。移動単位ベクトルとは、縦単位線が移動する方向を示すベクトルである。すなわち、移動単位ベクトルの向きは、移動対象である縦単位線の前端点を含む横単位線の向きである。より具体的には、第1縦単位線の移動単位ベクトルの向きは、移動対象である第1縦単位線の前端点を含む横単位線の正方向側の向きである。図7を例にとって説明すると、第1縦単位線の前端点がP1とP2とを結ぶ横単位線上を移動している場合、移動単位ベクトルの向きは、P1からP2への向きである。本実施形態では、移動単位ベクトルは、次の式(2)を用いて算出される。
(ex,ey,ez)=((x1,y1,z1)−(x2,y2,z2))/Ls1 …(2)
式(2)において、(x1,y1,z1)は、移動対象である第1縦単位線の前端点を含む横単位線の負方向側の端点であり、(x2,y2,z2)は、当該横単位線の正方向側の端点である。また、Ls1は、(x1,y1,z1)と(x2,y2,z2)との距離である。以上の式(1)および式(2)によって第1縦単位線の移動速度および移動単位ベクトルが算出された後、ステップ33の処理が行われる。
一方、ステップ29においては、ステップ21で指定された縦単位線(ステップ29では、第2縦単位線)が負方向側に移動可能であるか否かが判定される。ステップ29の判定の方法は、図7の説明において上述した通りである。すなわち、第2縦単位線の高さが、当該第2縦単位線と負方向側で向かい合う縦単位線の高さよりも高ければ、当該第2縦単位線は負方向側に移動可能であると判定される。逆に、第2縦単位線の高さが、当該第2縦単位線と負方向側で向かい合う縦単位線の高さ以下であれば、当該第2縦単位線は負方向側に移動不可能であると判定される。
ステップ29の判定において、ステップ21で指定された縦単位線が負方向側に移動可能でないと判定された場合、ステップ31〜41の処理がスキップされ、ステップ43の処理が行われる。一方、ステップ21で指定された縦単位線が負方向側に移動可能であると判定された場合、ステップ31〜41の処理が行われる。ステップ31〜41の処理は、移動後における縦単位線の位置を決定するための処理である。
ステップ31においては、第2縦単位線の移動速度および移動単位ベクトルが算出される。具体的には、第2縦単位線の移動速度は、当該第2縦単位線と、当該第2縦単位線の負方向側における対向単位線の高さとの差に基づいて決定される。本実施形態では、第2縦単位線の移動速度vは、次の式(3)を用いて決定される。
v=(h−hl)×α …(3)
上記式(3)によって移動速度が算出された後、第2縦単位線の移動単位ベクトルが算出される。第2縦単位線についての移動単位ベクトルの向きは、移動対象である第2縦単位線の前端点を含む横単位線の負方向側の向きである。図7を例にとって説明すると、第2縦単位線の前端点がP3とP4とを結ぶ横単位線上を移動している場合、移動単位ベクトルの向きは、P4からP3への向きである。本実施形態では、移動単位ベクトルは、次の式(4)を用いて算出される。
(ex,ey,ez)=((x3,y3,z3)−(x4,y4,z4))/Ls2 …(4)
式(4)において、(x3,y3,z3)は、移動対象である第2縦単位線の前端点を含む横単位線の正方向側の端点であり、(x4,y4,z4)は、当該横単位線の負方向側の端点である。また、Ls2は、(x3,y3,z3)と(x4,y4,z4)との距離である。以上の式(3)および式(4)によって第2縦単位線の移動速度および移動単位ベクトルが算出された後、ステップ33の処理が行われる。
ステップ33においては、ステップ21で指定された縦単位線について、現在描画されている縦単位線が消去される。続くステップ35において、ステップ21で指定された縦単位線の前端点が移動される。具体的には、移動後における前端点の位置(x’,y’,z’)は、次の式(5)を用いて算出される。
(x’,y’,z’)=(x,y,z)+v×(ex,ey,ez) …(5)
式(5)において、(x,y,z)は、移動前における前端点の位置の座標である。また、vは、ステップ27またはS31で算出された移動速度であり、(ex,ey,ez)は、ステップ27またはS31で算出された移動単位ベクトルである。
ステップ35の次のステップ37において、ステップ21で指定された縦単位線の前端点が所定距離だけ移動したか否かが判定される。本実施形態では、所定距離は、2単位グリッド分の距離とする。図7を例にとって説明すると、初期状態において格子点P1と格子点P7とを結ぶ位置にあった縦単位線L1については、前端点が格子点P3の位置まで移動したか否かが判定される。ステップ37の判定において、前端点が所定距離だけ移動したと判定された場合、ステップ39の処理が行われる。すなわち、ステップ39において、ステップ21で指定された縦単位線の前端点の位置が初期位置に戻される。初期位置とは、原形グリッドにおける当該縦単位線の前端点の位置である。図7を例にとって説明すると、初期状態において格子点P1と格子点P7とを結ぶ位置にあった縦単位線L1の前端点は、格子点P3の位置まで移動すると、格子点P1の位置に戻る。以上のステップ37および39の処理によって、縦単位線は、2グリッド分移動した後は元の原形グリッドの位置に戻るように制御される。ステップ39の処理の後、ステップ41の処理が行われる。一方、ステップ37の判定において、前端点が所定距離だけ移動していないと判定された場合、ステップ39の処理がスキップされて、ステップ41の処理が行われる。
ステップ41においては、ステップ21で指定された縦単位線の奥端点の移動後における位置が決定される。当該奥端点の移動後における位置は、ステップ35または39で決定された前端点の位置に基づいて決定される。具体的には、当該位置は、当該縦単位線の前端点を含む横単位線が当該前端点によって分割される比と、当該奥端点を含む横単位線が当該奥端点によって分割される比とが等しくなるように決定される。図8を例にとって説明すると、移動後における奥端点の位置P’7は、格子点P1と格子点P2とを結ぶ横単位線が前端点P’1によって分割される比と、格子点P7と格子点P8とを結ぶ横単位線が当該奥端点P’7によって分割される比とが等しくなるように決定される。
ステップ43においては、前端点と奥端点とを結ぶ直線が描画される。すなわち、ステップ25またはステップ27において移動可能と判定された縦単位線については、ステップ35またはS39において決定された前端点とステップ41で決定された奥端点とを結ぶ直線が描画される。一方、ステップ25またはステップ27において移動不可能と判定された縦単位線については、現在の前端点と奥端点とを結ぶ直線が描画される。続くステップ45において、ステップ21で全ての縦単位線を指定したか否かが判定される。ステップ45の判定において、全ての縦単位線を指定したと判定された場合、CPU31はグリッド移動描画処理を終了する。一方、ステップ45の判定において、指定してない縦単位線があると判定された場合、ステップ21の処理に戻る。そして、全ての縦単位線を指定するまで、ステップ21〜45の処理が繰り返される。以上のステップ21〜45によって、全ての縦単位線について、移動後における位置が決定されたこととなる。
図9の説明に戻り、ステップ11の次のステップ13において、プレイヤによる所定のスイッチ入力があったか否かが判定される。ステップ13の判定において、所定のスイッチ入力があった場合、ステップ15の処理が行われる。すなわち、ステップ15において、全ての縦単位線が初期位置に戻される。つまり、所定のスイッチ入力は、全ての縦単位線を初期位置に戻すための入力である。ここで、本実施形態では、各縦単位線は、2単位グリッド分移動すると元の位置に戻り、再び2単位グリッド分移動するという動作を繰り返す。また、各縦単位線の移動速度はそれぞれ独立して算出されるので、各縦単位線が当該動作を繰り返す周期は縦単位線によって異なる場合がある。このような場合、各縦単位線が初期位置に戻るタイミングは、時間が経過するにつれてずれてくるので、各縦単位線がばらついて移動しているように見えてしまう。各縦単位線がばらついて移動すると、プレイヤにとっては地形オブジェクトの傾斜の様子がわかりにくくなるおそれがある。そこで、本実施形態では、プレイヤが所定のスイッチ入力を行うことによって、原形グリッドが表示される初期状態に戻すことを可能としている。これによって、プレイヤは、所定のスイッチ入力を行うことによって、各縦単位線がばらついて移動する表示を解消することができる。
ステップ15の次のステップ17において、グリッドの表示を終了するか否かが判定される。例えば、プレイヤがゴルフボールを打つ操作を行うために予想落下地点の付近の地形が画面に表示されなくなる場合や、メニュー画面が開かれてゴルフコースの地形が画面に表示されなくなる場合には、グリッドの表示が終了される。ステップ17の判定において、グリッドの表示を終了すると判定された場合、CPU31は、図9に示すゲーム処理を終了する。一方、グリッドの表示を終了すると判定された場合、ステップ11の処理に戻り、グリッドの表示を終了すると判定されるまで、ステップ11〜15の処理が繰り返される。以上で、本実施形態におけるゲーム処理の説明を終了する。
以上のように、本実施形態によれば、グリッドを構成する線自体を地形オブジェクトの傾斜に応じて移動させることによって、グリッド自体が移動しているようなイメージをプレイヤに与えることができる。さらに、グリッドを構成する単位線自体が移動することによって、縦単位線とそれに隣接する縦単位線との関係を分かり易く表示することができる。
なお、本実施形態では、縦単位線は初期状態における縦単位線に対してほぼ平行となるように移動した(図6参照。)。すなわち、本実施形態においては、縦単位線の奥端点の位置は、当該縦単位線の前端点を含む横単位線が当該前端点によって分割される比に応じて決定された(ステップ41)。ここで、本実施形態における第1の変形例として、ゲーム装置3は、縦単位線が手前側から奥側に向かって1本の線となるように各縦単位線を移動させてもよい。このときの縦単位線の移動の様子を図11に示す。図11は、本実施形態の第1の変形例におけるゲーム画面の例を示す図である。第1の変形例においては、縦単位線は、その手前側および奥側の縦単位線と接続されるように移動する。これによれば、ある縦単位線とその手前側および奥側の縦単位線との関係がより分かり易くなる。以下、図11に示すゲーム画面を生成するためのゲーム処理の例を説明する。
図12は、第1の変形例におけるゲーム処理の例を示す図である。なお、図12においては、図10に示すゲーム処理と異なる点を主に示している。また、図12において、図10と同様の処理については同じステップ番号を付している。
第1の変形例では、ステップ37の判定の結果が否定であった場合、ステップ51の処理が行われる。すなわち、ステップ51において、ステップ21で指定された縦単位線の奥端点の位置が決定される。ここで、ステップ51においては、CPU31は、奥端点の位置を決定するために前端点の位置を決定する場合と同様の計算を行う。すなわち、まず、当該奥端点を含む横単位線の両端点の高さの差に基づいて移動速度を算出する(式(1)および(3)参照。)。次に、当該横単位線の両端点の位置に基づいて移動単位ベクトルを算出する(式(2)および(4)参照。)。図8を例にとって説明すると、奥端点P’7の位置を決定するために、ゲーム装置3は、まず、格子点P7の高さと格子点P8の高さとの差に基づいて移動速度を算出する。次に、格子点P7の座標と格子点P8の座標とに基づいて移動単位ベクトルを算出する。最後に、奥端点の位置は、算出された移動速度および移動単位ベクトルに基づいて上記式(5)を用いて決定される。なお、ステップ51の後、ステップ43の処理が行われる。一方、ステップ37の判定の結果が肯定であった場合、ステップ53の処理が行われる。すなわち、ステップ53において、ステップ21で指定された縦単位線の前端点および奥端点の位置が初期位置に戻される。ステップ53の処理は、前端点の位置が初期位置に戻った時点において奥端点の位置が初期位置にない状態を防止するための処理である。なお、ステップ53の後、ステップ43の処理が行われる。
以上の第1の変形例によれば、初期状態の時点から前端点が初期位置に戻ってくる時点までの期間は、ある縦単位線の奥端点の位置は、当該縦単位線の奥側の縦単位線の前端点と同じ位置となる。従って、当該期間は、縦単位線は、その奥側の縦単位線と接続されて表示されることとなる。従って、第1の変形例によれば、図11に示すような、手前側の縦単位線と奥側の縦単位線とが接続された状態で表示することができる。なお、第1の変形例の場合も上記実施形態と同様、初期状態から時間が経過すると、各縦単位線が初期位置に戻るタイミングがずれてしまい、各縦単位線がばらついて移動しているように見えてしまう。特に第1の変形例においては、各縦単位線がばらついて移動する状態になると、縦単位線が接続されているという効果がなくなってしまう。従って、第1の変形例においては、このような状態を防止する必要性が大きい。そこで、第1の変形例においても上記実施形態と同様、ステップ13および15の処理を行うことが好ましい。
なお、上記実施形態においては、プレイヤによる所定のスイッチ入力があったことを条件として、縦単位線を初期位置に戻すこととした。ここで、他の実施形態においては、縦単位線を初期位置に戻す条件は、例えば、初期状態から所定時間が経過したこととしてもよい。具体的には、図9のステップ13において、初期状態から所定時間が経過したか否かを判定するようにしてもよい。
なお、本実施形態では、縦単位線を移動させると、縦単位線が地形オブジェクトよりも低い位置になってしまう結果、縦単位線が表示されなくなる場合が考えられる。図13は、地形オブジェクトをY軸に垂直な方向から見た図である。なお、図13においては、縦単位線80が縦単位線格子点Aから格子点Bまで移動する場合を考える。図13(a)は、本実施形態における縦単位線の移動方法を用いた場合における縦単位線の移動の様子を示す図である。本実施形態では、縦単位線80は、格子点Aから格子点Bまでを結ぶ横単位線La上を移動する。従って、図13(a)のように、横単位線Laの高さが地形オブジェクトよりも低い場合には、移動する縦単位線80が表示されなくなってしまうおそれがある。
そこで、本実施形態においては、第2の変形例として、移動後における縦単位線が地形オブジェクトよりも下になる場合、縦単位線の高さ(Y座標)を調整するようにしてもよい。具体的には、図13(b)に示すように、地形オブジェクトよりも上に位置するように縦単位線の高さ(Y座標)を調整するようにしてもよい。図14は、第2の変形例におけるゲーム処理の流れを示すフローチャートである。なお、図14においては、図10に示すゲーム処理と異なる点を主に示しており、図12において、図10と同様の処理については同じステップ番号を付している。
第2の変形例においては、図10に示すステップ41とS43との間に、ステップ61および63の処理が行われる。すなわち、ステップ41の次に、ステップ43において、移動後における縦単位線の位置が地形オブジェクトよりも下であるか否かが判定される。具体的には、当該縦単位線の前端点の位置が地形オブジェクトよりも下であるか否かが判定される。ステップ61の判定の結果、縦単位線の位置が地形オブジェクトよりも下であると判定された場合(すなわち、前端点の位置が地形オブジェクトよりも下であると判定された場合)、ステップ63の処理が行われる。すなわち、ステップ63において、前端点および奥端点が高さ方向(Y軸方向)に平行移動される。この平行移動の移動量は、前端点の位置における地形オブジェクトの高さを検出することによって、検出された地形オブジェクトの高さよりも前端点が上に位置するように決定される。ステップ63の後、ステップ43の処理が行われる。これによって、縦単位線が地形オブジェクトによって隠れてしまうことを防止することができる。一方、ステップ61の判定の結果、縦単位線の位置が地形オブジェクトよりも下でないと判定された場合、ステップ63の処理はスキップされ、ステップ43の処理が行われる。
なお、他の実施の形態においては、原形グリッドの各格子点のY座標を地形オブジェクトのY座標よりも所定量だけ高く設定するようにしてもよい。これによっても、縦単位線80が表示されなくなってしまう問題を防止することができる。
また、上記実施形態においては、グリッドを構成する単位線のうちの縦単位線のみが移動する場合を例として説明したが、他の実施形態においては、横単位線のみを移動するようにしてもよいし、縦単位線および横単位線の両方を移動させるようにしてもよい。
また、上記実施形態においては、縦単位線の前端点の高さを、当該縦単位線の高さとして用いたが、縦単位線の高さは他の方法で算出されてもよい。例えば、縦単位線の奥端点の高さを当該縦単位線の高さとして用いてもよいし、縦単位線の中点の高さを当該縦単位線の高さとして用いてもよく、縦単位線上の点であって予め定める所定点の高さを当該縦単位線の高さとして用いてもよい。
本発明は、プレイヤが容易に地形を認識すること等を目的とする、ゲーム装置やゲームプログラム等に利用することが可能である。
ゲームシステム1の外観図 ゲームシステム1の機能ブロック図 本実施形態におけるゲーム空間を真上から見た図 地形オブジェクトをY軸に垂直な方向から見た図 初期状態のグリッドが表示されたゲーム画面の例を示す図 グリッドの各単位線が移動する様子を示す図 縦単位線の移動方向を決定する方法を説明するための図 縦単位線が移動する様子を示す図 本実施形態に係るゲーム装置3において実行されるゲーム処理の流れを示すフローチャート 図9に示すステップ11の処理の詳細を示すフローチャート 本実施形態の第1の変形例におけるゲーム画面の例を示す図 第1の変形例におけるゲーム処理の例を示す図 地形オブジェクトをY軸に垂直な方向から見た図 第2の変形例におけるゲーム処理の流れを示すフローチャート
符号の説明
1 ゲームシステム
2 テレビジョン受像機
3 据置型ゲーム装置
4 光ディスク
5 カートリッジ
6 コントローラ
31 CPU
32 ワークメモリ
70 地形オブジェクト
73 グリッド

Claims (15)

  1. 3次元の仮想空間における地形オブジェクトを描画する地形オブジェクト描画手段と、
    多角形の単位グリッドを格子状に複数並べて構成され、前記地形オブジェクトの高さに応じて格子点の高さが設定されたグリッドを前記地形オブジェクトの上に描画するグリッド描画手段と、
    前記グリッドを構成する線を、当該線が描画される位置において地形オブジェクトが傾斜している方向に向かって移動させて描画する移動描画手段とを備えるゲーム装置。
  2. 前記グリッド描画手段は、互いに交わらない複数の第1線と、互いに交わらずかつ当該第1線に交わる複数の第2線とによって構成されるグリッドを描画し、
    前記移動描画手段は、前記第1線と前記第2線との各交点を結ぶ線を単位線とし、前記グリッドを構成する線を、前記単位線を単位として移動させて描画する、請求項1に記載のゲーム装置。
  3. 前記移動描画手段は、前記第1線を構成する第1単位線の一方の端点である第1端点の高さが、当該第1端点を含む単位線であって前記第2線を構成する単位線である第2単位線の端点である第2端点の高さよりも高いとき、当該第1端点が当該第2端点へ向かって当該第2単位線上を移動するように、当該第1単位線を移動させて描画する、請求項2に記載のゲーム装置。
  4. 前記移動描画手段は、前記第1単位線の端点であって前記第1端点とは異なる端点である第3端点の高さが、当該第3端点を含む単位線であって前記第2線を構成する単位線である第3単位線の端点である第4端点の高さよりも高いとき、当該第3端点が当該第4端点へ向かって第3単位線上を移動するように、かつ、当該第1端点および当該第3端点が両端となるように、前記第1単位線を移動させて描画する、請求項3に記載のゲーム装置。
  5. 前記移動描画手段は、前記第1端点の高さと前記第2端点の高さとの差の大きさに応じて、当該第1端点が前記第2線上を移動する速度を決定することを特徴とする、請求項3に記載のゲーム装置。
  6. 前記移動描画手段は、前記グリッドの初期位置の線を残しつつ、前記単位線を移動させて描画することを特徴とする、請求項2に記載のゲーム装置。
  7. 前記移動描画手段は、ユーザによって所定の操作が行われたとき、前記単位線をグリッドの初期位置に戻す、請求項2に記載のゲーム装置。
  8. 前記移動描画手段は、前記単位線がグリッドの初期位置から所定距離だけ移動したとき、前記単位線をグリッドの初期位置に戻す、請求項2に記載のゲーム装置。
  9. 前記移動描画手段は、前記単位線が移動を開始してから所定時間が経過したとき、前記単位線をグリッドの初期位置に戻す、請求項2に記載のゲーム装置。
  10. 前記移動描画手段は、前記単位グリッドを構成する4つの単位線のうちの互いに対向する2つの単位線のうちの高さが高い方の単位線を低い方の単位線の方向へ移動させて描画する、請求項2に記載のゲーム装置。
  11. 前記移動描画手段は、単位線の端点のうちの所定側に存在する端点の高さを当該単位線の高さとする、請求項10に記載のゲーム装置。
  12. 前記移動描画手段は、高さが高い方の単位線と低い方の単位線との差の大きさに応じて、当該高い方の単位線の移動速度を変化させる、請求項10に記載のゲーム装置。
  13. 前記移動描画手段は、前記グリッドを構成する単位線のうち、前記第1線を構成する第1単位線のみを移動させるとともに、初期状態において互いに接続されている第1単位線については互いに接続された状態で移動させる、請求項12に記載のゲーム装置。
  14. ゲーム装置のコンピュータを、
    3次元の仮想空間における地形オブジェクトを描画する地形オブジェクト描画手段と、
    多角形の単位グリッドを格子状に複数並べて構成され、前記地形オブジェクトの高さに応じて格子点の高さが設定されたグリッドを前記地形オブジェクトの上に描画するグリッド描画手段と、
    前記グリッドを構成する線を、当該線の下において地形オブジェクトが傾斜している方向に向かって移動させて描画する移動描画手段として機能させる、ゲームプログラム。
  15. 前記グリッド描画手段は、互いに交わらない複数の第1線と、互いに交わらずかつ当該第1線に交わる複数の第2線とによって構成されるグリッドを描画し、
    前記移動描画手段は、前記第1線と前記第2線との各交点を結ぶ線を単位線とし、前記グリッドを構成する線を、前記単位線を単位として移動させて描画する、請求項14に記載のゲームプログラム。
JP2004133471A 2004-04-28 2004-04-28 ゲーム装置およびゲームプログラム Expired - Lifetime JP4307317B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004133471A JP4307317B2 (ja) 2004-04-28 2004-04-28 ゲーム装置およびゲームプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004133471A JP4307317B2 (ja) 2004-04-28 2004-04-28 ゲーム装置およびゲームプログラム

Publications (2)

Publication Number Publication Date
JP2005316687A JP2005316687A (ja) 2005-11-10
JP4307317B2 true JP4307317B2 (ja) 2009-08-05

Family

ID=35444052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004133471A Expired - Lifetime JP4307317B2 (ja) 2004-04-28 2004-04-28 ゲーム装置およびゲームプログラム

Country Status (1)

Country Link
JP (1) JP4307317B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100992420B1 (ko) * 2010-04-01 2010-11-05 (주) 골프존 그린 라이 표현을 위한 영상처리장치 및 영상처리방법
JP5725629B2 (ja) * 2010-04-01 2015-05-27 ゴルフゾン カンパニー リミテッド 映像処理装置および映像処理方法
KR101525414B1 (ko) * 2013-08-09 2015-06-09 주식회사 골프존유원홀딩스 그린의 지형 정보를 시각적으로 표현하도록 하는 영상처리장치 및 방법
JP5909302B1 (ja) * 2015-08-12 2016-04-26 株式会社コロプラ 画像処理装置、画像処理方法、及び画像処理プログラム
JP6838340B2 (ja) * 2016-09-30 2021-03-03 アイシン精機株式会社 周辺監視装置

Also Published As

Publication number Publication date
JP2005316687A (ja) 2005-11-10

Similar Documents

Publication Publication Date Title
US8506398B2 (en) Game apparatus, game system, and storing medium storing game program in which display is divided between players
EP1825895B1 (en) Game apparatus and storage medium storing game program
JP4213052B2 (ja) タッチパネル入力を用いたゲームシステム
JP4660357B2 (ja) 画像処理プログラムおよび画像処理装置
JP4388004B2 (ja) 画像生成装置及び方法、プログラム、並びに記録媒体
US7967680B2 (en) Storage medium having game program stored thereon and game apparatus
JP4445449B2 (ja) 画像生成装置
JP5106825B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム制御方法
US7094153B2 (en) Virtual space control method
JP2007075447A (ja) ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP2007200011A (ja) 画像処理プログラムおよび画像処理装置
JP4463289B2 (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP3892889B1 (ja) ゲームプログラム、ゲーム装置及びゲーム制御方法
JP2006268676A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3686920B2 (ja) 3次元画像処理プログラム、3次元画像処理方法及びビデオゲーム装置
JP4864117B2 (ja) 画像生成装置及び方法、プログラム、並びに記録媒体
JP4307317B2 (ja) ゲーム装置およびゲームプログラム
JP3602835B2 (ja) ビデオゲーム装置およびその制御方法ならびにゲームプログラム
EP1095679B1 (en) Entertainment unit, recording medium and method for setting its parameters
JP5395335B2 (ja) パズルゲームプログラム、パズルゲーム装置、パズルゲームシステムおよびゲーム制御方法
JP4258841B2 (ja) 画像表示プログラムおよび情報処理装置
JP5117474B2 (ja) ゲーム装置、ゲーム制御プログラム、及びゲーム制御方法
JP2000135376A (ja) ゲーム装置、情報記録媒体および表示切替方法
JP2930237B1 (ja) ビデオゲーム装置及びビデオゲームプログラムが記録された可読記録媒体
JP6152394B2 (ja) 情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070315

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4307317

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term