JP2015066291A - 遊戯装置およびプログラム - Google Patents

遊戯装置およびプログラム Download PDF

Info

Publication number
JP2015066291A
JP2015066291A JP2013204807A JP2013204807A JP2015066291A JP 2015066291 A JP2015066291 A JP 2015066291A JP 2013204807 A JP2013204807 A JP 2013204807A JP 2013204807 A JP2013204807 A JP 2013204807A JP 2015066291 A JP2015066291 A JP 2015066291A
Authority
JP
Japan
Prior art keywords
vibration
marker
touch
timing
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013204807A
Other languages
English (en)
Inventor
克典 木水
Katsunori Kimizu
克典 木水
了太 徳本
Ryota Tokumoto
了太 徳本
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.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2013204807A priority Critical patent/JP2015066291A/ja
Publication of JP2015066291A publication Critical patent/JP2015066291A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】タッチ操作したときにタッチパネルの平坦面に触れただけの感触とは異なる操作感を与えることができる遊戯装置を実現する。【解決手段】画面表示されたマーカへのタッチ操作を検出すると、タッチパネルを振動させて触覚フィードバック(ハプティクス)を実現する。タッチ操作されたマーカが単独ならばそのマーカに関連づけられた振動形態で振動させ、複数のマーカが同時にタッチ操作されているときは単独操作時とは異なる複数操作用の振動形態で振動させる。【選択図】図10

Description

本発明は、遊戯装置等に関する。
マーカの表示をたよりにタイミングに合わせた操作入力を楽しむゲームのジャンルの一つに、いわゆる「音楽ゲーム」「音ゲー」「演奏ゲーム」「リズムゲーム」と呼ばれるジャンルがある(以下代表して「音楽ゲーム」という。)。例えば、特許文献1には、プレーヤが、ラインに沿って流れ表示されるマーカ(操作入力の的)を、入力タイミングライン(評価位置)に到達するタイミングを見計らって操作入力するゲームが開示されている。マーカが入力タイミングラインに到達するタイミングは音楽のリズムと一致するように設定されているので、プレーヤは音楽のリズムにのって操作入力すれば、高得点が得られるようになっている。
また、近年いわゆる「触覚フィードバック」「ハプティクス技術」の一つとして、タッチパネルへのタッチ操作に応じてタッチするプレーヤの指に操作感を抱かせる触覚をフィードバックする技術が注目されている。例えば、デバイスとしては、画像表示可能なフラットパネルディスプレイの上に、タッチ操作位置に応じて信号を発するセンサ圧電セルレイヤーと、信号を受けて圧電効果により作動して触覚を提供するアクチュエータ圧電セルレイヤーとを、層状に設けたデバイスなどが考案されている(例えば、特許文献2を参照)。
特開2007−181650号公報 特開2011−242386号公報
近年、タッチパネルへのタッチ操作でプレイする音楽ゲームが多数開発されており、マーカに対するタッチ操作によってゲームプレイするスタイルが一般的に採用されている。そのため、こういった音楽ゲーム等のタッチ操作でプレイする遊戯装置において、触覚フィードバックの技術を用いた新しい興趣を提供したい。
本発明は、こうした事情を鑑みて考案されたものであり、タッチ操作したときにタッチパネルの平坦面に触れただけの感触とは異なる操作感を与えることができる遊戯装置を実現することを目的とする。
上述した課題を解決するための第1の発明は、タッチ面が振動するマルチタッチが可能なタッチパネルの当該タッチ面へのタッチ操作を楽しむゲームを実行する遊戯装置であって、
タッチ操作を指示する指示マーカ(例えば、図5のショットマーカ2S、ホールドマーカ2H)を複数表示制御する表示制御手段(例えば、図1の制御基板50、図11の処理部200、ゲーム演算部201、図12の譜面データ520、図18のステップS4)と、
タッチ操作に応じて、当該タッチ操作に対応する指示マーカを判定する判定手段(例えば、図1の制御基板50、図11の処理部200、ゲーム演算部201、タッチ対象マーカ判定部206、図18のステップS10)と、
タッチ操作に応じて前記タッチ面を振動させる制御を行う振動制御手段(例えば、図1の制御基板50、図11の処理部200、ゲーム演算部201、振動制御部210、図19のステップS112,S116)と、を備え、
前記振動制御手段は、前記判定手段により判定された指示マーカが1つの場合に当該判定された指示マーカに関連づけられている振動形態で振動制御を行う単独操作時振動制御手段(例えば、図11の単独操作時振動制御部213、図19のステップS112、図22のステップS122)と、
前記判定手段により判定された指示マーカが複数の場合に複数操作用の振動形態で振動制御を行う複数操作時振動制御手段(例えば、図11の複数操作時振動制御部214、図19のステップS116)と、を有する遊戯装置(例えば、図1の遊戯装置10)である。
第1の発明によれば、タッチ操作された指示マーカの数が単数の場合と複数の場合とで、それぞれの状況に応じた振動形態でタッチ面を振動させる。そのため、タッチパネルの平坦面に触れただけの感触とは異なるいわゆる触覚フィードバック、ハプティクスを実現することができる。
振動形態により多様性を持たせ、ゲームの興趣を高めることを望むならば、第2の発明として、前記複数操作時振動制御手段が、前記指示マーカそれぞれに関連づけられている振動形態とは異なる振動形態を前記複数操作用の振動形態として振動制御を行う、第1の発明の遊戯装置を構成すると好適である。
更に第3の発明として、前記複数操作時振動制御手段が、前記判定手段により判定された複数の指示マーカそれぞれに関連づけられている振動形態を合成して、前記複数操作用の振動形態を生成する合成手段(例えば、図11の合成部215、図23のステップS168)を有する、第2の発明の遊戯装置を構成することもできる。
また、第4の発明として、前記合成手段が、前記判定手段により判定された複数の指示マーカそれぞれに関連づけられている振動形態の合成割合を変更する割合変更手段(例えば、図11の割合変更部216、図23のステップS166)を有する、第3の発明の遊戯装置を構成することもできる。
更に、第5の発明として、前記割合変更手段が、前記指示マーカの表示タイミングの差を用いて前記合成割合を変更する、第4の発明の遊戯装置を構成するとしてもよい。
更に、第6の発明として、前記複数操作時振動制御手段が、前記判定手段により判定された指示マーカの数がN個以上(Nは3以上の整数)となった場合に、所与の振動形態に切り替えて振動制御を行う(例えば、図25のステップS196)、第3〜第5の何れかの発明の遊戯装置を構成してもよい。
第7の発明は、前記複数操作時振動制御手段が、前記判定手段により判定された複数の指示マーカのうち、所与の選択条件に基づいて指示マーカを選択するマーカ選択手段(例えば、図11のマーカ選択部217、図24のステップS180〜S186)を有し、前記マーカ選択手段により選択された指示マーカに関連づけられている振動形態に基づく振動形態を前記複数操作用の振動形態として振動制御を行う、第1の発明の遊戯装置である。
第7の発明によれば、同時操作されている指示マーカを幾つかに絞って振動制御に用いるので、複数操作時に適用される振動形態でありながら過度に複雑で、心地よさを損なった触覚とならないようにできる。
更に、単数操作時とは違うということをより印象づけ、演出的なメリハリとして積極的な利用を望むならば、第8の発明として、前記複数操作時振動制御手段が、前記選択された指示マーカに関連づけられている振動形態の振幅を大きくさせた振動形態を前記複数操作用の振動形態とする、第7の発明の遊戯装置を構成すると好適である。
更に、演出効果に多様性をもたらすことを望むならば、第9の発明として、前記指示マーカには複数種類があり、前記マーカ選択手段が、前記指示マーカの種類に応じて定められた優先順位に基づいて、前記判定手段により判定された複数の指示マーカの中から指示マーカを選択する、第7又は第8の発明の遊戯装置を構成すると好適である。
また、音楽の再生部分に応じて演出効果を可変できるように、第10の発明として、音楽を出力する制御を行う音楽出力制御手段(例えば、図11の音楽出力制御部203)を更に備え、前記マーカ選択手段が、前記音楽出力制御手段により出力されている音楽部分に対応して定められた前記優先順位(例えば、図12のマーカ種別優先順位534)に基づいて、前記判定手段により判定された複数の指示マーカの中から指示マーカを選択する(例えば、図24のステップS184〜S190)、第9の発明の遊戯装置を構成すると好適である。
更には、第11の発明として、プレーヤの選択操作に従って音楽を選択する音楽選択手段(例えば、図11の音楽選択部202、プレイ曲候補データ510)と、前記音楽選択手段により選択された音楽を出力する制御を行う音楽出力制御手段と、を更に備え、前記マーカ選択手段が、前記音楽選択手段により選択された音楽に対応して定められた前記優先順位に基づいて、前記判定手段により判定された複数の指示マーカの中から指示マーカを選択する、第9又は第10の発明の遊戯装置を構成することもできる。
第11の発明によれば、プレイする音楽毎に振動フィードバックの振動形態を変えることができる。
第12の発明は、前記指示マーカそれぞれには、タッチ操作すべき目標タイミングが定義付けられており、タッチ操作がなされたタイミングと、当該タッチ操作に対応する指示マーカに定義付けられている目標タイミングとの差に基づいて、当該指示マーカへのタッチ操作を、振動制御の対象とするか否かを判断する振動対象是非判断手段(例えば、図25のハプティクス対象是非判断部208、図26のステップS158)、として前記コンピュータを機能させ、前記振動制御手段が、前記振動対象是非判断手段により対象にすると判断されたタッチ操作に応じて、振動制御を行う、第1〜第11の何れかの発明の遊戯装置である。
第12の発明によれば、触覚フィードバックの対象とするマーカを絞ることができるので、多数の指示マーカに同時にタッチ操作される場面でも、触覚フィードバックの振動形態が混濁し不快感を与えるようなケースを未然に防ぐことができる。
第13の発明は、タッチ面が振動するマルチタッチが可能なタッチパネルの当該タッチ面へのタッチ操作を楽しむゲームをコンピュータに実行させるためのプログラムであって、
タッチ操作を指示する指示マーカを複数表示制御する表示制御手段(例えば、図11の処理部200、ゲーム演算部201、図12の譜面データ520、図18のステップS4)、
タッチ操作に応じて、当該タッチ操作に対応する指示マーカを判定する判定手段(例えば、図11の処理部200、ゲーム演算部201、タッチ対象マーカ判定部206、図18のステップS10)
タッチ操作に応じて前記タッチ面を振動させる制御を行う振動制御手段(例えば、図11の処理部200、ゲーム演算部201、振動制御部210、図19のステップS112,S116)、として前記コンピュータを機能させ、
前記振動制御手段は、
前記判定手段により判定された指示マーカが1つの場合に当該判定された指示マーカに関連づけられている振動形態で振動制御を行う単独操作時振動制御手段(例えば、図11の単独操作時振動制御部213、図19のステップS112、図22のステップS122)と、
前記判定手段により判定された指示マーカが複数の場合に複数操作用の振動形態で振動制御を行う複数操作時振動制御手段(例えば、図11の複数操作時振動制御部214、図19のステップS116)と、を有する、
プログラム(例えば、図11のゲームプログラム502)である。
第13の発明によれば、第1の発明と同様の作用効果を得ることができる。
遊戯装置を斜め前方より見た斜視外観図。 遊戯装置の側面図。 ハプティクスユニットの構成例を示す斜視外観図。 ハプティクスユニットの構成例を示す図3のA−A断面図。 ゲーム画面の例を示す図。 ショットマーカへの指示操作と表示遷移、およびハプティクスについて説明するための図。 ホールドマーカへの指示操作と表示遷移、およびハプティクスについて説明するための図。 ホールドマーカへのハプティクスにおける振動形態の例を示す図。 ホールドマーカへのハプティクスにおける振動形態の例を示す図。 同時操作時の触覚フィードバック(ハプティクス制御)について説明する図。 遊戯装置の機能構成例を示す機能ブロック図。 プレイ曲候補データのデータ構成の一例を示す図。 第1特別モード用振動形態設定データのデータ構成例を示す図。 第2特別モード用振動形態設定データのデータ構成例を示す図。 プレイデータのデータ構成例を示す図。 マーカ管理データのデータ構成例を示す図。 マーカ別振動形態データのデータ構成例を示す図である。 遊戯装置におけるハプティクス制御に係る処理の流れについて説明するためのフローチャート。 図18より続くフローチャート。 振動形態関数生成処理の流れを説明するためのフローチャート。 加振力算出関数決定処理の流れを説明するためのフローチャート。 標準モード対応振動制御処理の流れを説明するためのフローチャート。 特別モード対応振動制御処理の流れを説明するためのフローチャート。 図23より続くフローチャート。 遊戯装置の機能構成の変形例を示す機能ブロック図。 特別モード対応振動制御処理の流れの変形例を説明するためのフローチャート。
〔第1実施形態〕
図1は、本実施形態における遊戯装置10を斜め前方より見た斜視外観図である。
図2は、本実施形態における遊戯装置10の側面図である。ただし、構造を理解し易いようにプレーヤから見て右側のスピーカの支持構造の図示を省略している。
本実施形態の遊戯装置10は、タッチ操作を用いて音楽ゲームを楽しむための業務用ビデオゲーム装置としてデザインされている。遊戯装置10は、1)画面表示およびプレーヤが操作を行う操作入力デバイスを具備する基部12と、2)プレーヤから見て基部12の背部から上方へ向けて設けられた立設背部14と、3)立設背部14から操作ポジションにあるプレーヤ9の頭部付近へ向けて延設されたスピーカ支持部16と、を備える。
立設背部14は、その正面(プレーヤから見れば目の前)に、複数の発光素子(例えば、発光ダイオード)を縦に配列した発光演出部15を複数列備える。発光演出部15は、ゲーム中の演出として発光制御される。
スピーカ支持部16は、上面視略U字型または略コの字型を有し、凹部の底にあたる内側部で立設背部14の背面に固定されている。そして、スピーカ支持部16の上下方向の幅は、想定される平均的なプレーヤ像の頭部の寸法(上下方向の幅)よりも大きく設定されている。
本実施形態では、スピーカ支持部16は、装置にとっての右側であるプレーヤの頭部左方付近に左スピーカユニット17Lを支持する左側部16Lを備え、装置にとっての左側であるプレーヤの頭部右方付近に右スピーカユニット17Rを支持する右側部16Rを備える。
左側部16Lは、基部12の上方にあって、操作するプレーヤの頭部の左側方付近、より詳しくは左耳の左斜め前方位置に到るように構成され、前端部の内面側に左スピーカユニット17Lを備える。同様に、右側部16Rは、基部12の上方にあって、操作するプレーヤの頭部の右側方付近、より詳しくは右耳の右斜め前方位置に到るように構成され、前端部の内面側に右スピーカユニット17Rを備える。
左スピーカユニット17L及び右スピーカユニット17Rは、左右反転の対称形をなしており、それぞれが操作ポジションにいるプレーヤの左右の耳位置に向けられたスピーカを備えている。つまり、左スピーカユニット17L及び右スピーカユニット17Rは、プレーヤの頭部を左右から挟み込むように配置されている。
基部12は、筐体の主たる部位であって、画像表示デバイスと操作入力デバイスを兼ねたタッチパネル20と、操作中のプレーヤが寄りかかることのできる身体支持部22と、プレイ対価の支払いをするための対価支払装置24と、ウーハー(Woofer)26と、制御基板50とを備える。
図2に示すように、タッチパネル20は、本実施形態では表示装置21とハプティクスユニット30とを備えて構成され、上辺が下辺よりも高くなるように、すなわち表示画面が装置前方斜め上方に向く姿勢で基部12の上端部に設けられている。本実施形態では、プレーヤ9は、タッチパネル20を斜め上から見ながら、表示画面へ向けてスライド操作を含むタッチ操作をしてプレイする。全画面を縦横に使って上下左右に両腕を伸ばしたり縮めたりしながらダイナミックにプレイするスタイルを想定しており、タッチパネル20のサイズはできるだけ大きなサイズとする。14インチ以上、望ましくは24インチ〜30インチとするが、これ以外のサイズとしてもよい。
表示装置21は、例えばフラットパネルディスプレイなどの画像表示装置により実現され、本実施形態の音楽ゲームのゲーム画面を表示する。
図3及び図4は、本実施形態におけるハプティクスユニット30の構成例を示す図であって、前者は斜視外観図、後者は図3のA−A断面図に相当する。
ハプティクスユニット30は、表示装置21の表示面の上に設けられ、表示画面へ向けたタッチ操作の検出と、当該タッチ操作に伴う皮膚感覚のフィードバックいわゆる触覚フィードバックを実現する。
本実施形態のハプティクスユニット30は、1)表示装置21の画面サイズと同サイズ又は大きくて、表示画面の全域を覆うことができるタッチ位置検出部32と、2)タッチ位置検出部32の縁部を保持する保持部33と、4)保持部33を基部12の内部フレーム12fに防振支持する弾性部材34と、5)保持部33に固定された加振部35と、を備える。
本実施形態のタッチ位置検出部32は、表示装置21の表示面直上に配置される透明板32aと、当該透明板32aの上に重ねられた額縁状の枠体32bとで構成される。
透明板32aは、強化ガラスやアクリルなどの合成樹脂でできた略無色透明の平板体であって、プレーヤがタッチ操作する指が触れる面となる。透明板32aは表示装置21の画面サイズより大きな大きさを有する。
枠体32bの内側には赤外光などを発する発光素子と光センサーとが対向配列されており、タッチ操作するプレーヤの指が光を遮断することで位置を検出し、検出情報(あるいは位置座標)を制御基板50へ出力することができる。
本実施形態では表示装置21の画面サイズが14インチ以上に設定されているので、コストと耐久性の観点からタッチパネル20をこうした赤外線方式としているが、要求を満たすのであればその他の方式(例えば、抵抗膜方式や静電容量方式、表面弾性波方式など)のタッチパネルにより実現してもよいのは勿論である。
保持部33は、タッチ位置検出部32の縁部、すなわち透明板32aと枠体32bとを、纏めて挟持する。本実施形態では、タッチ位置検出部32の上下左右の四辺それぞれの縁部を保持する第1の保持部33a〜第4の保持部33dがあり(図3)、各保持部は辺沿いに長尺の平支持板33fと屈曲した押さえ板33gとで構成され、弾性部材34の一端にとも締めで固定される(図4)。
加振部35は、制御基板50からの駆動信号を受けて作動する電気信号を機械的な振動に変換する素子である。例えば、偏心回転質量を回転させるモータやリニア共振アクチュエータなどの振動トランスデューサなどにより実現できる。
一つの加振部35は、タッチ位置検出部32でタッチ位置が検出されている間振動を発生させるように制御される。加振部35が振動すると、その振動は第1の保持部33aを介してタッチ位置検出部32に伝達される。つまり、加振部35、保持部33および透明板32aが一体に振動し、タッチ操作したプレーヤの指に、振動していない時の透明板32aを触れたときとは異なる皮膚感覚を与える。つまり、触覚フィードバックをもたらす。加振部35で生じた振動は、タッチ位置検出部32と保持部33とを一体に振動させるが、弾性部材34により減衰・抑制されるので基部12の内部フレーム12fにはほとんど伝わらないようになっている。
本実施形態では、タッチ位置検出部32の上辺を保持する第1の保持部33aに、2つの加振部35が左右の均等位置に取り付けられている。本実施形態の表示装置21は比較的大きなサイズである。相対的に触覚フィードバックに必要な加振力が大きくなるが、単独の加振部35で要求される加振力をまかなうよりも、こうして複数の加振部35を用いて要求される加振力を分担して担わせることで、タッチする位置による触覚フィードバックの感触の違いを抑制することができる。
また、二つの加振部35が同時に故障する可能性は極めて低く、何れか一方が故障しても他方が残る。一方が故障すると得られる触覚フィードバックは半分に弱まるが、機能が全く損なわれる訳では無く、仮にゲームプレイ中に故障が発生したとしてもそれなりにゲーム終了まで触覚フィードバックを維持できる。つまり、複数の加振部35を用いることで故障に対する稼働性を高めることにもなる。
また、タッチ位置検出部32の保持を辺別に独立させた構成を採用することで、加振部35の故障修理にともない保持部33を取り外す必要があったとしても、問題の加振部35が固定されている保持部33だけ外せばよくなり、タッチ位置検出部32ごと取り外す必要は無い。よって、メンテナンス性をより高めることができる。
また、加振部35をタッチ位置検出部32の上辺の縁を保持する第1の保持部33aに固定する構成としたことで、加振部35を収容するスペースをタッチパネル20の上側に設ければ良くなった。本実施形態では、比較的大きな画面サイズを採用するので、タッチパネル20も大きくなり透明板32aもそれに応じて大きく重くなる。結果として、加振部35に要求される振動発生力も大きくなり大型化する。もし、加振部35を第3の保持部33cに固定する構成としたならば、加振部35を収容するためのスペースがプレーヤとタッチパネル20との間となり、プレーヤをタッチパネル20から遠ざけてしまったり、操作性を損なうといった虞がある。しかし、加振部35を収容するスペースをタッチパネル20の上側に設けることができるのでその心配はない。
図1及び図2に戻って、身体支持部22は、操作中のプレーヤが腹部を当てて体の重さを部分的に支持させることができるように設定されている。具体的には、身体支持部22は、基部12の前端部に、より詳しくはタッチパネル20の前方下端付近に固定されており、プレーヤに当接する面がプレーヤに向けて凸の曲面をなし、プレーヤが体の重さを掛けても負担とならないように適当な弾性材で覆われている。そして、身体支持部22のプレーヤが当接する面(凸曲面の前端位置)は、基部12よりもプレーヤ側へ突出するように設定されており、身体支持部22の下方には、プレーヤが身体支持部22に腹部を当てた姿勢で立ったときにつま先を納めることのできる空間が確保される(図2)。
対価支払装置24は、硬貨投入装置や、プリペイドカードや電子マネー機能を備えたICカードなどのリーダーライターなどにより実現される。
ウーハー26は、低音域を担当する第3のスピーカユニットである。ウーハー26は、プレーヤの下半身、より具体的には足下に向けて設置されており、重低音をプレーヤの下半身に向けて放音することができる。
制御基板50は、CPU51やGPU,DSPなどの各種マイクロプロセッサと、ASIC,VRAM,RAM,ROM等の各種ICメモリ52とが搭載されている。また、タッチパネルドライバIC54や、左スピーカユニット17L・右スピーカユニット17R・ウーハー26への音声信号を生成し増幅出力する音声合成IC55、加振部35の駆動信号を生成する駆動信号生成IC56、それらと外部との信号の入出力を制御するインターフェースIC57、通信回線に接続して外部装置とデータ通信をするための通信モジュール58、などが搭載されている。これら制御基板50に搭載されている各要素は、それぞれバス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。そして、制御基板50は、ICメモリ52に記憶しているプログラムやデータを読み出して演算処理を実行し、タッチパネル20などからの操作入力に応じて遊戯装置10の各部を制御してゲームプレイ可能にする。
[ゲーム内容の説明]
図5は、本実施形態におけるゲーム画面の例を示す図である。
ゲーム画面は、タッチパネル20に表示される。本実施形態の音楽ゲームでは、プレイする音楽の再生とともに、そのリズムに合わせて基準線1に沿って画面に次々にマーカ2(2S,2H,…)が表示される。これがいわゆる「譜面」に当たる。プレーヤは、放音される音楽のリズムに合わせて表示された順番にマーカ2(2S,2H,…)めがけてタッチパネル20へタッチ操作してプレイする。タッチ操作は、マーカ2への「指示操作」である。
基準線1は、所定期間の間のマーカ2(2S,2H,…)が配置されてゆく方向性を定義するが、プレーヤには見えない非表示の線である。例えば、直線や曲線、閉ループ、ジグザグなどの組み合わせで定義される。
マーカ2(2S,2H,…)は、プレーヤへ所与のタイミングでのタッチ操作を指示する指示マーカであって、基準線1に沿って次々に出現・消滅するように表示される。図5の例では、基準線1は1本であるが、同時刻に複数の基準線1が存在してもよい。例えば、画面の左右にそれぞれ1本ずつあって、画面の左右で同時に複数のマーカ2が表示されるケースや、画面の左右で交互にマーカ2が次々に表示されるケースもあり得る。タッチパネル20の大きな画面サイズと相まって、同時に片手でタッチ操作が不可能な位置に複数のマーカ2が表示されるケースもある。加えて、基準線1がプレーヤには見えない上に、不規則に蛇行や折り返しをするので、マーカ2はあたかも画面の不特定位置から不特定方向に順次表示されるように見える。
各マーカ2(2S,2H,…)には、それぞれ要求されるタッチ操作の継続時間、換言するとそのマーカにタッチし続ける目標時間が予め設定されている。この時間を「要求操作時間」と呼ぶ。プレイする音楽の再生開始を基準とする要求操作時間が始まるタイミング、すなわちマーカに対してタッチ操作する目標タイミングを「開始目標タイミング」と呼ぶ。また、音楽の再生開始を基準とする要求操作時間が終わるタイミング、すなわち当該マーカに対するタッチ操作をやめる目標タイミングを「終了目標タイミング」と呼ぶ。
マーカ2は、それぞれに予め設定されている「開始目標タイミング」から所定時間前に基準線1の直上に出現する。または、適当に基準線1からの距離を与えられて、基準線1から少し離れた位置に出現する。そして、マーカ2にはそれぞれ第1タイミングガイド4が添付表示され、この第1タイミングガイド4がタッチ操作するべきタイミングをガイドする。
本実施形態では、第1タイミングガイド4は、対応するマーカ2の出現とともにその外周部に表示される。図5の例では、第1タイミングガイド4は弧状体を4つ1セットとして構成されているが、その他のデザインでも良い。
マーカ2とともに出現したばかりの第1タイミングガイド4は、マーカ2の外縁と所定距離(例えば画面上5cm以内の距離)を有する程度に大きく、時間経過とともに徐々に縮小表示され、対応するマーカ2の開始目標タイミングでちょうどマーカ2の外縁と重なるように表示制御される。図5の例では、図中右のショットマーカ2Sに付された第1タイミングガイド4(4a)が出現時の位置関係を示している。第1タイミングガイド4は、そこから時間経過とともに中央のホールドマーカ2Hに付された第1タイミングガイド4(4b)の状態を経て、図中左のショットマーカ2Sに付された第1タイミングガイド4(4c)のようにマーカ2と重なった状態に変化する。そして、第1タイミングガイド4は、開始目標タイミングが経過すると消去される。
開始目標タイミングは、基本的にはゲームプレイ開始とともに放音制御される音楽のメロディラインなどのリズムに一致させてある。プレーヤは、次々に出現するマーカ2の位置から目に見えない基準線1を想像することで、次のマーカ2が出現する位置を予想しつつ、第1タイミングガイド4がマーカ2と重なるタイミングを見計らって指示操作してゲームプレイする。
各マーカ2には、プレーヤには見えない内部処理上の入力許容エリア8が別途設定されている。そして、タッチ操作された位置が見かけ上のマーカ2から若干外れても入力許容エリア8の範囲内であれば当該マーカへの入力が行われたもの見なされる。
本実施形態の入力許容エリア8は、マーカ2とおおむね同じ形状を有し、マーカ2の表示サイズよりも大きく、第1タイミングガイド4の初期表示サイズとほぼ同じ大きさに設定されている。なお、入力許容エリア8の形状や大きさは適宜変更可能である。また、形状や大きさは固定に限らず、ゲーム難易度(例えば、プレーヤがゲーム開始前に選択したり、プレーヤのプレイ履歴に応じて自動的に選択される)に応じて、難易度が上がるほど小さくなると言った具合に可変としてもよい。
[マーカの種類とハプティクスについて]
本実施形態では、要求操作時間及び入力評価の要素の違いに応じて、ショットマーカ2Sとホールドマーカ2Hとの2種類のマーカが表示される。ショットマーカ2Sは、要求操作時間がプレイする音楽における3拍未満に設定されたマーカである。ホールドマーカ2Hは、要求操作時間がプレイする音楽における3拍以上に設定されている。
図6は、ショットマーカ2Sへの指示操作と表示遷移、および触覚フィードバック(ハプティクス)の振動形態について説明するための図である。
ショットマーカ2Sは、単発的なタッチ操作を指示するワンショット指示マーカである。開始目標タイミング(ts)から終了目標タイミング(te)の時間、すなわち要求操作時間(tc)がプレイする音楽における“0拍以上3拍未満”に設定されており、開始目標タイミング(ts)から終了目標タイミング(te)の間、ゲーム画面に表示される。そして、ショットマーカ2Sについては、開始目標タイミング(ts)とタッチ操作の開始タイミングすなわちタッチ検出タイミング(t1)との時間差が入力評価の対象とされる。
ショットマーカ2Sへのタッチ操作が検出されると、タッチ検出タイミング(t1)から当該タッチ操作が解除されるまでの間、制御基板50はハプティクスユニット30の加振部35へショットマーカ2S用の駆動信号を出力する。本実施形態の加振部35は、スピーカと同じ原理で振動を発生させる振動トランスデューサを用いるので、駆動信号は周波数と音量の2成分を有する。駆動信号の周波数で振動の細かさを決め、音量で振動の強さを決めることができる。
ショットマーカ2S用の駆動信号は、所定周期で、加振部35で最大加振力VPmaxが得られる音量を有するように設定されている。つまり、ショットマーカ2S用の触覚フィードバック(ハプティクス)の振動形態は均一な振動である。ショットマーカ2Sにタッチするやいなやプレーヤの指先には、はっきりとした一定の強さで感じられる触覚フィードバックが実現されることになる。
なお、周波数は、20Hz〜40Hzの範囲とする。20Hz〜40Hzの周波数の範囲は、人が皮膚感覚として明瞭に振動を感じられる範囲といわれる80Hz以下であり、かつ、人の可聴域下限に近い周波数である。よって、触覚フィードバック用に発生された振動は、音楽ゲームの操作感として好ましい皮膚感覚をもたらしつつも、それでいて聴覚的にノイズとして認識され難い。
本実施形態の触覚フィードバック(ハプティクス)は、開始目標タイミング(ts)から終了目標タイミング(te)の期間で、タッチしている間だけ発生するように制御される。
図6では、タッチ検出タイミング(t1)が開始目標タイミング(ts)よりやや遅れ、タッチ解除タイミング(t9)が終了目標タイミング(te)に一致した例を示しているが、このケースでは制御基板50はタッチ検出タイミング(t1)から終了目標タイミング(te)の間駆動信号を出力する。仮に、タッチ検出タイミング(t1)が開始目標タイミング(ts)より早くとも、制御基板50は駆動信号を出力しない。また仮に、タッチ解除タイミング(t9)が終了目標タイミング(te)より後になっても、終了目標タイミング(te)の時点で加振部35への駆動信号の出力は打ち切られる。
図7は、ホールドマーカ2Hへの指示操作と表示遷移、および触覚フィードバック(ハプティクス)の振動形態について説明するための図である。
ホールドマーカ2Hは、継続的なタッチ操作を指示する継続指示マーカである。開始目標タイミング(ts)から終了目標タイミング(te)、すなわち要求操作時間(tc)がプレイする音楽における“3拍以上”に設定されており、開始目標タイミング(ts)から終了目標タイミング(te)の間、ゲーム画面に表示される。そして、ホールドマーカ2Hについては、タッチ操作を開始したタイミングとタッチ操作を解除したタイミングの2つのタイミングが入力評価の対象とされる。
ホールドマーカ2Hでは、表示開始から第1タイミングガイド4が表示され、ショットマーカ2Sと同様にして表示変化し、開始目標タイミング(ts)に達すると消える。その一方で、開始目標タイミング(ts)になるとホールドマーカ2Hに第2タイミングガイド5が添付表示される。本実施形態の第2タイミングガイド5は、表示色は異なるが第1タイミングガイド4と同様に表示遷移する表示体で、終了目標タイミング(te)のときに丁度当該マーカの外縁と重なる大きさとなるように徐々に円環が縮まるように表示変化する。そして、第2タイミングガイド5は、終了目標タイミング(te)に到ると、ホールドマーカ2Hともどもゲーム画面から消去される。
ホールドマーカ2Hについての触覚フィードバックも、ショットマーカ2Sの時と同様に開始目標タイミング(ts)から終了目標タイミング(te)の期間で、タッチしている間だけ発生するように制御される。図7の例では、ホールドマーカ2Hへのタッチ操作が検出されると、タッチ検出タイミング(t1)からタッチ解除タイミング(t9)までの間、制御基板50が駆動信号を出力し触覚フィードバック(ハプティクス)が実現されることになる。
ホールドマーカ2Hについての触覚フィードバックの振動形態は、曲に合わせた抑揚が生まれるように振動の強さの増減が含まれている。つまり、加振部35で発生される加振力に強弱が生じるように設定される。
図8及び図9は、ホールドマーカ2Hについての触覚フィードバック(ハプティクス)の振動形態の例を示す図である。
図8に示すように、ホールドマーカ2Hについての触覚フィードバック(ハプティクス)の振動形態は、先頭累減パート60(長破線で囲われた範囲)と、先頭累増パート62(網掛け表示された範囲)と、タッチ操作されたホールドマーカ2Hの要求操作時間(tc)の長さに応じた単数又は複数のループパート64(網掛け領域の右側の範囲)とを有する。
先頭累減パート60は、タッチ検出タイミング(t1)から所定期間Δt12の間の加振力の変化部であって、時間経過に応じて加振力が徐々に小さくなる所定の「先頭累減パート加振力算出関数Fhd(t)」によって定義される。
先頭累減パート加振力算出関数Fhd(t)は、最初の加振力は最大加振力VPmaxよりもやや小さく、所定期間Δt12が経過したタイミング(t2)における加振力が必須最小加振力VPmin(指で触覚フィードバックを感じられる最小の加振力)に至るように定義されている。その間の加振力の累減度合いは適宜設定可能であるが、本実施形態ではコサインカーブ状とする。勿論、それ以外でもよく、例えば指数関数状としてもよい。
単数又は複数のループパート64は、時間経過に逆行する範囲で規定すると、終了目標タイミング(te)から先頭累増パート62に至るまでの間の加振力の変化部であって、プレイする音楽における拍子やリズムに基づいて算出される所与の“基準ループ時間(trp)”を1単位として周期的に加振力を増減させる。
基準ループ時間(trp)は、プレイする音楽の拍子の整数倍、望ましくは2倍に相当する時間である。例えば、4/4拍子の音楽であれば4拍子の2倍の8拍とし、これに1分間当たりの拍数(BPM:Beat Per Minutes)を乗じて求める。3/4拍子の音楽であれば3拍子の2倍の6拍に、BPMから求められる1拍当たりの時間(sec.)を乗じて求める。
ループパート64は、タッチ操作されたホールドマーカ2Hの要求操作時間内いっぱいに設定される。図9(1)の例は、図8の例と同様にループパート64は1つであるが、仮にこの例よりも要求操作時間(tc)が基準ループ時間(trp)もう1つ分長ければ、ループパート64が終了目標タイミング(te)から前に2つ連続して設けられることになり、図9(3)の例のようになる。つまり、ループパート64は、ホールドマーカ2Hの要求操作時間(tc)に応じて1回以上繰り返されることになる。この返し回数を“ループ予定回数(Nr)”と呼ぶ。図9(1)の例ではループ予定回数(Nr)は「1」であるが、図9(3)では「2」となる。よって、最初のループパート64は、基準ループ時間(trp)にループ予定回数(Nr)を乗じた時間だけ終了目標タイミング(te)より前のタイミング(図8の例では、タイミング(t4))より開始され、最後のループパート64は終了目標タイミング(te)で終了するように設定される。
図8に戻って、1つのループパート64は、当該パートの先頭側に設けられる累減サブパート66とその後側に設けられる累増サブパート68とで構成される。
累減サブパート66は、当該ループパートの開始タイミングから所定の累減期間tdで加振力が徐々に小さくなる変化部である。この間の加振力は、累減サブパート加振力算出関数Fd(t)により定義される。
累減サブパート加振力算出関数Fd(t)は、当該サブパートの開始予定タイミング(図8の例ではタイミング(t4))で最大加振力VPmaxを通り、累減期間td後の当該サブパートの終了予定タイミング(図8の例ではタイミング(t6))で必須最小加振力VPminに至る関数とする。例えば、負の比例関数としてもよいし、指数関数としてもよい。
累増サブパート68は、累減サブパート66の終了予定タイミングを開始予定タイミング(図8の例ではタイミング(t6))とし、ループパート64の開始タイミング(図8の例ではタイミング(t4))から基準ループ時間(trp)経過後のタイミング(図8の例ではタイミング(t8))を終了予定タイミングとし、加振力が時間経過とともに徐々に大きくなる変化部である。累増サブパート加振力算出関数Fi(t)により定義される。
累増サブパート加振力算出関数Fi(t)は、開始予定タイミング(t6)で必須最小加振力VPminを通り、終了予定タイミング(t8)から所定時間Δ78だけ前のタイミング(t7)で最大加振力VPmaxに達し、そこから終了予定タイミング(t8)まで最大加振力VPmaxを維持する関数とする。加振力が累増する部分(t6→t7)は、例えば比例関数としてもよいし、指数関数としてもよい。
先頭累増パート62は、先頭累減パート60の終了予定タイミング(t2)から所定時間Δt23だけ前のタイミングを開始予定タイミング(t3)とし、1つ目のループパート64の開始予定タイミング(t4)を終了タイミングとして、加振力が時間経過とともに徐々に増加する変化部である。先頭累増パート加振力算出関数Fhi(t)により定義される。
先頭累増パート加振力算出関数Fhi(t)は、当該パートの開始予定タイミング(t3)にて必須最小加振力VPminを通り、当該パートの終了予定タイミング(t4)より所定時間Δt45だけ前のタイミング(t5)にて最大加振力VPmaxに達し、そこから終了予定タイミング(t4)まで最大加振力VPmaxを維持する関数とする。加振力が累増する部分(t3→t5)は、例えば比例関数としてもよいし、当該サブパートの開始予定タイミング(t3)で漸近線(必須最小加振力VPmin)まで所定値まで接近する指数関数としてもよい。
先頭累増パート62は、先頭累減パート60と1つ目のループパート64との間にあり、両者をつなぐパートとなる。先頭累減パート60がタッチ開始タイミング(t1)を基点に所定期間Δt12に設定され、ループパート64が終了目標タイミング(te)を基点に時間をさかのぼる方向に設定されるので、先頭累増パート62はそれらの残り期間を埋めるように設定される。換言すると、振動形態における加振力の増減タイミングを調整する周期調整期間としての役割を担う。結果的に開始予定タイミング(t3)と終了予定タイミング(t4)とが大きく変化しえる(ずれる可能性のある)パートとなる。
例えば、図9(1)と図9(2)の2つの例は、タッチ操作されたホールドマーカ2Hの要求操作時間(tc)の長さ違いであるが、基準ループ時間(trp)が同じケースである。前者の方が、後者よりも要求操作時間(tc)がり短いため、その分先頭累増パート62が、後者よりも短い期間となっている。
このように、ホールドマーカ2Hについての触覚フィードバック(ハプティクス)の振動形態は、タッチしている間に振動の強さが時間とともに増減する。そして、最後の振動が増加しきったタイミングがそのホールドマーカ2Hへのタッチ操作を解除するべきタイミングとなっている。また、そこに至るまでの単数又は複数のループパート64の周期的な加振力の増減は、基準ループ時間(trp)がプレイする音楽の拍子の整数倍となるように合わせてある。よって、ホールドマーカ2Hへのハプティクスは、音楽ゲームとして望ましいプレイ曲のリズム感に合致したフィーリングを提供することとなる。
また、所定時間Δt45及びΔt78の間は、最大加振力VPmaxがある程度維持されるので、プレーヤに最大加振力VPmaxに達したことを明確に感じさせる効果を生む。
しかも、本実施形態では、所定時間Δ78の長さを、ホールドマーカ2Hへのタッチ操作の終了タイミングの評価にて高評価が得られる判定期間(厳密には、当該ホールドマーカ2Hの終了予定タイミング(te)から前後に設けられる判定期間の前側の判定期間)に合わせてある。よって、プレーヤは最後のループパート64の触覚が最高潮に上がったタイミングでタッチ操作を解除すれば、少なくとも終了タイミングについては高評価が得られることになる。これもまた、音楽ゲームとして望ましいプレイ曲のリズム感に合致したフィーリングを提供することとなり、ゲームの興趣を高める。
図10は、同時に複数のマーカ2にタッチ操作している場合、すなわち同時操作時の触覚フィードバック(ハプティクス制御)について説明する図である。本実施形態では、同時操作時のハプティクス制御を「標準モード」と「特別モード」の2通り用意している。
図10(1)に示すように、「標準モード」では、同時にタッチ操作されているマーカ2(図10の例ではホールドマーカ2Hが2つ)それぞれに関連づけられている振動形態70a,70bの最大合成振動形態71でハプティクス制御を行う。すなわち、振動成分が重なることになる複数の振動形態の加振力のうち最大値を各時点において随時選出して加振力とする。なお、図10では、これらの振動形態の違いが明確になるように、意図して最大合成振動形態71を表す実線と僅かにずらして振動形態70a,70bを表す細破線を示している。
図10(2)に示すように、「特別モード」では、同時操作されている期間(図10中の長破線で挟まれた期間)は、同時操作が開始されたタイミングでその期間だけ適用される複数操作用の専用の振動形態を用いて振動制御する。専用の振動形態は、周波数及び振幅が可変な振動形態である。専用の振動形態を用いることで、単なる振動成分の重なりとして扱うのではなく、同時操作の期間を利用して積極的に演出効果を高める。その意味において、専用の振動形態は、複数の振動成分でハーモニーが形成されているかのような印象の振動形態とするのが望ましい。
これら2つのモードは、プレイする曲毎に特徴的な音楽部位(例えば、コーラスが入る部分、いわゆる“サビ”の部分、間奏部など)毎に分けて設定される。例えば、標準モードを基本として特徴的な音楽部位については特別モードとする、あるいはその逆とする。
[機能ブロックの説明]
図11は、本実施形態における遊戯装置10の機能構成例を示す機能ブロック図である。
本実施形態の遊戯装置10は、操作入力部100と、処理部200と、振動発生部340と、音出力部350と、画像表示部360と、通信部370と、記憶部500とを備える。
操作入力部100は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部200に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、CCDモジュール、などによって実現できる。図1のタッチパネル20がこれに該当する。
処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ASIC(特定用途向け集積回路)、ICメモリなどの電子部品によって実現され、操作入力部100や記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号や各種データに基づいて各種の演算処理を実行して遊戯装置10の動作を制御する。図1の例では制御基板50がこれに該当する。
本実施形態における処理部200は、ゲーム演算部201と、駆動信号生成部240と、音生成部250と、画像生成部260と、通信制御部270とを備える。
ゲーム演算部201は、ゲームの進行制御に係る各種処理を実行する。
例えば、
1)プレイする音楽(プレイ曲)をプレーヤに選択させる処理、
2)選択された音楽の再生処理、
3)マーカ2の表示処理、
4)マーカ2へのタッチ操作の検出処理、
5)触覚フィードバック(ハプティクス)に係る処理、
6)各マーカ2へのタッチ操作の入力判定処理、
7)入力判定の結果に応じた得点の付与処理、
8)その他、計時やフラグの管理などを行うことができる。
具体的には、本実施形態のゲーム演算部201は、音楽選択部202と、音楽出力制御部203と、表示制御部204と、タッチ位置検出部205と、タッチ対象マーカ判定部206と、振動制御部210と、入力評価部220と、得点付与部222と、を有する。
音楽選択部202は、プレーヤの選択操作に従ってプレイする音楽すなわちプレイ曲を選択する処理を行う。
音楽出力制御部203は、プレイする音楽(プレイ曲)の再生処理を実行する。
表示制御部204は、プレイする音楽の再生に合わせてマーカ2などの譜面表示に係る表示制御を行う。
タッチ位置検出部205は、操作入力部100から操作入力信号に基づいてタッチ操作された座標を、ゲーム画面の画像表示座標系で算出することができる。また、既に検出されているタッチ位置毎に時系列の変位を追跡することができる。図1の構成では、タッチパネルドライバIC54がこれに該当し、こうした機能は公知のタッチパネルによるタッチ位置の検出技術や、タッチ位置の追跡によるスライド操作の検出技術などを適宜利用することにより実現できる。
タッチ対象マーカ判定部206は、検出されたタッチ操作がゲーム画面に表示されているどのマーカ2に対応するかを判定する。換言すると、タッチ操作をマーカ2に割り当てる機能部である。
振動制御部210は、タッチ操作に応じた触覚フィードバックに係る制御、すなわちハプティクス制御を実行する。本実施形態では、第1振動制御部211と、第2振動制御部212と、単独操作時振動制御部213と、複数操作時振動制御部214と、を有する。
第1振動制御部211は、ワンショット指示マーカであるショットマーカ2Sに対応する振動形態を、振動の大きさを単発的に変化させるパターンとして振動制御を行う。図6で示したパターンのハプティクス制御がこれに該当する。なお、単発的なパターンとしては、例えば図8の先頭累減パート60のみのパターンとするなど、振動の大きさの変化が1回分(1周期分あるいは半周期分)とする他のパターンとしても勿論よい。
第2振動制御部212は、継続指示マーカであるホールドマーカ2Hに対応する振動形態を、振動の大きさを周期的に変化させるパターンとして振動制御を行う。具体的には、図8で示した各種振動パターン(先頭累減パート60、先頭累増パート62、単数または複数のループパート64)を選択あるいは各振動パターンにおける加振部35で発生させるべき加振力を算出するための加振力算出関数を作成する。そして、それぞれの開始予定タイミングから終了予定タイミングに基づいてその時々に割り当てられた振動パターンからそのタイミングにおける加振力を決定することで、タッチ検出タイミング(t1)からタッチ解除タイミング(t8)までの振動の大きさの変化、すなわち振動形態を定義する振動形態関数を決定する。そして、振動形態関数に基づいて振動の大きさ、加振部35で発生させるべき加振力を決定し制御する。
単独操作時振動制御部213は、タッチ対象マーカ判定部206により判定されたマーカが1つの場合に当該判定されたマーカに関連づけられている振動形態で振動制御を行う。
複数操作時振動制御部214は、タッチ対象マーカ判定部206により判定されたマーカが複数の場合に複数操作用の振動形態で振動制御を行う。例えば、図10(2)の特別モードによる振動制御がこれに該当する。つまり、マーカそれぞれに関連づけられている振動形態(図6で示した振動形態や、図7で示した振動形態)とは異なる振動形態を前記複数操作用の振動形態として振動制御を行うことができる。
そして、本実施形態の複数操作時振動制御部214は、合成部215と、マーカ選択部217とを有する。
合成部215は、同時操作されている複数のマーカそれぞれに関連づけられている振動形態を合成して複数操作用の振動形態を生成する。更には、割合変更部216を有しており、複数操作用の振動形態を生成する際に、同時操作されている複数のマーカそれぞれに関連づけられている振動形態の合成割合を変更することもできる。
マーカ選択部217は、同時操作されている複数のマーカのうち、所与の選択条件に基づいてマーカを選択する。複数操作時振動制御部214は、マーカ選択部217により選択されたマーカに関連づけられている振動形態に基づく振動形態を複数操作用の振動形態として振動制御を行う。
ここで言う、選択条件としては、マーカの種類や、同時押しされているマーカの数、タッチ検出タイミングの順番、などを適宜設定することができる。
例えば、マーカの種類を選択条件とするならば、マーカの種類に応じて定められた優先順位に基づいて同時操作されている複数のマーカの中から優先順位上位から所与の数のマーカを選択するとしてもよい。タッチ検出タイミングを選択条件とするならば、同時操作されている複数のマーカの中から、タッチ検出タイミングの昇順あるいは降順に所与の数のマーカを選択するとしてもよい。
そして、選択条件は、プレイ曲として選択可能な音楽別に設定され、更にプレイ曲の現在再生されている音楽部分の区分に応じて異なる条件を設定するとしてもよい。この場合、同時押しが発生した状況を利用して、音楽部分に応じた様々なタイプの演出を実現できる。
入力評価部220は、タッチ対象マーカ判定部206によりマーカ2と対応づけられたタッチ操作のタッチ検出タイミング(t1)やタッチ解除タイミング(t8)に基づいてマーカへの指示操作入力の善し悪しを評価する。
得点付与部222は、入力評価部220による評価結果に基づいて得点を付与する。
駆動信号生成部240は、振動発生部340に触覚フィードバック用に振動を発生させるための駆動信号を生成する。本実施形態では、振動された透明板32aからノイズが生じないように20Hz〜40Hzの範囲内の周波数の正弦波を、振動制御部210で決定された加振力が生み出される振幅に加工して出力する。この加工はいわゆるAM変調に当たる。図1の例では、駆動信号生成IC56がこれに該当する。
振動発生部340は、駆動信号に従って定常的な振動を発生させる素子や装置である。振動の発生方法は特には問わない。偏心加重を回転させる方式や、共振現象や圧電現象を利用する方式など適宜利用可能である。図3や図4の加振部35がこれに該当する。
音生成部250は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイル再生可能なオーディオコーデック等によって実現され、ゲーム進行に応じて効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。図1の例では音声合成IC55がこれに該当する。
音出力部350は、音生成部250から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図1の左スピーカユニット17L,右スピーカユニット17Rやウーハー26がこれに該当する。
画像生成部260は、例えば、GPU、デジタルシグナルプロセッサ(DSP)などのプロセッサ、ビデオ信号IC、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ICメモリ等によって実現される。画像生成部260は、ゲーム進行に応じて1フレーム時間(例えば1/60秒)で1枚のゲーム画面の画像を生成し、生成したゲーム画面の画像信号を画像表示部360に出力する。
画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。本実施形態では、図1のタッチパネル20、図2の表示装置21がこれに該当する。
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置とのデータのやりとりを実現する。通信部370は、通信回線と接続して通信を実現する機器、例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。図1の通信モジュール58がこれに該当する。
記憶部500は、処理部200に遊戯装置10を統合的に制御させるための諸機能を実現するためのシステムプログラムや、遊戯の実行すなわちゲームプレイに必要なプログラム、各種データ等を記憶する。また、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVDなどの光学ディスク、通信回線を介して接続される外部記憶装置などによって実現される。図1の制御基板50が搭載するICメモリ52がこれに該当する。
記憶部500は、システムプログラム501と、ゲームプログラム502とを記憶している。システムプログラム501は、遊戯装置10のコンピュータとしての入出力の基本機能を実現するためのプログラムである。ゲームプログラム502は、処理部200が読み出して実行することによってゲーム演算部201としての機能を実現させるためのアプリケーションソフトウェアである。システムプログラム501の一部として組み込まれた構成でも良い。
もし、本実施形態のゲームをオンラインゲームの形態で実現するならば、ゲームプログラム502は、オンラインゲームを実現する技術手法に応じて専用のクライアントプログラムとしてもよいし、ウェブブラウザプログラム及びインタラクティブな画像表示を実現するプラグインなどにより構成するとしてもよい。すなわち、ゲーム演算部201の機能の一部または全部をオンラインゲームサーバーにて実現する構成とすることとし、遊戯装置10はゲームプレイの対価の支払いのための機能を備えたオンラインゲームのプレーヤ端末として機能させることも可能である。
また、記憶部500には、ゲームプレイ可能な音楽毎に用意された複数のプレイ曲候補データ510が予め記憶されている。勿論、これらは定期的に更新されるとしても良い。また、記憶部500は、ゲームプレイに伴ってゲームの進行状況を記述する各種データをプレイデータ550として記憶する。その他、各種フラグ、経過時間のカウンタ、などの情報も適宜記憶することができる。
図12は、プレイ曲候補データ510のデータ構成の一例を示す図である。
プレイ曲候補データ510は、ゲームプレイ可能な音楽毎に用意され、当該音楽をプレイするために必要な定義データを格納する。1つのプレイ曲候補データ510は、例えば、プレイ時に再生される音楽の識別情報である音楽ID511と、音楽を再生するための音楽データ512と、音楽のテンポの速さを示すBPM513と、音楽の拍子514と、基準線設定データ515と、譜面データ520と、モード設定データ530と、第1特別モード用振動形態設定データ540と、第2特別モード用振動形態設定データ546と、を含む。勿論、当該プレイ曲に関するその他の情報も適宜対応づけて格納することもできる。
基準線設定データ515は、基準線1(図5参照)を定義する。例えば、基準線を表す基準線関数を格納する。基準線関数の定義の仕方は適宜可能であるが、例えば、(1)画面座標系の始点座標及び終点座標と、(2)始点座標と終点座標の間を結ぶ直線や曲線、屈曲線などを定義する関数と、で定義される。
譜面データ520は、当該音楽の再生に合わせて表示するマーカに関する各種データを格納する。例えば、表示開始タイミング521と対応づけて、表示するマーカのマーカ種類522と、要求操作時間(tc)523と、開始目標タイミング(ts)524と、終了目標タイミング(te)525とを対応づけて格納する。勿論、これら以外の情報も適宜格納することができる。
表示開始タイミング521は、マーカ2を表示開始するタイミングを定義する。例えば、音楽再生開始から計時される経過時間、あるいはゲーム画面の表示開始から積算されるフレーム数などで定義される。
マーカ種類522は、本実施形態ではショットマーカ2S、ホールドマーカ2Hの2種の何れかを格納する。勿論、これら以外のマーカ種類をゲームに登場させる場合には、それらも適宜設定することができる。
要求操作時間(tc)523は、当該マーカに対するタッチ操作を維持する時間を定義する。本実施形態では拍子514に基づく「拍数」が格納される。勿論、拍数とBPM513とから求められる秒数などでもよい。
開始目標タイミング(ts)524は、当該マーカへのタッチ操作を開始する目標タイミングを定義する。例えば、音楽再生開始から計時される経過時間、あるいはゲーム画面の表示開始から積算されるフレーム数などで定義される。入力評価の基準値の1つである。
終了目標タイミング(te)525は、当該マーカへのタッチ操作を終了する目標タイミングを定義する。例えば、音楽再生開始から計時される経過時間、あるいはゲーム画面の表示開始から積算されるフレーム数などで定義される。入力評価の基準値の1つである。なお、ショットマーカ2Sについては、本実施形態では終了目標タイミング(te)525の設定は無いので、“設定無し”を意味する値(例えば、NULL)が設定される。
なお、マーカ2の表示開始を、当該マーカ2の開始目標タイミング(ts)524から逆算して決定する構成とする場合には、表示開始タイミング521を省略することができる。
モード設定データ530は、同時操作時の触覚フィードバックの制御モードの設定情報を格納する。例えば、当該プレイ曲候補の音楽再生範囲531と対応づけて制御モード532と、マーカ種別優先順位534とを格納する。
音楽再生範囲531は、当該プレイ曲候補データ510の音楽データ512を複数の音楽部分に区分けする。例えば、プレイ開始からの経過時間等で区分けを定義する。
制御モード532は、対応する音楽部分において複数のマーカが同時にタッチ操作されたときに適用される制御モードの種類を定義する。本実施形態では、標準モードと、第1特別モードと、第2特別モードとの何れかが設定される。
マーカ種別優先順位534は、振動制御におけるマーカ種類別の優先順位を定義する。
第1特別モード用振動形態設定データ540は、第1特別モードで触覚フィードバックの制御を実行する際に、専用の振動形態を決定するために必要な情報を格納する。例えば図13に示すように、同時操作されているマーカ種類の組み合わせ541毎に、振動波形データ542を格納する。マーカ種類の組み合わせ541は、想定されるマーカ種類の組み合わせを適宜設定することができる。本実施形態では、第1特別モードは、2つのマーカが同時操作されている場合に適用されるので、ショットマーカ2Sとホールドマーカ2Hとの3通りの組み合わせが用意されている。振動波形データ542は、加振部35で発生させる振動の周波数と振幅を定義する波形データである。
第2特別モード用振動形態設定データ546は、第2特別モードで触覚フィードバックの制御を実行する際に、専用の振動形態を合成するために必要な素材となる情報を格納する。例えば図14に示すように、素材となるマーカ種類547と対応づけて、素材波形データ548を格納する。素材波形データ548は、加振部35で発生させる振動の周波数と振幅を定義する波形データである。
図15は、プレイデータ550のデータ構成例を示す図である。
プレイデータ550は、ゲーム進行状況を記述する各種データを格納する。例えば、プレイ音楽ID551と、フレーム数552と、経過時間553と、得点554と、タッチ操作データ560と、マーカ管理データ570と、ハプティクス管理データ580とを格納する。勿論、ゲーム内容等に応じて適宜これら以外のパラメータ値も格納することができる。
プレイ音楽ID551は、ゲームプレイする音楽の音楽ID511(図11)を格納する。
フレーム数552および経過時間553は、それぞれゲーム開始からカウントされるゲーム画面の描画フレーム数であり、ゲーム開始から計時された時間である。マーカ2の表示開始タイミング521など各種タイミングを記述・判定するための基準となるパラメータ値である。
得点554は、各マーカ2へ対応づけられた(割り当てられた)タッチ操作の入力評価結果の都度付与される点数の積算値である。ゲーム開始時の初期値は勿論「0」である。
タッチ操作データ560は、タッチ操作が検出される都度作成される。入力評価の結果に応じて得点が付与されると抹消される。1つのタッチ操作データ560は、自動付与される固有のタッチID561と、タッチ検出タイミング(t1)562と、タッチ位置座標563と、割当先マーカID564と、タッチ解除タイミング(t9)565とを含む。勿論これら以外にも含めることができる。
タッチ検出タイミング562には、新たなタッチ操作の開始が検出された時のフレーム数552または経過時間553が格納される。図6〜図8のタイミング(t1)がこれに該当する。
タッチ位置座標563には、新たなタッチ操作の開始が検出された時のタッチパネル20の座標系の座標(=画面座標系の座標)が格納される。
割当先マーカID564は、当該タッチ操作が対応づけられたマーカの識別情報が格納される。マーカの識別情報は、マーカ管理データ570で画面表示されているマーカ2へ自動付与される固有の識別情報と対応する。
タッチ解除タイミング565は、当該タッチ操作が解除された時のフレーム数552または経過時間553が格納される。図6〜図7のタイミング(t9)がこれに該当する。
図16は、マーカ管理データ570のデータ構成例を示す図である。
マーカ管理データ570は、ゲーム画面に表示されている各マーカ2の状態を記述する各種データと、各マーカ2へのタッチ操作の対応関係(割り当ての結果)とが、新たなマーカ2がゲーム画面に表示される都度登録される。
具体的には、表示タイミング571と、マーカID572と、マーカ種類573と、表示座標574と、第1タイミングガイド制御データ575と、第2タイミングガイド制御データ576と、割当タッチID577と、を対応づけて格納する。勿論、これら以外のパラメータ値もマーカ別に対応づけて格納することができる。
表示タイミング571には、マーカ2が表示された時点のフレーム数552または経過時間553が格納される。
マーカID572には、新たなマーカ2が表示される都度、当該マーカ固有の識別情報が自動生成され格納される。
マーカ種類573には、表示されるマーカのマーカ種類522(図11)が格納される。
表示座標574には、マーカ2が表示されたゲーム画面の座標系座標値が格納される。
第1タイミングガイド制御データ575および第2タイミングガイド制御データ576は、それぞれ当該マーカの第1タイミングガイド4および第2タイミングガイド5(図5)を制御するためのデータである。当該マーカの表示開始から逐次更新される。本実施形態では、いずれのタイミングガイドも円環状のデザインなので、その円環の半径を格納する。初期値は初期外径R0が格納され、表示遷移とともに最新の半径が格納される。図中の半径Rs2がこれに該当する。表示開始タイミング(ts)に達すると、マーカ外形Rmとなる。
割当タッチID577は、当該マーカに対応付けされ割り当てられたタッチ操作のタッチID561(図12)が格納される。初期状態は、“未定”を意味する所定値が設定される。
図15に戻って、ハプティクス管理データ580は、振動フィードバックを実行するための各種情報を格納する。例えば、ハプティクス制御の対象とされるマーカのマーカID572を格納するハプティクス対象マーカIDリスト581と、総合加振力582と、ハプティクス制御の対象とされるマーカ別に生成されるマーカ別振動形態データ600と、合成割合リスト652と、合成振動波形データ654とを含む。勿論、これら以外にも含めることができる。
ハプティクス対象マーカIDリスト581は、初期状態は登録無しとされ、画面表示されているマーカ2にタッチ操作が割り当てられると当該マーカのマーカID572が追加登録される。
総合加振力582は、その瞬間に振動発生部340で発生させる加振力の強さを示す。同時に複数のマーカ2についてハプティクス制御が行われる場合には、マーカ別のその瞬間の加振力が合算、または大きい方の加振力が選択されることになる。
マーカ別振動形態データ600は、そのマーカの振動形態を作成するためのパラメータ値や振動形態の元になる各種加振パターンを定義するデータを格納する。
例えば、図17に示すように、1つのマーカ別振動形態データ600は、
割当マーカID601と、
基準ループ時間(trp)602と、
ループ予定回数(Nr)603と、
先頭累減パート開始予定タイミング(t1)611と、
先頭累減パート終了予定タイミング(t2)612と、
先頭累増パート開始予定タイミング(t3)613と、
先頭累増パート終了予定タイミング(t4)614と、
先頭累増パート最大加振力到達目標タイミング(t5)615と、
累増サブパート開始予定タイミング(t6)616と、
累増サブパート最大加振力到達目標タイミング(t7)617と、
累増サブパート終了予定タイミング(t8)618と、
終了目標タイミング(te)619と、を格納する。
また、先頭累減パート加振力算出関数Fhd(t)620と、
先頭累増パート加振力算出関数Fhi(t)622と、
累減サブパート加振力算出関数Fd(t)624と、
累増サブパート加振力算出関数Fi(t)626と、
振動形態関数630と、を含む。
割当マーカID601は、当該マーカ別振動形態データが適用されるマーカIDを格納する。
振動形態関数630は、割当マーカID601のマーカ2に対応する振動形態すなわち、プレイ曲の再生開始からの経過時間(または経過フレーム数)を変数としてその時々の振動の強さ、加振力を定義する関数である。
具体的には、振動形態関数630は、
1)先頭累減パート開始予定タイミング(t1)611〜先頭累増パート開始予定タイミング(t3)613における先頭累減パート加振力算出関数Fhd(t)620と、
2)先頭累増パート開始予定タイミング(t3)613〜先頭累減パート終了予定タイミング(t2)612における先頭累減パート加振力算出関数Fhd(t)620と先頭累増パート加振力算出関数Fhi(t)622のうち、算出される加振力が大きい方と、
3)先頭累減パート終了予定タイミング(t2)612〜先頭累増パート終了予定タイミング(t4)614の先頭累増パート加振力算出関数Fhi(t)622と、
4)ループ予定回数(Nr)603だけの累減サブパート加振力算出関数Fd(t)624および累増サブパート加振力算出関数Fi(t)626のセットの繰り返しと、によって合成される。つまり、ハプティクス対象とされるマーカ2についてのその瞬間瞬間の加振力は、振動形態関数630により決定できる。
図15に戻って、合成割合リスト652及び合成振動波形データ654は、特別モードによる触覚フィードバック(ハプティクス制御)で使用されるデータである。
合成割合リスト652は、専用の振動形態を合成する際に素材となった振動波形データ別の合成割合を格納する。合成振動波形データ654は、合成時同時操作マーカIDリスト656とともに合成された結果の振動波形データを格納する。合成時同時操作マーカIDリスト656は、合成振動波形データ654を生成したときに同時操作されていたマーカのマーカID572(図16)のリストである。
[動作の説明]
次に、本実施形態における遊戯装置10の動作について説明する。
図18〜図19は、遊戯装置10におけるハプティクス制御を含むゲーム(遊戯)の実行に係る処理の流れについて説明するためのフローチャートである。当該フローチャートの一連の処理の流れは、処理部200がシステムプログラム501を実行した状態で、ゲームプログラム502を実行することにより実現される。
遊戯装置10の処理部200は、先ずプレイ曲の選択処理を実行する(ステップS2)。例えば、プレイ曲候補データ510(図12)から音楽ID511を読み出して、タッチパネル20で曲別にリスト表示し、リストへのタッチ操作に応じてプレイする曲を決定する。選曲の結果は、プレイデータ550のプレイ音楽ID551(図15)に格納される。
次に、処理部200はゲームを開始する(ステップS4)。
例えば、先に選曲されたプレイ曲の音楽データ512の再生処理を開始し、左スピーカユニット17L、右スピーカユニット17Rおよびウーハー26から放音させる。また、タッチパネル20にマーカ2を表示/消去させる制御を開始し、新たにマーカ2を表示する毎にマーカ管理データ570(図16)に当該マーカを登録し、第1タイミングガイド4や第2タイミングガイド5の表示遷移の制御を開始する。また、音楽の再生開始とともに、フレーム数552のカウントならびにプレイ開始時間からの経過時間553の計時を開始する(図15)。そして、ゲームが開始されると、処理部200は所定の制御サイクルで、ゲームが終了するまでステップS10〜S202(図19)を繰り返す。
タッチパネル20への新たな接触すなわちタッチ操作が検出されると(ステップS10のYES)、処理部200は新たにタッチ操作データ560(図15)を生成する(ステップS12)。
次いで、処理部200は、タッチ操作対象マーカの判定処理を実行し、当該新たに検出されたタッチ操作が画面に表示されているどのマーカ2に対して行われたかを判定する(ステップS14)。つまり、タッチ操作とマーカとの対応づけ、マーカへの割り当てを決定する。対応づけされたマーカ2のマーカ管理データ570(図16)の割当タッチID577には、新たに生成されたタッチ操作データ560のタッチID561が設定され、当該タッチ操作データ560(図15)の割当先マーカID564に、対応づけられたマーカのマーカID572が設定される。
次いで、処理部200は、新たに対応づけされたマーカ2のマーカID572を、ハプティクス対象マーカIDリスト581(図15)に追加登録する(ステップS16)。そして、当該マーカがホールドマーカ2Hであれば(ステップS18のYES)更に振動形態関数生成処理を実行する(ステップS20)。
図20は、振動形態関数生成処理の流れを説明するためのフローチャートである。
同処理において、処理部200は先ず、新たにマーカ別振動形態データ600(図17)を生成し初期化する(ステップS40)。具体的には、割当マーカID601には、今回新たにタッチ操作と対応づけされたマーカのマーカID572を格納する。それ以外のパラメータ値については未定とする。
次に、処理部200は、マーカ別振動形態データ600に、所定の先頭累減パート加振力算出関数Fhd(t)620を設定する(ステップS42)。そして、基準ループ時間(trp)602を決定し(ステップS44)、ループ予定回数(Nr)603を算出する(ステップS46)。そして、処理部200は加振力算出関数決定処理を実行する(ステップS48)。
図21は、加振力算出関数決定処理の流れを説明するためのフローチャートである。
同処理において、処理部200は先ず、先頭累減パート開始タイミング(t1)611に、ステップS10で新たに検出されたタッチ操作のタッチ検出タイミング(t1)562を複製して設定する(ステップS60)。
次に、先頭累減パート開始予定タイミング(t1)に所定時間Δt12を加算して、先頭累減パート終了予定タイミング(t2)612を算出し(ステップS62)、更にこの先頭累減パート終了予定タイミング(t2)から所定時間Δt23だけ前のタイミングすなわち先頭累増パート開始予定タイミング(t3)613を算出する(ステップS64)。
次に、処理部200は、譜面データ520(図12)を参照して、ステップS14でタッチ操作と対応づけされたマーカ2の終了目標タイミング(te)525を読み出して、マーカ別振動形態データ600の終了目標タイミング(te)619に複製し設定する(ステップS66)。
次に、処理部200は、終了目標タイミング(te)から、基準ループ時間(trp)にループ予定回数(Nr)乗じた時間だけ前のタイミングを算出して、先頭累増パート終了予定タイミング(t4)614を決定する(ステップS68)。そして、先頭累増パート終了予定タイミング(t4)から所定時間Δt45だけ前のタイミングを算出して、先頭累増パート最大加振力目標到達タイミング(t5)615を決定する(ステップS70)。
次に、処理部200は、先頭累増パート終了予定タイミング(t4)に所定の累減期間tdを加算して、累減サブパート66の終了予定タイミングも兼ねる累増サブパート開始予定タイミング(t6)616を決定する(ステップS72)。次いで、累増サブパート開始予定タイミング(t6)に所定の累減期間tiを加算して累減サブパート最大加振力到達目標タイミング(t7)617を決定する(ステップS74)。そして、終了目標タイミング(te)から、1回少ないループ予定回数(Nr)を基準ループ時間(trp)に乗じた値を減算して、増減サブパート終了予定タイミング(t8)618を決定する(ステップS76)。
次に、処理部200は、先頭累増パート加振力算出関数Fhi(t)622、累減サブパート加振力算出関数Fd(t)624、累増サブパート加振力算出関数Fi(t)626を順次算出し(ステップS80〜S84)、加振力算出関数決定処理を終了する。
図20のフローチャートに戻って、処理部200は振動形態関数630を決定する(ステップS100)。具体的には、1)先頭累減パート開始タイミング(t1)〜先頭累増パート開始予定タイミング(t3)の先頭累減パート加振力算出関数Fhd(t)620と;2)先頭累増パート開始予定タイミング(t3)〜先頭累減パート終了予定タイミング(t2)における先頭累減パート加振力算出関数Fhd(t)620と先頭累増パート加振力算出関数Fhi(t)622のうち、算出される加振力が大きい方と;3)先頭累減パート終了予定タイミング(t2)〜先頭累増パート終了予定タイミング(t4の先頭累増パート加振力算出関数Fhi(t)622と;4)ループ予定回数(Nr)だけの累減サブパート加振力算出関数Fd(t)624および累増サブパート加振力算出関数Fi(t)626のセットの繰り返しと;を順次つなげて合成する。すなわち、タッチ検出タイミング(t1)〜終了目標タイミング(te)の範囲で、その時々のタイミングに対応する加振力算出関数により算出される加振力の値のうち最大値が得られる関数を求める。そして、振動形態関数生成処理を終了する。
図18のフローチャートに戻って、処理部200は、タッチ操作の解除を検出すると(ステップS100のYES)、タッチ解除が検出されたマーカ2をハプティクス対象マーカIDリスト581(図15)から登録抹消し(ステップS102)、当該マーカのマーカ別振動形態データ600を抹消する(ステップS104)。
図19のフローチャートに移って、処理部200は、複数のマーカ2が同時操作されているか判定する(ステップS110)。
もし、同時操作されていなければ(ステップS110のNO)、処理部200は標準モード対応振動制御処理を実行する(ステップS112)。
もし、同時操作中と判定されれば(ステップS110のYES)、処理部200はプレイ曲が特徴的な音楽部分の再生中にあるかを判定して、特別モードに対応した振動制御を実行するべきか判定する(ステップS114)。具体的には、経過時間553(図15)とモード設定データ530(図12)を照合して、該当する音楽再生範囲531を特定する。そして、特定した範囲に対応する制御モード532が標準モードであれば(ステップS114のNO)、やはり処理部200は標準モード対応振動制御処理を実行する(ステップS112)。しかし、特定した範囲に対応するのが第1特別モードまたは第2特別モードであれば(ステップS114のYES)、特別モード対応振動制御処理を実行する(ステップS116)。
図22は、標準モード対応振動制御処理の流れを説明するためのフローチャートである。
同処理において、処理部200は、今回の制御サイクルにおいて発生させるべき振動の強さを決定するために、先ず総合加振力582(図15)を「0」に初期化する(ステップS120)。
次いで、処理部200は、ハプティクス対象マーカIDリスト581に登録されているショットマーカ2Sごとに個別の加振力を算出する(ステップS122)。本実施形態では、ショットマーカ2Sについてのハプティクス制御は、加振力を最大加振力VPmaxの一定に保った連続加振とするので、実質的には最大加振力VPmaxとなる。勿論、ショットマーカ2Sについてのハプティクス制御も、ホールドマーカ2Hについてのハプティクス制御と同様に加振力を時間経過に応じて可変する構成も可能であり、その場合は、予め定めたショットマーカ2S用の振動形態関数に基づいて個別の加振力を算出するものとする。
次に、処理部200は、ハプティクス対象マーカIDリスト581に登録されているホールドマーカ2Hごとに、それぞれの振動形態関数630から当該制御サイクルにおける個別の加振力を算出する(ステップS124)。そして、ステップS122とステップS124で算出された個別の加振力を合算して総合加振力582を更新する(ステップS126)。或いは、ステップS122とステップS124で算出された個別の加振力のうち最も大きい値を選択して総合加振力582としてもよい。
これで、今回の制御サイクルにおいて発生させるべき振動の強さを決定したことになる。よって、次に処理部200は、総合加振力582の値に応じた振動の強さが得られるように、所定周波数(本実施形態では20Hz〜40Hzの範囲の固定周波数)の駆動信号を生成して加振部35(図3)へ出力する(ステップS128)。これで、タッチパネル20にて触覚フィードバック(ハプティクス)が実現される。
図23は、特別モード対応振動制御処理の流れを説明するためのフローチャートである。
同処理において、処理部200は先ず、適用される特別モードの種類を判定する(ステップS142)。
第1特別モードが適用されるのであれば(ステップS142の「第1特別モード」)、処理部200は、第1特別モード用振動形態設定データ540(図13)を参照し、タッチされているマーカ種類の組み合わせに対応した振動波形データ542を選択する(ステップS144)。そして、選択した振動波形データ542に基づいて駆動信号を出力し(ステップS146)、特別モード対応振動制御処理を終了する。
もし、適用されるのが第2特別モードで(ステップS142の「第2特別モード」)、かつ、現在タッチ操作されているマーカの数が「3」未満であれば(ステップS160の「3」未満)、処理部200は、現在同時操作されているマーカのマーカID572の組み合わせに一致する合成時同時操作マーカIDリスト656を有する合成振動波形データ654の有無を確認する(ステップS162)。なお、ステップS160での判定基準とするマーカの数は「3」以外の「4」や「5」といった3以上の数としてもよい。
当該時点において合成振動波形データ654が生成されていない場合や、前回、合成振動波形データ654が生成された時と同時操作されているマーカの組み合わせが変わっている場合には否定判定されるので(ステップS162のNO)、処理部200は、合成振動波形データ654を新たに生成する(ステップS164〜S168)。
具体的には、処理部200は、第2特別モード用振動形態設定データ546(図14)を参照して、現在タッチ操作されているマーカ毎に、マーカ種類547に対応する素材波形データ548を選出する(ステップS164)。そして、選出された素材波形データ548毎に、タッチ検出タイミング562(図15)が新しいほど高割合となるように合成割合を設定する(ステップS166)。あるいは、マーカの開始目標タイミング524が現在に近いほど高割合となるように合成割合を設定するとしてもよい。
次いで、処理部200は、この合成割合に従って選出された素材波形データ548を合成して合成振動波形データ654を生成する(ステップS168)。この際、合成時同時操作マーカIDリスト656には、現在タッチ操作されているマーカのマーカID572を格納する。
勿論、現在同時操作されているマーカのマーカID572の組み合わせに一致する合成時同時操作マーカIDリスト656を有する合成振動波形データ654が既に生成されていれば、ステップS164〜S168はスキップする。
そして、処理部200は、合成振動波形データ654に基づいて駆動信号を出力し(ステップS170)、特別モード対応振動制御処理を終了する。
もし、現在タッチ操作されているマーカの数が「3」以上であれば(ステップS160の「3」以上)、図24のフローチャートに移って、処理部200は、現在同時操作されているマーカのマーカID572の組み合わせに一致する合成時同時操作マーカIDリスト656を有する合成振動波形データ654の有無を確認する(ステップS180)。
そして、もし該当するデータがなければ(ステップS180のNO)、処理部200は、合成振動波形データ654を新たに生成する(ステップS182〜S190)。
具体的には、処理部200は、現在同時操作されているマーカ毎に、タッチ検出タイミング562(図15)が新しいマーカほど高くなるように制御優先順位を設定する(ステップS182)。あるいは、マーカの開始目標タイミング524が現在に近いほど高くなるように制御優先順位を設定するとしてもよい。
次いで、処理部200は、マーカ種別優先順位534に基づいて制御優先順位を補正する(ステップS184)。具体的には、マーカ種別優先順位534が上位ほど、制御優先順位を高める。どのマーカ種類をどれだけ高めるかは、プレイする曲に応じて設定するとしてもよい。
次いで、処理部200は、第2特別モード用振動形態設定データ546(図14)を参照して、補正された制御優先順位の上位3つのマーカの素材波形データ548を選出する(ステップS186)。
そして、選出された素材波形データ548毎に、制御優先順位が高いほど割合が高くなるように合成割合を決定し(ステップS188)、この合成割合に従って選出された素材波形データ548を合成して合成振動波形データ654を生成する(ステップS190)。この際、合成時同時操作マーカIDリスト656には、ステップS186で選出された3つのマーカのマーカID572を格納する。
勿論、現在同時操作されているマーカのマーカID572の組み合わせに一致する合成時同時操作マーカIDリスト656を有する合成振動波形データ654が既に生成されていれば、ステップS182〜S190はスキップする。
そして、処理部200は、合成振動波形データ654の振幅を所定割合増幅するように補正して(ステップS192)、補正後の合成振動波形データ654に基づいて駆動信号を出力し(ステップS194)、特別モード対応振動制御処理を終了する。
標準モード対応振動制御処理または特別モード対応振動制御処理を実行したならば、次に、処理部200は入力評価処理を実行して、タッチ操作のタイミングの善し悪しを評価し(ステップS196)、その評価結果に応じた点数を得点554(図15)に加算する(ステップS198)。そして、タッチ解除されたタッチ操作データ560を抹消する(ステップS200)。
次に、処理部200はゲーム終了条件を満たしているか判定する(ステップS202)。
ゲーム終了条件は適宜設定可能であるが、本実施形態ではプレイ曲の再生が終了すると肯定判定する。
もし、ゲーム終了条件を満たしていなければ(ステップS202のNO)、ステップS10に戻り次の制御サイクルに移る。
もし、ゲーム終了条件を満たしていれば(ステップS202のYES)、ゲーム終了をつげる演出を表示させるなどのゲーム終了処理を実行して(ステップS204)、一連の処理を終える。
以上、本実施形態によれば、タッチ操作したときにタッチパネルの平坦面に触れただけの感触とは異なる操作感を与えることができる新たな興趣を創出した遊戯装置10を実現することができる。
また、比較的タッチしている時間が短いショットマーカ2Sについては、強く一定の振動でタッチパネル20を振動させることができるので、切れが良く爽快感のある触覚フィードバックをプレーヤに与えることができる。また、比較的タッチしている時間が長くなるホールドマーカ2Hについては、振動のピークがそのマーカへのタッチ操作の終了目標タイミングに合致し、かつ、プレイ曲の拍子と同期するようにさせることができる。ホールドマーカ2Hをタッチするべき時間が長ければ長いほど、振動の大きさの増減はプレイ曲の拍子と同期する波状感覚として指先から伝わる。よって、プレイ曲と共鳴しているような心地よい触覚フィードバックをプレーヤに与えることができる。
こうした、プレーヤがタッチしたマーカの種類に応じて異なる態様でタッチパネル20を振動させることにより、触覚フィードバックは実に多くの多様性をもつことになり、ゲームの興趣をひときわ高める効果を生む。
また、複数のマーカ2が同時に操作される状況に、複数操作用の専用の振動形態で振動制御を行うことができるので、同時操作のシチュエーションを積極的にゲームの興趣を高める演出要素とすることができる。
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明の適用形態はこれに限定されるものではなく、適宜構成要素の追加・省略・変更を施すことができる。
[その1]
例えば、上記実施形態では遊戯の例としてビデオゲームの音楽ゲームを挙げたが、その他のジャンルのゲームとすることができる。更には、遊戯のカテゴリーはビデオゲームに限らず、パチンコやパチスロ、スロットマシーン、メダルゲーム、カラオケなどとすることもできる。
[その2]
また、上記実施形態に、タッチパネル20を触れている位置(タッチ位置)に応じて振動形態を選択する構成を追加することができる。
具体的には、第1特別モード用振動形態設定データ540(図13)及び/又は第2特別モード用振動形態設定データ546(図14)において、タッチパネル20の領域別(例えば、右半分と左半分の別、その他の組み合わせも可)に振動波形データ542や素材波形データ548を設ける。そして、振動波形データ542を選出する際や、素材波形データ548を選出する際には、選出対象のマーカのタッチ位置座標563(図15)に基づいてどの領域に該当するかを判定し、該当する領域に対応する振動波形データ542や素材波形データ548を選択すればよい。
より具体的には、第1特別モード用振動形態設定データ540(図13)であれば、同時にタッチ操作されたタッチ位置座標がタッチパネル20の右半分のみの組み合わせであるか、左半分のみの組み合わせであるか、全体に及ぶ組み合わせであるかの3種類を、マーカ種類の組み合わせ541に代えて、あるいは、マーカ種類の組み合わせ541と共に複合的な組み合わせとして振動波形データ542を設定すればよい。
第2特別モード用振動形態設定データ546(図14)であれば、タッチ操作されたタッチ位置座標がタッチパネル20の右半分であるか、左半分であるかの2種類を、マーカ種類547と共に複合的な組み合わせとして素材波形データ548を設定すればよい。
[その3]
また、上記実施形態を、複数の加振部35で異なる加振力を生成できる構成としてもよい。具体的には、駆動信号を出力する際に、タッチ位置座標563(図15)に基づいて、タッチパネル20の左右どちらの側がより多くタッチされているか(タッチ位置の数が多いか)を判定し、判定された側の加振部35を他方の加振部35より強く加振させるように、あるいはその逆に弱く加振させるように、駆動信号を調整すればよい。
[その4]
また、上記実施形態に、ハプティクス制御の対象すなわち振動対象とするマーカを選別する機能を付加することができる。また、上記実施形態の特別モード対応振動制御処理では、振動波形データの合成に係るステップを、所与の振動波形データに基づく駆動信号の出力に置き換えることもできる。
具体的には、図25に示すように、ゲーム演算部201に、タッチ操作がなされたタイミングと、当該タッチ操作に対応するマーカに定義付けられている開始目標タイミングとの差に基づいて、当該マーカへのタッチ操作を、ハプティクス制御の対象とするか否かを判断するハプティクス対象是非判断部208を設ける。
そして、振動制御部210が、ハプティクス対象是非判断部208により対象にすると判断されたタッチ操作に応じて振動制御を行うようにする。
より具体的には、例えば図26に示すように、ステップS160の前に、ステップS110(図19)で同時操作されていると判断されたマーカの中から、それぞれの開始目標タイミング524(図12)とタッチ検出タイミング(t1)562とが所定の許容タイミング差(例えば、入力評価時に悪い評価が与えられるのと同じタイミング差程度)を超えないマーカを選別する(ステップS158)。そして、以降は選別されたマーカについて処理を行う。すなわち、ステップS158でハプティクス制御の対象を選別したこととなる。
また、振動波形データの合成に係るステップを、所与の振動波形データに基づく駆動信号の出力に置き換えることについては、上記実施形態におけるステップS180〜S194に代えて、図26に示すステップS196を実行する。当該ステップでは、予め用意されている多重同時操作時用の振動波形データに基づいて駆動信号を出力する。この際、同時操作されているマーカの数が多いほど、振幅を大きく補正してから駆動信号を出力するとしてもよい。
2…マーカ
2H…ホールドマーカ
2S…ショットマーカ
20…タッチパネル
21…表示装置
30…ハプティクスユニット
35…加振部
50…制御基板
51…CPU
52…ICメモリ
200…処理部
201…ゲーム演算部
202…音楽選択部
203…音楽出力制御部
204…表示制御部
205…タッチ位置検出部
206…タッチ対象マーカ判定部
210…振動制御部
213…単独操作時振動制御部
214…複数操作時振動制御部
215…合成部
216…割合変更部
217…マーカ選択部
220…入力評価部
240…駆動信号生成部
340…振動発生部
500…記憶部
501…システムプログラム
502…ゲームプログラム
510…プレイ曲候補データ
512…音楽データ
520…譜面データ
530…モード設定データ
531…音楽再生範囲
532…制御モード
534…マーカ種別優先順位
540…第1特別モード用振動形態設定データ
542…振動波形データ
546…第2特別モード用振動形態設定データ
548…素材波形データ
550…プレイデータ
560…タッチ操作データ
570…マーカ管理データ
580…ハプティクス管理データ
600…マーカ別振動形態データ
630…振動形態関数
652…合成割合リスト
654…合成振動波形データ
656…合成時同時操作マーカIDリスト

Claims (13)

  1. タッチ面が振動するマルチタッチが可能なタッチパネルの当該タッチ面へのタッチ操作を楽しむゲームを実行する遊戯装置であって、
    タッチ操作を指示する指示マーカを複数表示制御する表示制御手段と、
    タッチ操作に応じて、当該タッチ操作に対応する指示マーカを判定する判定手段と、
    タッチ操作に応じて前記タッチ面を振動させる制御を行う振動制御手段と、
    を備え、
    前記振動制御手段は、
    前記判定手段により判定された指示マーカが1つの場合に当該判定された指示マーカに関連づけられている振動形態で振動制御を行う単独操作時振動制御手段と、
    前記判定手段により判定された指示マーカが複数の場合に複数操作用の振動形態で振動制御を行う複数操作時振動制御手段と、
    を有する、
    遊戯装置。
  2. 前記複数操作時振動制御手段は、前記指示マーカそれぞれに関連づけられている振動形態とは異なる振動形態を前記複数操作用の振動形態として振動制御を行う、
    請求項1に記載の遊戯装置。
  3. 前記複数操作時振動制御手段は、前記判定手段により判定された複数の指示マーカそれぞれに関連づけられている振動形態を合成して、前記複数操作用の振動形態を生成する合成手段を有する、
    請求項2に記載の遊戯装置。
  4. 前記合成手段は、前記判定手段により判定された複数の指示マーカそれぞれに関連づけられている振動形態の合成割合を変更する割合変更手段を有する、
    請求項3に記載の遊戯装置。
  5. 前記割合変更手段は、前記指示マーカの表示タイミングの差を用いて前記合成割合を変更する、
    請求項4に記載の遊戯装置。
  6. 前記複数操作時振動制御手段は、前記判定手段により判定された指示マーカの数がN個以上(Nは3以上の整数)となった場合に、所与の振動形態に切り替えて振動制御を行う、
    請求項3〜5の何れか一項に記載の遊戯装置。
  7. 前記複数操作時振動制御手段は、
    前記判定手段により判定された複数の指示マーカのうち、所与の選択条件に基づいて指示マーカを選択するマーカ選択手段を有し、前記マーカ選択手段により選択された指示マーカに関連づけられている振動形態に基づく振動形態を前記複数操作用の振動形態として振動制御を行う、
    請求項1に記載の遊戯装置。
  8. 前記複数操作時振動制御手段は、前記選択された指示マーカに関連づけられている振動形態の振幅を大きくさせた振動形態を前記複数操作用の振動形態とする、
    請求項7に記載の遊戯装置。
  9. 前記指示マーカには複数種類があり、
    前記マーカ選択手段は、前記指示マーカの種類に応じて定められた優先順位に基づいて、前記判定手段により判定された複数の指示マーカの中から指示マーカを選択する、
    請求項7又は8に記載の遊戯装置。
  10. 音楽を出力する制御を行う音楽出力制御手段を更に備え、
    前記マーカ選択手段は、前記音楽出力制御手段により出力されている音楽部分に対応して定められた前記優先順位に基づいて、前記判定手段により判定された複数の指示マーカの中から指示マーカを選択する、
    請求項9に記載の遊戯装置。
  11. プレーヤの選択操作に従って音楽を選択する音楽選択手段と、
    前記音楽選択手段により選択された音楽を出力する制御を行う音楽出力制御手段と、
    を更に備え、
    前記マーカ選択手段は、前記音楽選択手段により選択された音楽に対応して定められた前記優先順位に基づいて、前記判定手段により判定された複数の指示マーカの中から指示マーカを選択する、
    請求項9又は10に記載の遊戯装置。
  12. 前記指示マーカそれぞれには、タッチ操作すべき目標タイミングが定義付けられており、
    タッチ操作がなされたタイミングと、当該タッチ操作に対応する指示マーカに定義付けられている目標タイミングとの差に基づいて、当該指示マーカへのタッチ操作を、振動制御の対象とするか否かを判断する振動対象是非判断手段、
    として前記コンピュータを機能させ、 前記振動制御手段は、前記振動対象是非判断手段により対象にすると判断されたタッチ操作に応じて、振動制御を行う、
    請求項1〜11の何れか一項に記載の遊戯装置。
  13. タッチ面が振動するマルチタッチが可能なタッチパネルの当該タッチ面へのタッチ操作を楽しむゲームをコンピュータに実行させるためのプログラムであって、
    タッチ操作を指示する指示マーカを複数表示制御する表示制御手段、
    タッチ操作に応じて、当該タッチ操作に対応する指示マーカを判定する判定手段、
    タッチ操作に応じて前記タッチ面を振動させる制御を行う振動制御手段、
    として前記コンピュータを機能させ、
    前記振動制御手段は、
    前記判定手段により判定された指示マーカが1つの場合に当該判定された指示マーカに関連づけられている振動形態で振動制御を行う単独操作時振動制御手段と、
    前記判定手段により判定された指示マーカが複数の場合に複数操作用の振動形態で振動制御を行う複数操作時振動制御手段と、
    を有する、
    プログラム。
JP2013204807A 2013-09-30 2013-09-30 遊戯装置およびプログラム Pending JP2015066291A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013204807A JP2015066291A (ja) 2013-09-30 2013-09-30 遊戯装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013204807A JP2015066291A (ja) 2013-09-30 2013-09-30 遊戯装置およびプログラム

Publications (1)

Publication Number Publication Date
JP2015066291A true JP2015066291A (ja) 2015-04-13

Family

ID=52833671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013204807A Pending JP2015066291A (ja) 2013-09-30 2013-09-30 遊戯装置およびプログラム

Country Status (1)

Country Link
JP (1) JP2015066291A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018020089A (ja) * 2016-07-26 2018-02-08 任天堂株式会社 振動制御システム、振動制御方法および振動制御プログラム
JP2018112820A (ja) * 2017-01-10 2018-07-19 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP2020175211A (ja) * 2020-07-09 2020-10-29 株式会社バンダイナムコエンターテインメント プログラム及び端末
JP2021068477A (ja) * 2017-01-10 2021-04-30 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018020089A (ja) * 2016-07-26 2018-02-08 任天堂株式会社 振動制御システム、振動制御方法および振動制御プログラム
JP2018020088A (ja) * 2016-07-26 2018-02-08 任天堂株式会社 振動制御システム、振動制御方法および振動制御プログラム
JP2018112820A (ja) * 2017-01-10 2018-07-19 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP2021068477A (ja) * 2017-01-10 2021-04-30 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP2020175211A (ja) * 2020-07-09 2020-10-29 株式会社バンダイナムコエンターテインメント プログラム及び端末
JP7154258B2 (ja) 2020-07-09 2022-10-17 株式会社バンダイナムコエンターテインメント プログラム、端末及びゲーム制御方法

Similar Documents

Publication Publication Date Title
JP3962059B2 (ja) ゲーム装置、ゲーム制御方法及びプログラム
KR20080012349A (ko) 네트워크 게임 시스템, 네트워크 게임 시스템의 제어 방법,게임 장치, 게임 장치의 제어 방법 및 정보 기억 매체
JP2015066291A (ja) 遊戯装置およびプログラム
JP6290566B2 (ja) プログラム、ゲーム装置、およびサーバシステム
JP2015008983A (ja) プログラムおよびゲーム装置
JP6656850B2 (ja) プログラム及びゲーム装置
JP6472949B2 (ja) プログラム、ゲーム装置及びサーバ
JP2015066292A (ja) 遊戯装置およびプログラム
JP2019000457A (ja) コンピュータシステム及びプログラム
JP6184203B2 (ja) プログラムおよびゲーム装置
JP6470437B2 (ja) プログラム、ゲーム装置、およびサーバシステム
JP6449561B2 (ja) プログラム、ゲーム装置及びゲームシステム
JP5386557B2 (ja) ゲーム装置、ゲーム装置の制御方法、ならびに、プログラム
JP6374231B2 (ja) プログラム、ゲーム装置及びゲームシステム
JP6864993B2 (ja) ゲームシステム、サーバ及び端末
JP2015008987A (ja) プログラムおよびゲーム装置
JP7093642B2 (ja) コンピュータシステム、プログラム及びタイミングゲーム実行制御方法
JP6945360B2 (ja) コンピュータシステム及びプログラム
JP6746728B2 (ja) プログラム、ゲーム装置、およびサーバシステム
JP6392512B2 (ja) プログラムおよびゲーム装置
JP7051359B2 (ja) プログラム、コンピュータシステム、サーバシステム、およびゲームシステム
JP6061824B2 (ja) 遊戯装置
JP5386445B2 (ja) ゲーム装置、ゲーム制御方法、ならびに、プログラム
JP7066435B2 (ja) コンピュータシステム及びプログラム
JP6438230B2 (ja) プログラム、ゲーム装置及びゲームシステム