(57)【要約】【課題】地図等の仮想空間における地点をユーザに選択させる場合に、地点に関連付けられた情報の選択を容易に行う。【解決手段】ゲーム装置は、地図上のニュース地点に関連付けられたニュース情報のデータを複数のニュース地点について記憶している。ゲーム装置は、各ニュース地点をグループに区分し、グループ毎に判定領域を設定する。さらに、ゲーム装置は、ユーザから表示領域上における位置を指定する入力を受け付ける。指定された位置が判定領域内にある場合、当該判定領域に対応するグループに含まれる１以上のニュース地点に関連付けられたニュース情報が表示装置に表示される。【選択図】図１２
2008176728.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間と表示情報とを表示装置に表示させる表示制御装置のコンピュータで実行される表示制御プログラムであって、
前記表示制御装置は、複数の前記表示情報を前記仮想空間内の地点に関連付けて記憶する記憶手段を備え、
前記複数の表示情報が関連付けられた地点の前記表示装置の表示領域上での位置を比較する表示位置比較ステップと、
前記表示位置比較ステップにおける比較結果に基づいて、前記地点同士の間隔が所定の第１の基準より近い表示情報同士によるグループを設定し、前記複数の表示情報を複数のグループにグループ化するグループ設定ステップと、
前記表示領域上で前記グループそれぞれに対応する領域である判定領域を設定する領域設定ステップと、
前記仮想空間の画像を前記表示装置に表示させる第１表示制御ステップと、
ユーザから前記表示領域上における位置を指定する入力を受け付ける第１入力受付ステップと、
当該指定された位置が前記判定領域内にある場合、当該判定領域に対応するグループに含まれる前記表示情報を、前記記憶手段に記憶されているデータを用いて前記表示装置に表示させる第２表示制御ステップとを前記コンピュータに実行させる、表示制御プログラム。
【請求項２】
前記グループ設定ステップにおいて、前記コンピュータは、グループが設定されていない所定の表示情報に関して１つのグループを新規に設定し、前記表示領域上において、当該表示情報が関連付けられた地点からの距離が所定距離よりも短い地点に関連付けられた表示情報を当該グループにさらに含める処理を、グループが設定されていない表示情報が存在しなくなるまで繰り返すことによって前記グループ化を行う、請求項１に記載の表示制御プログラム。
【請求項３】
前記記憶手段には、それぞれの前記地点の表示領域上の位置に対して領域を設定するための所定の第２の基準がさらに記憶され、
前記グループ設定ステップにおいて、前記コンピュータは、前記第２の基準に基づいて前記所定距離を設定し、
前記領域設定ステップにおいて、前記コンピュータは、グループに含まれる所定の１つの表示情報が関連付けられた地点に対する領域を前記第２の基準に基づいて設定して、当該グループに対応する判定領域とする、請求項２に記載の表示制御プログラム。
【請求項４】
前記判定領域は、その半径が第１の長さの円形領域であって、前記記憶手段は、当該第１の長さを前記第第２の基準として記憶し、
前記グループ設定ステップにおいて、前記コンピュータは、前記所定距離を、前記第１の長さの２倍の長さとする、請求項３に記載の表示制御プログラム。
【請求項５】
前記判定領域は、前記地点の前記表示領域上における位置を中心とする円形領域である、請求項４記載の表示制御プログラム。
【請求項６】
前記領域設定ステップにおいて、前記コンピュータは、グループに含まれる表示情報が関連付けられた各地点をすべて含む領域を、当該グループに対応する判定領域として設定する、請求項１に記載の表示制御プログラム。
【請求項７】
前記記憶手段には、それぞれの前記地点の表示領域上の位置に対して領域を設定するための所定の第２の基準がさらに記憶され、
前記領域設定ステップにおいて、前記コンピュータは、グループに含まれる表示情報が関連付けられた各地点のそれぞれに関して領域を前記第２の基準に基づいて設定し、当該設定された各領域を全て含む領域を当該グループに対応する判定領域として設定する、請求項１に記載の表示制御プログラム。
【請求項８】
前記領域設定ステップにおいて、前記コンピュータは、グループに含まれる表示情報が関連付けられた各地点の表示位置に基づいて前記表示領域上の位置を算出し、算出された位置を含む領域を、当該グループに対応する判定領域として設定する、請求項１に記載の表示制御プログラム。
【請求項９】
前記第１表示制御ステップにおいて、前記コンピュータは、グループを表す画像を、当該グループに対応する判定領域の位置に関連付けて前記仮想空間の画像とともに表示させる、請求項１に記載の表示制御プログラム。
【請求項１０】
前記第２表示制御ステップにおいて、前記コンピュータは、前記指定された位置が前記判定領域内にある場合、当該判定領域に対応するグループに含まれる表示情報の一覧を表示させる、請求項１に記載の表示制御プログラム。
【請求項１１】
前記第２表示制御ステップにおいて表示される表示情報の一覧から所定の表示情報を選択する入力を受け付ける第２入力受付ステップと、
前記第２入力受付ステップにおいて表示情報が選択された場合、当該選択された表示情報を前記表示装置に表示させる第３表示制御ステップとを前記コンピュータにさらに実行させる、請求項１０に記載の表示制御プログラム。
【請求項１２】
前記仮想空間は３次元空間であり、
前記表示制御プログラムは、
前記３次元空間内に配置される仮想カメラの位置、姿勢、および視野角の少なくとも１つを変更可能に設定するカメラ設定ステップと、
前記仮想カメラの設定に基づいて前記地点の表示位置を算出する表示位置算出ステップとを前記コンピュータにさらに実行させ、
前記グループ設定ステップにおいて、前記コンピュータは、前記表示位置算出ステップにおいて算出された表示位置に基づいてグループを設定し、
前記第１表示制御ステップにおいて、前記コンピュータは、前記仮想カメラの設定に基づいて前記３次元空間の画像を生成して前記表示装置に表示させる、請求項１から請求項１１のいずれかに記載の表示制御プログラム。
【請求項１３】
前記仮想空間は２次元空間であり、
前記表示制御プログラムは、前記２次元空間のうちで表示すべき領域の大きさを変更可能に設定する表示設定ステップを前記コンピュータにさらに実行させ、
前記第１表示制御ステップにおいて、前記コンピュータは、前記表示設定ステップにおいて設定された領域内の画像を前記表示装置に表示させる、請求項１から請求項１１のいずれかに記載の表示制御プログラム。
【請求項１４】
仮想空間と表示情報とを表示装置に表示させる表示制御装置であって、
複数の前記表示情報を前記仮想空間内の地点に関連付けて記憶する記憶手段と、
前記複数の表示情報が関連付けられた地点の前記表示装置の表示領域上での位置を比較する表示位置比較手段と、
前記表示位置比較ステップにおける比較結果に基づいて、前記地点同士の間隔が所定の第１の基準より近い表示情報同士によるグループを設定し、前記複数の表示情報を複数のグループにグループ化するグループ設定手段と、
前記表示領域上で前記グループそれぞれに対応する領域である判定領域を設定する領域設定手段と、
前記仮想空間の画像を前記表示装置に表示させる第１表示制御手段と、
ユーザから前記表示領域上における位置を指定する入力を受け付ける第１入力受付手段と、
当該指定された位置が前記判定領域内にある場合、当該判定領域に対応するグループに含まれる前記表示情報を、前記記憶手段に記憶されているデータを用いて前記表示装置に表示させる第２表示制御手段とを備える、表示制御装置。
【請求項１５】
仮想空間と表示情報とを表示装置に表示させる表示制御装置と、当該表示制御装置と通信可能なサーバとを含むデータ配信システムであって、
前記サーバは、複数の前記表示情報が前記仮想空間内の地点に関連付けられた配信データを前記表示制御装置へ送信し、
前記表示制御装置は、
前記複数の表示情報が関連付けられた地点の前記表示装置の表示領域上での位置を比較する表示位置比較手段と、
前記表示位置比較ステップにおける比較結果に基づいて、前記地点同士の間隔が所定の第１の基準より近い表示情報同士によるグループを設定し、前記複数の表示情報を複数のグループにグループ化するグループ設定手段と、
前記表示領域上で前記グループそれぞれに対応する領域である判定領域を設定する領域設定手段と、
前記仮想空間の画像を前記表示装置に表示させる第１表示制御手段と、
ユーザから前記表示領域上における位置を指定する入力を受け付ける第１入力受付手段と、
当該指定された位置が前記判定領域内にある場合、当該判定領域に対応するグループに含まれる前記表示情報を、前記記憶手段に記憶されているデータを用いて前記表示装置に表示させる第２表示制御手段とを備える、データ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示制御プログラムおよび表示制御装置に関し、より特定的には、地図等の仮想空間と、当該仮想空間における所定地点に関連付けられた情報（例えばニュース）とを表示装置に表示させる表示制御プログラムおよび表示制御装置に関する。
【背景技術】
【０００２】
特許文献１には、映像・文字ニュースをユーザに提供するためのシステムが記載されている。このシステムにおけるニュースデータベースサーバには、映像データベース部、ニュースデータベース部、地図データベース部を備えるデータベース記憶部が設けられる。地図データベース部には、地図画像データ、地図座標データおよび固有の地点記号が関連付けられて記憶されている。映像データベース部には、ニュース地点の座標に対応する地点記号と関連付けられて映像情報が記憶されている。ニュースデータベース部には、ニュース情報や宣伝用に作成した文書による情報が、地点記号と関連付けられて記憶されている。
【０００３】
ユーザは、端末において地図画像上の所望の地点をクリックしてその地点に係る固有の地点記号を入力することによって、データベースサーバへアクセスする。このアクセスに応じて、検索画面および地図画像情報がサーバから端末へ送信され表示される。データベースサーバは、地点記号に基づいて映像データベース部およびニュースデータベース部を検索して、映像情報、文字情報を呼び出し、端末に対して表示可能とする。このように、上記システムにおいては、地図画像から地点を選択することによって、その地点における映像・文字ニュースにアクセスすることができる。
【特許文献１】特開２００２−１１７０３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のシステムでは、ユーザは、情報（映像情報および文字情報）を取得する場合、その情報が関連付けられている地点を地図画像上において選択（クリック）しなければならない。このような選択方法では、地図表示の縮尺の変化に対応することが難しいという問題がある。すなわち、例えば縮尺の大きい地図が表示される場合には各地点が表示される距離が短くなるので、複数の地点が近接して表示されることになり、その結果、所望の地点を選択することが難しくなる。このように、特許文献１に記載されている地点の選択方法では、地図表示の縮尺を変化させた場合に地点の選択がユーザにとって難しくなるという問題がある。
【０００５】
それ故、本発明の目的は、地図等の仮想空間における地点をユーザに選択させる場合に、地点に関連付けられた情報の選択を容易に行うことができるインターフェースを実現する表示制御プログラムおよび表示制御装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、本欄における括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００７】
第１の発明は、仮想空間（地図５１）と表示情報（ニュース情報）とを表示装置（テレビ２）に表示させる表示制御装置（ゲーム装置３）のコンピュータ（ＣＰＵ１０等）で実行される表示制御プログラムである。表示制御装置は、複数の表示情報を仮想空間内の地点（ニュース地点）に関連付けて記憶する記憶手段（メインメモリ１３）を備えている。表示制御プログラムは、表示位置比較ステップ（Ｓ３７）と、グループ設定ステップ（Ｓ３５，Ｓ３９）と、領域設定ステップ（Ｓ２４）と、第１表示制御ステップ（Ｓ５９およびＳ１３）と、第１入力受付ステップ（Ｓ３およびＳ４）と、第２表示制御ステップ（Ｓ６７およびＳ１３、または、Ｓ１０およびＳ１３）とをコンピュータに実行させる。表示位置比較ステップにおいて、コンピュータは、複数の表示情報が関連付けられた地点の表示装置の表示領域上での位置を比較する。グループ設定ステップにおいて、コンピュータは、表示位置比較ステップにおける比較結果に基づいて、地点同士の間隔が所定の第１の基準より近い表示情報同士によるグループを設定し、複数の表示情報を複数のグループにグループ化する。領域設定ステップにおいて、コンピュータは、表示領域上でグループそれぞれに対応する領域である判定領域を設定する。第１表示制御ステップにおいて、コンピュータは、仮想空間の画像を表示装置に表示させる。第１入力受付ステップにおいて、コンピュータは、ユーザから表示領域上における位置を指定する入力を受け付ける。第２表示制御ステップにおいて、コンピュータは、当該指定された位置が判定領域内にある場合、当該判定領域に対応するグループに含まれる表示情報を、記憶手段に記憶されているデータを用いて表示装置に表示させる。
【０００８】
第２の発明においては、グループ設定ステップにおいて、コンピュータは、グループが設定されていない所定の表示情報に関して１つのグループを新規に設定し、表示領域上において、当該表示情報に関連付けられた地点からの距離が所定距離（ｒ２）よりも短い地点に関連付けられた表示情報を当該グループにさらに含める処理を、グループが設定されていない表示情報が存在しなくなるまで繰り返すことによってグループ化を行ってもよい。
【０００９】
第３の発明においては、記憶手段には、それぞれの地点の表示領域上の位置に対して判定領域を設定するための所定の第２の基準がさらに記憶されていてもよい。このとき、グループ設定ステップにおいて、コンピュータは、第２の基準に基づいて所定距離を設定する。領域設定ステップにおいて、コンピュータは、グループに含まれる所定の１つの表示情報が関連付けられた地点に対する判定領域を第２の基準に基づいて設定して、当該グループに対応する判定領域とする。
【００１０】
第４の発明においては、判定領域は、その半径が第１の長さ（ｒ１）の円形領域であってもよい。このとき、記憶手段は、当該第１の長さを所定の第２の基準として記憶する。グループ設定ステップにおいて、コンピュータは、所定距離を、第１の長さの２倍の長さとする。
【００１１】
第５の発明において、判定領域は、地点の表示領域上における位置を中心とする円形領域であってもよい。
【００１２】
第６の発明においては、領域設定ステップにおいて、コンピュータは、グループに含まれる表示情報が関連付けられた各地点をすべて含む領域を、当該グループに対応する判定領域として設定してもよい。
【００１３】
第７の発明においては、記憶手段には、それぞれの地点の表示領域上の位置に対して領域を設定するための所定の第２の基準がさらに記憶されていてもよい。このとき、領域設定ステップにおいて、コンピュータは、グループに含まれる表示情報が関連付けられた各地点のそれぞれに関して領域を第２の基準に基づいて設定し、当該設定された各領域を全て含む領域を当該グループに対応する判定領域として設定する。
【００１４】
第８の発明においては、領域設定ステップにおいて、コンピュータは、グループに含まれる表示情報が関連付けられた各地点の表示位置に基づいて表示領域上の位置を算出し、算出された位置を含む領域を、当該グループに対応する判定領域として設定してもよい。
【００１５】
第９の発明においては、第１表示制御ステップにおいて、コンピュータは、グループを表す画像を、当該グループに対応する判定領域の位置に関連付けて仮想空間の画像とともに表示させてもよい。
【００１６】
第１０の発明においては、第２表示制御ステップにおいて、コンピュータは、指定された位置が判定領域内にある場合、当該判定領域に対応するグループに含まれる表示情報の一覧を表示させてもよい。
【００１７】
第１１の発明においては、表示制御ステップは、第２入力受付ステップ（Ｓ３およびＳ４）と、第３表示制御ステップ（Ｓ１０およびＳ１３）とをコンピュータにさらに実行させてもよい。第２入力受付ステップにおいて、コンピュータは、第２表示制御ステップにおいて表示される表示情報の一覧（７１）から所定の表示情報を選択する入力を受け付ける。第３表示制御ステップにおいて、コンピュータは、第２入力受付ステップにおいて表示情報が選択された場合、当該選択された表示情報をさらに表示装置に表示させる。
【００１８】
第１２の発明においては、仮想空間は３次元空間であってもよい。このとき、表示制御プログラムは、カメラ設定ステップ（Ｓ２１）と、表示位置算出ステップ（Ｓ３６）とをコンピュータにさらに実行させる。カメラ設定ステップにおいて、コンピュータは、３次元空間内に配置される仮想カメラの位置、姿勢、および視野角の少なくとも１つを変更可能に設定する。表示位置算出ステップにおいて、コンピュータは、仮想カメラの設定に基づいて地点の表示位置を算出する。このとき、グループ設定ステップにおいて、コンピュータは、表示位置算出ステップにおいて算出された表示位置に基づいてグループを設定する。第１表示制御ステップにおいて、コンピュータは、仮想カメラの設定に基づいて３次元空間の画像を生成して表示装置に表示させる。
【００１９】
第１３の発明においては、仮想空間は２次元空間であってもよい。このとき、表示制御プログラムは、２次元空間のうちで表示すべき領域の大きさを変更可能に設定する表示設定ステップをコンピュータにさらに実行させる。第１表示制御ステップにおいて、コンピュータは、表示設定ステップにおいて設定された領域内の画像を表示装置に表示させる。
【００２０】
なお、本発明は、上記各ステップを実行する表示制御装置と同等の機能を有する表示制御装置の形態で提供されてもよい。さらに、本発明は、表示制御装置（ゲーム装置３）と、当該表示制御装置と通信可能なサーバとを含むデータ配信システムの形態で提供されてもよい。このとき、サーバは、複数の表示情報を仮想空間内の地点に関連付けた配信データを表示制御装置へ送信する。また、表示制御装置は、サーバから送信されてくる配信データを記憶する記憶手段を有する。
【発明の効果】
【００２１】
第１の発明によれば、近接して表示される複数の地点に関連付けられた表示情報は１つのグループに区分され、グループ毎に判定領域が設定される。さらに、ユーザが判定領域内の位置を指定する入力を行った場合、当該判定領域に対応するグループに含まれる表示情報が表示される。これによれば、ユーザが位置の指定を行って１つのグループを選択した場合には、近接して表示される複数の地点のすべてが指定されたこととなる。その結果、当該複数の地点に関連付けられる表示情報はすべて表示される。したがって、第１の発明によれば、意図しない地点を指定してしまったために、所望でない表示情報のみが表示されてしまうことがなく、地点に関連付けられた表示情報の選択を容易に行うことができる。
【００２２】
第２の発明によれば、所定の表示情報に関してグループが設定され、当該所定の表示情報に近い地点に関連付けられた表示情報が同じグループに含められることになる。これによって、当該所定の表示情報が関連付けられた地点から所定距離以内の地点に関連付けられた表示情報が１つのグループに区分される。したがって、グループに含まれる表示情報が関連付けれる地点の範囲が必要以上に大きくなることがなく、グループを適切に設定することができる。
【００２３】
第３の発明によれば、各グループについて同じ第２の基準に基づいて判定領域が設定されるので、各判定領域の形状や大きさが同じになる。これによって、ユーザにとっては判定領域を指定しやすく、操作性の良い入力操作を提供することができる。
【００２４】
第４の発明によれば、別々のグループに対して設定される判定領域同士が重複することはないので、判定領域を適切に設定することができる。
【００２５】
第５の発明によれば、判定領域の形状を円形とすることで、ある位置が領域内に含まれるか否かの判定を容易に行うことができる。
【００２６】
第６の発明によれば、グループに含まれる各表示情報に関連付けられた各所定地点が判定領域に含まれるので、各地点を指定すれば確実にそれに対応する判定領域が指定できることになる。したがって、ユーザにとっては判定領域を指定しやすく、操作性の良い入力操作を提供することができる。
【００２７】
第７の発明によれば、表示情報毎に領域が設定され、判定領域は、グループに含まれる各表示情報に設定された領域を全て含むように設定される。したがって、ユーザは、グループに含まれる表示情報に設定された領域を指定すれば確実に判定領域を指定できるので、判定領域を容易かつ確実に指定することができ、ユーザにとって操作性の良い入力操作を提供することができる。
【００２８】
第８の発明によれば、グループに含まれる全ての表示情報に対応する各地点の位置を考慮して判定領域が決められるので、適切な位置に判定領域を設定することができる。
【００２９】
第９の発明によれば、グループを表す画像が当該グループに対応する判定領域の位置に関連付けて表示されるので、ユーザは、設定されたグループを容易に把握することができる。
【００３０】
第１０の発明によれば、ユーザによってグループが選択された場合、当該グループに含まれる表示情報の一覧が表示される。したがって、ユーザは、選択したグループ内の表示情報を一目で把握することができる。
【００３１】
第１１の発明によれば、ユーザは、表示情報の一覧が表示された段階でさらに表示情報を選択することができ、表示情報を選択することによってさらなる情報（例えば、より詳細な情報）を見ることができる。このように、段階的に表示情報を提示することによって、ユーザにとっては所望の表示情報をより探しやすくなる。
【００３２】
第１２の発明によれば、３次元の地図画像に対して拡大・縮小が行われたり俯角が変化したりすることによって、地図上の所定地点間の距離が変更された場合でも、リアルタイムに適切なグループを設定することができる。
【００３３】
第１３の発明によれば、２次元の地図画像に対して拡大・縮小が行われることによって、地図上の所定値点間の距離が変更された場合でも、リアルタイムに適切なグループを設定することができる。
【発明を実施するための最良の形態】
【００３４】
（ゲームシステムの全体構成）
図１を参照して、本発明の一実施形態に係るゲーム装置を含むゲームシステム１について説明する。図１は、ゲームシステム１の外観図である。以下、据置型のゲーム装置を一例にして、本実施形態のゲーム装置およびゲームプログラムについて説明する。図１において、ゲームシステム１は、テレビジョン受像器（以下、単に「テレビ」と記載する）２、ゲーム装置３、光ディスク４、コントローラ５、およびセンサバー６を含む。本システムは、コントローラ５を用いたゲーム操作に基づいてゲーム装置３でゲーム処理を実行するものである。
【００３５】
ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例である光ディスク４が脱着可能に挿入される。光ディスク４には、ゲーム装置３において実行されるためのゲームプログラムが記憶されている。ゲーム装置３の前面には光ディスク４の挿入口が設けられている。ゲーム装置３は、挿入口に挿入された光ディスク４に記憶されたゲームプログラムを読み出して実行することによってゲーム処理を実行する。
【００３６】
ゲーム装置３には、テレビ２が接続コードを介して接続される。テレビ２は、家庭用テレビジョン受像機等の表示装置である。テレビ２は、ゲーム装置３において実行されるゲーム処理の結果得られるゲーム画像を表示する。また、テレビ２の画面の周辺（図１では画面の上側）には、センサバー６が設置される。センサバー６は、その両端に２つのマーカ６Ｒおよび６Ｌを備えている。マーカ６Ｒおよび６Ｌは、具体的には１以上の赤外ＬＥＤであり、テレビ２の前方に向かって赤外光を出力する。センサバー６はゲーム装置３に接続されており、ゲーム装置３はセンサバー６が備える各赤外ＬＥＤの点灯を制御することが可能である。
【００３７】
コントローラ５は、自機に対して行われた操作の内容を示す操作データをゲーム装置３に与える入力装置である。コントローラ５とゲーム装置３とは無線通信によって接続される。本実施形態では、コントローラ５とゲーム装置３との間の無線通信には例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術が用いられる。なお、他の実施形態においてはコントローラ５とゲーム装置３とは有線で接続されてもよい。
【００３８】
（ゲーム装置３の内部構成）
次に、図２を参照して、ゲーム装置３の構成について説明する。なお、図２は、ゲーム装置３の機能ブロック図である。
【００３９】
図２において、ゲーム装置３は、各種プログラムを実行する、例えばＣＰＵ（セントラルプロセッシングユニット）１０を備える。ＣＰＵ１０は、図示しないブートＲＯＭに記憶された起動プログラムを実行し、メインメモリ１３等のメモリの初期化等を行った後、光ディスク４に記憶されているゲームプログラムを実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。ＣＰＵ１０には、メモリコントローラ１１を介して、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１２、メインメモリ１３、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）１４、およびＡＲＡＭ（Ａｕｄｉｏ  ＲＡＭ）１５が接続される。また、メモリコントローラ１１には、所定のバスを介して、通信ユニット１６、ビデオＩ／Ｆ（インターフェース）１７、フラッシュメモリ１８、ＬＥＤ制御部１９、オーディオＩ／Ｆ２０、およびディスクＩ／Ｆ２１が接続されている。ビデオＩ／Ｆ（インターフェース）１７はテレビ２に、ＬＥＤ制御部１９はセンサバー６に、オーディオＩ／Ｆ２０はテレビ２に搭載されるスピーカ２ａおよびディスクドライブ２２に、ディスクＩ／Ｆ２１はディスクドライブ２２に、それぞれ接続されている。
【００４０】
ＧＰＵ１２は、ＣＰＵ１０の命令に基づいて画像処理を行うものあり、例えば、３Ｄグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。ＧＰＵ１２は、図示しない画像処理専用のメモリやメインメモリ１３の一部の記憶領域を用いて画像処理を行う。ＧＰＵ１２は、当該画像処理によってテレビ２に表示すべきゲーム画像データやムービー映像を生成し、メモリコントローラ１１およびビデオＩ／Ｆ１７を介してテレビ２に適宜出力する。
【００４１】
メインメモリ１３は、ＣＰＵ１０で使用される記憶領域であって、ＣＰＵ１０の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ１３は、ＣＰＵ１０によって光ディスク４から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ１３に記憶されたゲームプログラムがＣＰＵ１０によって実行される。
【００４２】
ＤＳＰ１４は、ゲームプログラム実行時にＣＰＵ１０において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのＡＲＡＭ１５が接続される。ＡＲＡＭ１５は、ＤＳＰ１４が所定の処理（例えば、先読みしておいたゲームプログラムやサウンドデータの記憶）を行う際に用いられる。ＤＳＰ１４は、ＡＲＡＭ１５に記憶されたサウンドデータを読み出し、メモリコントローラ１１およびオーディオＩ／Ｆ２０を介してスピーカ２ａに出力させる。
【００４３】
メモリコントローラ１１は、データ転送を統括的に制御するものであり、上述した通信ユニット１６、フラッシュメモリ１８、ＬＥＤ制御部１９、各種Ｉ／Ｆ１７，２０および２１、ならびにネットワーク通信部２３が接続される。
【００４４】
通信ユニット１６は、ゲーム装置３とコントローラ５との間のデータの送受信を行う。コントローラ５は、自機に対する操作内容を示す操作データをゲーム装置３へ送信する。通信ユニット１６は、コントローラ５から操作データを受信し、受信した操作データをメモリコントローラ１１を介してＣＰＵ１０へ出力する。ＣＰＵ１０は、上記操作データに応じてゲーム処理を実行する。また、コントローラ５の動作を制御するための制御データがコントローラ５へ送信される場合、当該制御データは通信ユニット１６へ出力される。通信ユニット１６は、入力された制御データをコントローラ５へ送信する。
【００４５】
ビデオＩ／Ｆ１７には、テレビ２が接続され、ＧＰＵ１２によって生成された画像データは、ビデオＩ／Ｆ１７を介してテレビ２へ出力される。フラッシュメモリ１８は、セーブデータ等のデータを固定的に記憶するバックアップメモリとして機能する。ゲーム装置３は、フラッシュメモリ１８に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をテレビ２に表示することができる。ＬＥＤ制御部１９にはセンサバー６が備える赤外ＬＥＤが接続される。ＣＰＵ１０は、当該赤外ＬＥＤを点灯させる場合、ＬＥＤ制御部１９に給電指示を行う。給電指示に従ってＬＥＤ制御部１９が赤外ＬＥＤに給電を行うことによって、赤外ＬＥＤが点灯する。本実施形態では、少なくともゲームプログラムの実行が開始されている間は赤外ＬＥＤが点灯される。オーディオＩ／Ｆ２０にはテレビ２に内蔵されるスピーカ２ａが接続され、ＤＳＰ１４がＡＲＡＭ１５から読み出したサウンドデータや、ディスクドライブ２２から直接出力されるサウンドデータがスピーカ２ａから出力される。ディスクＩ／Ｆ２１には、ディスクドライブ２２が接続される。ディスクドライブ２２は、所定の読み出し位置に配置された光ディスク４に記憶されたデータを読み出し、ディスクＩ／Ｆ２１やオーディオＩ／Ｆ２０に出力する。
【００４６】
ネットワーク通信部２３は、無線ＬＡＮに接続する機能を有しており、インターネット等のネットワーク２４に接続されている。ゲーム装置３は、ネットワーク通信部２３を介して外部から後述するニュースデータやゲームプログラムや種々のデータを取得したり、外部へデータを送信したりすることが可能である。
【００４７】
（コントローラ５の構成）
次に、図３〜図６を参照して、コントローラ５について説明する。図３および図４は、コントローラ５の外観構成を示す斜視図である。図３は、コントローラ５の上側後方から見た斜視図であり、図４は、コントローラ５を下側前方から見た斜視図である。
【００４８】
図３および図４において、コントローラ５は、例えばプラスチック成型によって形成されたハウジング３１を有している。ハウジング３１は、その前後方向（図３に示すＺ軸方向）を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。ユーザ（プレイヤ）は、コントローラ５を用いることによって、それに設けられたボタンを押下すること、および、コントローラ５自体を動かしてその位置や姿勢を変えることによってゲーム操作を行うことができる。
【００４９】
ハウジング３１には、複数の操作ボタンが設けられる。図３に示すように、ハウジング３１の上面には、十字キー３２ａ、１番ボタン３２ｂ、２番ボタン３２ｃ、Ａボタン３２ｄ、マイナスボタン３２ｅ、ホームボタン３２ｆ、プラスボタン３２ｇ、および電源ボタン３２ｈが設けられる。一方、図４に示すように、ハウジング３１の下面には凹部が形成されており、当該凹部の後面側傾斜面にはＢボタン３２ｉが設けられる。これらの各操作ボタン３２ａ〜３２ｉには、ゲーム装置３が実行するゲームプログラムに応じた機能が適宜割り当てられる。また、電源ボタン３２ｈは遠隔からゲーム装置３本体の電源をオン／オフするためのものである。ホームボタン３２ｆおよび電源３２ｈは、その上面がハウジング３１の上面に埋没している。これによって、ユーザがホームボタン３２ｆまたは電源３２ｈを誤って押下することを防止することができる。
【００５０】
ハウジング３１の後面にはコネクタ３３が設けられている。コネクタ３３は、コントローラ５に他の機器（例えば、他のコントローラ）を接続するために利用される。
【００５１】
ハウジング３１上面の後方には複数（図３では４つ）のＬＥＤ３４ａ〜３４ｄが設けられる。ここで、コントローラ５には、他のコントローラと区別するためにコントローラ種別（番号）が付与される。各ＬＥＤ３４ａ〜３４ｄは、コントローラ５に現在設定されている上記コントローラ種別をユーザに通知したり、コントローラ５の電池残量をユーザに通知したりする等の目的で用いられる。具体的には、コントローラ５を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のＬＥＤ３４ａ〜３４ｄのいずれか１つが点灯する。
【００５２】
また、コントローラ５は撮像情報演算部３５（図５Ｂ）を有しており、図４に示すように、ハウジング３１前面には撮像情報演算部３５の光入射面３５ａが設けられる。光入射面３５ａは、マーカ６Ｒおよび６Ｌからの赤外光を少なくとも透過する材質で構成される。
【００５３】
ハウジング３１上面における１番ボタン３２ｂとホームボタン３２ｆとの間には、コントローラ５に内蔵されるスピーカ４９（図５Ａ）からの音を外部に放出するための音抜き孔３１ａが形成されている。
【００５４】
次に、図５Ａおよび図５Ｂを参照して、コントローラ５の内部構造について説明する。図５Ａおよび図５Ｂは、コントローラ５の内部構造を示す図である。なお、図５Ａは、コントローラ５の上筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図５Ｂは、コントローラ５の下筐体（ハウジング３１の一部）を外した状態を示す斜視図である。図５Ｂに示す斜視図は、図５Ａに示す基板３０を裏面から見た斜視図となっている。
【００５５】
図５Ａにおいて、ハウジング３１の内部には基板３０が固設されており、当該基板３０の上主面上に各操作ボタン３２ａ〜３２ｈ、各ＬＥＤ３４ａ〜３４ｄ、加速度センサ３７、アンテナ４５、およびスピーカ４９等が設けられる。これらは、基板３０等に形成された配線（図示せず）によってマイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）４２（図５Ｂ参照）に接続される。本実施形態では、加速度センサ３７は、Ｘ軸方向に関してコントローラ５の中心からずれた位置に配置されている。これによって、コントローラ５をＺ軸回りに回転させたときのコントローラ５の動きが算出しやすくなる。また、無線モジュール４４（図６）およびアンテナ４５によって、コントローラ５がワイヤレスコントローラとして機能する。
【００５６】
一方、図５Ｂにおいて、基板３０の下主面上の前端縁に撮像情報演算部３５が設けられる。撮像情報演算部３５は、コントローラ５の前方から順に赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１を備えている。これらの部材３８〜４１はそれぞれ基板３０の下主面に取り付けられる。
【００５７】
さらに、基板３０の下主面上には、上記マイコン４２およびバイブレータ４８が設けられている。バイブレータ４８は、例えば振動モータやソレノイドであり、基板３０等に形成された配線によってマイコン４２と接続される。マイコン４２の指示によりバイブレータ４８が作動することによってコントローラ５に振動が発生する。これによって、コントローラ５を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ４８は、ハウジング３１のやや前方寄りに配置される。つまり、バイブレータ４８がコントローラ５の中心よりも端側に配置することによって、バイブレータ４８の振動によりコントローラ５全体を大きく振動させることができる。また、コネクタ３３は、基板３０の下主面上の後端縁に取り付けられる。なお、図５Ａおよび図５Ｂに示す他、コントローラ５は、マイコン４２の基本クロックを生成する水晶振動子、スピーカ４９に音声信号を出力するアンプ等を備えている。
【００５８】
なお、図３〜図５Ａ、図５Ｂに示したコントローラ５の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であっても、本発明を実現することができる。また、コントローラ５における撮像情報演算部３５の位置（撮像情報演算部３５の光入射面３５ａ）は、ハウジング３１の前面でなくてもよく、ハウジング３１の外部から光を取り入れることができれば他の面に設けられてもかまわない。
【００５９】
図６は、コントローラ５の構成を示すブロック図である。コントローラ５は、操作部３２（各操作ボタン３２ａ〜３２ｉ）、コネクタ３３、撮像情報演算部３５、通信部３６、および加速度センサ３７を備えている。コントローラ５は、自機の姿勢に応じたデータを操作データとしてゲーム装置３へ送信するものである。
【００６０】
操作部３２は、上述した各操作ボタン３２ａ〜３２ｉを含み、各操作ボタン３２ａ〜３２ｉに対する入力状態（各操作ボタン３２ａ〜３２ｉが押下されたか否か）を示すデータを通信部３６のマイコン４２へ出力する。
【００６１】
加速度センサ３７は、コントローラ５の加速度（重力加速度を含む）を検出する、すなわち、コントローラ５に加わる力（重力を含む）を検出する。加速度センサ３７は、当該加速度センサ３７の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度（直線加速度）の値を検出する。例えば、２軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。例えば、３軸または２軸の加速度センサは、アナログ・デバイセズ株式会社（Ａｎａｌｏｇ  Ｄｅｖｉｃｅｓ，  Ｉｎｃ．）またはＳＴマイクロエレクトロニクス社（ＳＴＭｉｃｒｏｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．）から入手可能である種類のものでもよい。
【００６２】
本実施形態では、加速度センサ３７は、コントローラ５を基準とした上下方向（図３に示すＹ軸方向）、左右方向（図３に示すＸ軸方向）および前後方向（図３に示すＺ軸方向）の３軸方向に関してそれぞれ直線加速度を検出する。加速度センサ３７は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ３７からの出力は３軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、コントローラ５を基準に設定されるＸＹＺ座標系における３次元のベクトルとして表される。加速度センサ３７が検出した加速度（加速度ベクトル）を示すデータ（加速度データ）は、通信部３６へ出力される。
【００６３】
なお、後述する本実施形態における処理では、上記加速度センサ３７から出力されるデータは使用しないので、コントローラ５は、加速度センサ３７を有しない構成であってもよい。
【００６４】
撮像情報演算部３５は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部３５は、例えば最大２００フレーム／秒程度のサンプリング周期を有するので、比較的高速なコントローラ５の動きでも追跡して解析することができる。
【００６５】
撮像情報演算部３５は、赤外線フィルタ３８、レンズ３９、撮像素子４０、および画像処理回路４１を含んでいる。赤外線フィルタ３８は、コントローラ５の前方から入射する光から赤外線のみを通過させる。レンズ３９は、赤外線フィルタ３８を透過した赤外線を集光して撮像素子４０へ入射させる。撮像素子４０は、例えばＣＭＯＳセンサやあるいはＣＣＤセンサのような固体撮像素子であり、レンズ３９が集光した赤外線を受光して画像信号を出力する。ここで、テレビ２の表示画面近傍に配置されるセンサバー６のマーカ６Ｒおよび６Ｌは、テレビ２の前方に向かって赤外光を出力する赤外ＬＥＤで構成される。したがって、赤外線フィルタ３８を設けることによって、撮像素子４０は、赤外線フィルタ３８を通過した赤外線だけを受光して画像データを生成するので、マーカ６Ｒおよび６Ｌの画像をより正確に撮像することができる。以下では、撮像素子４０によって撮像された画像を撮像画像と呼ぶ。撮像素子４０によって生成された画像データは、画像処理回路４１で処理される。画像処理回路４１は、撮像画像内における撮像対象（マーカ６Ｒおよび６Ｌ）の位置を算出する。画像処理回路４１は、算出された位置を示す座標を通信部３６のマイコン４２へ出力する。この座標のデータは、マイコン４２によって操作データとしてゲーム装置３に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ５自体の向き（姿勢）や位置に対応して変化するので、ゲーム装置３はこのマーカ座標を用いてコントローラ５の向きや位置を算出することができる。なお、他の実施形態では、コントローラ５は、マーカ座標を算出するために必要なデータ（例えば、撮像画像のデータ）をゲーム装置３へ送信し、ゲーム装置３が当該データに基づいてマーカ座標を算出するようにしてもよい。
【００６６】
通信部３６は、マイコン４２、メモリ４３、無線モジュール４４、およびアンテナ４５を含んでいる。マイコン４２は、処理を行う際にメモリ４３を記憶領域として用いながら、マイコン４２が取得したデータをゲーム装置３へ無線送信する無線モジュール４４を制御する。
【００６７】
操作部３２、撮像情報演算部３５、および加速度センサ３７からマイコン４２へ出力されたデータは、一時的にメモリ４３に格納される。これらのデータは、上記操作データとしてゲーム装置３へ送信される。すなわち、マイコン４２は、ゲーム装置３の通信ユニット１６への送信タイミングが到来すると、メモリ４３に格納されている操作データを無線モジュール４４へ出力する。無線モジュール４４は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース）（登録商標）の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ４５から放射する。つまり、操作データは、無線モジュール４４で微弱電波信号に変調されてコントローラ５から送信される。微弱電波信号はゲーム装置３側の通信ユニット１６で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置３は操作データを取得することができる。そして、ゲーム装置３のＣＰＵ１０は、取得した操作データとゲームプログラムとに基づいて、ゲーム処理を行う。なお、通信部３６から通信ユニット１６への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は１／６０秒を単位として（１フレーム時間として）行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ５の通信部３６は、例えば１／２００秒に１回の割合で各操作データをゲーム装置３の通信ユニット１６へ出力する。
【００６８】
上記コントローラ５を用いることによって、ユーザは、各操作ボタンを押下する従来の一般的なゲーム操作に加えて、コントローラ５によって画面上の任意の位置を指示する操作を行うことができる。
【００６９】
図７を参照して、上記ゲーム装置に対する操作の例について説明する。図７は、ユーザがコントローラ５を用いて操作を行うときの様子を示す図解図である。本実施形態では、ユーザは、図７に示すように、コントローラ５によってテレビ２の画面上の位置Ｐを指し示す操作を行う。ここで、位置Ｐは、コントローラ５によって指し示される画面上の位置であり、理想的には、コントローラ５の前端部から上記長手方向に延ばした直線とテレビ２の画面とが交わる位置である。ただし、厳密に当該位置である必要はなく、その周辺の位置をゲーム装置３によって算出することができればよい。以下では、コントローラ５によって指し示される画面上の位置を「ポインティング位置」と呼ぶ。本実施形態では、ポインティング位置にはカーソルが表示され、ユーザは、カーソルを操作することによって画面上の位置を指定する指示を行う。
【００７０】
なお、本実施形態においては、ゲーム装置３は、上記コントローラ５によって指し示されるポインティング位置に表示されるカーソルを用いて、画面上の位置を指定する指示を行うが、他の実施形態においては、画面上の位置を指定する指示はどのような方法で行われてもよい。ゲーム装置３は、例えば、ボタン、マウス、またはスティック等の入力装置によって画面上の位置を指定する指示入力を受け付けるようにしてもよい。
【００７１】
（ゲーム装置３における処理の概要）
以下、本実施形態においてゲーム装置３で行われる処理の概要について説明する。本実施形態において、ゲーム装置３は、外部のサーバからネットワークを介して世界各地のニュースを取得し、取得したニュースをユーザに提示するものである。ゲーム装置３は、地図のデータと、サーバから取得したニュース情報が地図上の各地点に関連付けられたデータを格納している。ゲーム装置３は、これらのデータを用いて地図を表示し、地図上の地点を選択する操作をユーザに行わせることによって当該地点に関連付けられたニュース情報をユーザに提示する。以下では、地図上の地点のうち、ニュース情報が関連付けられた地点を「ニュース地点」と呼ぶ。
【００７２】
本実施形態では、ユーザにニュース情報を提示する際の処理は、大別して、地図表示モード、一覧表示モード、本文表示モードという３つのモードに分けられる。地図表示モードは、地図と、地図上の各ニュース地点に関連付けられたニュース情報を表すアイコンとを表示し、ユーザにニュース情報のグループを選択させるモードである。一覧表示モードは、地図表示モードにおいてユーザに選択されたグループに含まれるニュース情報の一覧を表示し、一覧のうちから１つのニュース情報をユーザに選択させるモードである。本文表示モードは、一覧表示モードにおいてユーザに選択されたニュース情報の内容（ニュースの本文や画像等）を表示することによってニュースをユーザに提示するモードである。以下、図８〜図１５を用いて、これらのモード毎に本実施形態の処理の概要を説明する。
【００７３】
まず、地図表示モードにおける処理の概要を説明する。地図表示モードにおいて、ゲーム装置３は、表示すべき地図の画像を生成する。本実施形態において、表示される地図は地球儀（世界地図）であり、３次元の仮想空間において球体で構築されている（図９参照）。仮想空間には、テレビ２の画面に表示すべき画像を生成するための仮想カメラが設定される。ゲーム装置３は、仮想カメラから見た地図の画像を生成し、生成された画像をテレビ２に表示させる。また、本実施形態では、仮想カメラの移動、またはオブジェクトの移動によって地図を拡大・縮小する（つまり地図の縮尺を変更する）操作、および、仮想カメラの俯角を変更する操作が可能である。
【００７４】
図８は、ある縮尺で生成される地図５１の画像を示す図である。また、図９は、図８に示す画像から地図５１の縮尺が変更された（縮尺が大きくされた）場合に生成される地図５１の画像を示す図である。図８および図９においては、日本付近の地図画像が生成される場合を例とする。また、札幌（ニュース地点５２）、東京（ニュース地点５３）、および京都（ニュース地点５４）の３地点がニュース地点である場合を例として説明する。なお、図９においては、球形の地図５１の全体の画像が生成されるので、実際には日本以外の国の画像を含む画像が生成されるが、説明を簡単にするため図９においては地図５１上に日本のみを示している。
【００７５】
図８および図９に示すように、地図５１上には、上記ニュース地点５２〜５４が存在し、各ニュース地点５２〜５４にはニュース情報が関連付けられている。また、各ニュース地点５２〜５４には基準領域が設定される。基準領域は、画面の表示領域上（地図画像上）において設定される領域であり、ニュース地点の表示位置に基づいて決められる。本実施形態において、基準領域は、ニュース地点の表示位置から所定距離ｒ１内の範囲の領域であって、つまり半径ｒ１の円形領域である。図８および図９においては、ニュース地点５２の基準領域５５、ニュース地点５３の基準領域５６、および、ニュース地点５４の基準領域５７がそれぞれ設定される。
【００７６】
ゲーム装置３は、地図５１の画像を生成すると、表示される各ニュース地点５２〜５４に関連付けられたニュース情報をグループに区分する。本実施形態では、ニュース地点同士の間隔が所定の基準より近いニュース情報同士によるグループが設定される。具体的には、ゲーム装置３は、所定の基準に従って１つのニュース情報が関連付けられたニュース地点を基準地点として選択する。そして、基準地点と、当該基準地点からの表示領域上の距離が所定距離ｒ２以内となるニュース地点に関連付けられたニュース情報とを１つのグループに設定する。ゲーム装置３は、基準地点の選択処理と当該基準地点に関連付けられたニュース情報を含むグループの設定処理とを繰り返すことによって、各ニュース情報をグループに区分する。なお、上記所定距離ｒ２は、上記所定距離ｒ１の２倍の値である。つまり、２つのニュース地点の基準領域が重なる場合、当該２つのニュース地点間の表示領域上の距離は所定距離ｒ２以内となる。
【００７７】
例えば図８に示す画像の場合、互いの基準領域が重なるようなニュース地点の組は存在しないので、３つのニュース地点５３ａ〜５５ａは、それぞれ別のグループに設定される。つまり、図８では、１つのグループは１つのニュース情報に対応し、ニュース地点５２（札幌）に関連付けられたニュース情報からなるグループと、ニュース地点５３（東京）に関連付けられたニュース情報からなるグループと、ニュース地点５４（京都）に関連付けられたニュース情報からなるグループという、３つのグループが設定される。
【００７８】
一方、図９に示す画像の場合、図８に示す画像に比べて地図５１の画像が縮小されている（地図の縮尺が大きくされている）。したがって、各ニュース地点間の表示上の距離は、図８に示す画像に比べて短くなっている。その結果、図９に示す画像においては、３つのニュース地点５２〜５４の基準領域５５〜５７は、表示領域上において互いに重なっている。したがって、図９に示す画像の場合、３つのニュース地点５２〜５４に関連付けられたニュース情報は１つのグループに設定される。以上に説明したように、本実施形態においては、表示上の距離が所定距離ｒ２よりも近い複数のニュース地点のそれぞれに関連付けられた各ニュース情報は、１つのグループに区分される。
【００７９】
グループを設定した後、ゲーム装置３は、グループ毎に判定領域を設定する。判定領域は、画面の表示領域上において設定される領域であり、グループが選択されたか否かを判定するために用いられる領域である。つまり、ゲーム装置３は、カーソルによって指定された位置が判定領域内である場合、当該判定領域が設定されたグループが選択されたと判断する。本実施形態では、ゲーム装置３は、グループに含まれる上記基準地点に設定される基準領域を当該グループの判定領域として設定する。例えば、図８に示す画像については、ニュース地点５２に関連付けられたニュース情報からなるグループに対しては基準領域５５が判定領域として設定され、ニュース地点５３に関連付けられたニュース情報からなるグループに対しては基準領域５６が判定領域として設定され、ニュース地点５４に関連付けられたニュース情報からなるグループに対しては基準領域５７が判定領域として設定される。一方、図９に示す画像については、例えばニュース地点５３が上記基準地点であるとすると、ニュース地点５２〜５４に関連付けられたニュース情報からなるグループに対しては基準領域５６が判定領域として設定される（図１０参照）。
【００８０】
上述のようにグループが設定されると、ゲーム装置３は、地図５１の画像とともに、ニュース情報を表すアイコンをテレビ２に表示させる。図１１は、地図表示モードにおいてテレビ２の画面に表示される画像の一例を示す図である。なお、図１１は、図８に示す地図画像が生成される場合においてテレビ２の画面に表示される画像を示している。図１１に示すように、テレビ２の画面には、地図５１、アイコン６２ａ〜６２ｅ、カーソル６３、および各種ボタン６４〜６７が表示される。なお、図１１において、アイコン６２ａは、札幌に関連付けられているニュース情報を表し、アイコン６２ｂ、６２ｃ、および６２ｄは、東京に関連付けられているニュース情報を表し、アイコン６２ｅは、京都に関連付けられているニュース情報を表す。
【００８１】
本実施形態においては、アイコンは、グループ毎にまとめて、基準地点の位置に表示される。つまり、１つのグループに複数のニュース情報が含まれる場合、各ニュース情報のアイコンは、まとめて表示される。また、１つのグループに含まれるニュース地点が１つである場合でも、ニュース地点に複数のニュース情報が関連付けられている場合、各ニュース情報のアイコンは、まとめて表示される。
【００８２】
例えば、図１１においては、東京には３つのニュース情報が関連付けられているので、東京には３つのアイコン６２ｂ、６２ｃ、および６２ｄがまとめて表示されている。図１１においては、３つのアイコン６２ｂ、６２ｃ、および６２ｄは、それぞれ表示位置が所定距離だけずらされて重なって見えるように表示される。一方、図１２は、図９に示す地図画像が生成される場合においてテレビ２の画面に表示される画像を示す。図１２においては、札幌、東京、および京都の３つのニュース地点は１つのグループに区分されるので、これらのニュース地点に関連付けられているニュース情報を表すアイコン６２ａ〜６２ｅは、１つにまとめて表示される。なお、図１２では、基準地点を東京としている。また、図１３は、地図表示モードにおいてテレビ２の画面に表示される画像の他の一例を示す図である。図１３は、札幌に関連付けられたニュース情報が１つのグループに区分され、東京および京都に関連付けられたニュース情報が１つのグループに区分された場合に表示される画像を示している。図１３においては、札幌に関連付けられているニュース情報を表すアイコン６２ａは単独で表示され、東京または京都に関連付けられているニュース情報を表すアイコン６２ｂ〜５２ｅは１つにまとめて表示される。以上のように、本実施形態では、１つのグループに区分されたアイコンはまとめて表示されるので、ユーザは、設定されたグループを容易に把握することができる。
【００８３】
また、本実施形態においては、図１１〜図１３に示されるように、アイコンが表示される各グループの基準地点の地名（図１１〜図１３の例では、札幌、東京、京都）が、アイコンに関連付けて（アイコンの付近に）表示される。
【００８４】
カーソル６３は、ゲーム装置３によって算出される上記ポインティング位置に表示される。本実施形態では、ユーザは、コントローラ５によってカーソル６３を画面上で移動させ、カーソル６３によって画面上の位置を指定する。カーソルによる画面上の位置の指定は、カーソル６３が当該位置を指示している状態で、例えば所定のボタン（例えばＡボタン３２ｄ）を押下することによって行われる。本実施形態では、カーソル６３によって画面上の位置を指定することによって各種の操作が行われる。例えば、グループを選択する操作は、カーソル６３を用いて行われる。また、本実施形態では、地図表示モードにおいて、地図５１を移動（スクロール）させる操作が可能である。詳細は後述するが、この操作においてもカーソル６３が用いられる。
【００８５】
また、本実施形態では、地図表示モードにおいて、地図５１を拡大・縮小する（地図の縮尺を変更する）操作、および仮想カメラの俯角を変更する操作が可能である。詳細は後述するが、図１１等に示す各種ボタン６４〜６７は、これらの操作を行うためのボタンである。拡大ボタン６５は、地図５１を拡大する指示を表すボタンであり、縮小ボタン６４は、地図５１を縮小する指示を表すボタンである。また、俯角増加ボタン６７は、仮想カメラの俯角を大きくする指示を表すボタンであり、俯角減少ボタン６６は、仮想カメラの俯角を小さくする指示を表すボタンである。なお、仮想カメラの俯角とは、仮想カメラの視線と当該視線と交わる部分における地図表面とのなす角度である。ユーザは、カーソル６３を用いてこれらのボタン６４〜６７を選択することによって、各ボタン６４〜６７に応じた指示を行うことができる。
【００８６】
以上のように、地図表示モードにおいては、ニュース情報を表すアイコンが地図とともに表示される。なお、上述したように、地図表示モードにおいては、地図５１を拡大・縮小する操作、および、仮想カメラの俯角を変更する操作が可能である。これらの操作が行われた場合、ニュース地点間の表示上の距離は変化する。したがって、本実施形態では、ゲーム装置３は、１フレーム毎にグループの設定を行い、各ニュース情報のグループ分けをリアルタイムに変化させる。その結果、アイコンがいくつかの他のアイコンとまとめて表示されるか、単独で表示されるかについてもリアルタイムで変化する。
【００８７】
地図表示モードにおいて、ユーザは、地図を移動させたり縮尺を変更したりしながら、所望のグループを選択する。グループの選択は、カーソル６３によって行われる。具体的には、カーソル６３によって画面上の位置が指定されると、ゲーム装置３は、指定された位置がいずれかのグループの判定領域内であるか否かを判定する。そして、指定された位置がいずれかのグループの判定領域内である場合、当該判定領域が設定されているグループが選択されたと判断する。
【００８８】
グループが選択されると、ゲーム装置３は、選択されたグループに含まれているニュース情報の一覧をユーザに提示する。つまり、当該ニュース情報の一覧を表す画像がテレビ２に表示される。これによって、処理のモードは地図表示モードから一覧表示モードへ移行されたことになる。
【００８９】
図１４は、一覧表示モードにおいてテレビ２の画面に表示される画像の一例を示す図である。図１４に示す画面には、上記カーソル６３、一覧画像７１、上スクロールボタン７２、および、下スクロールボタン７３が表示される。
【００９０】
一覧画像７１は、選択されたグループに含まれるニュース情報の一覧を表す。具体的には、一覧画像７１には、当該ニュース情報毎のニュースの見出しを表す画像（図１４において×××…で示している）が含まれる。なお、本実施形態においては、ニュース一覧に表示すべきニュース情報が複数である場合、各ニュース情報の見出し画像は所定の順序に上下に並べられており、所定個数（図１４では９個）の見出し画像が同時に画面に表示される。
【００９１】
上スクロールボタン７２および下スクロールボタン７３は、一覧画像７１をスクロールさせる指示を表すボタンである。すなわち、上スクロールボタン７２は、見出し画像の１個分の長さだけ画面の上方向に一覧画像７１をスクロールさせる指示を表す。また、下スクロールボタン７３は、見出し画像の１個分の長さだけ画面の下方向に一覧画像７１をスクロールさせる指示を表す。ユーザは、これらのボタン７２および７３をカーソル６３によって指定することによって、各ボタン７２および７３に応じた指示を行うことができる。以上のように、一覧画像７１を上下にスクロールさせることによって、選択されたグループに含まれるニュース地点に関連付けられている全てのニュース情報を表示させることができる。
【００９２】
一覧表示モードにおいて、ユーザは、その内容を閲覧したいニュース情報を選択する。ニュース情報の選択は、どのような方法であってもよいが、例えば、一覧画像７１内の各欄うちで、所望のニュース情報が表示されている欄（見出し画像）をカーソル６３を用いて指定することによって行われる。ニュース情報が選択されると、ゲーム装置３は、選択されたニュース情報の内容をユーザに提示する。つまり、当該ニュース情報の本文および画像等がテレビ２に表示される。これによって、処理のモードは一覧表示モードから本文表示モードへ移行されたことになる。
【００９３】
図１５は、本文表示モードにおいてテレビ２の画面に表示される画像の一例を示す図である。図１５に示す画面には、上記地図５１、上記カーソル６３、ニュース内容画像７５、および、復帰ボタン７９が表示される。図１５に示すように、本文表示モードにおいては、選択されたニュース情報の本文が表示される。
【００９４】
ニュース内容画像７５は、上記選択ニュース情報の内容、すなわち、見出し７６、本文７７、およびニュース画像７８を含む。ニュース内容画像７５が表示されることによって、ユーザにニュースが提示されたこととなる。また、本実施形態では、選択されたニュース情報のニュース内容画像７５に加えて、地図５１が画面に表示される。本文表示モードにおいては、選択されたニュース情報が関連付けられているニュース地点を示すマーク（図１５に示す○印）および地名（図１５では東京）が地図５１上に表示される。この画像によって、ユーザは、閲覧しているニュースがどのニュース地点に関連付けられているかを知ることができる。また、復帰ボタン７９は、上記地図表示モードへ復帰する指示を表すボタンである。ユーザは、復帰ボタン７９をカーソル６３によって選択することによって、地図表示モードの画面（図１１）を表示させることができる。
【００９５】
以上のように、本実施形態では、ニュース地点間の表示上の距離に応じて、各ニュース情報（各ニュース地点と言っても良い）はグループに区分される（図１２）。例えば、複数のニュース地点が密集して表示される場合、これらのニュース地点に関連付けられたニュース情報が１つのグループに設定される。そして、カーソル６３によってまずグループが選択されるようにする。さらに、グループが選択された場合には、選択されたグループに含まれるニュース情報の一覧が表示され（図１４）、一覧の中からニュース情報を選択することによってニュースの内容が表示される（図１５）。以上の処理によって、本実施形態によれば、複数のニュース地点が密集して表示される場合であっても、ユーザが意図しないニュース地点（ニュース情報）を誤って選択することを防止することができ、ニュース情報の選択操作を容易に行うことができる。
【００９６】
（ゲーム装置３における処理の詳細）
次に、ゲーム装置３において実行される処理の詳細について説明する。まず、ゲーム装置３における処理において用いられる主なデータについて図１６〜図１８を用いて説明する。図１６は、ゲーム装置３の記憶装置（メインメモリ１３およびフラッシュメモリ１８等）に設けられる記憶領域を示す図である。図１６に示すように、ゲーム装置３の記憶装置には、表示制御プログラム領域８１および処理用データ領域８２等が設けられる。
【００９７】
表示制御プログラム領域８１は、本発明に係る表示制御プログラムを記憶する領域である。表示制御プログラムは、地図を表示するとともに、外部のサーバから取得したニュース情報を表示するための処理をゲーム装置３に実行させるためのプログラムである。本実施形態では、表示制御プログラムは予めゲーム装置３の記憶装置に記憶されているものとするが、他の実施形態では、当該プログラムは光ディスク４に記憶されており、ゲーム装置３が適宜のタイミングで当該プログラムを光ディスク４から読み出すようにしてもよい。
【００９８】
処理用データ領域８２は、ゲーム装置３において実行される処理（図１９等参照）において用いられるデータを記憶するための領域である。処理用データ領域８２には、配信データ８３、カーソルデータ８６、および判定領域データ８７が記憶されるとともに、第１ニュースバッファ８４および第２ニュースバッファ８５が設けられる。なお、処理用データ領域８２には、図１６に示すデータの他、コントローラ５から取得される操作データや、地図画像のデータおよび各ニュース地点の地図上の位置を示すデータを含む地図データ等、処理に必要なデータが記憶される。
【００９９】
配信データ８３は、外部のサーバから配信されて取得されるデータであり、ニュース地点に関連付けられたニュース情報のデータを含んでいる。図１７は、配信データの一例を示す図である。図１７に示すように、配信データ８３には、ヘッダ９２およびニュース情報データ９３が含まれる。ヘッダ９２には、例えば、配信データに含まれるニュース情報の数、および、配信データの配信日時等、処理に必要な情報が含まれている。
【０１００】
ニュース情報データ９３は、１個のニュース情報を示すデータである。なお、配信データには通常、複数個のニュース情報データが含まれている。ニュース情報データ９３は、ニュースＩＤデータ９４、地名データ９５、位置データ９６、見出しデータ９７、および本文データ９８等を含む。ニュースＩＤデータ９４は、ニュース情報を識別するための番号を示す。地名データ９５は、ニュース情報が関連付けられるニュース地点の地名を示す。位置データ９６は、ニュース情報が関連付けられるニュース地点の地図上における位置を示す。本実施形態では、地図は球体の世界地図であるので、地図上の位置を緯度および経度によって表す。すなわち、位置データ９６は、ニュース情報が関連付けられたニュース地点の緯度および経度を示す。他の実施形態においては、位置データ９６は、３次元、または２次元の座標であってもよいし、あらかじめ地名と位置の対応がついている場合には、地名データ９５を位置データに替える構成であってもよい。見出しデータ９７は、ニュース情報の見出しを示す。本文データ９８は、ニュース情報の本文を示す。なお、ニュース情報データには、図１７に示すデータの他に、日時を示すデータや、ニュース情報に関連する映像や画像のデータが含まれていてもよい。
【０１０１】
なお、配信データのデータ構造は上記に限らず、何らかの形で地図上の地点とニュース情報とが関連付けられたデータが含まれていればよい。例えば、他の実施形態においては、地名データとニュース情報データとを別にして、それぞれが配信データに含まれるようなデータ構造としてもよい。このとき、ニュース情報データには、配信データに含まれる地名データを指定するポインタが含まれる。このようなデータ構造とすることによって、ニュース情報データ毎に地名データを有する必要がないので、複数のニュース情報データが同じ地名データを重複して含むことがなく、配信データのデータ量を低減することができる。
【０１０２】
図１６の説明に戻り、第１ニュースバッファ８４は、メインメモリ１３に現在記憶されている全てのニュース情報を格納するためのバッファ領域である。第１ニュースバッファ８４に格納されるニュース情報は、所定の順番（例えば、ニュースの日時が新しい順）で格納されている。以下、先頭から第ｎ（ｎは１以上の整数）番目に格納されるニュース情報を「第ｎのニュース情報」と呼ぶこととする。なお、本実施形態においては、配信データに含まれるニュース情報データと同じデータが第１ニュースバッファ８４に格納されているわけではなく、実際には、第１ニュースバッファ８４には、配信データとして記憶されているニュース情報データを指定するためのポインタが格納されている。例えば、現在記憶されているニュース情報データにはそれぞれインデックス番号が付されており、ポインタは当該インデックス番号を指定する。本実施形態のようにポインタを用いることによって、第１ニュースバッファ８４に必要なメモリ領域を低減することができる。
【０１０３】
第２ニュースバッファ８５は、画面に表示すべきニュース情報からなるグループを格納するためのバッファ領域である。図１８は、第２ニュースバッファ８５に格納されるデータのデータ構造を概念的に示す図である。図１８に示すように、第２ニュースバッファ８５には、１以上のグループに区分されて複数のニュース情報（図１８では、第１〜第６ニュース情報）が格納される。以下では、第ｎ（ｎは１以上の整数）番目に生成されたグループを「第ｎのグループ」と呼ぶこととする。また、１つのグループ内に含まれるニュース情報は、リンク構造によって順番に接続されている。例えば図１８においては、第１グループには、第１、第３および第４ニュース情報が含まれており、第１、第３、第４の順に接続されている。同様に、第２グループには、第２および第５ニュース情報が含まれており、第２、第５の順に接続されている。また、第３グループには、第６ニュース情報のみが含まれる。
【０１０４】
なお、詳細は後述するが、第２ニュースバッファ８５においては、同じグループに含まれるニュース地点に関連付けられているニュース情報が、同じグループとなるように構成される。したがって、本実施形態において、ニュース情報をグループに区分することは、ニュース地点をグループに区分することを意味している。
【０１０５】
図１８に示すようなデータ構造は、ポインタを用いて実現することができる。本実施形態では、第２ニュースバッファ８５には、ニュース情報データに相当する要素（データ）として、配信データとして記憶されているニュース情報データを指定するためのニュース情報指定ポインタと、自己の次に接続される要素を指定するための次要素指定ポインタとが格納される。なお、上記要素には、リンクの先頭であることを示すデータが含まれていてもよい。当該データにより、第２ニュースバッファ８５に格納される複数のニュース情報のうちから、リンクの先頭となるニュース情報を容易に検索することができる。
【０１０６】
カーソルデータ８６は、カーソルの表示領域上（画面上）における位置を示すデータである。また、判定領域データ８７は、上記判定領域の表示領域上における位置を示すデータである。カーソルデータ８６および判定領域データ８７は、カーソルを用いた操作によって地図上の地点からなるグループが選択されたか否かを判定するために用いられる。
【０１０７】
次に、ゲーム装置３において行われる処理の詳細な流れを、図１９〜図２４を用いて説明する。図１９は、ゲーム装置３において実行される処理の流れを示すメインフローチャートである。ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ１０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ１３等の各ユニットが初期化される。そして、ＣＰＵ１０によって当該上記表示制御プログラムの実行が開始される。図１９に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【０１０８】
まずステップＳ１において、ＣＰＵ１０は、サーバからネットワークを介して配信される配信データを受信し、受信した配信データを配信データ８３としてメインメモリ１３に記憶する。配信データには、１以上のニュース情報データが含まれている。また、配信データは定期的にサーバから取得されてフラッシュメモリ１８に記憶され、ステップＳ１においてフラッシュメモリ１８からメインメモリ１３に転送される構成であってもよい。そのような構成とすることで、常に最新の情報を取得することができる。
【０１０９】
続くステップＳ２において、ＣＰＵ１０は、第１ニュースバッファを生成する。すなわち、ステップＳ１で格納された配信データに含まれている各ニュース情報が第１ニュースバッファ８４にそれぞれ格納される。なお、上述したように、各ニュース情報は、所定の順番（例えば、ニュースの日時が新しい順）となるようにソートされて第１ニュースバッファ８４に格納される。
【０１１０】
上記ステップＳ１およびＳ２の後、ステップＳ３〜Ｓ１４の処理ループが繰り返し実行される。なお、１回の当該処理ループは、１フレーム時間（例えば１／６０秒）に１回の割合で実行される。
【０１１１】
なお、本実施形態では、１回に受信される１つの配信データに基づいて作成される第１ニュースバッファを用いて、ニュース情報をユーザに提示する処理（後述するステップＳ３〜Ｓ１４）が行われる。ここで、他の実施形態においては、複数個の配信データに基づいて作成される第１ニュースバッファを用いて上記処理を行うようにしてもよい。例えば、サーバは、所定時間間隔（例えば１時間間隔）でゲーム装置３へ配信データを送信し、ゲーム装置３は、最新のものから順に所定数の配信データ（例えば、１日分（２４個）の配信データ）を記憶しておくようにしてもよい。このとき、古くなった配信データは削除される。
【０１１２】
ステップＳ３において、ＣＰＵ１０は、コントローラ５から操作データを取得する。すなわち、コントローラ５から送信されてくる操作データを通信ユニット１６が受信し、受信された操作データがメインメモリ１３に記憶される。これによって、現時点における各操作ボタン３２ａ〜３２ｉの操作状況を示すデータ、および、現時点におけるマーカ座標を示すマーカ座標データがメインメモリ１３に記憶される。
【０１１３】
続くステップＳ４において、ＣＰＵ１０は、カーソルの表示位置を算出する。上述したように、カーソルはポインティング位置に表示され、ポインティング位置は上記マーカ座標データを用いて算出される。算出されたポインティング位置を示すデータは、カーソルデータ８６としてメインメモリ１３に記憶される。なお、ポインティング位置を算出するためのアルゴリズムは、撮像画像から画面上のポインティング位置を算出するものであればどのようなものであってもよい。一例として、以下に示すようなアルゴリズムを用いてポインティング位置を算出することが考えられる。
【０１１４】
以下、ポインティング位置の算出方法の一例を説明する。まずＣＰＵ１０は、メインメモリ１３に記憶されているマーカ座標データにより示される２つのマーカ座標の中点を算出する。この中点の位置は、撮像画像に対応する平面上の位置を表すためのｘｙ座標系によって表現される。このｘｙ座標系は、撮像画像の左上を原点とし、下向きをｙ軸正方向とし、右向きをｘ軸正方向とするものとする。次に、ＣＰＵ１０は、当該中点の位置を示す座標を、テレビ２の画面上の位置を表すための座標系（ｘ’ｙ’座標系）の座標に変換する。なお、ｘ’ｙ’座標系が、画面の左上を原点とし、下向きをｙ軸正方向とし、右向きをｘ軸正方向とするものとすれば、上記変換は次のように行うことができる。すなわち、中点座標のｘ成分の正負を反転させて所定の割合（例えば、撮像画像のｘ軸方向の長さを、テレビ２の画面のｘ’軸方向の長さに一致させる割合）でスケーリングすることによって、ポインティング位置のｘ’成分を得ることができる。また、中点座標のｙ成分を所定の割合（例えば、撮像画像のｙ軸方向の長さを、テレビ２の画面のｙ’軸方向の長さに一致させる割合）でスケーリングすることによって、指示位置のｙ’成分を得ることができる。以上のようにして算出されたｘ’ｙ’座標値により示される位置がポインティング位置となる。また、より正確なポインティング位置の算出方法の例としては、上記２つのマーカ座標を結ぶベクトルがｙ軸に平行になるように撮像画像の中央を中心として２つのマーカ座標の中点を回転する処理を行い、回転後の当該中点に対して上記変換処理を行う。このような回転による補正処理を行うことによって、コントローラ５が傾いている場合等にも、ポインティング位置を正確に算出することができる。
【０１１５】
ステップＳ４の次のステップＳ５において、ＣＰＵ１０は、３次元の仮想空間内に球体の地図オブジェクトを配置する。なお、地図オブジェクトの配置処理は、１フレーム毎に行わなくてもよく、当該処理が必要な適宜のタイミング（例えば、地図が表示されるタイミングや、地図オブジェクトが変化するタイミング）でのみ行うようにしてもよい。
【０１１６】
ステップＳ６において、ＣＰＵ１０は、現在の処理モードが本文表示モードであるか否かを判定する。本実施形態では、ゲーム装置３における処理モードは、地図表示モード、一覧表示モード、および本文表示モードのいずれかに設定されている。また、図１９に示す処理の開始時には、ゲーム装置３における処理モードは地図表示モードに設定されている。ステップＳ６の判定結果が肯定である場合、後述するステップＳ１０の処理が実行される。一方、ステップＳ６の判定結果が否定である場合、ステップＳ７の処理が実行される。
【０１１７】
ステップＳ７において、ＣＰＵ１０は、現在の処理モードが一覧表示モードであるか否かを判定する。ステップＳ７の判定結果が肯定である場合、後述するステップＳ９の処理が実行される。一方、ステップＳ７の判定結果が否定である場合、すなわち、現在の処理モードが地図表示モードである場合、ステップＳ８の処理が実行される。
【０１１８】
ステップＳ８においては、地図表示モードにおける処理（地図表示モード処理）が実行される。以下、図２０を参照して、地図表示モード処理の詳細を説明する。
【０１１９】
図２０は、図１９に示す地図表示モード処理（ステップＳ８）の流れを示すフローチャートである。地図表示モード処理においては、まずステップＳ２１において、ＣＰＵ１０は、コントローラ５による操作に応じて地図の表示態様を変更する。具体的には、ＣＰＵ１０は、地図が移動したり、拡大・縮小したり、仮想カメラの視線に対する地表面の角度が変化したりするように、仮想カメラの位置、向き、および視野角を変更する。これによって、地図の移動、地図の拡大・縮小、および、仮想カメラの俯角の変更が行われ、場合によってはニュース地点間の表示上の距離が変更される。
【０１２０】
地図の移動は、カーソルを用いた操作に従って行われる。具体的には、移動操作は、地図が表示されている領域にカーソルが位置する状態で所定のボタン（例えばＡボタン３２ｄ）を押下し、当該所定のボタンを押下したままカーソルを移動させることによって行われる。具体的には、ＣＰＵ１０は、カーソルの移動した方向に応じて、仮想カメラを球体の地図の表面に沿って移動させる。これによって、画面に表示されている地図は、カーソルの移動した方向に応じてスクロールされる。例えば、カーソル６３を所定のボタンを押下したまま左方向に移動した場合、地図は左方向にスクロールされる。なお、ゲーム装置３は、マーカ座標データを用いてコントローラ５のＺ軸周りの回転を算出することが可能である。したがって、他の実施形態においては、コントローラ５のＺ軸周りの回転に応じて、地図を回転させるようにしてもよい。
【０１２１】
また、地図の拡大・縮小は、図１１に示した拡大ボタン６５および縮小ボタン６４がカーソルによって指定されたことに応じて行われる。すなわち、ＣＰＵ１０は、カーソルによって拡大ボタン６５が指定されると、仮想カメラを球体の地図の表面に近づける方向に移動させ、カーソルによって縮小ボタン６４が指定されると、仮想カメラを球体の地図の表面から遠ざける方向に移動させる。また、仮想カメラの位置を変更することに代えて、仮想カメラの視野角を変更するようにしてもよい。以上のように、地図は、拡大ボタン６５／縮小ボタン６４が指定されたことに応じて拡大／縮小して表示される。また、ＣＰＵ１０は、コントローラ５のプラスボタン３２ｇが押下されたことに応じて地図の拡大を行い、コントローラ５のマイナスボタン３２ｅが押下されたことに応じて地図の縮小を行うようにしてもよい。
【０１２２】
また、仮想カメラの俯角の変更は、図１１に示した俯角増加ボタン６７および俯角減少ボタン６６がカーソルによって指定されたことに応じて行われる。すなわち、ＣＰＵ１０は、カーソルによって俯角増加ボタン６７が指定されると、仮想カメラの俯角が増加するように仮想カメラの向きを変更し、カーソルによって俯角減少ボタン６６が指定されると、仮想カメラの俯角が減少するように仮想カメラの向きを変更する。なお、仮想カメラを移動させることによっても俯角を変更することができる。このように、地図は、俯角増加ボタン６７／俯角減少ボタン６６が指定されたことに応じて俯角が増加／減少して表示される。
【０１２３】
ステップＳ２１の次のステップＳ２２において、グループ設定処理が実行される。グループ設定処理は、表示される地図上のニュース地点をグループに区分する処理である。本実施形態では、グループ設定処理においては、ＣＰＵ１０は、画面に表示するニュース情報のうちでグループが設定されていないニュース情報に関して１つのグループを新規に設定し、表示領域上において、当該ニュース情報が関連付けられたニュース地点からの距離が所定距離（ｒ２）よりも短いニュース地点に関連付けられたニュース情報を当該グループにさらに含める処理を、グループが設定されていないニュース情報が存在しなくなるまで繰り返す。以下、図２２を参照して、グループ設定処理の詳細を説明する。
【０１２４】
図２１は、図２０に示すグループ設定処理（ステップＳ２２）の流れを示すフローチャートである。グループ設定処理においては、まずステップＳ３１において、ＣＰＵ１０は、第１ニュースバッファ８４に格納されている先頭のニュース情報を指定する。具体的には、第１カウンタｉの値をｉ＝１とする。第１カウンタｉは、第１ニュースバッファ８４に格納されている第ｉのニュース情報を表す。なお、以下、グループ設定処理の説明において、ステップＳ３１または後述するステップＳ４１で指定されているニュース情報を「指定ニュース情報」と呼ぶ。ステップＳ３１の次にステップＳ３２の処理が実行される。
【０１２５】
ステップＳ３２において、ＣＰＵ１０は、指定ニュース情報が画面に表示される可能性がないか否かを判定する。ステップＳ３２の判定は、例えば、仮想カメラの視線ベクトルと、球体の地図の中心から指定ニュース情報が関連付けられている地点へのベクトルとを用いて行われる。すなわち、上記２つのベクトルの内積が負となる場合、仮想カメラから（仮想カメラの）視線方向を見たときに上記地点は球体の表側に位置するので、指定ニュース情報は画面に表示される可能性があると判断することができる。一方、上記２つのベクトルの内積が正となる場合、仮想カメラから（仮想カメラの）視線方向を見たときに上記地点は球体の裏側に位置するので、指定ニュース情報は画面に表示される可能性がないと判断することができる。なお、ステップＳ３２の処理は、画面に表示される可能性がない指定ニュース情報を、ステップＳ３３以降で実行されるグループ区分処理の対象から可能な限り除外する目的で行われるものであり、画面に表示される指定ニュース情報を抽出する目的で行われるものではない。つまり、ステップＳ３２の判定処理おいては、実際には画面に表示されない指定ニュース情報に対して判定結果が否定となることもある。ステップＳ３２の判定結果が否定である（指定ニュース情報が画面に表示される可能性がある）場合、ステップＳ３３の処理が実行される。一方、ステップＳ３２の判定結果が肯定である（指定ニュース情報が画面に表示される可能性がない）場合、後述するステップＳ４０の処理が実行される。
【０１２６】
ステップＳ３３において、ＣＰＵ１０は、第２ニュースバッファ８５に格納されている第１のグループを指定する。具体的には、第２カウンタｊの値をｊ＝１とする。第２カウンタｊは、第２ニュースバッファ８５に格納される第ｊのグループを表す。なお、以下、グループ設定処理の説明において、ステップＳ３３または後述するステップＳ３８で指定されているグループを「指定グループ」と呼ぶ。ステップＳ３３の次にステップＳ３４の処理が実行される。
【０１２７】
ステップＳ３４において、ＣＰＵ１０は、指定グループにニュース情報が含まれているか否か（指定グループが存在するか否か）を判定する。ステップＳ３４の判定は、第２ニュースバッファ８５に格納されているグループ（ニュース情報を含むグループ）の数と、上記第２カウンタｊの値とを用いて行われる。すなわち、第２カウンタｊの値が、ニュース情報を含むグループの数よりも小さい場合、指定グループにニュース情報が含まれていると判定され、第２カウンタｊの値が上記数以上である場合、指定グループにニュース情報が含まれていないと判定される。ステップＳ３４の判定結果が否定である場合、ステップＳ３５の処理が実行される。一方、ステップＳ３４の判定結果が肯定である場合、後述するステップＳ３６の処理が実行される。
【０１２８】
ステップＳ３５においては、ＣＰＵ１０は、指定ニュース情報を指定グループの先頭に追加する。具体的には、第２ニュースバッファ８５に新たなニュース情報として指定ニュース情報を追加し、当該指定ニュース情報を先頭に含むグループを第２ニュースバッファ８５に追加する。より具体的には、指定ニュース情報を表す新たな要素が第２ニュースバッファ８５に追加して記憶される。この要素においては、ニュース情報データを指定するためのニュース情報指定ポインタは、指定ニュース情報のニュース情報データを指定する。また、次に接続される要素を指定するための次要素指定ポインタは、次に接続される要素がないことを示す。以上のステップＳ３５の処理によって、第ｊのグループが新たに設定されたこととなる。ステップＳ３５の次に、後述するステップＳ４０の処理が実行される。
【０１２９】
一方、ステップＳ３６においては、ＣＰＵ１０は、指定ニュース情報が関連付けられているニュース地点の表示位置と、指定グループの先頭のニュース情報が関連付けられているニュース地点の表示位置との間の表示上の距離を算出する。具体的には、まず、上記２つのニュース地点の表示領域上の表示位置が算出される。ニュース地点の表示位置は、ステップＳ５で配置された地図と、ステップＳ２１で設定された仮想カメラの位置および向きとに基づいて、３次元空間における地図上のニュース地点を所定の投影平面に投影することによって得られる。次に、算出された上記２つのニュース地点の表示位置の間の距離が算出される。ＣＰＵ１０は、以上の計算によって上記距離を算出する。
【０１３０】
続くステップＳ３７において、ＣＰＵ１０は、ステップＳ３６で算出された距離が、所定距離ｒ２未満であるか否かを判定する。ここで、本実施形態では、所定距離ｒ２は、ニュース地点に基準領域を設定するために用いられる基準（具体的には、半径ｒ１）に基づいて設定され、具体的には、上記基準領域の半径ｒ１の２倍の値である。ステップＳ３７の判定処理は、指定ニュース情報が関連付けられているニュース地点の表示位置と、指定グループの先頭の指定ニュース情報が関連付けられているニュース地点の表示位置とが所定距離よりも近いか否かを判定するための処理である。つまり、ステップＳ３７においては、指定ニュース情報が関連付けられているニュース地点を、指定グループに含めるか否かが判定される。ステップＳ３７の判定結果が否定である場合、ステップＳ３８の処理が実行される。一方、ステップＳ３７の判定結果が肯定である場合、後述するステップＳ３９の処理が実行される。
【０１３１】
以上のように、本実施形態では、上記ステップＳ３６およびＳ３７の処理において、ステップＳ３５で指定グループの先頭に追加されたニュース情報に関連付けられているニュース地点と、指定ニュース情報に関連付けられているニュース地点との表示位置が比較される。つまり、本実施形態では、グループの先頭のニュース情報が関連付けられているニュース地点が、上記基準地点として用いられる。
【０１３２】
ステップＳ３８において、ＣＰＵ１０は、現在の指定グループの次のグループを新たに指定する。具体的には、第２カウンタｊの値をインクリメント（１加算）する。ステップＳ３８の後、ステップＳ３４の処理が再度実行される。
【０１３３】
一方、ステップＳ３９において、ＣＰＵ１０は、指定ニュース情報を指定グループのリストの最後に追加する。具体的には、指定ニュース情報を表す新たな要素が第２ニュースバッファ８５に追加して記憶される。この要素においては、ニュース情報指定ポインタは、指定ニュース情報のニュース情報データを指定する。また、次要素指定ポインタは、次に接続される要素がないことを示す。さらに、上記新たに追加された要素の前に接続される要素において、次要素指定ポインタが当該新たに追加された要素を指定するように変更される。以上のステップＳ３９の処理によって、指定ニュース情報が指定グループのリストの最後に追加されたこととなる。ステップＳ３９の次に、ステップＳ４０の処理が実行される。
【０１３４】
ステップＳ４０において、ＣＰＵ１０は、第１ニュースバッファ８４に格納されている全てのニュース情報を指定したか否かを判定する。ステップＳ４０の判定処理は、全てのニュース情報をグループに区分したか否かを判定する処理である。ステップＳ４０の判定結果が否定である場合、ステップＳ４１の処理が実行される。一方、ステップＳ４０の判定結果が肯定である場合、ＣＰＵ１０は、グループ設定処理を終了する。
【０１３５】
ステップＳ４１において、ＣＰＵ１０は、現在の指定ニュース情報の次のニュース情報を新たに指定する。具体的には、第１カウンタｉの値をインクリメントする。ステップＳ４１の後、ステップＳ３２の処理が再度実行される。
【０１３６】
以上のグループ設定処理によって、第１ニュースバッファ８４に格納されている各ニュース情報がグループに区分される。すなわち、各ニュース情報は、先頭から順に１つずつ指定され、すでに設定されているグループ（他のニュース情報を含むグループ）に含まれるか否かが判定される（ステップＳ３６およびＳ３７）。そして、判定結果が肯定の場合（ステップＳ３７でＹｅｓ）、当該グループのリストの最後にニュース情報が追加され、判定結果が否定の場合（ステップＳ３７でＮｏ）、次のグループが指定され（ステップＳ３８）、上記と同様の判定が行われる（ステップＳ３６およびＳ３７）。また、すでに設定されているグループにニュース情報が含められない場合（ステップＳ３４でＮｏ）、当該ニュース情報を先頭に含むグループが新たに設定される（ステップＳ３５）。第１ニュースバッファ８４に格納されている各ニュース情報について以上の処理を実行することによって、各ニュース情報にグループが設定されたこととなる。
【０１３７】
また、上記ステップＳ３６およびＳ３７において、指定ニュース情報に関連付けられているニュース地点と、指定グループの先頭のニュース情報に関連付けられているニュース地点との表示上の距離が近い（所定距離ｒ２内である）場合（ステップＳ３７でＹｅｓ）、当該指定ニュース情報と当該先頭のニュース情報とは同じグループに設定される（ステップＳ３９）。つまり、指定ニュース情報に関連付けられているニュース地点と、指定グループの先頭のニュース情報に関連付けられているニュース地点とは、同じグループに設定されたこととなる。このように、上記グループ設定処理によって、地図上の各ニュース地点にグループが設定されたこととなる。
【０１３８】
以上に説明したグループ設定処理においては、グループの先頭のニュース情報が関連付けられたニュース地点のみが、指定ニュース情報が関連付けられたニュース地点との比較（ステップＳ３７）の対象となる。つまり、グループの先頭のニュース情報が関連付けられたニュース地点が基準地点となる。そのため、基準地点の表示位置は、グループに含まれる他の全てのニュース地点から表示領域上で所定距離ｒ１以内の位置となる。これによれば、表示位置が所定距離ｒ１の２倍よりも離れた位置となる２つのニュース地点が１つのグループに区分されることはない。つまり、１つのグループに区分されるニュース地点の範囲が必要以上に大きくなることはなく、グループを適切に設定することができる。
【０１３９】
なお、本実施形態におけるグループ設定処理では、第１ニュースバッファ８４に格納される順番が若いニュース情報が先に指定されるので、順番が若いニュース情報が優先して基準地点となる。したがって、第１ニュースバッファ８４に格納される順番を所定の基準に従って決定することによって、優先して基準地点となるニュース情報の種類を決定することができる。例えば、ニュースの日時が新しい順にニュース情報を第１ニュースバッファ８４に格納することで、新しいニュース情報が優先して基準地点となるようにすることができる。また、ニュース情報に優先度を設定しておき（具体的には、配信データ８３に含まれるニュース情報データ９３に、優先度を示すデータを含める）、第１ニュースバッファ８４における格納順を当該優先度に従って決定するようにしてもよい。
【０１４０】
図２０の説明に戻り、ステップＳ２２の次のステップＳ２３において、画像生成処理が実行される。画像生成処理は、地図表示モードにおいてテレビ２に表示すべき画像（例えば図１１に示す画像）を生成するための処理である。以下、図２３を参照して、画像生成処理の詳細を説明する。
【０１４１】
図２２は、図２０に示す画像生成処理（ステップＳ２３）の流れを示すフローチャートである。画像生成処理においては、まずステップＳ５０において、ＣＰＵ１０は、第２ニュースバッファ８５に格納されているグループのうちの先頭のグループ（第１グループ）を指定する。具体的には、上記第２カウンタｊの値がｊ＝１に設定される。なお、以下、画像生成処理の説明において、ステップＳ５０または後述するステップＳ５８で指定されているグループを「指定グループ」と呼ぶ。ステップＳ５０の次にステップＳ５１の処理が実行される。
【０１４２】
ステップＳ５１において、ＣＰＵ１０は、第２ニュースバッファ８５に格納されている全てのグループに対してステップＳ５２以降の処理を実行したか否かを判定する。ステップＳ５１の判定は、第２ニュースバッファ８５に格納されているグループの数と、上記第２カウンタｊの値とを用いて行われる。すなわち、第２カウンタｊの値が、ニュース情報を含むグループの数よりも大きい場合、全てのグループに対してステップＳ５２以降の処理を実行したと判定され、第２カウンタｊの値が上記数以下である場合、ステップＳ５２以降の処理を実行していないグループが存在すると判定する。ステップＳ５１の判定結果が否定である場合、ステップＳ５２の処理が実行される。一方、ステップＳ５１の判定結果が肯定である場合、後述するステップＳ５９の処理が実行される。
【０１４３】
ステップＳ５２において、ＣＰＵ１０は、指定グループの先頭のニュース情報を指定する。具体的には、第３カウンタｋの値をｋ＝１とする。第３カウンタｋは、指定グループの先頭からｋ番目のニュース情報を示す。なお、以下、画像生成処理の説明において、ステップＳ５２または後述するステップＳ５６で指定されているニュース情報を「指定ニュース情報」と呼ぶ。
【０１４４】
続くステップＳ５３において、ＣＰＵ１０は、指定ニュース情報の３次元空間における位置（すなわち、指定ニュース情報に関連付けられているニュース地点の位置）を読み出す。ＣＰＵ１０は、指定ニュース情報に対応するニュース情報データ９３に含まれる位置データ９６をメインメモリ１３から読み出す。なお、指定ニュース情報に対応するニュース情報データ９３は、第２ニュースバッファ８５に格納されている指定ニュース情報の要素に含まれているニュース情報指定ポインタにより指定されている。上記ステップＳ５３においては、グループの先頭のニュース情報に関連付けられているニュース地点の位置が読み出される。したがって、ステップＳ５３において読み出される位置は、基準地点の位置である。ステップＳ５３の次にステップＳ５４の処理が実行される。
【０１４５】
ステップＳ５４において、ＣＰＵ１０は、指定ニュース情報を表すアイコンのオブジェクトを生成し、当該オブジェクトを３次元仮想空間に配置する。アイコンのオブジェクトは、指定ニュース情報の内容（見出し、本文、および画像等）を用いて生成される。本実施形態では、指定ニュース情報に対応するニュース情報データに画像データが含まれている場合、当該画像データを用いてアイコンのオブジェクトが生成される。また、指定ニュース情報に対応するニュース情報データに画像データが含まれていない場合には、当該ニュース情報データに含まれている見出しデータおよび本文データを用いてアイコンのオブジェクトが生成される。
【０１４６】
また、アイコンのオブジェクトの配置位置は、上記ステップＳ５３において読み出された位置データ９６に基づいて決定される。具体的には、アイコンのオブジェクトは、上記位置データ９６により示される位置（基準地点の位置）から所定の高さだけ上方（球形の地図の表面に対して垂直な方向）の位置に配置される。
【０１４７】
ステップＳ５５において、ＣＰＵ１０は、指定グループに含まれる全てのニュース情報のアイコンを仮想空間に配置したか否かを判定する。ステップＳ５５の判定処理は、指定ニュース情報がリンクの最後であるか否かによって行われる。なお、指定ニュース情報がリンクの最後であるか否かは、第２ニュースバッファ８５に格納されている指定ニュース情報の要素に含まれている次要素指定ポインタを参照することにより知ることができる。ステップＳ５５の判定結果が否定である場合、ステップＳ５６の処理が実行される。一方、ステップＳ５５の判定結果が肯定である場合、後述するステップＳ５８の処理が実行される。
【０１４８】
ステップＳ５６においては、ＣＰＵ１０は、指定グループにおいて現在の指定ニュース情報の次に接続されている指定ニュース情報を新たに指定する。具体的には、第３カウンタｋの値がインクリメントされる。
【０１４９】
続くステップＳ５７において、ＣＰＵ１０は、指定グループに含まれるニュース情報のアイコンのオブジェクトであって、ステップＳ５４ですでに配置されているアイコンのオブジェクトの配置位置をずらす。具体的には、当該アイコンのオブジェクトは、上記所定の高さだけ上方の位置にずらして配置される。ステップＳ５７の次に、ステップＳ５４の処理が再度実行される。次に実行されるステップＳ５４においては、ステップＳ５６で新たに指定された指定ニュース情報のアイコンが、基準地点の位置から上記所定の高さだけ上方の位置に配置される。したがって、上記ステップＳ５４〜Ｓ５７の処理が繰り返されることによって、１つのグループに含まれるニュース情報のアイコンが上方に重ねて表示されることになる（図１２参照）。また、上記ステップＳ５３においては基準地点の位置が特定されるので、以降のステップＳ５４〜Ｓ５７の処理においては、１つのグループに含まれる各ニュース情報のアイコンは、上記基準地点の位置に重ねて配置される。
【０１５０】
本実施形態では、上記ステップＳ５４〜Ｓ５７によって、１つのグループに含まれるニュース情報のアイコンは、第１ニュースバッファ８４に格納されている順番に上から配置されることになる。したがって、第１ニュースバッファ８４に格納される順番を所定の基準に従って決定することによって、１つのグループに含まれるアイコンの配置順を当該所定の基準に従って決定することができる。例えば、ニュース情報に優先度を設定しておき、第１ニュースバッファ８４における格納順を当該優先度に従って決定することによって、ニュース情報のアイコンを優先度が高いほど上に配置されるようにすることができる。また、他の実施形態では、上記ステップＳ５９の処理の前にアイコンの配置を変更する処理を実行するようにしてもよい。例えば、ニュース情報データに画像データが含まれているニュース情報が最上部に配置されるように、アイコンの配置を変更するようにしてもよい。
【０１５１】
一方、ステップＳ５８において、ＣＰＵ１０は、現在の指定グループの次のグループを新たに指定する。具体的には、第２カウンタｊの値をインクリメントする。ステップＳ５８の後、ステップＳ５１の処理が再度実行される。以降、ステップＳ５１の判定結果が肯定となるまで、すなわち、第２ニュースバッファ８５に格納されている全てのグループに含まれるニュース情報のアイコンを仮想空間に配置するまで、ステップＳ５１〜Ｓ５８の処理ループが繰り返し実行される。
【０１５２】
一方、ステップＳ５９において、ＣＰＵ１０は、画面に表示すべき画像を生成する。すなわち、まず、当該地図およびオブジェクトを仮想カメラから見た画像が透視変換処理によって生成される。さらに、生成された画像に、カーソルおよび各種ボタン６４〜６７の画像を重ねることによって、画面に表示すべき画像が生成される（図１１および図１２）。地図表示モードにおいては、ステップＳ５９で生成された画像がテレビ２の画面に表示される（後述するステップＳ１３）。ステップＳ５９の後、ＣＰＵ１０は画像生成処理を終了する。
【０１５３】
以上のように、本実施形態では、地図表示モードにおいては、画面に表示すべき地図の画像が生成される度にグループ設定処理（ステップＳ２２）が実行されるので、グループ分けがリアルタイムに実行されることとなる。ここで、ステップＳ２１で地図の縮尺や仮想カメラの俯角が変更された場合には、複数のニュース地点が近接して表示され、各ニュース地点を画面上で個別に指定することが難しくなる場合がある。これに対して、本実施形態では、グループ分けがリアルタイムに実行されるので、地図の表示状況に応じて適切なグループ分けが行われることとなる。
【０１５４】
また、本実施形態では、各グループに設定される判定領域は画面上には表示されないが、他の実施形態においては、判定領域を画面上に表示するようにしてもよい。これによれば、カーソルによって判定領域内の位置を指定する操作がより容易になる。さらにこのとき、判定領域と同じ大きさ・形状のアイコンを判定領域の位置に表示するようにしてもよい。
【０１５５】
図２０の説明に戻り、ステップＳ２３の次のステップＳ２４において、ＣＰＵ１０は、第２ニュースバッファ８５において設定されている各グループに対して上記判定領域を設定する。本実施形態では、グループに対して設定される判定領域は、当該グループに含まれる基準地点に設定される基準領域である（図１０参照）。すなわち、判定領域は、グループに含まれる基準地点の表示位置に基づいて設定され、具体的には、基準地点の表示位置を中心とした半径ｒ１の円形領域として設定される。したがって、本実施形態では、各グループに設定される判定領域はすべて同じ大きさおよび形状となるので、グループ毎に大きさまたは形状が異なる場合に比べて、カーソルによるグループの指定操作が容易になる。
【０１５６】
上記ステップＳ２４においては、設定された判定領域を示すデータが判定領域データ８７としてメインメモリ１３に記憶される。ここで、判定領域は、予め定められた半径ｒ１の円形領域であるので、基準地点の表示位置を示すデータによって判定領域を特定することができる。したがって、本実施形態では、ＣＰＵ１０は、基準地点の表示位置を示すデータを判定領域データ８７としてメインメモリ１３に記憶する。なお、メインメモリ１３には、グループ毎に設定された各判定領域を示すデータが判定領域データ８７として記憶される。
【０１５７】
以上のように、本実施形態では、基準地点に設定される基準領域が判定領域として用いられた。ここで、他の実施形態においては、判定領域は、グループに含まれる各ニュース地点を含む領域として設定されてもよい。具体的には、グループに含まれる各ニュース地点の各基準領域からなる領域を判定領域として設定してもよい。これによれば、グループに含まれるニュース地点の位置は全て判定領域内となるので、カーソルによってニュース地点の位置を指定すれば確実に当該ニュース地点を含むグループを選択することができる。また、他の実施形態においては、グループに含まれる各ニュース地点の表示位置に基づいて算出される位置（例えば、各ニュース地点の表示位置の重心位置）を中心とした半径ｒ１の円形領域を、判定領域として設定するようにしてもよい。これによれば、グループに含まれる各ニュース地点の数および表示位置に応じて位置が変化するように判定領域を設定することができる。
【０１５８】
ステップＳ２４の次のステップＳ２５において、ＣＰＵ１０は、ユーザによって操作されるカーソルによってグループが選択されたか否かを判定する。具体的には、まず、ステップＳ３において取得された操作データを参照して、所定のボタン（例えばＡボタン３２ｄ）が現在押下されているか否かが判定される。所定のボタンが押下されていない場合、ステップＳ２５の判定結果は否定となる。一方、所定のボタンが押下されている場合、ＣＰＵ１０は、カーソル位置が、ステップＳ２４で設定された判定領域のいずれかの内部に位置するか否かを判定する。なお、カーソル位置を示すデータは、カーソルデータ８６としてメインメモリ１３に記憶されている。カーソル位置が判定領域のいずれかの内部に位置する場合、ステップＳ２５の判定結果は肯定となる。なお、この場合、ＣＰＵ１０は、カーソル位置がその内部に位置する判定領域が設定されるグループを示すデータをメインメモリ１３に記憶しておく。一方、カーソル位置が判定領域のいずれの内部にも位置しない場合、ステップＳ２５の判定結果は否定となる。ステップＳ２５の判定結果が肯定である場合、ステップＳ２６の処理が実行される。一方、ステップＳ２５の判定結果が否定である場合、ステップＳ２６の処理がスキップされて、地図表示モード処理が終了される。
【０１５９】
ステップＳ２６においては、ＣＰＵ１０は、処理モードを地図表示モードから一覧表示モードに変更する。これによって、次のフレーム処理（ステップＳ３〜Ｓ１４の処理）においては、ステップＳ７の判定結果が肯定となり、一覧表示モード処理が実行されることになる。ステップＳ２６の後、ＣＰＵ１０は、地図表示モード処理を終了する。なお、地図表示モード処理の次に、図１９に示すステップＳ１３の処理が実行される。
【０１６０】
図１９の説明に戻り、ステップＳ９においては、一覧表示モード処理が実行される。一覧表示モード処理は、地図表示モードにおいて選択されたグループに含まれるニュース地点に関連付けられているニュース情報の一覧を表示する処理である。以下、図２３を参照して、一覧表示モード処理の詳細を説明する。
【０１６１】
図２３は、図１９に示す一覧表示モード処理（ステップＳ９）の流れを示すフローチャートである。一覧表示モード処理においては、まずステップＳ６１において、ＣＰＵ１０は、直前の地図表示モードにおいて選択されたグループに含まれる先頭のニュース情報を指定する。具体的には、第３カウンタｋの値をｋ＝１とする。一覧表示モード処理において、第３カウンタｋは、直前の地図表示モードにおいて選択されたグループの先頭からｋ番目のニュース情報を示す。なお、以下、一覧表示モード処理の説明において、ステップＳ６１または後述するステップＳ６５で指定されているニュース情報を「指定ニュース情報」と呼ぶ。
【０１６２】
続くステップＳ６２において、ＣＰＵ１０は、指定ニュース情報の見出しデータをメインメモリ１３から読み出す。すなわち、ＣＰＵ１０は、指定ニュース情報に対応するニュース情報データ９３に含まれる見出しデータ９７をメインメモリ１３から読み出す。続くステップＳ６３において、ＣＰＵ１０は、ステップＳ６２で読み出した見出しデータ９７を用いて、指定ニュース情報の見出しの画像を生成し、生成した画像を一覧画像（図１４に示す一覧画像７１）に配置する。なお、見出し画像は、一覧画像の上から順に下に向かって並べて配置される。
【０１６３】
続くステップＳ６４において、ＣＰＵ１０は、直前の地図表示モードにおいて選択されたグループに含まれる全てのニュース情報の見出し画像が一覧画像に配置されたか否かを判定する。ステップＳ６４の判定処理は、上記ステップＳ５５と同様、指定ニュース情報がリンクの最後であるか否かによって行われる。ステップＳ６４の判定結果が否定である場合、ステップＳ６５の処理が実行される。一方、ステップＳ６４の判定結果が肯定である場合、後述するステップＳ６６の処理が実行される。
【０１６４】
ステップＳ６５において、ＣＰＵ１０は、指定グループにおいて現在の指定ニュース情報の次に接続されている指定ニュース情報を新たに指定する。具体的には、第３カウンタｋの値がインクリメントされる。ステップＳ６５の次に、ステップＳ６２の処理が再度実行される。以降、ステップＳ６４において、全てのニュース情報の見出し画像が一覧画像に配置されたと判定されるまで、ステップＳ６２〜Ｓ６５の処理が繰り返し実行される。これによって、ニュース情報の見出し画像が一覧画像の上から順に下に向かって並べて配置されていく。そして、ステップＳ６４の判定結果が肯定となった場合、一覧画像が生成されたことになる。
【０１６５】
上述したように、ニュース情報の見出し画像は下に向かって並べて配置されるので、一覧画像の縦の長さは、画面に表示可能な長さよりも長くなることがある。したがって、ステップＳ６６において、ＣＰＵ１０は、生成された一覧画像のうちで、画面に表示する範囲を決定する。具体的には、一覧表示モードの開始時においては、一覧画像の最上部から所定の長さの範囲が、画面に表示する範囲として決定される。また、上スクロールボタン７２が一覧表示モード中にカーソルによって指定された場合、画面に表示する範囲は、見出し画像１つ分だけ上側に移動され、下スクロールボタン７３が一覧表示モード中にカーソルによって指定された場合、画面に表示する範囲は、見出し画像１つ分だけ下側に移動される。
【０１６６】
続くステップＳ６７において、ＣＰＵ１０は、一覧表示モードにおいて表示すべき画像を生成する。すなわち、まず、ステップＳ６２〜Ｓ６５の処理によって生成された一覧画像から、ステップＳ６６で決定された表示範囲の画像を抽出する。さらに、抽出された画像に、カーソルの画像および上スクロールボタン７２および下スクロールボタン７３の画像を重ねることによって、画面に表示すべき画像が生成される（図１４）。一覧表示モードにおいては、ステップＳ６７で生成された画像がテレビ２の画面に表示される（後述するステップＳ１３）。
【０１６７】
ステップＳ６７の次のステップＳ６８において、ＣＰＵ１０は、ユーザによって操作されるカーソルによってニュース情報が選択されたか否かを判定する。具体的には、まず、ステップＳ３において取得された操作データを参照して、所定のボタン（例えばＡボタン３２ｄ）が現在押下されているか否かが判定される。所定のボタンが押下されていない場合、ステップＳ６８の判定結果は否定となる。一方、所定のボタンが押下されている場合、ＣＰＵ１０は、カーソル位置が、表示される一覧画像に含まれる見出し画像のいずれかの内部に位置するか否かを判定する。なお、カーソル位置を示すデータは、カーソルデータ８６としてメインメモリ１３に記憶されている。カーソル位置が見出し画像のいずれかの内部に位置する場合、ステップＳ６８の判定結果は肯定となる。なお、この場合、ＣＰＵ１０は、カーソル位置がその内部に位置する見出し画像に対応するニュース情報を示すデータをメインメモリ１３に記憶しておく。一方、カーソル位置が見出し画像のいずれの内部にも位置しない場合、ステップＳ６８の判定結果は否定となる。ステップＳ６８の判定結果が肯定である場合、ステップＳ６９の処理が実行される。一方、ステップＳ６８の判定結果が否定である場合、ステップＳ６９の処理がスキップされて、一覧表示モード処理が終了される。
【０１６８】
ステップＳ６９においては、ＣＰＵ１０は、処理モードを一覧表示モードから本文表示モードに変更する。これによって、次のフレーム処理（ステップＳ３〜Ｓ１４の処理）においては、ステップＳ６の判定結果が肯定となり、本文表示モードにおける処理（ステップＳ１０〜Ｓ１２）が実行されることになる。ステップＳ６９の後、ＣＰＵ１０は、一覧表示モード処理を終了する。なお、一覧表示モード処理の次に、図１９に示すステップＳ１３の処理が実行される。
【０１６９】
図１９の説明に戻り、ステップＳ１０〜Ｓ１２においては、本文表示モードにおける処理が実行される。すなわち、ステップＳ１０において、ＣＰＵ１０は、本文表示モードにおいて表示すべき画像を生成する。ステップＳ１０の処理においては、まず、直前の一覧表示モードにおいて選択されたニュース情報の見出しデータおよび本文データが読み出される。すなわち、ＣＰＵ１０は、当該ニュース情報に対応するニュース情報データ９３に含まれる見出しデータ９７および本文データ９８をメインメモリ１３から読み出す。なお、当該ニュース情報データ９３に画像データが含まれる場合には、見出しデータ９７および本文データ９８に加えて画像データが読み出される。ＣＰＵ１０は、読み出されたデータを用いてニュース内容画像を生成する。次に、ＣＰＵ１０は、地図表示モードと同様の処理によって地図の画像を生成する。さらに、ＣＰＵ１０は、ニュース内容画像と地図の画像と復帰ボタンの画像とを重ねて、本文表示モードにおいて表示すべき画像を生成する（図１５）。本文表示モードにおいては、ステップＳ１０で生成された画像がテレビ２の画面に表示される（後述するステップＳ１３）。
【０１７０】
ステップＳ１０の次のステップＳ１１において、ＣＰＵ１０は、本文表示モードから地図表示モードへ復帰するための復帰操作が行われたか否かを判定する。ステップＳ１１の判定は、画面上の復帰ボタンがカーソルによって選択されたか否かによって行われる。ステップＳ１１の判定結果が肯定である場合、ステップＳ１２の処理が実行される。一方、ステップＳ１１の判定結果が否定である場合、ステップＳ１２の処理がスキップされて、ステップＳ１３の処理が実行される。
【０１７１】
ステップＳ１２においては、ＣＰＵ１０は、処理モードを本文表示モードから地図表示モードに変更する。これによって、次のフレーム処理（ステップＳ３〜Ｓ１４の処理）においては、ステップＳ７の判定結果が否定となり、地図表示モード処理が実行されることになる。ステップＳ１２の次に、ステップＳ１３の処理が実行される。
【０１７２】
ステップＳ１３においては、ＣＰＵ１０は、ステップＳ１０、ステップＳ２３、またはステップＳ６７で生成された画像をテレビ２に表示させる。これによって、図１１〜図１５に示したような画像が表示されることとなる。続くステップＳ１４において、ＣＰＵ１０は、処理を終了するか否かを判定する。ステップＳ１４の判定は、例えば、処理を終了するための所定の操作がユーザによって行われたか否かによって行われる。ステップＳ１４の判定結果が否定の場合、ステップＳ３の処理が再度実行される。以降、ステップＳ１４において処理を終了すると判定されるまで、ステップＳ３〜Ｓ１４の処理ループが繰り返し実行される。一方、ステップＳ１４の判定結果が肯定の場合、ＣＰＵ１０は、図１９に示す処理を終了する。
【０１７３】
以上の処理に示したように、本実施形態によれば、ニュース情報が関連付けられてたニュース地点が画面に表示される際、各ニュース地点間の表示上の距離が近いニュース地点については１つのグループに区分されるようにグループが設定される（ステップＳ２２）。そして、グループに対して判定領域が設定される（ステップＳ２４）。ユーザがカーソルによって画面上の位置を指定した場合、当該判定領域を用いてグループが選択されたか否かが判定され（ステップＳ２５）、選択されたグループを単位としてニュース情報の一覧が表示される（ステップＳ９）。このように、本実施形態では、複数のニュース地点が近接して表示される場合には、当該複数のニュース地点がまとめて選択されるようにする。これによって、複数のニュース地点が近接して表示されるために各ニュース地点を画面上で指定することが難しい場合であっても、ユーザが意図しないニュース地点を誤って選択することを防止することができ、ニュース情報の選択操作を容易に行うことができる。
【０１７４】
なお、上記実施形態においては、基準領域および判定領域を円形領域として設定する場合を例として説明したが、領域の形状はこれに限らず、地図上に予め設定される任意の形状の領域を基準領域または判定領域として用いてもよい。例えば、日本については日本全域を都道府県毎に分割し、都道府県毎に分割された領域をニュース地点の基準領域として用いてもよい。すなわち、ニュース地点に対応する基準領域は、当該ニュース地点を含む都道府県の領域として設定されてもよい。このとき、ゲーム装置３は、ニュース地点の表示領域上の位置に対して基準領域を設定するための所定の基準として、都道府県毎に分割された領域の情報を記憶しておけばよい。そして、当該情報に基づいて、ニュース地点に対して基準領域を設定すればよい。また、都道府県毎の領域を基準領域として用いる場合、判定領域は、基準地点から所定距離内の領域としてもよいし、基準地点を含む都道府県の領域として設定されてもよいし、グループに含まれるニュース地点に対応する都道府県の領域を全て含む領域として設定されてもよい。
【０１７５】
なお、上記のように基準領域として都道府県毎の領域が用いられる場合、上記ステップＳ３６およびＳ３７において、比較対象となる２つのニュース情報が関連付けられるニュース地点の基準領域が隣接しているか否かを判定するようにしてもよい。すなわち、この判定結果が肯定である場合、当該２つのニュース情報を１つのグループに設定し（ステップＳ３９の処理を実行し）、判定結果が否定である場合、当該２つのニュース情報を別々のグループに設定する（ステップＳ３８の処理を実行する）ようにしてもよい。このように、ステップＳ３７の判定処理は、ニュース地点同士の間隔が所定の基準より近いニュース情報同士によるグループが設定されればよく、当該所定の基準は、距離に関する基準に限られない。
【０１７６】
さらに、他の実施形態においては、２つのニュース情報を１つのグループに設定するか否かの判定は、ニュース地点の地名が表示される位置に基づいて行われてもよい。例えば、地名を表示する位置が予め決められている場合、縮尺等の変化によって２つのニュース地点の地名が重なって表示される可能性がある。このような場合に、ニュース情報を１つのグループにするように、グループを設定してもよい。具体的には、ゲーム装置３は、次のような処理を行う。まず、各ニュース地点には、当該ニュース地点の地名を表示する位置（地点）が予め定められているとする（したがって、ニュース情報が関連付けられている地点は、当該地名を表示する地点とみなすことができる。）。ステップＳ３７において、ＣＰＵ１０は、ステップＳ３５で指定グループの先頭に追加されたニュース情報に関連付けられているニュース地点と、指定ニュース情報に関連付けられているニュース地点とについて、ニュース地点の地名を表示する位置（地点）を比較する。そして、比較の結果、２つの地名の表示位置の間の距離が所定距離以下である場合、２つのニュース情報を１つのグループに含めると判定する。逆に、２つの地名の表示位置の間の距離が所定距離よりも遠い場合、２つのニュース情報を１つのグループに含めると判定する。以上のように、ニュース情報が関連付けられる地点は、当該ニュース情報が直接関連付けられる地点の他に、当該ニュース地点に直接関連付けられる地点に関連付けられる地点（ニュース地点に間接的に関連付けられる）地点であってもよい。
【０１７７】
また、上記実施形態においては、ゲーム装置３が３次元の仮想空間として地図を構築して画面に表示させる場合を例として説明したが、本発明は、２次元平面として地図が構築される場合にも適用可能である。すなわち、ゲーム装置３は、２次元平面上に地図のうちで表示すべき領域の位置および大きさを決定し、当該領域内の地図の画像をテレビ２に表示させる。なお、上記領域の位置および大きさは、ユーザの操作によって変更可能とする。以上によって地図上のニュース地点の表示位置が決定されるので、上記実施形態のグループ設定処理と同様の方法で、ニュース地点をグループに区分することができる。つまり、グループ設定処理においては、以上のように決定された領域に基づいて決められるニュース地点の表示位置を用いてグループの設定が行われる。
【０１７８】
また、他の実施形態においては、表示装置の画面に表示される仮想空間は実際の地図に限らず、仮想世界の地図であってもよいし、地図以外の所定の空間（平面）であってもよい。前者の例としては、例えば、ゲームマップ上の地点に配置されたオブジェクト（例えばアイテムを示す）がゲームマップとともに表示される場合が考えられる。また、後者の例としては、例えば、パーソナルコンピュータにおいて使用されるＯＳのデスクトップ画面のように、所定の仮想平面に、ファイルやプログラムを表すアイコンが配置される場合が考えられる。
【０１７９】
また、上記実施形態においては、仮想空間内の所定位置にニュース情報が関連付けられる場合を例として説明したが、所定位置に関連付けられる情報は、ユーザによって選択されることによって内容が表示される種類のものであれば、どのようなものであってもよい。例えば、仮想空間がゲームマップである場合には、ゲームマップ上の所定位置に関連付けられる情報は、当該所定位置に存在するアイテムや敵の情報であってもよい。
【産業上の利用可能性】
【０１８０】
以上のように、本発明は、地図等の仮想空間における地点をユーザに選択させる場合に、地点に関連付けられた情報の選択を容易に行うこと等を目的として、例えばニュース情報をユーザに提示するための表示制御装置、表示制御プログラムとして利用することができる。
【図面の簡単な説明】
【０１８１】
【図１】ゲームシステム１の外観図
【図２】ゲーム装置３の機能ブロック図
【図３】コントローラ５の外観構成を示す斜視図
【図４】コントローラ５の外観構成を示す斜視図
【図５Ａ】コントローラ５の内部構造を示す図
【図５Ｂ】コントローラ５の内部構造を示す図
【図６】コントローラ５の構成を示すブロック図
【図７】コントローラ５を用いてゲーム操作を行うときの様子を示す図解図
【図８】ある縮尺で生成される地図５１の画像を示す図
【図９】図８に示す画像から地図５１の縮尺が変更された場合に生成される地図５１の画像を示す図
【図１０】図８に示す画像から地図５１の縮尺が変更された場合に生成される地図５１の画像を示す図
【図１１】地図表示モードにおいてテレビ２の画面に表示される画像の一例を示す図
【図１２】地図表示モードにおいてテレビ２の画面に表示される画像の一例を示す図
【図１３】地図表示モードにおいてテレビ２の画面に表示される画像の一例を示す図
【図１４】一覧表示モードにおいてテレビ２の画面に表示される画像の一例を示す図
【図１５】本文表示モードにおいてテレビ２の画面に表示される画像の一例を示す図
【図１６】ゲーム装置３の記憶装置に設けられる記憶領域を示す図
【図１７】配信データの一例を示す図
【図１８】第２ニュースバッファ８５に格納されるデータのデータ構造を概念的に示す図
【図１９】ゲーム装置３において実行される処理の流れを示すメインフローチャート
【図２０】図１９に示す地図表示モード処理（ステップＳ８）の流れを示すフローチャート
【図２１】図２０に示すグループ設定処理（ステップＳ２２）の流れを示すフローチャート
【図２２】図２０に示す画像生成処理（ステップＳ２３）の流れを示すフローチャート
【図２３】図１９に示す一覧表示モード処理（ステップＳ９）の流れを示すフローチャート
【符号の説明】
【０１８２】
１    ゲームシステム
２    テレビ
３    ゲーム装置
４    光ディスク
５    コントローラ
１０  ＣＰＵ
１３  メインメモリ
５１  地図
５２〜５４  ニュース地点
５５〜５６  基準領域
６２ａ〜６２ｅ  アイコン
【図１】
2008176728.tif 000003
【図２】
2008176728.tif 000004
【図３】
2008176728.tif 000005
【図４】
2008176728.tif 000006
【図５Ａ】
2008176728.tif 000007
【図５Ｂ】
2008176728.tif 000008
【図６】
2008176728.tif 000009
【図７】
2008176728.tif 000010
【図８】
2008176728.tif 000011
【図９】
2008176728.tif 000012
【図１０】
2008176728.tif 000013
【図１１】
2008176728.tif 000014
【図１２】
2008176728.tif 000015
【図１３】
2008176728.tif 000016
【図１４】
2008176728.tif 000017
【図１５】
2008176728.tif 000018
【図１６】
2008176728.tif 000019
【図１７】
2008176728.tif 000020
【図１８】
2008176728.tif 000021
【図１９】
2008176728.tif 000022
【図２０】
2008176728.tif 000023
【図２１】
2008176728.tif 000024
【図２２】
2008176728.tif 000025
【図２３】
2008176728.tif 000026