(57)【要約】【課題】  プレーヤキャラクタの伸縮部位を、プレーヤの把持操作指示が入力される毎に被把持部に次々に把持させていくことによってプレーヤキャラクタを移動制御するゲームにおいて、タッチ操作で様々なアクションを操作できるようにすること。【解決手段】タッチ操作されているタッチ位置に基づいて、タッチ継続時間及びスライド操作速度を含むタッチ操作状況を表すパラメータを算出する。そして、伸縮部位の把持目標となる被把持部を自動選択し、伸縮部位を伸縮させて把持させる自動把持アクションと、伸縮部位をタッチ操作に連動して伸縮させて被把持部を把持させる手動把持アクションとを少なくとも含む伸縮動作アクションの中から発動する伸縮動作アクションを、タッチ操作のパラメータに基づいて選択する。そして、この選択された伸縮動作アクションを発動して前記プレーヤキャラクタを制御する。【選択図】図２
2010088641.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、伸縮可能な部位であって仮想空間中に配置された被把持部を把持する伸縮部位を有するプレーヤキャラクタを、タッチスクリーンへのプレーヤのタッチ操作に基づいて表示制御させて所定のゲームを実行させるためのプログラムであって、
タッチ操作されているタッチ位置に基づいて、タッチ継続時間及びスライド操作速度を含むタッチ操作状況を表すパラメータを算出する操作状況算出手段、
前記伸縮部位の把持目標となる被把持部を自動選択し、前記伸縮部位を伸縮させて把持させる自動把持アクションと、前記伸縮部位をタッチ操作に連動して伸縮させて被把持部を把持させる手動把持アクションとを少なくとも含む伸縮動作アクションの中から発動する伸縮動作アクションを、前記パラメータに基づいて選択する発動アクション選択手段、
前記発動アクション選択手段により選択された伸縮動作アクションを発動して前記プレーヤキャラクタを制御する制御手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
前記発動アクション選択手段が、タッチ継続時間が所定の継続時間条件を満たした場合に前記手動把持アクションを発動させる伸縮動作アクションとして選択する手動把持アクション選択手段を有するように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記手動把持アクション選択手段が、タッチ継続時間が所定の継続時間条件を満たし、且つ、スライド操作速度が所定の低速度条件を満たした場合に前記手動把持アクションを発動させる伸縮動作アクションとして選択するように前記コンピュータを機能させ、
前記発動アクション選択手段が、タッチ継続時間が所定の継続時間条件を満たし、且つ、タッチ位置が変動していない不変条件を満たした場合に、前記伸縮部位をタッチオフ直前のタッチ位置変動方向に伸縮させる攻撃アクションを、発動する伸縮動作アクションとして選択する打撃アクション選択手段を有し、
前記制御手段が、前記打撃アクション選択手段による選択に応じて前記打撃アクションを実行する打撃アクション実行手段を有する、
ように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項４】
前記発動アクション選択手段が、スライド操作速度が所定の高速度条件を満たした場合に前記自動把持アクションを発動させる伸縮動作アクションとして選択する自動把持アクション選択手段を有するように前記コンピュータを機能させるための請求項１〜３の何れか一項に記載のプログラム。
【請求項５】
前記操作状況算出手段が、前記パラメータの１つとしてスライド操作のスライド方向を算出し、
前記制御手段が、前記プレーヤキャラクタの位置と前記スライド方向とを基準に定義される所定のサーチ範囲内に存在する被把持部の中から、当該スライド方向の延長線に最寄りの被把持部を前記把持目標として前記自動把持アクションを実行する自動把持アクション実行手段を有する、
ように前記コンピュータを機能させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項６】
前記制御手段が、前記伸縮部位の伸縮端部の位置をタッチ操作に連動させつつ前記伸縮端部に最寄りの被把持部を把持目標候補として随時切り替え選択し、タッチオフ時に選択されていた把持目標候補を把持目標として前記伸縮部位に把持させるように前記手動把持アクションを実行する手動把持アクション実行手段を有するように前記コンピュータを機能させるための請求項１〜５の何れか一項に記載のプログラム。
【請求項７】
前記プレーヤキャラクタは、前記伸縮部位を複数有しており、
前記制御手段が、伸縮させる前記伸縮部位を順番に切り替えるように前記コンピュータを機能させるための請求項１〜６の何れか一項に記載のプログラム。
【請求項８】
前記操作状況算出手段が、前記パラメータの１つとしてスライド操作のスライド方向を算出し、
前記発動アクション選択手段が、前記伸縮部位が被把持部を把持している状態であり、且つ、タッチ操作が前記プレーヤキャラクタのボディ部になされてスライド操作された場合に、前記被把持部を把持した状態で前記伸縮部位を伸長させて前記プレーヤキャラクタのボディ部をスライド方向に移動させた後、スライド方向と反対方向に前記プレーヤキャラクタを射出する射出アクションを、発動する伸縮動作アクションとして選択する射出アクション選択手段を有し、
前記制御手段が、前記射出アクション選択手段による選択に応じて前記射出アクションを実行する射出アクション実行手段を有する、
ように前記コンピュータを機能させるための請求項１〜６の何れか一項に記載のプログラム。
【請求項９】
前記射出アクション実行手段が、前記伸縮部位を仮想弾性体、前記ボディ部を仮想錘体にそれぞれ仮定して前記プレーヤキャラクタの射出到達位置を算出し、当該射出到達位置に向けて前記プレーヤキャラクタを移動させるように前記コンピュータを機能させるための請求項８に記載のプログラム。
【請求項１０】
請求項１〜９の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１１】
伸縮可能な部位であって仮想空間中に配置された被把持部を把持する伸縮部位を有するプレーヤキャラクタを、タッチスクリーンへのプレーヤのタッチ操作に基づいて表示制御させて所定のゲームを実行するゲーム装置であって、
タッチ操作されているタッチ位置に基づいて、タッチ継続時間及びスライド操作速度を含むタッチ操作状況を表すパラメータを算出する操作状況算出手段と、
前記伸縮部位の把持目標となる被把持部を自動選択し、前記伸縮部位を伸縮させて把持させる自動把持アクションと、前記伸縮部位をタッチ操作に連動して伸縮させて被把持部を把持させる手動把持アクションとを少なくとも含む伸縮動作アクションの中から発動する伸縮動作アクションを、前記パラメータに基づいて選択する発動アクション選択手段と、
前記発動アクション選択手段により選択された伸縮動作アクションを発動して前記プレーヤキャラクタを制御する制御手段と、
を備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータに、伸縮部位を有するプレーヤキャラクタを操作入力に基づいて動作制御させて所定のゲームを実行させるためのプログラム等に関する。
【背景技術】
【０００２】
任天堂社製のゲーム機「ニンテンドーＤＳ（登録商標）」のように、表示画面上にポインティングデバイスであるタッチパネルを搭載した携帯型ゲーム装置が知られている。こうした携帯型ゲーム装置においてタッチパネルを操作入力に利用したゲームは、ボタン操作のみで操作入力するゲームに比べてより直感的な操作入力ができるとしてユーザから高い人気を得ている。
【０００３】
例えば、タッチオンした位置を基準点に設定し、この基準点から現在タッチしている位置までの距離と時間差とから入力距離（タッチ距離とも呼ばれる。）及び入力速度（タッチ速度とも呼ばれる。）を求め、更に基準点から現在タッチしている位置の変移を入力ベクトル（タッチベクトルとも呼ばれる。）を算出する。そして、これらを操作入力の種類を判定するパラメータとすることで、タッチパネルをタッチ開始し（タッチオン）、タッチしたまま移動させ（スライド操作）、タッチを解除する（タッチオフ）一連の操作を基本にして、ゲーム内における方向や、入力の大きさを直感的な操作入力を可能にしている（例えば、特許文献１参照）。
【特許文献１】特開２００６−１４１７２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そうしたタッチパネルを利用した直感的な操作入力を活かして、プレーヤキャラクが腕（或いは腕に相当するもの）を伸ばしてロッククライミング風に移動するアクションゲームを実現することが考えられる。その場合、ゲーム性を高めるために様々なプレーヤキャラクタのアクションを設定する必要があり、タッチオン、スライド、タッチオフといった要素を含むタッチ操作だけで、如何にして、設定されたアクションを判定するかが重要な技術課題となる。
【０００５】
本発明の目的とするところは、プレーヤキャラクタの伸縮部位を、プレーヤの把持操作指示が入力される毎に被把持部に次々に把持させていくことによってプレーヤキャラクタを移動制御するゲームにおいて、タッチ操作で様々なアクションを操作できるようにすることである。
【課題を解決するための手段】
【０００６】
上記の課題を解決するための第１の発明は、コンピュータに、伸縮可能な部位であって仮想空間中に配置された被把持部を把持する伸縮部位を有するプレーヤキャラクタを、タッチスクリーンへのプレーヤのタッチ操作に基づいて表示制御させて所定のゲームを実行させるためのプログラムであって、
タッチ操作されているタッチ位置に基づいて、タッチ継続時間及びスライド操作速度を含むタッチ操作状況を表すパラメータを算出する操作状況算出手段（例えば、図１１の処理部２００、タッチ操作パラメータ算出部２１２、図１５のステップＳ１４、図１７のステップＳ６２）、
前記伸縮部位の把持目標となる被把持部（例えば、図３の壁面突起８）を自動選択し、前記伸縮部位を伸縮させて把持させる自動把持アクション（例えば、図３で説明するＡアクション）と、前記伸縮部位をタッチ操作に連動して伸縮させて被把持部を把持させる手動把持アクション（例えば、図５で説明するＢアクション）とを少なくとも含む伸縮動作アクションの中から発動する伸縮動作アクションを、前記パラメータに基づいて選択する発動アクション選択手段（例えば、図１１の処理部２００、操作コマンド判定部２１４、図１５のステップＳ１４、図１７のステップＳ６６〜Ｓ９６）、
前記発動アクション選択手段により選択された伸縮動作アクションを発動して前記プレーヤキャラクタを制御する制御手段（例えば、図１１の処理部２００、アクション制御部２１６、図１５のステップＳ１６〜図１６のステップＳ４２）、として前記コンピュータを機能させるためのプログラムである。
【０００７】
また、別形態の発明としては、伸縮可能な部位であって仮想空間中に配置された被把持部を把持する伸縮部位を有するプレーヤキャラクタを、タッチスクリーンへのプレーヤのタッチ操作に基づいて表示制御させて所定のゲームを実行するゲーム装置であって、
タッチ操作されているタッチ位置に基づいて、タッチ継続時間及びスライド操作速度を含むタッチ操作状況を表すパラメータを算出する操作状況算出手段（例えば、図１のタッチパネル１４０９、制御ユニット１４５０、図１１の処理部２００、タッチ操作パラメータ算出部２１２、図１５のステップＳ１４、図１７のステップＳ６２）と、
前記伸縮部位の把持目標となる被把持部を自動選択し、前記伸縮部位を伸縮させて把持させる自動把持アクションと、前記伸縮部位をタッチ操作に連動して伸縮させて被把持部を把持させる手動把持アクションとを少なくとも含む伸縮動作アクションの中から発動する伸縮動作アクションを、前記パラメータに基づいて選択する発動アクション選択手段（例えば、図１の制御ユニット１４５０、図１１の処理部２００、操作コマンド判定部２１４、図１５のステップＳ１４、図１７のステップＳ６６〜Ｓ９６）と、
前記発動アクション選択手段により選択された伸縮動作アクションを発動して前記プレーヤキャラクタを制御する制御手段（例えば、図１の制御ユニット１４５０、図１１の処理部２００、アクション制御部２１６、図１５のステップＳ１６〜図１６のステップＳ４２）と、を備えたゲーム装置として実現しても良い。
【０００８】
第１の発明によれば、タッチ継続時間やスライド操作速度などタッチ操作の状況を示すパラメータに基づいて（１）被把持部を自動選択し、その選択した被把持部に向けて伸縮部位を自動的に伸縮させ把持させる自動把持アクションと、（２）タッチ操作に連動して伸縮部位を伸縮させてプレーヤが所望する被把持部を把持させることのできる手動把持アクションと、を少なくとも含む伸縮動作アクションの中から発動する伸縮動作アクションを選択することができる。そして、選択した伸縮動作アクションをするようにプレーヤキャラクタを動作制御することができる。つまり、プレーヤは、タッチ操作だけでロッククライミング風の複数の動作を使い分けることができる。
【０００９】
更に、第２の発明として、第１の発明のプログラムであって、
前記発動アクション選択手段が、タッチ継続時間が所定の継続時間条件を満たした場合に前記手動把持アクションを発動させる伸縮動作アクションとして選択する手動把持アクション選択手段図１１の処理部２００、操作コマンド判定部２１４、図１５のステップＳ１４、図１７のステップＳ８４〜Ｓ９６）を有するように前記コンピュータを機能させるためのプログラムを構成しても良い。
【００１０】
タッチ継続時間とは、タッチオンしてからタッチオフするまでの時間である。この場合、タッチしてから比較的ゆっくりとしたタッチ操作がなされると、手動把持アクションが選択されることになる。手動把持アクションは、プレーヤがプレーヤキャラクタに把持させたい被把持部を選択することを目的とするアクションであるから、ゆっくりとしたタッチ操作はその目的から理にかない、操作性を高めることができる。
【００１１】
また、第３の発明は、第２の発明のプログラムであって、
前記手動把持アクション選択手段が、タッチ継続時間が所定の継続時間条件を満たし、且つ、スライド操作速度が所定の低速度条件（例えば、図１７のステップＳ９０）を満たした場合（例えば、図１７のステップＳ９０のＹＥＳ）に前記手動把持アクションを発動させる伸縮動作アクションとして選択するように前記コンピュータを機能させ、
前記発動アクション選択手段が、タッチ継続時間が所定の継続時間条件を満たし、且つ、タッチ位置が変動していない不変条件を満たした場合に（例えば、図１７のステップＳ９０のＮＯ）、前記伸縮部位をタッチオフ直前のタッチ位置変動方向に伸縮させる攻撃アクション（例えば、図１０で説明するＥアクション）を、発動する伸縮動作アクションとして選択する打撃アクション選択手段（例えば、図１１の処理部２００、操作コマンド判定部２１４、図１７のステップＳ９６）を有し、
前記制御手段が、前記打撃アクション選択手段による選択に応じて前記打撃アクションを実行する打撃アクション実行手段（例えば、図１１の処理部２００、アクション制御部２１６、図１６のステップＳ４０〜Ｓ４２）を有する、ように前記コンピュータを機能させるためのプログラムである。
【００１２】
この第３の発明によれば、タッチ継続時間が所定の継続時間条件を満たし、更にタッチ位置が変動していない場合には、攻撃アクションが選択される。つまり、タッチ操作でより多くのアクションを操作入力できるようになる。
【００１３】
第４の発明は、第１〜第３の何れかの発明のプログラムであって、
前記発動アクション選択手段が、スライド操作速度が所定の高速度条件を満たした場合（図１７のステップＳ８６のＹＥＳ）に前記自動把持アクションを発動させる伸縮動作アクションとして選択する自動把持アクション選択手段（例えば、図１１の処理部２００、操作コマンド判定部２１４、図１７のステップＳ８８）を有するように前記コンピュータを機能させるためのプログラムである。
【００１４】
この第４の発明によれば、プレーヤ、タッチ操作面を引っ掻くような素早いスライド操作をすることで自動把持アクションを選択操作することができる。これによって、素早い操作と自動把持アクションとの組み合わせによって、テンポの良いゲームプレイスタイルが実現される。
【００１５】
また、第５の発明は、第１〜第４の何れかの発明のプログラムであって、
前記操作状況算出手段が、前記パラメータの１つとしてスライド操作のスライド方向（例えば、図３の入力ベクトル２０、図１１のスライド方向５３６）を算出し、
前記制御手段が、前記プレーヤキャラクタの位置と前記スライド方向とを基準に定義される所定のサーチ範囲内（例えば、図３の壁面突起選択領域２２）に存在する被把持部の中から、当該スライド方向の延長線（例えば、図３の相似ベクトル２１）に最寄りの被把持部を前記把持目標として前記自動把持アクションを実行する自動把持アクション実行手段（例えば、図１１の処理部２００、アクション制御部２１６、図１８のステップＳ１２２〜Ｓ１２６））を有する、ように前記コンピュータを機能させるためのプログラムである。
【００１６】
この第５の発明によれば、スライド操作のスライド方向に近い方向にある最寄りの被把持部が選択されるため、プレーヤにとって、より直感的な操作を実現することができる。
【００１７】
また、第６の発明として、第１〜第５の何れかの発明のプログラムであって、
前記制御手段が、前記伸縮部位の伸縮端部の位置をタッチ操作に連動させつつ前記伸縮端部に最寄りの被把持部を把持目標候補として随時切り替え選択し、タッチオフ時に選択されていた把持目標候補を把持目標として前記伸縮部位に把持させるように前記手動把持アクションを実行する手動把持アクション実行手段（例えば、図１１の処理部２００、アクション制御部２１６、図２３のステップＳ１８９、Ｓ１９１）を有するように前記コンピュータを機能させるためのプログラムを構成することとしてもよい。
【００１８】
また、第７の発明は、第１〜第６の何れかの発明のプログラムであって、
前記プレーヤキャラクタが前記伸縮部位を複数有しており、前記制御手段が、伸縮させる前記伸縮部位を順番に切り替えるように前記コンピュータを機能させるためのプログラムである。
【００１９】
この第７の発明によれば、あたかも左右の腕を順に伸縮させて崖を登攀するロッククライマのような自然な動作を実現することができる。
勿論、プレーヤキャラクタのデザインを人間タイプ以外に設定する場合には伸縮部位の数は３以上としても良い。その場合の「順番に切り替えるように」とは、必ずしも順番通り（例えば「１→２→３→１→２→３→（繰り返し）」のローテーション）に限らず、選択順にある種のルールを有していれば、例えば、「１→２→３→２→１→２→３→（繰り返し）」のローテーションなどでも良い。
【００２０】
また、第８の発明は、第１〜第６の何れかの発明のプログラムであって、
前記操作状況算出手段が、前記パラメータの１つとしてスライド操作のスライド方向を算出し、
前記発動アクション選択手段が、前記伸縮部位が被把持部を把持している状態であり、且つ、タッチ操作が前記プレーヤキャラクタのボディ部になされてスライド操作された場合に、前記被把持部を把持した状態で前記伸縮部位を伸長させて前記プレーヤキャラクタのボディ部をスライド方向に移動させた後、スライド方向と反対方向に前記プレーヤキャラクタを射出する射出アクション（例えば、図７〜図８で説明するＣアクション）を、発動する伸縮動作アクションとして選択する射出アクション選択手段（例えば、図１１の処理部２００、操作コマンド判定部２１４、図１７のステップＳ６６〜Ｓ７２）を有し、
前記制御手段が、前記射出アクション選択手段による選択に応じて前記射出アクションを実行する射出アクション実行手段（例えば、図１１の処理部２００、アクション制御部２１６、図１６のステップＳ２６〜Ｓ３０）を有する、ように前記コンピュータを機能させるためのプログラムである。
この第８の発明によれば、タッチ操作だけでより多彩なアクションの操作入力をすることができるようになる。
【００２１】
また、第９の発明は、第８の発明のプログラムであって、
前記射出アクション実行手段が、前記伸縮部位を仮想弾性体、前記ボディ部を仮想錘体にそれぞれ仮定して前記プレーヤキャラクタの射出到達位置を算出し、当該射出到達位置に向けて前記プレーヤキャラクタを移動させるように前記コンピュータを機能させるためのプログラムである。
この第９の発明によれば、射出以降の移動をよりリアルに表現できる。
【００２２】
第１０の発明は、第１〜第９の何れか一つのプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ＩＣメモリなどを含む。同発明によれば、第１〜第９の何れか一つの発明のプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第１〜９の何れか一つの発明と同様の効果を発揮させることができる。
【発明の効果】
【００２３】
本発明によれば、タッチ継続時間やスライド操作速度などタッチ操作の状況を示すパラメータに基づいて（１）被把持部を自動選択し、その選択した被把持部に向けて伸縮部位を自動的に伸縮させ把持させる自動把持アクションと、（２）タッチ操作に連動して伸縮部位を伸縮させてプレーヤが所望する被把持部を把持させることのできる手動把持アクションと、を少なくとも含む伸縮動作アクションの中から発動する伸縮動作アクションを選択することができる。そして、選択した伸縮動作アクションをするようにプレーヤキャラクタを動作制御することができる。つまり、プレーヤは、タッチ操作だけでロッククライミング風の複数の動作を使い分けることができる。
【発明を実施するための最良の形態】
【００２４】
次に、本発明を適用した実施形態として、任天堂社製の携帯型ゲーム装置「ニンテンドーＤＳ（登録商標）」等で見られる液晶ディスプレイ上にタッチパネルを搭載した携帯型ゲーム装置でロッククライミング風に移動するアクションゲームをプレイする例を挙げて説明する。
【００２５】
［ゲーム装置の構成］
図１は、携帯型ゲーム装置の構成例を説明するための外観図である。本実施形態における携帯型ゲーム装置１４００は、プレーヤがゲーム操作を入力するための方向入力キー１４０２及びボタンスイッチ１４０４と、第１液晶ディスプレイ１４０６と、第２液晶ディスプレイ１４０８と、スピーカ１４１０と、制御ユニット１４５０とを、ヒンジ１４１４で開閉自在なフリップフロップ型の装置本体１４０１に備えている。そして、第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８の表面には、スタイラスペン１４１６などで触れることによって表示画面の任意の位置を入力することのできるタッチパネル１４０７，１４０９がそれぞれ装着されている。
【００２６】
また、装置本体１４０１には、コンピュータ読み出し可能な情報記憶媒体であるメモリカード１４４０にデータを読み書きできるメモリカード読取装置１４１８が備えられている。メモリカード１４４０には、携帯型ゲーム装置１４００の制御ユニット１４５０がゲームプレイに係る各種演算処理を実行するために必要なプログラムや各種設定データが記憶されている。またその他、装置本体１４０１には図示されていない内臓バッテリーや電源ボタン、音量調節ボタン等が設けられている。
【００２７】
タッチパネル１４０７，１４０９は、表示画面を遮蔽することなくそれぞれ第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８の表示画面のほぼ全域を被い、プレーヤが画面表示されているものに触れる感覚でスタイラスペン１４１６（或いは指など）で触れると、左上を原点とする直交Ｘｔ，Ｙｔ軸座標系における接触位置座標を制御ユニット１４５０へ出力することができる。
【００２８】
制御ユニット１４５０は、ゲーム装置の制御基板に相当し、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ(Application Specific Integrated Circuit)、ＶＲＡＭやＲＡＭ，ＲＯＭ等の各種ＩＣメモリを搭載する。また、無線通信モジュール１４１２や、３軸加速度センサ１４２２、第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８のドライバ回路、タッチパネル１４０７及びタッチパネル１４０９のドライバ回路、方向入力キー１４０２及びボタンスイッチ１４０４からの信号を受信する回路、スピーカ１４１０へ音声信号を出力するためのアンプ回路、メモリカード読取装置１４１８への信号入出力回路といったいわゆるＩ／Ｆ回路（インターフェース回路）を搭載する。これら制御ユニット１４５０に搭載されている各要素は、それぞれバス回路を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【００２９】
３軸加速度センサ１４２２は、携帯型ゲーム装置１４００の姿勢変化や位置変化を検出するために直交するＸ軸・Ｙ軸・Ｚ軸の３軸方向の加速度を検出し、検出信号を制御ユニット１４５０へ出力する。尚、加速度センサの代わり、又は更なる機能追加としてジャイロセンサを備える構成としても良い。或いは地磁気を基準として位置や姿勢変化を検出するならば磁気センサによって置き換えることもできる。
【００３０】
そして制御ユニット１４５０は、メモリカード読取装置１４１８によってメモリカード１４４０に格納されているプログラムやデータを読み出して、搭載するＩＣメモリにこれらを一時記憶する。そして、読み出したプログラムを実行して演算処理を実行し、方向入力キー１４０２やボタンスイッチ１４０４、タッチパネル１４０７及び１４０９からの操作入力に応じて携帯型ゲーム装置１４００の各部を制御して、アクションゲームを実行する。
【００３１】
尚、本実施形態では、携帯型ゲーム装置１４００は必要なプログラムや各種設定データをメモリカード１４４０から読み出す構成としているが、無線通信モジュール１４１２を介して、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）などの有線／無線の通信回線１に接続して外部の装置からダウンロードする構成としても良い。
【００３２】
［ゲームの概要］
図２は、本実施形態におけるゲームの概要を説明するための図である。本実施形態では、第１液晶ディスプレイ１４０６に、現在プレイ中のゲームステージに関するマップ画面Ｗ２が表示され、第２液晶ディスプレイ１４０８に、プレーヤキャラクタ２の周辺詳細を示す主たるゲーム画面Ｗ４が表示される。
【００３３】
マップ画面Ｗ２には、ゲーム開始からの経過時間や得点、マップ識別情報などの情報表示１０と、ステージ概略図１２と、スタート位置１４と、ゴール位置１６と、プレーヤキャラクタ２の現在位置１８が表示される。ゲーム画面Ｗ４には、プレーヤキャラクタ２と、敵キャラクタ４と、プレーヤキャラクタ２がロッククライミング風に登攀する壁面６とが表示される。ゲーム画面Ｗ４は、液晶ディスプレイのリフレッシュレートより短いサイクルで、仮想カメラで撮影した画像（いわゆる３ＤＣＧ）が生成され、生成された画像に各種情報表示１０が合成されて生成される。尚、仮想カメラはプレーヤキャラクタ２を画面の中央付近（例えば、図中の一点鎖線で囲まれた範囲内）に捉えるように自動的に移動や回転、撮影画角等が制御される。
【００３４】
本実施形態のアクションゲームでは、プレーヤキャラクタ２は両腕を伸縮部位としてゴムの様に伸ばすことのできるゲームキャラクタである。プレーヤがスタイラスペン１４１６でタッチパネル１４０９にスライド操作をすると、スライド操作の方向や速度などに基づいて判定される様々なアクションでプレーヤキャラクタ２が壁面６の所々に設けられている被把持部である壁面突起８に腕を伸ばして壁面突起８を掴み、腕を縮める動作を行う。プレーヤは、これを繰り返してプレーヤキャラクタ２を壁面６の頂上へ登攀させる。
【００３５】
ゲームステージには、いたるところに敵キャラクタ４が配置されており、それぞれ画面左右方向に自動移動制御される。敵キャラクタ４がプレーヤキャラクタ２に接触すると、プレーヤキャラクタ２は攻撃を受けたと判定され耐力値（いわゆる「ヒットポイント」）が減算される。ゴールに到達する前に耐力値が「０」になるとゲームオーバーとなり、ゴール到達までの時間が考慮されてゲームポイントが決定される。
【００３６】
尚、本実施形態では壁面６は崖のような立面として想定されているがその角度は適宜設定することができる。また、プレーヤキャラクタ２が掴むことができる被把持部は、岩の突起や、打ち込まれたカラビナ、窓枠、フェンス、壁の割れ目などの固定された凹凸に限らず、風に揺れて移動する蔦やロープ、所定軌跡を描いて移動する気球やエレベータや動物などでも良く、プレーヤキャラクタ２が掴んで（或いは吸着やかぎ爪を掛けるなどして係合して）下方へ落下するのを防ぐことのできるものであれば適宜設定することができる。また、ゲーム画面構成は同図に示すように、第１液晶ディスプレイ１４０６，第２液晶ディスプレイ１４０８の長辺を横にした構成に限らず、第１液晶ディスプレイ１４０６，第２液晶ディスプレイ１４０８の長辺を縦方向にして、ディスプレイの長辺が登攀方向と一致する構成とし、携帯用ゲーム装置１４００を所謂「縦持ち」で使用するとしても良いのは勿論である。
【００３７】
［プレーヤキャラクタのアクションと入力操作についての説明］
プレーヤは、スタイラスペン１４１６で異なる操作入力をすることで、プレーヤキャラクタ２にその時々のゲーム状況に適当なＡアクション〜Ｅアクションの何れかを行わせてゲームを進める。
【００３８】
図３〜図４は、本実施形態における「Ａアクション」とその操作入力について説明するための図である。Ａアクションは、プレーヤがスタイラスペン１４１６で急速且つタッチ時間の短い素早いスライド操作（以降「スラッシュ操作」とも言う。）をすると、そのスライド方向に存在する壁面突起８を自動的に選択して自動的に手を伸ばして掴んで移動する自動把持アクションである。
【００３９】
具体的には、タッチオンからタッチオフまでのタッチ時間がスラッシュ操作判定基準時間よりも短く、且つ、その間のスライド操作の移動速度がスラッシュ操作判定基準速度に達した場合には、そのタッチ操作は「スラッシュ操作」と判定される。
【００４０】
そして、図３（１）に示すように、スタイラスペン１４１６でスラッシュ操作（図中、黒太矢印で示すタッチオン＋スライド操作と、破線黒矢印で示すタッチオフとの一連の操作）をするとＡアクションの操作コマンドが入力されたと判定され、最新の入力ベクトル２０（スライド方向）が求められるとともに、プレーヤキャラクタ２の左右の腕から伸長対象の腕が選択される。例えば、図３（１）の状態では、壁面突起８を掴んでいない右腕が伸長対象と選択される。そして、伸長対象に選択された腕の手先から、先に求められた入力ベクトル２０と同じ方向に向いた相似ベクトル２１を左右中心とした扇状の壁面突起選択領域２２が設定され、この壁面突起選択領域２２内に存在する壁面突起８の内、伸長対象の腕の手先からの向き２４（図中の一点鎖線矢印）が最も入力ベクトル２０に近似するものが、今アクションにおける腕を伸ばす目標として選択される。
【００４１】
目標となる壁面突起８が選択されたならば、図３（２）に示すように、プレーヤキャラクタ２の伸長対象の腕が自動的に目標の壁面突起８を掴むように伸長制御される。そして、当該腕が目標に到達すると、図３（３）に示すように、プレーヤキャラクタ２の伸長対象の腕を元の標準長に戻すように自動的に短縮制御され、それとともに伸長対象の腕と反対側の腕が壁面突起８を掴んだ状態が解除され、自動的に元の長さに短縮制御される。
【００４２】
更に同じようにスラッシュ操作をすると、図４（１）に示すように、やはり入力ベクトル２０が求められた後に伸長対象の腕（図４の状態では左腕）が選択されるが、前回伸ばしていない側の腕、或いは今現在掴み状態に無い腕が選択される。そして、この伸長対象の腕の手先から壁面突起選択領域２２が設定され、目標の壁面突起８が選択される。
【００４３】
目標の壁面突起８が選択されたならば、先ほどと同様、図４（２）に示すように、処理対象の腕が伸ばされて目標を掴むように表示制御される。そして、目標を掴んだならば、図４（３）に示すように、伸びた腕を元の標準長に短縮させるととともに、反対側の腕の手を放して標準長に短縮させる。
【００４４】
このように、本実施形態ではプレーヤがスタイラスペン１４１６でプレーヤキャラクタ２の腕を伸ばしたい方向へスラッシュ操作をすると、プレーヤキャラクタ２が自動的に目標となる壁面突起８を見つけて腕を伸ばし移動するといったＡアクションをする。
【００４５】
尚、本実施形態におけるＡアクションについては、壁面突起選択領域２２に何れの壁面突起８も存在しない場合には、目標が選択不可となるので伸長対象の腕は伸ばさずにそのままとしても良いし、ある程度伸ばすが何も掴まずに標準長に戻るようにしても良い。また、Ａアクション発動のタイミングを、スラッシュ操作時のタッチオフ検出のタイミングとしてもよいし、タッチ位置の移動停止を検出したタイミングとしても良い。つまり、素早くスライド操作したのちタッチオフしなくともその場で停めた場合でも同様にＡアクションの操作コマンドが入力されたと判定することもできる。
【００４６】
図５〜図６は、本実施形態における「Ｂアクション」とその操作入力とについて説明するための図である。Ｂアクションは、プレーヤがスタイラスペン１４１６でＡアクションの操作コマンド入力の時よりはゆっくりとした速さでスライド操作することで、プレーヤキャラクタ２の腕を任意に伸ばし、タッチオフを検出した時点における延びた腕の手先に近接する壁面突起８を掴ませるアクションである。Ｂアクションは腕を任意の位置に伸ばしてプレーヤが所望する壁面突起８を掴ませる手動把持アクションであり、Ａアクションのように自動的に伸ばしていない側の腕の手を放して移動することはしない。
【００４７】
具体的には、図５（１）に示すように、プレーヤがスタイラスペン１４１６でタッチパネル１４０９へスラッシュ操作よりもゆっくりとしたスラッシュ操作判定基準速度に達しない移動速度（スライド速度）でスライド操作すると、Ｂアクションの操作入力の判定がなされて伸長対象の腕が選択される。このとき、伸長対象とされるのは、何れか一方の腕が掴み状態であれば今現在掴み状態に無い腕であり、両方の腕が掴み状態であれば前回伸ばした腕と反対側の腕である。
【００４８】
伸長対象の腕が選択されると、図５（２）に示すように、伸長対象の腕がスライド操作の入力距離（スライド距離）に応じた長さだけ伸ばされ、手先の位置は入力方向ベクトル２０に沿って移動される。従って、スライド操作を直線状に行えば直線状に腕が伸ばされ、円弧を描くようにスライド操作すれば伸びた腕の手先も円弧を描くように移動される。
【００４９】
そして、タッチオフが検出されると、図５（２）〜図５（３）に示すように、検出タイミングにおける伸長対象の腕の手先位置を中心とする矩形の手判定領域３０内に存在し、最も手先に近接した壁面突起８を、伸長対象の腕で掴むように自動的に動作制御される。
【００５０】
そして、腕が伸ばされたならば、両腕の張力で体が釣られた状態となるように、両腕の長さが伸長或いは短縮されるとともに体の位置が移動される。より具体的には、最も単純な制御では、両腕をそれぞれ掴んでいる壁面突起８を結ぶ直線状に両腕を伸ばし、その中間位置に体を移動させる。よりリアリティを求めた制御では、画面下方に向けて仮想重力のある環境を想定し、同環境下において２本の仮想弾性紐（腕）で仮想錘（体）を吊る状態を物理演算で求める。図５（３）では、プレーヤキャラクタ２は、両腕の中間位置より、やや画面下側に体がオフセットした姿勢となっており、どちらかというと後者の「よりリアリティを求めた制御」が行われた場合に相当する。
【００５１】
図５（３）の状態から、更に登攀を進めようとするには、再びスタイラスペン１４１６で腕を伸ばしたい方向へスラッシュ操作してＡアクションさせるか、スラッシュ操作よりもゆっくりとしたスライド操作をしてＢアクションさせる。
【００５２】
図６（１）は、前者に相当する。Ａアクションの操作コマンド入力が為されたと判断されると、伸長対象の腕が選択される。図５（３）は両腕が掴み状態であるので、前回伸ばしていない側の左腕が伸長対象として選択される。
【００５３】
以下、先に述べたＡアクションと同様に、この左腕の手先を基準に入力ベクトル２０を左右中心とした所定の扇状の壁面突起選択領域２２が設定され、その内側に存在する壁面突起８の内、伸長対象の腕の手先からの向き２４（図中の一点鎖線矢印）が最も入力ベクトル２０に近似する壁面突起８が腕を伸ばす目標として選択される。そして、図６（２）に示すように、プレーヤキャラクタ２の伸長対象の腕が自動的に目標の壁面突起８を掴むように伸長制御される。この時、体の向きは一時的に横を向くように制御され、左腕を体の右側に伸ばす様子が自然に見えるように考慮される。
【００５４】
今回のアクションはＡアクションであるから、伸ばした腕が目標の壁面突起８に到達すると、図６（３）に示すように、プレーヤキャラクタ２の伸長対象の腕は元の標準長に戻すように自動的に短縮制御され、それとともに伸長対象と反対側の腕の手は放されて壁面突起８を掴んだ状態が解除され、自動的に元の長さに短縮制御される。
【００５５】
一方、図５（３）の状態から再びＢアクションの操作コマンド入力を行った場合には、図５で説明した左右の腕の関係は反対となるが、同様にスタイラスペン１４１６で腕を伸ばす先を任意に指定するようにして腕を伸ばすことで登攀を進める事も可能である。
【００５６】
このように、Ｂアクションによって、プレーヤキャラクタ２に任意の位置に腕を伸ばさせ、所望する壁面突起８を掴ませることができる。Ａアクションでは、スラッシュ操作と目標となる壁面突起８が自動的に選択される制御とが相俟って、素早い登攀が可能となるが、Ｂアクションでは所望する任意の壁面突起８を掴ませることができるので、腕を伸ばす位置を慎重に考えて選択しないと登れない、より複雑でパズル的な状況に適している。
【００５７】
尚、Ｂアクションにおいて、タッチオンの位置が左右の手判定領域３０に含まれる場合には、当該タッチオン位置が手判定領域３０に含まれる側の腕が伸長対象の腕として選択される。つまり、プレーヤはスタイラスペン１４１６で所望する側の腕の手先をタッチオンすることによって、伸長対象とする腕を任意に選択することができる。
【００５８】
図７〜図８は、本実施形態における「Ｃアクション」とその操作入力とについて説明する為の図である。Ｃアクションは、体を弾、両腕をパチンコのゴムヒモにそれぞれ見立て、プレーヤキャラクタ２をパチンコで跳ばすようにして射出して敵キャラクタ４に体当たり攻撃する動作である。
【００５９】
具体的には、先ず両手を広げて両手それぞれで壁面突起８を掴んだ状態を作る必要が有る。その為に先ずＢアクションを利用して現在掴み状態にない側の腕で壁面突起８を掴ませる。
すなわち、図７（１）の状態では、右手が掴み状態にない手放し状態にあるので、プレーヤキャラクタ２の左方やや上にある壁面突起８方向へゆっくりとしたスライド操作をすると、プレーヤキャラクタ２の右腕がスライド距離に応じて入力ベクトル方向へ伸びる。この時、プレーヤキャラクタ２の右手を体より左方向に伸ばす必要があるので、体の前後の向きを反転させるように制御して、人の動作として自然に見えるようにする。或いは、壁面突起８を掴んでいる左の手と右手とを交換する動作をした後、左手を伸ばすとしても良い。
【００６０】
プレーヤがスタイラスペン１４１６で伸びた右腕の手先が所望する壁面突起８に到達するように、図７（２）のようにペン先のスライド方向を調整すると、右腕の手先はその時々の最新の入力ベクトル方向にむけて移動制御される。つまり、スタイラスペン１４１６で右手の位置をガイドする。プレーヤが、右手の手判定領域３０が所望する壁面突起８に近づいたのを確認してタッチオフすると、自動的に同領域内にあって最も右手に近接する壁面突起８が選択され、自動的に右手が当該壁面突起を掴むように動作制御される。
この結果、図７（３）に示すように、プレーヤキャラクタ２は両手がそれぞれ壁面突起８を掴み状態となりそこに体がぶら下がった状態となる。換言すると、両手をゴムヒモ、体を弾にそれぞれ見立てるとパチンコのような形態となる。
【００６１】
この状態から、図７（３）に示すように、スタイラスペン１４１６でプレーヤキャラクタ２の体を中心とした体判定領域３２内をタッチし、図８（１）に示すように、所望する射出方向と正反対方向へスライド操作すると、Ｃアクションの操作コマンド入力が為されたと判断される。
【００６２】
すると、プレーヤキャラクタ２の体が、腕の付け根を回転軸にしてヨーヨーのように回転する回転モードに表示が変更されるとともに、スライド距離に応じた分だけ入力ベクトル方向へ移動される。このとき、両腕は伸ばされる。
【００６３】
また、プレーヤキャラクタ２の動作とは別に、Ｃアクションの操作コマンド入力の検出とともに、仮想カメラの画角設定が所定の広角設定に変更される。例えば、図８（１）では元の標準設定の範囲を一点破線で示し、その四隅から外向きに伸びる矢印で画角の変更を示している。こうした撮影画角の広角化によって、プレーヤキャラクタ２の周囲の状態がより広範囲にゲーム画面内に表示されることとなる。プレーヤにとってみれば、パチンコで狙う先をより広く見ることができるので好適である。
【００６４】
そして、タッチオフが検出されると、図８（２）に示すように、両腕が非表示にされるとともに、スライド操作と正反対方向に、それまでに為されたスライド操作のスライド距離に応じた最大到達距離だけ移動するまで、回転モードのプレーヤキャラクタ２の体２ｂが移動制御される。つまり、パチンコから弾が射出された格好となる。尚、スライド距離に応じて最大到達距離を求めるのではなく、画面下方に仮想重力が作用している環境下において、両腕の仮想弾性紐の復元力で付勢された仮想弾（体）を上方へ射出する条件で物理演算して求める構成としても良いのは勿論である。
【００６５】
また、プレーヤキャラクタ２の体が移動制御されると、これに伴って仮想カメラの画角設定が、広角設定から標準設定に戻される。
【００６６】
図８（２）に示すように、タッチオフ検出にともなって射出されたプレーヤキャラクタ２が敵キャラクタ４に当たると、その敵キャラクタ４は撃破され消滅するように制御される。また、最大到達距離だけ移動したプレーヤキャラクタ２は、図８（３）に示すように、回転モードから元に戻って標準モードの姿で表示され、射出以降の移動はそこで中止されて画面下方への仮想自由落下を始めるように移動制御される。勿論、仮想自由落下を始めた状態では、プレーヤキャラクタ２はどちらの腕も何処も掴んでいないので、そのままではせっかく登攀してきた壁面６から落下することになる。
【００６７】
そこで、図８（３）に示すように、Ａアクション或いはＢアクションでどこかの壁面突起８を掴むように操作する必要がある。図８（３）の例では、上方に向けてスラッシュ操作を入力したことによってＡアクションによってプレーヤキャラクタ２の右腕が壁面突起８を掴んで仮想自由落下をくい止めている。尚、仮想自由落下状態からＡアクションまたはＢアクションで伸長対象となる腕は、前回伸長対象とならなかった側の腕を選択するとしても良いし、スラッシュ操作の入力ベクトルが真上方向から右側の方向なら右腕、真上方向より左側の方向なら左腕を選択するとしても良い。
【００６８】
図９は、本実施形態における「Ｄアクション」とその操作入力とについて説明するための図である。Ｄアクションは、現在壁面突起８を掴んでいる手を任意に放させる動作である。
【００６９】
具体的には、図９（１）に示すように、壁面突起８を掴んでいる手には、手先を中心に所定サイズの手判定領域３０が設定される。スタイラスペン１４１６でダブルタップしたことが検出され、タップ位置がこの手判定領域３０内にある場合、自動的にその手を放すように動作制御される。
【００７０】
手が放されると、図９（２）〜図９（３）に示すように、掴んでいる手が残っている場合には、体の位置をこの掴んでいる手の下方に移動させ、画面下方へ仮想重力が作用しているかのように見せる。尚、体の下方への移動は、手を仮想弾性紐、体を仮想錘とした物理演算を行って体の位置変化を算出するとしても良い。
【００７１】
このように、Ｄアクションによって任意に壁面突起８を掴んでいる手を放すことができるので、その他のアクション、特にＢアクションと適当に組み合わせることで、例えば図９（１）〜図９（３）のようなプレイが可能になる。すなわち、プレーヤキャラクタ２が両手で壁面突起８を掴んでいるところへ右方から敵キャラクタ４が迫り、そのままではプレーヤキャラクタ２に当たってしまうシチュエーションにおいて、上方へ登攀する行動がやはり敵キャラクタ４によって邪魔されているならば、意図的に右手を放すことで体の位置をずらし、右方より迫り来る敵キャラクタ４との衝突を回避するといった頭脳的なプレイが可能になる。
【００７２】
図１０は、本実施形態における「Ｅアクション」とその操作入力とについて説明する為の図である。Ｅアクションは、手先に仮想火炎エネルギーを溜め、その手の腕を敵キャラクタ４に向けて伸ばして当てる打撃アクションである。
【００７３】
具体的には、図１０（１）に示すように、スタイラスペン１４１６でタッチオンしてから長押し判定基準時間を超えてその位置を変えずに維持すると、Ｅアクションの操作コマンド入力開始の判定が為されて、現在壁面突起８を掴んでいない手に火炎エネルギーグラフィックス３６が付与される。
【００７４】
この状態から、プレーヤがスタイラスペン１４１６で攻撃したい敵キャラクタ４に向けてスライド操作をすると、図１０（２）に示すように、プレーヤキャラクタ２は火炎エネルギーグラフィックス３６が付与された側の腕をタッチオフ直前のタッチ位置変動方向（スライド操作の入力ベクトル２０の方向）へ、所定の長さに達するまで伸長される。そして、図１０（３）に示すように、伸長された腕が敵キャラクタ４にヒットすると、この敵キャラクタ４はプレーヤキャラクタ２の攻撃を受けたと判定され、撃破・消滅される。
つまり、Ｅアクションによって、Ｃアクションより小規模であるが素早い攻撃動作をすることで、任意の敵キャラクタ４を撃破して活路を作り出すことが可能となる。
【００７５】
このように、本実施形態では、スタイラスペン１４１６による操作入力だけで、これらＡアクション〜Ｅアクションを適宜使い分け、直感的且つスピーディなアクションゲームをプレイすることができる。
【００７６】
尚、プレーヤキャラクタ２のアクションの数は、ゲームの内容によって本実施形態よりも少なくしても多くしても構わない。その数は、ゲーム全体を通して共通で設定されるとしても良いし、難易度設定によって増減させたり、敵キャラクタ４から攻撃を受けた場合には所定時間の間だけ所定のアクションが使用不能になるといった制限を設けても良い。
各アクションの動作も、本実施形態における例に限らず適宜設定可能である。
【００７７】
［機能ブロックの説明］
次に、上述のような特徴を実現するための機能構成について説明する。
図１１は、本実施形態における機能構成の一例を示す機能ブロック図である。同図に示すように携帯型ゲーム装置１４００は、操作入力部１００と、処理部２００と、音出力部３５０と、画像表示部３６０と、通信部３７０と、記憶部５００とを備える。
【００７８】
操作入力部１００は、プレーヤによって為された各種の操作入力に応じて操作入力信号を処理部２００に出力する。本実施形態では、方向入力部１０２と接触位置検出部１０４を含む。
【００７９】
方向入力部１０２には、ボタンスイッチや、ジョイスティック、タッチパッド、トラックボール、２軸以上の検出軸を有する多軸検出型加速度センサ又は検出軸方向を違えて組み合わされた単軸検出型加速度センサユニット、少なくとも２方向以上の検出方向を可能にする多方向検出型傾斜センサまたは検出方向を違えて組み合わされた単方向検出型傾斜センサユニット、などによっても実現できる。図１では方向入力キー１４０２、３軸加速度センサ１４２２がこれに該当する。
【００８０】
接触位置検出部１０４は、表示画面範囲への接触位置を検出することのできるデバイスである。図１のタッチパネル１４０７，１４０９がこれに該当する。
【００８１】
処理部２００は、例えばＣＰＵやＧＰＵ等のマイクロプロセッサや、ＡＳＩＣ（特定用途向け集積回路）、ＩＣメモリなどの電子部品によって実現され、操作入力部１００や記憶部５００を含む携帯型ゲーム装置１４００の各機能部との間でデータの入出力を行う。そして、所定のプログラムやデータ、操作入力部１００からの操作入力信号に基づいて各種の演算処理を実行して、携帯型ゲーム装置１４００の動作を制御する。図１では制御ユニット１４５０がこれに該当する。
そして本実施形態における処理部２００は、ゲーム演算部２１０と、音生成部２５０と、画像生成部２６０と、通信制御部２７０とを備える。
【００８２】
ゲーム演算部２１０は、ゲームの進行に係る処理を実行する。例えば、ゲーム空間を３次元仮想空間中に形成する処理や、ゲーム空間中にキャラクタ等のオブジェクトを配置する処理、配置されたキャラクタ等の動作制御処理、キャラクタの移動や攻撃といった各種動作制御処理、攻撃等によるオブジェクト（例えば敵キャラクタとプレーヤキャラクタ）間のヒット判定処理、物理演算処理、ゲーム結果の算出処理といった処理が実行対象に含まれる。
そして、本実施形態のゲーム演算部２１０は、タッチ操作パラメータ算出部２１２と、操作コマンド判定部２１４と、アクション制御部２１６とを含んでいる。
【００８３】
タッチ操作パラメータ算出部２１２は、接触位置検出部１０４から出力された位置座標を元に、ゲーム画面座標系におけるタッチ位置を算出し、タッチ操作を検出している現在のシステム時間と対応付けて記憶部５００のタッチ操作データ５３０に格納する。
【００８４】
また、タッチ操作パラメータ算出部２１２は、更にタッチ操作の状況を示す各種パラメータ値を算出する。
本実施形態では、以下のパラメータ値を算出する。
（１）タッチオンから現在までのシステム時間差をもとにタッチ継続時間５３３を算出して記憶部５００に記憶する。
（２）タッチオンのタッチ位置から現在までのタッチ位置の変移からスライド操作された距離を算出しスライド距離５３４として記憶部５００に記憶する。
（３）接触位置検出部１０４の検出サイクルと、直前のタッチ位置と現在のタッチ位置との差とに基づいて、スライド操作の速さ（単位は、例えばｄｏｔ／ｓや、ｄｏｔ／ｆ）を求めスライド速度５３５として記憶部５００に記憶する。
（４）接触位置検出部１０４の検出サイクルと、直前のタッチ位置と現在のタッチ位置との差とに基づいて、入力ベクトル２０を算出して、スライド方向５３６として記憶部５００に格納する。
【００８５】
操作コマンド判定部２１４は、タッチ操作パラメータ算出部２１２で算出された各種パラメータ値を元に操作コマンドの種類を判定し、判定結果に従って記憶部５００の操作コマンド判定データ５２２に含まれるＡアクションフラグ５２３，Ｂアクションフラグ５２４，Ｃアクションフラグ５２５，Ｄアクションフラグ５２６，Ｅアクションフラグ５２７を操作する。
【００８６】
具体的に操作コマンド判定部２１４は、以下の処理を行う。
（１）タッチ継続時間５３３が所定のスラッシュ操作判定基準時間（例えば、２４フレーム）に満たない短さであり、且つスライド速度５３５が所定のスラッシュ操作判定基準速度（例えば、１ｄｏｔ／ｓｅｃ）に達する速さである場合に、Ａアクションの操作コマンドが入力されたと判定する。
（２）タッチ継続時間５３３に達する長さであり、且つスライド速度５３５がスラッシュ操作判定基準速度に満たないが所定の緩操作判定基準速度（例えば、１ｄｏｔ／ｓｅｃより大きく２ｄｏｔ／ｓｅｃ以下）の場合、又はタッチオンの位置が手判定領域３０内に含まれる場合に、Ｂアクションの操作コマンドが入力されたと判定する。
（３）プレーヤキャラクタ２の両手が壁面突起８を掴んでいる状態において、タッチオンの位置が体判定領域３２に含まれる場合に、Ｃアクションの操作コマンドが入力されたと判定する。
（４）ダブルタップ（短時間でほぼ同じ位置を連続２回タッチする操作）の位置が壁面突起８を掴んでいる手の手判定領域３０に含まれる場合に、Ｄアクションの操作コマンドが入力されたと判定する。
（５）タッチ継続時間が所定の溜め動作判定基準を超過する場合に、Ｅアクションの操作コマンドが入力されたと判定する。
そして、入力されたと判定した各アクションに対応するアクションフラグに「１」を格納する。尚、各アクションフラグのゲーム開始時初期設定は「０」である。
【００８７】
アクション制御部２１６は、操作コマンド判定部２１４で判定された操作コマンドの種類に対応する動作をプレーヤキャラクタ２に行わせる。
【００８８】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）、音声合成ＩＣなどのプロセッサや、音声ファイル再生可能なオーディオコーデックによって実現され、ゲーム演算部２１０による処理結果に基づいてゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し、音出力部３５０に出力する。
【００８９】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力する装置によって実現される。図１ではスピーカ１４１０がこれに該当する。
【００９０】
画像生成部２６０は、例えば、ＧＰＵ（Graphics Processing Unit）、デジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサ、ビデオ信号ＩＣ、ビデオコーデックなどのプログラム、フレームバッファ等の描画フレーム用ＩＣメモリ等によって実現される。画像生成部２６０は、ゲーム演算部２１０による処理結果に基づいて１フレーム時間（１／６０秒）で１枚のゲーム画像を生成し、生成したゲーム画像の画像信号を画像表示部３６０に出力する。
【００９１】
画像表示部３６０は、画像生成部２６０から入力される画像信号に基づいて各種ゲーム画像を表示する。例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図１では第１液晶ディスプレイ１４０６及び第２液晶ディスプレイ１４０８がこれに該当する。
【００９２】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して外部装置とのデータのやりとりを実現する。
【００９３】
通信部３７０は、通信回線１と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図１の無線通信モジュール１４１２がこれに該当する。
【００９４】
記憶部５００は、処理部２００に携帯型ゲーム装置１４００を統合的に制御させるための諸機能を実現するためのシステムプログラムや、ゲームを実行させるために必要なゲームプログラム、各種データ等を記憶する。また、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果や操作部１００から入力される入力データ等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤなどの光学ディスクなどによって実現される。図１では制御ユニット１４５０が搭載するＩＣメモリやメモリカード１４４０がこれに該当する。
【００９５】
本実施形態では、記憶部５００はシステムプログラム５０１と、ゲームプログラム５０２とを記憶している。処理部２００がゲームプログラム５０２を読み出して実行することによって、処理部２００にゲーム演算部２１０としての機能を実現できる。
【００９６】
また、記憶部５００には、予め用意されるデータとして、ゲーム空間設定データ５１０と、キャラクタ初期設定データ５１２とが記憶されている。
【００９７】
更にゲームの進行に伴って随時生成や更新が行われるデータとして、プレーヤキャラクタステータスデータ５１４と、敵キャラクタステータスデータ５２０と、操作コマンド判定データ５２２と、タッチ操作データ５３０と、タッチ操作パラメータデータ５３２と、
射出ベクトル５４０を記憶する。
また、ゲームの進行に係る処理を実行するにあたり必要となるデータ（例えば、仮想カメラの仮想３次元空間座標系における位置座標や姿勢情報）なども適宜記憶されるものとする。
【００９８】
ゲーム空間設定データ５１０は、仮想３次元空間にゲーム空間を形成するための各種データを格納している。例えば、プレーヤキャラクタ２や敵キャラクタ４が移動する地表や建物・木・川・岩などの配置物オブジェクトに関するモデルデータやテクスチャデータ及びモーションデータが含まれる。
【００９９】
キャラクタ初期設定データ５１２は、プレーヤキャラクタ２や敵キャラクタ４の各種初期設定データを格納している。例えば、プレーヤキャラクタ２についてはモデルデータ、テクスチャデータ、モーションデータ、耐力値（いわゆるヒットポイントに相当）の初期値、攻撃力、移動速度、初期配置位置座標などが格納されている。敵キャラクタ４については、モデルデータ、テクスチャデータ、モーションデータ、耐力値の初期値、攻撃力、移動速度、攻撃パターン、移動パターン、出現位置座標などが格納されている。
【０１００】
プレーヤキャラクタステータスデータ５１４には、プレーヤキャラクタ２の現在の状態を示す各種パラメータとして、現在の仮想３次元座標における位置座標、速度、現在の耐力値、腕ステータスデータ５１６、判定領域設定データ５１８などが格納される。
【０１０１】
腕ステータスデータ５１６は、左右の手腕の制御に係わる情報を格納する。例えば、図１２に示すように、右腕ローカル座標原点５１６ａ、左腕ローカル座標原点５１６ｂ、右手位置座標５１６ｃ、左手位置座標５１６ｄ、右手掴み状態フラグ５１６ｅ、左手掴み状態フラグ５１６ｆ、右手掴み順フラグ５１６ｇ、左手掴み順フラグ５１６ｈを含む。
【０１０２】
右手掴み状態フラグ５１６ｅと左手掴み状態フラグ５１６ｆは、それぞれ左右の手が壁面突起８を掴んでいる状態で「１」が格納され、手を放している状態で「０」が格納される。
【０１０３】
右手掴み順フラグ５１６ｇと左手掴み順フラグ５１６ｈは、次に腕を伸ばす側に「１」が格納される。ゲーム開始時初期状態では何れとも「０」に設定されるが、スタート開始以降は最後に腕の伸長制御された側が「０」、残る側が「１」に設定される。
【０１０４】
判定領域設定データ５１８は、手判定領域３０や体判定領域３２の領域を定義する情報が格納される。これらの判定領域は基準となる手や体の位置に応じて随時更新される。
【０１０５】
敵キャラクタステータスデータ５２０には、敵キャラクタ４それぞれについての仮想３次元空間における位置座標、現在の耐力値といった情報が格納される。
【０１０６】
射出ベクトル５４０は、Ｃアクションの操作入力が為されたと判定された際に、ゲーム演算部２１０によって体判定領域３２をタッチしてスライドさせたときのスライド距離５３４及びスライド方向５３６に基づいて求められ、プレーヤキャラクタ２の回転モードの体を射出する方向と長さとしての最大到達距離をベクトル情報として格納される。
【０１０７】
［動作の説明］
次に、本実施形態における携帯型ゲーム装置１４００の動作について説明する。
図１５〜図１６は、本実施形態における主たる処理の流れを説明するためのフローチャートである。ここで説明される処理は、処理部２００がシステムプログラム５０１並びにゲームプログラム５０２を読み出して実行することによって実現される。
【０１０８】
尚、ここではゲーム画面の生成と表示、並びにゲーム音の出力についての説明は省略するが、公知のゲームと同様に、画像生成部２６０が液晶ディスプレイのリフレッシュレートよりも十分に短いサイクルでゲーム画面を生成し、画像表示部３６０（第１液晶ディスプレイ１４０６，第２液晶ディスプレイ１４０８）に表示させるものとする。同様に、音生成部２５０でゲーム音の音信号を生成して音出力部３５０（スピーカ１４１０）から放音させるものとする。
【０１０９】
さて、同図に示すように、ゲーム演算部２１０は先ずフラグ等の初期化処理を実行する（ステップＳ２）。具体的には、Ａアクションフラグ５２３〜Ｅアクションフラグ５２７を「０」に設定する。また、腕ステータスデータ５１６の右手掴み状態フラグ５１６ｅと左手掴み状態フラグ５１６ｆと、右手掴み順フラグ５１６ｇと、左手掴み順フラグ５１６ｈとを「０」に設定する。
【０１１０】
次に、処理部２００はゲーム空間設定データ５１０を参照して、ゲームステージの表示を開始し（ステップＳ４）、キャラクタ初期設定データ５１２を参照してプレーヤキャラクタ２及び敵キャラクタ４のオブジェクトをゲーム空間内の各初期位置に配置する（ステップＳ６）。この時、プレーヤキャラクタ２の判定領域設定データ５１８も初期化される。
【０１１１】
次いで、処理部２００は、プレーヤキャラクタ２を画面ほぼ中央で撮影するように仮想カメラをゲーム空間内に配置し、ゲーム画像の生成及び表示を開始する（ステップＳ８）。この時、仮想カメラの画角設定は標準画角に設定されるものとする。そして、以降は公知のビデオゲームと同様に所定の描画サイクルでゲーム空間の３ＤＣＧが生成され、これを元にゲーム画面が生成される。
【０１１２】
ここまでの処理ステップで、ゲームを開始する準備が整った事になるので、処理部２００は画像表示部３６０のリフレッシュレートよりも十分短い所定サイクルで、以降の処理（ステップＳ１０〜Ｓ５６）を所定のゲーム終了条件を満たすまで繰り返し実行する。
【０１１３】
具体的には、処理部２００は、ゲームが開始されると配置されている敵キャラクタ４の動作を自動制御する（ステップＳ１０）。そして、タッチパネル１４０９にタッチ操作が有れば（ステップＳ１２のＹＥＳ）、処理部２００は操作コマンド判定処理を実行する（ステップＳ１４）。
【０１１４】
図１７は、本実施形態における操作コマンド判定処理の流れを説明するためのフローチャートである。同処理では先ず、処理部２００は現在のゲーム画面座標系のタッチ位置座標とタッチ操作を検出したシステム時間をタッチ操作データ５３０に格納する（ステップＳ６０）。
【０１１５】
そして、処理部２００はタッチ操作データ５３０を参照して、タッチ開始から現在までの格納されているデータから、〔１〕タッチ継続時間（タッチ開始から現在までの経過時間）、〔２〕スライド距離（タッチ開始位置から現在のタッチ位置までのタッチ位置の移動距離）と、〔３〕スライド速度（直前に記憶されているタッチ位置から今回のタッチ位置までの移動速度）、〔４〕スライド単位ベクトル（直前に記憶されているタッチ位置から今回のタッチ位置への単位ベクトル。入力ベクトル２０相当。）をタッチ操作パラメータ値として算出し、それぞれ記憶部５００のタッチ操作パラメータデータ５３２に格納する（ステップＳ６２）。
【０１１６】
次に、処理部２００は、操作コマンド判定データ５２２を参照し、何れかのアクションフラグが「１」になっているかを判定する（ステップＳ６４）。
肯定判定の場合（ステップＳ６４のＹＥＳ）には、更にフラグが「１」になっているのがＢアクションフラグ５２４で有るかを判定する（ステップＳ６５）。ここで、Ｂアクションフラグ５２４が「１」でなければ、今回は操作コマンドの判定が不要と判断して、そのまま操作コマンド判定処理を終了するが、Ｂアクションフラグ５２４が「１」ならば後述するステップＳ８２に移行する。
一方、ステップＳ６４の判定において何れのアクションフラグも「０」で有ると判定した場合（ステップＳ６４のＮＯ）、処理部２００は操作コマンドの判定が必要と判断して、次に、今回検出されたタッチ位置が体判定領域３２の内側に含まれるかを判定する（ステップＳ６６）。
【０１１７】
タッチ位置が体判定領域３２内に含まれる場合（ステップＳ６６のＹＥＳ）、処理部２００は更に、両手が掴み状態で有るか否かを判定する（ステップＳ６８）。そして、両手が掴み状態で（ステップＳ６８のＹＥＳ）、且つ先に算出されたスライド距離５３４が所定のボディ引張操作判定基準距離（例えば２０ドット（画素））に達する場合（ステップＳ７０のＹＥＳ）、Ｃアクションの操作入力が為されたと判断して、Ｃアクションフラグ５２５を「１」に設定し、その他のアクションフラグに「０」を設定し（ステップＳ７２）、操作コマンド判定処理を終了する。
【０１１８】
一方、今回検出されたタッチ位置が体判定領域３２の内側にあっても、一方でも手が放れている状態や（ステップＳ６８のＮＯ）、スライド距離５２５がボディ引張操作判定基準距離に満たない場合には（ステップＳ７０のＮＯ）、そのままＣアクションフラグ５２５の設定は行わずに操作コマンド判定処理を終了する。
【０１１９】
ステップを遡って、ステップＳ６６にて否定判定された場合には、処理部２００は最新のタッチ位置座標と、判定領域設定データ５１８とを参照して、左右何れかの手判定領域３０内がダブルタップ（短時間で２回連続して同じ位置をタッチする操作）されたか否かを判定する（ステップＳ７６）。
【０１２０】
そして、肯定判定の場合（ステップＳ７６のＹＥＳ）、更に腕ステータスデータ５１６を参照して、判定領域がダブルタップされた側の手の掴み状態フラグが「１」で有るか、つまり掴み状態で有るかを判定する（ステップＳ７８）。
【０１２１】
そして、当該手が掴み状態であると判断されれば（ステップＳ７８のＹＥＳ）、処理部２００はＤアクションの操作入力が為されたと判断して、Ｄアクションフラグ５２６を「１」に設定するとともに、その他のアクションフラグに「０」を設定して（ステップＳ８０）、操作コマンド判定処理を終了する。
一方、今回検出されたタッチ位置が、体判定領域３２内でなく、また左右何れの手判定領域３０内でもない場合（ステップＳ７６のＮＯ）、また左右何れかの手判定領域３０内がタッチされたと判断されても、判定領域がタッチされた側の手が掴み状態でなければ（ステップＳ７８のＮＯ）、処理部２００はＤアクションフラグ５２６の操作は行わずにＡアクション、Ｂアクション、Ｅアクションの操作コマンド判定に係る処理に移る。
【０１２２】
先ず、判定領域設定データ５１８を参照して、右手或いは左手の手判定領域３０の何れかの領域内がタッチされたか否かを判定する（ステップＳ８２）。タッチされていなければ（ステップＳ８２のＮＯ）、続いてタッチ継続時間５３３の判定をする。
【０１２３】
タッチ継続時間５３３が所定のスラッシュ操作判定基準時間（例えば、２４フレーム）以下で（ステップＳ８４のＹＥＳ）、且つスライド速度５３５が所定のスラッシュ操作判定基準速度（例えば、３ドット／フレーム）以上である場合（ステップＳ８６のＹＥＳ）、処理部２００はタッチパネル１４０９をスクラッチするように短時間で素早いスライド操作が行われた、つまりＡアクションの操作入力が為されたと判断して、Ａアクションフラグ５２３を「１」に設定するとともに、その他のアクションフラグに「０」を設定して（ステップＳ８８）、操作コマンド判定処理を終了する。
タッチ継続時間５３３がスラッシュ操作判定基準時間を超過した場合（ステップＳ８４のＮＯ）、及びタッチ継続時間５３３がスラッシュ操作判定基準時間以下であるがスライド速度がスラッシュ操作判定基準速度より遅い場合には（ステップＳ８６のＮＯ）、ステップＳ９０に移行する。
【０１２４】
一方、ステップＳ８２において、右手或いは左手の手判定領域３０の何れかの領域内がタッチされたと判定した場合（ステップＳ８２のＹＥＳ）、及びステップＳ８４においてタッチ継続時間５３３がスラッシュ操作判定基準時間を超過していてスラッシュ操作と言うには遅いスライド操作であると判断される場合には（ステップＳ８４のＮＯ）、処理部２００は次に、スライド速度５３５が所定の定位置タッチ状態判定基準速度（例えば、１ドット／フレーム）以上で有るかを判定する（ステップＳ９０）。この定位置タッチ状態判定基準速度は、タッチ位置が変化しているか否かを判定する低速度基準となる。勿論、基準値を速度とせず、タッチ距離としても良い。
【０１２５】
スライド速度５３５が定位置タッチ状態判定基準速度以上である場合（ステップＳ９０のＹＥＳ）、処理部２００はスラッシュ操作ほどではない緩やかな速度でスライド操作がなされたと判断する。そして、Ｅアクションフラグ５２７を参照し、当該フラグが「１」に設定されていなければ（ステップＳ９２のＮＯ）、Ｂアクションの操作入力が為されたと判断して、Ｂアクションフラグ５２４を「１」に設定するとともに、その他のアクションフラグに「０」を設定して（ステップＳ９４）、操作コマンド判定処理を終了する。
【０１２６】
一方、スライド速度５３５が定位置タッチ状態判定基準速度未満である場合（ステップＳ９０のＮＯ）、処理部２００はタッチ位置が変動していない不変条件を満たすほどに定位置への長押しタッチがなされた、つまりＥアクションの操作入力が為されたと判断する。そして、Ｅアクションフラグ５２７を「１」に設定するとともに、その他のアクションフラグに「０」を設定して（ステップＳ９６）、操作コマンド判定処理を終了する。
【０１２７】
操作コマンド判定処理を終了したならば、図１５のフローチャートに戻って、処理部２００は、Ａアクションフラグ５２３〜Ｅアクションフラグ５２７を順次参照し、「１」が設定されているアクションフラグに対応するプレーヤキャラクタ２のアクション処理を実行する（ステップＳ１６〜図１６：Ｓ４２）。
【０１２８】
具体的には、Ａアクションフラグ５２３が「１」に設定されている場合（ステップＳ１６のＹＥＳ）、処理部２００は次いでタッチオフの判定をする（ステップＳ１８）。今までタッチされた状態にあって、今回の制御サイクルにおいてタッチが解除された事を検出した場合にタッチオフの判定をする。そして、タッチオフと判定した場合（ステップＳ１８のＹＥＳ）、処理部２００はＡアクション処理を実行して、プレーヤキャラクタ２にＡアクションを所定フレームの時間分（例えば、１フレーム分）だけ行わせる（ステップＳ２０）。
【０１２９】
一方、Ｂアクションフラグ５２４が「１」に設定されている場合には（ステップＳ１６のＮＯ→Ｓ２２のＹＥＳ）、処理部２００はＢアクション処理を実行する（ステップＳ２４）。
【０１３０】
また、図１６に示すように、Ｃアクションフラグ５２５が「１」に設定されている場合には（ステップＳ２２のＮＯ→Ｓ２６のＹＥＳ）、処理部２００は仮想カメラの撮影画角の設定を所定の広角設定に変更して（ステップＳ２８）、Ｃアクション処理を実行する（ステップＳ３０）。一方、Ｃアクションフラグ５２５が「０」であれば（ステップＳ２６のＮＯ）、撮影画角の設定を標準に戻す（ステップＳ３２）。
【０１３１】
また、Ｄアクションフラグ５２６が「１」に設定されている場合には（ステップＳ３４のＹＥＳ）、タッチオフの判定をする。そして、タッチオフの場合（ステップＳ３６のＹＥＳ）、処理部２００はＤアクション処理を実行する（ステップＳ３８）。
また、Ｅアクションフラグ５２７が「１」に設定されている場合には（ステップＳ４０のＹＥＳ）、処理部２００はＥアクション処理を実行する（ステップＳ４２）。
【０１３２】
ではここで、Ａアクション処理〜Ｅアクション処理の流れについて詳細に説明する。
図１８は、Ａアクション処理の流れを説明するためのフローチャートである。Ａアクション処理は、スタイラスペン１４１６によるスラッシュ操作（素早いスライド操作）の方向へ、プレーヤキャラクタ２が自動的に腕を伸ばして移動するように腕の伸縮とボディの移動を制御する処理である。
【０１３３】
同処理では、処理部２００は先ず、前回の制御サイクルにおいてＡアクション処理が既に一回実行されてプレーヤキャラクタ２の腕を伸ばしたり縮めたりといった伸縮制御中の状態にあるかを判定する（ステップＳ１１０）。
伸ばし制御中でなければ（ステップＳ１１０のＮＯ）、処理部２００は今回Ａアクションフラグ５２３が「１」に設定されてから、今回の制御サイクルがＡアクション処理の初回実行に当たり、腕の伸縮制御を開始する必要が有ると判断し、先ず右手掴み状態フラグ５１６ｅ及び左手掴み状態フラグ５１６ｆを参照する（ステップＳ１１２）。
【０１３４】
そして、これらの掴み状態フラグが共に「０」に設定されていて右手及び左手の掴み状態が「両手放し」と判断されるならば（ステップＳ１１４の「両手放し」）、処理部２００は、先の操作コマンド判定処理で算出されたスライド方向５３６が画面真上方向を中心として左右何れに傾いているか判断し、傾いている方向の側の左手掴み順フラグ５１６ｈ又は右手掴み順フラグ５１６ｇに「１」を設定してスライド方向５３６の傾いた側の腕をアクションの処理対象とする（ステップＳ１１６）。
【０１３５】
右手掴み状態フラグ５１６ｅ、左手掴み状態フラグ５１６ｆの両方とも「１」に設定されていて「両手掴み」状態と判断されるならば（ステップＳ１１４の「両手掴み」）、右手掴み順フラグ５１６ｇ及び左手掴み順フラグ５１６ｈのうち「１」が設定されている側の腕を処理対象とする（ステップＳ１１８）。
【０１３６】
また、右手掴み状態フラグ５１６ｅ及び左手掴み状態フラグ５１６ｆのうち一方のみ「１」が設定されている場合には、掴み状態フラグが「０」になっている側の手が放れている「片手放し」状態と判断して（ステップＳ１１４の「片手放し」）、掴み状態フラグが「０」である腕の手の掴み順フラグを「１」に設定して、当該腕を処理対象とする（ステップＳ１２０）。
【０１３７】
伸縮制御の対象とする腕が決まったならば、処理部２００は次に、処理対象とする腕の手の先からスライド方向５３６を左右中心にして扇状に広がる壁面突起選択領域２２をゲーム画面座標で設定する（ステップＳ１２２）。そして、この壁面突起選択領域２２に壁面突起８が含まれる場合（ステップＳ１２４のＹＥＳ）、処理部２００は該当する壁面突起８それぞれについて、腕の手先からの方向とスライド方向５３６とのなす角度を算出して、腕の手先からの方向が、最もスライド方向５３６に近くなる壁面突起８を、伸長目標地点として選択する（ステップＳ１２６）。選択された壁面突起８のゲーム画面座標系の座標は一時的に記憶部５００に記憶される。
【０１３８】
尚、ステップＳ１１０において、Ａアクション処理の実行に伴って既に腕を伸ばす表示処理中の場合には（ステップＳ１１０のＹＥＳ）、処理対象とする腕の選択に係る処理（ステップＳ１１２〜Ｓ１２０）と、腕を伸ばす目標地点となる壁面突起８の選択に係る処理（ステップＳ１２２〜Ｓ１２６）はスキップされる。
【０１３９】
さて、伸ばす腕と目標地点となる壁面突起８とが選択されたならば、処理部２００は処理対象とする腕の伸長処理及び短縮処理を行う。
具体的には、先ず現在の手先の位置座標と先に選択した壁面突起８の座標とを比較することで、手先が目標地点の壁面突起８に到達したか否かを判定する（ステップＳ１２８）。到達していなければ（ステップＳ１２８のＮＯ）、処理部２００は選択した壁面突起８へ、処理対象とする腕を今回の制御サイクル分だけ伸ばすようにモーション制御する（ステップＳ１３０）。勿論この時、処理対象とする腕の手が壁面突起８を掴んでいる場合には、これを放してから目標地点となる壁面突起８へ腕を伸ばすように制御する。
そして、理対象とする腕に関連する位置座標と手判定領域とを更新する（ステップＳ１３６）。そして、今回の制御サイクルにおけるＡアクション処理を終了する。
【０１４０】
一方、手先が目標の壁面突起に到達したと判定されたならば（ステップＳ１２８のＹＥＳ）、処理部２００は処理対象側の手の掴み状態フラグを「１」に設定するとともに、反対側の手の掴み状態フラグを「０」に設定して「片手放し」状態とする（ステップＳ１３８）。
【０１４１】
次いで、伸ばされた処理対象の腕が標準長になるまで（ステップＳ１４０のＮＯ）、処理部２００は処理対象とする腕を、伸びた弾性体が縮むように、或いは伸ばされたワイヤーが巻き取られるかのようにして、目標とした壁面突起を掴んでいる手先方向に今回の制御サイクル分だけ短縮させるようにモーション制御する（ステップＳ１４２）。そして、腕の長さの変化に応じて体の位置を合わせるためにボディ移動処理を実行し（ステップＳ１４４）、今回の制御サイクルにおけるＡアクション処理を終了する。
【０１４２】
尚、腕の短縮表示処理において腕を縮める長さは、伸ばされた腕を弾性体と仮定し、所定重量の体に連結されていると見なした物理シミュレーションによって、体が伸びた腕の方向に復元力で引っ張られて移動すると仮定して求めると好適であるが、単に１フレーム当たり所定長さだけ縮めるとしても良い。
また、ボディ移動処理における体の移動に伴うモーションは、右手を体より左方向に伸ばしたケース、或いはその反対に左手を体より右方向に伸ばしたケースでは、プレーヤキャラクタ２の背中がプレーヤ側に向いた状態から、体が横向きになって、再び背中をプレーヤ側に向けるように設定すると、腕の切り返しをそれらしく表現できるので好適である。
【０１４３】
一方、処理対象とする腕が標準長まで縮められたと判定された場合（ステップＳ１４０のＹＥＳ）、処理部２００は処理対象とする腕の手の掴み順フラグを「０」に設定し、反対側の手の掴み順フラグを「１」に設定し（ステップＳ１４６）、Ａアクションフラグ５２３を「０」に戻す（ステップＳ１４８）。つまり、この段階でＡアクションによる移動が完了する。そして、タッチ操作データ５３０に格納されているデータを破棄・初期化して（ステップＳ１５０）、今回の制御サイクルにおけるＡアクション処理を終了する。
【０１４４】
尚、処理対象とする腕を基準に設定された壁面突起選択領域２２の中に壁面突起８が存在しない場合には（ステップＳ１２４のＮＯ）、ステップＳ１２８〜Ｓ１５０の腕の伸縮に関する処理をスキップして今回の制御サイクルにおけるＡアクション処理を終了する。
【０１４５】
図１９は、Ｂアクション処理の流れを説明するためのフローチャートである。Ｂアクション処理は、スラッシュ操作よりも緩やかな速度のスライド操作が為された方向へ、操作距離に応じた量だけ腕を伸ばし、掴める場所があればそこを掴ませ、それに伴ってボディを移動するように制御する処理である。
【０１４６】
同処理において、処理部２００は先ず、プレーヤキャラクタ２の腕を伸ばしたり縮めたりといった伸縮制御中であるか判定する（ステップＳ１７０）。
【０１４７】
腕の伸縮制御中でなければ（ステップＳ１７０のＮＯ）、処理部２００は右手掴み状態フラグ５１６ｅ及び左手掴み状態フラグ５１６ｆを参照して両手の掴み状態を判定する（ステップＳ１７４）。
参照した掴み状態フラグが共に「０」に設定されていて「両手放し」と判断されるならば（ステップＳ１７４の「両手放し」）、処理部２００は、手判定領域３０がタッチされた側、又は先の操作コマンド判定処理で算出されたスライド方向５３６の左／右へ傾いている側の手の掴み順フラグ（左手掴み順フラグ５１６ｈ又は右手掴み順フラグ５１６ｇ）に「１」を設定してスライド方向５３６の左／右傾いた側の腕をアクションの処理対象とする（ステップＳ１７６）。
【０１４８】
右手掴み状態フラグ５１６ｅと左手掴み状態フラグ５１６ｆの両方とも「１」に設定されていて「両手掴み」状態と判断されるならば（ステップＳ１７４の「両手掴み」）、右手掴み順フラグ５１６ｇ及び左手掴み順フラグ５１６ｈのうち「１」が設定されている側の腕を処理対象とする（ステップＳ１７８）。
また、右手掴み状態フラグ５１６ｅ及び左手掴み状態フラグ５１６ｆのうち一方のみ「１」が設定されている場合には、掴み状態フラグが「０」になっている側の手が放れている「片手放し」状態と判断して（ステップＳ１７４の「片手放し」）、掴み状態フラグが「０」である腕の手の掴み順フラグを「１」に設定して、当該腕を処理対象とする（ステップＳ１８０）。
【０１４９】
尚、既にこれから述べるＢアクション処理における腕の伸縮制御を実行している場合には（ステップＳ１７０のＹＥＳ）、処理対象とする腕の選択に係るステップをスキップする。
【０１５０】
そして、伸縮制御の処理対象とする腕が決まったならば、処理部２００は次に、先に求められたスライド方向５３６の方向へ、タッチ開始時における処理対象の側の右手位置座標５１６ｃ又は左手位置座標５１６ｄを基準位置にして、スライド距離５３４に応じた伸長量だけ移動させた伸長先位置を算出する（ステップＳ１８２）。
【０１５１】
さて、タッチオフが検出されていなければ（ステップＳ１８４のＮＯ）、処理部２００は処理対象とする腕の手先を現在の位置から算出した伸長先位置へ移動するようにモーション制御する（ステップＳ１８６）。勿論この時、処理対象とする腕の手が壁面突起８を掴んでいる場合には、これを放してから目標地点となる壁面突起８へ腕を伸ばすように制御する。更に、腕の長さに上限を設け、それ以上伸びないように伸長制御するものとする（伸長に上限を設けない構成としても勿論よい）。
そして、伸ばした結果に応じて処理対象とする腕に関連する右手位置座標５１６ｃや左手位置座標５１６ｄ、手判定領域３０などを更新し（ステップＳ１８８）、今回の制御サイクルに於けるＢアクション処理を終了する。
【０１５２】
一方、タッチオフが検出されたならば（ステップＳ１８４のＹＥＳ）、処理部２００は算出した伸長先位置を中心に求められる手判定領域３０内に壁面突起が有るか否かを判定する（ステップＳ１９０）。
【０１５３】
もし、同領域内に壁面突起８が無ければ（ステップＳ１９０のＮＯ）、処理部２００は掴む場所が無かったと判断して、伸ばした腕を元の標準長に縮めるために、処理対象とする腕の長さが標準長に戻っていなければ（ステップＳ１９２のＮＯ）、当該腕を今回の制御サイクル分だけ短縮制御を行い（ステップＳ１９４）、今回の制御サイクルに於けるＢアクション処理を終了する。
【０１５４】
壁面突起８が有れば（ステップＳ１９０のＹＥＳ）、処理部２００は更に手判定領域３０内の最寄りの壁面突起８に手が到達したか否かを判定する（ステップＳ１９６）。
そして、到達していなければ（ステップＳ１９６のＮＯ）、その最寄りの壁面突起８へ処理対象の腕を伸長制御するとともに（ステップＳ１９８）、当該腕に係る位置座標及び判定領域を更新し（ステップＳ２００）、ボディ移動処理を実行し（ステップＳ２０２）、タッチ操作データ５３０に格納されているデータを破棄・初期化して（ステップＳ２１０）、今回の制御サイクルにおけるＢアクション処理を終了する。
【０１５５】
手判定領域３０内の最寄りの壁面突起８に手が到達したら（ステップＳ１９６のＹＥＳ）、処理部２００は、処理対象腕の側の右手掴み状態フラグ５１６ｅ又は左手掴み状態フラグ５１６ｆを「１」に設定し（ステップＳ２０４）、処理対象腕の側の右手掴み順フラグ５１６ｇ又は左手掴み順フラグ５１６ｈを「０（次休み）」、反対側の手の掴み順フラグを「１（次伸ばし）」に設定する（ステップＳ２０６）。
次いで、Ｂアクションフラグ５２４を「０」に設定し（ステップＳ２０８）、タッチ操作データ５３０に格納されているデータを破棄・初期化して（ステップＳ２１０）、今回の制御サイクルにおけるＢアクション処理を終了する。
【０１５６】
図２０は、Ｃアクション処理の流れを説明するためのフローチャートである。Ｃアクション処理は、両手掴み状態からプレーヤキャラクタ２の体を引っ張って、パチンコを放つようにして瞬発的な移動と敵キャラクタ４への攻撃を兼ねた動作を実現する処理である。
【０１５７】
同処理において、処理部２００は先ず、プレーヤキャラクタ２の両手の状態を判定する（ステップＳ２２０）。そして、両手とも掴み状態の場合（ステップＳ２２０のＹＥＳ）、処理部２００は更にタッチオフの検出判定をする（ステップＳ２２２）。
【０１５８】
今回の制御サイクルにおいてタッチオフが検出されなければ（ステップＳ２２２のＮＯ）、Ｃアクションで言うところの両腕をパチンコのゴムのようにして体部分を引っ張る段階に有ると判断できる。処理部２００は体部分が標準モードで表示されていなければ（ステップＳ２３４のＹＥＳ）、体部分をヨーヨーのように回転させた回転モードでの表示を開始する（ステップＳ２３６）。
【０１５９】
次いで、回転モードで表示されている体部分を、今回の制御サイクルの操作コマンド判定処理において算出されたスライド方向５３６の方向へ、スライド距離５３４に応じた距離だけ移動させ（ステップＳ２３８）、更に体判定領域３２の更新を行い（ステップＳ２４０）、両腕の伸長処理を行う（ステップＳ２４２）。これで、スタイラスペン１４１６を下方にスライド操作すると、それに伴ってプレーヤキャラクタ２の回転する体部分がパチンコを引くようにして移動表示される。そして、処理部２００はボディの射出ベクトル５４０を算出し（ステップＳ２４６）、今回の制御サイクルにおけるＣアクション処理を終了する。
【０１６０】
尚、射出ベクトル５４０は、例えば、両腕を弾性紐、ボディを錘とそれぞれ仮定した錘の射出シミュレーションとして物理演算によって求めることができる。そして、求めた射出ベクトル５４０のデータは、記憶部５００にＣアクションフラグ５２５がクリアされるまで一時的に記憶される。
【０１６１】
一方、ステップＳ２２２において、両手掴み状態から今回の制御サイクルにおいてタッチオフが検出された場合（ステップＳ２２２のＹＥＳ）、処理部２００は引かれていたパチンコが放たれて発射されたと判断し、右手掴み状態フラグ５１６ｅと左手掴み状態フラグ５１６ｆを共に「０」に変更し（ステップＳ２５０）、両手を瞬時に標準長となるように短縮制御する（ステップＳ２５２）。また、腕の短縮に伴って両腕に係る位置座標や判定領域を更新する（ステップＳ２５４）。
【０１６２】
次に、ステップＳ２２０において両腕の状態が掴み状態でない場合（ステップＳ２２０のＹＥＳ）、及びステップＳ２５０〜Ｓ２５４の両腕を放す処理を実行したならば、次に回転モードのボディがパチンコで飛ばされるように移動制御する。
【０１６３】
具体的には、先に算出した射出ベクトル５４０に基づいて、今回の制御サイクルの分となる例えば１フレーム後の体部分の予測位置と移動距離を算出する（ステップＳ２６０）。ここでの予測位置並びに移動距離は、先に算出された射出ベクトル５４０のベクトル長さ（つまりは最大到達距離）に向けて徐々に減速停止するように仮想の減速力が作用する仮想環境下を想定した物理シミュレーションによって求められる。
【０１６４】
次に、処理部２００は、算出された速度を参照して射出された体部分が射出ベクトル５４０のベクトル長さ分だけ既に移動済みで有るか否かを判定する（ステップＳ２６２）。
そして、否定であれば（ステップＳ２６２のＮＯ）、処理部２００は回転モードの体部分を算出された予測位置へ移動させ（ステップＳ２６４）、体判定領域３２を更新し（ステップＳ２７８）、今回の制御サイクルにおけるＣアクション処理を終了する。
【０１６５】
一方、肯定であれば（ステップＳ２６２のＹＥＳ）、処理部２００は今現在のプレーヤキャラクタ２の表示モードを判定する。そして、プレーヤキャラクタ２が回転モードの場合（ステップＳ２６６のＹＥＳ）、プレーヤキャラクタ２の表示を回転モードから標準モードによる表示に切り換える（ステップＳ２６８）。
【０１６６】
次いで処理部２００は、プレーヤキャラクタ２を先に算出された予測位置へ移動させ（ステップＳ２７０）、両手の手判定領域３０を更新する（ステップＳ２７２）。
そして、Ｃアクションフラグ５２５を「０」に設定し（ステップＳ２７４）、タッチ操作データ５３０に格納されているデータを破棄・初期化して（ステップＳ２７６）、体判定領域３２を更新して（ステップＳ２７８）、今回の制御サイクルにおけるＣアクション処理を終了する。
【０１６７】
図２１は、プレーヤキャラクタ２にＤアクションをさせるＤアクション処理の流れを説明するためのフローチャートである。
Ｄアクションは、壁面突起８を掴んでいた手を放すアクションである。
よって、処理部２００は現在のタッチ位置が含まれる手判定領域３０の手の掴み状態フラグが「１」であれば（ステップＳ２９０のＹＥＳ）、処理対象の手が壁面突起８を放れていないと判断して当該掴み状態フラグを「０」に変更し（ステップＳ２９２）、更に処理対象の手の掴み順フラグを「０（次休み）」に設定し、反対の手の掴み順フラグを「１（次伸ばし）」に設定する（ステップＳ２９４）。そして、処理対象腕の側の手が壁面突起８を放すように今回の制御サイクルの分だけ（例えば、１フレーム分だけ）モーション制御し（ステップＳ２９６）、今回の制御サイクルにおけるＤアクション処理を終了する。
【０１６８】
一方、ステップＳ２９０において、処理対象の側の手の掴み状態フラグが既に「０」になっている場合には（ステップＳ２９０のＮＯ）、処理部２００は、手は放されたので伸びている腕を縮める必要が有ると判断する。処理対象の側の腕の長さが標準長でなければ（ステップＳ２９８のＮＯ）、当該腕を１フレーム分だけ短縮制御し（ステップＳ３００）、処理対象の腕に係る判定領域を更新する（ステップＳ３０２）。そして、ボディ移動処理を実行した後（ステップＳ３０４）、体判定領域３２を更新し（ステップＳ３０６）、今回の制御サイクルにおけるＤアクション処理を終了する。
【０１６９】
尚、ここでのボディ移動処理では、伸びた腕で身体部分を支えていた状態から支えがなくなった状態に変化するのに伴う体部分の位置変化が行われる。例えば、伸びた腕を弾性紐、体部分を所定仮想重量の錘と仮定し、画面下方への仮想重力がかかる仮想環境下における位置を物理シミュレーションによって求め、当該位置へボディを移動させる。
【０１７０】
反対に、処理対象の腕が既に標準長に達していれば（ステップＳ２９８のＹＥＳ）、処理部２００はＤアクションフラグを「０」に設定し（ステップＳ３０８）、次いでタッチ操作データ５３０を初期化して（ステップＳ３１０）、今回の制御サイクルにおけるＤアクション処理を終了する。
【０１７１】
図２２は、プレーヤキャラクタ２に、火炎魔法のエネルギーが溜められた手腕を伸ばして敵キャラクタ４に当てて攻撃するＥアクションをさせるためのＥアクション処理の流れを説明するためのフローチャートである。
【０１７２】
Ｅアクション処理では先ず、処理部２００は右手掴み状態フラグ５１６ｅと左手掴み状態フラグ５１６ｆを参照し、掴み状態フラグが「０」の側の手に攻撃用の火炎球を付与表示し、手に火炎魔法のエネルギーが溜まっているかのように見せる（ステップＳ３３０）。
【０１７３】
次に、処理部２００は火炎球を付与した手の腕が伸長制御又は短縮制御中にあるか否かを判定する（ステップＳ３３２）。
当該腕が伸長中でも短縮中でも無く（ステップＳ３３２のＮＯ）、今回の制御サイクルにおいてタッチオフが検出されず（ステップＳ３３４のＮＯ）、更にスライド操作された場合には（ステップＳ３３６のＹＥＳ）、処理部２００は攻撃方向が入力されたと判断する。そして、火炎球が付与された手の側の腕が所定の攻撃長に達するまで（ステップＳ３３８のＮＯ）、当該手腕をスライド方向５３６の方向へ１フレーム分だけ伸長制御し（ステップＳ３４０）、今回の制御サイクルにおけるＥアクション処理を終了する。
【０１７４】
火炎球付の手の腕が所定の攻撃長まで伸ばされたならば（ステップＳ３３８のＹＥＳ）、処理部２００は、今度は当該腕が標準長に戻るまで（ステップＳ３４２のＮＯ）、当該腕を１フレーム分短縮制御し（ステップＳ３４４）、今回の制御サイクルにおけるＥアクション処理を終了する。
【０１７５】
火炎球付の手腕が標準長まで戻ったならば（ステップＳ３４２のＹＥＳ）、火炎球の表示を中止する（ステップＳ３４６）。これでＥアクションが全て終了したことになるので、処理部２００はＥアクションフラグ５２７を「０」に戻し（ステップＳ３４８）、タッチ操作データ５３０を初期化して（ステップＳ３５０）、Ｅアクション処理を終了する。
【０１７６】
一方、ステップＳ３３４において、手腕に火炎球が付与された状態からタッチオフが検出された場合には（ステップＳ３３４のＹＥＳ）、処理部２００は攻撃中止操作がされたと判断して、火炎球の表示を中止し（ステップＳ３４６）、Ｅアクションフラグ５２７を「０」に戻し（ステップＳ３４８）、タッチ操作データ５３０を初期化して（ステップＳ３５０）、Ｅアクション処理を終了する。
【０１７７】
アクションフラグの状態に応じてＡアクション処理〜Ｄアクション処理の何れかを実行した後、或いは何れのアクション処理も実行しなかった場合、図１６のフローチャートに戻る。
【０１７８】
次に、処理部２００は、全てのアクションフラグが「０」で（ステップＳ４０のＮＯ）、且つプレーヤキャラクタの位置がゲーム開始の初期位置になければ（ステップＳ４４のＮＯ）、両手が放れた落下中に有ると判断して、プレーヤキャラクタ２の落下移動処理を実行する（ステップＳ４６）。落下移動処理では、１フレーム分の落下予測位置を算出して当該位置へプレーヤキャラクタ２を移動させ、両手や体部分の各判定領域を更新する。
【０１７９】
次に、処理部２００は仮想カメラの撮影位置の変更を実行する（ステップＳ４８）。本実施形態では、画面中央に縦横比同じで面積比６０％の仮想撮影フレームを設定し、当該仮想撮影フレーム内にプレーヤキャラクタ２が入るか否かを判定し、入っていない場合には描画フレームの更新の都度、プレーヤキャラクタ２を画面中央で撮影できるように仮想カメラの位置を変更する。
【０１８０】
次いで、処理部２００は、プレーヤキャラクタ２及び敵キャラクタ４のそれぞれの攻撃の判定処理を行う（ステップＳ５０）。
例えば、Ｃアクション処理が実行中にあって、プレーヤキャラクタ２と敵キャラクタ４とが衝突した場合には、プレーヤキャラクタ２の攻撃がヒットしたと判定する。また、Ｅアクション処理が実行中では、火炎球が付与された手の手判定領域３０が敵キャラクタ４に衝突した場合にも同様にプレーヤキャラクタ２の攻撃がヒットしたと判定する。
反対にＣアクション処理が実行されていない状態で、敵キャラクタ４とプレーヤキャラクタ２とが衝突した場合には、敵キャラクタの４の攻撃がヒットしたと判定する。
【０１８１】
そして、こうした攻撃判定処理の結果に応じて、処理部２００はプレーヤキャラクタ２の耐力値の更新を行い（ステップＳ５２）、また敵キャラクタ４の消滅処理を行う（ステップＳ５４）。つまり、敵キャラクタ４の攻撃がヒットしたらプレーヤキャラクタ２の耐力値を攻撃に応じて減算し、プレーヤキャラクタ２の攻撃がヒットしたら敵キャラクタ４がやられたように表示制御する。
【０１８２】
次いで、処理部２００は、所定のゲーム終了条件を満たすか否かを判定する（ステップＳ５６）。本実施形態ではプレーヤキャラクタ２がゲームステージの最上部まで上りついた場合にゲームクリアとなり、プレーヤキャラクタ２が敵キャラクタ４の攻撃を受けて耐力値が「０」になるとゲームオーバーとなる。
【０１８３】
これら何れのゲーム終了条件も満たさなければ（ステップＳ５６のＮＯ）、図１５のステップＳ１０に戻る。何れかのゲーム終了条件を満たしていれば、処理部２００は満たしたゲーム終了条件に応じたエンディング画面を表示するなどのゲーム終了処理を実行して（ステップＳ５８）、ゲーム実行に係る一連の処理を終了する。
【０１８４】
以上、本実施形態によれば、タッチ継続時間やスライド速度、スライド方向などタッチ操作の状況を示すパラメータに基づいてＡアクション〜Ｅアクションの操作入力を判定し、プレーヤキャラクタに判定した操作入力に対応するアクションをさせることができる。つまり、プレーヤにとってみればタッチ操作だけで、ロッククライミング風のゲームをプレイすることができる。
【０１８５】
また、各アクションを実行するに当たり伸長させる腕を、左右順番に選択することを基本に選択しつつ、左右何れかの手のみ壁面突起８を掴んでいる場合には掴み順の履歴に係わらず放れている手の側の腕を選択したり、両方の手が放れている場合にはスライド方向５３６の左／右方向の側の腕を選択するといったように、プレーヤキャラクタが本物のロッククライマであるかのように自然に見える腕運び（伸縮部位の選択）を実現できる。
【０１８６】
〔変形例〕
以上、本発明を適用した実施形態について説明したが、本発明の適用形態はこれに限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
【０１８７】
［変形例  その１］
例えば、上記実施形態のＢアクション制御処理では、タッチオフを検出時点で手判定領域３０内の壁面突起８を伸長目標地点として選択する構成となっているが、図２３に示すように、タッチオフが検出されず（ステップＳ１８４のＮＯ）、腕を伸長制御した後に随時伸長対象の腕の側の手判定領域３０内に存在する壁面突起８を伸長目標地点として選択し（ステップＳ１８９）、タッチオフを検出した場合には（ステップＳ１８４のＹＥＳ）、上記実施形態のステップＳ１９０に代えて、随時選択によって伸長目標地点に設定された壁面突起の有無で分岐する処理を行う（ステップＳ１９１）、としても良い。
この場合の随時選択には、手判定領域３０内に壁面突起８が無い場合に「選択対象無し」を選択することも含まれる。
【０１８８】
［変形例  その２］
また、上記実施形態では、第１液晶ディスプレイ１４０６にマップ画面Ｗ２を表示し、第２液晶ディスプレイ１４０８にプレーヤキャラクタ２の周辺拡大図となるゲーム画面Ｗ４を表示させ、タッチパネル１４０９へタッチ操作する構成としたが、周辺拡大図とタッチ操作とを必ずしも同一画面上で行わない構成としても良い。
【０１８９】
例えば、図２４に示すように、第１液晶ディスプレイ１４０６にゲーム画面Ｗ４を表示させ、処理部２００で、第２液晶ディスプレイ１４０８の画面表示範囲内に、右腕・左腕・体の各操作部位それぞれを指示する指示領域６０，６２，６４（図中の破線で囲まれた各範囲）を設定するとともに、同ディスプレイにガイド表示６６を表示してそれら指示領域を明示した操作画面Ｗ６を表示させる。同図の例では指示領域６０，６２は、それぞれ右手・左手を伸縮対象として指示する領域であり、指示領域６４は体部分を操作部位として指示する領域である。
【０１９０】
こうした構成を採用した場合の処理の流れとしては、図１８のステップＳ１１２〜Ｓ１２０、及び図１９のステップＳ１７４〜Ｓ１８０を省略し、指示領域６０へタッチ操作された場合を処理対象の腕に選択する構成とする。そして、図１８のステップＳ１３０及び図１９のステップＳ１８６では、処理対象となった腕の側の手が単独で掴み状態ならば反対側の手にも現在掴んでいる壁面突起８を掴ませた上で、処理対象の腕の側の手を放して伸長制御させるように動作制御させる。そうすることによって、プレーヤが伸ばす腕を常に任意に選択できる操作システムとすることができる。
尚、指示領域６４へのタッチ操作の検出は、Ｃアクションにおける体判定領域３２へのタッチ操作検出と同じとして扱うことができる。
【０１９１】
［変形例  その３］
また、上記実施形態ではプレーヤキャラクタ２の腕を伸縮部位とする構成であったが、伸縮部位は腕に限らず、足、鼻、尾などその他の体の部位でも良い。更には、例えば図２５（１）〜図２５（３）の画面変化を連続的に示す図で示すように、プレーヤキャラクタ２が所持するアイテムとしても良い。同図の例では、プレーヤキャラクタ２は左右の腕に、伸縮自在な粘着性のジェル６８を放出して壁面突起８に吸着させるとしても良い。勿論その他、放出・巻き上げ自在な紐やケーブル、鞭を放って壁面突起８に引っかけるとしても良いし、プレーヤキャラクタ２が伸縮自在なロッドを持っていて、ロッドを伸ばしてその先端を壁面突起８に差し込んで固定し、ロッドの伸縮とともに身体ごと移動するといった構成とすることもできる。
【０１９２】
［変形例  その４］
また、上記実施形態では、壁面突起８を掴んでいる手の手判定領域３０をタッチすることで、壁面突起８を離すように制御しているがこれに限らない。例えば、体判定領域３２をダブルタップすることで全ての手を離すように制御することもできる。具体的には、図１７のステップＳ６６とステップＳ６８の間に、体判定領域３２がダブルタップされたか否かを判定するステップを設ける。そして、否定ならばステップＳ６８に移行し、肯定ならば右手掴み状態フラグ５１６ｅ及び左手掴み状態フラグ５１６ｆを「０」に変更し、操作コマンド判定処理を終了する構成とすると良い。
【０１９３】
［変形例  その５］
また、上記実施形態のＥアクションでは、スタイラスペン１４１６でタッチオンしてから長押し判定基準時間を超えてその位置を変えずに維持すると、現在壁面突起８を掴んでいない手に火炎エネルギーグラフィックス３６が付与され、その状態から、プレーヤがスタイラスペン１４１６で攻撃したい敵キャラクタ４に向けてスライド操作をすると、プレーヤキャラクタ２が火炎エネルギーグラフィックス３６が付与された側の腕をスライド操作の入力ベクトル２０の方向へ伸長し攻撃する構成となっているが、これに限らない。
例えば、所定のアイテム（攻撃可能になるアイテム）を取得すると攻撃可能モードになり、画面内の敵キャラクタ４をタップすると、公知のシューティングゲームと同様に、プレーヤキャラクタ２が自動で当該敵キャラクタ４に向けて火炎球（つまりは弾）を発射する構成を追加、或いは置換することができる。
【０１９４】
［変形例  その６］
また、本発明を実現するゲーム装置は、上記実施形態のような携帯型ゲーム装置に限らず、表示画面への接触位置検出手段、具体的にはタッチパネルを備えた情報処理装置であれば、ウルトラモバイルＰＣやポケットＰＣと称される小型パソコン、ノートパソコン、ＰＤＡ（Personal Data Assistance）、スマートフォンとも称される携帯電話／ＰＨＳ（Personal Handy-phone System）とＰＤＡを融合させた携帯端末装置、デジタルオーディオプレーヤなどの装置を用いることができる。
【０１９５】
より具体的には、図２６に示すように、液晶ディスプレイ１５０８の表示域をカバーするタッチパネル１５０９を備えた携帯端末装置１５００を用いることができる。この携帯端末装置１５００は、スピーカ１５１０とマイク１５１１及び基地局との交信に使用される無線装置を備え、携帯電話又はＰＨＳとして機能する。更に、携帯端末装置１５００は、アプリケーションプログラムをメモリカード読取装置１５１８でメモリカード１５４０から読み出したり、通信回線１に接続して外部装置からダウンロードして取得し、制御基板１５５０に搭載されたＣＰＵ等のプロセッサで実行することができる。また、各種操作入力をするための方向入力キー１５０２を備え、上下左右方向のキー入力をすることができる。
【０１９６】
従って、上記実施形態のゲームプログラム５０２や各種データをメモリカード１５４０等から読み込ませることとし、方向入力キー１５０２に移動操作入力を割り当て、タッチパネル１５０９へのタッチ操作に攻撃操作入力を割り当てることで、上記実施形態と同様に本発明を実現するゲーム装置として機能させることができる。
【０１９７】
また、上記実施形態ではアクションゲームを例に挙げたが、ＲＰＧ、格闘ゲームなどその他のジャンルのゲームにも同様に適用できる。
【図面の簡単な説明】
【０１９８】
【図１】携帯型ゲーム装置の構成例を説明するための外観図。
【図２】ゲームの概要を説明するための図。
【図３】Ａアクションとその操作入力について説明するための図。
【図４】Ａアクションとその操作入力について説明するための図。
【図５】Ｂアクションとその操作入力について説明するための図。
【図６】Ｂアクションとその操作入力について説明するための図。
【図７】Ｃアクションとその操作入力について説明するための図。
【図８】Ｃアクションとその操作入力について説明するための図。
【図９】Ｄアクションとその操作入力について説明するための図。
【図１０】Ｅアクションとその操作入力について説明するための図。
【図１１】機能構成例を説明するための機能ブロック図。
【図１２】腕ステータスデータのデータ構成例を示すデータ構成図。
【図１３】判定領域設定データのデータ構成例を示すデータ構成図。
【図１４】タッチ操作データのデータ構成例を示すデータ構成図。
【図１５】主たる処理の流れを説明するためのフローチャート。
【図１６】図１５より続くフローチャート。
【図１７】操作コマンド判定処理の流れを説明するためのフローチャート。
【図１８】Ａアクション処理の流れを説明するためのフローチャート。
【図１９】Ｂアクション処理の流れを説明するためのフローチャート。
【図２０】Ｃアクション処理の流れを説明するためのフローチャート。
【図２１】Ｄアクション処理の流れを説明するためのフローチャート。
【図２２】Ｅアクション処理の流れを説明するためのフローチャート。
【図２３】Ｂアクション処理の変形例における処理の流れを説明するためのフローチャート。
【図２４】画面構成及び操作入力方法の変形例を説明するための図。
【図２５】伸縮部位の変形例を示すゲーム画面例を示す図。
【図２６】ゲーム装置の変形例を示す外観図。
【符号の説明】
【０１９９】
２  プレーヤキャラクタ
４  敵キャラクタ
６  壁面
８  壁面突起
２０  入力ベクトル
２１  相似ベクトル
２２  壁面突起選択領域
３０  手判定領域
３２  体判定領域
３６  火炎エネルギー
１００  操作入力部
１０２  方向入力部
１０４  接触位置検出部
２００  処理部
２１０  ゲーム演算部
２１２  タッチ操作パラメータ部
２１４  操作コマンド判定部
２１６  アクション制御部
５００  記憶部
５０２  ゲームプログラム
５１４  プレーヤキャラクタステータスデータ
５１６  腕ステータスデータ
５１６ｅ  右手掴み状態フラグ
５１６ｆ  左手掴み状態フラグ
５１６ｇ  右手掴み順フラグ
５１６ｈ  左手掴み順フラグ
５１８  判定領域設定データ
５２２  操作コマンド判定データ
５３０  タッチ操作データ
５３２  タッチ操作パラメータデータ
５３３  タッチ継続時間
５３４  スライド距離
５３５  スライド速度
５３６  スライド方向
１４００  携帯型ゲーム装置
１４０２  方向入力キー
１４０８  第２液晶ディスプレイ
１４０９  タッチパネル
１４４０  メモリカード
１４５０  制御ユニット
【図１】
2010088641.tif 000003
【図２】
2010088641.tif 000004
【図３】
2010088641.tif 000005
【図４】
2010088641.tif 000006
【図５】
2010088641.tif 000007
【図６】
2010088641.tif 000008
【図７】
2010088641.tif 000009
【図８】
2010088641.tif 000010
【図９】
2010088641.tif 000011
【図１０】
2010088641.tif 000012
【図１１】
2010088641.tif 000013
【図１２】
2010088641.tif 000014
【図１３】
2010088641.tif 000015
【図１４】
2010088641.tif 000016
【図１５】
2010088641.tif 000017
【図１６】
2010088641.tif 000018
【図１７】
2010088641.tif 000019
【図１８】
2010088641.tif 000020
【図１９】
2010088641.tif 000021
【図２０】
2010088641.tif 000022
【図２１】
2010088641.tif 000023
【図２２】
2010088641.tif 000024
【図２３】
2010088641.tif 000025
【図２４】
2010088641.tif 000026
【図２５】
2010088641.tif 000027
【図２６】
2010088641.tif 000028