(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024119207
(43)【公開日】2024-09-03
(54)【発明の名称】プログラム、情報処理装置、及び方法
(51)【国際特許分類】
G06F 3/04842 20220101AFI20240827BHJP
A63F 13/533 20140101ALI20240827BHJP
A63F 13/42 20140101ALI20240827BHJP
G06F 3/0338 20130101ALI20240827BHJP
G06F 3/038 20130101ALI20240827BHJP
G06F 3/0482 20130101ALI20240827BHJP
【FI】
G06F3/04842
A63F13/533
A63F13/42
G06F3/0338 412
G06F3/038 330
G06F3/0482
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023025947
(22)【出願日】2023-02-22
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り (1)令和4年7月21日掲載,ウェブサイト「My Nintendo Store」の「信長の野望・新生」(https://store-jp.nintendo.com/list/software/70010000032612.html) (2)令和4年7月21日掲載,ウェブサイト「PlayStation.Store」の「信長の野望・新生」(https://store.playstation.com/ja-jp/product/JP0106-CUSA23843_00-HDDBOOT000000001) (3)令和4年7月21日掲載,ウェブサイト「STEAM」の「信長の野望・新生」(https://store.steampowered.com/app/1336980/_/) (4)令和4年7月28日発行,週刊ファミ通,2022年7/28号,第26~29頁,株式会社KADOKAWA,株式会社KADOKAWA Game Linkage (5)令和4年8月4日発行,週刊ファミ通,2022年8/4号,第88~93頁,株式会社KADOKAWA,株式会社KADOKAWA Game Linkage
(71)【出願人】
【識別番号】595000427
【氏名又は名称】株式会社コーエーテクモゲームス
(74)【代理人】
【識別番号】110000198
【氏名又は名称】弁理士法人湘洋特許事務所
(72)【発明者】
【氏名】劉 迪
(72)【発明者】
【氏名】鹿山 晃弘
(72)【発明者】
【氏名】王 超時
【テーマコード(参考)】
5B087
5E555
【Fターム(参考)】
5B087AA09
5B087BC02
5B087DD03
5B087DD12
5B087DE03
5E555AA04
5E555BA20
5E555BB20
5E555BC04
5E555CA06
5E555CA17
5E555CB19
5E555CB20
5E555CB21
5E555CB42
5E555CB45
5E555CB55
5E555CC01
5E555CC04
5E555DB14
5E555DB31
5E555DB32
5E555DB53
5E555DC13
5E555DC19
5E555DC25
5E555DC35
5E555DC53
5E555DC54
5E555DC58
5E555DC84
5E555EA03
5E555FA00
(57)【要約】
【課題】ユーザが直感的にオブジェクトを選択できるようにする。
【解決手段】情報処理装置1に実行されるプログラムであって、コントローラ2の操作レバー6が傾いた方向である操作方向αを検知する検知部16と、表示画面20に配置された、ユーザが選択可能なオブジェクトのうち、操作方向αに配置されたオブジェクトを選択状態にする表示制御部17として前記情報処理装置を機能させる、プログラム。
【選択図】
図8
【特許請求の範囲】
【請求項1】
情報処理装置に実行されるプログラムであって、
コントローラの操作レバーが傾いた方向である操作方向を検知する検知部と、
表示画面に配置された、ユーザが選択可能なオブジェクトのうち、前記操作方向に配置されたオブジェクトを選択状態にする表示制御部として前記情報処理装置を機能させる、
プログラム。
【請求項2】
請求項1に記載のプログラムであって、
前記表示制御部は、ユーザが操作可能なキャラクタを含む前記オブジェクトのうち、前記操作方向に配置された、前記キャラクタを除く前記オブジェクトを選択状態にする、
プログラム。
【請求項3】
請求項1に記載のプログラムであって、
前記表示制御部は、前記各オブジェクトに対応するメニュー領域を有するメニューオブジェクトを表示し、
前記各メニュー領域は、対応する前記各オブジェクトと前記メニューオブジェクトの中心とを結ぶ直線上に配置される、
プログラム。
【請求項4】
請求項3に記載のプログラムであって、
前記表示制御部は、複数の前記メニュー領域のうちで前記操作方向に配置された前記メニュー領域の表示態様を選択状態にし、他の前記メニュー領域の表示態様を非選択状態にする、
プログラム。
【請求項5】
請求項3に記載のプログラムであって、
前記表示制御部は、前記表示画面の種類又はゲームの進行状況に起因して現在の前記表示画面には表示されていない前記オブジェクトに対応した前記メニュー領域を前記メニューオブジェクトに表示する、
プログラム。
【請求項6】
請求項3に記載のプログラムであって、
前記表示制御部は、前記操作レバーを模したマークを前記メニューオブジェクトの中央に表示し、前記検知部が前記操作方向を検知すると、前記マークの位置を前記操作方向にシフトする、
プログラム。
【請求項7】
請求項3に記載のプログラムであって、
前記メニュー領域は、前記操作方向を含む角度範囲で開いた扇形であり、
前記表示制御部は、前記メニュー領域が前記オブジェクトを向くように、前記表示画面内で前記メニューオブジェクトが表示される位置に基づいて前記角度範囲を変更する、
プログラム。
【請求項8】
請求項3に記載のプログラムであって、
前記表示制御部は、前記オブジェクトの大きさ又は前記オブジェクトの操作履歴に基づいて前記メニュー領域の面積を変更する、
プログラム。
【請求項9】
請求項1に記載のプログラムであって、
前記表示制御部は、前記操作方向の範囲と前記オブジェクトとを対応付けた角度情報を記憶した記憶部を参照して、前記検知部が検知した前記操作方向が属する前記範囲に対応した前記オブジェクトを前記選択状態として表示する、
プログラム。
【請求項10】
請求項1に記載のプログラムであって、
前記検知部は、前記操作レバーが傾いた角度である操作角度を検知し、
前記表示制御部は、前記操作方向に複数の前記オブジェクトが存在する場合に、前記操作角度に基づいて前記オブジェクトを選択状態として表示する、
プログラム。
【請求項11】
コントローラの操作レバーが傾いた方向である操作方向を検知する検知部と、
表示画面に配置された、ユーザが選択可能なオブジェクトのうち、前記操作方向に配置されたオブジェクトを選択状態にする表示制御部と、
を有する情報処理装置。
【請求項12】
コントローラの操作レバーが傾いた方向である操作方向を検知するステップと、
表示画面に配置された、ユーザが選択可能なオブジェクトのうち、前記操作方向に配置されたオブジェクトを選択状態にするステップと、
を情報処理装置が実行する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理装置、及び方法に関する。
【背景技術】
【0002】
従来、操作レバーを備えたコントローラを用いることにより、ユーザがゲーム装置を含む情報処理装置を操作する技術がある。特許文献1では、操作レバーとこの操作レバーの傾き角に応じた信号を出力するアナログセンサとを備えた操作コントローラによって画面上のゲームキャラクタの動作が制御されるゲーム装置であって、所定のタイミングで前記操作コントローラから出力される傾き角に応じた信号を取得し、前記操作レバーの傾き角を検出する傾き角検出手段と、前記傾き角検出手段で検出された傾き角を、前記操作レバーの傾動可能量を不均一な傾き量からなる複数の操作段階に分割するために予め設定された複数の所定の閾値と比較し、その傾き角がいずれの操作段階に属するかを判別する判別手段と、前記操作レバーの複数の操作段階の各々に対応して前記ゲームキャラクタが所定の動作を行う複数の画像が予め記憶された記憶手段と、前記判別手段で判別された操作段階に基づいて、その操作段階に対応する前記ゲームキャラクタの所定の動作画像を前記記憶手段から読み出して画面上に表示させるゲーム画像制御手段と、を備えたことを特徴とする、ゲーム装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、情報処理装置で機能するプログラムにおいて、コントローラの各ボタンと画面に配置されたオブジェクトとの対応が直感的でない場合が存在する。例えば、キーボード又はマウス等を有する情報処理装置から、操作レバーを備えたコントローラを有する別の情報処理装置へ当該プログラムを移植した場合に発生し得る。
【0005】
そこで、本発明は、ユーザが直感的にオブジェクトを選択できるようにすることを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決すべく、本発明の一態様に係るプログラムは、情報処理装置に実行されるプログラムであって、コントローラの操作レバーが傾いた方向である操作方向を検知する検知部と、表示画面に配置された、ユーザが選択可能なオブジェクトのうち、前記操作方向に配置されたオブジェクトを選択状態にする表示制御部として前記情報処理装置を機能させる。
【0007】
上記のプログラムにおいて、前記表示制御部は、ユーザが操作可能なキャラクタを含む前記オブジェクトのうち、前記操作方向に配置された、前記キャラクタを除く前記オブジェクトを選択状態にしてもよい。
【0008】
上記のプログラムにおいて、前記表示制御部は、前記各オブジェクトに対応するメニュー領域を有するメニューオブジェクトを表示し、前記各メニュー領域は、対応する前記各オブジェクトと前記メニューオブジェクトの中心とを結ぶ直線上に配置されてもよい。
【0009】
上記のプログラムにおいて、前記表示制御部は、複数の前記メニュー領域のうちで前記操作方向に配置された前記メニュー領域の表示態様を選択状態にし、他の前記メニュー領域の表示態様を非選択状態にしてもよい。
【0010】
上記のプログラムにおいて、前記表示制御部は、前記表示画面の種類又はゲームの進行状況に起因して現在の前記表示画面には表示されていない前記オブジェクトに対応した前記メニュー領域を前記メニューオブジェクトに表示してもよい。
【0011】
上記のプログラムにおいて、前記表示制御部は、前記操作レバーを模したマークを前記メニューオブジェクトの中央に表示し、前記検知部が前記操作方向を検知すると、前記マークの位置を前記操作方向にシフトしてもよい。
【0012】
上記のプログラムにおいて、前記メニュー領域は、前記操作方向を含む角度範囲で開いた扇形であり、前記表示制御部は、前記メニュー領域が前記オブジェクトを向くように、前記表示画面内で前記メニューオブジェクトが表示される位置に基づいて前記角度範囲を変更してもよい。
【0013】
上記のプログラムにおいて、前記表示制御部は、前記オブジェクトの大きさ又は前記オブジェクトの操作履歴に基づいて前記メニュー領域の面積を変更してもよい。
【0014】
上記のプログラムにおいて、前記表示制御部は、前記操作方向の範囲と前記オブジェクトとを対応付けた角度情報を記憶した記憶部を参照して、前記検知部が検知した前記操作方向が属する前記範囲に対応した前記オブジェクトを前記選択状態として表示してもよい。
【0015】
上記のプログラムにおいて、前記検知部は、前記操作レバーが傾いた角度である操作角度を検知し、前記表示制御部は、前記操作方向に複数の前記オブジェクトが存在する場合に、前記操作角度に基づいて前記オブジェクトを選択状態として表示してもよい。
【0016】
本発明の他の態様に係る情報処理装置は、コントローラの操作レバーが傾いた方向である操作方向を検知する検知部と、表示画面に配置された、ユーザが選択可能なオブジェクトのうち、前記操作方向に配置されたオブジェクトを選択状態にする表示制御部と、を有する。
【0017】
本発明の別の態様に係る方法は、コントローラの操作レバーが傾いた方向である操作方向を検知するステップと、表示画面に配置された、ユーザが選択可能なオブジェクトのうち、前記操作方向に配置されたオブジェクトを選択状態にするステップと、を情報処理装置が実行する。
【発明の効果】
【0018】
本発明の一態様によれば、ユーザが直感的にオブジェクトを選択できる。
【図面の簡単な説明】
【0019】
【
図1】
図1は、第1実施形態に係るゲームシステムの一例を示す構成図である。
【
図2】
図2(a)は、ゲームコントローラの一例の上面図であり、
図2(b)は、操作スティックの一例の上面図であり、
図2(c)は、操作スティックの一例の側面図である。
【
図3】
図3は、ディスプレイに表示されるゲーム画面の一例を示す模式図である。
【
図4】
図4は、第1実施形態に係る情報処理装置の機能構成の一例を示す模式図である。
【
図5】
図5は、第1実施形態に係る角度情報のデータ構造の一例を示す模式図である。
【
図6】
図6は、第1実施形態に係る情報処理装置が実行する処理の一例を示すフローチャートである。
【
図7】
図7(a)、(b)は、第1実施形態に係るゲーム画面の一例を示す図(その1)である。
【
図8】
図8は、第1実施形態に係るゲーム画面の一例を示す図(その2)である。
【
図9】
図9(a)、(b)は、第1実施形態においてゲームが進行したときのゲーム画面の一例の模式図である。
【
図10】
図10は、第2実施形態に係る角度情報のデータ構造の一例を示す模式図である。
【
図11】
図11(a)、(b)は、第2実施形態に係るゲーム画面の一例を示す模式図(その1)である。
【
図12】
図12は、第2実施形態に係るゲーム画面の一例を示す模式図(その2)である。
【
図13】
図13は、第3実施形態に係るゲーム画面の一例を示す模式図である。
【
図14】
図14は、第4実施形態に係る情報処理装置が実行する処理の一例を示すフローチャートである。
【
図15】
図15(a)は、第4実施形態に係る角度情報の元となるゲーム画面の一例を示す模式図であり、
図15(b)は、第4実施形態において、表示制御部が、ゲーム画面の隅にラジアルメニューを表示した場合のゲーム画面の一例の模式図である。
【
図16】
図16は、第5実施形態に係るゲーム画面の一例を示す模式図である。
【
図17】
図17は、第1~第5実施形態に係る情報処理装置のハードウェア構成の一例を示す模式図である。
【発明を実施するための形態】
【0020】
<第1実施形態>
図1は、第1実施形態に係るゲームシステムの一例を示す構成図である。ゲームシステム4は、例えばユーザがSLG等のゲームをするためのシステムであって、情報処理装置1、ゲームコントローラ2、及びディスプレイ3を備える。
【0021】
情報処理装置1は、例えばPC(Personal Computer)等の家庭用のコンピュータである。ゲームコントローラ2は、ユーザの操作に応じた操作情報を情報処理装置1に入力するための入力装置であって、操作レバーの一例である操作スティック6を有する。ゲームコントローラ2はゲーム用途に限定されず、汎用のコントローラであってもよい。また、ゲームコントローラ2は、例えば、ケーブルを介して情報処理装置1と接続される。なお、ゲームコントローラ2と情報処理装置1とを無線接続してもよい。ディスプレイ3は、ゲーム画面を表示するための液晶表示装置等であって、ケーブルを介して情報処理装置1と接続される。
【0022】
図2(a)は、ゲームコントローラ2の一例の上面図である。ゲームコントローラ2は、例えば、ユーザが両手で把持しながら操作を行うコントローラであって、操作スティック6の他にボタン7を備える。操作スティック6は、操作レバーの一例であって、アナログスティックやジョイスティックでもよい。なお、ゲームコントローラ2は両手用のコントローラに限定されず、片手用のコントローラでもよい。
【0023】
操作スティック6は、上面視で左右に一つずつ設けられており、それぞれ左手と右手の親指で操作される。以下では、ユーザが左側の操作スティック6を操作する場合を例にして説明する。
【0024】
また、ボタン7は、例えばR1ボタンであって、ユーザの右手の人差し指で押下されるボタンである。
【0025】
図2(b)は、操作スティック6の一例の上面図である。操作スティック6は、上面視で任意の操作方向Kに傾けることができる。この例では、上面視における操作スティック6の中心の変位ベクトルを操作方向Kとして定義する。また、左右方向をx軸とし、かつ上下方向をy軸とする座標系をゲームコントローラ2に設定し、x軸と操作方向Kとがなす角度をαと定義する。その座標系のx軸はディスプレイ3の横方向に相当し、y軸はディスプレイ3の縦方向に相当する。操作方向Kと角度αとは一対一に対応するため、方向Kは角度αで特定することができる。そのため、以下では操作方向Kを操作方向αとも呼ぶ。
【0026】
図2(c)は、操作スティック6の一例の側面図である。操作スティック6は軸6aを備えており、ユーザが操作スティック6から指を離している状態では軸6aは真上方向を向いている。真上方向を基準にして操作スティック6が傾いた角度である操作角度を以下ではβと定義する。
【0027】
ゲームコントローラ2は、角度α、角度β、及びボタン7の押下等を示す操作情報を情報処理装置1に送信する。
【0028】
図3は、ディスプレイ3に表示されるゲーム画面の一例を示す模式図である。ゲーム画面20は、情報処理装置1によって生成される表示画面の一例であって、1又は複数のオブジェクトブロック20a、20bが配置可能である。また、ゲーム画面20には、複数のオブジェクトが表示される。オブジェクトは、ゲーム画面20に配置されており、ユーザによって選択可能である。オブジェクトは、例えば、ユーザが操作可能なユーザーインタフェース又はキャラクタ24を含む。この例ではオブジェクトブロック20a、20bはキャラクタ24から離れて表示されているが、キャラクタ24の上に重なるようにオブジェクトブロック20a、20bを表示してもよい。また、ゲームの仮想空間画像(不図示)に重なるようにオブジェクトブロック20a、20bを表示してもよい。
【0029】
オブジェクトブロック20a、20bは、ユーザがゲームコントローラ2で選択可能なオブジェクトの集まりである。この例では、丸印でオブジェクトを表し、その内部の文字列で各オブジェクト同士を区別する。例えば、オブジェクトブロック20aは、「A1」、「A2」、「A3」のオブジェクトからなる。オブジェクトのアルファベットは、異なるオブジェクトブロック同士を識別する文字である。例えば、オブジェクトブロック20aは「A」で識別され、オブジェクトブロック20bは「B」で識別される。
【0030】
なお、一つのオブジェクトブロックに必ずしも複数のオブジェクトが含まれている必要はなく、一つのオブジェクトブロックに一つのオブジェクトのみが含まれていてもよい。
【0031】
また、ユーザがボタン7を押下すると、ゲーム画面20にラジアルメニュー21が表示される。ボタン7とは別のボタンにラジアルメニュー21の表示を割り当ててもよい。ラジアルメニュー21は、メニューオブジェクトの一例である。メニューオブジェクトは、オブジェクトブロックごとに対応するメニュー領域21a~21eを有するメニューである。各メニュー領域21a~21eは、対応する各オブジェクトブロックの位置を指し示すように配置される。この例では、ラジアルメニュー21は、オブジェクトブロックごとに扇形のメニュー領域21a~21eが配置された略円形状のオブジェクトである。メニュー領域21a~21eの形状は、扇型に限らず、円や多角形など、他の形状でもよい。
【0032】
この例ではゲーム画面20上の中心にラジアルメニュー21を表示するが、ラジアルメニュー21の表示位置はこれに限定されず、ゲーム画面20の四隅や四辺の近傍のように予め決められた位置であってもよい。
【0033】
メニュー領域21a、21bは、それぞれオブジェクトブロック20a、20bに対応した領域であって、それぞれオブジェクトブロック20a、20bに向いて開いた扇形である。この例では、メニュー領域21a、21bとオブジェクトブロック20a、20bとの対応を表すために、情報処理装置1が、オブジェクトブロック20a、20bを識別する各文字「A」、「B」をメニュー領域21a、21bにも表示する。
【0034】
また、メニュー領域21aの角度範囲23aは、ラジアルメニュー21の中心からオブジェクトブロック20aに向かう方向Pを含むように設定される。これにより、メニュー領域21aは、当該メニュー領域21aに対応するオブジェクトブロック20aとラジアルメニュー21の中心とを結ぶ直線L上に配置される。同様に、メニュー領域21bの角度範囲23bは、ラジアルメニュー21の中心からオブジェクトブロック20bに向かう方向Qを含むように設定される。その結果、メニュー領域21bは、当該メニュー領域21bに対応するオブジェクトブロック20bとラジアルメニュー21の中心とを結ぶ直線M上に配置される。
【0035】
メニュー領域21c~21eは、ゲーム画面の種類又はゲームの進行状況に起因して現在のゲーム画面20には表示されていない「C」、「D」、「E」の各オブジェクトブロックに対応した領域である。これらのオブジェクトブロックが現在のゲーム画面20に表示されていないことを表すために、この例ではメニュー領域21c~21eをグレーアウト表示する。
【0036】
また、ラジアルメニュー21の中央には、操作スティック6を模した略円形のマーク22が表示される。
【0037】
図4は、第1実施形態に係る情報処理装置1の機能構成の一例を示す模式図である。
図4に示すように、情報処理装置1は、処理部11、記憶部12、出力部13、及び操作受付部14を備える。
【0038】
記憶部12は、角度情報19を記憶する。
図5は、第1実施形態に係る角度情報19のデータ構造の一例を示す模式図である。
図5に示すように、角度情報19は、オブジェクトブロックと、角度範囲と、表示モードとを対応付けた情報であって、ゲーム開発者によって予め作成されて記憶部12に格納される。
【0039】
角度範囲は、操作スティック6が傾いた方向である操作方向α(
図2(b)参照)の範囲である。ゲーム画面20上における操作方向αの基点は、例えば、マウスポインタ・カーソルの位置、画面中央、又は予め定めた位置であって、これらの位置のいずれかにラジアルメニュー21の中心が位置する。そのため、角度範囲は、各メニュー領域21c~21eの角度範囲とも等しい。例えば、オブジェクトブロック「A」の角度範囲は「0°≦α<90°」であるが、この角度範囲はメニュー領域21aの角度範囲23aに等しい。
【0040】
また、ゲーム画面20上での各オブジェクトブロックの位置は、ゲームの開発段階において設定情報(不図示)において定められている。よって、ゲーム開発者は、設定情報から特定される各オブジェクトブロックの位置とラジアルメニュー21の位置とに基づいて、オブジェクトブロックごとに角度範囲を決定することができる。
【0041】
表示モードは、各オブジェクトブロックに対応した各メニュー領域21a~21eをグレーアウト表示するかどうかを定める情報である。ゲーム画面の種類に起因してあるオブジェクトブロックが現在のゲーム画面20に表示されていない場合は、そのオブジェクトブロックに対応した表示モードは「グレーアウト」に設定される。一方、現在のゲーム画面20に表示されているオブジェクトブロックに対応した表示モードは、グレーアウト表示しないことを示す「通常」に設定される。
【0042】
また、オブジェクトブロックの位置と個数、及びメニュー領域の表示モードは、ゲーム画面20ごとに共通であってもよいが、異ならせることもできる。この場合、ゲーム開発者は、ゲーム画面20ごとに角度情報19を作成して記憶部12に格納する。この例では、ゲーム開発者は、各ゲーム画面20を識別する画面IDごとに角度情報19を作成して記憶部12に格納する。
図5では、画面IDが「1」の場合の角度情報19を例示している。
【0043】
再び
図4を参照する。処理部11は、情報処理装置1の各部を制御する機能を有しており、ゲーム実行部15、検知部16、及び表示制御部17を備える。
【0044】
ゲーム実行部15は、ゲームの開始から終了に至るまでゲームの進行を制御する。また、ゲーム実行部15は、現在のゲーム画面20に表示すべき画面IDを決定する。
【0045】
検知部16は、操作スティック6が傾けられたことを検知する。操作スティック6が傾けられた場合には、検知部16は、操作方向αと、操作スティック6が傾いた角度である操作角度βとを検知する。更に、検知部16は、ボタン7が押下されたことも検知する。
【0046】
表示制御部17は、ゲーム画面20の表示内容を制御する。例えば、表示制御部17は、ボタン7が押下されたことを検知部16が検知すると、ゲーム画面20にラジアルメニュー21を表示する。
【0047】
また、表示制御部17は、検知部16が操作方向αを検知すると、ゲーム画面20内におけるオブジェクトブロックのうち、操作方向αにあるオブジェクトブロックを選択状態にする。一例として、表示制御部17は、ゲーム実行部15が決定した画面IDに対応した角度情報19を参照し、操作方向αが属する角度範囲に対応したオブジェクトを選択状態にする。
【0048】
なお、オブジェクトブロックの位置と個数、及びメニュー領域の表示モードは、1つのゲーム画面20に対して一意でなくてもよい。すなわち、ゲームの進行状況に起因して、画面IDが同じゲーム画面20であっても、あるオブジェクトブロックが表示される場合とされない場合とがある。ゲームの進行状況によってどのオブジェクトブロックを非表示とするかは、ゲームの開発段階において設定情報(不図示)で定められている。その設定情報を記憶部12に格納し、表示制御部17が設定情報を参照してもよい。この場合、表示制御部17は、角度情報19の表示モードを無視し、設定情報で非表示とすることが定められているオブジェクトブロックに対応したメニュー領域をグレーアウト表示してもよい。
【0049】
なお、表示制御部17は、ラジアルメニュー21を表示する際にも角度情報19を参照し、各メニュー領域21a~21eの角度範囲を決定する。例えば、表示制御部17は、メニュー領域21aに対応するオブジェクトブロック「A」の角度範囲を当該メニュー領域21aの角度範囲23aとして決定する。ただし、このように角度情報19を参照してラジアルメニュー21を表示するのではなく、ゲーム開発者が予め作成した画像データを表示制御部17がラジアルメニュー21として表示してもよい。この場合は、記憶部12には、様々なゲーム画面の種類又はゲームの進行状況に対応する複数の画像データが格納されており、表示制御部17は、現在のゲーム画面の種類又はゲームの進行状況に対応する画像データを取得して、ラジアルメニュー21として表示する。
【0050】
出力部13は、表示制御部17が制御した表示内容を示す表示信号をディスプレイ3に出力する。操作受付部14は、ゲームコントローラ2が送信した操作情報を受け付け、その内容を処理部11に通知する。
【0051】
次に、本実施形態に係る情報処理装置の処理の一例について説明する。
【0052】
図6は、本実施形態に係る情報処理装置が実行する処理の一例を示すフローチャートである。また、
図7~
図8は、本実施形態に係るゲーム画面の一例を示す図である。
【0053】
図6のフローチャートを実行する前においては、ゲーム画面20は
図7(a)の状態にある。
図7(a)に示すように、ゲーム画面20の画面IDは「1」であり、そのゲーム画面20にはオブジェクトブロック20a、20bが表示されている。
【0054】
まず、この状態で検知部16がボタン7が押下されたかを判定する(ステップS10)。ボタン7が押下されていない(NO)と判定された場合はステップS10を繰り返す。一方、ボタン7が押下された(YES)と判定された場合はステップS11に移る。
【0055】
ステップS11においては、表示制御部17が、現在のゲーム画面20の画面IDに対応した角度情報19を取得する。なお、この時点ではボタン7が押下されており、以降のステップS12~S15もボタン7の押下が継続されている場合に処理が行われる。
【0056】
次に、表示制御部17が、角度情報19に基づいて、
図7(b)のようにゲーム画面20にラジアルメニュー21を表示する(ステップS12)。例えば、表示制御部17は、現在のゲーム画面20の画面IDである「1」に対応した角度情報19を参照して、オブジェクトブロック「A」の角度範囲が「0°≦α<90°」であることを特定する。これに基づき、表示制御部17は、オブジェクトブロック「A」に対応した扇形のメニュー領域21aを、その角度範囲23aが「0°≦α<90°」となるように、画面IDが「1」のゲーム画面20に表示する。表示制御部17は、他のメニュー領域21a~21eについても同様に表示する。なお、前述のようにゲーム開発者が予め作成した画像データを表示制御部17がラジアルメニュー21として表示してもよい。
【0057】
また、表示制御部17は、角度情報19の表示モードを参照し、「グレーアウト」となっているオブジェクトブロック「C」、「D」、「E」の各々に対応したメニュー領域21c~21eをグレーアウト表示する。
【0058】
次に、検知部16が、操作スティック6が傾いたかを判定する(ステップS13)。ここで操作スティック6が傾いていない(NO)と判定された場合はステップS13を繰り返す。一方、操作スティック6が傾いた(YES)と判定された場合はステップS14に移る。なお、検知部16は、スティック6の傾きが予め定めた値以上の場合に、操作スティック6が傾いていると判断してもよい。すなわち、検知部16は、スティック6の傾きが予め定めた値未満の場合に、スティック6が傾いていないと判断してもよい。
【0059】
ステップS14では、検知部16が、操作スティック6が傾いた操作方向αを検知する。以下では、
図7(b)に示すように、操作方向αが、ラジアルメニュー21の中心からオブジェクトブロック20aを向いた方向である場合を例にして説明する。
【0060】
次いで、表示制御部17が、操作方向αにあるメニュー領域の表示態様を選択状態にする(ステップS15)。例えば、表示制御部17は、角度情報19において操作方向(角度)αが属する角度範囲に対応するオブジェクトブロックを特定し、そのオブジェクトブロックに対応するメニュー領域の表示態様を選択状態にする。すなわち、表示制御部17は、ゲーム画面20上におけるラジアルメニュー21の位置を基準として、操作方向αにあるメニュー領域の表示態様を選択状態にする。
【0061】
この例では、表示制御部17は、
図8に示すように、操作方向αにあるメニュー領域21aをハイライト表示することによりその表示態様を選択状態にする。これと共に、表示制御部17は、マーク22を操作方向αにシフトする。これにより、操作スティック6を傾けた操作方向をユーザがゲーム画面20上で確認でき、ユーザの利便性が高まる。
【0062】
なお、ゲーム画面20に表示されているオブジェクトブロック20a、20bのうち、操作方向αにはない他のオブジェクトブロック20bに対応したメニュー領域21bの表示態様については、表示制御部17が非選択状態とする。
【0063】
次に、表示制御部17は、操作方向αにあるオブジェクトブロックを選択状態にする(ステップS16)。この例では、表示制御部17は、
図8に示すように、操作方向αにあるオブジェクトブロック20aに枠Hを表示することにより、当該オブジェクトブロック20aを選択状態にする。
【0064】
次いで、ボタン7が離されたかを検知部16が判定し(ステップS17)、離された(YES)と判定された場合に表示制御部17が枠H内のオブジェクトブロックの選択を確定する(ステップS18)。
【0065】
オブジェクトブロック20aの選択が確定すると、そのオブジェクトブロック20aに含まれる各オブジェクト「A1」、「A2」、「A3」のいずれかにユーザがコマンドを入力できる状態となる。「A1」、「A2」、「A3」のうちのどのオブジェクトにコマンドを入力できるかはゲーム開発者が予め設定する。ユーザがコマンドを入力するオブジェクトを変更したい場合は、ゲームコントローラ2の適当なボタンをユーザが押下すればよい。
【0066】
なお、ステップS17においてボタン7が離されていない(NO)と判定された場合はステップS17を繰り返す。また、表示制御部17は、選択状態にあるオブジェクトブロックにユーザがコマンドを入力したときにラジアルメニュー21を非表示にしてもよい。また、表示制御部17は、ユーザが操作スティック6やボタン7を最後に操作してから所定時間経過したときにラジアルメニュー21を非表示にしてもよい。
【0067】
更に、この例ではボタン7が離されときにオブジェクトブロックの選択を確定したが、ステップS16においてオブジェクトブロックが選択状態となったときに同時に選択を確定してもよい。この場合はステップS17とステップS18は不要となる。
【0068】
また、
図8の例では、オブジェクトブロック20aとキャラクタ24の両方が操作方向αにある。この場合、表示制御部17は、キャラクタ24を除くオブジェクトブロック20aのみを選択状態にする。以上により、本実施形態に係る情報処理装置の処理が終了する。
【0069】
上記した処理によれば、オブジェクトブロックが存在する方向に操作スティック6を傾けることでそのオブジェクトブロックを選択できるため、直感的で分かりやすい使用感をユーザに与えることができ、ユーザが直感的にオブジェクトブロックを選択できる。
【0070】
更に、本実施形態では各オブジェクトブロックに対応したメニュー領域21a~21eがラジアルメニュー21に含まれる。そのため、ユーザは、自分が選択したいオブジェクトブロックに対応したメニュー領域がある方向に操作スティック6を傾ければよいと見当を付けることができ、ユーザの利便性が更に向上する。
【0071】
しかも、現在のゲーム画面20には表示されていないオブジェクトブロックに対応したメニュー領域はグレーアウト表示されるため、現在のゲーム画面20ではそのオブジェクトブロックを選択できないことをユーザが知ることができる。
【0072】
なお、このようにグレーアウト表示となっているメニュー領域は、ゲームの進行によって以下のように選択可能となる。
【0073】
図9(a)、(b)は、本実施形態においてゲームが進行したときのゲーム画面の一例の模式図である。
【0074】
例えば、ゲームが進行して画面IDが「n」になると、
図9(a)に示すように、画面IDが「1」のときには非表示だった「C」、「D」、「E」の各オブジェクトブロック20c~20eがゲーム画面20に表示される。
【0075】
これに伴い、「C」、「D」、「E」の各オブジェクトブロック20c~20eに対応したメニュー領域21c~21eのグレーアウト表示が解除され、これらのメニュー領域21c~21eが選択可能な状態となる。
【0076】
この状態で例えばユーザが操作スティック6を下方に傾けると、
図9(b)に示すように、ラジアルメニュー21の中心から見て画面下方にあるメニュー領域21dの表示態様が選択状態となり、更にオブジェクトブロック20dが選択状態となる。
【0077】
なお、上記した本実施形態ではゲーム画面20にラジアルメニュー21を表示したが、ラジアルメニュー21の表示を省いてもよい。この場合は、
図6のフローチャートのステップS12、S15をスキップすればよい。
【0078】
<第2実施形態>
第1実施形態では操作スティック6が傾けられた操作角度β(
図2(c)参照)について使用しなかった。本実施形態では、ラジアルメニュー21の表示やオブジェクトブロックの選択に際して操作角度βも使用する。
【0079】
図10は、本実施形態に係る角度情報19のデータ構造の一例を示す模式図である。
図10に示すように、本実施形態に係る角度情報19は、オブジェクトブロック、角度範囲(α)、角度範囲(β)、及び表示モードを対応付けた情報であって、ゲーム開発者によって予め作成されて記憶部12に格納される。
【0080】
角度範囲(α)は、操作スティック6を傾けた操作方向を示す角度α(
図2(b)参照)の範囲である。角度範囲(β)は、操作スティック6が傾けられた操作角度β(
図2(c)参照)の範囲である。角度範囲(β)に記号「-」が付されているオブジェクトブロックは、そのオブジェクトブロックの選択時に操作角度βを考慮しないことを表す。この場合、そのオブジェクトブロックに対応したメニュー領域を生成するときにも操作角度βを考慮しない。表示モードは、
図5の例と同様に、メニュー領域をグレーアウト表示するかを定める情報である。
【0081】
本実施形態では、この角度情報19を使用することで、表示制御部17が以下のようにゲーム画面を生成する。
【0082】
図11~
図12は、本実施形態に係るゲーム画面20の一例を示す模式図である。
【0083】
まず、第1実施形態と同様にユーザがボタン7を押下すると、
図11(a)に示すように、表示制御部17がゲーム画面20にラジアルメニュー21を表示する。この例では、ラジアルメニュー21の中心から見て「D」と「E」の各オブジェクトブロック20e、20dが同じ方向に存在する。この場合、操作スティック6を傾けた操作方向αのみでは、オブジェクトブロック20e、20dのいずれか一方のみを選択することができない。
【0084】
そのため、表示制御部17は、角度情報19における角度範囲(α)と角度範囲(β)の両方を利用して、各オブジェクトブロック20e、20dに対応したメニュー領域21e、21dを生成する。
【0085】
この例では、「D」と「E」の各オブジェクトブロック20e、20dの角度範囲(α)がいずれも「270°≦α<360°」となっているため、表示制御部17は、ラジアルメニュー21においてこの角度範囲にある扇形の領域を各メニュー領域21d、21eの領域として確保する。次いで、表示制御部17は、その扇形の領域のうち、「0≦β<30°」に相当する領域をメニュー領域21eとして設定し、「30≦β<60°」に相当する領域をメニュー領域21dとして設定する。例えば、ラジアルメニュー21の半径をrとすると、ラジアルメニュー21の中心からの距離が(30/60)×r未満の領域が「0≦β<30°」に相当する領域であり、ラジアルメニュー21の中心からの距離が(30/60)×r以上、かつr未満の領域が「30≦β<60°」に相当する領域である。
【0086】
なお、メニュー領域21a~21cについては、第1実施形態と同様に角度情報19の角度範囲(α)に基づいて表示制御部17が扇形の領域を生成する。また、第1実施形態と同様に、角度情報19を参照せずに、ゲーム開発者が予め作成した画像データを表示制御部17がラジアルメニュー21として表示してもよい。
【0087】
また、本実施形態では、検知部16が、ステップS13で角度αを検知するときに、操作角度βも検知する。そして、表示制御部17が、角度情報19を参照して、検知した各角度α、βが属する角度範囲(α)、角度範囲(b)に対応するオブジェクトブロックを特定し、そのオブジェクトブロックとそれに対応するメニュー領域の表示態様とを選択状態にする。
【0088】
例えば、検知した角度αの角度範囲が「270°≦α<360°」であり、検知した操作角度βの角度範囲が「0≦β<30°」の場合について説明する。この場合、表示制御部17は、これらの角度範囲に対応する「E」のオブジェクトブロック20eを角度情報19から特定する。
【0089】
そして、
図11(b)に示すように、表示制御部17は、「E」のオブジェクトブロック20eに対応するメニュー領域21eの表示態様を選択状態にし、次いで「E」のオブジェクトブロック20eの表示態様を選択状態にする。
【0090】
この状態でユーザが角度αを変えずに操作スティック6を更に傾けて操作角度βの角度範囲が「30≦β<60°」となった場合について説明する。この場合は、
図12に示すように、表示制御部17は、「D」のオブジェクトブロック20dに対応するメニュー領域21dを選択状態にし、次いで「D」のオブジェクトブロック20dを選択状態にする。
【0091】
以上説明した本実施形態によれば、ラジアルメニュー21の中心から見て複数のオブジェクトブロック20d、20eが同じ方向に存在する場合でも、操作スティック6を傾けた操作角度βを利用することで、ユーザが各オブジェクトブロック20d、20eのいずれかを選択状態にでき、ユーザの利便性を高めることができる。
【0092】
<第3実施形態>
図13は、第3実施形態に係るゲーム画面20の一例を示す模式図である。本実施形態では、オブジェクトブロック20a、20bの大きさに基づいて、表示制御部17が、各メニュー領域21a、21bの面積を変更する。各オブジェクトブロック20a、20bの大きさは、例えば、各オブジェクトブロックが内接する矩形Rの面積として定義される。また、一つのオブジェクトブロックに一つのオブジェクトのみが含まれる場合は、そのオブジェクトの大きさに基づいて表示制御部17がメニュー領域の面積を変更する。
【0093】
この例では、表示制御部17は、オブジェクトブロックが大きいほど、そのオブジェクトブロックに対応したメニュー領域の面積を大きくする。例えば、オブジェクトブロック20bの大きさはオブジェクトブロック20aのそれよりも大きいため、表示制御部17は、メニュー領域21bの面積をメニュー領域21aの面積よりも大きくする。
【0094】
これにより、オブジェクトブロックの大きさがメニュー領域の面積に反映されるため、視認性が良好なラジアルメニュー21を表示することができる。
【0095】
また、表示制御部17は、オブジェクトブロックの使用頻度に基づいてメニュー領域の面積を変更してもよい。オブジェクトブロックの使用頻度は、例えば、所定期間内においてそのオブジェクトブロックに含まれるいずれかのオブジェクトを使用した回数である。一例として、表示制御部17は、オブジェクトブロックの使用頻度が多いほど、そのオブジェクトブロックに対応したメニュー領域の面積を大きくしてもよい。
【0096】
これにより、オブジェクトブロックの操作履歴としての使用頻度がメニュー領域の面積に反映されるため、例えば使用頻度が多いオブジェクトブロックに対応したメニュー領域の面積が大きくなり、操作性のよいラジアルメニュー21を表示することができる。
【0097】
更に、表示制御部17は、直近でオブジェクトブロックを使用したかという操作履歴に基づいてメニュー領域の面積を変更してもよい。例えば、表示制御部17は、一週間前から現在までの間にオブジェクトブロックに含まれるいずれかのオブジェクトが使用された場合、直近でそのオブジェクトブロックを使用したと判定する。一例として、表示制御部17は、直近でオブジェクトブロックが使用されたときに、そのオブジェクトブロックに対応したメニュー領域の面積を大きくしてもよい。
【0098】
これにより、直近でオブジェクトブロックを使用したかという操作履歴がメニュー領域の面積に反映されるため、例えば直近で使用したオブジェクトブロックに対応したメニュー領域の面積が大きくなり、操作性のよいラジアルメニュー21を表示することができる。
【0099】
<第4実施形態>
第1実施形態では、ゲーム開発者が予め作成した角度情報19に基づいて、表示制御部17がラジアルメニュー21を表示した。これに対し、本実施形態では、表示制御部17が角度情報19を動的に生成し、その角度情報19に基づいてラジアルメニュー21を表示する。
【0100】
図14は、本実施形態に係る情報処理装置が実行する処理の一例を示すフローチャートである。
【0101】
まず、第1実施形態と同様にステップS10を行った後、表示制御部17が角度情報19を生成する(ステップS20)。
【0102】
図15(a)は、本実施形態に係る角度情報19の元となるゲーム画面20の一例を示す模式図である。なお、この段階ではゲーム画面20にはラジアルメニュー21は表示されていないが、
図15(a)では説明の都合上、表示が予定されているラジアルメニュー21を併記してある。
【0103】
図15(a)に示すように、表示制御部17は、現在のゲーム画面20の中心から見たときに各オブジェクトブロック20a、20bが位置する方向P、Qを特定する。そして、表示制御部17は、特定した方向P、Qに基づいて、各メニュー領域21a、21bが各オブジェクトブロック20a、20bを向くように、各メニュー領域21a、21bの角度範囲23a、23bを決定する。一例として、表示制御部17は、各方向P、Qを含むように角度範囲23a、23bを決定する。そして、表示制御部17は、決定した角度範囲23a、23bを各オブジェクトブロック20a、20bと対応付けて角度情報19に格納する。
【0104】
再び
図14を参照する。次に、表示制御部17は、生成した角度情報19に基づいて、ゲーム画面20の中央にラジアルメニュー21を表示する(ステップS12)。
【0105】
この後は、第1実施形態と同様にステップS13~S18を行い、本実施形態に係る情報処理装置の処理が終了する。
【0106】
上記した本実施形態によれば、ステップS20において表示制御部17が角度情報19を生成するため、ゲーム開発者が角度情報19を生成する手間を省くことができる。
【0107】
なお、
図15(a)の例ではゲーム画面20の中心にラジアルメニュー21を表示したが、ゲーム画面20の中心から外れた位置に表示制御部17がラジアルメニュー21を表示してもよい。ラジアルメニュー21の表示位置は、表示制御部17が決定してもよいし、ユーザが決定してもよい。
【0108】
図15(b)は、表示制御部17が、ゲーム画面20の隅にラジアルメニュー21を表示した場合のゲーム画面20の一例の模式図である。
【0109】
図15(b)の例においても、表示制御部17は、各メニュー領域21a、21bが各オブジェクトブロック20a、20bを向くように角度範囲23a、23bを決定し、決定した角度範囲23a、23bを各オブジェクトブロック20a、20bと対応付けて角度情報19に格納する。
【0110】
ゲーム画面20における各オブジェクトブロック20a、20bの位置は、ゲームの開発段階で設定情報(不図示)において定められている。そのため、設定情報を記憶部12に格納しておくことで、表示制御部17は、設定情報から特定される各オブジェクトブロック20a、20bの位置と、ラジアルメニュー21の位置とに基づいて、オブジェクトブロックごとに角度情報19の角度範囲を生成することができる。
【0111】
これにより、各メニュー領域21a、21bが各オブジェクトブロック20a、20bを向くように、ゲーム画面20内でラジアルメニュー21が表示される位置に基づいて角度範囲23a、23bが変更され、動的にラジアルメニュー21を表示することができる。
【0112】
<第5実施形態>
図16は、本実施形態に係るゲーム画面20の一例を示す模式図である。
【0113】
本実施形態では、表示制御部17が、ラジアルメニュー21のメニュー領域21a~21eにアイコンを表示する。
【0114】
これらのアイコンは、対応するオブジェクトブロック20a~20eの内容を示すようにゲーム開発者によって予めデザインされる。例えば、メニュー領域21aには歯車のアイコンが表示されているが、これはオブジェクトブロック20aがゲーム設定に関するオブジェクトを含むことを示している。また、メニュー領域21cの吹き出し型のアイコンは、オブジェクトブロック20cがヘルプに関するオブジェクトを含むことを示している。これにより、ユーザがオブジェクトブロック20a~20eの内容をメニュー領域21a~21eから知ることができ、ユーザの利便性が向上する。
【0115】
なお、表示制御部17は、ラジアルメニュー21の中央のマーク22に、ゲームコントローラ2の左側の操作スティック6を示す文字「L」を表示してもよい。これにより、ユーザは、左側の操作スティック6を操作することでオブジェクトブロック20a~20eが選択可能であることを把握することができる。
【0116】
<ハードウェア構成>
図17は、第1~第5実施形態に係る情報処理装置1のハードウェア構成の一例を示す模式図である。
【0117】
図17に示すように、情報処理装置1は、演算処理装置1a、主記憶装置1b、記録装置1c、入力インターフェース1d、及び出力インターフェース1eを有する。これらの各装置はバス1fによって相互に接続される。
【0118】
演算処理装置1aは、例えばCPU(Central Processing Unit)、GPU(Graphics Processing Unit)等のプロセッサであって、主記憶装置1b又は記録装置1cに記録されたプログラムに従って処理を実行する。処理部11を構成する各機能部は、演算処理装置1aがプログラムを実行することにより実現される。
【0119】
主記憶装置1bは、例えば、RAM(Random Access Memory)等の記憶装置である。記録装置1cは、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、及びフラッシュROM(Read Only Memory)等の記録装置である。主記憶装置1b又は記録装置1cによって記憶部12が実現される。
【0120】
入力インターフェース1dは、ゲームコントローラ2の操作情報が入力される入力デバイスである。この入力インターフェース1dによって操作受付部14が実現される。
【0121】
出力インターフェース1eは、情報処理装置1が生成した表示信号を出力する出力デバイスである。この出力インターフェース1eによって出力部13が実現される。
【0122】
以上、各実施形態について詳細に説明したが、各実施形態は上記に限定されない。例えば、情報処理装置1の各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、情報処理装置1の各構成要素の処理は、1つのプログラムで実現されてもよいし、複数のプログラムで実現されてもよい。
【0123】
図4に示した情報処理装置1の構成は、プログラムの構成を理解容易にするために、主な処理内容に基づいて分類したものである。構成要素の分類の仕方や名称によって、本発明が制限されることはない。情報処理装置1及びプログラムの構成は、処理内容に基づいて、さらに多くの構成要素に分類することもできる。
【0124】
各構成要素の処理又は機能の分担は、本発明の目的及び効果を達成できるのであれば、図示したものに限られない。また、
図17に示した情報処理装置1のハードウェア構成は、本発明の目的及び効果を達成できるのであれば、図示したものに限られない。
【0125】
本発明における情報処理装置1の構成は、PCに限らず、家庭用ゲーム機、携帯型ゲーム機、アーケードゲーム機等のゲーム機にも適用することができ、更にPC以外のスマートフォン等の汎用的なコンピュータにも適用することができる。また、情報処理装置1の構成は、カーナビゲーションシステム、ATM(Automatic Teller Machine)又はプリンタ等の装置にも適用することができる。また、情報処理装置1の構成は、PC、ゲーム機、スマートフォン等のユーザの端末からインターネット等のネットワークを介して接続されるクラウド上のサーバにも適用することができる。
【0126】
本発明は、単独の情報処理装置1によってプログラムが実行される場合に限らず、複数の情報処理装置1によってプログラムが実行される場合や、インターネット等のネットワークを介して相互に接続された情報処理装置とサーバとによってプログラムが実行される場合にも適用できる。
【0127】
本発明は、ゲーム用のプログラムだけでなく、当該プログラムを実行するコンピュータ、方法、当該プログラムにより実現されるシステム、当該プログラムを記録したコンピュータ読み取り可能な記録媒体等の様々な態様で提供することができる。
【符号の説明】
【0128】
1…情報処理装置、1a…演算処理装置、1b…主記憶装置、1c…記録装置、1d…入力インターフェース、1e…出力インターフェース、1f…バス、2…ゲームコントローラ、3…ディスプレイ、4…ゲームシステム、6…操作スティック、6a…軸、7…ボタン、11…処理部、12…記憶部、13…出力部、14…操作受付部、15…ゲーム実行部、16…検知部、17…表示制御部、19…角度情報、20…ゲーム画面、20a~20e…オブジェクトブロック、21…ラジアルメニュー、21a~21e…メニュー領域、22…マーク、23a、23b…角度範囲。