(57)【要約】      （修正有）【課題】プレーヤの操作を複雑にすることなくオブジェクトに新規かつ面白みのある動きをさせるパズルゲームを提供する。【解決手段】オブジェクト空間をゲーム画面へ表示する表示制御部と、属性の異なる複数のオブジェクトを含むオブジェクト群をオブジェクト空間へ配置する配置部と、オブジェクト空間に存在する少なくとも１つのオブジェクトをプレーヤが指定した場合に、指定中のオブジェクトへプレーヤの操作に応じた仮想外力を加える外力発生部と、指定中の前記オブジェクトに対して、同属のオブジェクト間で伝達可能な仮想連結力を発生させる連結力発生部と、少なくとも仮想外力及び仮想連結力に従い、オブジェクト空間における各オブジェクトの動きを制御する制御部と、オブジェクト空間内において互いに接触又は近接する同属のオブジェクト群が所定条件を満たす場合に、オブジェクト群をオブジェクト空間から消去する消去部として機能させる。【選択図】図２４
2020189138.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間をゲーム画面へ表示する表示制御部と、
属性の異なる複数のオブジェクトを含むオブジェクト群を前記オブジェクト空間へ配置する配置部と、
前記オブジェクト空間に存在する少なくとも１つのオブジェクトをプレーヤが指定した場合に、指定中の前記オブジェクトへ前記プレーヤの操作に応じた仮想外力を加える外力発生部と、
指定中の前記オブジェクトに対して、同属のオブジェクト間で伝達可能な仮想連結力を発生させる連結力発生部と、
少なくとも前記仮想外力及び前記仮想連結力に従い、前記オブジェクト空間における各オブジェクトの動きを制御する制御部と、
してコンピュータを機能させ、
前記制御部は、
指定中の前記オブジェクトに接触又は近接した同属のオブジェクトを指定中の前記オブジェクトに直列に連結させて指定中の前記オブジェクトを先頭とするオブジェクト列を形成させ、前記仮想外力及び前記仮想連結力により前記オブジェクト列の動きを制御し、前記オブジェクト列が他属のオブジェクトに衝突した場合に当該他属のオブジェクトを動かす制御を行う、
ことを特徴とするプログラム。
【請求項２】
オブジェクト空間をゲーム画面へ表示する表示制御部と、
属性の異なる複数のオブジェクトを含むオブジェクト群を前記オブジェクト空間へ配置する配置部と、
前記オブジェクト空間に存在する少なくとも１つのオブジェクトをプレーヤが指定した場合に、指定中の前記オブジェクトへ前記プレーヤの操作に応じた仮想外力を加える外力発生部と、
指定中の前記オブジェクトに対して、同属のオブジェクト間で伝達可能な仮想連結力を発生させる連結力発生部と、
少なくとも前記仮想外力及び前記仮想連結力に従い、前記オブジェクト空間における各オブジェクトの動きを制御する制御部と、
してコンピュータを機能させ、
前記制御部は、
指定中の前記オブジェクトと当該オブジェクトに連結したオブジェクトとからなるオブジェクト列の動きを前記仮想外力及び前記仮想連結力により制御し、前記オブジェクト列の動きに応じて前記オブジェクト群を攪拌させる制御を行う、
ことを特徴とするプログラム。
【請求項３】
オブジェクト空間をゲーム画面へ表示する表示制御部と、
属性の異なる複数のオブジェクトを含むオブジェクト群を前記オブジェクト空間へ配置する配置部と、
前記オブジェクト空間に存在する少なくとも１つのオブジェクトをプレーヤが指定した場合に、指定中の前記オブジェクトへ前記プレーヤの操作に応じた仮想外力を加える外力発生部と、
指定中の前記オブジェクトに対して、同属のオブジェクト間で伝達可能な仮想連結力を発生させる連結力発生部と、
少なくとも前記仮想外力及び前記仮想連結力に従い、前記オブジェクト空間における各オブジェクトの動きを制御する制御部と、
を備え、
前記制御部は、
指定中の前記オブジェクトに接触又は近接した同属のオブジェクトを指定中の前記オブジェクトに直列に連結させて指定中の前記オブジェクトを先頭とするオブジェクト列を形成させ、前記仮想外力及び前記仮想連結力により前記オブジェクト列の動きを制御し、前記オブジェクト列が他属のオブジェクトに衝突した場合に当該他属のオブジェクトを動かす制御を行う、
ことを特徴とするゲーム装置。
【請求項４】
オブジェクト空間をゲーム画面へ表示する表示制御部と、
属性の異なる複数のオブジェクトを含むオブジェクト群を前記オブジェクト空間へ配置する配置部と、
前記オブジェクト空間に存在する少なくとも１つのオブジェクトをプレーヤが指定した場合に、指定中の前記オブジェクトへ前記プレーヤの操作に応じた仮想外力を加える外力発生部と、
指定中の前記オブジェクトに対して、同属のオブジェクト間で伝達可能な仮想連結力を発生させる連結力発生部と、
少なくとも前記仮想外力及び前記仮想連結力に従い、前記オブジェクト空間における各オブジェクトの動きを制御する制御部と、
を備え、
前記制御部は、
指定中の前記オブジェクトと当該オブジェクトに連結したオブジェクトとからなるオブジェクト列の動きを前記仮想外力及び前記仮想連結力により制御し、前記オブジェクト列の動きに応じて前記オブジェクト群を攪拌させる制御を行う、
ことを特徴とするゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム及びゲーム装置などに関する。
【背景技術】
【０００２】
従来、落下パズルと呼ばれる古典的なゲームが周知である。例えば、非特許文献１に開示されている落下パズルのプレーヤは、オブジェクト空間内に積まれた多種のアイテムのうち同種かつ所定数以上のアイテムを連続して指でなぞることで、それらのアイテムを一斉に消去することができる。この落下パズルも他の落下パズルと同様、（ｉ）プレーヤの操作がシンプルである、（ｉｉ）アイテムの消去により他のアイテムの配列が変化するので消去の連鎖が期待できる、という点において人気を呼んでいる。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】https://ja.wikipedia.org/wiki/ツムツム
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そこで本発明の目的は、上述したパズルと同様の利点（ｉ）、（ｉｉ）を損なうことなくオブジェクトに新規かつ面白みのある動きをさせることのできるパズルゲームを提供することにある。
【課題を解決するための手段】
【０００５】
（１）上記課題を解決するため、本発明は、
オブジェクト空間をゲーム画面へ表示する表示制御部と、
属性の異なる複数のオブジェクトを含むオブジェクト群を前記オブジェクト空間へ配置する配置部と、
前記オブジェクト空間に存在する少なくとも１つのオブジェクトをプレーヤが指定した場合に、指定中の前記オブジェクトへ前記プレーヤの操作に応じた仮想外力を加える外力発生部と、
指定中の前記オブジェクトに対して、同属のオブジェクト間で伝達可能な仮想連結力を発生させる連結力発生部と、
少なくとも前記仮想外力及び前記仮想連結力に従い、前記オブジェクト空間における各オブジェクトの動きを制御する制御部と、
前記オブジェクト空間内において互いに接触又は近接する同属のオブジェクト群が所定条件を満たす場合に、前記オブジェクト群を前記オブジェクト空間から消去する消去部と、
してコンピュータを機能させるプログラムである。
【０００６】
なお、本発明のプログラムは、例えば、コンピュータ読み取り可能な情報記憶媒体に記憶することも可能である。
【０００７】
また、「互いに接触又は近接する同属のオブジェクト群」とは、互いの距離が所定の閾値未満である２以上の同属のオブジェクトのことであり、当該オブジェクト群に属する各オブジェクトは、当該オブジェクト群に属する他のオブジェクトの何れか１つとの距離が所定の閾値未満となっている。よって、当該オブジェクト群は、直列に並んでいる場合もあり、非直列に並んでいる場合もあり、塊状に密集している場合もある。
【０００８】
また、「所定条件」は、例えば、「オブジェクト群に属するオブジェクトの個数が閾値以上である」という条件である。
【０００９】
また、所定条件が満たされているか否かの判定が開始されるために、別の所定の条件（時間的な制限、静止状態の維持など）が課されてもよい。例えば、判定が行われるタイミングは、制限時間内のみに制限されてもよい。
【００１０】
また、「所定条件」には、他の要件が課されてもよい。よって、例えば、オブジェクトの個数に応じて上昇し、かつ、経過時間等に応じて下降するパラメータを設定し、「当該パラメータが所定の閾値を超えたこと」を、所定条件としてもよい。
【００１１】
以上の本発明のプログラムによれば、プレーヤは、自分の指定したオブジェクトで同属の１又は複数のオブジェクトを引き寄せ、当該同属のオブジェクトを当該指定したオブジェクトへ連結させるという感覚を楽しむことができる。このときのオブジェクトの動きは、磁石に引き寄せられる磁性体の動きに似ている。
【００１２】
また、プレーヤは、自分の指定したオブジェクトを動かすことにより、オブジェクト空間内に点在していた同属の複数のオブジェクトをも互いに近接した位置に集めることができるので、消滅可能なオブジェクトの個数を自分の意思で増やすという楽しみ方をすることができる。連結数を増やすには手間がかかるが、その分だけ消去されるオブジェクトの個数が増えるので、より高い爽快感をプレーヤが感じることになる。このため、プレーヤは、より高い爽快感を求めて連結数の向上を目指すと考えられる。
【００１３】
また、プレーヤは、自分の指定したオブジェクトと、当該オブジェクトに連結したオブジェクとからなるオブジェクト列をオブジェクト空間内で動かすことにより、オブジェクト空間に存在するオブジェクト群を撹拌し、当該オブジェクト群に含まれる個々のオブジェクトの位置関係に変化を生じさせることもできる。
【００１４】
また、オブジェクトの消滅後にオブジェクトの位置関係が変化すると、所定条件を満たす同属のオブジェクト群が新たに発生する可能性もあって、オブジェクトの消滅の連鎖という現象も起こり得る。この場合、プレーヤは、少ない手数で多くのオブジェクトを消去できたという更なる爽快感を味わうことも可能である。
【００１５】
従って、プレーヤは、複雑な操作をせずともオブジェクトに新規かつ面白みのある動きをさせ、パズルゲームならではの爽快感を味わうことができる。
【００１６】
（２）また、本発明において、
前記指定が解除された場合には、前記仮想連結力及び前記仮想外力の少なくとも一方が解除されてもよい。
【００１７】
従って、プレーヤは、仮想連結力及び仮想外力の少なくとも一方を自分の意思で発生させたり消滅させたりすることができる。
【００１８】
（３）また、本発明において、
前記オブジェクトの指定は、
タッチパネルに対する前記プレーヤのタッチ操作により行われ、
前記仮想外力の付加は、
前記タッチ操作に継続した前記プレーヤのスライド操作により行われ、
前記指定の解除は、
前記タッチパネルからの前記プレーヤのタッチ解除により行われてもよい。
【００１９】
従って、プレーヤは、仮想外力の有無を自分のタッチ操作の有無により制御することができ、仮想外力の方向をスライド操作の方向により制御することができる。
【００２０】
（４）また、本発明において、
前記タッチパネルは、
感圧式のタッチパネルであり、
前記仮想外力と前記仮想連結力との少なくとも一方の強度は、
前記プレーヤの操作中に前記タッチパネルに加わる押圧力に応じて設定されてもよい。
【００２１】
従って、プレーヤは、仮想外力及び仮想連結力の少なくとも一方の強度を、自分のタッチ操作の押圧力により調節することができる。
【００２２】
（５）また、本発明において、
前記仮想連結力は、指定中の前記オブジェクトから離れる方向に向かって伝達してもよい。
【００２３】
従って、プレーヤは、指定中のオブジェクトと同属の１又は複数のオブジェクトを、互いに直列の位置関係で連結させることができる。よって、例えば、プレーヤは、直列に連結された複数の同属のオブジェクト（オブジェクト列）を、オブジェクト空間内で引き上げたり引き回したりすることによりオブジェクト空間内のオブジェクト群を撹拌することもできる。
【００２４】
（６）また、本発明において、
前記オブジェクト空間内の何れかのオブジェクトが前記プレーヤによって指定中である場合には、前記消去の処理が禁止されてもよい。
【００２５】
従って、プレーヤは、オブジェクトを解除するまでの期間中になるべく多くのオブジェクトを連結させようというモチベーションが働く。
【００２６】
（７）また、本発明において、
前記オブジェクト空間内のオブジェクト群が静止していない場合には、前記消去の処理が禁止されてもよい。
【００２７】
従って、プレーヤには、オブジェクト空間内のオブジェクト群が安定するまでの期間中になるべく多くのオブジェクトを連結させようというモチベーションが働く。
【００２８】
（８）また、本発明において、
前記オブジェクト空間には、
所定方向の仮想重力が発生してもよい。
【００２９】
従って、プレーヤは、個々のオブジェクトに加わる仮想重力を利用してオブジェクトを効率的に動かしたり、仮想重力に抗してオブジェクトを持ち上げたりする行為をも楽しむことができる。
【００３０】
（９）また、本発明において、
前記オブジェクト空間には、
所定密度の仮想媒質が存在してもよい。
【００３１】
従って、プレーヤは、仮想媒質からオブジェクトが受ける仮想浮力を利用してオブジェ
クトを効率的に動かしたり、仮想浮力に抗してオブジェクトを押し下げたりする行為をも楽しむことができる。
【００３２】
（１０）また、本発明において、
属性の互いに異なる前記オブジェクトの間では、
前記仮想連結力の強度、前記仮想連結力の作用距離、仮想質量のうち少なくとも１つが互いに異なってもよい。
【００３３】
また、属性の共通する前記オブジェクトの間では、前記仮想連結力の強度、前記仮想連結力の作用距離、仮想質量のうち少なくとも１つが共通していてもよい。
【００３４】
この場合、属性の互いに異なる２つのオブジェクトは、互いに異なる振る舞いをすることになるので、プレーヤは、自分の指定したオブジェクトの属性によって、当該オブジェクトの動かし方を調節する必要がある。例えば、プレーヤは、仮想質量の大きなオブジェクトを動かすためには仮想外力が大きくなるように操作を行う必要がある。また、例えば、プレーヤは、作用距離の短いオブジェクトに同属のオブジェクトを連結させるためには、それらオブジェクトの間隔を狭める必要がある。また、仮想連結力の強度の弱いオブジェクト列の連結を維持するためには、オブジェクト列への衝撃（他属のオブジェクトへの衝突など）を避ける必要がある。従って、プレーヤは、互いに異なる属性のオブジェクトを、互いに異なる種類の磁性体を扱うような感覚で操作するという楽しみ方をすることができる。
【００３５】
（１１）また、本発明において、
属性の互いに異なる前記オブジェクトの間では、
外観が互いに異なってもよい。
【００３６】
「オブジェクトの外観」とは、オブジェクトを構成する各要素のうち、プレーヤが視覚によって認識可能な要素のことであって、例えば、オブジェクトのサイズ、形状、色彩、模様の少なくとも１つである。また、「オブジェクトの形状」には、オブジェクトの輪郭形状のみならず、オブジェクトの質感（表面粗さ、光沢、毛羽立ち、弾力）なども含まれる。
【００３７】
従って、プレーヤは、属性の互いに異なるオブジェクトをゲーム画面上で互いに区別することができる。
【００３８】
（１２）また、本発明において、
前記オブジェクト空間には、
前記属性が可変な特殊オブジェクトが配置されてもよい。
【００３９】
特殊オブジェクトの属性は、例えば、プレーヤが指定したオブジェクトと同じ属性に設定されてもよいし、プレーヤが指定したオブジェクトと異なる属性に設定されてもよいし、時間に応じて切り替えられてもよいし、プレーヤが指定したオブジェクトに対してマイナスの仮想連結力（仮想反発力）を発現させるような属性に設定されてもよい。つまり、特殊オブジェクトの属性は、多くのオブジェクトを連結させようとするプレーヤによって有利に働くような属性に設定されてもよいし、プレーヤにとって不利に働く属性に設定されてもよい。このようなオブジェクトは、プレーヤの状況を急激に好転させたり急激に悪化させたりするのに（ゲームの展開を急激に変化させるのに）有効である。
【００４０】
（１３）また、本発明において、
消去された前記オブジェクト群の動き難さに応じて前記プレーヤの得点の価値を設定す
るゲーム演算部として前記コンピュータを更に機能させてもよい。
【００４１】
従って、プレーヤには、動き難いオブジェクトを積極的に連結させようというモチベーションが働く。
【００４２】
なお、オブジェクト群の動き難さは、例えば、オブジェクト群を構成する個々のオブジェクトの仮想質量、サイズ、形状などによって決まるものである。
【００４３】
（１４）また、本発明において、
消去された前記オブジェクト群の連結し難さに応じて前記プレーヤの得点の価値を設定するゲーム演算部として前記コンピュータを更に機能させてもよい。
【００４４】
従って、プレーヤには、連結し難いオブジェクトを積極的に連結させようというモチベーションが働く。
【００４５】
なお、オブジェクト群の連結し難さは、オブジェクト群を構成する個々のオブジェクトの仮想連結力の大きさ、仮想連結力の作用距離などによって決まるものである。
【００４６】
（１５）また、本発明において、
前記所定条件は、
前記オブジェクト群に含まれるオブジェクトの個数が閾値以上であるという条件であってもよい。
【００４７】
従って、プレーヤには、閾値以上の数のオブジェクトを連結させようというモチベーションが働く。
【００４８】
（１６）また、本発明において、
前記オブジェクト群が消去された場合には、前記オブジェクト空間にオブジェクトが補充されてもよい。
【００４９】
（１７）また、本発明において、
補充されるオブジェクトの個数は、消去された前記オブジェクト群に含まれるオブジェクトの個数に応じた値に設定されてもよい。
【００５０】
（１８）また、本発明は、
オブジェクト空間をゲーム画面へ表示する表示制御部と、
属性の異なる複数のオブジェクトを含むオブジェクト群を前記オブジェクト空間へ配置する配置部と、
前記オブジェクト空間に存在する少なくとも１つのオブジェクトをプレーヤが指定した場合に、指定中の前記オブジェクトへ前記プレーヤの操作に応じた仮想外力を加える外力発生部と、
指定中の前記オブジェクトに対して、同属のオブジェクト間で伝達可能な仮想連結力を発生させる連結力発生部と、
少なくとも前記仮想外力及び前記仮想連結力に従い、前記オブジェクト空間における各オブジェクトの動きを制御する制御部と、
前記オブジェクト空間内において互いに接触又は近接する同属のオブジェクト群が所定条件を満たす場合に、前記オブジェクト群を前記オブジェクト空間から消去する消去部と、
を備えることを特徴とするゲーム装置である。
【００５１】
（１９）また、本発明において、
タッチパネルを更に備え、
前記オブジェクトの指定は、
前記タッチパネルに対する前記プレーヤのタッチ操作により行われ、
前記仮想外力の付加は、
前記タッチ操作に継続した前記プレーヤのスライド操作により行われ、
前記指定の解除は、
前記タッチパネルからの前記プレーヤのタッチ解除により行われてもよい。
【００５２】
（２０）また、本発明において、
前記タッチパネルは、
感圧式のタッチパネルであり、
前記仮想外力と前記仮想連結力との少なくとも一方の強度は、
前記プレーヤの操作中に前記タッチパネルに加わる押圧力に応じて設定されてもよい。
【図面の簡単な説明】
【００５３】
【図１】一実施形態のゲームシステムの構成を示すシステム構成の一例を示す図である。
【図２】サーバ装置の構成を示す機能ブロック図の一例である。
【図３】端末装置の構成を示す機能ブロック図の一例である。
【図４】端末装置の外観構成を示す図の一例である。
【図５Ａ】オブジェクト属性テーブルの一例である。
【図５Ｂ】オブジェクト空間の設定データの一例である。
【図５Ｃ】オブジェクト空間の設定データの別の例である。
【図６】オブジェクト空間を表示する初期画面の一例である。
【図７】プレーヤによるタッチ操作によりオブジェクトがホールドされる状態を説明する図である。
【図８】ホールド中のオブジェクトがプレーヤのスライド操作によりドラッグされる状態を説明する図である。
【図９】ホールド中のオブジェクトに仮想連結力が発生する状態と、当該仮想連結力がオブジェクトの内部を伝達する状態を説明する図である。
【図１０】オブジェクト列が仮想外力に応じて移動する状態を説明する図である。
【図１１】オブジェクト列が仮想外力に応じて移動する状態（図１０より後の時刻における状態。）を説明する図であるである。
【図１２】オブジェクト列に同属のオブジェクトが連結される状態を説明する図であるである。
【図１３】オブジェクト列が仮想外力に応じて移動する状態（図１２より後の時刻における状態。）を説明する図であるである。
【図１４】オブジェクト列が仮想外力に応じて移動する状態（図１３より後の時刻における状態。）を説明する図であるである。
【図１５】オブジェクト列が仮想外力に応じて移動する状態（図１４より後の時刻における状態。）を説明する図であるである。
【図１６】オブジェクト列が仮想外力に応じて移動する状態（図１５より後の時刻における状態。）を説明する図であるである。
【図１７】ホールドされていたオブジェクトがリリースされたときの状態を説明する図であるである。
【図１８】連結が解除されたオブジェクト列（複数のオブジェクト）が落下する状態を説明する図である。
【図１９】連結が解除された複数のオブジェクトが落下した後における状態を説明する図である。
【図２０】消滅条件を満たす同属のオブジェクト群が消滅する状態を説明する図である。
【図２１】消滅によりオブジェクトの配列が変化する状態を説明する図である。
【図２２】消滅したオブジェクトの個数に応じてオブジェクトが補充される状態を説明する図である。
【図２３】プレーヤのスライド操作によりオブジェクト列がドラッグされ、オブジェクト空間内のオブジェクト群が撹拌される状態を説明する図である。
【図２４】ゲーム処理のフローチャートである。
【図２５】オブジェクトに加わる各種の力（仮想力）を説明する図である。
【発明を実施するための形態】
【００５４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００５５】
１．ゲームシステム
まず、図１を用いて本実施形態のゲームシステム１の概要及び概要構成について説明する。なお、図１は、本実施形態のゲームシステム１の構成を示すシステム構成の一例を示す図である。
【００５６】
本実施形態のゲームシステム１は、図１に示すように、ゲームサービスを提供するサーバ装置１０と、端末装置２０（例えば、端末装置２０Ａ、２０Ｂ、２０Ｃ）とが、インターネット（ネットワークの一例）に接続可能に構成されている。
【００５７】
プレーヤは、端末装置２０からインターネットを介してサーバ装置１０にアクセスし、インターネットを介してサーバ装置１０から送信されてくるゲームをプレーすることができる。さらに、プレーヤは、端末装置２０からサーバ装置１０にアクセスし、他のプレーヤとの間でコミュニケーションを図ることができる。
【００５８】
サーバ装置１０は、インターネットを介して通信接続された端末装置２０を用いて、プレーヤにゲームをプレーさせるサービスを提供することが可能な情報処理装置である。また、サーバ装置１０は、コミュニケーション型のサービスを提供するＳＮＳサーバとして機能してもよい。ここで、ＳＮＳサーバとは、複数のプレーヤ間でコミュニケーションを提供することが可能なサービスを提供する情報処理装置であってもよい。
【００５９】
また、サーバ装置１０は、例えば、ＳＮＳサーバとして機能する場合には、提供するＳＮＳの動作環境（ＡＰＩ（アプリケーションプログラミングインタフェース）、プラットフォーム等）を利用して実行されるソーシャルゲーム（Ｓｏｃｉａｌ  Ｇａｍｅ）をと呼ばれるゲームを提供することができるようになっている。
【００６０】
特に、サーバ装置１０は、端末装置２０のＷｅｂブラウザ上で提供されるゲーム、例えばＨＴＭＬ、ＦＬＡＳＨ、ＣＧＩ、ＰＨＰ、ｓｈｏｃｋｗａｖｅ、Ｊａｖａ（登録商標）アプレット、ＪａｖａＳｃｒｉｐｔ（登録商標）など様々な言語で作られたブラウザゲーム（Ｗｅｂブラウザで設置サイトを開くだけで起動するゲーム）を提供することができるようになっている。
【００６１】
なお、ソーシャルゲームとは、既存のオンラインゲームとは違い、専用のクライアントソフトウェアを必要とせず、ＷｅｂブラウザとＳＮＳのアカウントのみで利用可能なゲームが含まれる。また、サーバ装置１０は、ネットワークを介して他のプレーヤの端末（スマートフォン、パソコン、ゲーム機など）と接続し、オンラインで同時に同じゲーム進行
を共有することができるオンラインゲームを提供することが可能な構成を有している。
【００６２】
一方、サーバ装置１０は、１つの（装置、プロセッサ）で構成されていてもよいし、複数の（装置、プロセッサ）で構成されていてもよい。
【００６３】
そして、サーバ装置１０の記憶領域（後述する記憶部１４０）に記憶される課金情報、ゲーム情報等の情報を、ネットワーク（イントラネット又はインターネット）を介して接続されたデータベース（広義には記憶装置、メモリ）に記憶するようにしてもよいし、ＳＮＳサーバとして機能する場合には、記憶領域に記憶されるプレーヤ情報１４６等の情報を、ネットワーク（イントラネット又はインターネット）を介して接続されたデータベース（広義には記憶装置、メモリ）に記憶するようにしてもよい。
【００６４】
具体的には、本実施形態のサーバ装置１０は、端末装置２０のプレーヤ（すなわち、ゲームを実行するプレーヤ）の操作に基づく入力情報を受信し、受信した入力情報に基づいてゲーム処理を行うようになっている。そして、サーバ装置１０は、ゲーム処理結果を端末装置２０に送信し、端末装置２０は、サーバ装置１０から受信したゲーム処理結果を端末装置２０にプレーヤに閲覧可能に提供する各種の処理を行うようになっている。
【００６５】
端末装置２０は、スマートフォン、携帯電話、ＰＨＳ、コンピュータ、ゲーム装置、ＰＤＡ、携帯型ゲーム機等、画像生成装置などの情報処理装置であり、インターネット（ＷＡＮ）、ＬＡＮなどのネットワークを介してサーバ装置１０に接続可能な装置である。なお、端末装置２０とサーバ装置１０との通信回線は、有線でもよいし無線でもよい。
【００６６】
また、端末装置２０は、Ｗｅｂページ（ＨＴＭＬ形式のデータ）を閲覧可能なＷｅｂブラウザを備えている。すなわち、端末装置２０は、サーバ装置１０との通信を行うための通信制御機能、及びサーバ装置１０から受信したデータ（Ｗｅｂデータ、ＨＴＭＬ形式で作成されたデータなど）を用いて表示制御を行うとともに、プレーヤ操作のデータをサーバ装置１０に送信するＷｅｂブラウザ機能などを備え、ゲーム画面をプレーヤに提供する各種の処理を実行し、プレーヤによってゲームを実行させるようになっている。ただし、端末装置２０は、サーバ装置１０から提供されたゲーム制御情報を取得して所定のゲーム処理を実行し、ゲーム処理に基づくゲームを実行してもよい。
【００６７】
具体的には、端末装置２０は、所定ゲームを行う旨の要求をサーバ装置１０に対して行うと、サーバ装置１０のゲームサイトに接続され、ゲームが開始される。特に、端末装置２０は、必要に応じてＡＰＩを用いることにより、ＳＮＳサーバとして機能するサーバ装置１０に所定の処理を行わせ、又は、ＳＮＳサーバとして機能するサーバ装置１０が管理するプレーヤ情報１４６を取得させてゲームを実行する構成を有している。
【００６８】
２．サーバ装置
次に、図２を用いて本実施形態のサーバ装置１０について説明する。なお、図２は、本実施形態のサーバ装置１０の機能ブロックを示す図である。また、本実施形態のサーバ装置１０は図２の構成要素（各部）の一部を省略した構成としてもよい。
【００６９】
サーバ装置１０は、管理者やその他の入力に用いるための入力部１２０、所定の表示を行う表示部１３０、所定の情報が記憶された情報記憶媒体１８０、端末装置２０やその他と通信を行う通信部１９６、主に提供するゲームに関する処理を実行する処理部１００、及び、主にゲームに用いる各種のデータを記憶する記憶部１４０を含む。
【００７０】
入力部１２０は、システム管理者等がゲームに関する設定やその他の必要な設定、データの入力に用いるものである。例えば、本実施形態の入力部１２０は、マウスやキーボー
ド等によって構成される。
【００７１】
表示部１３０は、システム管理者用の操作画面を表示するものである。例えば、本実施形態の表示部１３０は、液晶ディスプレイ等によって構成される。
【００７２】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などによって構成される。
【００７３】
通信部１９６は、外部（例えば、端末、他のサーバや他のネットワークシステム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどによって構成される。
【００７４】
記憶部１４０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能は、ＲＡＭ（ＶＲＡＭ）などによって構成される。なお、記憶部１４０に記憶される情報は、データベースで管理してもよい。
【００７５】
また、本実施形態においては、記憶部１４０には、提供するゲームに関する情報を示すゲーム情報１４４、提供するゲームに関しプレーヤとしてのプレーヤに関する情報を示すプレーヤ情報１４６、及び、その他ゲーム演算に必要な各種の情報が記憶される。
【００７６】
処理部１００は、記憶部１４０内の主記憶部１４２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００７７】
処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００７８】
例えば、処理部１００（プロセッサ）は、情報記憶媒体に記憶されているプログラムに基づいて、サーバ装置１０全体の制御を行うとともに、各部間におけるデータ等の受け渡しの制御などの各種の処理を行う。さらに、端末装置２０からの要求に応じた各種サービスを提供する処理を行う。
【００７９】
具体的には、本実施形態の処理部１００は、通信制御部１０１、Ｗｅｂ処理部１０２及びゲーム管理部１０４を少なくとも有している。
【００８０】
通信制御部１０１は、端末装置２０とネットワークを介してデータを送受信する処理を行う。すなわち、サーバ装置１０は、通信制御部１０１によって端末装置２０等から受信した情報に基づいて各種処理を行う。
【００８１】
特に、本実施形態の通信制御部１０１は、プレーヤの端末装置２０からの要求に基づいて、当該プレーヤの端末装置２０にゲーム画面を送信する処理を行う。
【００８２】
Ｗｅｂ処理部１０２は、Ｗｅｂサーバとして機能する。例えば、Ｗｅｂ処理部１０２は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルを通じて、端末装置２０にインストールされているＷｅｂブラウザの要求に応じてデータを送信する処理、及び、端末装置２０のＷｅｂブラウザによって送信されるデータ
を受信する処理を行う。
【００８３】
なお、本実施形態では、サーバ装置１０がＳＮＳサーバとしての機能も備えていている場合を例にとり説明するが、サーバ装置１０を、ゲーム用のサーバと、ＳＮＳ用のサーバと別々に形成してもよい。また、本実施形態のゲームの処理は、サーバ装置１０が一部又は全部を行ってもよいし、端末装置２０が一部を行ってもよい。
【００８４】
ゲーム管理部１０４は、端末装置２０と連動し、当該端末装置２０を介して入力されたプレーヤの操作に基づいて、各プレーヤにおいてパズルゲーム等に関するゲーム処理を実行するとともに、各プレーヤのゲームの進行状況やアイテム管理などの各プレーヤにおいて使用するキャラクタ及び各種のアイテムを含むプレーヤ情報１４６を管理する。
【００８５】
なお、ゲーム管理部１０４は、プレーヤの操作に基づかず、プレーヤが設定した各種のデータに基づいて自動的にゲームを実行するための自動演算処理を実行し、端末装置２０で再生するためのデータを生成し、生成したデータを端末装置２０に提供してもよい。
【００８６】
３．端末装置
次に、図３及び図４を用いて本実施形態の端末装置２０について説明する。なお、図３は、本実施形態における端末装置の構成を示す機能ブロック図の一例であり、図４は、本実施形態における端末装置の外観構成を示す図の一例である。また、本実施形態の端末装置２０は図３の構成要素（各部）の一部を省略した構成としてもよい。
【００８７】
入力部２６０は、プレーヤが操作データを入力するためのものである。入力部２６０には、表示画面に設けられたタッチパネル（図４の符号１２）などの検出部２６２も含まれ、タッチパネル１２は、表示画面におけるタッチ位置（指示位置）の２次元座標（ｘ，ｙ）を検出する。
【００８８】
なお、表示画面におけるタッチ操作には、手指又はタッチペン等の道具による直接的なタッチ操作と、ポインティングデバイスによる間接的なタッチ操作と、擬似的なタッチ操作とが含まれる。また、表示画面におけるスライド操作には、手指又はタッチペン等の道具による直接的なスライド操作と、ポインティングデバイスによる間接的なスライド操作と、擬似的なスライド操作とが含まれる。
【００８９】
例えば、擬似的なタッチ操作又はスライド操作とは、
（１）赤外線などの光ビームをタッチパネル面と平行に当該タッチパネル面に近接した位置で照射し、当該タッチパネルの一端部に縦横方向に一定間隔に形成される複数の照射部と、各照射部と対を構成し、当該各照射部に対向するタッチパネルの他端部に設けられ、各照射された光ビームをそれぞれ受信する複数のセンサとによって、タッチパネル１２に接触又は近接した際に光ビームが遮断された縦横の座標を検出し、当該検出した座標に基づいて認識するタッチ操作又はスライド操作、及び、
（２）タッチパネル１２の表示面を撮像するカメラを設け、当該カメラによってプレーヤがタッチパネル１２に接触又は近接した位置座標を検出し、当該検出した位置座標に基づいて認識するタッチ操作又はスライド操作、
などタッチパネル１２に実際に接触することによって又は近接させて検出することによって認識するタッチ操作又はスライド操作を含む。
【００９０】
また、タッチパネルに同時に複数のタッチ位置が検出される場合には、いずれか１つのタッチ位置（先に検出されたタッチ位置）を用いるようにしてもよいし、複数のタッチ位置を同時に処理してもよい。
【００９１】
なお、タッチパネルに複数の判定領域が存在する場合には、各判定領域において、１つのタッチ位置（先に検出されたタッチ位置）を用いるようにしてもよい。また、判定領域とは、取得したタッチ位置のうち、移動制御など処理部２００で処理するためのタッチ位置を予め特定するタッチパネル上の範囲である。
【００９２】
図４（Ａ）及び（Ｂ）に示すとおり、端末装置２０の表示画面は、例えば液晶ディスプレイとタッチパネル１２とを積層したタッチパネル型ディスプレイである。このうち液晶ディスプレイは、表示部２９０として機能し、タッチパネル１２は、検出部２６２として機能する。以下、端末装置２０の表示画面を、適宜、「タッチパネル」と称す。
【００９３】
また、入力部２６０は、タッチパネル１２の他、各種の操作情報（操作信号）を入力可能なボタンやレバー、キーボード、ステアリング、マイク、加速度センサなどを備えていてもよい。
【００９４】
記憶部２７０は、処理部２００や通信部２９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部２７０は、ワーク領域として使用される主記憶部２７１と、最終的な表示画像等が記憶される画像バッファ２７２と、提供するゲームに関しプレーヤとしてのプレーヤに関する情報を示すプレーヤ情報２７３と、テーブルデータなどのゲームを実行する上で必要な各種のデータを記憶するゲームデータ記憶部２７４と、を含む。なお、これらの一部を省略する構成としてもよいし、サーバ装置１０の記憶部１４０がその一部を構成してもよい。
【００９５】
特に、本実施形態の主記憶部２７１は、タッチ検出処理部２１１において取得された基準位置及び指示位置、及び、各種のマーカの画像及び各種の判定処理において用いる条件を示す条件情報などを記憶することができる。
【００９６】
情報記憶媒体２８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。
【００９７】
また、情報記憶媒体２８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。なお、処理部２００は、後述するように、情報記憶媒体２８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。
【００９８】
表示部２９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネルディスプレイ（タッチパネル１２が設けられたディスプレイ）、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００９９】
特に、本実施形態では表示部２９０は、タッチパネルディスプレイを用いることによりプレーヤがゲーム操作を行う入力部２６０としても機能する。ここでタッチパネルとして、例えば抵抗膜方式（４線式、５線式）、静電容量方式、電磁誘導方式、超音波表面弾性波方式、赤外線走査方式などのタッチパネルを用いることができる。
【０１００】
音出力部２９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【０１０１】
通信部２９６は、外部（例えばホスト装置や他の端末装置）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハー
ドウェアや、プログラムなどにより実現できる。
【０１０２】
なお、端末装置２０は、サーバ装置１０が有する情報記憶媒体や記憶部２７０に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体２８０や記憶部２７０に記憶してもよい。このようにプログラムやデータを受信して端末装置２０を機能させる場合も本発明の範囲内に含めることができる。
【０１０３】
処理部２００（プロセッサ）は、入力部２６０からの入力データやプログラムなどに基づいて、サーバ装置１０と連動して、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
【０１０４】
特に、本実施形態においては、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、各種のオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などが含まれる。
【０１０５】
また、処理部２００は、記憶部２７０をワーク領域として各種処理を行う。処理部２００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【０１０６】
特に、本実施形態の処理部２００は、オブジェクト空間設定部２１０と、タッチ検出処理部２１１と、表示制御部２１２と、入力受付処理部２１３と、ゲーム制御部２１４と、ゲーム演算部２１５と、仮想カメラ制御部２１６と、ゲーム管理部２１７と、描画部２２０と、音処理部２３０とを含む。また、これらの一部を省略する構成としてもよい。
【０１０７】
オブジェクト空間設定部２１０は、オブジェクト（キャラクタ含む）、移動経路、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（スプライト、ビルボード、ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。
【０１０８】
具体的にはオブジェクト空間設定部２１０は、オブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ）或いは（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ軸回りでの回転角度）或いは（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【０１０９】
ここで、オブジェクト空間とは、いわゆる仮想２次元空間、仮想３次元空間の両方を含む。２次元空間とは、例えば２次元座標（Ｘ，Ｙ）においてオブジェクトが配置される空間であり、３次元空間とは、例えば３次元座標（Ｘ，Ｙ，Ｚ）においてオブジェクトが配置される空間である。
【０１１０】
そしてオブジェクト空間を２次元空間とした場合には、複数のオブジェクトそれぞれについて設定された優先順位に基づいてオブジェクトを配置する。例えば、奥側にあるように見せたいオブジェクト（スプライト）から順にオブジェクトを配置し、手前側にあるように見せたいオブジェクトを重ねて配置する処理を行うことができる。
【０１１１】
また、描画サイズが大きなオブジェクトを画像の下方に配置し、描画サイズが小さなオブジェクトを画像の上方に配置すれば、画面の上方に対応するオブジェクト空間が奥側にあるように見せることができ、画面の下方に対応するオブジェクト空間が手前側にあるように見せることができる。
【０１１２】
また、オブジェクト空間を３次元空間とした場合には、ワールド座標系にオブジェクトを配置する。
【０１１３】
タッチ検出処理部２１１は、プレーヤが入力部２６０から入力した入力情報の認識処理を行う。具体的には、本実施形態のタッチ検出処理部２１１は、入力部２６０によって入力された指示位置を取得する。
【０１１４】
例えば、タッチ検出処理部２１１は、タッチパネル１２におけるタッチ位置（２次元の位置座標）を指示位置として取得する。また、タッチ検出処理部２１１は、スライド操作中（タッチ操作の開始からタッチ操作の解除までの期間）における各時点のタッチ位置（指示位置）を取得する。例えば、タッチ検出処理部２１１は、タッチ位置の取得を行う周期を、表示画面のフレーム周期と同じ（１／６０秒〜１／１２０秒程度）とすることができる。
【０１１５】
表示制御部２１２は、後述する仮想カメラが撮影したオブジェクト空間をタッチパネル１２上に表示する。
【０１１６】
入力受付処理部２１３は、プレーヤの操作入力に基づく入力指示を受け付けるとともに、受け付けた入力指示をゲーム制御部２１４に出力する。
【０１１７】
ゲーム制御部２１４は、入力受付処理部２１３が受け付けたコマンドと、当該コマンドを受け付けた際のタッチ操作入力に継続して入力されたスライド操作入力と、コマンドに基づくゲーム処理を実行する。
【０１１８】
また、例えば、本実施形態のゲーム制御部２１４は、入力受付処理部２１３と連動してスライド操作入力を受け付ける。
【０１１９】
一方、ゲーム制御部２１４は、オブジェクト空間内において移動可能なオブジェクト（移動体オブジェクト、キャラクタを含む）等の移動演算を行う。
【０１２０】
すなわち、ゲーム制御部２１４は、入力部２６０によりプレーヤが入力した入力データ又はプログラム（移動アルゴリズム）や各種データ（モーションデータ）などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作（モーション、アニメーション）を制御するための処理を行う。
【０１２１】
具体的には、ゲーム制御部２１４は、オブジェクトの移動情報（移動方向、移動量、移動速度、位置、回転角度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動処理、動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは、固定としてもよいし、処理負荷に応じて可変としてもよい。
【０１２２】
なお、ゲーム制御部２１４は、３次元のオブジェクト空間において入力方向に基づいてオブジェクトを移動させる処理を行ってもよい。例えば、予め、入力方向毎に移動方向を対応づけ、入力方向に対応する移動方向にオブジェクトを移動させる。
【０１２３】
また、ゲーム制御部２１４は、サーバ装置１０と連動して実行してもよいし、その一部又は全部がサーバ装置１０に形成されていてもよい。
【０１２４】
ゲーム演算部２１５は、種々のゲーム演算処理を行う。特に、ゲーム演算部２１５は、プレーヤの指示に基づいてゲームに使用される複数のプレーヤキャラクタをデッキとして設定する場合には、当該デッキに設定された各プレーヤキャラクタを用いてゲームを進行させるための各処理を実行する。
【０１２５】
また、ゲーム演算部２１５は、スライド操作入力に応じて変動パラメータを管理するとともに、その結果を表示制御部２１２と連動してタッチパネル１２上にゲージ、テキストイメージ等として表示させる。
【０１２６】
なお、ゲーム演算部２１５は、サーバ装置１０と連動して実行するが、その一部又は全部の機能はサーバ装置１０に搭載されていてもよい。
【０１２７】
仮想カメラ制御部２１６は、所与の視点から見える画像であって、奥行きがあるように見える画像を生成する。この場合に、仮想カメラ制御部２１６が、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【０１２８】
例えば、仮想カメラによりオブジェクト（例えば、キャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。
【０１２９】
この場合には、ゲーム制御部２１４で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動さたりする制御を行ってもよい。また、この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【０１３０】
なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【０１３１】
ゲーム管理部２１７は、入力部２６０を介して入力されたプレーヤの操作に基づいて、各プレーヤにおいてパズルゲーム等のゲームに使用するキャラクタ及び各種のアイテムを設定し、プレーヤ情報２７３に登録する。
【０１３２】
特に、ゲーム管理部２１７は、デッキを用いてゲームを実行する場合には、設定されたプレーヤキャラクタ及び各種のアイテムをデッキデータとしてプレーヤ情報２７３に登録する。
【０１３３】
描画部２２０は、処理部２００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部２９０に出力する。描画部２２０が生成する画像は、いわゆる２次元画像であってもよいし、いわゆる３次元画像であってもよい。特に、描画部２２０は、オブジェクト空間における仮想カメラから見える画像であって、画面上に表示する画像を生成する。
【０１３４】
ここで２次元画像を生成する場合には、描画部２２０は、設定された優先度が低いオブジェクトから順に描画して、オブジェクト同士が重なる場合には、優先度の高いオブジェクトを上書きして描画する。
【０１３５】
また、３次元画像を生成する場合には、本実施形態の描画部２２０は、まずオブジェク
ト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【０１３６】
また、頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。
【０１３７】
ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ２７２（フレームバッファ、ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【０１３８】
これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【０１３９】
なお、描画部２２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【０１４０】
そして、描画部２２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【０１４１】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）を記憶部２７０に記憶する。
【０１４２】
テクスチャマッピングでは、記憶部２７０のテクスチャ記憶部に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部２７０のテクスチャ記憶部からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出し、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【０１４３】
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布
（テクセルパターン）を動的に変化させることができる。
【０１４４】
また、この場合において、色分布（ピクセルパターン）が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
【０１４５】
隠面消去処理では、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照するとともに、当該参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【０１４６】
αブレンディング（α合成）では、描画部２２０は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【０１４７】
音処理部２３０は、処理部２００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部２９２に出力する。
【０１４８】
なお、本実施形態の端末装置は、１人のプレーヤのみがプレーできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレーできるマルチプレーヤモードも備えるシステムにしてもよい。
【０１４９】
また、複数のプレーヤがプレーする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末装置２０を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末装置２０又はサーバ装置１０を用いて分散処理により生成してもよい。
【０１５０】
４．本実施形態の手法
４−１．ゲームの概要
本実施形態の端末装置２０（ゲーム装置の一例）は、例えば情報記憶媒体２８０に記憶されたプログラムに基づき、オブジェクト空間を含むゲーム画面を表示部２９０へ表示してパズルゲームを実行する。このパズルゲームの概要は、以下の（１）〜（６）のとおりである。このパズルゲームは、独立したゲームとして端末装置２０で実行されてもよいし、シューティングゲームやＲＰＧにおけるミニゲーム（リラックス用のゲーム）として端末装置２０で実行されてもよい。
【０１５１】
（１）表示制御部２１２は、オブジェクト空間設定部２１０と協働して、オブジェクト空間をゲーム画面へ表示する。オブジェクト空間は、２次元のオブジェクト空間であっても３次元のオブジェクト空間であってもよいが、以下では図６に示すような２次元のオブジェクト空間１５００とする。図６では、オブジェクト空間１５００と共に、自動ボタン（Ａｕｔｏボタン）１００Ｃ、リセットボタン（Ｒｅｓｅｔボタン）１００Ａ、プレーヤのスコアを示すテキスト９００などがゲーム画面に配置された状態を示している。なお、Ａｕｔｏボタン１００Ｃは、オブジェクト空間に対するオブジェクトの補充が自動的に行う指示をプレーヤが端末装置２０へ入力するためのボタンであって、Ｒｅｓｅｔボタン１
００Ａは、ゲーム画面を当初の状態へ戻す（リセットする）指示をプレーヤが端末装置２０へ入力するためのボタンである。
【０１５２】
（２）ゲーム制御部２１４は、オブジェクト空間設定部２１０と協働して、属性の異なる複数種類のオブジェクトＯＢＡ、ＯＢＢ、ＯＢＣ、ＯＢＤを含むオブジェクト群をオブジェクト空間１５００へ配置する。図６では、プレーヤによる落下ボタン（Ｄｒｏｐボタン）１００Ｂのタッチ操作に応じてオブジェクトがオブジェクト空間１５００へ補充されるときのゲーム画面を示している。なお、図３に示した配置部２１４ａは、オブジェクト群をオブジェクト空間１５００へ配置するゲーム制御部２１４の機能を可視化したものである。以下、この機能を実現する主体がゲーム制御部２１４であるとして説明する。
【０１５３】
（３）ゲーム制御部２１４は、表示制御部２１２と協働して、オブジェクト空間１５００に存在する少なくとも１つのオブジェクトをプレーヤが指定した場合に（図７）、指定中のオブジェクトへプレーヤの操作に応じた仮想外力（後述）を加える（図８）。図８において矢印で示すのが仮想外力のイメージである。なお、図３に示した外力発生部２１４ｂは、オブジェクトへ仮想外力を加えるゲーム制御部２１４の機能を可視化したものである。以下、この機能を実現する主体がゲーム制御部２１４であるとして説明する。また、図７、図８では仮想連結力のイメージを矢印で表現したが、この矢印は、実際のゲーム画面では非表示としてもよい（他の図も同様）。
【０１５４】
（４）ゲーム制御部２１４は、表示制御部２１２と協働して、指定中のオブジェクトに対して、同属のオブジェクト間で伝達可能な仮想連結力（後述）を発生させる（図９）。図９において矢印で示すのが仮想連結力のイメージである。なお、図３に示した連結力発生部２１４ｃは、オブジェクトへ仮想連結力を発生させるゲーム制御部２１４の機能を可視化したものである。以下、この機能を実現する主体がゲーム制御部２１４であるとして説明する。
【０１５５】
（５）ゲーム制御部２１４は、表示制御部２１２と協働して、仮想外力、仮想連結力、その他の仮想物理法則に従い、オブジェクト空間１５００における各オブジェクトの動きを制御する（図１０〜図１６）。オブジェクトの動きの詳細は、後述する。なお、図３に示した制御部２１４ｄは、オブジェクトの動きを制御するゲーム制御部２１４の機能を可視化したものである。以下、この機能を実現する主体がゲーム制御部２１４であるとして説明する。
【０１５６】
（６）ゲーム制御部２１４は、表示制御部２１２と協働して、オブジェクト空間１５００内において互いに接触又は近接する同属のオブジェクト群が所定条件（消滅条件）を満たす場合に（図１９）、当該オブジェクト群をオブジェクト空間１５００から消去する（図２０）。なお、図３に示した消去部２１４ｅは、オブジェクト群を消去するゲーム制御部２１４の機能を可視化したものである。以下、この機能を実現する主体がゲーム制御部２１４であるとして説明する。
【０１５７】
ここで、「互いに接触又は近接する同属のオブジェクト群」とは、互いの距離が所定の閾値未満であるオブジェクト群のことであり、当該オブジェクト群に属する各オブジェクトは、当該オブジェクト群に属する他のオブジェクトの何れか１つとの距離が所定の閾値未満となっている。よって、オブジェクト群は、直列に並んでいる場合もあり、非直列に並んでいる場合もあり、塊状となっている場合もある。
【０１５８】
また、当該オブジェクト群が消去されるための「所定条件（消滅条件）」は、例えば、「当該オブジェクト群に属するオブジェクトの個数が閾値以上である」という条件である。
【０１５９】
また、本実施形態では、消滅条件が満たされているか否かの判定（消滅判定）が開始されるために、所定の条件（時間的な制限、静止状態の維持など）が課されてもよい。例えば、判定が行われるタイミングは、制限時間内のみに制限されてもよい。
【０１６０】
また、消滅条件には、他の要件が課されてもよい。例えば、オブジェクトの個数に応じて上昇し、かつ、経過時間等に応じて下降するパラメータを設定し、「当該パラメータが所定の閾値を超えたこと」を消滅条件とすることもできる。
【０１６１】
そこで、以下では、当該オブジェクト群が消去されるための消滅条件を、「当該オブジェクト群に含まれるオブジェクトの個数が所定数（例えば４個）以上であること」とする。
【０１６２】
また、以下では、消滅判定が開始されるための条件に、「オブジェクト空間１５００内の全てのオブジェクトがリリース（後述）されたこと」、「所定期間（例えば２秒）に亘ってオブジェクト空間１５００内の全オブジェクトが静止したこと」が課されるものとする。
【０１６３】
つまり、以下では、オブジェクト空間１５００内のオブジェクトが静止していない場合、又は、オブジェクト空間１５００内の何れかのオブジェクトがホールド中である場合には、消滅判定が禁止されるものとする。
【０１６４】
因みに、図２０には、消滅条件を満たした６つのオブジェクトが消滅する状態が表されている。
【０１６５】
４−２．感圧式タッチパネルについて
本実施形態では、検出部２６２としてタッチパネル１２が用いられる場合を想定する。タッチパネル１２の方式（原理）としては、上述したとおり抵抗膜方式（４線式、５線式）、静電容量方式などの方式が適用可能であるが、ここでは特に、感圧式のタッチパネルを想定する。感圧式のタッチパネルは、プレーヤによるタッチ位置に応じた信号を生成するだけでなく、タッチ位置におけるタッチ操作の強度（押圧力）を感知し、当該タッチ操作の強度に応じた信号を生成する。つまり、本実施形態の検出部２６２は、タッチ検出処理部２１１と協働し、プレーヤによるタッチ操作のタッチ位置を示す信号と、押圧力の大きさを示す信号とを生成して処理部２００へ与える。
【０１６６】
４−３．タッチ操作、スライド操作などの説明
（１）「タッチ操作」：
タッチ操作には、前述したとおり直接的なタッチ操作と、間接的なタッチ操作と、擬似的なタッチ操作とが含まれるが、ここではタッチパネル１２に対する手指の直接的なタッチ操作を想定する。以下、タッチパネル１２の何れかの位置を手指で触れるプレーヤの行為、又は、手指が接触した状態を継続するプレーヤの行為を、「タッチ操作」という。本実施形態では、ゲーム画面に現れた或るオブジェクトをプレーヤが指でタッチ操作すると、当該オブジェクトが指定される。
【０１６７】
（２）「タッチ位置」：
タッチパネル１２においてプレーヤの手指の接触している位置のことである。
【０１６８】
（３）「タッチ操作の押圧力」：
プレーヤがタッチ操作によりタッチパネル１２へ与える押圧力の大きさ（タッチ操作の強度）のことである。以下、適宜に「押圧力」という。
【０１６９】
（４）「スライド操作」：
タッチ操作後にタッチパネル１２から手指を離すことなくタッチパネル１２におけるタッチ位置を時間変化させるプレーヤの行為のことである。
【０１７０】
（５）「ホールド」：
オブジェクトへのタッチ操作の継続により当該オブジェクトの指定を継続するプレーヤの行為のことである。なお、ホールドは指定の一例である。
【０１７１】
（６）「ドラッグ」：
タッチ操作に継続したスライド操作により、指定中のオブジェクトを移動させるプレーヤの行為のことである。なお、ドラッグはホールドの一種である。
【０１７２】
（７）「リリース」：
タッチ操作の解除によりオブジェクトの指定を解除するプレーヤの行為のことである。
【０１７３】
（８）「スライド力」
タッチ位置の変化の加速度（つまりスライド操作の勢い）のことである。因みに、スライド力が大きくなるのは、ホールド後に最初にドラッグが開始され始めるとき（ホールドされたオブジェクトが最初に動き始めるとき）である。一方、ドラッグが等速度（又は等速度に近い状態）で行われているときにはスライド力は発生しないとみなせる。
【０１７４】
従って、本実施形態のプレーヤは、ゲーム画面に現れた或るオブジェクトをタッチ操作することで当該オブジェクトをホールドすることができ、当該タッチ操作に継続してスライド操作を行うことでホールド中のオブジェクトを移動させることができ、さらにタッチ操作を解除（タッチ解除）することでホールド中のオブジェクトをリリースすることができる。なお、押圧力及びスライド力の利用方法については、後述する。
【０１７５】
４−４．オブジェクト空間の仮想物理法則
オブジェクト空間１５００には、以下の仮想物理法則が適用される。仮想物理法則は、オブジェクト空間１５００に存在するオブジェクトの動き方を決める法則であって、ゲーム制御部２１４がオブジェクトの動きを制御する際のアルゴリズムに相当する。
【０１７６】
４−４−１．仮想重力
ゲーム制御部２１４は、オブジェクト空間１５００に仮想重力を発生させる。仮想重力の方向は、例えば、ゲーム画面においてプレーヤから見て下側方向に設定される。
【０１７７】
仮想重力加速度は、例えば、オブジェクト空間の設定データの１つとしてゲームデータ記憶部２７４などに予め格納されている。このオブジェクト空間の設定データは、ゲーム制御部２１４によって適宜に参照される。図５Ｂには、オブジェクト空間の設定データの１つとして仮想重力加速度の大きさを示す情報が書き込まれた例を示した。図５Ｂの例では、仮想重力加速度の大きさが「大」、「中」、「小」のうち「中（地上相当）」に設定されている。
【０１７８】
但し、オブジェクト空間の設定データに含まれる仮想重力加速度は、ゲーム管理部２１７によって書き換え可能であってもよい。例えば、ゲーム開始前にプレーヤからの指示に応じてゲーム管理部２１７が書き換えてもよいし、プレーヤのスコアに応じてゲーム管理部２１７書き換えてもよいし、プレーヤのスコアが閾値を超え、かつ、プレーヤからの指示があった場合にゲーム管理部２１７が書き換えてもよい（なお、プレーヤのスコアは、例えばユーザ情報２７３などに保管され、ゲーム演算部２１５によって適宜に書き換えら
れる。）。図５Ｃには、オブジェクト空間の設定データのうち、仮想重力加速度の大きさが「大」、「中」、「小」のうち「小（月面相当）」に書き換えられた例を示している。
【０１７９】
そして、ゲーム制御部２１４は、ゲーム処理の開始当初など、必要なタイミングでオブジェクト空間の設定データを参照し、設定データに書き込まれた仮想重力加速度が大きいときほど大きな仮想重力をオブジェクト空間１５００内の各オブジェクトに加える。従って、オブジェクト空間に存在する個々のオブジェクトには、基本的に、ゲーム画面の下側に向かって定常的に仮想重力が加わる。なお、ゲーム制御部２１４は、オブジェクトに加わる仮想重力を、オブジェクトの仮想重力が大きいほど、また、オブジェクトの仮想質量が大きいときほど、大きくする。
【０１８０】
４−４−２．仮想媒質
ゲーム制御部２１４は、オブジェクト空間１５００に仮想媒質を存在させる。仮想媒質の特性のうち、オブジェクトの動きに影響を与えるのは、主に密度（比重）であるので、ここでは、比重について説明する。
【０１８１】
仮想媒質の種類は、例えば、オブジェクト空間の設定データの１つとしてゲームデータ記憶部２７４などに予め格納されている。このオブジェクト空間の設定データは、ゲーム制御部２１４によって適宜に参照される。図５Ｂには、オブジェクト空間の設定データの１つとして仮想媒質の種類を示す情報が書き込まれた例を示した。図５Ｂの例では、仮想媒質の種類が「空気」である例を示している。また、図５Ｃの例では、仮想媒質の種類が「水」に設定されている。
【０１８２】
但し、オブジェクト空間の設定データに含まれる仮想媒質の種類は、ゲーム管理部２１７によって書き換え可能であってもよい。例えば、ゲーム開始前にプレーヤからの指示に応じてゲーム管理部２１７が書き換えてもよいし、プレーヤのスコアに応じてゲーム管理部２１７書き換えてもよいし、プレーヤのスコアが閾値を超え、かつ、プレーヤからの指示があった場合にゲーム管理部２１７が書き換えてもよい（なお、プレーヤのスコアは、例えばユーザ情報２７３などに保管され、ゲーム演算部２１５によって適宜に書き換えられる。）。図５Ｃには、オブジェクト空間の設定データのうち、仮想媒質の種類が「水」に書き換えられた例を示している。
【０１８３】
そして、ゲーム制御部２１４は、ゲーム処理の開始当初など、適当なタイミングでオブジェクト空間の設定データを参照し、設定データに書き込まれた仮想媒質の比重が大きいときほど大きな仮想浮力をオブジェクト空間１５００内の各オブジェクトに加える。従って、オブジェクト空間に存在する個々のオブジェクトには、ゲーム画面の上側に向かって定常的に仮想浮力が加わる。なお、ゲーム制御部２１４は、オブジェクトに加わる仮想浮力を、オブジェクトのサイズが大きいほど大きくする。なお、仮想媒質の種類と比重との対応関係は、実空間における媒質の種類と比重との対応関係と同様に設定されるものとする。また、ここでは、オブジェクト空間の設定データに仮想媒質の種類の情報が格納された例を説明したが、種類の情報の代わりに比重又は密度を示す情報が格納されてもよい。
【０１８４】
４−４−３．オブジェクト属性
ゲーム制御部２１４は、属性の異なる複数種類のオブジェクトをオブジェクト空間１５００に配置する。ここでは、図６に示すとおり、外観の異なる４種類のオブジェクトＯＢＡ、ＯＢＢ、ＯＢＣ、ＯＢＤがオブジェクト空間１５００に配置される場合を想定する。これら４種類のオブジェクトＯＢＡ、ＯＢＢ、ＯＢＣ、ＯＢＤの間では属性が互いに異なる。これらのオブジェクトＯＢＡ、ＯＢＢ、ＯＢＣ、ＯＢＤの各属性は、例えば、オブジェクト属性テーブルとしてゲームデータ記憶部２７４へ保管される。
【０１８５】
そして、ゲーム制御部２１４は、ゲーム処理の開始当初など、適当なタイミングでオブジェクト属性テーブルを参照することによりオブジェクト空間１５００に存在する各オブジェクトの属性を認識し、認識した各オブジェクトの属性に基づき、各オブジェクトの動きを制御する。つまり、ここでいう「オブジェクトの属性」とは、ゲーム制御部２１４が従うべき仮想物理法則（アルゴリズム）におけるオブジェクトの性質（パラメータ）のことである。
【０１８６】
図５Ａには、オブジェクト属性テーブルの一例を示した。図５Ａに示すとおり、オブジェクト属性テーブルは、オブジェクトの属性情報をオブジェクトの名称（ここでは、符号ＯＢＡ、ＯＢＢ、ＯＢＣ、ＯＢＤの別）ごとに格納したものである。属性情報には、外観（色、サイズ、形状）、仮想質量、仮想連結力、作用距離、タイムラグなどが含まれる。以下、色、サイズ、形状、仮想質量、仮想連結力、作用距離、タイムラグについて説明する。
【０１８７】
（１）オブジェクトの色：
オブジェクトの色は、オブジェクト空間１５００におけるオブジェクトの表示色のことである。
【０１８８】
（２）オブジェクトのサイズ：
オブジェクトのサイズは、オブジェクト空間１５００におけるオブジェクトの大きさのことである。大きいオブジェクトほど仮想媒質における仮想浮力が大きくなるので、動き易くなる。
【０１８９】
（３）オブジェクトの形状：
オブジェクトの形状は、オブジェクト空間１５００におけるオブジェクトの外形（例えば球体、立方体、六面体など）と、表面の滑らかさのことである。滑らかなオブジェクトほど他のオブジェクトとの間の摩擦係数が小さくなるので、動き易くなる。
【０１９０】
（４）オブジェクトの仮想質量：
オブジェクトの仮想質量は、オブジェクト空間１５００におけるオブジェクトの動き難さのことである。他のパラメータ（仮想重力加速度、仮想媒質、形状、サイズなど）が同じであるならば、仮想質量が大きいオブジェクトほど動き難くなる。
【０１９１】
（５）オブジェクトの仮想連結力：
オブジェクトの仮想連結力は、オブジェクトが同属のオブジェクトを引き寄せる力の大きさのことである。大きな仮想連結力ほど強固にオブジェクトを連結することができる。例えば、小さな仮想連結力で連結された複数のオブジェクト（オブジェクト列）は、オブジェクト空間１５００の壁面又は異属のオブジェクトへの衝突によって分離する可能性が高いが、大きな仮想連結力で連結されたオブジェクト列は、オブジェクト空間１５００の壁面又は異属のオブジェクトへの衝突によって分離する可能性が低い。
【０１９２】
なお、本実施形態では、仮想連結力がプレーヤによって適宜に調節できるものとする。このため、図５Ａにおける仮想連結力は、単一の値ではなく値範囲によって表現されている。例えば、図５Ａの例によるとオブジェクトＯＢＡの仮想連結力は、「５±２」という範囲（すなわち「３〜７」という範囲）に設定されている。但し、図５Ａに示した各数値は、あくまでも一例である。
【０１９３】
（６）仮想連結力の作用距離：
仮想連結力の作用距離は、２つのオブジェクトが非接触で連結可能な最大の間隔のことである。作用距離がゼロである仮想連結力は、互いに接触したオブジェクト同士しか連結
することができず、作用距離が１ｍｍである仮想連結力は、１ｍｍ以下の距離に近接したオブジェクト同士を連結することが可能である。因みに、仮想連結力が高いほど作用距離を高くしたならば、仮想連結力を磁力に似せることができる。
【０１９４】
（７）仮想連結力解除までのタイムラグ：
仮想連結力解除までのタイムラグは、互いに連結された複数のオブジェクト（オブジェクト列という。）がリリースされたタイミングから当該オブジェクトの仮想連結力が完全に解除されるまでのタイムラグのことである。例えば、タイムラグが１秒であるならば、リリース後の１秒間は連結状態が維持され、タイムラグが０．５秒であるならば、リリース後の０．５秒間は連結状態が維持される。なお、仮想連結力をタイムラグの後に急峻にオフするよりも、仮想連結力をリリース直後から徐々に弱めた方が、仮想連結力を磁力の振る舞いに似せることができる。
【０１９５】
４−４−４．仮想外力
ゲーム制御部２１４は、タッチ位置を示す信号（タッチ位置信号）及び押圧力の大きさを示す信号（押圧力信号）を受信すると、ゲーム画面における当該タッチ位置にオブジェクトが表示中であるか否かを判定し、表示中であった場合には、当該表示中のオブジェクトがプレーヤによってホールドされたとみなす（図７）。
【０１９６】
そして、ゲーム制御部２１４は、押圧力信号が示す押圧力と、タッチ位置信号の時間変化が示すスライド力とに応じた仮想外力を、ホールド中のオブジェクトに対して発生させる。例えば、ゲーム制御部２１４は、オブジェクト空間にけるドラッグ中のオブジェクトの位置を、ゲーム画面におけるプレーヤのタッチ位置に追従させる。但し、ゲーム制御部２１４は、ホールド後に最初にドラッグが開始され始めたときにおけるスライド操作の押圧力及びスライド力が一定より弱かった場合には、オブジェクトの位置をタッチ位置に追従させることなく、オブジェクトのホールドを解除（リリース）する。
【０１９７】
具体的に、ゲーム制御部２１４は、例えば以下の処理（１）〜（４）を実行する。
【０１９８】
（１）ゲーム制御部２１４は、オブジェクト属性テーブル（図５Ａ）を参照し、ホールド中のオブジェクトに加わる仮想重力及び仮想浮力を認識し、認識した仮想重力及び仮想浮力と、スライド方向とに基づき、オブジェクトをスライド方向へ動かし始めるのに必要な仮想外力必要な仮想外力を計算する。なお、スライド方向は、タッチ位置信号の時間変化によって特定することができる。
【０１９９】
（２）ゲーム制御部２１４は、押圧力の閾値を当該必要な仮想外力に応じた値に設定し、スライド力の閾値を当該必要な仮想外力に応じた値に設定する。
【０２００】
（３）ゲーム制御部２１４は、押圧力の閾値を押圧力と比較し、かつ、スライド力の閾値をスライド力と比較する。
【０２０１】
（４）ゲーム制御部２１４は、押圧力が当該閾値未満であり、かつ、スライド力が当該閾値未満である場合には、オブジェクトのホールドを解除（リリース）し、そうでない場合には、オブジェクトの位置をタッチ位置に追従させる。
【０２０２】
従って、プレーヤは、例えば図８に矢印で示すとおりホールド中のオブジェクトを右上方向へ向けてドラッグしたい場合には、右上方向に向かってスライド操作を行えばよい。但し、当該オブジェクトの仮想質量が大きいほど（サイズが小さいほど）当該オブジェクトに加わる下向きの仮想重力が大きくなる（上向きの仮想浮力が小さくなる）ので、プレーヤは一定以上の押圧力及びスライド力でタッチ操作を行わなければ、オブジェクトを動
かすことはできないことになる。
【０２０３】
また、ゲーム制御部２１４は、ホールド中のオブジェクトに他のオブジェクトが連結されている場合（つまりホールド中のオブジェクトが後述する図１０のようなオブジェクト列である場合）には、オブジェクトの連結数の分だけオブジェクト列の仮想質量を大きく見積もる。
【０２０４】
その場合、プレーヤは、オブジェクト列（図１０）を動かそうとする場合には、オブジェクトの連結数の分だけ強い押圧力及びスライド力でスライド操作しなければオブジェクト列を動かすことはできないことになる。
【０２０５】
また、ゲーム制御部２１４は、オブジェクト又はオブジェクト列の移動経路に障害物（他のオブジェクト）が存在する場合には、当該オブジェクト又はオブジェクト列を動かすのに必要な外力を決定する際に、当該オブジェクト又はオブジェクト列が障害物から受ける摩擦力を考慮してもよい。摩擦力は、当該オブジェクト又はオブジェクト列の仮想質量、当該オブジェクト又はオブジェクト列のサイズ、当該オブジェクト又はオブジェクト列の面形状、障害物の仮想質量、障害物のサイズ、障害物の面形状、仮想重力の加速度、仮想媒質の密度などに基づき設定される。
【０２０６】
従って、プレーヤは、オブジェクト又はオブジェクト列の移動経路に障害物がある場合には、一定以上の押圧力及びスライド力でスライド操作しなければオブジェクト又はオブジェクト列を動かすことはできないことになる。
【０２０７】
また、ゲーム制御部２１４は、ホールド中のオブジェクト又はオブジェクト列が障害物に一定以上の勢い（加速度）で衝突した場合には、衝突の勢い（加速度）に応じて障害物を動かす。なお、オブジェクト空間内の少なくとも一部のオブジェクトの動きは、他のオブジェクトの動きに影響を与え得るものとし、オブジェクト空間１５００内の各オブジェクトの動きは、ゲーム制御部２１４によって適宜に制御される（以下も同様。）。
【０２０８】
従って、プレーヤは、オブジェクト又はオブジェクト列をドラッグし、他のオブジェクトへ衝突させることで、他のオブジェクトを動かすこともできる。よって、プレーヤは、オブジェクト又はオブジェクト列のドラッグにより、オブジェクト空間１５００内に存在するオブジェクト群の全体を撹拌することもできる（図２３を参照）。
【０２０９】
４−４−５．仮想連結力
ゲーム制御部２１４は、タッチ位置を示す信号（タッチ位置信号）及び押圧力の大きさを示す信号（押圧力信号）を受信すると、ゲーム画面における当該タッチ位置にオブジェクトが表示中であるか否かを判定し、表示中であった場合には、当該表示中のオブジェクトがプレーヤによってホールドされたとみなす（図７）。
【０２１０】
そして、ゲーム制御部２１４は、ホールド中のオブジェクトの内部に仮想連結力を発生させる。例えば、ゲーム制御部２１４は、ホールド中のオブジェクトから作用距離未満の位置に同属のオブジェクトの少なくとも一部が存在する場合に、当該同属のオブジェクトを、ホールド中のオブジェクトに接触させ、かつ、当該同属のオブジェクトの位置を、オブジェクトの位置に追従させる。
【０２１１】
具体的に、ゲーム制御部２１４は、例えば以下の処理（１）〜（４）を実行する。
【０２１２】
（１）ゲーム制御部２１４は、オブジェクト属性テーブル（図５Ａ）を参照し、ホールド中のオブジェクトに発生させるべき仮想連結力（同属のオブジェクトの間で作用する仮
想連結力）の範囲及び作用距離を認識する。
【０２１３】
（２）ゲーム制御部２１４は、ホールド中のオブジェクトに発生させる仮想連結力の大きさを、認識した範囲の中心値と同じ値に設定する。
【０２１４】
（３）ゲーム制御部２１４は、ホールド中のオブジェクトに発生させる仮想連結力の大きさ（強度）を、押圧力信号が示す押圧力の大きさに応じて調節する。但し、ゲーム制御部２１４は、調節の範囲を、当該認識した範囲内に収める。
【０２１５】
（４）ゲーム制御部２１４は、ホールド中のオブジェクトに発生させる仮想連結力の作用距離を、認識した作用距離と同じ値に設定する。
【０２１６】
従って、プレーヤは、例えば図９に示すとおりホールド中のオブジェクトＯＢＡ１をドラッグして同属のオブジェクトＯＢＡ２に接触又は近接（作用距離未満に接近）させることにより、当該同属のオブジェクトＯＢＡ２をホールド中のオブジェクトＯＢＡ１に連結させることができる。図９において、オブジェクトＯＢＡ１の内部に描かれた矢印は、仮想連結力のイメージである。
【０２１７】
更に、ゲーム制御部２１４は、ホールド中のオブジェクトに同属のオブジェクトが連結されると、ホールド中のオブジェクトの内部に発生していた仮想連結力を、当該同属のオブジェクトの側へと伝達させる。
【０２１８】
以下、互いに連結されたオブジェクトからなる２以上のオブジェクトの全体を「オブジェクト列」と称し、ホールド中のオブジェクトの側をオブジェクト列の先頭側とし、ホールド中のオブジェクトと反対の側をオブジェクト列の後尾側とする。
【０２１９】
図９において、オブジェクトＯＢＡ２の内部に描かれた１対の矢印は、オブジェクトＯＢＡ１への連結によりオブジェクトＯＢＡ２の内部に発生した仮想連結力のイメージである。オブジェクトＯＢＡ２の先頭側に発生した仮想連結力は、オブジェクトＯＢＡ１の後尾側に発生した仮想連結力と釣り合っており（連結により相殺されており）、オブジェクトＯＢＡ２の後尾側に発生した仮想連結力は、他の同属のオブジェクト（オブジェクトＯＢＡ３）を引き寄せる。
【０２２０】
同様に、ゲーム制御部２１４は、オブジェクト列に同属のオブジェクトが新たに連結されると、オブジェクト列の内部に発生していた仮想連結力を、新たに連結されたオブジェクトの側へと伝達させる。
【０２２１】
図９において、オブジェクトＯＢＡ３の内部に描かれた１対の矢印は、オブジェクトＯＢＡ２への連結によりオブジェクトＯＢＡ３の内部に発生した仮想連結力の概念である。オブジェクトＯＢＡ３の先頭側に発生した仮想連結力は、オブジェクトＯＢＡ２の後尾側に発生した仮想連結力と釣り合っており（連結により相殺されており）、オブジェクトＯＢＡ３の後尾側に発生した仮想連結力は、他の同属のオブジェクト（オブジェクトＯＢＡ４）を引き寄せる。
【０２２２】
図９において、オブジェクトＯＢＡ４の内部に描かれた１対の矢印は、オブジェクトＯＢＡ３への連結によりオブジェクトＯＢＡ４の内部に発生した仮想連結力の概念である。オブジェクトＯＢＡ４の先頭側に発生した仮想連結力は、オブジェクトＯＢＡ３の後尾側に発生した仮想連結力と釣り合っており（連結により相殺されており）、オブジェクトＯＢＡ４の後尾側に発生した仮想連結力は、他の同属のオブジェクト（オブジェクトＯＢＡ５）を引き寄せる。
【０２２３】
図９において、オブジェクトＯＢＡ５の内部に描かれた１対の矢印は、オブジェクトＯＢＡ４への連結によりオブジェクトＯＢＡ５の内部に発生した仮想連結力の概念である。オブジェクトＯＢＡ５の先頭側に発生した仮想連結力は、オブジェクトＯＢＡ４の後尾側に発生した仮想連結力と釣り合っており（連結により相殺されており）、オブジェクトＯＢＡ５の後尾側に発生した仮想連結力は、他の同属のオブジェクトを引き寄せることが可能である。
【０２２４】
つまり、本実施形態における仮想連結力は、ホールド中のオブジェクトから離れる方向に向かって伝達する。
【０２２５】
従って、プレーヤは、ホールド中のオブジェクトＯＢＡ１をドラッグすることで、同属のオブジェクトＯＢＡ２、ＯＢＡ３、ＯＢＡ４、ＯＢＡ５をオブジェクトＯＢＡ１へ直列に連結させつつ、互いに連結されたオブジェクトＯＢＡ１、ＯＢＡ２、ＯＢＡ３、ＯＢＡ４、ＯＢＡ５の全体（オブジェクト列）を蛇状に動かすことができる。
【０２２６】
ここで、プレーヤは、ホールド中のオブジェクトＯＢＡ１を例えば図１０に示すとおりゲーム画面の上方向にドラッグすれば、オブジェクト列の全体を引き上げることも可能である。
【０２２７】
また、プレーヤは、ホールド中のオブジェクトＯＢＡ１を例えば図１１に示すとおり未連結の同属のオブジェクトＯＢＡ６に近接させることで、図１２〜図１６に示すとおり当該オブジェクトＯＢＡ６をオブジェクト列の後尾に連結させることもできる。図１２〜図１６には、オブジェクト列の先頭に接触した同属のオブジェクトＯＢＡ６がオブジェクト列の先頭に連結され、その後、オブジェクト列の最後尾に向かって徐々に移動する様子が時系列順に表されている。つまり、本実施形態のゲーム制御部２１４は、同属のオブジェクトＯＢＡ６がオブジェクト列の何れかの部位に近接した時点でオブジェクトＯＢＡ６をオブジェクト列へ連結させるが（図１３）、その後、オブジェクト列の移動に従って、オブジェクトＯＢＡ６の連結先をオブジェクト列の最後尾へと変位させる（図１４〜図１６）。
【０２２８】
従って、プレーヤは、自分の指先が磁石になったような感覚を楽しむことができる。また、プレーヤは、自分の指先に引き寄せられるオブジェクトを次々と連結させ、オブジェクト列に含まれるオブジェクトの数（連結数）を増やすという感覚を楽しむこともできる。
【０２２９】
また、プレーヤは、オブジェクト空間１５００内でオブジェクト列を例えば図２３に示すとおり自在に引き回すこともできる。仮想連結力が十分に高ければ、オブジェクト列を他属のオブジェクトを衝突させて動かしたり、オブジェクト列に同属のオブジェクトを連結させたりすることができる。これによって、プレーヤは、オブジェクト空間１５００内におけるオブジェクト群を撹拌することができる。
【０２３０】
但し、前述したとおり、プレーヤは一定以上の押圧力又はスライド力でスライド操作を行わなければオブジェクト列を動かすことはできない。また、オブジェクト列の仮想連結力と比して強い力で他属のオブジェクトがオブジェクト列に衝突した場合には、オブジェクト列の連結が解除される可能性もある。よって、プレーヤは、スライド操作の押圧力やスライド力を適度に制御する必要がある。
【０２３１】
４−４−６．オブジェクトのリリース及び消滅
ゲーム制御部２１４は、ホールド中のオブジェクトがリリースされると、仮想外力及び
仮想連結力を消滅させる。但し、ゲーム制御部２１は、オブジェクト属性テーブル（図５Ａ）を参照し、ホールドしていたオブジェクトのタイムラグを認識する。そして、ゲーム制御部２１４は、仮想連結力を完全に消滅するまでの時間を、認識したタイムラグと同じ時間に設定する。
【０２３２】
従って、プレーヤは、例えば図１６に示すとおりオブジェクト列を引き上げた状態でホールド中のオブジェクトＯＢＡ１をリリースすると（図１７）、オブジェクト列を構成していた全てのオブジェクトＯＢＡ１、ＯＢＡ２、ＯＢＡ３、ＯＢＡ４、ＯＢＡ５、ＯＢＡ６を、所定時間の経過後に図１８、図１９に示すとおり自由落下させることができる。
【０２３３】
そして、ゲーム制御部２１４は、リリース後、上述した消滅条件を満たす同属のオブジェクト群が存在するか否か判定し、存在する場合には、当該オブジェクト群をオブジェクト空間１５００から消滅させる。図１９、図２０には、オブジェクト空間１５００からオブジェクトＯＢＡ１〜ＯＢＡ６が消滅するときの状態を示した。また、このように、オブジェクト空間の一部のオブジェクト（オブジェクトＯＢＡ１〜ＯＢＡ６）が消滅すると、オブジェクト空間１５００内におけるオブジェクトの位置関係が変化する可能性がある。図２１には、消滅せずに残されたオブジェクトの一部の姿勢が不安定となり（支えとなっていたオブジェクトが消滅したため）、仮想重力に従って落下した後の状態を示した。
【０２３４】
従って、プレーヤは、自分がホールドしたオブジェクトをリリースするまでの期間中に、仮想連結力を利用してなるべく多くの同属のオブジェクトを集めておく（互いに接触又は近接させておく）ことにより、リリース後に消滅可能なオブジェクトの個数を増やすことができる。
【０２３５】
さらに、オブジェクトの消滅後にオブジェクトの位置関係が変化すると、消滅条件を満たす同属のオブジェクト群が新たに発生する可能性もある。その場合は、オブジェクトの消滅の連鎖が起こるので、プレーヤは、少ない手数で多くのオブジェクトを消去できたという爽快感を味わうことができる。
【０２３６】
４−４−７．オブジェクトの補充
ゲーム制御部２１４は、オブジェクト空間１５００からオブジェクト群を消去した場合には、オブジェクト空間１５００へオブジェクトを補充する。図２２には、オブジェクトが補充される様子を示した。図２２では、補充されるオブジェクトが反重力方向から重力方向に向かって落下する様子を示している。
【０２３７】
ゲーム制御部２１４は、例えば、補充するオブジェクトの個数を、例えば消去したオブジェクト群に含まれるオブジェクトの個数に応じた数に設定する。「オブジェクトの個数に応じた数」とは、オブジェクトの個数と同じ数、オブジェクトの個数に比例した数などのことである。
【０２３８】
また、ゲーム制御部２１４は、補充するオブジェクトの各々の属性を、例えばランダムに設定する。また、ゲーム制御部２１４は、オブジェクトの補充される頻度を、属性毎に予め決められた頻度に設定する。
【０２３９】
また、ゲーム制御部２１４は、例えば、ゲーム画面上に配置された落下ボタン（Ｄｒｏｐボタン）１００Ｂをプレーヤがタッチ操作したタイミングでオブジェクトの補充を行ってもよい（図６）。
【０２４０】
また、ゲーム制御部２１４は、例えば、定期的に所定数のオブジェクトを補充してもよい。また、その場合は、オブジェクト空間１５００がオブジェクトで充満された時点（新
規の補充ができない状態となった時点）で、プレーヤのミス（プレーヤの得点を原点する、ゲームの続行を禁止するなど）としてもよい。
【０２４１】
なお、以下では、オブジェクト空間１５００からオブジェクト群が消去される度にオブジェクトが補充される場合を想定する。
【０２４２】
４−４−８．オブジェクトの動き難さ
ゲーム制御部２１４は、オブジェクト属性テーブルに基づき、オブジェクト空間１５００に存在する各オブジェクトの動き難さを制御する。ここでは、オブジェクト空間１５００内で静止中のオブジェクトを移動させるのに必要な仮想外力の大きさのことを「オブジェクトの動き難さ」という。
【０２４３】
オブジェクト空間１５００におけるオブジェクトの動き難さは、実空間における物体の動き難さと同様に設定することができる。具体的に、ゲーム制御部２１４は、オブジェクト空間１５００におけるオブジェクトの動き難さを、他のパラメータとの間で以下の（１）〜（５）の関係を満たすように制御する。
【０２４４】
（１）オブジェクトの動き難さは、オブジェクトの仮想質量が大きいほど大きい。
【０２４５】
（２）オブジェクトの動き難さは、オブジェクトの面形状が複雑であるほど大きい。例えば、オブジェクトの面形状が粗いときほど動き難さは大きく、オブジェクトの面形状が滑らかであるときほど動き難さは小さくなる。
【０２４６】
（３）オブジェクトの動き難さは、オブジェクトの移動経路に存在する他属のオブジェクト（障害物）から受ける摩擦力が大きいほど大きい。摩擦力は、オブジェクトの面形状が複雑であるときほど大きく、障害物の面形状が複雑であるときほど大きい。
【０２４７】
（４）オブジェクトの動き難さは、オブジェクトに加わる仮想重力が大きいほど大きい。オブジェクトに加わる仮想重力は、オブジェクトに加わる仮想重力の加速度が大きいほど大きく、オブジェクトの仮想質量が大きいほど大きい。
【０２４８】
（５）オブジェクトの動き難さは、オブジェクトに加わる仮想浮力が小さいほど大きくなる。オブジェクトに加わる仮想浮力は、オブジェクト空間１５００に充填される仮想媒質の比重が大きいほど大きく、オブジェクトのサイズが大きいほど大きい。
【０２４９】
４−５．得点の価値設定
ゲーム演算部２１５は、オブジェクト空間１５００からオブジェクト群が消去されると、消去されたオブジェクト群に含まれるオブジェクトの属性に応じてオブジェクト属性テーブル及びオブジェクト空間１５００の設定データを参照し、当該オブジェクトの動き難さを計算する。各パラメータと、オブジェクトの動き難さとの関係は、前述したとおりである。
【０２５０】
但し、得点の価値を設定するために計算すべきなのは、あくまでも属性間での相対的な動き難さ（相対動き難さ）であるので、ゲーム演算部２１５は移動経路、仮想媒質、仮想重力加速度を必ずしも考慮しなくてもよい。よって、ゲーム演算部２１５は、オブジェクトの属性間の相対動き難さを予め記憶しておいてもよい。
【０２５１】
一方、ゲーム演算部２１５は、オブジェクト空間１５００からオブジェクト群が消去されると、消去されたオブジェクト群に含まれるオブジェクトの属性に応じてオブジェクト属性テーブルを参照し、当該オブジェクトの連結し難さを計算する。
【０２５２】
この計算では、例えば、ゲーム演算部２１５は、仮想連結力が低いときほど連結し難さを大きくし、仮想連結力の作用距離が短いときほど連結し難さを大きくし、タイムラグが小さいときほど連結し難さを大きくする。
【０２５３】
次に、ゲーム演算部２１５は、消去したオブジェクトの動き難さと、消去したオブジェクトの連結し難さと、消去したオブジェクトの個数とに応じて、プレーヤの得点の価値を設定する。
【０２５４】
例えば、ゲーム演算部２１５は、消去したオブジェクトの動き難さが大きいときほど、また消去したオブジェクトの連結し難さが大きいときほど、また消去したオブジェクトの個数が多いときほど、プレーヤの得点の価値を高く設定する。
【０２５５】
そして、ゲーム演算部２１５は、設定した得点をプレーヤのスコアへ加算する。
【０２５６】
従って、プレーヤには、動かし難いオブジェクトや連結し難いオブジェクトを積極的に消滅させようという意欲が働くことになる。
【０２５７】
４−６．フロー
図２４は、ゲーム中における端末装置２０の処理の流れを示すフローチャートである。このゲーム処理は、プレーヤからの開始指示に応じて実行され、プレーヤからの終了指示に応じて終了される。開始指示及び終了指示の入力は、入力部２６０を介して行われる。また、このゲーム処理は、原則的には端末装置２０の処理部２００において実行される。但し、処理部２００は、ゲーム処理の全部又は一部をサーバ装置１０との連動により実行することも可能である。また、処理部２００を構成する要素の機能の割り当てについては既に説明済みであるので、以下では各ステップの主体が「処理部２００」であるとして説明する。
【０２５８】
先ず、処理部２００は、表示部２９０に対するオブジェクト空間１５００の表示を開始する（Ｓ１１）。オブジェクト空間１５００には、前述したとおり属性の異なる複数種類のオブジェクトＯＢＡ、ＯＢＢ、ＯＢＣ、ＯＢＤが複数ずつ配置される。
【０２５９】
次に、処理部２００は、プレーヤがオブジェクト空間１５００に存在する何れかのオブジェクトをタッチ操作しない限り、ホールド判定（Ｓ１３）と、静止判定（Ｓ２５）と、消滅判定（Ｓ２６）と、終了判定（Ｓ３３Ｎ）とを繰り返す。なお、消滅判定（Ｓ２６）にて消滅条件を満たすオブジェクト群が検出された場合（Ｓ２６Ｙ）の処理（Ｓ２７〜Ｓ３１）については、後述する。
【０２６０】
その後、オブジェクト空間１５００に存在する何れかのオブジェクトをプレーヤがタッチ操作によりホールドすると（Ｓ１３Ｙ）、処理部２００は、ホールドされたオブジェクトに前述した仮想連結力を発生させ（Ｓ１５）、かつ、ホールド中のオブジェクトに前述した仮想外力を発生させる（Ｓ１７）。仮想連結力、仮想外力の詳細は、前述したとおりである。
【０２６１】
その後、ホールド中のオブジェクトがリリースされない限り（Ｓ１９Ｎ）、処理部２００は、オブジェクト空間１５００に存在する各オブジェクトの位置（動き）を仮想連結力及び仮想外力に従って制御する。仮想連結力及び仮想外力に従ったオブジェクトの動きについては、前述したとおりである。
【０２６２】
その後、ホールド中のオブジェクトがリリースされると（Ｓ１９Ｙ）、処理部２００は
、仮想外力及び仮想連結力を解除し（Ｓ２１）、静止判定（Ｓ２５）へ移行する。
【０２６３】
次に、処理部２００は、オブジェクト空間１５００内の全ブロックが所定時間（例えば２秒）に亘って静止していたか否かを判定し（Ｓ２５）、所定時間に亘って静止した場合には（Ｓ２５）、消滅判定（Ｓ２６）へ移行する。
【０２６４】
次に、処理部２００は、前述した消滅判定を満たすオブジェクト群がオブジェクト空間１５００内に存在する場合には（Ｓ２６Ｙ）、当該オブジェクト群をオブジェクト空間１５００から消滅させ（Ｓ２７）、そうでない場合には（Ｓ２６Ｎ）、消滅の処理（Ｓ２７）を実行せずに、終了判定（Ｓ３３）へ移行する。
【０２６５】
また、処理部２００は、オブジェクト空間１５００からオブジェクト群を消滅させると（Ｓ２７）、当該オブジェクト群に含まれるオブジェクトの個数及び属性に応じた得点をプレーヤのスコアへ反映させ（Ｓ２９）、かつ、消滅させたオブジェクトの個数に応じた数のオブジェクトをオブジェクト空間１５００へ補充し（Ｓ３１）、終了判定（Ｓ３３）へ移行する。
【０２６６】
そして、処理部２００は、終了指示がプレーヤから入力された場合に（Ｓ３３Ｙ）フローを終了する。
【０２６７】
４−７．実施形態の作用効果
以上説明したとおり、上記実施形態の端末装置２０は、属性の異なる複数種類のオブジェクトＯＢＡ、ＯＢＢ、ＯＢＣ、ＯＢＤを含むオブジェクト群をオブジェクト空間１５００へ配置する（Ｓ１１）。
【０２６８】
また、上記実施形態の端末装置２０は、オブジェクト空間１５００に存在する少なくとも１つのオブジェクトをプレーヤがホールドした場合に（Ｓ１３）、ホールド中のオブジェクトへプレーヤのドラッグ操作に応じた仮想外力を加える（Ｓ１７）。
【０２６９】
また、上記実施形態の端末装置２０は、ホールド中のオブジェクトに対して、同属のオブジェクト間で伝達可能な仮想連結力を発生させる（Ｓ１５）。
【０２７０】
また、上記実施形態の端末装置２０は、仮想外力及び仮想連結力に従い、オブジェクト空間１５００における各オブジェクトの動きを制御する（Ｓ１５、Ｓ１７）。
【０２７１】
また、上記実施形態の端末装置２０は、オブジェクト空間１５００内において互いに接触又は近接する同属のオブジェクト群が消滅条件を満たす場合に（Ｓ２６Ｙ）、当該オブジェクト群をオブジェクト空間１５００から消去する（Ｓ２７）。
【０２７２】
従って、プレーヤは、ホールドしたオブジェクトで同属の１又は複数のオブジェクトを引き寄せ、当該同属のオブジェクトを当該ホールドしたオブジェクトへ連結させるという感覚を楽しむことができる。このときのオブジェクトの動きは、磁石に引き寄せられる磁性体の動きに似ている。
【０２７３】
また、プレーヤは、自分のホールドしたオブジェクトをドラッグすることにより、オブジェクト空間内に点在していた同属の複数のオブジェクトをも互いに近接した位置に集めることができるので、消滅可能なオブジェクトの個数を自分の意思で増やすという楽しみ方をすることができる。連結数を増やすには手間がかかるが、その分だけ消去されるオブジェクトの個数が増えるので、より高い爽快感をプレーヤが感じることになる。このため、プレーヤは、より高い爽快感を求めて連結数の向上を目指すと考えられる。
【０２７４】
また、プレーヤは、自分のホールドしたオブジェクトと、当該オブジェクトに連結したオブジェクとからなるオブジェクト列をオブジェクト空間内でドラッグことにより、オブジェクト空間に存在するオブジェクト群を撹拌し、当該オブジェクト群に含まれる個々のオブジェクトの位置関係に変化を生じさせることもできる。
【０２７５】
また、オブジェクトの消滅後にオブジェクトの位置関係が変化すると、消滅条件を満たす同属のオブジェクト群が新たに発生する可能性もあって、オブジェクトの消滅の連鎖という現象も起こり得る。この場合、プレーヤは、少ない手数で多くのオブジェクトを消去できたという更なる爽快感を味わうことも可能である。
【０２７６】
従って、プレーヤは、シンプルな操作であるスライド操作によりオブジェクトに新規かつ面白みのある動きをさせ、パズルゲームならではの爽快感を味わうことができる。
【０２７７】
４−８．実施形態の補足
因みに、以上の実施形態において、ホールド中のオブジェクトに加わる力（ちから）のベクトルを可視化すると、例えば図２５に示すとおりである。なお、図２５では、オブジェクト空間１５００を三次元空間とした。
【０２７８】
つまり、上述したゲーム制御部２１４は、ホールド中のオブジェクトＯＢの動きを制御する際に、仮想外力８０ｂ、仮想浮力８０ｃ、仮想重力８０ｄ、仮想摩擦力８０ｆなどのパラメータを考慮したアルゴリズム（仮想物理法則）に従う。
【０２７９】
但し、仮想摩擦力８０ｆは、オブジェクトＯＢに接触中の障害物（他のオブジェクト、オブジェクト空間の壁など）から受ける力であって、接触中の障害物が存在しない場合にはゼロベクトルとなる。
【０２８０】
また、ゲーム制御部１２４は、ホールド中のオブジェクトＯＢの近傍に、仮想連結力の作用する範囲８０ａを設定する。すなわち、ゲーム制御部１２４は、ホールド中のオブジェクトＯＢに仮想連結力を発生させる。そして、ゲーム制御部１２４は、範囲８０ａに交差した同属のオブジェクトの動きを、不図示の仮想連結力と、同属のオブジェクトに加わる力（ちから）とに従って制御する。
【０２８１】
従って、本実施形態の端末装置２０は、オブジェクト空間１５００内で物理法則（磁力相当の連結力を含む）を再現するシミュレーション装置としての役割を果たす。
【０２８２】
５．変形例
５−１．オブジェクトの質感等について
ゲーム制御部２１４は、オブジェクト空間１５００に存在する各オブジェクトの質感を、各種の質感に設定することができる。ゲーム制御部２１４は、オブジェクトの質感を例えばぬいぐるみの質感に設定してもよいし、ボールの質感に設定してもよいし、動物としてもよいし、金属の質感にしてもよい。また、ゲーム制御部２１４は、オブジェクトの質感をぬいぐるみの質感にする場合は、当該オブジェクトに対してぬいぐるみ相当の弾力を付与するとよい。また、ゲーム制御部２１４は、オブジェクトの質感をボールの質感にする場合は、当該オブジェクトに対してボール相当の弾力を付与するとよい。
【０２８３】
因みに、本実施形態のオブジェクト空間１５００には、仮想連結力が発生し、仮想連結力は、実空間における磁力と似た振る舞いをするので、オブジェクトを金属オブジェクト（金属ブロック、乗り物を模したオブジェクト、ロボットを模したオブジェクト、クリップを模したオブジェクト、ネジなどの部品を模したオブジェクト、その他の金属のオブジ
ェクト）とすることで、オブジェクトの動きにリアリティを持たせることができる。また、音処理部２３０は、金属オブジェクトと金属オブジェクトとが連結するときに、音出力部２９２を介して金属同士が連結するときの音を発するようにしてもよい。
【０２８４】
また、ゲーム制御部２１４は、仮想連結力の発生の有無及び仮想連結力の発生箇所をプレーヤへ知らせるために、仮想連結力の発生箇所に連結具を発現させてもよい。例えば、ぬいぐるみオブジェクトや動物オブジェクトにおける仮想連結力の発生箇所から手指を発現させ、２つのオブジェクトが連結すると２つのオブジェクト同士が手指を繋ぐようにしてもよい。
【０２８５】
５−２．押圧力によるパラメータ調整について
上記の実施形態の端末装置２０は、タッチパネルへの押圧力に応じて仮想連結力を調節したが、この調節の機能は端末装置２０に搭載されなくてもよいし、調節の機能が端末装置２０に発現するか否かをプレーヤに予め選択させてもよい。また、押圧力の感度（押圧力と仮想連結力との関係）は、調節可能であってもよいし、調節をプレーヤに行わせてもよい。なお、プレーヤによる選択又は調節等は、入力部２６０を介して行われる。
【０２８６】
上記の実施形態の端末装置２０は、タッチパネルへの押圧力に応じて仮想外力を調節したが、この調節の機能は端末装置２０に搭載されなくてもよいし、調節の機能が端末装置２０に発現するか否かをプレーヤに予め選択させてもよい。また、押圧力の感度（押圧力と仮想外力との関係）は、調節可能であってもよいし、調節をプレーヤに行わせてもよい。なお、プレーヤによる選択又は調節等は、入力部２６０を介して行われる。
【０２８７】
５−３．仮想反発力について
ゲーム制御部２１４は、オブジェクト空間１５００内に存在する少なくとも２つのオブジェクトの間に、マイナスの仮想連結力（仮想反発力）を発生させてもよい。マイナスの仮想連結力は、２つのオブジェクトに対して互いに反発するような動きをさせてもよい。例えば、ゲーム制御部２１４は、属性の異なる２種類のオブジェクトの間にマイナスの仮想連結力を発生させてもよい。このようにすれば、例えば、プレーヤは、自分の指定したオブジェクトで他属の１又は複数のオブジェクトを追い払うという感覚を楽しむことができる。
【０２８８】
５−４．加速度センサを利用したシャッフルについて
上記の実施形態の端末装置２０が入力部２６０として加速度センサを搭載している場合には、ゲーム制御部２１４は、仮想重力の方向を加速度センサの出力に応じて変化させたり、端末装置２０に実際に加えられた外力に応じてオブジェクトへ仮想外力を加えたりしてもよい。この場合、プレーヤは、端末装置２０の全体を動かすことによってオブジェクト空間１５００内のオブジェクト群を撹拌することができる。
【０２８９】
５−５．特殊オブジェクトについて
ゲーム制御部２１４は、属性が可変な特殊オブジェクト（以下、「レインボーオブジェクト」と称す。）をオブジェクト空間１５００に配置してもよい。レインボーオブジェクトは、属性が可変なオブジェクトであり、例えば、プレーヤにとってゲームで高得点を得るために有利に働くオブジェクト、又はプレーヤにとって不利に働くオブジェクトである。
【０２９０】
例えば、ゲーム制御部２１４は、他の属性のオブジェクトよりも低頻度でレインボーオブジェクトをオブジェクト空間１５００へ補充（投入）する。
【０２９１】
また、例えば、ゲーム制御部２１４は、レインボーオブジェクトの外観を、他のオブジ
ェクトの外観とは異なるものに設定する。例えばゲーム制御部２１４は、レインボーオブジェクトの色を他のオブジェクトよりも目立つ色（例えば、虹色、時間変化する色、メタリックカラーなど）に設定し、レインボーオブジェクトの形状を、他のオブジェクトとは異なる形状（例えば、特大の球体）に設定する。
【０２９２】
そして、ゲーム制御部２１４は、レインボーオブジェクトの属性（少なくとも仮想連結力に関する属性）を、例えば、プレーヤがホールドしたオブジェクトの属性と同じに設定する。この場合、ホールド中のオブジェクトにレインボーオブジェクトが連結されるので、プレーヤが高得点を得られる確率を高めることができる。
【０２９３】
なお、ゲーム制御部２１４は、プレーヤがホールドしたオブジェクトに対してマイナスの仮想連結力（仮想反発力）を有する属性にレインボーオブジェクトの属性を設定してもよい。
【０２９４】
また、ゲーム制御部２１４は、レインボーオブジェクトをオブジェクト空間１５００に投入するためにプレーヤが満たすべき条件を定めることもできる。
【０２９５】
例えば、ゲーム制御部２１４は、レインボーオブジェクトの属性を、複数の属性の間でサイクリックに時間変化させ、プレーヤがレインボーオブジェクトをタッチ操作した時点における属性を、当該時点以降におけるレインボーオブジェクトの属性に固定してもよい。その場合は、プレーヤがレインボーオブジェクトをタッチ操作したタイミングでレインボーオブジェクトの属性が決まるので、プレーヤがレインボーオブジェクトの属性を自分の意思で設定できるという面白さがある。
【０２９６】
以上のレインボーオブジェクトがオブジェクト空間１５００に配置されれば、プレーヤの状況を急激に好転させたり急激に悪化させたりするのに（ゲームの展開を急激に変化させるのに）有効である。
【０２９７】
５−６．ポインティングデバイスについて
上記の実施形態では、端末装置２０のユーザインタフェースとしてタッチパネルを利用したが、ゲーム画面上のカーソル（ポインタ）を移動させる他のポインティングデバイスを利用することもできる。以下、他のポインティングデバイスの例として、マウス及びタッチトラックパッドを順に説明するが、トラックボールなどの他種のポインティングデバイスについても同様に利用が可能である。
【０２９８】
５−６−１．マウスについて
以下、マウスを利用する場合の一例を説明する。
【０２９９】
この場合、ユーザは、ゲーム画面に出現している何れかのオブジェクト上にカーソル（ポインタ）が位置しているときにマウスの確定ボタンを押下することで、当該オブジェクトをホールド（「ホールド」の定義は前述のとおりである。）することができる。但し、ここでいう「確定ボタン」には、マウスのいわゆる左ボタンだけでなく、マウスにおいて確定ボタンの機能が割り付けられた部分なども含まれるものとする（以下、同様。）。
【０３００】
また、ユーザは、ホールド後にマウスの確定ボタンを押下しながらマウスをスライドさせ、ゲーム画面内のカーソル（ポインタ）を移動させることで、当該オブジェクトをドラッグすることができる（「ドラッグ」の定義は前述のとおりである。）。
【０３０１】
また、ユーザは、オブジェクトのホールド中にマウスの確定ボタンを解除することで、当該オブジェクトをリリースすることができる（「リリース」の定義は前述のとおりであ
る。）。
【０３０２】
なお、以上のホールド、ドラッグ、リリース等のユーザ操作を検出するために、ゲーム制御部２１４は、タッチパネルを利用した場合と同様、タッチ検出処理部２１１と協働してゲーム画面の各フレームにおけるタッチ位置を検出する。但し、マウスが利用された場合、ゲーム制御部２１４は、マウスの確定ボタンが押下されているときにおけるカーソル（ポインタ）の位置を、当該タッチ位置として検出する。
【０３０３】
また、ゲーム制御部２１４は、マウスの確定ボタンに押圧力の検知機能が搭載されていない場合には、押圧力に応じて仮想外力等を制御する機能（前述）をオフし、マウスの確定ボタンに押圧力の検知機能が搭載されている場合には、ゲーム制御部２１４は、押圧力に応じて仮想外力等を制御する機能（前述）をオンするものとする。
【０３０４】
５−６−２．タッチトラックパッドについて
以下、タッチトラックパッドを利用する場合の一例を説明する。
【０３０５】
この場合、ユーザは、ゲーム画面に出現している何れかのオブジェクト上にカーソル（ポインタ）が位置しているときにタッチトラックパッドの確定ボタンを押下することで、当該オブジェクトをホールド（「ホールド」の定義は前述のとおりである。）することができる。但し、ここでいう「確定ボタン」には、タッチトラックパッドに設けられた確定ボタンだけでなく、タッチトラックパッドにおいて確定ボタンの機能が割り付けられた部分なども含まれるものとする（以下、同様。）。
【０３０６】
また、ユーザは、ホールド後にタッチトラックパッドの確定ボタンを押下しながら手指でタッチトラックパッドをなぞり、ゲーム画面内のカーソル（ポインタ）を移動させることで、当該オブジェクトをドラッグすることができる（「ドラッグ」の定義は前述のとおりである。）。
【０３０７】
また、ユーザは、オブジェクトのホールド中にタッチトラックパッドの確定ボタンを解除することで、当該オブジェクトをリリースすることができる（「リリース」の定義は前述のとおりである。）。
【０３０８】
なお、以上のホールド、ドラッグ、リリース等のユーザ操作を検出するために、ゲーム制御部２１４は、タッチパネルを利用した場合と同様、タッチ検出処理部２１１と協働してゲーム画面の各フレームにおけるタッチ位置を検出する。但し、タッチトラックパッドが利用された場合、ゲーム制御部２１４は、タッチトラックパッドの確定ボタンが押下されているときにおけるカーソル（ポインタ）の位置を、当該タッチ位置として検出する。
【０３０９】
また、ゲーム制御部２１４は、タッチトラックパッドの確定ボタンに押圧力の検知機能が搭載されていない場合には、押圧力に応じて仮想外力等を制御する機能（前述）をオフし、タッチトラックパッドの確定ボタンに押圧力の検知機能が搭載されている場合には、押圧力に応じて仮想外力等を制御する機能（前述）をオンするものとする。
【０３１０】
５−７．オブジェクト空間及び視点について
上記の実施形態の端末装置２０は、オブジェクト空間１５００の次元を２次元としたが、３次元としてもよい。また、上記の実施形態の端末装置２０は、仮想カメラの視点を切り替え可能としてもよい。また、上記の実施形態の端末装置２０は、仮想カメラの視点をプレーヤが切り替え可能としてもよい。
【０３１１】
５−８．処理部の機能分担について
上述した処理部２００に含まれる各要素の機能分担については、前述したものに限定されることはない。例えば、ゲーム処理部２１４の機能の一部は、オブジェクト空間設定部２１０によって実行されてもよい。また、例えば、ゲーム演算部２１５の機能の一部又は全部は、ゲーム制御部２１４によって実行されてもよい。また、例えば、表示制御部２１２の機能の一部又は全部は、ゲーム制御部２１４によって実行されてもよい。また、ゲーム制御部２１４の機能の一部又は全部は、表示制御部２１２によって実行されてもよい。また、端末装置２０には、処理部２００の機能の一部又は全部を実現する専用の回路（ハードウエア）が搭載されてもよい。
【０３１２】
５−９．その他の変形例
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０３１３】
例えば、本実施形態は、一のサーバ装置１０によって各ゲームを端末装置２０に提供してもよいし、複数のサーバ装置１０を連動させてサーバシステムを構築し、各ゲームを端末装置に提供してもよい。
【０３１４】
さらに、本実施形態においては、サーバ装置１０によって提供されたゲームを端末装置２０によって実行されているが、タッチ検出処理部２１１を除き、上記の端末装置２０の処理部２００の各機能及びゲームプログラムの実行をサーバ装置１０で実行し、当該端末装置２０は、操作入力とストリーミングによる画像表示を実行することによって、上記のゲームを実現してもよい。
【０３１５】
また、本実施形態においては、ゲーム装置に本発明の端末装置を適用しているが、ゲーム装置に限らず、スマートフォン、タブレット型情報端末装置、パーソナルコンピュータ、モニター又はテレビなどのタッチパネルを用いて操作入力を実行可能な端末装置であれば、本発明の端末装置を提供することができる。
【０３１６】
本発明は、実施形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施形態で説明した構成に公知技術を付加した構成を含む。
【０３１７】
上記のように、本発明の実施形態について詳細に説明したが、本発明の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。したがって、このような変形例はすべて本発明の範囲に含まれるものとする。
【符号の説明】
【０３１８】
１０  …  サーバ装置
２０  …  端末装置
２００  …  処理部
１０１  …  通信制御部
１０２  …  Ｗｅｂ処理部
１０３  …  ゲーム演算実行部
１０４  …  ゲーム管理部
１２０  …  入力部
１３０  …  表示部
１４０  …  記憶部
１４２  …  主記憶部
１４４  …  ゲーム情報
１４６  …  プレーヤ情報
１４８  …  自動演算情報
１８０  …  情報記憶媒体
１９６  …  通信部
２００  …  処理部
２１０  …  オブジェクト空間設定部
２１１  …  タッチ検出処理部
２１２  …  表示制御部
２１３  …  入力受付処理部
２１４  …  ゲーム制御部
２１５  …  ゲーム演算部
２１６  …  仮想カメラ制御部
２１７  …  ゲーム管理部
２２０  …  描画部
２３０  …  音処理部
２７０  …  記憶部
２７１  …  主記憶部
２７２  …  画像バッファ
２７３  …  プレーヤ情報
２６０  …  入力部
２６２  …  検出部
２８０  …  情報記憶媒体
２９０  …  表示部
２９１  …  音出力部
【図１】
2020189138.tif 000003
【図２】
2020189138.tif 000004
【図３】
2020189138.tif 000005
【図４】
2020189138.tif 000006
【図５Ａ】
2020189138.tif 000007
【図５Ｂ】
2020189138.tif 000008
【図５Ｃ】
2020189138.tif 000009
【図６】
2020189138.tif 000010
【図７】
2020189138.tif 000011
【図８】
2020189138.tif 000012
【図９】
2020189138.tif 000013
【図１０】
2020189138.tif 000014
【図１１】
2020189138.tif 000015
【図１２】
2020189138.tif 000016
【図１３】
2020189138.tif 000017
【図１４】
2020189138.tif 000018
【図１５】
2020189138.tif 000019
【図１６】
2020189138.tif 000020
【図１７】
2020189138.tif 000021
【図１８】
2020189138.tif 000022
【図１９】
2020189138.tif 000023
【図２０】
2020189138.tif 000024
【図２１】
2020189138.tif 000025
【図２２】
2020189138.tif 000026
【図２３】
2020189138.tif 000027
【図２４】
2020189138.tif 000028
【図２５】
2020189138.tif 000029