説明

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

【構成】操作ブロックB2をX方向に積層ブロックB1と衝突させると、積層ブロックB1において操作ブロックB2と相対するブロック層がX方向にシフトして操作ブロックB2は積層ブロックB1に吸収され、そしてシフトされたブロック層の操作ブロックB2と相対する側とは反対側の端部が積層ブロックB1から排出される。排出されたブロックは、新たな操作ブロックとして再び積層ブロックB1と衝突させることができる。かかる衝突操作は、積層ブロックB1において所定の並びが完成するまで繰り返される。
【効果】積層ブロック群の配列をダイナミックに変化させることができ、積層ブロック群において所定の並びを完成させることでブロックを消していくゲームの戦略性が高まる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ゲームプログラムおよびゲーム装置に関し、特にたとえば、ゲームフィールド内に形成された積層ブロック群において所定の並びを完成させることでブロックを消していく、ゲームプログラムおよびゲーム装置に関する。
【背景技術】
【0002】
従来のこの種のプログラムないし装置としては、特許文献1〜3に開示されたものが知られている。特許文献1の従来技術では、ゲームフィールドの下辺側で上方に移動するブロックが順次生成され、これらがゲームフィールドの上辺側で積み重なって積層ブロック群を形成する。プレイヤがレバーを操作すると、上昇中のブロックの左右方向の位置が変化する。
【0003】
特許文献2の従来技術では、ゲームフィールドの上辺側で下方に移動するブロックが順次生成され、これらがゲームフィールドの下辺側で積み重なって積層ブロック群を形成する。プレイヤが積層ブロック群中の隣り合う一対のブロックをカーソルで囲むと、これらのブロックは互いに入れ替わる。
【0004】
特許文献3の従来技術では、特許文献2と同様にしてゲームフィールド内に積層ブロック群が形成される。プレイヤが交換用のブロックを保持したカーソルを積層ブロック群のいずれかのブロックの位置へと移動させると、カーソルのブロックと積層ブロック群の当該ブロックとが交換される。
【特許文献1】特開2000−271348号公報
【特許文献2】特開2005−334356号公報
【特許文献3】特開平10−66784号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかし、特許文献1の従来技術では、プレイヤの操作は、直接には移動中のブロックにしか及ばないので、既に形成された積層ブロック群の並び替えは困難である。特許文献2の従来技術では、操作が積層ブロック群に直接及ぶものの、隣り合う一対のブロックが互いに入れ替わるに過ぎない。特許文献3の従来技術でも、あるブロックが別のブロックと交換されるだけである。
【0006】
このように、従来技術では、積層ブロック群の配列はプレイヤの操作に対して静的であるか局所的にしか変化しないので、ブロックを動かす躍動感に欠け、また所定の並びを完成させてブロックを消していく戦略性が乏しい。
【0007】
それゆえに、この発明の主たる目的は、躍動感および戦略性を高めることができる、ゲームプログラムおよびゲーム装置を提供することである。
【課題を解決するための手段】
【0008】
この発明が適用されるゲーム装置(10:実施例で相当する参照符号。以下同じ)は、次のものを備える:プレイヤによって操作される操作手段(18);操作手段の操作対象である操作ブロック(B2)と配列条件を満足したとき消去されるブロックからなるブロック群(B1)とを含むゲームフィールド(GF)を表示する表示手段(12,14);操作ブロックについて属性データおよび位置データの各々を記憶する第1記憶手段(94);およびブロック群について属性データおよび位置データの各々をブロック毎に記憶する第2記憶手段(96)。
【0009】
第1の発明に従うゲームプログラムは、かかるゲーム装置のコンピュータ(42)に、次のステップを実行させる:操作手段の操作に応じて第1記憶手段の位置データを更新することによって、ゲームフィールド内で操作ブロックを移動させる移動ステップ(S7〜S11);第1記憶手段の位置データと第2記憶手段の位置データとに基づいてゲームフィールド内で操作ブロックとブロック群とが衝突するか否かを判別する衝突判別ステップ(S13);衝突判別ステップの判別結果が肯定的であるとき第2記憶手段の位置データの一部を更新しかつ第1記憶手段の属性データおよび位置データの各々を第2記憶手段に移動することによって、ブロック群において操作ブロックと相対しかつ当該操作ブロックの移動方向に並んだ第1部分ブロック群(B1a)を当該移動方向にシフトして当該操作ブロックを当該ブロック群に吸収する吸収ステップ(S15);吸収ステップの吸収処理に伴って第2記憶手段の属性データの一部を第1記憶手段に移動しかつ当該第1記憶手段の位置データを更新することによって、第1部分ブロック群の操作ブロックと相対する側とは反対側の端部を新たな操作ブロックとしてブロック群から排出する排出ステップ(S17)。
【0010】
第1の発明では、表示手段に表示されるゲームフィールドは、操作手段の操作対象である操作ブロックと、配列条件を満足したとき消去されるブロックからなるブロック群とを含む。第1記憶手段には操作ブロックについて属性データおよび位置データの各々が記憶され、第2記憶手段にはブロック群について属性データおよび位置データの各々がブロック毎に記憶される。プレイヤが操作手段を操作すると、第1記憶手段の位置データは移動ステップによって更新され、ゲームフィールド内で操作ブロックが移動する。
【0011】
衝突判別ステップは、こうして移動する操作ブロックがブロック群と衝突するか否かを、第1記憶手段の位置データと第2記憶手段の位置データとに基づいて判別する。この判別結果が肯定的であれば、吸収ステップが第2記憶手段の位置データの一部を更新しかつ第1記憶手段の属性データおよび位置データの各々を第2記憶手段に移動することで、ブロック群において操作ブロックと相対しかつ当該操作ブロックの移動方向に並んだブロックからなる第1部分ブロック群が当該移動方向にシフトして当該操作ブロックは当該ブロック群に吸収される。
【0012】
この吸収処理に伴い、排出ステップが第2記憶手段の属性データの一部を第1記憶手段に移動しかつ当該第1記憶手段の位置データを更新することで、第1部分ブロック群の操作ブロックと相対する側とは反対側の端部が新たな操作ブロックとしてブロック群から排出される。
【0013】
第1の発明によれば、操作ブロックを移動させてブロック群と衝突させると、ブロック群において第1部分ブロック群がシフトして操作ブロックはブロック群に吸収され、そして第1部分ブロック群の操作ブロックと相対する側とは反対側の端部がブロック群から排出される。こうして排出されたブロックは、新たな操作ブロックとして再びブロック群と衝突させることができる。かかる衝突操作を繰り返すことで、ブロック群の配列をダイナミックに変化させることができ、その結果として、ブロック群において所定の並びを完成させることでブロックを消していくゲームの戦略性が高まる。
【0014】
第2の発明に従うゲームプログラムは、第1の発明に従属する。ゲームフィールド内でブロック群は、第1方向(X)の中央に配置され、かつ第1方向およびこれと交差する第2方向(Y)の各々にブロックを敷き詰めた積層構造を有する。ゲームフィールド内で操作ブロックは、ブロック群に対して第1方向の一方側に配置され、かつ操作手段の操作に従って第1方向および第2方向のいずれかに移動する。
【0015】
衝突判別ステップは、操作ブロックとブロック群とが第1方向に衝突するか否かを判別する。吸収ステップは、第1部分ブロック群を第1方向にシフトすることで操作ブロックをブロック群の当該第1方向の一方端部に吸収し、排出ステップは、新たな操作ブロックをブロック群の第1方向の他方端部から排出する。
【0016】
第2の発明によれば、ゲームフィールド内で第1方向および第2方向を基準にブロックを配置しかつ移動させるので、ゲームフィールド内が視覚的に整理され、快適性が向上する。なお、好ましい実施例では、ゲームフィールド内に第2方向に移動する追加ブロック(B3)が順次投入され、これらはブロック群と出会ってその一部となるが、操作ブロックとブロック群との衝突方向を第1方向としたので、衝突操作によって追加ブロック投入処理が妨げられることもない。
【0017】
第3の発明に従うゲームプログラムは、第1または第2の発明に従属し、コンピュータに次のステップをさらに実行させる:ブロック群において同一の属性を有するブロックが第1配列をなしたか否かを第2記憶手段の属性データおよび位置データの各々に基づいて判別する配列判別ステップ(S23);および配列判別ステップの判別結果が肯定的であるとき第2記憶手段の属性データおよび位置データの各々を更新することによって、ゲームフィールド内でブロック群から同一属性を有しかつ第1配列に従うブロックからなる第2部分ブロック群(B1b)を消去する消去ステップ(S27)。
【0018】
第3の発明では、配列条件は、ブロック群において同一の属性を有するブロックが第1配列をなすという条件を含む。従って、ブロック群において同一属性を有するブロックが第1配列をなせば、これらのブロックはブロック群から消去される。なお、好ましい実施例では、同色のブロックが第1方向および第2方向の少なくとも一方に3つ以上並んだとき、これらのブロックは消去される。
【0019】
第4の発明に従うゲームプログラムは、第3の発明に従属し、コンピュータに、消去ステップの消去対象から消去不可の属性を有するブロックを除外する除外ステップ(S25)をさらに実行させる。
【0020】
第4の発明では、消去不可の属性を有するブロックは、除外ステップによって消去ステップの消去対象から除外される、すなわち配列条件を満足しても消去されない。これにより、ゲームの困難性が高まる。
【0021】
第5の発明に従うゲームプログラムは、第4の発明に従属し、コンピュータに次のステップをさらに実行させる:配列判別ステップの判別結果が肯定的であるとき、第2記憶手段の位置データおよび属性データの各々を参照することによって、第2部分ブロック群のブロックに隣接しかつ消去不可の属性を有する隣接消去不可ブロック(B1d)が存在するか否かを判別する存在判別ステップ(S29);および存在判別ステップの判別結果が肯定的であるとき、隣接消去不可ブロックの属性を第2部分ブロック群と同じ属性に変更する属性変更ステップ(S31)。
【0022】
第5の発明では、配列判別ステップの判別結果が肯定的であるとき、存在判別ステップによって、第2部分ブロック群に隣接しかつ消去不可の属性を有する隣接消去不可ブロックが存在するか否かが第2記憶手段の位置データおよび属性データの各々に基づいて判別される。この判別結果が肯定的であれば、属性変更ステップが第2記憶手段の属性データの一部を更新し、これにより隣接消去不可ブロックの属性は第2部分ブロック群と同じ属性に変化する。
【0023】
第5の発明によれば、隣接消去不可ブロックは、第2部分ブロック群の消去に伴って消去可となる。こうして消去不可のブロックの数を減らすことで、ゲームの困難性を緩和できる。
【0024】
第6の発明に従うゲームプログラムは、第3ないし第5のいずれかの発明に従属する。ゲーム装置は、消去ブロック数がレベルクリア基準にどの程度近づいたかを示すレベルクリア指標データを記憶する第3記憶手段(104)をさらに備える。そしてゲームプログラムは、コンピュータに次のステップをさらに実行させる:消去ステップによって消去されたブロックの数を計数する計数ステップ(S33);計数ステップの計数結果に基づいて第3記憶手段のレベルクリア指標データを更新する第1指標更新ステップ(S35);第1指標更新ステップの更新結果がレベルクリア基準到達を示すとき表示手段を通して課題を提示する提示ステップ(S43);提示ステップによって提示された課題が操作手段の操作を通して解決されたか否かを判別する解決判別ステップ(S45);および解決判別ステップの判別結果が肯定的であるとき新たなゲームレベルに進むためのレベルクリア処理を実行するレベルクリアステップ(S51)。
【0025】
第6の発明では、消去ブロック数がレベルクリア基準にどの程度近づいたかを示すレベルクリア指標データが第3記憶手段に記憶される。計数ステップは消去ステップによって消去されたブロックの数を計数し、第1指標更新ステップは第3記憶手段のレベルクリア指標データを計数ステップの計数結果に基づいて更新する。
【0026】
提示ステップは、第1指標更新ステップの更新結果がレベルクリア基準到達を示すとき、表示手段を通して課題を提示する。提示された課題が操作手段の操作を通して解決されたか否かは、解決判別ステップにより判別される。レベルクリアステップは、配列判別ステップの判別結果が肯定的であるとき、新たなゲームレベルに進むためのレベルクリア処理を実行する。
【0027】
第6の発明によれば、基準に到達しそして課題を解決して初めて、新たなレベルに進めるようにしたので、ゲームの困難性および多様性が高まる。
【0028】
第7の発明に従うゲームプログラムは、第6の発明に従属する。提示ステップは、第2記憶手段の属性データの一部を更新することによって、ブロック群内のランダムな位置にレベルクリア課題の属性を有するレベルクリア課題ブロックを出現させる。解決判別ステップは、第2記憶手段の属性データおよび位置データの各々に基づいて、ブロック群においてレベルクリア課題ブロックが第2配列をなしたか否かを判別する。
【0029】
第7の発明では、ブロック群内のランダムな位置に配置されたレベルクリア課題ブロックが、課題として提示される。そして、衝突操作によりブロック群の配列が変化し、ブロック群においてレベルクリア課題ブロックが第2配列をなせば、この課題は解決されたと判別される。
【0030】
第7の発明によれば、衝突操作によってブロック群の配列を変化させるという枠組みの中で、ゲームに多様性を持たせることができる。
【0031】
第8の発明に従うゲームプログラムは、第6または第7の発明に従属し、ゲームフィールドは、第1指標更新ステップの更新処理に応じて移動する第1キャラクタ(A1)をさらに含む。
【0032】
第8の発明では、ゲームフィールド内に消去ブロック数の増加につれて移動する第1キャラクタが表示される。
【0033】
第8の発明によれば、プレイヤはレベルクリア基準への到達度合いを直感的に認識できるので、快適性が高まる。
【0034】
第9の発明に従うゲームプログラムは、第6ないし第8のいずれかの発明に従属する。ゲーム装置は、次のものをさらに備える:ゲームスタートからの経過時間を計時するタイマ(T);およびゲームオーバまでの残り時間を示すゲームオーバ指標データを記憶する第4記憶手段(102)。ゲームプログラムはコンピュータに、タイマの値および計数ステップの計数結果に基づいて第4記憶手段のゲームオーバ指標データを更新する第2指標更新ステップ(S37)をさらに実行させる。そしてゲームフィールドは、第2指標更新ステップの更新処理に応じて移動する第2キャラクタ(L3)をさらに含む。
【0035】
第9の発明では、ゲームスタートからの経過時間はタイマによって計時され、第4記憶手段にはゲームオーバまでの残り時間を示すゲームオーバ指標データが記憶される。第2指標更新ステップは、タイマの値および計数ステップの計数結果に基づいて、第4記憶手段のゲームオーバ指標データを更新する。ゲームフィールド内の第2キャラクタは、第2指標更新ステップの更新処理に応じて移動する。
【0036】
第9の発明によれば、ゲームの残り時間を経過時間および消去ブロック数に基づいて制御するので、より高い得点が可能になり、プレイヤの意欲を高めることができる。また、残り時間に応じて移動する第2キャラクタをゲームフィールド内に表示することで、プレイヤの焦燥感を煽ることができる。
【0037】
第10の発明に従うゲームプログラムは、第9の発明に従属し、第2キャラクタは、ゲームフィールド内で第1方向に延びかつ第2方向に移動するゲームオーバラインである。このゲームオーバラインは、時間の経過につれて第2方向の一方から他方に前進し、かつ消去ブロック数に応じて第2方向の他方から一方に後退する。そして移動ステップは、操作ブロックがゲームオーバラインの前方にあるときと後方にあるときとで、当該操作ブロックの移動速度を異ならせる。
【0038】
第10の発明では、ゲームフィールド内に第1方向に延びかつ第2方向に移動するゲームオーバラインが表示される。ゲームオーバラインは、時間の経過につれて第2方向の一方から他方に前進し、消去ブロック数に応じて第2方向の他方から一方に後退する。操作ブロックの移動速度つまり衝突操作のレスポンスは、ゲームオーバラインの前後で変化する。
【0039】
第10の発明によれば、衝突操作のレスポンスを変化させることでゲームの困難性に幅を持たせることができ、またレスポンス変化をゲームオーバラインと関連させたことでプレイヤの焦燥感を一層煽ることができる。
【0040】
第11の発明に従うゲーム装置(10)は、次のものを備える:プレイヤによって操作される操作手段(18);操作手段の操作対象である操作ブロック(B2)と、消去条件を満足したとき消去されるブロックからなるブロック群(B1)とを含むゲームフィールド(GF)を表示する表示手段(12,14);操作ブロックについて属性データおよび位置データの各々を記憶する第1記憶手段(94);ブロック群について属性データおよび位置データの各々をブロック毎に記憶する第2記憶手段(96);操作手段の操作に応じて第1記憶手段の位置データを更新することによって、ゲームフィールド内で操作ブロックを移動させる移動手段(S7〜S11);第1記憶手段の位置データと第2記憶手段の位置データとに基づいてゲームフィールド内で操作ブロックとブロック群とが衝突するか否かを判別する衝突判別手段(S13);衝突判別手段の判別結果が肯定的であるとき第2記憶手段の位置データの一部を更新しかつ第1記憶手段の属性データおよび位置データの各々を第2記憶手段に移動することによって、ブロック群において操作ブロックと相対しかつ当該操作ブロックの移動方向に並んだ第1部分ブロック群(B1a)を当該移動方向にシフトして当該操作ブロックを当該ブロック群に吸収する吸収手段(S15);吸収手段の吸収処理に伴って第2記憶手段の属性データの一部を第1記憶手段に移動しかつ当該第1記憶手段の位置データを更新することによって、第1部分ブロック群の操作ブロックと相対する側とは反対側の端部を新たな操作ブロックとしてブロック群から排出する排出手段(S17)。
【0041】
第11の発明でも、第1の発明と同様に、ブロック群の配列をダイナミックに変化させることができ、戦略性が高まる。
【発明の効果】
【0042】
この発明によれば、積層ブロック群において所定の並びを完成させることでブロックを消していくゲームの躍動感および戦略性を高めることができる。加えて、快適性を向上させ、困難性を制御し、多様性を付加し、そして焦燥感を煽ることができ、この結果、プレイヤの挑戦意欲を引き出すことが可能となる。
【0043】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0044】
図1を参照して、この発明の一実施例であるゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0045】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイなどを用いるようにしてもよい。
【0046】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aと同程度に形成され、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、上側ハウジング16aには、LCD12を挟むように、右側に音抜き孔22aが、左側に音抜き孔22bが、左右対称に形成される。またハウジング16には各種の操作スイッチ18a,18b,18c,18d,18e,18f,18h,18g,18Lおよび18R(個々を区別する必要がない場合は“操作スイッチ18”と呼ぶ)が配置される。
【0047】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが軸Aの周りに回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0048】
操作スイッチ18は、方向指示スイッチ(十字スイッチ)18a,スタートスイッチ18b,セレクトスイッチ18c,動作スイッチ(Aボタン)18d,動作スイッチ(Bボタン)18e,動作スイッチ(Xボタン)18f,動作スイッチ(Yボタン)18g,電源スイッチ18h,動作スイッチ(Lボタン)18Lおよび動作スイッチ(Rボタン)18Rを含む。スイッチ18aおよび18hは、下側ハウジング16bの一方主面において、LCD14の左側に配置される。また、スイッチ18bないし18gは、下側ハウジング16bの一方主面において、LCD14の右側に配置される。さらに、スイッチ18Lおよびスイッチ18Rは、それぞれ、下側ハウジング16bの上端(天面)の一部において、上側ハウジング16aとの連結部以外に当該連結部を挟むように、左右に配置される。
【0049】
方向指示スイッチ18aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ18bは、プッシュボタンで構成され、ゲームを開始(再開)したり、一時停止(Pause)したりする等に用いられる。セレクトスイッチ18cは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【0050】
動作スイッチ18dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器またはコマンドの選択および決定等を指示することができる。動作スイッチ18eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ18cで選択したゲームモードの変更やAボタン18dで決定したアクションの取り消し等のために用いられる。
【0051】
動作スイッチ18eすなわちXボタン、および動作スイッチ18fすなわちYボタンは、プッシュボタンで構成され、プッシュボタンAとプッシュボタンBだけでは、ゲーム進行ができないときに、補助的な操作ボタンとして用いられる。もちろん、ゲームプレイにおいてXボタンとYボタンを必ずしも使用しなくてよい。電源スイッチ18hは、ゲーム装置10の電源をオンオフするためのスイッチである。
【0052】
動作スイッチ18L(左押しボタン)および動作スイッチ18R(右押しボタン)は、プッシュボタンで構成され、左押しボタン(Lボタン)18Lおよび右押しボタン(Rボタン)18Rは、Aボタン18dおよびBボタン18eと同様の操作に用いることができ、また、Aボタン18dおよびBボタン18eの補助的な操作に用いることができる。
【0053】
また、このゲーム装置10はタッチパネルを用いたゲーム装置であり、LCD14の上面には、タッチパネル20が装着される。タッチパネル20としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル20は、その上面をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり撫でたり(触れたり)することにより操作すると、スティック24等の座標位置を検出して座標データを出力する。
【0054】
なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は228dot×192dotであり、タッチパネル20の検出精度も表示画面に対応して228dot×192dotとしてあるが、タッチパネル20の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【0055】
このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の表示画面上にタッチパネル20が設けられるので、2画面(LCD12,14)と2系統の操作部(18,20)を有する構成となるのである。
【0056】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの中央より側面寄(右寄)に設けられる収納部(収納穴)(図示せず)に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部を設ける必要もない。
【0057】
さらに、ゲーム装置10はメモリカード(またはゲームカートリッジ)26を含み、このメモリカード26は着脱自在であり、下側ハウジング16bの裏面ないしは上端(側面)に設けられる挿入口(図示せず)から挿入される。図1では省略するが、挿入口の奥部には、メモリカード26の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード26が挿入口に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42(図2参照)がメモリカード26にアクセス可能となる。
【0058】
なお、図1では表現できないが、下側ハウジング16bの内部において、この下側ハウジング16bの音抜き孔22aと対応する位置には、右スピーカ30aおよび音抜き孔22bと対応する位置には、左スピーカ30b(図2参照)が設けられる。
【0059】
また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、音量調節つまみ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【0060】
図2は、ゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介して、コネクタ46,RAM48,第1のGPU(Graphic Processing Unit)52,第2のGPU54,I/F回路50,LCDコントローラ60および無線通信部64と接続される。
【0061】
コネクタ46には、上述したように、メモリカード26が着脱自在に接続される。メモリカード26は、ROM26aおよびRAM26bを含む。図示は省略するが、ROM26aおよびRAM26bは、バスで互いに接続され、かつコネクタ46と接合されるコネクタ(図示せず)に接続される。この結果、CPUコア42は、ROM26aおよびRAM26bにアクセスすることができる。
【0062】
ROM26aは、ゲーム装置10で実行すべきゲームのためのゲームプログラム、キャラクタ画像,背景画像,アイテム画像,メッセージ画像のような画像データ、効果音,BGM,キャラクタの擬制音のような音データなどを予め記憶する。バックアップRAM26bは、ゲームの途中データや結果データをセーブする。
【0063】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード26のROM26aに記憶されたゲームプログラム、および画像データ,音データ等のデータをRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲーム処理の進行に応じて、ゲームデータやフラグデータなどの一時的なデータをRAM48に記憶する。
【0064】
なお、ゲームプログラム、および画像データ,音データ等のデータは、一括して、または必要に応じて部分的かつ順次的にROM26aから読み出され、RAM48に記憶される。
【0065】
GPU52および54の各々は、描画手段の一部を形成し、たとえばシングルチップASICで構成される。GPU52または54は、CPUコア42からグラフィックスコマンド(作画命令)を受けたとき、このグラフィックスコマンドにしたがってゲーム画像データを生成する。ここで、CPUコア42は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU52および54の各々に与える。
【0066】
ただし、グラフィックスコマンドの実行に必要なデータ(ポリゴン,テクスチャなどの画像データ)は、RAM48に格納され、GPU52または54によって取得される。
【0067】
また、GPU52にはVRAM56が接続され、GPU54にはVRAM58が接続される。GPU52は、作成したゲーム画像データをVRAM56に描画し、GPU54は、作成したゲーム画像データをVRAM58に描画する。
【0068】
VRAM56および58は、LCDコントローラ60に接続される。LCDコントローラ60はレジスタ62を含む。レジスタ62はたとえば1ビットで構成され、CPUコア42の指示によって“0”または“1”のデータ値を記憶する。LCDコントローラ60は、レジスタ62のデータ値が“0”であるとき、VRAM56に描画されたゲーム画像データをLCD14に出力し、VRAM58に描画されたゲーム画像データをLCD12に出力する。また、LCDコントローラ60は、レジスタ62のデータ値が“1”であるとき、VRAM56に描画されたゲーム画像データをLCD12に出力し、VRAM58に描画されたゲーム画像データをLCD14に出力する。
【0069】
I/F回路50には、操作スイッチ18,タッチパネル20,右スピーカ30aおよび左スピーカ30bが接続される。操作スイッチ18が操作されると、対応する操作信号(操作データ)がI/F回路50を介してCPUコア42に入力される。タッチパネル20で検出された座標データも、I/F回路50を介してCPUコア42に入力される。また、CPUコア42は、BGM,効果音,キャラクタの擬制音などのゲームに必要な音データをRAM48から読み出し、I/F回路50を介して右スピーカ30aおよび左スピーカ30bから出力する。
【0070】
2プレイヤモードが選択された状態では、相手方のゲーム装置との間で無線信号が無線通信部64を通してやり取りされる。すなわち、無線通信部64は、相手方への通信データを無線信号に変調してアンテナ(図示せず)から送信し、また、相手方のゲーム装置からの無線信号を同じアンテナで受信して通信データに復調する。
【0071】
以上のように構成されたゲーム装置10でパズルゲームをプレイする場合、図3のようなゲーム画面が2つのLCD12および14に跨って表示される。図3を参照して、このゲーム画面は上辺L1および下辺L2で規定されるゲームフィールドGFを含み、このゲームフィールドGF内に積層ブロックB1,操作ブロックB2,追加ブロックB3,ゲームオーバラインL3および矢印A1などが配置される。
【0072】
積層ブロックB1,操作ブロックB2および追加ブロックB3の各々は1つまたは2つ以上の単位ブロックで構成され、各単位ブロックには予め決められた複数の属性のいずれかが設定される。ここでは、図4(A)に示すように、赤(消去可),青(消去可),黄(消去可),白(消去可)および黒(消去不可)の5つの属性が準備されている。
【0073】
積層ブロックB1は、各々が左右方向(X方向)に配列された3個の単位ブロックからなる複数のブロックラインを上下方向(Y方向)に積み重ねた積層構造を有する。以下では、積層ブロックB1を構成する個々の単位ブロックを図4(B)に示す要領で識別する。図4を参照して、上辺L1に最も近い第1ラインを構成する3個の単位ブロックは、左から順に(1,1),(1,2)および(1,3)のように識別される。第1ラインの直下の第2ラインでは(2,1),(2,2)および(2,3)となり、そして第nラインでは(n,1),(n,2)および(n,3)となる。
【0074】
操作ブロックB2は、縦方向に配置された2個の単位ブロックで構成され、積層ブロックB1の左右いずれか一方に配置される。そして、操作スイッチ18(たとえば十字スイッチ18a)の操作に従い、上下左右に移動する。操作ブロックB2を積層ブロックB1の一方側面にぶつけると、操作ブロックB2は積層ブロックB1の内部に取り込まれ、積層ブロックB1の他方側面からは、縦方向に配置された別の2個の単位ブロックが押し出される。こうして押し出された別の2個の単位ブロックが、新たな操作ブロックB2となり、今度は積層ブロックB1の他方側面にぶつけられる。
【0075】
こうして操作ブロックB2を左右から積層ブロックB1にぶつけることで、積層ブロックB1を構成する単位ブロックの配列が変化する。積層ブロックB1内で所定の並びが完成すると、並んだブロックは消滅する。ゲームのスコアは、こうして消滅した単位ブロックの個数に基づいて算出される。
【0076】
たとえば、図5(A)に示すように、2個の青色単位ブロックで構成された操作ブロックB2が積層ブロックB1の左側に位置している場合、操作ブロックB2の上下方向の位置を積層ブロックB1の第2ラインおよび第3ラインに合わせた後、操作ブロックB2を積層ブロックB1の左側面にぶつけたとする。
【0077】
すると、図5(B)に示すように、操作ブロックB2は積層ブロックB1の左側面から内部に入り込み、これに伴って、積層ブロックB1の第2ラインおよび第3ラインに位置する6個の単位ブロック(2,1),(2,2),(2,3),(3,1),(3,2)および(3,3)が1ブロック相当の横ずれを起こす。こうして横ずれする単位ブロックの集合(ブロックライン)を“横ずれブロックB1a”と呼ぶ。
【0078】
この結果、図5(C)に示すように、操作ブロックB2は単位ブロック(2,1),(3,1)のあった位置に取り込まれ、新たに積層ブロックB1の(2,1)および(3,1)の位置に配置される。そして、積層ブロックB1の右側面から2つの単位ブロック(2,3),(3,3)が押し出される結果となる。こうして押し出された2つの単位ブロックが、新たな操作ブロックB2となる。
【0079】
一方、積層ブロックB1では、縦方向に並んだ3個の単位ブロック(1,1),(2,1)および(3,1)の属性が互いに一致したため、これら3個の単位ブロックは、図6(A)のように消滅する。こうして消滅する単位ブロックの集合を“消滅ブロックB1b”と呼ぶ。
【0080】
消滅で生じた3ブロック相当の空白は、図6(B)に示すように、“消滅ブロックB1b”の下方にある単位ブロック(4,1),(5,1),…が上向きに3ブロック移動することにより埋められ、積層ブロックB1が再配置される。こうして上向きに移動する単位ブロックの集合(ブロック列)を“縦ずれブロックB1c”と呼ぶ。
【0081】
この後、積層ブロックB1の右側に位置する操作ブロックB2は、図6(C)に示すように、積層ブロックB1の右側面にぶつけられる。以降、上記と同様の衝突操作が、左右の向きを反転しつつ繰り返される。
【0082】
図3に戻って、ゲームオーバラインL3は、ゲームスタート時に上辺L1の近傍に表示され、時間の経過につれて下方に移動していく。ブロックが消滅すれば、消滅ブロック数に応じた距離だけ上辺L1側に後退する。そしてゲームオーバラインL3が下辺L2に到達したとき、ゲームオーバとなる。
【0083】
このようなゲームオーバラインL3の後方、すなわち上辺L1およびゲームオーバラインL3で挟まれる低速領域E1内では、操作ブロックB2の移動速度が遅くなる。この結果、衝突操作のレスポンスが低下する。
【0084】
ゲームフィールドGF内へは、下辺L2側から追加ブロックB3が周期的に投入される。投入された追加ブロックB3は、ゲームフィールドGF内を上向きに移動し、積層ブロックB1に衝突してその一部となる。
【0085】
また、このパズルゲームには複数の難易度(レベル)が用意されており、最も簡単な第1レベルからスタートして、より難しい第2レベル,さらに難しい第3レベルへとレベルアップしていく。次のレベルに進むためのレベルアップ処理は、スコアがレベルクリア基準に到達し、かつ基準到達時に提示される課題(後述)を解決したとき実行される。
【0086】
ゲームフィールドGFの右辺に沿って下向きに移動する矢印A1は、そのレベルにおいてスコアがどこまでクリア基準に近づいたかを示す指標である。具体的には、矢印A1は、ゲームスタート時つまり第1レベルが開始されるとき上辺L1の近傍に配置され、以降スコアに応じて下方に移動し、スコアが第1レベルのクリア基準に達したとき下辺L2に到達する。その後、第1レベルの課題が解決されて第2レベルが開始されると、矢印A1は、再び上辺L1の近傍に表示され、スコアに従い下方に移動していく。
【0087】
また、図5(A)〜図5(C)および図6(A)に示した消去処理に関連して、所定の並びが成立しても、図7(A)および図7(B)に示すように、並んだブロックの属性が黒(消去不可)であれば、消去処理は実行されない。
【0088】
ただし、各単位ブロックに設定された属性は、固定的なものではなく、たとえば図8(A)〜図8(C)に示す要領で変更される。なお、図8(A)に示された積層ブロックB1および操作ブロックB2は、積層ブロックB1中のブロック(3,1)が黄(消去可)ではなく黒(消去不可)である点を除いて、図5(A)と同様である。
【0089】
図8(A)〜図8(C)でも、図5(A)〜図5(C)と同様、操作ブロックB2が積層ブロックB1内に押し込まれ、積層ブロックB1から新たな操作ブロックB2が押し出される。積層ブロックB1内では、消滅ブロックB1bが成立し、上記のブロック(3,1)は操作ブロックB2に押されて右に1ブロックだけ移動する。これによって、図8(B)のような、消滅ブロックB1bと黒(消去不可)ブロックとが互いに接した状態が生じる。この状態で消滅ブロックB1bが消滅すると、消滅ブロックB1bに接する黒(消去不可)ブロックの属性は、消滅ブロックB1bと同じ属性つまり青(消去可)に変化する。
【0090】
図9(A)および図9(B)には、スコアがレベルクリア基準に到達したときに提示される課題の一例が示されている。この課題は、図9(A)のような、特定の絵柄(ここでは同心円)の一部がそれぞれ描かれた4つの単位ブロック(レベルクリア課題ブロック)B1eをランダムな位置に含んだ積層ブロックB1に対して、図10(A)〜図10(D)のような衝突操作を繰り返すことで、これらのレベルクリア課題ブロックB1eを所定の配置に並べ替え、これによって図9(B)のように、積層ブロックB1内で同心円を完成させる、というものである。
【0091】
具体的には、図9(A)の積層ブロックB1に対し、最初、図10(A)に示すように、縦に配置された2個の単位ブロックからなる操作ブロックB2を左から単位ブロック(4,1)および(5,1)の位置に押し込む。これによって、図10(B)に示すように、単位ブロック(4,3)および(5,3)が右に押し出される。
【0092】
次に、押し出された2個の単位ブロックを新たな操作ブロックB2として、これを上に3ブロック相当移動させ、続いて図10(C)に示すように右から単位ブロック(2,3)および(3,3)の位置に押し込む。これによって、図10(D)に示すように、図9(B)の同心円の上半分が完成する。このときまた、単位ブロック(4,3)および(5,3)が左に押し出される。以降、同様の衝突操作を繰り返すことで、最終的に同心円の全体が完成する。
【0093】
上記のようなパズルゲームをプレイする場合のRAM48のメモリマップを図11に示す。図11を参照して、RAM48は、メモリカード26のROM26aからロードされたプログラムを記憶するプログラム記憶領域70を含む。ロードされるプログラムは、操作検出プログラム72,操作ブロック制御プログラム74,ブロック配置制御プログラム76,ブロック並び判別プログラム78,ブロック消去プログラム80,ブロック移動プログラム82,ゲームオーバ制御プログラム84およびレベルクリア制御プログラム86などを含む。
【0094】
なお、プログラム記憶領域70には、図示は省略しているが、ゲーム画像やゲーム音声を生成/出力するためのプログラムなど、その他のゲーム進行に必要な各種プログラムが記憶される。
【0095】
操作検出プログラム72は、スイッチ18の操作を検出するためのプログラムである。操作ブロック制御プログラム74は、操作ブロックB2の位置や属性を制御するためのプログラムである。積層ブロック制御プログラム76は、積層ブロックB1(および追加ブロックB3)の各々の位置や属性を制御するためのプログラムである。ブロック並び判定プログラム78は、積層ブロックB1において所定のブロック並びが完成したか否かを判定するためのプログラムである。ブロック消去プログラム80は、所定の並びに従うブロックを積層ブロックB1から消去するためのプログラムである。
【0096】
ブロック移動プログラム82は、積層ブロックB1の一部を横ずれまたは縦ずれさせたり(図5(B),図6(B)参照)、追加ブロックB3を投入したりするためのプログラムである。ゲームオーバ制御プログラム84は、ゲームオーバライン(L3:図3参照)を移動すると共に、ゲームオーバ条件が満足されたか否かを判別して、満足されたときゲームオーバ処理を行うためのプログラムである。
【0097】
レベルクリア制御プログラム86は、レベルクリア基準への到達度を示す矢印(A1:図3参照)を移動すると共に、スコアがクリア基準に到達したか否かを判別して、到達したとき課題を提示し、そして課題が解決されたときレベルクリア処理を実行するためのプログラムである。
【0098】
また、RAM48は、データ記憶領域90を含む。データ記憶領域90は、操作データ記憶領域92,操作ブロック記憶領域94,積層ブロック記憶領域96,ゲームレベル指標記憶領域98,スコア記憶領域100,ゲームオーバ指標記憶領域102およびレベルクリア指標記憶領域104などを有する。
【0099】
操作データ記憶領域92は、操作検出プログラム72によって検出された操作に対応する操作データを記憶するための領域である。操作ブロック記憶領域94は、操作ブロックB2に関するデータ類を記憶するための領域であり、具体的には属性データ(色および消去の可否)および位置データが単位ブロック毎に記憶される。
【0100】
積層ブロック記憶領域96は、積層ブロックB1(および追加ブロックB3)に関するデータ類を記憶するための領域であり、具体的には属性データおよび位置データが単位ブロック毎に記憶される。
【0101】
ゲームレベル指標記憶領域98はゲームレベル指標を記憶するための領域であり、スコア記憶領域100はスコアを記憶するための領域である。ゲームオーバ指標記憶領域102はゲームオーバ指標(ゲームオーバラインの位置)を記憶するための領域であり、レベルクリア指標記憶領域104はレベルクリア指標(矢印A1の位置)を記憶するための領域である。
【0102】
RAM48にはさらに、ブロック描画用データ106など、ゲーム進行に必要な各種データが記憶される。
【0103】
CPUコア42は、上記のようなプログラムおよびデータに基づいて、図12ないし図14のフロー図に従う処理を実行する。図12を参照して、まずステップS1で初期設定を行う。具体的には、操作データ記憶領域92,操作ブロック記憶領域94,積層ブロック記憶領域96,ゲームレベル指標記憶領域98,スコア記憶領域100,ゲームオーバ指標記憶領域102およびレベルクリア指標記憶領域104の各々に初期値を設定したりするなど、ゲーム開始のための準備を行う。
【0104】
次のステップS3では、上記の各記憶領域92〜104内のデータに基づいて、積層ブロックB1,操作ブロックB2,ゲームオーバラインL3および矢印A1などを含んだゲームフィールドGFを、LCD12および14に跨って表示する(図3参照)。なお、初期設定直後は、ゲームオーバラインL3および矢印A1の各々はゲームフィールドGFの上辺L1の近傍に配置される。
【0105】
ステップS5では、操作データIF回路50を通して操作スイッチ18から操作データを取得する。取得された操作データは、RAM48の操作データ記憶領域92に記憶される。ステップS7では、操作ブロック記憶領域94内の位置データに基づいて、操作ブロックB2が低速領域E1内にあるか否かを判別する。ここでNOであればステップS9の処理を経てステップS13に進み、YESであればステップS11の処理を経てステップS13に進む。
【0106】
ステップS9では操作ブロック記憶領域94の位置データを通常更新し、ステップS11では操作ブロック記憶領域94の位置データを低速更新する。低速更新はたとえば、通常更新に比べて、操作入力に対して操作ブロックB2の位置データが大きく変化しないようにする更新方法をいう。これにより、操作ブロックB2は低速領域E1内で動きが遅くなる。
【0107】
ステップS13では、操作ブロックB2が積層ブロックB1と左右方向(X方向)に衝突したか否かを判別する。ここでYESであればステップS15およびS17の処理を経てステップS23に進み、NOであればステップS19およびS21の処理を経てステップS53に進む。
【0108】
ステップS15では、操作ブロック記憶領域94内の位置データと、積層ブロック記憶領域96内の位置データの一部(横ずれブロックB1aに対応する位置データ)とをそれぞれ更新し、これによって、操作ブロックB2は積層ブロックB1に押し込まれ、横ずれブロックB1aは横向きにシフトされ、そして横ずれブロックB1aの操作ブロックB2に接しているのとは反対側の端部が積層ブロックB1から押し出される(図5(A)および図5(B)参照)。
【0109】
ステップS17では、積層ブロック記憶領域96内のデータの一部(すなわち積層ブロックB1から押し出されたブロックのデータ)を操作ブロック記憶領域94へと移動する。これにより、積層ブロックB1から押し出されたブロックは、操作スイッチ18による操作の対象、つまり新たな操作ブロックB2となる(図5(C)参照)。
【0110】
ステップS19では、ゲームオーバ指標記憶領域102に記憶されたゲームオーバ指標をインクリメントする。ステップS21では、追加ブロックB3(図3参照)のデータを積層ブロック記憶領域96に書き込む。これによって、ゲームフィールドGF内に追加ブロックB3が投入される。
【0111】
図13を参照して、ステップS23では、積層ブロックB1において所定の並びが完成したか否か、具体的には同一属性の単位ブロックがX方向またはY方向に所定数(ここでは3つ)以上並んだか否かを、積層ブロック記憶領域96内のデータに基づいて判別する。ここでYESであればステップS25に移り、並んだブロックの属性が“消去不可”であるか否かをさらに判別する。ステップS23でNOであるか、またはS25でYESあれば、ステップS55に進む。
【0112】
ステップS25でNOであればステップS27に移り、積層ブロック記憶領域96から消滅ブロックB1bのデータを消去する。これにより、並んだブロックは消滅する(図5(C)および図6(A)参照)。
【0113】
続くステップS29では、消滅ブロックB1bに隣接しかつ属性が黒(消去不可)であるブロック(隣接黒ブロックB1d:図8(B)参照)の有無を積層ブロック記憶領域96内のデータに基づいて判別する。ここでNOであれば直ちにステップS33に進み、YESであればステップS31の処理を経てステップS33に進む。ステップS33では、隣接黒ブロックB1dの属性を消滅ブロックB1bのそれに変更する。これによって、隣接黒ブロックB1dは、消滅ブロックB1bと同色になり(図8(B)参照)、以降、衝突操作によって消滅させることができる。
【0114】
ステップS33では、ステップS27で消去された単位ブロックの個数などに基づいてスコアを計算する。次のステップS35では、計算されたスコアに基づいてレベルクリア指標をインクリメントし、これにより矢印A1は下向きに移動する。次のステップS37ではゲームオーバ指標をデクリメントし、これによりゲームオーバラインL3は後退する。
【0115】
次のステップS39では、積層ブロックB1に生じた空白を埋めるべく、その下方の縦ずれブロックB1c(図6(B)参照)を上向きにシフトさせる。
【0116】
図14を参照して、ステップS41では、スコア記憶領域100に記憶されたスコアがレベルクリア基準に到達したか否かを判別し、ここでNOであればステップS3に戻る。ステップS41でYESであれば、ステップS43で課題を提示した後、ステップS45でその課題が解決されたか否かを判別する。一例を挙げれば、図9(A)に示すように同心円の一部が描かれた4つのレベルクリア課題ブロックB1eを積層ブロックB1内のランダムな位置に表示し、そして図9(B)に示すように積層ブロックB1内で同心円が完成したかを判別する。
【0117】
ステップS45でNOであれば、ステップS47に移ってタイマTを参照し、課題提示から規定時間が経過したか否かを次のステップS49でさらに判別する。未だ規定時間が経過していなければステップS45に戻り、規定時間が経過するとステップS55に移る。
【0118】
なお、図示は省略しているが、ステップS45〜S49のループ処理には、ステップS5〜S17と同様の処理、つまり衝突操作に応じてブロックを移動させる処理も含まれている。
【0119】
規定時間内に課題が達成されると、ステップS45からステップS51に抜け、次のレベルに進むためのレベルクリア処理を実行する。この処理には、ゲームレベル指標記憶領域98に記憶されたゲームレベル指標をインクリメントする処理が含まれる。レベルクリア後、ステップS3に戻る。
【0120】
ステップS53では、ゲームオーバ条件が満足されたか否かを判別する。ここでNOであればステップS3に戻り、YESであればステップS55に進む。ステップS55ではゲームオーバ処理を実行し、そしてこのゲームを終了する。
【0121】
以上から明らかなように、この実施例では、操作ブロックB2を左右方向に積層ブロックB1と衝突させると、積層ブロックB1において操作ブロックB2と相対するブロック層(横ずれブロックB1a)が左右方向にシフトして操作ブロックB2は積層ブロックB1に吸収され、そしてシフトされたブロック層の操作ブロックB2と相対する側とは反対側の端部が積層ブロックB1から排出される。こうして排出されたブロックは、新たな操作ブロックとして、再び積層ブロックB1と衝突させることができる。このような衝突操作を繰り返すことで、積層ブロックB1の配列をダイナミックに変化させることができ、パズルゲームの戦略性を高めることができる。
【0122】
なお、この実施例では、積層ブロックB1において並んだブロックを消去する処理(S23〜S27)は、操作ブロックB2を積層ブロックB1に押し込んで積層ブロックB1から新たな操作ブロックB2を排出する処理(S15およびS17)の後に実行されたが、先に実行されてもよい。また、ステップS35〜S39の処理は、順序が互いに入れ替わってもよい。このように、図12〜図14のフローチャートに示された一連の処理の実行順序は、適宜変更して構わない。
【0123】
以上では、一例としてゲーム装置10に適用した場合を説明したが、この発明は、表示手段と操作手段と記憶手段とコンピュータとを備える装置(たとえばパーソナルコンピュータ,携帯電話,PDA,ディジタルテレビなど)に適用できる。
【図面の簡単な説明】
【0124】
【図1】この発明の一実施例の外観を示す図解図である。
【図2】図1実施例の内部構成の一例を示すブロック図である。
【図3】図1実施例に適用されるゲーム画面の構成を示す図解図である。
【図4】(A)は図3ゲーム画面に含まれる各単位ブロックの属性を示す図表であり、(B)は図3画面に含まれる積層ブロックの各構成要素の識別子を示す図表である。
【図5】(A)〜(C)は図1実施例に適用されるゲーム画面の変化例を時系列順に示す図解図である。
【図6】(A)〜(C)は図5(A)〜(C)の続きを示す図解図である。
【図7】(A)および(B)は図1実施例に適用されるゲーム画面の他の変化例を時系列順に示す図解図である。
【図8】(A)〜(C)は図1実施例に適用されるゲーム画面のその他の変化例を時系列順に示す図解図である。
【図9】(A)および(B)は図1実施例に適用されるゲーム画面のさらにその他の変化例を時系列順に示す図解図である。
【図10】(A)〜(D)は図9(A)から図9(B)への変化過程の一部を時系列順に示す図解図である。
【図11】図1実施例に適用されるRAMのマッピング状態の一例を示す図解図である。
【図12】図1実施例に適用されるCPUコアの動作の一部を示すフロー図である。
【図13】図1実施例に適用されるCPUコアの動作の他の一部を示すフロー図である。
【図14】図1実施例に適用されるCPUコアの動作のその他の一部を示すフロー図である。
【符号の説明】
【0125】
10 …ゲーム装置
12,14 …LCD
18(18a−18h,18Lおよび18R) …操作スイッチ
42 …CPUコア
48 …RAM
52,54 …GPU
56,58 …VRAM
60 …LCDコントローラ
A1 …矢印(レベルクリア指標)
B1 …積層ブロック
B1a …横ずれブロック
B1b …消滅ブロック
B1c …縦ずれブロック
B1d …隣接黒ブロック
B1e …レベルクリア課題ブロック
B2 …操作ブロック
B3 …追加ブロック
E1 …低速領域
GF …ゲームフィールド
L1 …上辺
L2 …下辺
L3 …ゲームオーバライン(ゲームオーバ指標)

【特許請求の範囲】
【請求項1】
プレイヤによって操作される操作手段と、前記操作手段の操作対象である操作ブロックと配列条件を満足したとき消去されるブロックからなるブロック群とを含むゲームフィールドを表示する表示手段と、前記操作ブロックについて属性データおよび位置データの各々を記憶する第1記憶手段と、前記ブロック群について属性データおよび位置データの各々をブロック毎に記憶する第2記憶手段とを備えるゲーム装置のコンピュータに、
前記操作手段の操作に応じて前記第1記憶手段の位置データを更新することによって前記ゲームフィールド内で前記操作ブロックを移動させる移動ステップ、
前記第1記憶手段の位置データと前記第2記憶手段の位置データとに基づいて前記ゲームフィールド内で前記操作ブロックと前記ブロック群とが衝突するか否かを判別する衝突判別ステップ、
前記衝突判別ステップの判別結果が肯定的であるとき前記第2記憶手段の位置データの一部を更新しかつ前記第1記憶手段の属性データおよび位置データの各々を前記第2記憶手段に移動することによって、前記ブロック群において前記操作ブロックと相対しかつ当該操作ブロックの移動方向に並んだ第1部分ブロック群を当該移動方向にシフトして当該操作ブロックを当該ブロック群に吸収する吸収ステップ、および
前記吸収ステップの吸収処理に伴って前記第2記憶手段の属性データの一部を前記第1記憶手段に移動しかつ当該第1記憶手段の位置データを更新することによって、前記第1部分ブロック群の前記操作ブロックと相対する側とは反対側の端部を新たな操作ブロックとして前記ブロック群から排出する排出ステップを実行させるための、ゲームプログラム。
【請求項2】
前記ゲームフィールド内で前記ブロック群は、第1方向の中央に配置され、かつ前記第1方向および当該第1方向と交差する第2方向の各々にブロックを敷き詰めた積層構造を有し、
前記ゲームフィールド内で前記操作ブロックは、前記ブロック群に対して前記第1方向の一方側に配置され、かつ前記操作手段の操作に従って前記第1方向および前記第2方向のいずれかに移動し、
前記衝突判別ステップは前記操作ブロックと前記ブロック群とが前記第1方向に衝突するか否かを判別し、
前記吸収ステップは前記第1部分ブロック群を前記第1方向にシフトすることで前記操作ブロックを前記ブロック群の当該第1方向の一方端部に吸収し、
前記排出ステップは前記新たな操作ブロックを前記ブロック群の前記第1方向の他方端部から排出する、請求項1記載のゲームプログラム。
【請求項3】
前記コンピュータに、
前記ブロック群において同一の属性を有するブロックが第1配列をなしたか否かを前記第2記憶手段の属性データおよび位置データの各々に基づいて判別する配列判別ステップ、および
前記配列判別ステップの判別結果が肯定的であるとき前記第2記憶手段の属性データおよび位置データの各々を更新することによって、前記ゲームフィールド内で前記ブロック群から同一属性を有しかつ第1配列に従うブロックからなる第2部分ブロック群を消去する消去ステップをさらに実行させる、請求項1または2記載のゲームプログラム。
【請求項4】
前記コンピュータに、前記消去ステップの消去対象から消去不可の属性を有するブロックを除外する除外ステップをさらに実行させる、請求項3記載のゲームプログラム。
【請求項5】
前記コンピュータに、
前記配列判別ステップの判別結果が肯定的であるとき、前記第2記憶手段の位置データおよび属性データの各々を参照することによって、前記第2部分ブロック群に隣接しかつ消去不可の属性を有する隣接消去不可ブロックが存在するか否かを判別する存在判別ステップ、および
前記存在判別ステップの判別結果が肯定的であるとき、前記第2記憶手段の属性データの一部を更新することによって、前記隣接消去不可ブロックの属性を前記第2部分ブロック群と同じ属性に変更する属性変更ステップをさらに実行させる、請求項4記載のゲームプログラム。
【請求項6】
前記ゲーム装置は、消去ブロック数がレベルクリア基準にどの程度近づいたかを示すレベルクリア指標データを記憶する第3記憶手段をさらに備え、
前記コンピュータに、
前記消去ステップによって消去されたブロックの数を計数する計数ステップ、
前記計数ステップの計数結果に基づいて前記第3記憶手段のレベルクリア指標データを更新する第1指標更新ステップ、
前記第1指標更新ステップの更新結果がレベルクリア基準到達を示すとき前記表示手段を通して課題を提示する提示ステップ、
前記提示ステップによって提示された課題が前記操作手段の操作を通して解決されたか否かを判別する解決判別ステップ、および
前記解決判別ステップの判別結果が肯定的であるとき新たなゲームレベルに進むためのレベルクリア処理を実行するレベルクリアステップをさらに実行させる、請求項3ないし5のいずれかに記載のゲームプログラム。
【請求項7】
前記提示ステップは、前記第2記憶手段の属性データの一部を更新することによって、前記ブロック群内のランダムな位置にレベルクリア課題の属性を有するレベルクリア課題ブロックを出現させ、
前記解決判別ステップは、前記第2記憶手段の属性データおよび位置データの各々に基づいて、前記ブロック群において前記レベルクリア課題ブロックが第2配列をなしたか否かを判別する、請求項6記載のゲームプログラム。
【請求項8】
前記ゲームフィールドは、前記第1指標更新ステップの更新処理に応じて移動する第1キャラクタをさらに含む、請求項6または7記載のゲームプログラム。
【請求項9】
前記ゲーム装置は、ゲームスタートからの経過時間を計時するタイマと、ゲームオーバまでの残り時間を示すゲームオーバ指標データを記憶する第4記憶手段とをさらに備え、
前記コンピュータに、前記タイマの値および前記計数ステップの計数結果に基づいて前記第4記憶手段のゲームオーバ指標データを更新する第2指標更新ステップをさらに実行させ、
前記ゲームフィールドは前記第2指標更新ステップの更新処理に応じて移動する第2キャラクタをさらに含む、請求項6ないし8のいずれかに記載のゲームプログラム。
【請求項10】
前記第2キャラクタは前記ゲームフィールド内で前記第1方向に延びかつ前記第2方向に移動するゲームオーバラインであり、
前記ゲームオーバラインは、時間の経過につれて前記第2方向の一方から他方に前進し、かつ消去ブロック数に応じて前記第2方向の他方から一方に後退し、
前記移動ステップは前記操作ブロックが前記ゲームオーバラインの前方にあるときと後方にあるときとで当該操作ブロックの移動速度を異ならせる、請求項9記載のゲームプログラム。
【請求項11】
プレイヤによって操作される操作手段、
前記操作手段の操作対象である操作ブロックと配列条件を満足したとき消去されるブロックからなるブロック群とを含むゲームフィールドを表示する表示手段、
前記操作ブロックについて属性データおよび位置データの各々を記憶する第1記憶手段、
前記ブロック群について属性データおよび位置データの各々をブロック毎に記憶する第2記憶手段、
前記操作手段の操作に応じて前記第1記憶手段の位置データを更新することによって前記ゲームフィールド内で前記操作ブロックを移動させる移動手段、
前記第1記憶手段の位置データと前記第2記憶手段の位置データとに基づいて前記ゲームフィールド内で前記操作ブロックと前記ブロック群とが衝突するか否かを判別する衝突判別手段、
前記衝突判別手段の判別結果が肯定的であるとき前記第2記憶手段の位置データの一部を更新しかつ前記第1記憶手段の属性データおよび位置データの各々を前記第2記憶手段に移動することによって、前記ブロック群において前記操作ブロックと相対しかつ当該操作ブロックの移動方向に並んだ第1部分ブロック群を当該移動方向にシフトして当該操作ブロックを当該ブロック群に吸収する吸収手段、および
前記吸収手段の吸収処理に伴って前記第2記憶手段の属性データの一部を前記第1記憶手段に移動しかつ当該第1記憶手段の位置データを更新することによって、前記第1部分ブロック群の前記操作ブロックと相対する側とは反対側の端部を新たな操作ブロックとして前記ブロック群から排出する排出手段を備える、ゲーム装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate