[1.ゲームシステムの全体構成]
以下、本発明に係る実施形態を図面に基づいて説明する。なお、図面において同一又は対応する構成には同一の符号を付し、繰り返しの説明を省略することがある。図1は、本発明の実施形態に係るゲームシステムの全体構成を示す図である。図1に示すように、本実施形態に係るゲームシステム1は、複数のユーザ端末10−1,10−2,・・・,10−Nと、サーバ30と、を含む。なお、以下では、ユーザ端末10−1,10−2,10−Nに共通する内容については、「ユーザ端末10」と表記して説明する場合がある。ユーザ端末10及びサーバ30は、ネットワークNに接続される。このため、ユーザ端末10とサーバ30との間で相互にデータ通信が可能である。
ユーザ端末10は、ユーザが操作するコンピュータである。例えば、ユーザ端末10は、携帯電話(スマートフォンを含む)、タブレット型コンピュータ、パーソナルコンピュータ、携帯ゲーム機、据置ゲーム機、業務用ゲーム機、又は、情報処理機能を備えた多機能型テレビジョン受像機(スマートテレビ)等である。なお、以下では、タッチパネルを備えた携帯電話がユーザ端末10であり、サーバ30から供給されるプログラムが携帯電話において実行される場合について説明する。プログラムは、サーバ30とは異なるサーバや記録媒体等を介して供給されてもよい。
図1に示すように、ユーザ端末10は、制御部11、記憶部12、通信部13、操作部14、及び表示部15を含む。制御部11は、少なくとも1つのマイクロプロセッサを含む。制御部11は、オペレーティングシステムやその他のプログラムに従って処理を実行する。記憶部12は、主記憶部(例えば、RAM)及び補助記憶部(例えば、不揮発性の半導体メモリ)を含む。記憶部12は、プログラムやデータを記憶する。なお例えば、ユーザ端末10がパーソナルコンピュータ等である場合、記憶部12は、例えばハードディスクドライブ又はソリッドステートドライブ等の補助記憶部を含むようにしてもよい。通信部13は、ネットワークカードを含む。通信部13は、ネットワークNを介してデータ通信を行う。
操作部14は、タッチパネル14Aやその他の操作部材を含む。操作部14は、ユーザがゲームの入力操作などを行うためのものである。タッチパネル14Aは、物体のタッチ位置を検出するポインティングデバイスであり、静電容量方式などの種々のタッチパネルを適用可能である。なお、操作部14は、ユーザが音声又はジェスチャによって入力操作を行うためのマイクやカメラを含んでもよい。ユーザ端末10がパーソナルコンピュータ等である場合、操作部14は、ボタン、キー、レバー、ゲームコントローラ(ゲームパッド)、マウス、又はキーボード等を含むようにしてもよい。表示部15は、例えば、液晶表示パネル又は有機ELディスプレイ等であり、制御部11の指示に従って画面を表示する。なお、操作部14及び表示部15は、ユーザ端末10に内蔵されていなくともよく、ユーザ端末10に接続された外部装置であってもよい。
サーバ30は、例えば、サーバコンピュータによって実現される。図1に示すように、サーバ30は、制御部31、記憶部32、及び通信部33を含む。制御部31及び通信部33は、ユーザ端末10の制御部11及び通信部13と同様の機能を備える。記憶部32は、主記憶部(例えば、RAM)及び補助記憶部(例えば、ハードディスクドライブ又はソリッドステートドライブ)を含み、プログラムやデータを記憶する。
なお、記憶部12又は記憶部32に記憶されるものとして説明するプログラムやデータは、例えば、ネットワークNを介してユーザ端末10又はサーバ30に供給されるようにしてもよい。また、ユーザ端末10又はサーバ30は、情報記憶媒体(例えば、光ディスク又はメモリカード等)に記憶されたプログラム又はデータを読み取るための読取部(例えば、光ディスクドライブ又はメモリカードスロット)を含むようにしてもよい。そして、情報記憶媒体を介してユーザ端末10又はサーバ30にプログラムやデータが供給されるようにしてもよい。
[2.ゲームの概要]
ゲームシステム1では、ユーザ端末10でプログラムが実行されることによってゲームが実行される。ゲームシステム1では、種々のゲームを実行することが可能である。例えば、スポーツゲーム(サッカー、野球、テニス、アメリカンフットボール、バスケットボール、バレーボール等を題材としたゲーム)、アドベンチャーゲーム、シミュレーションゲーム、ロールプレイングゲーム、又は育成ゲームのように、ゲーム形式・ジャンルを問わず様々なゲームを実行することが可能である。
本実施形態では、ゲームの一例として、ゲームオブジェクトと対戦相手オブジェクトとが、仮想世界で移動オブジェクトを移動させて対戦するスポーツゲームを例に挙げて説明する。このゲームでは、ユーザが操作対象を操作するためにタッチパネル14Aに対してタッチ操作をすると、タッチ操作オブジェクトが表示部15に表示される。ここで、ゲームの概要を説明する前に、ゲームオブジェクト等の用語について説明する。
「ゲームオブジェクト」とは、ゲームにおいて使用され得る対象である。例えば、ゲームキャラクタ等が、ゲームオブジェクトの一例に相当する。例えば、ユーザの保有するゲームオブジェクトの中からユーザが選択したものが、ゲームで使用される。また例えば、ゲームで提供されるゲームオブジェクトの中から、ゲームで使用するゲームオブジェクトとしてユーザが選択したものが、ゲームで使用される。また例えば、ユーザがゲームで使用するゲームオブジェクトとしてユーザ端末10又はサーバ30が設定したゲームオブジェクトが、ゲームで使用される。
「対戦相手オブジェクト」とは、ゲームで対戦相手となるゲームオブジェクトである。例えば、対戦相手オブジェクトは、対戦相手としてユーザ端末10又はサーバ30が設定したゲームオブジェクトである。また例えば、対戦相手オブジェクトは、ユーザ又は他のユーザが対戦相手として選択したゲームオブジェクトである。
「仮想世界」とは、ゲームの中の世界であり、例えば、架空の競技場や戦場などである。仮想世界は、3次元的な空間であってもよいし、2次元的な平面であってもよい。複数のゲームオブジェクトの各々は、仮想世界におけるフィールド上を移動する。なお、「フィールド」とは、ゲームオブジェクトが移動する平面であり、例えば、サッカーゲームの場合は仮想世界内のピッチである。
「移動オブジェクト」とは、仮想世界や画面内で移動する物体であり、例えば、ユーザの操作に従って移動する対象である。また例えば、移動オブジェクトは、ユーザの操作に従って移動するキャラクタ等のゲームオブジェクトである。また例えば、移動オブジェクトは、ユーザによって操作される操作対象の動作によって移動される移動体である。また例えば、サッカーゲーム等のスポーツゲームの場合であれば、移動オブジェクトは、ゲームキャラクタの動作によって移動されるボールやパックなどである。また例えば、弾丸等の攻撃手段によって攻撃対象を攻撃するゲームの場合であれば、移動オブジェクトは、弾丸などの攻撃手段である。
「対戦」とは、対戦相手との勝敗を決することである。必ずしも勝ち/負けが決まらなくてもよく、引き分けになる場合があってもよい。ここでは、ユーザの1つのゲームオブジェクトと1つの対戦相手オブジェクトとの対戦、ユーザの複数のゲームオブジェクトと複数の対戦相手オブジェクトとの対戦、ユーザの1つのゲームオブジェクトと複数の対戦相手オブジェクトとの対戦、又はユーザの複数のゲームオブジェクトと1つの対戦相手オブジェクトとの対戦の何れかを意味する。
「操作対象」とは、ユーザによって操作される対象である。言い換えれば、操作対象は、ユーザの操作に応じて動作する対象である。例えば、操作対象は、ユーザによって操作されるキャラクタ等のゲームオブジェクトである。例えば、ゲームオブジェクトの中から、実行中のゲームの状況に応じて選択されたゲームオブジェクトであってもよいし、ゲームオブジェクトの中からユーザが選択したゲームオブジェクトであってもよい。例えば、サッカーゲームのような移動オブジェクトを用いたゲームの場合、移動オブジェクトに関連付けられたゲームオブジェクト、移動オブジェクトの最も近くにいるゲームオブジェクトである。例えば、攻撃中は移動オブジェクトに関連付けられたゲームオブジェクトが操作対象として設定され、守備中は移動オブジェクト又は移動オブジェクトに関連付けられたゲームオブジェクトの最も近くにいるものが操作対象として設定されてもよい。
「タッチ操作」とは、タッチパネル14Aに指又はタッチペン等の物体をタッチ(接触)させる操作である。
「タッチ操作オブジェクト」とは、タッチ操作が行われたことを示すオブジェクトであり、例えば、タッチ位置又はその変化をユーザに案内するためのオブジェクトである。即ち、タッチ操作が行われたことをユーザに通知する役割を果たすオブジェクトであり、例えば、ユーザインタフェースとしての役割を果たしうるオブジェクトである。なお、ここでの「オブジェクト」とは、表示部15に表示される対象である。例えば、画像(マーカー、カーソル、又はアイコン等)、テキスト、又はこれらの組合せ等が、ここでの「オブジェクト」の一例に相当する。言い換えれば、タッチ操作オブジェクトは、タッチパネル14Aに対するタッチに応じて表示されるオブジェクトである。例えば、タッチ操作オブジェクトは、タッチ位置に基づいて定まる位置に表示される画像である。例えば、タッチ操作オブジェクトは、画面上の後述する第1位置と第2位置とを含むように表示される画像である。また例えば、タッチ操作オブジェクトは、変形可能な画像である。例えば、タッチ操作オブジェクトは、弾性体を模した画像である。また例えば、タッチ操作オブジェクトは、第1位置に表示させた画像(例えば、ボール)と、第2位置に表示させた画像(例えば、ボール)と、これらを繋ぐ画像(例えば、棒)と、を含むものであってもよい。
本実施形態では、上記のようなスポーツゲームの一例として、サッカーゲームが実行される場合を説明する。このため、「ゲームオブジェクト」の一例としてユーザチームのゲームキャラクタを説明し、「対戦相手オブジェクト」の一例として対戦相手チームのゲームキャラクタを説明する。また、「仮想世界」の一例としてゲーム内のサッカー場を説明し、「移動オブジェクト」の一例としてボールを説明する。また、「対戦」の一例としてサッカーの試合を説明する。ユーザ端末10においてゲームプログラムが起動すると、表示部15には、ホーム画像が表示される。
図2は、ホーム画像の一例を示す図である。図2に示すように、ホーム画像G100の表示領域A110には、ユーザのポイントやランクなどの各種パラメータが表示される。ホーム画像G100の表示領域A120には、ホーム画像G100に戻る処理やユーザチームを編成する処理を実行するための複数の実行オブジェクトが表示される。実行オブジェクトとは、例えば、処理が関連付けられた画像、記号、又はテキスト等である。具体的には、例えば、ボタン、アイコン、又はリンク等が実行オブジェクトの一例に相当する。実行オブジェクトが選択された場合には、当該実行オブジェクトに関連付けられた処理が実行される。
また、ホーム画像G100は、実行オブジェクトP130〜P160を含む。本実施形態のゲームは、サクセスパートと、スタジアムパートと、チャレンジパートと、マイデッキパートと、の4つのパートを備えており、実行オブジェクトP130〜P160は、ユーザがこれらのパートの何れかを選択するためのものである。
実行オブジェクトP130は、サクセスパートに関連付けられている。サクセスパートは、サッカー選手であるゲームキャラクタ(以降、主人公キャラクタという。)を育成するゲームパートである。サクセスパートでは、ユーザはシナリオを進めながら主人公キャラクタを育成する。シナリオとは、ゲームの進行に合わせて展開されるゲームストーリーである。例えば、高校のサッカー部に所属する主人公キャラクタがプロサッカー選手になるまでのシナリオが用意されている。主人公キャラクタは、ユーザが選択した行動を実行することで能力が向上する。
サクセスパートでは、育成が有利になるイベントが発生する。ユーザは、サクセスパートでイベントを発生させるために、主人公キャラクタとは別に、イベント発生用のゲームキャラクタ(以降、イベントキャラクタという。)を保有している。イベントキャラクタは、仮想通貨を消費して抽選(ガチャ)を実行したり、他のユーザから貰ったりすることで獲得することができる。ユーザは、自分が保有するイベントキャラクタをイベントデッキに組み込んでサクセスパートをプレイする。イベントデッキに登録されたイベントキャラクタは、シナリオ内で登場して主人公キャラクタと一緒に練習したり試合に出場したりする。サクセスパートでは、イベントデッキに組み込んだイベントキャラクタに応じたイベントが発生することになる。
シナリオが進行して主人公キャラクタが高校を卒業する時期になると、サクセスパートが終了して主人公キャラクタの育成が完了する。育成が完了した主人公キャラクタは、ユーザだけのゲームキャラクタ(以降、オリジナルキャラクタという。)として登録され、後述のスタジアムパートの試合で用いることができるようになる。ユーザは、サクセスパートを繰り返しプレイしてオリジナルキャラクタを増やしてチームを組み、スタジアムパートをプレイする。
実行オブジェクトP140は、スタジアムパートに関連付けられている。スタジアムパートは、対戦相手チームと試合をするゲームパートである。ユーザは、スタジアムパートをプレイすると、試合内容及び試合結果に応じたポイントを獲得することができる。例えば、ユーザは、複数のリーグの何れかに所属しており、獲得したポイントに応じてリーグ内でのランキングが決定し、ランキングに応じてユーザのリーグが変化する。ユーザは、より高いランキングやリーグを目指してスタジアムパートをプレイする。
実行オブジェクトP150は、チャレンジパートに関連付けられている。チャレンジパートは、予め設定された複数のゲーム課題の達成状況を確認したり、達成したゲーム課題の報酬を受け取ったりすることができる。実行オブジェクトP160は、マイデッキパートに関連付けられている。マイデッキパートでは、サクセスパートで使用するイベントデッキを編集することができる。
図2では、実行オブジェクトP140が選択された状態を示している。この状態では、ホーム画像G100に実行オブジェクトP141が表示される。実行オブジェクトP141には、ユーザのリーグ、リーグ内でのランキング、及び現在のリーグに残留できる可能性が表示される。実行オブジェクトP141は、スタジアムパートで試合をするための処理が関連付けられている。ユーザが実行オブジェクトP141を選択すると、試合の対戦相手を選択することができる。
図3は、実行オブジェクトP141を選択した場合のホーム画像G100を示す図である。図3に示すように、ホーム画像G100には、実行オブジェクトP170〜P172が表示される。実行オブジェクトP170〜P172の各々には、対戦相手チームの候補として選出された他のユーザチームの名称や能力などが表示される。候補として表示された対戦相手チームに所属するゲームキャラクタは、当該候補を保有する他のユーザがサクセスパートで育成したオリジナルキャラクタである。以降、ユーザチームのオリジナルキャラクタと区別するために、対戦相手チームのオリジナルキャラクタを「対戦相手キャラクタ」という。
なお、対戦相手チームの候補は、他のユーザのユーザチームからランダムに選出してもよいし、ユーザと同程度のランクの他のユーザのユーザチームから選出してもよい。実行オブジェクトP170〜P172の各々には、対戦相手チームを選択するための処理が関連付けられている。ユーザがこれら3つの実行オブジェクトのうちの何れかを選択することによって試合の対戦相手チームを選択すると、試合の出場メンバーを選択するためのメンバー選択画像が表示部15に表示される。
図4は、メンバー選択画像の一例を示す図である。図4に示すように、メンバー選択画像G200の表示領域A210には、ユーザチームのランクと総合力が表示される。ユーザは、自分が保有するオリジナルキャラクタの中から、試合の開始時から出場するスターティングメンバーと、試合の途中から出場可能な控えメンバーと、を出場メンバーとして選択する。ユーザが選択した出場メンバーの能力に基づいてチームの総合力が決定され、総合力に基づいてチームのランクが決定される。
実行オブジェクトP220には、チームのフォーメーションを選択するための処理が関連付けられている。ここでは、複数種類のフォーメーションが用意されており、ユーザは、その中の何れかを選択することができる。実行オブジェクトP230には、チームの詳細設定をするための処理が関連付けられている。詳細設定では、オリジナルキャラクタの背番号を編集したり、チームのキャプテンを変更したりすることができる。また、詳細設定では、チームの戦術に関する設定ができるようにしてもよく、フリーキック、コーナーキック、及びペナルティキックを蹴るオリジナルキャラクタを選択したり、攻撃に参加するオリジナルキャラクタを選択したりすることもできる。
表示領域A240には、スターティングメンバーとして設定されたオリジナルキャラクタのアイコン画像G241が表示される。アイコン画像G241には、オリジナルキャラクタの顔、得意ポジション、能力の高さを示すランク、及び現在の調子などが表示される。ユーザが表示領域A240の何れかのアイコン画像G241を選択すると、オリジナルキャラクタの能力の詳細が表示領域A250に表示される。また、ユーザは、表示領域A240のアイコン画像G241をドラッグアンドドロップすることで、スターティングメンバーのポジションを入れ替えることができる。
実行オブジェクトP260には、スターティングメンバーと控えメンバーとを入れ替えるための処理が関連付けられている。ユーザが実行オブジェクトP260を選択すると、控えメンバーの一覧が表示され、ユーザが一覧から控えメンバーを選択して、表示領域A240上にドラッグアンドドロップすると、ドロップした場所にアイコン画像G241が表示されているスターティングメンバーと入れ替えることができる。
実行オブジェクトP270には、自動的にスターティングメンバーを選択するための処理が関連付けられている。実行オブジェクトP280には、スターティングメンバーと控えメンバーを、メンバー選択画像G200の表示時点の状態に戻すための処理が関連付けられている。実行オブジェクトP290には、試合を開始するための処理が関連付けられている。ユーザが実行オブジェクトP290を選択すると、スタジアムパートで使用するゲームアイテムをユーザに選択させた後に、試合が開始する。
図5は、スタジアムパートの試合の流れを示す図である。図5のt軸は、時間軸である。図5に示すように、本実施形態では、スタジアムパートの試合は、ユーザの操作が制限された第1状態と、ユーザの操作が可能な第2状態と、の間で切り替わりながら進行する。
第1状態は、例えば、ユーザがオリジナルキャラクタに対する操作を一切行うことができない状態である。また例えば、第1状態は、オリジナルキャラクタに対する指示がおおまかな指示(作戦の指示等)に限られ、オリジナルキャラクタに対して、行うべき動作の種類、当該動作を行うべきタイミング、当該動作に関する位置又は方向等の細かい指示を行うことができない状態である。なお、第1状態は、コンピュータがオリジナルキャラクタに対する操作を受け付けない状態と言い換えることもできる。また、第1状態は、ユーザがオリジナルキャラクタに対する操作を行ったとしてもコンピュータが無視する状態と言い換えることもできる。別の言い方をすれば、第1状態は、ユーザの操作による介入が制限された状態でコンピュータによる制御によって自動的に試合が進行する状態である。
第2状態は、ユーザがオリジナルキャラクタに対する操作を行うことが可能な状態である。言い換えれば、第2状態は、コンピュータがオリジナルキャラクタに対する操作を受け付ける状態である。例えば、第2状態は、ゲームの開始時点で設定されてもよいし、ゲームの途中で設定されてもよい。ゲームの途中とは、ゲームの開始時よりも後であって、かつ、終了時よりも前の時点である。例えば、試合が所定の状況(所定条件を満足する状況)になった場合に第2状態にしてもよいし、試合中にランダムに第2状態にしてもよい。即ち、試合中の時点ごとに、第2状態にするか否かを所定の確率に基づいて決定し、設定すると決定された場合に第2状態にしてもよい。第2状態は、試合中に複数回設定されるようにしてもよいし、1回のみ設定されるようにしてもよい。また、第2状態にするタイミングをゲームの状況に基づいて調整するようにしてもよい。即ち、ゲームの状況(試合の得点差等)に基づいて、第2状態を早めに設けたり、遅めに設けたりするようにしてもよい。
図5に示すように、本実施形態では、第1状態で試合が開始する。第1状態で試合が進行する場合、オリジナルキャラクタと対戦相手キャラクタとを用いた簡易的なシミュレーションがコンピュータにより実行され、ユーザの操作を要することなく自動的に試合が進行する。簡易的なシミュレーションは、既知の技術を用いることで実現可能である。例えば、第1状態において、ユーザチームがコーナーキックを獲得したりフリーキックを獲得したりすると、第1状態から第2状態に切り替わり、ユーザの操作が可能な状態となる。そして、第2状態において、対戦相手にボールが取られたりユーザチームが得点を決めたりすると、第2状態から第1状態に切り替わり、再び第1状態で試合が進行する。第1状態で試合が進行する場合、第1状態で進行する試合の状況を示す第1状態画像G300が表示部15に表示される。
図6は、第1状態画像の一例を示す図である。図6では、試合開始からの第1状態画像G300の時系列的な変化を示している。第1状態画像G300の表示領域A310には、ユーザチーム(図6では、Aチーム)の得点と対戦相手チーム(図6では、Xチーム)の得点とが表示される。その下の表示領域A320には、試合開始からの経過時間が表示される。ここでの経過時間は、ゲーム内での経過時間である。ゲーム内の時間は、現実の時間経過の所定倍の早さで経過する。例えば、ゲーム内の時間は、サッカーの1試合が10分で終了するような早さで経過する。
表示領域A330には、ピッチ全体を示すピッチ画像G331上にボールを示すボール画像G332が表示される。ボール画像G332は、現在位置を示すようにピッチ画像G331上を移動する。表示領域A340には、第1状態で進行中の試合の状況を示すメッセージが表示される。例えば、メッセージが表示される状況は予め定められており、試合が当該状況になった場合に、所定のメッセージが表示領域A340に表示される。図6に示すように、表示領域A340にメッセージが表示されると、ボールを保有するオリジナルキャラクタのアイコン画像G333が表示領域A330内に表示されるようにしてもよい。
第1状態で試合が進行する場合に、コーナーキックやフリーキックなどが発生すると、実行オブジェクトP350が表示される。図6に示すように、実行オブジェクトP350には、現在の状況及び経過時間が表示される。ここでは、実行オブジェクトP350は、ユーザチームがコーナーキックをする場面になったことを示す。実行オブジェクトP350には、試合を第1状態から第2状態に切り替えるための処理が関連付けられている。ユーザが実行オブジェクトP350を選択すると、試合の進行が第2状態に切り替わり、第2状態で進行する試合の状況を示す第2状態画像が表示部15に表示される。
図7は、第2状態画像の一例を示す図である。図7に示すように、第2状態画像G400には、ピッチPTを仮想視点から見た様子が表示される。表示領域A410及びA420は、それぞれ表示領域A310及びA320と同様である。実行オブジェクトP430は、試合の進行を一時停止するための処理が関連付けられている。ユーザが実行オブジェクトP430を選択すると、進行中の試合が一時停止し、もう一度実行オブジェクトP430を選択すると、一時停止した試合が再開する。
第2状態画像G400は、ユーザの操作対象OTを示すカーソル画像G440と、ピッチPTにおける各キャラクタの位置を示すレーダー画像G450と、を含む。操作対象の設定方法は、攻撃中と守備中とで異なるようにしてよい。攻撃中とは、ユーザチームがボールBを保有する状態であり、守備中とは、攻撃中以外の状態である。即ち、守備中は、対戦相手チームがボールBを保有する状態又は誰もボールBを保有していない状態である。図7は攻撃中の例を示しており、カーソル画像G440が示すように、コーナーキックでボールBを蹴るオリジナルキャラクタが操作対象OTとして設定されている。なお、図7では、ピッチPT上に配置される操作対象OTとボールB以外のオブジェクトの符号は省略している。
実行オブジェクトP460は、操作対象OTを切り替えるための処理が関連付けられている。本実施形態では、攻撃中は操作対象OTを切り替えることができず、守備中だけ操作対象OTを切り替えることができるようになっている。図7では、ユーザチームがボールBを保有しており攻撃中なので、ユーザが実行オブジェクトP460に触れたとしても、操作対象OTは切り替わらない。なお、実行オブジェクトP460を攻撃中と守備中とで色を変える等異なる表示態様で表示することで、ユーザに操作対象OTを切り替えることができるか否かを認識できるようにしてもよい。
上記説明した第2状態画像G400が表示部15に表示されると、第2状態で試合が進行することになるが、本実施形態では、第2状態で試合が進行する時間の長さが定められている。以降、この時間を操作可能時間という。図7に示すように、第2状態画像G400は、操作可能時間の長さを示す砂時計画像G470を含む。砂時計画像G470は、第2状態が開始した後の時間経過に応じて表示態様が変化するようになっている。
図8は、砂時計画像G470の表示態様が変化する様子を示す図である。図8のtは時間軸である。図8に示すように、操作可能時間の開始時点t0では、砂時計画像G470は、砂が封入された管の上側(管がくびれた部分よりも上側の領域)に全ての砂が詰まっているような表示となる。その後、時間経過に応じて上側の砂が下側(管がくびれた部分よりも下側の領域)に移動するように、砂時計画像G470の表示態様が変化する。砂時計画像G470は、操作可能時間の残り時間が比較的多い場合に砂が第1の色(例えば、緑色)で表示され、残り時間が短くなってきた場合に砂が第2の色(例えば、赤色)で表示されるようにしてもよい。そして、操作可能時間の終了時点t1に、砂が下側に落ち切るように砂時計画像G470の表示態様が変化する。
終了時点t1になった場合に第2状態が強制的に終了してもよいが、本実施形態では、終了時点t1になったとしても、ユーザチームがボールを保有している限り、第2状態が継続するようになっている。ただし、この場合、図8に示すように、砂時計画像G470は、左右に揺れるように表示態様が変化し、操作可能時間が経過したことがユーザに通知されるようになっている。
図9は、操作可能時間の経過後に第2状態が継続する場合の第2状態画像G400の一例を示す図である。図9に示すように、操作可能時間が経過すると、第2状態画像G400において砂時計画像G470が左右に揺れるように表示態様が変化する。更に、操作可能時間が経過した場合、第2状態画像G400の端部に近い領域が滲むようなエフェクト処理が施されるようにしてもよい。図9に示す状態で対戦相手チームにボールが奪われたりユーザチームが得点を決めたりすると、第2状態が終了して第1状態に戻る。
次に、第2状態で試合が進行する場合の操作を説明する。先述したように、ユーザはタッチパネル14Aを用いて操作を行う。タッチパネル14Aで検出可能な種々の操作が用いられるようにしてよいが、ここでは、ドラッグ操作、ダブルタップ操作、及びフリック操作の3種類が用いられる場合を説明する。
ドラッグ操作は、タッチパネル14Aをタッチした後にタッチ位置を移動させる操作である。例えば、ドラッグ操作は、タッチパネル14Aをタッチした後すぐにタッチ位置を移動させる操作であってもよいし、タッチパネル14Aをタッチして長押しした後にタッチ位置を移動させる操作であってもよい。ドラッグ操作は、スライド操作とも称されるものである。
ダブルタップ操作は、タッチパネル14Aに対するタップ操作を2回連続して行う操作である。なお、タップ操作とは、タッチパネル14Aをタッチした後すぐにタッチを解除する操作である。例えば、1回目のタップ操作が行われてから所定時間以内に2回目のタップ操作が行われ、かつ、1回目のタップ操作におけるタッチ位置と2回目のタップ操作におけるタッチ位置とが所定距離未満である場合に、ダブルタップ操作が成功する。詳細は後述するが、ダブルタップ操作は、本発明に係る「連続タッチ操作」の一例である。
フリック操作は、タッチパネル14Aをタッチした後に素早くタッチ位置を移動させてタッチを解除する操作である。ドラッグ操作は、タッチ位置を移動した後もタッチパネル14Aに対するタッチが維持されているのに対し、フリック操作は、タッチ位置を移動した後にタッチパネル14Aに対するタッチが解除される。なお、フリック操作を検出するために、タッチ位置の移動速度の閾値を設けてもよい。
本実施形態では、これら3つの操作に対応する操作対象OTの動作は、攻撃中と守備中とで異なるものとする。例えば、攻撃中にユーザがドラッグ操作をすると操作対象OTがドリブル動作をし、守備中にユーザがドラッグ操作をすると操作対象OTがプレス動作をする。ドリブル動作は、操作対象OTがボールを保有した状態で移動することであり、プレス動作は、ボールを保有する対戦相手キャラクタに向かって移動することである。ドリブル動作やプレス動作をする方向は、ドラッグ操作で指示された方向によって定まる。
図10は、攻撃中にユーザがドラッグ操作をした場合の第2状態画像G400を示す図である。図10に示すように、ユーザがタッチパネル14Aに触れると、タッチ操作オブジェクトG480がタッチ位置に表示される。その後、ユーザがタッチ位置を移動させてドラッグ操作をすると、タッチ操作オブジェクトG480は、ユーザがドラッグ操作をした方向に伸びるように表示態様が変化する。先述したように、攻撃中は、ユーザがドラッグ操作をした方向に基づいて操作対象OTがドリブル動作をする。カーソル画像G440の付近(近傍)には、ドリブルの方向を示す動作方向オブジェクトG441が表示される。
なお、守備中にユーザがドラッグ操作をした場合も、タッチ操作オブジェクトG480は図10と同様の変化をする。即ち、ユーザがタッチパネル14Aに触れると、タッチ操作オブジェクトG480がタッチ位置に表示され、ユーザがドラッグ操作をした方向にタッチ操作オブジェクトG480が伸びる。先述したように、守備中にユーザがドラッグ操作をすると操作対象OTがプレス動作をするので、図10と同様に、プレスする方向を示すように動作方向オブジェクトG441が表示されることになる。
また、攻撃中にユーザがダブルタップ操作をすると操作対象OTがシュート動作をし、守備中にユーザがダブルタップ操作をすると操作対象がタックル動作をする。シュート動作は、操作対象OTが対戦相手チームのゴールに向けてボールをシュートする動作である。タックル動作は、対戦相手キャラクタに対して操作対象OTがタックルする動作である。本実施形態では、ユーザがダブルタップ操作をした場合、ダブルタップ操作が成功したかどうかをユーザに把握させるために、タッチ操作オブジェクトG480の色が変わるようになっている。
図11は、攻撃中にユーザがダブルタップ操作をした場合の第2状態画像G400を示す図である。ここでは、操作対象OTがフリーキックでボールを蹴る場面を例に挙げる。図11に示すように、本実施形態では、1回目のタッチ操作により表示されるタッチ操作オブジェクトG480は、第1の色(例えば、白色)となり、ダブルタップ操作により表示されるタッチ操作オブジェクトG480は、当該第1の色とは異なる第2の色(例えば、橙色)となる。例えば、ユーザがダブルタップ操作を失敗して、時間をあけてタップ操作を2回しただけの状態になると、タッチ操作オブジェクトG480は第1の色のまま変化しないので、ユーザはダブルタップ操作に失敗したことを把握できる。
本実施形態では、操作対象OTがシュート動作をすると、ボールBは、ダブルタップ操作に応じて設定される移動範囲内の何れかの位置に向けて移動するようになっている。移動範囲は、ボールBが移動する可能性のある領域であり、ボールBが実際に移動範囲内のどこに向けて移動するかは、ランダムに定まるようにしてよい。図11に示すように、ユーザがダブルタップ操作をすると、移動範囲を示す処理オブジェクトG490がゴールGL内に表示され、ボールBがどこに向けて移動するかが大まかに案内される。
また、本実施形態では、ユーザがダブルタップ操作をする場所によって、移動範囲の場所(即ち、大まかなシュート方向)を指定できるようになっている。このため、ユーザがダブルタップ操作をする場所によって、処理オブジェクトG490の表示位置も変わることになる。
図12は、ダブルタップ操作と、移動範囲及び処理オブジェクトG490と、の関係を示す図である。図12のタッチパネル14A上の破線で示すように、ここでは、タッチパネル14Aが縦に3分割されているものとする。例えば、ユーザが左側領域14ALでダブルタップ操作をすると、ゴールGLの左隅に移動範囲が設定され、操作対象OTがゴールGLの左隅を狙うようにシュート動作をする。この場合、処理オブジェクトG490は、この移動範囲を示すようにゴールGLの左隅に表示される。
同様に、ユーザが中央領域14ACでダブルタップ操作をすると、ゴールGLの中央付近に移動範囲が設定され、操作対象OTがゴールGLの中央付近を狙うようにシュート動作をする。この場合、処理オブジェクトG490は、この移動範囲を示すようにゴールGLの中央付近に表示される。また例えば、ユーザが右側領域14ARでダブルタップ操作をすると、ゴールGLの右隅に移動範囲が設定され、操作対象OTがゴールGLの右隅にゴールGLの右隅を狙うようにシュート動作をする。この場合、処理オブジェクトG490は、この移動範囲を示すようにゴールGLの右隅に表示される。
更に、本実施形態では、操作対象OTの能力に応じて、移動範囲の大きさが変化するようになっている。このため、ユーザが操作対象OTの能力によって、処理オブジェクトG490も大きくなったり小さくなったりする。
図13は、操作対象OTの能力と、移動範囲及び処理オブジェクトG490と、の関係を示す図である。図13に示すように、操作対象OTの能力が高いほど移動範囲が小さくなり、処理オブジェクトG490が小さくなる。即ち、操作対象OTの能力が高ければ、操作対象OTは狙った場所にピンポイントでシュートを打つことができることをユーザは把握できるため、処理オブジェクトG490を見たユーザに得点できる可能性が高いことを予感させることができる。一方、操作対象OTの能力が低いほど移動範囲が大きくなり、処理オブジェクトG490が大きくなる。即ち、操作対象OTの能力が低ければ、操作対象OTは処理オブジェクトG490のどこに向かってシュートを打つかをユーザは把握できないため、処理オブジェクトG490を見たユーザに、ボールBがゴールGLの枠内に飛ばなかったり、対戦相手キーパーがキャッチしやすい場所に飛んでしまったりする可能性を予感させることができる。
なお、守備中にユーザがダブルタップ操作をした場合も同様に、ダブルタップ操作が成功すると、タッチ操作オブジェクトG480が第2の色になる。なお、守備中は、ボールBを移動させるシュート動作ではなく、ボールBを移動させないタックル動作をするので、処理オブジェクトG490を表示しなくともよい。
また、攻撃中にユーザがフリック操作をすると操作対象OTがパス動作をし、守備中にユーザがフリック操作をすると操作対象OTがスライディング動作をする。パス動作は、操作対象OTがユーザチームの他のオリジナルキャラクタにボールBをパスする動作である。操作対象OTは、ユーザがフリック操作をした方向にいる味方のオリジナルキャラクタに対してパスをする。パスが成功した場合、ボールBを受け取ったオリジナルキャラクタが操作対象OTに切り替わる。スライディング動作は、ボールBを保有する対戦相手キャラクタに対して操作対象OTがスライディングする動作である。
上記のように、本実施形態のゲームシステム1は、主に、第1状態と第2状態との間で試合の進行が切り替わる第1の構成、スライド操作に応じてタッチ操作オブジェクトG480が伸びる第2の構成、及びダブルタップ操作に応じてタッチ操作オブジェクトG480の表示態様が変わる第3の構成を有している。以降、第1の構成〜第3の構成の詳細を説明する。
[3.ゲームシステムにおいて実現される機能]
図14は、ゲームシステム1で実現される機能のうち、本発明に関連する機能を示す機能ブロック図である。本実施形態では、ゲームに関する主要な処理がユーザ端末10で実行される場合を説明するが、後述の変形例で説明するように、ゲームに関する主要な処理は、サーバ30で実行されるようにしてもよい。ここでは、第1の構成〜第3の構成の各々に関する機能を順番に説明する。なお、以降の説明では、特に図面を参照する必要のないときは、ピッチPT、操作対象OT、ボールB、及びゴールGLなどの符号を省略する。
[3−1.第1の構成に関する機能]
まず、第1の構成に関する機能を説明する。第1の構成では、主に、データ記憶部100、第1進行部101、関連付けデータ取得部102、状況判定部103、時間決定部104、第2進行部105、時間通知部106、残り時間通知部107、ボール制御部108、経過判定部109、関連付け判定部110、及び継続部111が実現される。
[3−1−1.データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、ゲームを実行するために必要なデータを記憶する。ここでは、第1の構成に関するデータとして、ユーザチームデータDT100、対戦相手チームデータDT101、ゲーム状況データDT102、及び操作可能時間データDT103を説明する。
図15は、ユーザチームデータDT100の一例を示す図である。ユーザチームデータDT100は、ユーザチームに関するデータであり、メンバー選択画像G200における選択内容に応じて更新される。図15に示すように、ユーザチームデータDT100には、フォーメーション、詳細設定、チームのランク・総合力、及び出場メンバーに関する出場メンバー情報が格納される。出場メンバー情報には、出場メンバーとして選択されたオリジナルキャラクタを一意に識別するキャラクタID、オリジナルキャラクタの名前、スターティングメンバーであるか控えメンバーであるかを示す種別情報、スターティングメンバーとして選択されたオリジナルキャラクタのポジション、及び各オリジナルキャラクタのパラメータが格納される。
オリジナルキャラクタのパラメータは、能力パラメータを含む。能力パラメータは、例えば、体力に関するスタミナパラメータ、移動速度に関するスピードパラメータ、シュートの精度に関するシュートパラメータ、ディフェンス技術に関するディフェンスパラメータ、体幹の強さに関するフィジカルパラメータ、パスの精度に関するパスパラメータ、ドリブル技術に関するドリブルパラメータ、及びキーパーとしての技術に関するセービングパラメータなどである。能力パラメータは、これらの各能力の高さを示す数値又は記号で示される。先述したように、能力パラメータは、サクセスパートにおける育成結果によって決まり、サクセスパートが終了してオリジナルキャラクタとして登録された後は、原則として変化しない。
なお、オリジナルキャラクタのパラメータとしては、ランク、得意ポジション、及び特殊能力などを含んでいてもよい。ランクは、能力パラメータの総合値により定まる。得意ポジションは、サクセスパートの開始時に設定されるポジションである。特殊能力は、試合中の能力パラメータを向上させたり、試合中に特殊な動作を可能にしたりするものであり、サクセスパートにおける育成結果に応じて獲得できる。
図16は、対戦相手チームデータDT101の一例を示す図である。対戦相手チームデータDT101は、対戦相手チームに関するデータである。図16に示すように、対戦相手チームデータDT101に格納される各データは、ユーザチームデータDT100と同様であり、格納される内容が対戦相手チームのものである点でユーザチームデータDT100とは異なる。本実施形態では、ゲームシステム1を利用する各ユーザのユーザチームデータDT100は、サーバ30に登録されているものとする。サーバ30に登録されたユーザチームデータDT100のうち、対戦相手チームのデータがユーザ端末10に送信され、対戦相手チームデータDT101としてデータ記憶部100に記録される。
図17は、ゲーム状況データDT102の一例を示す図である。ゲーム状況データDT102は、実行中の試合の状況を示すデータである。図17に示すように、ゲーム状況データDT102には、現在のピッチの様子を示す情報や現在の戦況を示す情報などが格納される。例えば、現在のピッチの状態を示す情報としては、各チームの現在の状態及びボールの現在の状態が格納される。
ユーザチームの状態としては、例えば、出場中のオリジナルキャラクタのキャラクタIDに関連付けて、操作対象フラグ、位置、向き、姿勢、移動方向、移動速度、及び現在のパラメータなどが格納される。操作対象フラグは、操作対象を識別するための情報であり、例えば、「1」は操作対象であることを示し、「0」は操作対象ではないことを示す。第1状態で試合が進行する場合、ユーザはオリジナルキャラクタを操作できないので、ユーザチームの操作対象フラグは、全て「0」となり、第2状態で試合が進行する場合に、何れかのオリジナルキャラクタの操作対象フラグが「1」となるようにしてもよい。なお、オリジナルキャラクタのパラメータは、試合中に変化してもよいし変化しないようにしてもよい。試合中に変化する場合、例えば、オリジナルキャラクタの試合中の動作に応じて、スタミナパラメータやスピードパラメータなどが減少してもよい。
対戦相手チームの状態は、操作対象フラグが格納されない点でユーザチームの状態とは異なり、他の項目はユーザチームの状態と同じである。即ち、対戦相手チームの状態は、出場中の対戦相手キャラクタのキャラクタIDに関連付けて、位置、向き、姿勢、移動方向、移動速度、及び現在のパラメータなどが格納される。ボールの現在の状態としては、例えば、位置、移動方向、移動速度、及びボールを保有するキャラクタのキャラクタIDなどが格納される。現在の戦況としては、例えば、各チームの得点や試合の経過時間などが格納される。
図18は、操作可能時間データDT103の一例を示す図である。図18に示すように、操作可能時間データDT103は、操作可能時間の長さを定義したデータである。本実施形態では、操作可能時間データDT103には、複数のゲーム状況の各々と、操作可能時間の長さと、が関連付けられている。
「複数のゲーム状況」とは、所定のゲーム状況であればよく、例えば、ゲーム状況データDT102に格納される値に関する複数の条件である。ゲーム状況データDT102に格納される値とは、例えば、オリジナルキャラクタ及び対戦相手キャラクタの位置を示す座標値や向き又は移動方向を示すベクトル、又は、ボールの位置を示す座標値や移動方向を示すベクトルなどである。ゲーム状況データDT102に格納される値に関する条件とは、例えば、これら座標値又はベクトルの値を所定範囲になることであり、オリジナルキャラクタ又は対戦相手キャラクタがペナルティエリア内にいることや、ボールがタッチラインやゴールラインの外にでることなどである。例えば、このような条件が複数定められていることが、「複数のゲーム状況」が定められていることに相当する。また、本実施形態のようなスポーツゲームの場合、複数のゲーム状況の各々は、例えば、試合の進行が一時的に停止するような状況(例えば、ボールがゴールラインやタッチラインの外に出たり反則が発生したりする状況)であり、試合の進行が再開される際のプレイ種類(例えば、サッカーゲームであれば、コーナーキック、ペナルティキック、フリーキック、スローイング、ゴールキック)がそれぞれ異なるような状況である。なお、バスケットボールゲームであれば、ボールがサイドラインやエンドラインの外に出たり反則が発生したりすることで試合が一時停止した状態(例えば、スローイングやフリースロー)であってよい。また例えば、複数のゲーム状況は、試合の進行が再開される際にボールが位置する領域(例えば、コーナーエリア、ピッチ内、敵陣側のペナルティエリア、ピッチ外、自陣側のペナルティエリア)が互いに異なるような状況である。また例えば、複数のゲーム状況は、オリジナルキャラクタや対戦相手キャラクタの位置であってもよく、仮想世界内の複数の領域(例えば、ペナルティエリア内など)のどこにオリジナルキャラクタ又は対戦相手キャラクタがいるかを示すことであってもよい。また例えば、本実施形態のような対戦形式のゲームであれば、複数種類の戦況であり、ユーザが勝っていることや負けていることであり、例えば、得点差が閾値以上又は閾値未満となることである。また例えば、所定のゲーム状況は、ゲームにおいてユーザがチャンス又はピンチの場面である。チャンス又はピンチは、例えば、ゲーム空間におけるゲームオブジェクトの位置やゲームの戦況などにより判定すればよい。また例えば、本実施形態のようなサッカーゲームの場合、ユーザチームにとってチャンス又はピンチの場面であってもよく、得点の可能性のあるフリーキック、コーナーキック、ペナルティキックなどである。また例えば、所定のゲーム状況は、オリジナルキャラクタやボールの位置であり、例えば、サッカーゲームやバスケットボールゲームの場合、オリジナルキャラクタがボールを保有したままゴール付近にいることであってもよい。
操作可能時間データDT103に格納されるゲーム状況は、ゲーム状況データDT102に基づいて判別可能な状況であればよいが、図18に示すように、本実施形態では、ユーザチームのコーナーキック、ペナルティキック、フリーキック、スローイング、及びゴールキックとする。
操作可能時間の長さは、各ゲーム状況で共通であってもよいが、本実施形態では、ゲーム状況に応じて異なっている。例えば、図18に示すように、コーナーキックとペナルティキックの操作可能時間の長さは、略0秒である。略0秒とは、第2状態の開始後すぐに操作可能時間が終了することを意味し、例えば、0秒であってもよいし、0.1秒〜0.5秒程度であってもよい。フリーキックの操作可能時間の長さは、ボールの位置に応じて異なっており、例えば、対戦相手チームのゴール付近であれば略0秒であるが、他の位置であれば、ゲーム内の試合時間で10分間となっている。なお、先述したように、本実施形態では、ゲーム内の時間は現実の時間よりも早く進むため、ゲーム内の10分間は、例えば現実世界の30秒程度であってよい。スローイングとゴールキックの操作可能時間の長さは、ゲーム内の試合時間で10分間となっている。
なお、本実施形態では、操作可能時間の長さが、ゲーム内での時間で定義される場合を説明するが、時間の長さを特定可能な情報が操作可能時間データDT103に格納されるようにすればよく、例えば、現実世界の時間で操作可能時間の長さを定義してもよい。現実世界の時間で定義される場合、操作可能時間の長さは、30秒間などのように絶対的な時間単位で示されてもよいし、ゲームプログラムの処理単位であるフレーム数で示されてもよい。
また、データ記憶部100に記憶されるデータは、上記の例に限られない。データ記憶部100は、ゲームを実行するために必要なデータを記憶すればよく、例えば、データ記憶部100は、出場メンバー以外のオリジナルキャラクタに関するデータを記憶してもよい。他にも例えば、データ記憶部100は、表示部15に表示される各オブジェクトの画像データを記憶してもよい。
[3−1−2.第1進行部]
第1進行部101は、制御部11を主として実現される。第1進行部101は、オリジナルキャラクタに対するユーザの操作が制限された第1状態で、オリジナルキャラクタに基づくゲームを進行させる。言い換えれば、第1進行部101は、ユーザの操作を要することなく、ゲームを自動的に進行させてゲーム状況データDT102を更新する。本実施形態では、第1状態で進行中にユーザが操作をしても操作をしなくても、ゲームの進行結果は変わらないものとする。
「オリジナルキャラクタに対するユーザの操作」とは、オリジナルキャラクタを動作させるためにユーザによって行われる操作である。この操作は、オリジナルキャラクタが行うべき動作の種類、当該動作を行うべきタイミング、当該動作に関する位置又は方向等を指示する操作であり、操作部14を用いて行われるものである。
「オリジナルキャラクタに基づくゲーム」とは、オリジナルキャラクタが使用されるゲームであり、例えば、オリジナルキャラクタのパラメータに基づいて実行されるゲームである。ゲームで用いられるオリジナルキャラクタは1つであってもよいし複数であってもよいが、本実施形態ではサッカーゲームを例に挙げるので、複数のオリジナルキャラクタに基づくゲームが実行されることになる。なお、本実施形態のように対戦形式のゲームが実行される場合には、第1進行部101は、ユーザのオリジナルキャラクタだけでなく、それ以外のゲームオブジェクト(例えば、対戦相手キャラクタ)に基づくゲームを進行させることになる。
例えば、第1進行部101は、ゲーム状況データDT102に基づいて、第1状態でゲームを進行させる。第1状態でゲームを進行させるためのアルゴリズムは、ゲームプログラムに記述されており、第1進行部101は、オリジナルキャラクタのパラメータと当該アルゴリズムとに基づいて、第1状態でゲームを進行させる。本実施形態では、このアルゴリズムは、サッカーの試合のシミュレータである。シミュレータとしては、公知のものを使用すればよい。なお、第2状態でもシミュレータが利用されるが、第1状態のシミュレータと第2状態のシミュレータとは同じであってもよいし異なっていてもよい。例えば、第1状態のシミュレータは、第2状態のシミュレータよりも計算式や引数が少なく、簡易的なものであってもよい。
第1進行部101は、ゲーム状況データDT102とシミュレータに基づいて、ユーザチームと対戦相手チームの動作のシミュレーションを実行することによって、第1状態での試合を進行させ、ゲーム状況データDT102を更新する。例えば、第1進行部101は、現在のオリジナルキャラクタ、対戦相手キャラクタ、及びボールの状態に基づいて、各オリジナルキャラクタ及び各対戦相手キャラクタを動作させ、当該動作結果に基づいてゲーム状況データDT102を更新することになる。例えば、第1進行部101は、シミュレーションにおいて、オリジナルキャラクタや対戦相手キャラクタが移動した場合には、これらの位置を更新し、ボールが移動した場合には、ボールの位置を更新する。また、第1進行部101は、シミュレーションにおいてユーザチーム又は対戦相手チームが得点を決めた場合は、ゲーム状況データDT102の戦況を更新し、試合の進行に応じて経過時間を更新する。また、第1進行部101は、シミュレーションにおいてユーザチーム又は対戦相手チームにより反則が発生した場合は試合を一時停止させて、フリーキックやペナルティキックとする。
[3−1−3.関連付けデータ取得部]
関連付けデータ取得部102は、制御部11を主として実現される。関連付けデータ取得部102は、複数のゲーム状況の各々に対応する操作可能時間の長さを各々関連付けた関連付けデータを記憶するデータ記憶部100に記憶された当該関連付けデータを取得する。本実施形態では、操作可能時間データDT103に関連付けデータが定義されているので、関連付けデータ取得部102は、操作可能時間データDT103を取得することになる。なお、関連付けデータを用いることで、複数のゲーム状況の各々に対応する操作可能時間を特定することが可能となる。関連付けデータの形式は、テーブル形式であってもよいし、数式形式であってもよいし、プログラムコードとして記述されていてもよい。
[3−1−4.状況判定部]
状況判定部103は、制御部11を主として実現される。状況判定部103は、第1状態で進行中のゲームが所定のゲーム状況になったかを判定する。状況判定部103は、第1状態において、ゲーム状況データDT102に格納された値が所定の値になったかを判定することによって、所定のゲーム状況になったかを判定する。なお、「所定のゲーム状況」は、例えば、第1状態から第2状態に切り替えるために予め定められた状況であり、先述したように、操作可能時間データDT103に定められたゲーム状況である。
本実施形態では、操作可能時間データDT103に複数のゲーム状況が定義されているので、状況判定部103は、第1状態で進行中のゲームが当該複数のゲーム状況の何れかになったかを判定することになる。状況判定部103は、ゲーム状況データDT102が、操作可能時間データDT103に格納された複数のゲーム状況の何れかに該当する値になったかを判定する。ここでの値とは、例えば、ゲーム状況データDT102に格納されるオリジナルキャラクタ及び対戦相手キャラクタの位置を示す座標値や向き又は移動方向を示すベクトル情報の数値であってもよいし、ボールの位置を示す座標値や移動方向を示すベクトル情報の数値であってもよい。状況判定部103は、これら座標値やベクトル情報の数値が、操作可能時間データDT103に定められた範囲になったかを判定することになる。本実施形態では、図18のように、ユーザチームのコーナーキック、ペナルティキック、対戦相手ゴール付近でのフリーキック、その他の位置でのフリーキック、スローイング、及びゴールキックが操作可能時間データに定義されているので、状況判定部103は、例えば、ゲーム状況データの変化を参照して次のような判定処理を実行する。
例えば、状況判定部103は、対戦相手チームがボールを保有した状態で、ボールが対戦相手チームのゴールラインの外に出た場合に、ユーザチームのコーナーキックになったと判定する。また例えば、状況判定部103は、対戦相手チームのペナルティエリア内で、対戦相手チームが反則した場合に、ユーザチームのペナルティキックになったと判定する。また例えば、状況判定部103は、対戦相手チームのペナルティエリア外であり、かつ、対戦相手チームのゴールから所定距離未満の場所で、対戦相手チームが反則した場合、対戦相手ゴール付近でのフリーキックになったと判定する。
また例えば、状況判定部103は、対戦相手チームのゴールから所定距離以上の場所で、対戦相手チームが反則した場合、その他の位置でのフリーキックになったと判定する。また例えば、状況判定部103は、対戦相手チームがボールを保有した状態で、ボールがタッチラインの外に出た場合に、ユーザチームのスローイングになったと判定する。また例えば、状況判定部103は、対戦相手チームがボールを保有した状態で、ボールがユーザチームのゴールラインの外に出た場合に、ユーザチームのゴールキックになったと判定する。
[3−1−5.時間決定部]
時間決定部104は、制御部11を主として実現される。時間決定部104は、第2状態でゲームを進行させる操作可能時間の長さを決定する。先述したように、操作可能時間は、第2状態で試合が進行する期間であり、例えば、試合開始後の第1時点から、第1時点より後の第2時点(第2時点は試合終了時点よりも前)まで、の間である。第2状態では、オリジナルキャラクタがユーザの操作に対応する動作を行うことになる。
操作可能時間の長さは、一定の長さの秒数、分数、時間数、又はフレーム数の何れであってもよく、図18に示すように略0の時間が設定されてもよい。操作可能時間の長さは、固定値であってもよいし可変値であってもよく、可変値である場合には、時間決定部104は、操作可能時間の長さをランダムに決定してもよいし、第2状態になる場合のゲーム状況に応じて操作可能時間の長さを決定してもよい。本実施形態では、時間決定部104が、第1状態から第2状態に切り替わる場合のゲームのゲーム状況に基づいて操作可能時間の長さを決定する場合を説明する。
「第1状態から第2状態に切り替わる場合のゲームのゲーム状況」とは、例えば、第1状態が終了する場合のゲーム状況であり、第1状態の終了時点の状況であってもよいし、第1状態の終了時点から所定時間だけ前後した時点での状況であってもよい。言い換えれば、このゲーム状況は、第2状態でゲームが開始する場合のゲームの状況であり、例えば、第2状態の開始時点の状況であってもよいし、第2状態の開始時点から所定時間だけ前後した時点の状況であってもよい。
本実施形態では、操作可能時間データDT103に複数のゲーム状況が定義されているので、時間決定部104は、第1状態で進行中のゲームが複数のゲーム状況の何れかになった場合、操作可能時間の長さを、当該ゲーム状況に関連付けられた時間の長さに基づいて決定することになる。即ち、状況判定部103が操作可能時間データDT103に定義された複数のゲーム状況の何れかになったと判定した場合、時間決定部104は、操作可能時間の長さを、当該ゲーム状況に関連付けられた時間の長さに基づいて決定する。
[3−1−6.第2進行部]
第2進行部105は、制御部11を主として実現される。第2進行部105は、第1状態から、ユーザの操作が可能な第2状態に切り替えて、第2状態でゲームを進行させる。本実施形態では、第2状態に切り替わるためのゲーム状況が予め定められているので、第2進行部105は、ゲームが所定のゲーム状況になった場合に、第1状態から第2状態に切り替えて、第2状態でゲームを進行させることになる。
第2状態では、何れかのオリジナルキャラクタが操作対象になるので、第2進行部105は、ユーザの操作に基づいて操作対象を動作させる。言い換えれば、第1状態は、ユーザが操作をしようが操作をしまいが試合の進行結果は変わらないが、第2状態は、ユーザが操作をした場合の進行結果は、ユーザが操作をしなかった場合の進行結果と異なることになる。本実施形態では、第1状態では、先述したように簡易的なシミュレーションだけが実行されるが、第2状態になると、第2進行部105は、ゲーム状況データDT102に基づいて、データ記憶部100上に仮想世界を構築し、詳細なシミュレーションが実行される。
図19は、仮想世界の一例を示す図である。ここでは仮想世界が3次元空間である場合を説明するので、図19に示すように、第2進行部105は、ゲーム状況データDT102に基づいて、3次元空間における仮想的なサッカー場を構築する。3次元空間には、互いに直交するXw軸、Yw軸、及びZw軸(ワールド座標系の座標軸)が設定され、3次元空間内の位置は、これらの座標軸の座標値により特定される。
図19に示すように、例えば、第2進行部105は、Xw−Yw平面と平行になるようにピッチの3DモデルであるピッチPTを配置する。第2進行部105は、ユーザチーム及び対戦相手チームの各々のゴールの3DモデルであるゴールGLをピッチPT上に配置する。更に、第2進行部105は、タッチラインTL、ゴールラインEL、及びハーフウェーラインHLをピッチに描き、ゴールGLの付近には、ペナルティエリアPAを定義するラインを描く。なお、これらのラインは、3Dモデルとして描かれてもよいし、テクスチャとしてピッチPT上に貼り付けられてもよい。なお、タッチラインTL、ゴールラインEL、ハーフウェーラインHL、及びゴールGLが配置される位置は、予めデータ記憶部100に記憶させておけばよい。
また、第2進行部105は、ゲーム状況データDT102に基づいて、オリジナルキャラクタの3DモデルであるオリジナルキャラクタOC、対戦相手キャラクタの3Dモデルである対戦相手キャラクタEC、及びボールの3DモデルであるボールBをピッチPT上に配置する。なお、実際には、11体のオリジナルキャラクタOCと、11体の対戦相手キャラクタECと、がピッチ上に配置されるが、図19では、簡略化のためにこれらを1体ずつ示している。また、以降では、特に図面を参照する必要のないときは、ゴールGLなどの符号を省略する。
更に、第2進行部105は、仮想世界内に仮想視点VCを設定する。なお、本実施形態では、仮想世界が3次元空間である場合を説明するので、3次元空間に配置された仮想カメラが仮想視点である場合を説明するが、仮想世界が2次元画像であれば、2次元画像のうち表示対象となる範囲を定義する視野範囲が仮想視点に相当することになる。先述したように、本実施形態では、仮想視点VCからピッチを見た様子が第2状態画像G400として表示される。言い換えれば、仮想視点VCの視野内の様子が、第2状態画像G400として表示される。仮想視点VCは、操作対象と一定の位置関係を保つように移動するようにすればよい。
第2進行部105は、上記のようにして仮想世界を構築し、ユーザの操作とゲーム状況データDT102とに基づいて、第2状態でゲームを進行させ、ゲーム状況データを更新する。第2状態でゲームを進行させるためのアルゴリズムは、ゲームプログラムに記述されており、第2進行部105は、ユーザの操作と、ゲーム状況データDT102と、当該アルゴリズムと、に基づいて、第2状態のゲームを進行させる。このアルゴリズムは、第1状態と同様、試合のシミュレータであり、公知のシミュレータを使用してよい。なお、先述したように、第2状態のシミュレータは、第1状態のシミュレータよりも詳細なシミュレーションが可能になっている。例えば、第2進行部105は、ユーザの操作に基づいて操作対象が動作し、他のオリジナルキャラクタOC及び対戦相手キャラクタECは、シミュレータがシミュレーションした動作を行うように、ゲーム状況データDT102を更新することになる。
[3−1−7.時間通知部]
時間通知部106は、制御部11を主として実現される。時間通知部106は、ゲームが第2状態で進行する場合に、操作可能時間の長さを識別させるための情報をユーザに通知する。
「操作可能時間の長さを識別させるための情報」とは、例えば、操作可能時間の長さを示す画像又は音声を出力したり、操作可能時間の長さに対応する振動パターンで端末を振動させたりすることである。例えば、画像を用いる場合、砂時計、アナログ時計、又はデジタル時計などの時計を示す時計画像により操作可能時間の長さを直接的又は間接的に表示することである。例えば、アナログ時計やデジタル時計のように、具体的な時間を直接的に表示させてもよいし、砂時計の管内に封入された砂の割合によって、具体的な時間を間接的に表示させてもよい。あるいはまた、時計画像を用いなくても、操作可能時間の長さそのものを示す数値を用いて直接的に表示させてもよいし、操作可能時間の長さに対応する長さの画像を用いて間接的に表示させてもよい。また例えば、音声を用いる場合は、操作可能時間の長さを示す音声を出力すればよい。また例えば、振動パターンを用いる場合は、操作可能時間の長さごとに振動パターンを用意しておき、操作可能時間の長さに応じた振動パターンでユーザ端末10を振動させればよい。
先述したように、本実施形態では、時間通知部106は、砂時計画像G470を用いて操作可能時間の長さをユーザに通知する。時間通知部106は、時間決定部104が決定した操作可能時間の長さに基づいて、砂時計画像G470の表示態様を決定する。操作可能時間と、砂時計画像G470の表示態様と、の関係を定義するデータは、予めデータ記憶部100に記憶されているものとする。この関係を定義するデータでは、操作可能時間の残り時間が長いほど、砂時計画像G470の上側の領域に格納された砂の割合が高くなり、操作可能時間の残り時間が短いほど、砂時計画像G470の下側の領域に格納された砂の割合が高くなるように定められている。
例えば、時間通知部106は、操作可能時間の残り時間に対応する表示態様となるように、砂時計画像G470の表示態様を変化させる。この場合の砂時計画像G470の変化は図8で説明した通りである。例えば、砂時計画像G470の上側に格納された砂の割合をX%とし、時間決定部104が決定した操作可能時間の長さをT1とし、操作可能時間の残り時間の長さをT2とすると、時間通知部106は、上側の砂の割合XがT2/T1となるように、砂時計画像G470の表示態様を変化させる。あるいは、砂時計画像G470の砂が下側に落ちる単位時間あたりの量をYとし、砂の総量をZとすると、時間通知部106は、上側の砂の割合がT2*Y/Zとなるように、砂時計画像G470の表示態様を変化させるようにしてもよい。
[3−1−8.残り時間通知部]
残り時間通知部107は、制御部11を主として実現される。残り時間通知部107は、ゲームが第2状態で進行する場合に、計時により計時開始してから上記決定した操作可能時間の長さが経過するまでの残り時間が閾値未満になったことを識別させるための情報をユーザに通知する。
「残り時間が閾値未満になったことを識別させるための情報」とは、例えば、操作可能時間の残り時間が少なくなったことを示す画像又は音声を出力したり、所定の振動パターンでユーザ端末10を振動させたりすることである。例えば、操作可能時間の残り時間が閾値未満になったことを示すメッセージを用いて直接的に表示させてもよいし、残り時間が閾値未満になるまで表示させていた画像の表示態様を変えたり、残り時間が閾値未満になるまでは表示させていなかった画像を表示させたりすることで間接的に表示させてもよい。なお、ここでの表示態様を変えるとは、所定のエフェクト処理を施すことであり、例えば、画像の大きさ、表示位置、色、模様、輝度を変えることである。例えば、画像が揺れるように表示させたり、画面の端部を所定の色にしたりすることが表示態様を変えることの一例に相当する。例えば、音声を用いる場合、操作可能時間の残り時間が閾値未満であることを知らせる音声を出力することである。例えば、振動パターンを用いる場合、操作可能時間の残り時間が閾値未満であることを知らせる振動パターンで端末を振動させることである。
残り時間通知部107は、操作可能時間の開始時点t0(図8)からの計時結果に基づいて、操作可能時間の終了時点t1までの残り時間が閾値未満になったかを判定する。閾値は、予め定められた数値であればよく、データ記憶部100に記憶させておけばよい。ここでは、閾値を0とする。このため、残り時間通知部107は、操作可能時間の残り時間が無くなったかを判定することになる。図8を参照して説明したように、本実施形態では、残り時間通知部107は、残り時間が閾値未満になった場合に、砂時計画像G470が左右に揺れるように表示態様を変化させることになる。
[3−1−9.ボール制御部]
ボール制御部108は、制御部11を主として実現される。ボール制御部108は、オリジナルキャラクタと対戦相手キャラクタとのうち、ボールに関連付けられた方(=オリジナルキャラクタ又は対戦相手キャラクタの何れか一方のキャラクタ)の動作に基づいて、ボールを移動させる。本実施形態では、ボールを保有することが、ボールに関連付けられることに相当する。
例えば、ボール制御部108は、誰もボールを保有していない場合、オリジナルキャラクタと対戦相手キャラクタとのうちでボールに近づいた方(=オリジナルキャラクタ又は対戦相手キャラクタの何れか一方のキャラクタ)を、ボールに関連付ける。ボールに近づくとは、ボールとの距離が所定距離未満になることである。ボール制御部108は、ゲーム状況データDT102に格納されたボールを保有するキャラクタIDを更新することによって、オリジナルキャラクタ又は対戦相手キャラクタがボールに関連付けることになる。
また例えば、ボール制御部108は、オリジナルキャラクタが保有しているボールを対戦相手キャラクタが奪うと、当該対戦相手キャラクタのキャラクタIDを、ボールを保有するキャラクタIDとして格納することになる。同様に、ボール制御部108は、対戦相手キャラクタが保有しているボールをオリジナルキャラクタが奪うと、当該オリジナルキャラクタのキャラクタIDを、ボールを保有するキャラクタIDとして格納することになる。なお、ボールを奪うことができるか否かは、オリジナルキャラクタや対戦相手キャラクタのパラメータに基づいて決定されるようにしてよい。
ボール制御部108は、ボールを保有するオリジナルキャラクタ又は対戦相手キャラクタの動作に基づいて、ボールを移動させる。例えば、ボール制御部108は、ボールを保有するオリジナルキャラクタ又は対戦相手キャラクタがドリブル動作をした場合、当該ドリブル動作が行われた方向にボールを移動させる。また例えば、ボール制御部108は、ボールを保有するオリジナルキャラクタ又は対戦相手キャラクタがシュート動作やパス動作をした場合、当該シュート動作又はパス動作が行われた方向(即ち、オリジナルキャラクタ又は対戦相手キャラクタが蹴った方向)にボールを移動させる。なお、シュート動作におけるボールの移動方法については、第3の構成で詳細を説明するが、ボールの移動アルゴリズムは、第1進行部101や第2進行部105の処理で説明したシミュレータに定義されているようにすればよい。
[3−1−10.経過判定部]
経過判定部109は、制御部11を主として実現される。経過判定部109は、ゲームが第2状態で進行する場合に、計時により計時開始してから、時間決定部104が決定した操作可能時間の長さが経過したかを判定する。
「計時」とは、時間を計ることであり、例えば、第2状態の開始時点からの経過時間を計測することである。例えば、計時は、リアルタイムクロックが利用されるようにすればよい。「計時開始」とは、時間決定部104が決定した操作可能時間の長さの計時を開始した時点であり、第2状態が開始したときが計時開始である。経過判定部109は、計時により、第2状態の開始時点t0からの経過時間を取得し、当該経過時間が操作可能時間の長さ以上になったか否かを判定する。
第1進行部101は、経過判定部109が、計時により計時開始してから、時間決定部104が決定した操作可能時間の長さが経過したと判定した場合に、第2状態から第1状態に切り替えて、第1状態でゲームを進行させることになる。この場合、第1進行部101は、第1状態画像G300を表示部15に表示させ、第1状態での進行を再開することになる。第1状態での進行方法は、先述した通りである。
[3−1−11.関連付け判定部]
関連付け判定部110は、制御部11を主として実現される。関連付け判定部110は、計時により計時開始してから、時間決定部104が決定した操作可能時間の長さが経過する場合に、オリジナルキャラクタと対戦相手キャラクタとの何れにボールが関連付けられているかを判定する。関連付け判定部110は、ゲーム状況データに格納されたボールを保有するキャラクタIDを参照することによって判定処理を実行してもよいし、下記のように判定処理をするようにしてもよい。
例えば、関連付け判定部110は、オリジナルキャラクタがボールを保有している場合、又は、ユーザチームがボールをパスしている場合、ユーザチームがボールを保有していると判定するようにしてもよい。また例えば、関連付け判定部110は、対戦相手キャラクタがボールを保有している場合、対戦相手チームがボールをパスしている場合、対戦相手チームがボールをクリアした場合、又は、ボールがラインアウトした場合、ユーザチームがボールを保有していないと判定するようにしてもよい。
[3−1−12.継続部]
継続部111は、制御部11を主として実現される。継続部111は、計時により計時開始してから、時間決定部104が決定した操作可能時間の長さが経過する場合のゲームのゲーム状況に基づいて、第1状態への切り替えを制限し、第2状態を継続させる。
「第1状態への切り替えを制限」とは、例えば、第2状態の時間が経過しても第1状態にしないことである。言い換えれば、第1状態に切り替わることを禁止することが、第1状態への切り替えを制限することに相当する。「第2状態を継続」とは、例えば、第2状態の時間が経過しても第2状態を維持することである。
例えば、継続部111は、操作可能時間が経過する場合のゲーム状況が所定の状況である場合に、第1状態への切り替えを制限して第2状態を継続させ、操作可能時間が経過する場合のゲーム状況が所定の状況ではない場合に、第1状態に切り替わることを許可する。この状況は、ユーザに操作を継続させた方が好ましい状況であればよいが、例えば、継続部111は、関連付け判定部110の判定結果に基づいて、第2状態を継続させるようにしてよい。この場合、関連付け判定部110によりオリジナルキャラクタがボールを保有していると判定された場合、継続部111は、第2状態を継続させ、関連付け判定部110により対戦相手キャラクタがボールを保有していると判定された場合、継続部111は、第2状態を継続させないようにする。
[3−2.第2の構成に関する機能]
次に、第2の構成に関する機能を説明する。第2の構成では、主に、データ記憶部100、タッチ位置取得部112、操作対象決定部113、表示制御部114、及び動作制御部115が実現される。なお、第1の構成と同様の機能は説明を省略し、第1の構成とは異なる機能を説明する。
[3−2−1.データ記憶部]
データ記憶部100が記憶するデータは、第1の構成で説明したものと同様であってよい。
[3−2−2.タッチ位置取得部]
タッチ位置取得部112は、制御部11を主として実現される。タッチ位置取得部112は、タッチパネル14Aに対するタッチ操作に応じて検出されたタッチ位置を取得する。「タッチ位置」とは、タッチパネル14Aが検出した座標であり、例えば、スクリーン座標系の2次元座標で示される。スクリーン座標は、例えば、表示部15の画面の左上を原点OsとしたXs軸及びYs軸の座標系(後述の図20参照)におけるXs座標値とYs座標値の組み合わせで示される。タッチ位置取得部112は、タッチパネル14Aの検出信号に基づいてタッチ位置を取得することになる。
[3−2−3.操作対象決定部]
操作対象決定部113は、制御部11を主として実現される。操作対象決定部113は、ゲーム状況に基づいて、複数のオリジナルキャラクタの中からユーザの操作対象とするオリジナルキャラクタを決定する。操作対象決定部113は、ゲーム状況データDT102に基づいて操作対象を決定すればよく、例えば、以下のようにして操作対象を決定する。
例えば、操作対象決定部113は、ゲーム状況データDT102が示す仮想世界の現在の様子に基づいて、操作対象を決定する。ここでの様子とは、オリジナルキャラクタの位置や向きであってもよいし、ボールの位置や移動方向などであってもよい。本実施形態では、操作対象決定部113は、攻撃中は、ボールを保有するオリジナルキャラクタを操作対象として決定し、守備中は、ボールを保有する対戦相手キャラクタの最も近くにいるオリジナルキャラクタを操作対象として決定する。
先述したように、本実施形態では、守備中は実行オブジェクトP460により操作対象を切り替えることができるので、操作対象決定部113は、所定の条件が満たされ、かつ、タッチ位置が移動せずにタッチ操作が解除された場合、操作対象を他のオリジナルキャラクタに変更するようにしてよい。
「所定の条件」とは、ゲーム状況が所定の状況になることであり、例えば、本実施形態のようなサッカーゲームでは守備中になることである。なお、所定の条件は、守備中に限られず、操作対象の切り替えを許可する状況であればよく、他にも例えば、誰もボールを保有していない状態であってもよいし、試合の残り時間が少なくなった場合であってもよい。「タッチ位置が移動せずにタッチ操作が解除」とは、タッチパネル14Aに接触した物体が移動せずにタッチパネル14Aから離れることであり、例えば、タップ操作が行われたり、長押しの操作が行われたりした場合である。
例えば、操作対象決定部113は、ユーザチームが守備中であり、実行オブジェクトP460がタップ操作により選択された場合に、操作対象を他のオリジナルキャラクタに変更する。操作対象の切り替え自体は、任意の方法で行われるようにすればよく、例えば、操作対象決定部113は、ユーザチームのオリジナルキャラクタの中からランダムに選出したものを新たな操作対象としてもよいし、現在の操作対象の最も近くにいるオリジナルキャラクタを新たな操作対象としてもよい。
[3−2−4.表示制御部]
表示制御部114は、制御部11を主として実現される。ここでは、主に、タッチ操作オブジェクトG480を伸長させるための処理と、仮想世界の様子を表示させるための処理と、を説明する。
[タッチ操作オブジェクトを伸長させるための処理]
まず、タッチ操作オブジェクトG480を伸長させるための処理を説明する。表示制御部114は、タッチ位置取得部112により取得されたタッチ位置に基づいて第1位置が取得された場合に、タッチ操作オブジェクトG480を表示部15に表示させるための制御を行う。
「第1位置」とは、例えば、タッチパネル14Aが接触されない状態から接触された状態に変化した場合のタッチ位置である。言い換えれば、第1位置は、例えば、タッチ位置の取得が開始された場合のタッチ位置であり、タッチパネル14Aが接触された後に初めて取得されたタッチ位置であってもよいし、この時点から一定時間以内に取得されたタッチ位置であってもよい。例えば、第1位置は、タッチ位置が移動(タッチパネルに触れた物体が接触を維持したまま移動であり、いわゆるスライド操作又はドラッグ操作)した場合の移動の起点(始点)である。
「オブジェクトを表示させるための制御」とは、例えば、オブジェクトが表示される画像(画面画像)を生成して、当該画像を表示部に表示させることである。また例えば、オブジェクトが表示される画像(画面画像)を表示するために必要なデータを生成して、当該データを表示部又は表示部に接続された端末に送信することによって、当該画像を表示部に表示させることである。「画像を表示するために必要なデータ」とは、画像自体を示すデータであってもよいし、画像を生成するために必要なデータであってもよい。即ち、本実施形態のようにユーザ端末10で表示制御部114が実現される場合は、画像を表示部15に表示させることであり、後述する変形例のようにサーバ30で表示制御部114が実現される場合は、画像データをユーザ端末10に送信することである。
図10を参照して説明したように、表示制御部114は、第1位置が取得された場合に、基本形状のタッチ操作オブジェクトG480を表示部15に表示させるための制御を行う。基本形状は、タッチ操作オブジェクトG480の初期状態であり、伸びる前の状態のタッチ操作オブジェクトG480である。言い換えれば、表示制御部114は、タッチパネル14Aに対するタッチ操作に応じて、第1位置にタッチ操作オブジェクトG480を表示させるための制御を行う。
なお、本実施形態では、タッチ操作オブジェクトG480が第1位置に表示される場合を説明するが、タッチ操作オブジェクトG480は第1位置とは異なる位置に表示されてもよい。第1位置とは異なる位置に表示される場合、タッチ操作オブジェクトG480は、予め定められた固定位置に表示されてもよいし、第1位置から所定距離以内の任意の位置に表示されてもよい。
また、表示制御部114は、タッチ位置が移動されることで第2位置が取得された場合に、第1位置から第2位置への方向と、第1位置と第2位置との距離と、に基づいて、タッチ操作オブジェクトG480を伸長させて表示部15に表示させるための制御を行う。例えば、表示制御部114は、タッチ位置が第2位置に移動した場合に、タッチ操作オブジェクトG480を基本形状から伸長させて表示部15に表示させるための制御を行う。
「第2位置」とは、第1位置とは異なる位置であり、例えば、現在のタッチ位置である。例えば、第2位置は、タッチパネル14Aに接触した物体(指やペンなど)が、接触を維持したまま第1位置から移動した場合の位置である。「第1位置から第2位置への方向」とは、第1位置と第2位置を結ぶ表示部15の画面上の方向であり、例えば、スクリーン座標系におけるこれらの座標を結ぶ方向である。「第1位置と第2位置との距離」とは、第1位置と第2位置との間隔であり、例えば、スクリーン座標系におけるこれらの座標間の距離である。
「タッチ操作オブジェクトを伸長」とは、タッチ操作オブジェクトG480を長くすることであり、例えば、タッチ操作オブジェクトG480が長くなるように変形させることである。タッチ操作オブジェクトG480は、伸長した場合に幅が変わってもよいし変わらなくてもよい。なお、本実施形態では、タッチ操作オブジェクトG480は、伸長するだけでなく収縮もすることが可能である場合を説明するが、伸長だけが可能であり収縮できないようにしてもよい。
図20は、タッチ操作オブジェクトG480を伸縮させる処理の説明図である。図20では、スライド操作が行われる様子を下側に示し、タッチ操作オブジェクトG480を上側に示している。図20に示すように、表示制御部114は、第1位置P1から第2位置P2への方向V1に基づいて、タッチ操作オブジェクトG480を伸縮させる方向V2を決定する。方向V1と方向V2とは、同じであってもよいし異なっていてもよい。これらが異なる場合には、方向V1と方向V2との関係は、数式やテーブルにより定められていてもよい。例えば、方向V1から所定角度ずらした方向を方向V2としてもよいし、この角度をユーザが指定できるようにしてもよい。
例えば、表示制御部114は、第2位置P2が移動して方向V1が変化した場合に、当該変化に応じて方向V2を変化させる。本実施形態では、タッチ操作オブジェクトG480が伸びる方向は、第1位置P1と第2位置P2とに基づいて定まり、第2位置P2に至るまでの経路は関係ないものとする。このため、例えば、第2位置P2が第1位置P1から見て右上に移動した後に左上に移動し、移動後の第2位置P2が第1位置P1から見て真上に位置する場合は、タッチ操作オブジェクトG480は、左上に向かって伸びるのではなく真上に向かって伸びるように変形することになる。
また、表示制御部114は、第1位置P1と第2位置P2との距離L1に基づいて、タッチ操作オブジェクトG480の長さL2を決定する。この「L2」は、方向V2の長さである。距離L1と長さL2とは、同じであってもよいし異なっていてもよい。これらが異なる場合には、距離L1と長さL2の関係は、数式やテーブルにより定められていてもよい。例えば、距離L1を所定倍したものを長さL2としてもよいし、距離L1を所定距離だけ増減したものを長さL2とするようにしてもよい。
例えば、表示制御部114は、第2位置P2が移動して距離L1が変化した場合、当該変化に応じて長さL2を変化させる。例えば、表示制御部114は、距離L1が長くなるほど長さL2が長くなり、距離L1が短くなるほど長さL2が短くなるように、タッチ操作オブジェクトG480を伸縮させる。言い換えれば、表示制御部114は、距離L1が長くなった場合に、タッチ操作オブジェクトG480を伸長させ、距離L1が短くなった場合に、タッチ操作オブジェクトG480を収縮させる。
タッチ操作オブジェクトG480は、表示部15の表示領域の限界まで伸びるようにしてもよいし、表示領域の限界まで伸びないように長さL2に上限値を設けてもよい。また、タッチパネル14Aへのタッチが解除された場合、表示制御部114は、その後すぐにタッチ操作オブジェクトG480を消去するための制御を行ってもよいし、基本形状に戻るようにタッチ操作オブジェクトG480を収縮させるための制御を行ってもよい。タッチ操作オブジェクトG480は、基本形状に戻ると消去される。
[仮想世界の様子を表示させるための処理]
次に、仮想世界の様子を表示させるための処理を説明する。本実施形態では、表示制御部114は、仮想世界を仮想視点VCから見た様子を示す第2状態画像G400を表示部15に表示させるための制御を行う。言い換えれば、表示制御部114は、複数のオリジナルキャラクタが配置された仮想世界の様子を表示部15に表示させるための制御を行うことになる。例えば、表示制御部114は、仮想視点の視野内の3次元座標を2次元座標に変換することで第2状態画像G400を生成する。
ここでの「仮想世界の様子」とは、仮想世界の現在の様子を示す画像であり、例えば、仮想世界に配置されたオリジナルキャラクタを含む画像である。仮想世界の様子は、仮想世界が3次元であれば仮想カメラから仮想世界を見た様子を示す画像であり、仮想世界が2次元であれば仮想世界のうち視野範囲内の様子を示す画像である。なお、視野範囲は、2次元の仮想世界のうち表示部15に表示させる範囲を定義したものであり、例えば、画面のアスペクト比に応じた長方形の枠である。
表示制御部114は、原則として、操作対象と所定の位置関係を保つように、仮想視点の位置及び視線方向を制御する。本実施形態では、表示制御部114は、表示部15に表示されるピッチの長手方向と、表示部15の長手方向と、の角度が基準未満となる視線方向で仮想世界を見た様子を表示部15に表示させるための制御を行う。
ピッチの長手方向は、ピッチ上の平面のうち長い方向である。例えば、ピッチの長手方向は、図19に示すピッチPT上の一方のゴールGLから他方のゴールGLに向けた方向であり、言い換えれば、タッチラインTLの方向である。表示部15の長手方向は、画面のアスペクト比の比率が大きい方向であり、図20の例ではYs軸方向である。
本実施形態のように縦長の画面で表示される場合には、表示制御部114は、ピッチの長手方向と、仮想視点の視線方向と、のなす角度が閾値未満となるように、視線方向を制御する。一方、横長の画面の場合は、上記とは逆に、表示制御部114は、ピッチの長手方向と、仮想視点の視線方向と、のなす角度が閾値以上となるように、視線方向を制御するようにすればよい。即ち、表示制御部114は、第2状態画像G400においてピッチの長手方向が表示部15の長手方向に表れるように、視線方向を制御することになる。
なお、表示制御部114は、操作対象として決定されたオリジナルキャラクタに関するゲーム状況に基づいて、当該オリジナルキャラクタに対する仮想視点の相対的な位置が変わるように、仮想視点を設定するようにしてもよい。オリジナルキャラクタに関するゲーム状況とは、ゲーム状況データのうち、オリジナルキャラクタに関係するものであり、例えば、オリジナルキャラクタの位置、向き、姿勢、移動方向、移動速度、及びパラメータなどである。仮想視点の相対的な位置とは、仮想視点と操作対象との位置関係である。
オリジナルキャラクタに関するゲーム状況と、仮想視点の相対的な位置関係と、の関係を定義するデータは予めデータ記憶部100に記憶されているようにすればよい。この関係を定義するデータの形式は、数式形式であってもよいしテーブル形式であってもよい。例えば、表示制御部114は、オリジナルキャラクタがタッチライン付近に移動した場合には、タッチラインとのなす角度が大きくなるように仮想視点の視線方向を制御する。また例えば、表示制御部114は、オリジナルキャラクタと対戦相手チームのゴールとの距離が所定距離未満になった場合には、ゴールの方向を向くように仮想視点の視線方向を制御する。
[3−2−5.動作制御部]
動作制御部115は、制御部11を主として実現される。動作制御部115は、少なくとも第1位置P1から第2位置P2への方向V1に基づいて、操作対象決定部113により操作対象として決定されたオリジナルキャラクタを動作させる。オリジナルキャラクタは、第1位置P1から第2位置P2との距離L1に関係なく第1位置P1から第2位置P2への方向V2に基づいて動作してもよいし、これら両方に基づいて動作してもよい。
ここでの「動作」とは、オリジナルキャラクタの移動や行動であり、例えば、第1位置P1から第2位置P2への方向V1に対応する動作方向にオリジナルキャラクタを移動させたり、当該動作方向にオリジナルキャラクタの体の向きを変えさせたり、当該動作方向にボールなどの物体を移動させたりすることである。「動作方向」とは、画面上の方向である第1位置P1から第2位置P2への方向V1を仮想世界内の方向に変換した方向である。言い換えれば、動作方向は、オリジナルキャラクタの動作の基準となる方向であり、例えば、オリジナルキャラクタの移動方向、向き、ボールなどの移動体の移動方向である。
本実施形態では、動作制御部115は、第1位置P1から第2位置P2への方向V1に基づいて動作方向を決定し、第1位置P1と第2位置P2との距離L1に基づいて動作速度を決定する。動作速度は、オリジナルキャラクタ又はボールの移動速度である。
まず、動作方向の決定方法を説明する。第1位置P1から第2位置P2への方向V1と動作方向との関係を定義するデータは、予め数式又はテーブルによりデータ記憶部100に記憶されているようにすればよい。動作制御部115は、第1位置P1から第2位置P2への方向V1に対応する動作方向を取得する。例えば、第1位置P1から第2位置P2への方向V1は2次元ベクトルであり、動作方向は3次元ベクトルなので、上記関係を定義するデータには、2次元ベクトルを3次元ベクトルに変換する行列式が定められているようにしてもよい。
本実施形態では、動作制御部115は、第1位置P1から第2位置P2への方向V1と、仮想視点VCの位置と、に基づいて定まる仮想世界内の動作方向に基づいて、操作対象として決定されたオリジナルキャラクタを動作させる場合を説明する。
図21は、動作方向の決定方法の説明図である。図21に示すように、まず、動作制御部115は、第1位置P1から第2位置P2への方向V1を、所定の行列変換により仮想世界内の方向V3に変換する。そして、動作制御部115は、仮想視点VCの位置に基づいて方向V3を変更することによって、動作方向VOTを決定する。例えば、動作制御部115は、方向V3を、仮想視点VCから見て操作対象がいる方向又は操作対象の正面方向に向けて変えた方向を動作方向VOTとして決定するようにしてもよいし、方向V3を仮想視点VCから見てゴールやボールがある方向に変えた方向を動作方向VOTとして決定するようにしてもよい。
なお、上記のようにして決定された動作方向をユーザに案内するために、表示制御部114は、第1位置P1から第2位置P2への方向V1に対応する仮想世界内の動作方向VOTを示す動作方向オブジェクトG441を、操作対象として決定されたオリジナルキャラクタに関連付けて表示させるための制御を行うことになる。動作方向オブジェクトG441は、動作方向VOTを示す画像であればよく、図10に示したような形状以外にも、矢印形状であってもよいし、動作方向VOT側に長い棒状であってもよい。例えば、表示制御部114は、操作対象の付近(近傍)に動作方向オブジェクトG441を表示させることによって、動作方向オブジェクトG441を操作対象に関連付けて表示させるための制御を行う。操作対象の付近とは、操作対象から一定距離以内であり、例えば、操作対象の足元や頭の上である。本実施形態では、図10に示したように、動作方向オブジェクトG441は、操作対象の足元に表示される。
次に、動作速度の決定方法を説明する。第1位置P1と第2位置P2との距離L1と動作速度との関係を定義するデータは、予め数式又はテーブルによりデータ記憶部100に記憶されているようにすればよい。動作制御部115は、第1位置P1と第2位置P2との距離L1に対応する動作速度を取得するようにすればよい。
ここでは、オリジナルキャラクタが、第1位置P1と第2位置P2との距離L1に応じて3段階の移動速度で移動するようになっている。例えば、動作制御部115は、第1位置P1と第2位置P2との距離L1が閾値未満の場合、何れのオリジナルキャラクタが操作対象として決定されたとしても同じ速度で、第1位置P1から第2位置P2への方向に対応する動作方向に、操作対象として決定されたオリジナルキャラクタを移動させる。例えば、動作制御部115は、距離L1が第1閾値未満の場合、操作対象を第1速度で移動させ、距離L1が第2閾値未満の場合、操作対象を第2速度で移動させる。第1速度は、歩く速度であり、第2速度は、小走りの速度である。例えば、第1速度と第2速度は、全てのオリジナルキャラクタで共通であり、パラメータに依存しない速度である。
一方、動作制御部115は、第1位置P1と第2位置P2との距離L1が第2閾値以上の場合、操作対象として決定されたオリジナルキャラクタのパラメータに応じた速度で、第1位置P1から第2位置P2への方向に対応する動作方向VOTに、当該オリジナルキャラクタを移動させる。ここでの「パラメータ」は、オリジナルキャラクタの能力であり、例えば、スピードや筋力を示すパラメータであってよい。本実施形態では、スピードパラメータである。
スピードパラメータと速度の関係を定義するデータは、予めデータ記憶部100に記憶させておけばよい。この関係を定義するデータの形式は、数式形式であってもよいしテーブル形式であってもよい。動作制御部115は、スピードパラメータに対応する速度でオリジナルキャラクタを移動させる。例えば、動作制御部115は、スピードパラメータが示す能力が高いほど速く、能力が低いほど遅くなるように、オリジナルキャラクタを移動させることになる。
本実施形態では、第2状態で試合が進行する場合、動作制御部115は、タッチ位置が取得されない場合は、予め定められた動作制御情報に基づいて、操作対象として決定されたオリジナルキャラクタを動作させる。「動作制御情報」とは、例えば、オリジナルキャラクタがすべき動作(例えば、移動すべき位置や移動方向)を定義した情報であり、ここでは、第2状態におけるシミュレータである。動作制御部115は、タッチ位置が取得されない場合は、操作対象を動作制御情報に基づいて自動的に動作させることになる。
[3−3.第3の構成に関する機能]
次に、第3の構成に関する機能を説明する。第3の構成では、主に、データ記憶部100、表示制御部114、及び処理実行部116が実現される。以降、第1の構成及び第2の構成と同様の機能は説明を省略し、第1の構成及び第2の構成とは異なる機能を説明する。
[3−3−1.データ記憶部]
データ記憶部100が記憶するデータは、第1の構成で説明したものと同様であってよい。
[3−3−2.処理実行部]
処理実行部116は、制御部11を主として実現される。処理実行部116は、タッチ操作を複数回続けて行う連続タッチ操作が行われた場合に、所定のゲーム処理を実行する。例えば、処理実行部116は、連続タッチ操作が行われたことに応じて、所定のゲーム処理を実行する。
「連続タッチ操作」とは、時間をあけずにタッチ操作を複数回続けて行う操作である。別の言い方をすれば、時間をあけずにタッチ操作を複数回繰り返して行う操作である。例えば、連続タッチ操作は、ユーザがタッチパネル14Aに指やタッチペンなどをタッチさせて当該指などをタッチパネルから離すという操作(即ち、タップ操作)を、比較的短い時間間隔で(又は比較的短い時間内に)、複数回連続して(複数回繰り返して)行うことである。例えば、比較的短い所定時間以下の間隔で(又は比較的短い所定時間内に)、略同じ位置へのタップ操作を複数回連続して行うことであり、なお、「略同じ位置へのタップ操作を複数回行うこと」とは、複数回連続して行われたタップ操作におけるタッチ位置の全てが、基準位置(例えば、第1回目のタップ操作によるタッチ位置)からの距離が所定距離以下である領域に含まれていることとしてよい。他にも、複数回連続して行われたタップ操作によるタッチ位置間の距離が所定距離以下であることを「略同じ位置へのタップ操作を複数回行うこと」としてもよい。タップ操作を2回連続して行うダブルタップ操作や、タップ操作を3回連続して行うトリプルタップ操作などが連続タッチ操作の一例に相当するが、本実施形態では、連続タッチ操作の一例としてダブルタップ操作を説明するので、ダブルタップ操作と記載した箇所は、連続タッチ操作と読み替えることができる。
「ゲーム処理」とは、ダブルタップ操作に応じて実行される処理であり、ダブルタップ操作に関連付けられた処理である。例えば、ゲーム処理は、ユーザの操作対象に動作を行わせる処理を含む。本実施形態のようなスポーツゲーム(サッカーゲーム)では、操作対象に特定の動作(シュート動作など)を行わせることが、所定のゲーム処理の一例に相当する。また例えば、操作対象が敵を攻撃するゲームの場合であれば、操作対象に特定動作(攻撃動作など)を行わせることが、所定のゲーム処理の一例に相当する。
例えば、処理実行部116は、ダブルタップ操作が行われ、かつ、所定のゲーム処理実行条件が満たされた場合に、所定のゲーム処理を実行するようにしてもよい。処理実行部116は、ゲーム処理実行条件が満たされたと判定された場合にゲーム処理を実行し、ゲーム処理実行条件が満たされたと判定されない場合(言い換えれば、当該ゲーム処理実行条件が満たされないと判定された場合)にゲーム処理を実行しない。
「所定のゲーム処理実行条件」とは、ゲーム処理を実行するために定められた条件である。所定のゲーム処理実行条件は、例えば、実行中のゲームが所定の状況になることであり、ユーザの操作対象の状態が所定の状態になることとしてもよい。他にも例えば、所定のゲーム処理実行条件は、操作対象が所定の体勢(姿勢)であること、所定の方向を向いていること、所定の位置にいること、又は所定の方向に移動していることなどとしてもよい。本実施形態では、ボールを保有している操作対象(又は、ボールの付近に位置する操作対象)が対戦相手キャラクタにボールを奪われることなくシュートできる体勢(例えば、バランスを崩したり転倒したりしていない体勢)であり、かつ、操作対象の向きが対戦相手のゴール方向を向くことが、所定のゲーム処理実行条件である場合を説明する。
処理実行部116は、ゲーム状況データに基づいて、所定のゲーム処理実行条件が満たされるか否かを判定する。例えば、処理実行部116は、ユーザの操作対象の状態が所定の状態であるかを判定する。ここでは、ゲーム処理がシュート動作をさせることを含むので、例えば、処理実行部116は、ユーザの操作対象がシュート動作をすることが可能かを判定することになる。処理実行部116は、ユーザの操作対象がボールを保有しており、操作対象がシュートできる体勢であり、かつ、操作対象の向きが対戦相手のゴール方向を向く場合に、所定のゲーム処理実行条件を満たすと判定することになる。
なお、処理実行部116が実行するゲーム処理は、ボールの移動目標位置又は移動方向を設定し、当該移動目標位置又は移動方向に基づいてボールを移動させる処理を含むようにしてもよい。移動目標位置は、仮想世界内においてボールが移動すべき位置であり、移動方向は、ボールが移動すべき方向であり、例えば、シュートによるボールの飛び出し方向である。この場合、処理実行部116は、ダブルタップ操作に応じてボールの移動目標位置又は移動方向を設定してボールを移動させることになる。
移動目標位置又は移動方向は、ダブルタップ操作のタッチ位置に関係なく設定されてもよいが、本実施形態では、処理実行部116は、ボールの移動目標位置又は移動方向を、ダブルタップ操作によるタッチ位置に基づいて設定する。先述したように、ここでは、処理実行部116は、ダブルタップ操作によるタッチ位置に基づいて移動範囲を設定し、移動範囲内に向かうように移動目標位置又は移動方向を設定する場合を説明する。例えば、処理実行部116は、ダブルタップ操作によるタッチ位置に基づいて、移動範囲を設定する位置を決定する。
図22は、移動範囲を設定する位置の決定方法の説明図である。図22に示すように、対戦相手のゴールGL内に複数の基準位置Q1〜Q3(以降、これらをまとめて基準位置Qともいう。)が設定されている。基準位置Qは、移動範囲を設定するための基準となる位置であり、ゴールGLのクロスバーCB、ゴールポストGP、及びゴールラインELで囲まれた平面上(いわゆるゴールGLの枠内)に設定されている。
各基準位置Qは、予めタッチパネル14A上の位置又は領域と関連付けられている。この関連付けを定義するデータは、数式又はテーブルによりデータ記憶部100に予め記憶させておけばよい。例えば、ゴールGLの左側の基準位置Q1は、左側領域14AL内の座標に関連付けられている。ゴールGLの中央付近の基準位置Q2は、中央領域14AC内の座標に関連付けられている。ゴールGLの右側の基準位置Q3は、右側領域14AR内の座標に関連付けられている。
処理実行部116は、ダブルタップ操作によるタッチ位置に関連付けられた基準位置Qに基づいて、移動範囲を設定する。例えば、処理実行部116は、左側領域14AL、中央領域14AC、及び右側領域14ARのうちタッチ位置を含む領域を特定し、当該領域に関連付けられた基準位置Qに基づいて、移動範囲を設定する。
例えば、処理実行部116は、基準位置Qを含むように移動範囲を設定する。処理実行部116は、基準位置Qを含む所定サイズの移動範囲を設定してもよいし、ボールを移動させるオリジナルキャラクタのパラメータに基づいてサイズの移動範囲を設定してもよい。本実施形態では、例えば、処理実行部116は、ボールを移動させるオリジナルキャラクタのパラメータ基づいて定まる移動範囲内の何れかの位置に向かうように、ボールの移動目標位置又は移動方向を設定する場合を説明する。なお、ここでは、処理実行部116が、パラメータに基づいて移動範囲のサイズを決定する場合を説明するが、パラメータに基づいて移動範囲を設定する位置を決定してもよい。
なお、ここでのパラメータは、移動範囲の決定に影響を及ぼすパラメータであり、例えば、操作対象がボールを移動させる動作に関する能力(性能)の高低を示すパラメータである。例えば、サッカーゲームであれば、操作対象のシュートやパスの能力を示すパラメータが該当する。ここでは、パラメータが、オリジナルキャラクタの能力を示す場合を説明し、その一例としてシュートパラメータを説明するが、他にも例えば、ボール自体の性能の高低を示すパラメータであってもよい。
シュートパラメータと移動範囲のサイズとの関係を定義するデータは、予め数式又はテーブルでデータ記憶部100に記憶されているものとする。処理実行部116は、シュートパラメータに対応する移動範囲を設定する。例えば、処理実行部116は、オリジナルキャラクタの能力が高いほど移動範囲が小さくなり、当該能力が低いほど移動範囲が大きくなるように、ボールの移動範囲を設定することになる。
図23は、移動範囲のサイズの決定方法を示す図である。ここでは、ユーザが右側領域14ARでダブルタップ操作を行い、基準位置Q3が選択された場合の処理を説明する。例えば、移動範囲Rを円形として説明すると、図23に示すように、処理実行部116は、操作対象のシュートパラメータに基づいて、移動範囲Rの半径rを決定する。例えば、処理実行部116は、シュートパラメータが高いほど半径rが短くなり、シュートパラメータが低いほど半径rが長くなるように、半径rを決定する。そして、処理実行部116は、ゴールGLのクロスバーCB、ゴールポストGP、及びゴールラインELで囲まれた平面上において、基準位置Q3を中心とした半径rの円を移動範囲Rとして決定する。
処理実行部116は、上記のようにして決定した移動範囲R内の任意の点Sに向けてボールが移動するように移動目標位置又は移動方向を設定する。点Sは、ランダムに選出されるようにしてよい。例えば、処理実行部116は、点Sを移動目標位置として設定する。また例えば、処理実行部116は、ボールの現在位置と点Sとを結ぶ方向をボールの移動方向VBとして設定する。なお、ここでは、シュート動作におけるボールの移動制御を処理実行部116が実行する場合を説明するが、この制御は第1の構成で説明したボール制御部108により行われてもよい。
[3−3−3.表示制御部]
第3の構成では、表示制御部114は、ダブルタップ操作が行われた場合のタッチ操作オブジェクトG480及び処理オブジェクトG490の表示制御を実行する。
[タッチ操作オブジェクトの表示制御]
まず、タッチ操作オブジェクトG480の表示制御を説明する。表示制御部114は、タッチパネル14Aに対するタッチ操作に応じて、タッチ操作が行われたことを示すタッチ操作オブジェクトG480を表示部15に表示させるための制御を行う。例えば、表示制御部114は、タッチ操作が行われた場合に、タッチ操作オブジェクトG480を表示させる。言い換えれば、表示制御部114は、タッチ操作が行われた場合に、当該タッチ位置と対応する表示部15上の位置において、タッチ操作オブジェクトG480が表示されていない状態からタッチ操作オブジェクトG480が表示された状態に変化させる。
また、表示制御部114は、ダブルタップ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示態様を、タッチ操作を一回行う単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示態様とは異なる表示態様に設定する。ここでの表示態様とは、例えば、色や濃淡、表示サイズ、表示位置、形状、点滅の有無、ぼかしの有無又は程度などである。例えば、表示制御部114は、ダブルタップ操作が行われた場合に表示されるタッチ操作オブジェクトG480を、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトG480の色とは異なる色に設定する。
なお、単一タッチ操作は、例えば、前回のタッチ操作から所定時間が経過した後のタッチ操作であり、タップ操作を1回行うシングルタップ操作などが単一タッチ操作の一例に相当する。なお、前回のタッチ操作から所定時間内に行われたタッチ操作についても、当該タッチ位置が前回のタッチ位置から所定距離以上であれば、単一タッチ操作に該当することとしてよい。
例えば、表示制御部114は、第1回目のタッチ操作が行われた場合に、タッチ操作オブジェクトG480を第1の表示態様で表示させ、第1回目のタッチ操作が行われてから、所定の時間内に第n回目(n:2以上の所定の整数)のタッチ操作が行われた場合、タッチ操作オブジェクトG480の表示態様を、第1の表示態様から第2の表示態様に変化させる。第2の表示態様は、第1の表示態様とは異なる表示態様であればよい。
また、本実施形態では、表示制御部114は、ダブルタップ操作が行われた場合に、ゲーム処理実行条件が満たされるか否かの判定結果を待つことなく、異なる表示態様のタッチ操作オブジェクトG480を表示させる。例えば、表示制御部114は、ダブルタップ操作が行われた場合に、ゲーム処理実行条件が満たされるか否かの判定が終了する前に、第2の色のタッチ操作オブジェクトG480を表示させる。言い換えれば、表示制御部114は、ゲーム処理実行条件が満たされるか否かに関係なく、ダブルタップ操作が行われた場合に、第2の色のタッチ操作オブジェクトG480を表示させる。即ち、ダブルタップ操作が行われた場合、表示制御部114は、ゲーム処理実行条件が満たされたと判定された場合も、ゲーム処理実行条件が満たされたと判定されなかった場合(別の言い方をすると、ゲーム処理実行条件が満たされなかったと判定された場合)も、第2の色のタッチ操作オブジェクトG480を表示させる。
[処理オブジェクトの表示制御]
次に、処理オブジェクトG490の表示制御を説明する。なお、「処理オブジェクト」は、ゲーム処理の内容に関する情報を示すオブジェクトであればよく、例えば、ボールの移動に関する情報(移動目標位置や移動方向など)を示すオブジェクトが、処理オブジェクトの一例に相当する。また例えば、ゲーム処理が操作対象に動作を行わせる処理を含む場合であれば、操作対象によって行われる動作に関する情報(動作の種類、動作の目標位置、又は動作に関する方向など)を示すオブジェクトが、処理オブジェクトの一例に相当する。なお、処理オブジェクトG490の形状は、ボールの移動範囲の形状に合わせて設定されてよく、円形又は矩形の形状であってもよいし、その他の形状であってもよい。ここでは、処理オブジェクトG490は、移動範囲と同じ形状である場合を説明する。
処理オブジェクトG490は、ボールの移動目標位置又は移動方向に対応する位置に関連付けて表示されることによって移動目標位置又は移動方向を示すオブジェクトといえる。なお、「移動目標位置に対応する位置」は、例えば、移動目標位置自体であってもよいし、移動目標位置の付近の位置であってもよい。また、「移動方向に対応する位置」は、例えば、現在位置から移動方向に伸ばした線上の位置であってもよいし、当該線の付近位置であってもよい。
例えば、表示制御部114は、ダブルタップ操作が行われた場合に、処理実行部116によって実行されるゲーム処理の内容に関する情報を示す処理オブジェクトG490を、タッチ操作オブジェクトG480とは別に表示させるための制御を行う。表示制御部114は、ゲーム処理が実行される場合に処理オブジェクトG490を表示させるための制御を行う。例えば、表示制御部114は、ゲーム処理実行条件が満たされたと判定された場合に処理オブジェクトG490を表示させるための制御を行い、ゲーム処理実行条件が満たされたと判定されない場合は当該制御を行わない。
処理オブジェクトG490は、タッチ操作オブジェクトG480と同じ位置に表示させてもよいが、本実施形態では、表示制御部114は、ダブルタップ操作が行われた場合に、処理オブジェクトG490を、タッチ操作によるタッチ位置とは異なる位置に表示させるための制御を行うこととしてもよい。なお、「タッチ位置とは異なる位置」とは、タッチ操作によるタッチ位置から離れた位置である。例えば、タッチ操作を行う指などによって処理オブジェクトの全てが隠れてしまうことがない程度にタッチ位置から離れた位置である。
本実施形態では、処理オブジェクトG490は、ダブルタップ操作によるタッチ位置に基づいて定まるボールの移動目標位置又は移動方向を示すものなので、表示制御部114は、ダブルタップ操作によるタッチ位置に基づいて、ボールの移動目標位置又は移動方向に対応する位置に関連付けて処理オブジェクトG490を表示させることになる。例えば、表示制御部114は、移動目標位置に基づいて定まる画面上の位置に処理オブジェクトG490を表示させたり、ボールの現在位置から見て移動方向上の任意の位置に処理オブジェクトG490を表示させたりする。
また、本実施形態では、処理オブジェクトG490が移動範囲を示すので、表示制御部114は、処理オブジェクトG490の表示態様を、移動範囲に基づいて設定することになる。例えば、表示制御部114は、移動範囲に基づいて、処理オブジェクトG490の表示態様を変える。ここでは、表示制御部114は、移動範囲が設定された位置に基づいて、処理オブジェクトG490の表示位置を決定する。
更に、本実施形態では、移動範囲はパラメータに基づいて決まるので、表示制御部114は、パラメータに基づいて処理オブジェクトG490の表示態様を変えることになる。例えば、表示制御部114は、パラメータが所定条件を満足する場合とパラメータが所定条件を満足しない場合とで、処理オブジェクトG490の表示態様を異ならせる。
本実施形態では、上記パラメータが能力なので、表示制御部114は、オリジナルキャラクタの能力が高いほど処理オブジェクトG490の表示サイズが小さくなり、オリジナルキャラクタの能力が低いほど処理オブジェクトG490の表示サイズが大きくなるように、処理オブジェクトG490の表示サイズを設定することになる。なお、「処理オブジェクトの表示サイズ」とは、表示部15に表示される画像(画面画像)のうちの、処理オブジェクトが占める領域部分の大きさである。例えば、表示部15に表示される画像のうちの、処理オブジェクトが描かれている画素数である。
[4.ゲームシステム1において実行される処理]
図24〜図27は、ゲームシステム1において実行される処理の一例を示すフロー図である。図24〜図27に示す処理は、制御部11が記憶部12に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図14に示す各機能ブロックによる処理の一例である。ここでは、スタジアムパートの試合が開始する場合の処理を説明する。なお、本処理が実行されるにあたり、ユーザ端末10は、予め、サーバ30から対戦相手チームデータDT101を受信して、記憶部12に記憶しているものとする。また、ユーザチームデータDT100と操作可能時間データDT103は、予め記憶部12に記憶されているものとする。
図24に示すように、まず、ユーザ端末10において、制御部11は、記憶部12に記憶されたユーザチームデータDT100と対戦相手チームデータDT101とに基づいてゲーム状況データDT102を生成し、第1状態画像G300を表示部15に表示させる(S100)。S100においては、制御部11は、図6に示す試合開始時の第1状態画像G300を表示部15に表示させることになる。
制御部11は、簡易シミュレーションに基づいて、第1状態で試合を進行させる(S102)。S102においては、制御部11は、シミュレータに基づいてオリジナルキャラクタ及び対戦相手キャラクタを動作させて、ゲーム状況データDT102を更新する。
制御部11は、ゲーム状況データDT102と操作可能時間データDT103とに基づいて、第1状態で進行中の試合が所定のゲーム状況になったかを判定する(S104)。S104においては、制御部11は、ゲーム状況データDT102の変化に基づいて、操作可能時間データDT103に格納された各状況(図18のデータ格納例の場合、ユーザチームのコーナーキック、ペナルティキック、フリーキック、スローイング、又はゴールキック)になったか否かを判定する。なお、S104では、制御部11は、何れかのゲーム状況になるたびに第2状態にしてもよいし、操作可能時間データDT103に格納された状況のうち、抽選した状況になった場合に第2状態にしてもよい。更に、1試合の中で第2状態になる回数の上限値を設けておき、制御部11は、第2状態にした回数をカウントし、上限値に達した場合には、第2状態にしないようにしてもよい。
所定のゲーム状況になったと判定されない場合(S104;N)、後述するS174の処理に移行する。一方、所定のゲーム状況になったと判定された場合(S104;Y)、制御部11は、実行オブジェクトP350を表示部15に表示させる(S106)。実行オブジェクトP350に含まれるメッセージは、予めゲーム状況と関連付けて記憶部12に記憶されているようにすればよい。S106においては、制御部11は、現在のゲーム状況に関連付けられたメッセージを含むP350を生成して表示部15に表示させることになる。
制御部11は、操作可能時間データDT103に基づいて、操作可能時間の長さを決定する(S108)。S108においては、制御部11は、操作可能時間データDT103を参照して、現在のゲーム状況に関連付けられた操作可能時間の長さを定義するデータを取得することになる。
制御部11は、ゲーム状況データDT102に基づいて、第2状態画像G400を表示部15に表示させて、試合の進行を第1状態から第2状態に切り替えて計時を開始する(S110)。S110においては、制御部11は、ゲーム状況データDT102に基づいて3次元空間である仮想世界を構築して、ピッチ、キャラクタオブジェクト、対戦相手オブジェクト、ボール、及び仮想視点VCを配置する。本実施形態では、表示部15に縦長の第2状態画像G400が表示されるので、第2状態画像G400にピッチの長手方向が広く表れるように、制御部11は、ユーザの操作対象の付近に仮想視点VCを配置し、対戦相手チームのゴールを向くように視線方向を決定する。
制御部11は、第2状態の開始時点から計時した経過時間に基づいて、砂時計画像G470の表示を更新する(S112)。S112においては、制御部11は、砂時計画像G470の砂が徐々に落ちるようにしたり、砂時計画像G470の色を変えたりすることで、砂時計画像G470の表示態様を変化させることになる。
制御部11は、タッチパネル14Aの検出信号に基づいて、タッチパネル14Aに対するタッチ操作が行われたかを判定する(S114)。S114においては、制御部11は、タッチ操作が開始されたことを示すイベント(例えば、UITouchPhaseBeganイベント)が検知されたかを判定すればよい。なお、タッチ操作の開始位置はどこであってもよい。
タッチ操作が行われたと判定されない場合(S114;N)、制御部11は、記憶部12に記憶された動作制御情報に基づいて、ユーザの操作対象を動作させ(S116)、後述のS164の処理に移行する。S116においては、第2状態においてユーザがタッチ操作をせず、実行オブジェクトP430,P460が選択されていない場合、操作対象は自律的に行動することになる。なお、動作制御情報は、シミュレータにプログラムコードとして記述されていてもよいし、シミュレータとは別データであってもよい。
一方、タッチ操作が行われたと判定された場合(S114;Y)、制御部11は、タッチパネル14Aの検出信号に基づいて、タッチパネル14Aが検出したタッチ位置に基づいて、タッチ操作オブジェクトG480を表示部15に表示させる(S118)。タッチ位置は、例えば、タッチ操作の検出イベントとともに制御部11に送られる。制御部11は、タッチ位置が示す2次元座標(スクリーン座標)に、基本形状のタッチ操作オブジェクトG480を表示させることになる(図10参照)。なお、基本形状のタッチ操作オブジェクトG480の画像データは、予め記憶部12に記憶させておけばよい。また、以降の処理において、タッチが解除されたと判定されるまで、タッチ位置は時系列的に記憶部12に記録されるものとする。
図25に移り、制御部11は、タッチパネル14Aの検出信号に基づいて、ユーザのタッチ操作を特定する(S120)。先述したように、本実施形態では、タップ操作、ドラッグ操作、ダブルタップ操作、及びフリック操作が用いられるので、制御部11は、これら3つの何れの操作が行われたか、又は、これらが行われずにタッチが解除されたかを判定することになる。これらの操作の判定方法自体は、公知の方法を適用可能であり、例えば、タッチ操作が開始された後に取得されたイベント(例えば、UITouchPhaseMovedイベントやUITouchPhaseEndedイベント)、タッチ位置の変化、及びタップ回数の変化に基づいて判定されるようにすればよい。
S120において、タッチが解除されたと判定された場合(S120;タッチ解除)、制御部11は、タッチ操作オブジェクトG480を消去する(S122)。この場合、ドラッグ操作などは行われなかったので、操作対象は、ユーザのタッチ操作に応じた動作をしないことになる。なお、先述したように、本実施形態では、ユーザがタッチ操作をしなければ操作対象は自律的に行動するが、タッチ操作が行われたままタッチ位置が移動しない場合には、自律的な行動を停止してもよい。この場合、S122の処理は実行されず、後述のS164に移行してよい。
S120において、タップ操作が行われたと判定された場合(S120;タップ操作)、制御部11は、タップ操作により実行オブジェクトP460が選択されたかを判定する(S124)。S124においては、制御部11は、タップ操作によるタッチ位置が実行オブジェクトP460に対応する領域内であるかを判定することになる。
実行オブジェクトP460が選択されたと判定された場合(S124;Y)、制御部11は、ゲーム状況データDT102に基づいて、現在のゲーム状況が攻撃中か守備中かを判定する(S126)。S126においては、制御部11は、ゲーム状況データDT102に格納されたボールを保有するキャラクタIDがオリジナルキャラクタであれば攻撃中であると判定し、当該キャラクタIDが対戦相手キャラクタであれば守備中であると判定する。
現在のゲーム状況が守備中であると判定された場合(S126;守備中)、制御部11は、ゲーム状況データDT102に基づいて、操作対象を切り替えて(S128)、S122の処理に移行する。S128においては、制御部11は、現在操作対象として設定されているオリジナルキャラクタ以外のオリジナルキャラクタが操作対象になるように、ゲーム状況データDT102に格納される操作対象のキャラクタIDを変更する。なお、攻撃中であると判定された場合(S126;攻撃中)、S128の処理は実行されず、S122の処理に移行する。
S120において、ドラッグ操作が行われたと判定された場合(S120;ドラッグ操作)、図26に移り、制御部11は、記憶部12に記憶されたタッチ位置の変化に基づいて、第1位置から第2位置への方向V1と、第1位置と第2位置との距離L1と、を取得する(S130)。
制御部11は、S130で取得した方向V1と距離L1とに基づいて、タッチ操作オブジェクトG480を伸縮させる(S132)。S132においては、先述したように、制御部11は、距離L1に基づいてタッチ操作オブジェクトG480の長さL2を決定し、方向V1に基づいてタッチ操作オブジェクトG480を伸縮させる方向V2を決定する。制御部11は、長さL2と方向V2とに基づいて、タッチ操作オブジェクトG480を伸縮させることになる。
制御部11は、S130で取得した方向V1に基づいて、動作方向VOTを決定する(S134)。S134においては、制御部11は、図21を参照して説明した方法で、動作方向VOTを決定する。制御部11は、S134で決定した動作方向VOTに基づいて、動作方向オブジェクトG441を表示部15に表示させる(S136)。S136においては、制御部11は、操作対象から見て動作方向VOT側に位置するように、操作対象の足元に動作方向オブジェクトG441を表示させる。
制御部11は、S138で取得した距離L1を参照する(S138)。距離L1が第1閾値未満であれば(S138;第1閾値未満)、制御部11は、第1の動作速度に基づいて、操作対象にドリブル動作又はプレス動作をさせる(S140)。一方、距離L1が第1閾値以上第2閾値未満であれば(S138;第2閾値未満)、制御部11は、第1の動作速度よりも速い第2の動作速度に基づいて、操作対象にドリブル動作又はプレス動作をさせる(S142)。先述したように、第1の動作速度と第2の動作速度は、スピードパラメータに関係なく、オリジナルキャラクタ共通の速度である。
一方、距離L1が第2閾値以上であれば(S138;第2閾値以上)、制御部11は、ゲーム状況データDT102に格納された操作対象のスピードパラメータに応じた第3の動作速度に基づいて、操作対象にドリブル動作又はプレス動作をさせ(S144)、図25のS164の処理に移行する。
S120において、ダブルタップ操作が行われたと判定された場合(S120;ダブルタップ操作)、図27に移り、制御部11は、タッチ操作オブジェクトG480の表示態様を変化させる(S146)。S146においては、制御部11は、例えば、S118で表示させたタッチ操作オブジェクトG480を第1の色から第2の色に変化させる。
制御部11は、ゲーム状況データDT102に基づいて、現在のゲーム状況が攻撃中か守備中かを判定する(S148)。S148の処理は、S126と同様である。現在のゲーム状況が守備中であると判定された場合(S148;守備中)、制御部11は、操作対象にタックル動作をさせ(S150)、S122の処理に移行する。S150においては、制御部11は、操作対象の近くにいる対戦相手キャラクタに向けてタックルさせるようにしてもよいし、ダブルタップ操作によるタッチ位置に応じた方向に向けてタックルさせるようにしてもよい。
一方、現在のゲーム状況が攻撃中であると判定された場合(S148;攻撃中)、制御部11は、ゲーム状況データDT102に基づいて、操作対象がシュートを打てる状態であるかを判定する(S152)。S152においては、制御部11は、操作対象が所定の体勢であり、かつ、体が対戦相手チームのゴールを向いているかを判定する。
操作対象がシュートを打てる状態であると判定された場合(S152;Y)、制御部11は、ダブルタップ操作によるタッチ位置と、操作対象のシュートパラメータと、に基づいて、移動範囲を設定する(S154)。S154においては、先述したように、制御部11は、タッチ位置に関連付けられた基準位置を含むように、シュートパラメータに応じたサイズの移動範囲を仮想世界に設定する。
制御部11は、S154で設定した移動範囲に基づいて、処理オブジェクトG490を表示部15に表示させる(S156)。S156においては、制御部11は、移動範囲と同じ位置に同じ形状の処理オブジェクトG490を表示させる。制御部11は、仮想世界において移動範囲に3Dモデルを配置することで処理オブジェクトG490を表示させてもよいし、仮想世界における移動範囲内のワールド座標をスクリーン座標に変換し、当該スクリーン座標を含むような処理オブジェクトG490を表示させてもよい。
制御部11は、S154で設定した移動範囲に基づいて、ボールの移動目標位置又は移動方向を決定する(S158)。S158においては、制御部11は、移動範囲内の任意の位置を移動目標位置として決定してもよいし、ボールの位置から移動範囲内の任意の位置への方向を移動方向として決定してもよい。
制御部11は、S158で決定した移動目標位置又は移動方向に基づいて、ボールを移動させ(S160)、S122の処理に移行する。S160においては、制御部11は、Sで決定した移動目標位置又は移動方向を、移動アルゴリズムに代入することでボールの軌道を計算し、その軌道上でボールを移動させる。なお、ボールがゴールから離れた場所にある場合には、ボールは移動範囲に向けて移動するが、移動範囲に届かないことになる。また、ここでは、攻撃中であれば、そのときのゲーム状況に関係なく移動範囲が設定される場合を説明したが、移動範囲は、フリーキック又はペナルティキックのゲーム状況でのみ設定され、他のゲーム状況のときは、特に移動範囲が設定されずに、所定の方向又はタッチ位置に応じた方向にボールが移動するようにしてもよい。
図26に戻り、S120においてフリック操作が行われたと判定された場合(S;フリック操作)、制御部11は、操作対象にパス動作又はスライディング動作をさせ(S162)、S122の処理に移行する。S162においては、制御部11は、フリック操作で指示された方向を取得し、当該方向に基づいて、攻撃中であれば操作対象にパス動作をさせる。なお、S162におけるパス動作は、フリック操作の速さ又は距離に基づいて、パスの強弱(ショートパス・ロングパス)が変わるようにしてもよい。S162においては、制御部11は、守備中であれば、フリック操作で指示された方向に基づいて、操作対象にスライディング動作をさせる。
図25に戻り、S122の処理が実行された後、制御部11は、ゲーム状況データDT102に基づいて、試合が終了したかを判定する(S164)。なお、サッカーの試合は前半と後半が存在するが、ここでは、説明の簡略化のために、前半が終了した直後に後半が始まるものとするが、前半が終了した場合に、いったん本処理が終了し、後半の開始から本処理が再度実行されるようにしてもよい。試合が終了したと判定された場合(S164;Y)、本処理は終了する。この場合、第2状態で進行中に試合の終了時間が到来したので、本処理は終了することになる。
一方、試合が終了したと判定されない場合(S164;N)、制御部11は、計時により操作可能時間が経過したかを判定する(S166)。S166においては、制御部11は、第2状態の開始時点から操作可能時間の長さだけ後の時点が訪れたかを判定することになる。
操作可能時間が経過したと判定されない場合(S166;N)、S112の処理に戻る。一方、操作可能時間が経過したと判定された場合(S166;Y)、制御部11は、ゲーム状況データDT102に基づいて、ユーザチームがボールを保有しているかを判定する(S168)。ボールを保有していると判定された場合(S168;Y)、制御部11は、砂時計画像G470が左右に揺れるように表示態様を変更し(S170)、S114の処理に戻る。この場合、操作可能時間が経過しても、第2状態が継続することになる。
一方、ボールを保有していないと判定された場合(S168;N)、制御部11は、第2状態から第1状態に切り替えて、ゲーム状況データDT102に基づいて、第1状態画像G300を表示部15に表示させる(S172)。制御部11は、試合が終了したかを判定する(S174)。試合が終了したと判定された場合(S174;Y)、本処理は終了する。一方、試合が終了したと判定されない場合(S174;N)、S102の処理に戻り、第1状態で試合が進行する。
[第1の構成のまとめ]
以上説明したゲームシステム1の第1の構成によれば、ユーザは、ある長さの操作可能時間だけ操作すればよいので、ゲームに対する関心を高める適度なプレイ時間をユーザに与えることができる。例えばサッカーゲームなどのように、前半や後半のような大まかな単位しかないゲームであったとしても、ユーザに操作させる場面を時間的に区切ることによって、ユーザがプレイする時間を一定の長さに抑えることができる。その結果、1試合全てが自動的に進行する場合に比べてゲームに対する関心を高めることができ、かつ、前半又は後半の全てを操作させる場合に比べて、適度なプレイ時間を与えることができるようになる。更に、ユーザは自分のリーグやランキングを上げるために、スタジアムパートの試合で高いポイントを獲得することを目指しているので、繰り返し試合をプレイすることが多い。この点、試合時間が長くなると、試合数をこなしにくくなりユーザにとって不都合が生じるが、ゲームシステム1によれば、1試合が適度なプレイ時間であるのでユーザにとってこのような不都合は生じない。更に、ユーザ端末10が携帯電話である場合には、例えば、電車に乗車中などの空き時間にゲームをプレイしたり、飲食店で食事の提供を待っている間などの短い空き時間を利用してゲームをプレイしたりすることが多いが、1試合をある程度短い時間(例えば、乗車時間や食事待ち時間)にすることで、短い空き時間を利用してゲームをプレイするユーザであっても区切りよく1試合を終えるようにすることができる。即ち、試合時間が長くなってしまうと、短い空き時間に試合が終わらなくなってしまい、ユーザにとって不都合が生じる可能性があるが、プレイ時間を適度な範囲に留めることでこのような不都合の発生を防止することができる。
また、ゲーム状況をユーザに操作させる操作可能時間の長さに影響させることで、ゲーム状況に応じて当該操作可能時間の長さを変えることができる。例えば、ゲームの進行上重要な場面(例えば、サッカーゲームでは、得点を期待できるようなチャンス時)は操作可能時間を長めに設定することができ、重要な場面を長くユーザに操作させることができる。その結果、重要な場面にもかかわらず、途中で操作できなくなってしまうことを防止することができ、ユーザのゲームに対する関心を効果的に高めることができる。
また、ゲームが所定のゲーム状況になった場合にユーザが操作可能になるので、ユーザは、所定の状況から操作することができる。その結果、例えば、ゲームの進行上重要な場面だけユーザに操作させることができる。また例えば、ゲームプレイを途中から始めるのに区切りの良い所定の状況から操作を始めるようにすることで、ユーザがスムーズにゲームの途中からプレイすることができる。
また、砂時計画像G470の表示態様の変化により、ユーザが操作可能時間の長さを把握しながら操作することができる。その結果、当該操作可能時間の残り時間を考えながらゲームをプレイさせることができるので、予期しないときに操作機会が中断してしまい、ユーザが不満に感じてしまうことを防止することができる。
また、砂時計画像G470の表示態様の変化により、ユーザは、自分で操作可能な残り時間が閾値未満になったことを把握しながら操作することができる。つまり、操作機会が中断されるまでの時間が残り少なくなっていることを容易に把握することができる。その結果、少なくなった残り時間でどのような操作をすべきかを考えながらユーザにゲームをプレイさせることができる。また、ユーザがこれから操作しようと思っていたことを操作機会が突然中断されることでできなくなってしまい、ユーザが不満に感じてしまうことを防止することもできる。
また、操作可能時間データにより、ゲーム状況ごとに操作可能時間の長さを決定することができる。その結果、ゲーム状況に応じて操作可能時間の長さを変えることができるので、ゲームに変化を与えることができ、ユーザの関心を効果的に高めることができる。
また、操作可能時間が経過する場合のゲーム状況に基づいてユーザが操作可能な状態を継続させることで、ユーザにプレイさせた方が好ましい状況で操作できなくなってしまうことを防止することができる。その結果、ユーザにプレイさせた方が良いにも関わらずプレイの途中で突然操作できなくなってしまい、ユーザが不満に感じてしまうことを防止することができる。例えば、ユーザチームがボールを保有しており得点のチャンスが続いているにもかかわらず操作可能時間が経過してプレイを継続できなくなってしまうようなことを防止することができる。
また、ボールが何れのキャラクタに関連付けられているかを判定することによって、ユーザに操作させた方がよい場面が続いているかを推定してユーザが操作可能な状態を継続させるので、ユーザにプレイさせた方が良いにも関わらずプレイの途中で突然操作できなくなってしまい、ユーザが不満に感じてしまうことを防止することができる。
[第2の構成のまとめ]
以上説明したゲームシステム1の第2の構成によれば、タッチ操作オブジェクトG480の伸び具合から、第1位置P1から第2位置P2への方向V1と第1位置P1と第2位置P2との距離L1とを直観的に把握できるので、ゲーム状況に基づいて複数のオリジナルキャラクタの中からユーザの操作対象とするオリジナルキャラクタが決定される場合において、操作対象として決定されたオリジナルキャラクタに対する操作をユーザが直感的に把握し易くなる。例えば、特許文献1のような技術では目印の位置を頼りにしなければ操作を把握できないが、ゲームシステム1では、タッチ操作オブジェクトG480の長さというより視覚的に把握しやすいものを利用することで、オリジナルキャラクタ以外の表示物を見る余裕がないようなゲームでも、ユーザは操作を直観的に把握することができる。
また、動作方向オブジェクトG441の表示を、操作対象として決定されたオリジナルキャラクタの表示に影響させることで、ユーザが、操作対象として決定されたオリジナルキャラクタを見ながら動作方向オブジェクトG441を確認し易くなるので、動作方向を把握し易くなる。
また、第1位置P1と第2位置P2との距離L1が閾値以上になることが、オリジナルキャラクタのスピードパラメータに応じた移動速度で移動させることの条件になり、オリジナルキャラクタのスピードパラメータに応じた移動速度で移動させるための操作を直観的にすることができる。
また、ユーザは、操作対象として決定されたオリジナルキャラクタを、ピッチ上の長手方向に移動させることが多いので、その方向に対して接触位置の移動範囲を広くとることで、指やタッチペンなどを移動させやすくなる。また、タッチ位置の移動範囲を広くとることができるため、第1位置P1と第2位置P2との距離L1について多段階の閾値を設定し易くなる。これは、短手方向に移動することが多いゲームの場合、第1位置P1と第2位置P2との距離L1について多段階の閾値を設定しようとしても接触位置の移動範囲の狭さから閾値間の距離を短くせざるを得なくなりユーザ操作が困難となってしまうものの、長手方向に移動させることが多いゲームの場合、接触位置の移動範囲の広さから閾値間の距離を比較的長く取れるのでユーザ操作を容易とすることができるためである。
また、ユーザがタッチパネル14Aで操作していないときは、操作対象として決定されたオリジナルキャラクタが予め定められた動作をし、ユーザが常に操作しなければならないわけではなく、必要に応じて操作すればよくなるので、操作の手間を省くことができる。
また、所定の条件を満たした場合に、ユーザの意志で操作対象として決定されるオリジナルキャラクタを変えることができる。また、例えば、所定の条件を満たさない場合にユーザの意志で操作対象を変えることができないようにすれば、操作対象を変えない方がゲームをプレイしやすくなる状況に、誤入力などにより操作対象が変わってしまうことを防止することができる。
また、ユーザは表示部15に表示されたオリジナルキャラクタの位置や向きを意識して動作方向を決めるので、仮想視点の位置を動作方向に影響させることで、ユーザの意図に沿った動作方向で動作させ易くなる。
[第3の構成のまとめ]
以上説明した第3の構成によれば、ダブルタップ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示態様が、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示態様とは異なる表示態様に設定されるため、ダブルタップ操作を成功したことをユーザが容易に把握することができる。その結果、ユーザは、再度ダブルタップ操作を行うべきかの判断を短時間ですることができるようになり、不必要にタッチ操作を繰り返すことを防止することができる。更に、不必要にタッチ操作を繰り返すことを防止することで、その他の操作に支障をきたすことも防止することができる。
また例えば、ゲーム処理を実行するためのゲーム処理実行条件が定められている場合には、ゲーム処理が実行されなかったという結果だけでは、ゲーム処理が実行されなかった原因が、連続タッチ操作を失敗したからであるのか、ゲーム処理実行条件が満たされなかったからであるのかをユーザは把握することができないが、ゲームシステム1によれば、ゲーム処理実行条件が満たされるか否かの判定結果を待つことなく、直ちに異なる表示態様のタッチ操作オブジェクトG480が表示されるため、ゲーム処理が実行されなかった場合に、ゲーム処理が実行されなかった原因がダブルタップ操作を失敗したからではなく、ゲーム処理実行条件が満たされなかったからであると把握することができる。また、ゲーム処理が実行される前にダブルタップ操作の成否が直ぐ分かることから、ダブルタップ操作が成功したと分かった後に不必要なダブルタップ操作をすることを防ぐことができる。
また例えば、ダブルタップ操作が行われた場合に処理オブジェクトG490が表示されるため、ダブルタップ操作を成功したことに加えて、ダブルタップ操作を成功した場合に実行されるゲーム処理の内容に関する情報をユーザが容易に把握することができる。
また例えば、処理オブジェクトG490がタッチ操作によるタッチ位置とは異なる位置に表示されるため、タッチ操作を行う指等によって処理オブジェクトG490が隠れて見難くなってしまわないようにすることができる。処理オブジェクトG490は、ダブルタップ操作を成功したことを間接的(又は直接的)に示すものでもあるため、ダブルタップ操作を成功したことや、それによって実行されるゲーム処理の内容に関する情報をユーザが確実に把握できるように担保することができる。
また例えば、ボールの移動目標位置又は移動方向を示す処理オブジェクトG490が、当該ボールの移動目標位置又は移動方向に対応する位置に関連付けて表示されるため、ダブルタップ操作を成功したことに加えて、ボールの移動目標位置又は移動方向をユーザが容易に把握することができる。ボールが移動するゲームにおいては、ボールの移動目標位置又は移動方向がゲームの進行上重要な役割を果たす。この点、ダブルタップ操作を成功したか否かだけでなく、ゲームの進行上有益な情報もユーザが把握することができる。
また例えば、ダブルタップ操作によるタッチ位置に基づいて、ボールの移動目標位置又は移動方向を設定することにより、ユーザは、ボールの移動目標位置又は移動方向をダブルタップ操作によるタッチ位置によって指示することができる。また、ダブルタップ操作によるタッチ位置に基づいて、ボールの移動目標位置又は移動方向に対応する位置に関連付けて処理オブジェクトG490を表示させることにより、ユーザは、処理オブジェクトG490を見ることによって、自分が指示したタッチ位置によって、ボールがどのように移動するかを把握することができる。
また例えば、オリジナルキャラクタのパラメータに応じて移動範囲を決定することで、ボールを狙った場所に移動させやすいか否か(例えば、サッカーゲームであれば、シュートやパスの精度が高いか否か)を、オリジナルキャラクタのパラメータに応じて変えることができる。また、ボールが向かう移動範囲に基づいて処理オブジェクトG490の表示態様が設定されるので、ユーザは処理オブジェクトG490の表示態様に注目することによって、ボールが向かう移動範囲を把握することができる。更に、ボールが向かう移動範囲は、オリジナルキャラクタのパラメータに基づいて定まるので、ユーザは、処理オブジェクトG490の表示態様に注目することによって、オリジナルキャラクタのパラメータを把握することもできる。
また例えば、オリジナルキャラクタの能力が高いほど移動範囲が小さくなり、当該能力が低いほど移動範囲が大きくなるように、移動範囲を設定することにより、オリジナルキャラクタの能力に応じて、ボールを狙った場所に移動させやすいか否かを変えることができる。更に、オリジナルキャラクタの能力が高いほど処理オブジェクトG490の表示サイズが小さくなり、当該能力が低いほど処理オブジェクトG490の表示サイズが大きくなるように、処理オブジェクトG490の表示サイズを設定ことにより、ユーザは、処理オブジェクトG490の表示サイズに注目することによって移動範囲を予測することができる。また、ユーザは、処理オブジェクトG490の表示サイズから、ボールを狙った場所に移動させやすいかをユーザが把握することができる。その結果、サッカーゲームにおいて、狙った場所にシュートできるかを、処理オブジェクトG490の表示サイズからユーザに感じさせることができる。即ち、処理オブジェクトG490の表示サイズからゴールの期待感をユーザに与えることができる。また、ユーザは処理オブジェクトG490の表示サイズに注目することで、オリジナルキャラクタの能力を把握することもできる。
また例えば、ダブルタップ操作が行われた場合に表示されるタッチ操作オブジェクトG480の色が、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトG480の色とは異なる色に設定されるため、ユーザは、タッチ操作オブジェクトG480の色に注目することによって、ダブルタップ操作を成功したか否かを一見して把握することができる。
また例えば、タッチ操作オブジェクトG480が表示された状態のまま第1の表示態様から第2の表示態様に変わるため、ユーザは、タッチ操作オブジェクトG480の表示態様の変化から、ダブルタップ操作を成功したことを把握することができる。タッチ操作オブジェクトG480が表示されたまま表示態様が変化すると、ユーザはその変化に気づきやすいので、ダブルタップ操作を成功したことをユーザはより把握しやすくなる。
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
[5−1.第1の構成に関する変形例]
(1)まず、第1の構成に関する変形例を説明する。図28は、第1の構成に関する変形例の機能ブロック図である。図28に示すように、第1の構成に関する変形例では位置判定部117が実現される。
(1−1)例えば、実施形態では、操作可能時間が経過したとしても、ユーザチームがボールを保有している限りは第2状態が継続する場合を説明したが、ボールが対戦相手チームのペナルティエリア内などの領域内にある場合には、対戦相手チームがボールを保有していたとしても、ユーザチームの得点の可能性があるため、第2状態を継続させるようにしてもよい。
本変形例のユーザ端末10は、位置判定部117を含む。位置判定部117は、制御部11を主として実現される。位置判定部117は、仮想世界の所定領域内にボールがあるかを判定する。位置判定部117は、ゲーム状況データDT102を参照して判定処理を実行する。
「所定領域」とは、例えば、仮想世界内の予め定められた領域である。例えば、本実施系形態のように、ボールをゴール内に移動させることで得点が得られるスポーツゲームの場合、ゴールから所定距離以内の領域であり、例えば、ペナルティエリア内である。ペナルティエリアは、対戦相手側又は自陣側のいずれか一方若しくは両方を設定することができる。本実施形態では、操作可能時間データDT103に所定領域の座標が定義されているものとする。位置判定部117は、ゲーム状況データDT102に格納されたボールの位置が、操作可能時間データDT103に定義された所定領域内にあるか否かを判定することになる。
本変形例の継続部111は、関連付け判定部110の判定結果と、位置判定部117の判定結果と、に基づいて、第2状態を継続させることになる。例えば、関連付け判定部110によりユーザチームがボールを保有していると判定された場合、又は、位置判定部117により所定領域内にボールがあると判定された場合に、継続部111は、第2状態を継続させ、関連付け判定部110によりユーザチームがボールを保有していると判定されず、かつ、位置判定部117により所定領域内にボールがあると判定されない場合に、第2状態を継続させず、試合の進行が第1状態に切り替わる。
変形例(1−1)によれば、ボールがペナルティエリア内にあるかを判定することによって、ユーザに操作させた方がよい場面が続いているかを推定してユーザが操作可能な状態を継続させるので、ユーザにプレイさせた方が良いにも関わらずプレイの途中で突然操作できなくなってしまい、ユーザが不満に感じてしまうことを防止することができる。
(1−2)また例えば、実施形態では、第2の状態において操作可能時間が経過したときに試合の終了時間が到来していない場合、ゲームの進行が第2の状態から第1の状態に戻る場合を説明したが、第1の状態から第2の状態に切り替わった後に、第1の状態に戻らないようにしてもよい。
本変形例では、実施形態と同様の機能が実現されるようにしてよいが、例えば、第1進行部101は、経過判定部109が、計時により計時開始してから操作可能期間の長さが経過したと判定した場合であっても、第2の状態から第1の状態に切り替えない。この場合、第2進行部105は、実施形態で説明したような第2状態の終了の条件が満たされた場合に、ゲームを終了させる。即ち、試合の残り時間が残っていたとしても、第1状態に戻ることなく、第2状態のまま途中で試合が終了することになる。
なお、本変形例では、実施形態で説明したように、時間決定部104は、第1状態から第2状態に切り替わる場合のゲームのゲーム状況に基づいて第2状態でゲームを進行させる操作可能時間の長さを決定するようにしてよい。即ち、時間決定部104が決定した操作可能時間の長さが経過した後は、試合の進行が第1状態に戻ることなく終了することになる。
変形例(1−2)によれば、第1状態から第2状態に切り替わる場合のゲーム状況に応じた操作可能時間の長さで第2状態の試合をプレイさせることができ、その後は第1状態に戻ることなくゲームが終了するので、例えば、重要な場面に限り試合をユーザにプレイさせることができる。
(1−3)また例えば、実施形態では、ユーザチームに関する状況が所定の状況になった場合に第2状態になる場合を説明したが、対戦相手チームに関する状況が所定の状況になった場合に第2状態になるようにしてもよい。例えば、対戦相手チームがコーナーキックを獲得した場合、ペナルティキックを獲得した場合、フリーキックを獲得した場合、スローイングを獲得した場合、又はゴールキックを獲得した場合に第2状態にするようにしてもよい。この場合、ユーザは、対戦相手チームに得点を与えずにボールを奪取して攻撃を組み立てるべく、ユーザチームの守備をプレイすることになる。他にも例えば、戦況に応じて第2状態にするようにしてもよく、例えば、ユーザチームが負けている状態でチャンスシーンになった場合に第2状態にするなどしてもよい。
また例えば、先述したように、操作対象時間の長さがフレーム数で設定されてもよく、この場合、操作対象時間の長さは、100フレームや300フレームなどのように設定されることになる。なお、あるフレームの処理が正常に終了しないいわゆる処理落ちが発生した場合、リアルタイムクロックが計時する時分秒の情報とフレーム数とが一致しないことがあるが、ゲームの種類や場面に応じて操作対象時間の長さを定義する方法を秒数やフレーム数などで使い分けるようしてもよい。また例えば、操作対象の切り替えは、実行オブジェクトP460をタップ操作する以外にも、第2状態画像G400に表示されたオリジナルキャラクタをタップ操作で選択することで切り替わってもよい。
[5−2.第2の構成に関する変形例]
(2)次に、第2の構成に関する変形例を説明する。図29は、第2の構成に関する変形例の機能ブロック図である。図29に示すように、第2の構成に関する変形例では、タッチ判定部118と効果発生部119とを含む。
(2−1)例えば、実施形態では、第1位置P1と第2位置P2との距離L1が第2閾値以上である場合、操作対象がパラメータに応じた動作速度で移動する場合を説明したが、この場合に、所定のオブジェクトを表示させるようにしてもよい。
表示制御部114は、操作対象として決定されたオリジナルキャラクタがパラメータに応じた速度で移動する場合、当該オリジナルキャラクタに関連付けてエフェクトオブジェクトを表示部15に表示させるための制御を行う。例えば、表示制御部114は、第1位置P1と第2位置P2との距離L1が第2閾値以上である場合、エフェクトオブジェクトを表示部15に表示させるための制御を行うことになる。
「エフェクトオブジェクト」とは、視覚的に認識可能な画像であればよく、例えば、オリジナルキャラクタの表面形状を変えるための画像である。また例えば、エフェクトオブジェクトは、オリジナルキャラクタの付近(近傍)に表示される所定の画像であり、例えば、オリジナルキャラクタの周囲に風を切るような画像を表示させたり、操作対象のユニフォームを別の表示態様の画像に変えたりすることである。
図30は、第2状態画像G400にエフェクトオブジェクトが表示される様子を示す図である。図30に示すように、表示制御部114は、操作対象の周囲に風を切るようなエフェクトオブジェクトG442を表示させる。エフェクトオブジェクトG442は、仮想世界に3Dモデルとして表現されてもよいし、仮想世界の様子を示す画像の上の層のレイヤーに画像として表示されてもよい。エフェクトオブジェクトG442を表示させるためのモデルデータや画像データは、データ記憶部100に予め記憶されているものとする。
変形例(2−1)によれば、オリジナルキャラクタがパラメータに応じた速度で移動する場合、操作対象として決定されたオリジナルキャラクタに関連付けてエフェクトオブジェクトが表示されるので、操作対象として決定されたオリジナルキャラクタを見ながらエフェクトオブジェクトを確認し易くなる。そのため、ユーザはオリジナルキャラクタがパラメータに応じた速度で移動していることが把握し易くなる。
(2−2)また例えば、操作対象がパラメータに応じた動作速度で動作していることを、エフェクトオブジェクトG442ではなく、タッチ操作オブジェクトG480を利用してユーザに通知してもよい。
変形例(2−2)では、表示制御部114は、操作対象として決定されたオリジナルキャラクタが同じ速度で移動する場合のタッチ操作オブジェクトG480の表示態様と、当該オリジナルキャラクタがパラメータに応じた速度で移動する場合のタッチ操作オブジェクトG480トの表示態様と、を異ならせるための制御を行う。
「タッチ操作オブジェクトの表示態様」とは、タッチ操作オブジェクトG480の色、表示位置、模様、輝度、大きさ、形状などである。例えば、表示制御部114は、操作対象として決定されたオリジナルキャラクタが同じ速度で移動する場合は、第1の表示態様でタッチ操作オブジェクトを表示させ、当該オリジナルキャラクタがパラメータに応じた速度で移動する場合は、第2の表示態様でタッチ操作オブジェクトG480を表示させるための制御を行う。
変形例(2−2)によれば、タッチ操作オブジェクトG480の表示態様の変化により、操作対象として決定されたオリジナルキャラクタが、オリジナルキャラクタに関係なく同じ速度で移動しているのか、パラメータに応じた速度で移動しているのかを把握することができる。
(2−3)また例えば、実施形態では、ユーザがドラッグ操作をした後にタッチが解除されると、タッチ操作オブジェクトG480が基準形状に戻る場合を説明したが、基準形状に戻ったときにダブルタップ操作をすると、シュートの威力が強くなるようにしてもよい。
本変形例のユーザ端末10は、タッチ判定部118と効果発生部119を含む。タッチ判定部118は、制御部11を主として実現される。タッチ判定部118は、タッチ操作オブジェクトが基本形状に戻る場合に、再びタッチ操作が行われたかを判定する。タッチ判定部118は、タッチ操作オブジェクトG480が基本形状に戻るタイミングと、再びタッチ操作が行われたタイミングと、のずれ時間を取得する。タッチ操作オブジェクトG480は、当該取得したずれ時間が所定時間未満であった場合に、タッチ操作オブジェクトG480が基本形状に戻る場合に再びタッチ操作が行われたと判定する。言い換えれば、タッチ判定部118は、タッチ操作オブジェクトG480が基本形状に戻ったタイミングと、再びタッチ操作が行われたタイミングと、が略一致するかを判定する。
なお、タッチ操作オブジェクトG480が基本形状に戻るタイミングは、タッチが解除されたタイミングの所定時間後であってもよいし、第1位置P1と第2位置P2との距離L1に応じて定まってもよい。例えば、タッチ操作オブジェクトG480が基本形状に戻る速度が定められている場合には、タッチ判定部118は、第1位置P1と第2位置P2との距離L1と当該速度とに基づいて、基本形状に戻るタイミングを特定すればよい。
効果発生部119は、制御部11を主として実現される。効果発生部119は、タッチ判定部118の判定結果に基づいて、操作対象として決定されたオリジナルキャラクタが有利になる効果を発生させる。「有利になる効果」とは、ゲームにおいて操作対象のオリジナルキャラクタが有利になることであり、例えば、操作対象のオリジナルキャラクタの能力を上げることであってもよいし、対戦形式のゲームであれば対戦相手チームの能力を下げることであってもよい。他にも例えば、有利になる効果は、操作対象のオリジナルキャラクタが移動させるボールの速度を上げることであってもよいし、操作対象のオリジナルキャラクタのスキルを発動させることであってもよい。
変形例(2−3)によれば、タッチ操作オブジェクトG480を利用してゲームの興趣性を高めることができる。
(2−4)また例えば、実施形態では、操作対象の足元にカーソル画像G440が表示される場合を説明したが、ユーザチームのオリジナルキャラクタのうち操作対象以外のものにもカーソル画像が表示されてもよい。この場合、操作対象のカーソル画像G440の表示態様と、他のオリジナルキャラクタのカーソル画像の表示態様と、を異ならせてもよい。また例えば、第2状態画像G400において、操作対象の特殊能力が表示されてもよい。
[5−3.第3の構成に関する変形例]
(3)次に、第3の構成に関する変形例を説明する。本変形例の機能ブロックは、実施形態で説明したものと同じである。
(3−1)実施形態では、ダブルタップ操作が行われた場合に、処理オブジェクトG490の色が変化する場合を説明したが、処理オブジェクトG490の表示態様を変化させる方法はこれに限られない。例えば、濃淡や表示サイズ、表示位置、形状、点滅の有無、ぼかしの有無又は程度などの表示態様を異ならせてもよい。本変形例では、ダブルタップ操作が行われた場合に、処理オブジェクトG490の表示サイズを変える場合を説明する。
本変形例の表示制御部114は、ダブルタップ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示サイズを、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示サイズとは異なる表示サイズに設定する。
図31は、ユーザがダブルタップ操作をした場合の第2状態画像G400を示す図である。図31に示すように、例えば、ユーザがダブルタップ操作をすると、第2状態画像G400が大きくなる。表示制御部114は、ダブルタップ操作が行われた場合、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトG480とは大きさが異なる画像(画面画像)を取得してタッチ操作オブジェクトG480を表示させてもよいし、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示サイズのみを変えたタッチ操作オブジェクトG480を表示させてもよい。なお、表示制御部114は、ダブルタップ操作が行われた場合、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトG480よりも小さいタッチ操作オブジェクトG480を表示させてもよい。
変形例(3−1)によれば、ダブルタップ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示サイズが、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示サイズとは異なる表示サイズに設定されるため、ユーザはタッチ操作オブジェクトG480の表示サイズに注目することによって、ダブルタップ操作を成功したか否かを一見して把握することができる。
(3−2)また例えば、表示制御部114は、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトG480の位置を、第1の表示位置規則に従って決定される表示位置に設定し、ダブルタップ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示位置を、第1の表示位置規則とは異なる第2の表示位置規則に従って決定される表示位置に設定してもよい。
ここで、「表示位置規則」とは、表示位置をどのように決定するのかの規則である。例えば「第1の表示位置規則」は、タッチ操作によるタッチ位置に基づいて表示位置を決定するような規則である。より具体的には、タッチ操作によるタッチ位置自体を表示位置として決定するような規則である。また例えば「第2の表示位置規則」は、ダブルタップ操作が行われた場合に実行されるゲーム処理に関連する位置を表示位置として決定するような規則である。ゲーム処理が「ボールを移動させる処理」を含む場合、「第2の表示位置規則」は、ボールの位置(より具体的には、ボールの現在位置や、移動目標位置、移動方向に対応する位置など)を表示位置として決定するような規則である。
図32は、本変形例において攻撃中にユーザがダブルタップ操作をした場合の第2状態画像G400を示す図である。図32に示すように、表示制御部114は、ダブルタップ操作が行われた場合、ボールの現在位置に、タッチ操作オブジェクトG480を表示させてもよい。
変形例(3−2)によれば、ダブルタップ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示位置が、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトG480の表示位置とは異なる表示位置に設定されるため、ユーザはタッチ操作オブジェクトG480の表示位置に注目することによって、ダブルタップ操作を成功したか否かを一見して把握することができる。
(3−3)実施形態では、ダブルタップ操作が行われた場合、表示制御部114が、ボールの移動範囲を示す処理オブジェクトG490を表示させる場合について説明したが、処理オブジェクトG490は、オリジナルキャラクタによって行われる動作に関する情報を示すオブジェクトとしてもよい。
「動作に関する情報」とは、例えば、動作の種類、動作の目標位置、又は動作に関する方向などの情報である。例えば、サッカーゲームなどのスポーツゲームでは、シュート動作(又はパス動作)が、上記「動作」に相当する。この場合、シュート(又はパス)が「動作の種類」に相当し、シュート(又はパス)されたボールの移動目標位置が「動作の目標位置」に相当し、シュート(又はパス)されたボールの移動方向が「動作に関する方向」に相当する。またこの場合、例えば、「シュートだ!」との吹き出し画像が「動作に関する情報を示すオブジェクト」の一例に相当する。
本変形例の表示制御部114は、処理オブジェクトG490をオリジナルキャラクタに関連付けて表示させる。例えば、表示制御部114は、操作対象と関連があるとユーザが認識できるようにして処理オブジェクトG490を表示させる。また例えば、表示制御部114は、操作対象の位置と所定の位置関係を有する位置に処理オブジェクトG490を表示させる。また例えば、表示制御部114は、操作対象付近(近傍)に処理オブジェクトG490を表示させる。
図33は、攻撃中にユーザがダブルタップ操作をした場合の第2状態画像G400を示す図である。図33に示すように、表示制御部114は、処理オブジェクトG490として、操作対象の動作を示す文字を含む吹き出し画像(「シュートだ!」)を、操作対象の付近に表示させる。なお、ゲーム処理実行条件が満たされないと判定された場合、表示制御部114は、処理オブジェクトG490を表示させなくてよい。
変形例(3−3)によれば、操作対象によって行われる動作に関する情報を示す処理オブジェクトを操作対象に関連付けて表示させることで、ユーザは、ダブルタップ操作を成功した場合に操作対象によって行われる動作に関する情報を、ゲームをプレイしながら容易に把握することができる。
(3−4)また例えば、連続タッチ操作が行われた場合、表示制御部114は、タッチ操作オブジェクトとして、処理オブジェクトを表示させるための制御を行ってもよい。この場合、処理オブジェクトは、連続タッチ操作を成功したことを間接的(又は直接的)に示すものでもあるため、ユーザは、連続タッチ操作を成功したことや、それによって実行されるゲーム処理の内容に関する情報を把握することができる。
また例えば、シュートしたボールを移動させるための移動範囲が設定される場合を説明したが、特に移動範囲が設けられず、自動的にボールの移動方向などが決定されるようにしてもよい。また例えば、ダブルタップ操作が行われた場合のシュートの方向や移動速度は、ダブルタップ操作によるタッチ位置に関係なく、自動的に決定されてもよい。なお、ユーザの操作対象がシュートすると、対戦相手キーパーのセービングパラメータによって、得点が決まるか否かが決定されることになる。
[5−4.その他変形例]
(4)また例えば、上記変形例の2つ以上を組み合わせてもよい。更に、実施形態で説明した第1の構成〜第3の構成の何れか1つ又は2つのみがゲームシステム1で実現されるようにしてもよい。また、第1の構成では、第1進行部101、第2進行部105、時間決定部104、及び経過判定部109以外の機能を省略してもよい。また、第2の構成では、タッチ位置取得部112、操作対象決定部113、表示制御部114、及び動作制御部115以外の機能を省略してもよい。また、第3の構成では、表示制御部114及び処理実行部116以外の機能を省略してもよい。
また例えば、ドラッグ操作、ダブルタップ操作、及びフリック操作などの操作方法は、ユーザ端末10のオペレーティングシステムにより提供されるようにしてよい。この場合、オペレーティングシステムは、タッチパネル14Aから行われた操作を検出し、ゲームプログラムは、オペレーティングシステムが出力したタッチ位置を取得する。即ち、タッチパネル14Aにおけるタッチ位置を解析する機能自体はあくまでオペレーティングシステムに備えられており、ゲームプログラムは、オペレーティングシステムから提供された解析結果を取得するようにしてよい。また例えば、表示部15に各画像を表示させる処理は、ゲームプログラムにより行われるのではなく、ユーザ端末10のオペレーティングシステムにより行われるようにしてもよい。この場合、ゲームプログラムは、オペレーティングシステムに対して画像の描画命令を送り、オペレーティングシステムの処理により、表示部15に画像が表示されることになる。このように、オペレーティングシステムで実現される機能と、ゲームプログラムで実現される機能と、が分けられているようにしてもよい。
また例えば、実施形態では、表示制御部114が、カーソル画像G440の付近(近傍)に動作方向オブジェクトG441を表示させることで動作方向を示す場合を説明したが、表示制御部114は、カーソル画像G440の表示態様を変えることで動作方向を示すようにしてもよい。この場合、表示制御部114は、例えば、動作方向に基づいてカーソル画像G440を変形させるようにしてもよいし、カーソル画像G440のうち動作方向側の色を変えるようにしてもよい。カーソル画像G440を変形させる場合、例えば、表示制御部114は、動作方向側に長くなるようにカーソル画像G440を変形させるようにしてもよいし、動作方向側が矢印などの方向を示す形状になるようにカーソル画像G440を変形させるようにしてもよい。
また例えば、タッチ操作オブジェクトG480がサッカーボールの画像である場合を説明したが、任意の画像であればよく、例えば、オリジナルキャラクタの画像でもよいし、弾性体を模した画像であってもよい。また例えば、スタジアムパートにおける試合でユーザが獲得するポイントは、試合内容や試合結果により決まるが、同じ事象であっても、第1状態で自動的に発生した場合より、第2状態でユーザが操作したときに発生した場合の方が、獲得ポイントを高くするようにしてもよい。
また例えば、ユーザ端末10で主要な機能が実現される場合を説明したが、主要な機能がサーバ30で実現されるようにしてもよい。この場合、データ記憶部100は記憶部32を主として実現され、他の各機能は、制御部31を主として実現される。サーバ30は、各画像の表示データをユーザ端末10に送信し、ユーザ端末10は、受信した当該表示データに基づいて各画像を表示部15に表示させる。そして、ユーザ端末10は、操作部14が受け付けた操作内容をサーバ30に送信し、サーバ30は、受信した操作内容に基づいて各処理を実行する。
また例えば、ユーザ端末10とサーバ30とで各機能が分担されてもよい。例えば、データ記憶部100がサーバ30で実現される場合には、サーバ30は、ユーザ端末10にネットワークNを介してデータ記憶部100に記憶されたデータを送信し、ユーザ端末10でゲームが実行されるようにしてもよい。また例えば、第1進行部101及び第2進行部105の少なくとも一方がサーバ30で実現される場合、サーバ30は、ゲームの実行結果を示すデータをユーザ端末10に送信し、ユーザ端末10で各画像が表示されるようにしてもよい。また例えば、状況判定部103、経過判定部109、関連付け判定部110、位置判定部117、及びタッチ判定部118の少なくとも1つがサーバ30で実現される場合、サーバ30は、判定結果を示すデータをユーザ端末10に送信し、ユーザ端末10でゲームが実行されるようにしてもよい。また例えば、表示制御部114、時間通知部106、及び残り時間通知部107がサーバ30で実現される場合には、サーバ30は、各画像の表示データをユーザ端末10に送信し、ユーザ端末10において各画像が表示されるようにしてもよい。また例えば、ボール制御部108及び動作制御部115の少なくとも一方がサーバ30で実現される場合には、サーバ30は、制御結果をユーザ端末10に送信し、ユーザ端末10でゲームが実行されるようにしてもよい。また例えば、時間決定部104及び操作対象決定部113の少なくとも一方がサーバ30で実現される場合には、サーバ30は、決定結果をユーザ端末10に送信し、ユーザ端末10でゲームが実行されるようにしてもよい。また例えば、関連付けデータ取得部102及びタッチ位置取得部112の少なくとも一方がサーバ30で実現される場合には、サーバ30は、ユーザ端末10から関連付けやタッチ位置を取得すればよい。また例えば、継続部111がサーバ30で実現される場合には、サーバ30は、継続部111の判定結果をユーザ端末10に送信し、ユーザ端末10で第2状態が継続されるようにしてもよい。
また例えば、実施形態では、サッカーゲームが実行される場合を説明したが、他のゲームに本発明に係る処理を適用してもよい。例えば、バスケットボールゲームなどの他のスポーツゲームに本発明に係る処理を適用してもよい。また例えば、スポーツゲーム以外にも、アクションゲーム、ロールプレイングゲーム、カードバトルゲームなどの種々のゲームに本発明に係る処理を適用してもよい。
[6.付記]
以上のような記載から、本発明は例えば以下のように把握される。
[6−1.第1の構成に係る発明]
1−1)本発明の一態様に係るゲーム制御装置(10,30)は、ゲームオブジェクトに対するユーザの操作が制限された第1状態で、前記ゲームオブジェクトに基づくゲームを進行させる第1進行手段(101)と、前記第1状態から、前記ユーザの操作が可能な第2状態に切り替えて、前記第2状態で前記ゲームを進行させる第2進行手段(105)と、前記第2状態で前記ゲームを進行させる時間の長さを決定する時間決定手段(104)と、前記ゲームが前記第2状態で進行する場合に、計時により計時開始してから前記決定した時間の長さが経過したかを判定する経過判定手段(109)と、を含み、前記第1進行手段(101)は、前記経過判定手段(109)が、計時により計時開始してから前記決定した時間の長さが経過したと判定した場合に、前記第2状態から前記第1状態に切り替えて、前記第1状態で前記ゲームを進行させる、ことを特徴とする。
1−10)本発明の一態様に係るゲーム制御装置(10,30)は、ゲームオブジェクトに対するユーザの操作が制限された第1状態で、前記ゲームオブジェクトに基づくゲームを進行させる第1進行手段(101)と、前記第1状態から、前記ユーザの操作が可能な第2状態に切り替えて、前記第2状態で前記ゲームを進行させる第2進行手段(105)と、前記第1状態から前記第2状態に切り替わる場合の前記ゲームのゲーム状況に基づいて前記第2状態で前記ゲームを進行させる時間の長さを決定する時間決定手段(104)と、前記ゲームが前記第2状態で進行する場合に、計時により計時開始してから前記決定した時間の長さが経過したかを判定する経過判定手段(109)と、を含むことを特徴とする。
1−11)本発明の一態様に係るゲームシステム(1)は、ゲームオブジェクトに対するユーザの操作が制限された第1状態で、前記ゲームオブジェクトに基づくゲームを進行させる第1進行手段(101)と、前記第1状態から、前記ユーザの操作が可能な第2状態に切り替えて、前記第2状態で前記ゲームを進行させる第2進行手段(105)と、前記第2状態で前記ゲームを進行させる時間の長さを決定する時間決定手段(104)と、前記ゲームが前記第2状態で進行する場合に、計時により計時開始してから前記決定した時間の長さが経過したかを判定する経過判定手段(109)と、を含み、前記第1進行手段(101)は、前記経過判定手段(109)が、計時により計時開始してから前記決定した時間の長さが経過したと判定した場合に、前記第2状態から前記第1状態に切り替えて、前記第1状態で前記ゲームを進行させる、ことを特徴とする。
1−12)本発明の一態様に係るゲームシステム(1)は、ゲームオブジェクトに対するユーザの操作が制限された第1状態で、前記ゲームオブジェクトに基づくゲームを進行させる第1進行手段(101)と、前記第1状態から、前記ユーザの操作が可能な第2状態に切り替えて、前記第2状態で前記ゲームを進行させる第2進行手段(105)と、前記第1状態から前記第2状態に切り替わる場合の前記ゲームのゲーム状況に基づいて前記第2状態で前記ゲームを進行させる時間の長さを決定する時間決定手段(104)と、前記ゲームが前記第2状態で進行する場合に、計時により計時開始してから前記決定した時間の長さが経過したかを判定する経過判定手段(109)と、を含むことを特徴とする。
1−13)本発明の一態様に係るプログラムは、1−1)〜1−10)の何れかに記載のゲーム制御装置又は1−11)若しくは1−12)に記載のゲームシステムとしてコンピュータを機能させる。
1−14)本発明の一態様に係る情報記憶媒体は、1−13)のプログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
本発明の1−1)又は1−11)によれば、ユーザは、ある長さの時間だけ操作すればよいので、ゲームに対する関心を高める適度なプレイ時間をユーザに与えることができる。例えばサッカーゲームなどのように、前半や後半のような大まかな単位しかないゲームであったとしても、ユーザに操作させる場面を時間的に区切ることによって、ユーザがプレイする時間を一定の長さに抑えることができる。その結果、1試合全てが自動的に進行する場合に比べてゲームに対する関心を高めることができ、かつ、前半又は後半の全てを操作させる場合に比べて、適度なプレイ時間を与えることができるようになる。
本発明の1−10)又は1−12)によれば、第1状態から第2状態に切り替わる場合のゲーム状況に応じた時間の長さで第2状態のゲームをプレイさせることができる。例えば、その後は第1状態に戻ることなくゲームが終了する場合には、重要な場面に限りゲームをユーザにプレイさせることができる。
1−2)本発明の一態様では、前記時間決定手段(104)は、前記第1状態から前記第2状態に切り替わる場合の前記ゲームのゲーム状況に基づいて前記時間の長さを決定する、ことを特徴とする。
1−2)の態様によれば、ゲーム状況をユーザに操作させる時間の長さに影響させることで、ゲーム状況に応じて当該時間の長さを変えることができる。例えば、ゲームの進行上重要な場面は時間を長めに設定することができ、重要な場面を長くユーザに操作させることができる。その結果、重要な場面にもかかわらず、途中で操作できなくなってしまうことを防止することができ、ユーザのゲームに対する関心を効果的に高めることができる。
1−3)本発明の一態様では、前記ゲーム制御装置(10,30)は、前記第1状態で進行中の前記ゲームが所定のゲーム状況になったかを判定する状況判定手段(103)を更に含み、前記第2進行手段(105)は、前記ゲームが前記所定のゲーム状況になった場合に、前記第1状態から前記第2状態に切り替えて、前記第2状態で前記ゲームを進行させる、ことを特徴とする。
1−3)の態様によれば、ゲームが所定のゲーム状況になった場合にユーザが操作可能になるので、ユーザは、所定の状況から操作することができる。その結果、例えば、ゲームの進行上重要な場面だけユーザに操作させることができる。また例えば、ゲームプレイを途中から始めるのに区切りの良い所定の状況から操作を始めるようにすることで、ユーザがスムーズにゲームの途中からプレイすることができる。
1−4)本発明の一態様では、前記ゲーム制御装置(10,30)は、前記ゲームが前記第2状態で進行する場合に、前記時間の長さを識別させるための情報を前記ユーザに通知する時間通知手段(106)、を更に含むことを特徴とする。
1−4)の態様によれば、ユーザが操作可能な時間の長さを把握しながら操作することができる。その結果、当該時間の残り時間を考えながらゲームをプレイさせることができるので、予期しないときに操作機会が中断してしまい、ユーザが不満に感じてしまうことを防止することができる。
1−5)本発明の一態様では、前記ゲーム制御装置(10,30)は、前記ゲームが前記第2状態で進行する場合に、計時により計時開始してから前記決定した時間の長さが経過するまでの残り時間が閾値未満になったことを識別させるための情報を前記ユーザに通知する残り時間通知手段(107)、を更に含むことを特徴とする。
1−5)の態様によれば、ユーザは、自分で操作可能な残り時間が閾値未満になったことを把握しながら操作することができる。つまり、操作機会が中断されるまでの時間が残り少なくなっていることを容易に把握することができる。その結果、少なくなった残り時間でどのような操作をすべきかを考えながらユーザにゲームをプレイさせることができる。また、ユーザがこれから操作しようと思っていたことを操作機会が突然中断されることでできなくなってしまい、ユーザが不満に感じてしまうことを防止することもできる。
1−6)本発明の一態様では、前記ゲーム制御装置(10,30)は、複数のゲーム状況の各々に対応する前記時間の長さを各々関連付けた関連付けデータを記憶する記憶手段(100)に記憶された当該関連付けデータを取得する関連付けデータ取得手段(102)と、前記第1状態で進行中の前記ゲームが前記複数のゲーム状況の何れかになったかを判定する状況判定手段(103)と、を更に含み、前記時間決定手段(104)は、前記第1状態で進行中の前記ゲームが前記複数のゲーム状況の何れかになった場合、前記時間の長さを、当該ゲーム状況に関連付けられた前記時間の長さに基づいて決定する、ことを特徴とする。
1−6)の態様によれば、ゲーム状況ごとに時間の長さを決定することができる。その結果、状況に応じて時間の長さを変えることができるので、ゲームに変化を与えることができ、ユーザの関心を効果的に高めることができる。
1−7)本発明の一態様では、前記ゲーム制御装置(10,30)は、計時により計時開始してから前記決定した時間の長さが経過する場合の前記ゲームのゲーム状況に基づいて、前記第1状態への切り替えを制限し、前記第2状態を継続させる継続手段(111)、を更に含むことを特徴とする。
1−7)の態様によれば、ユーザが操作可能な時間が経過する場合のゲーム状況に基づいてユーザが操作可能な状態を継続させることで、ユーザにプレイさせた方が好ましい状況で操作できなくなってしまうことを防止することができる。その結果、ユーザにプレイさせた方が良いにも関わらずプレイの途中で突然操作できなくなってしまい、ユーザが不満に感じてしまうことを防止することができる。
1−8)本発明の一態様では、前記ゲームは、前記ゲームオブジェクトと対戦相手オブジェクトとが、仮想世界で移動オブジェクトを移動させて対戦するスポーツゲームであり、前記ゲーム制御装置(10,30)は、前記ゲームオブジェクトと前記対戦相手オブジェクトとのうち、前記移動オブジェクトに関連付けられた方の動作に基づいて、前記移動オブジェクトを移動させる移動制御手段(108)と、計時により計時開始してから前記決定した時間の長さが経過する場合に、前記ゲームオブジェクトと対戦相手オブジェクトとの何れに前記移動オブジェクトが関連付けられているかを判定する関連付け判定手段(110)と、を更に含み、前記継続手段(112)は、前記関連付け判定手段(110)の判定結果に基づいて、前記第2状態を継続させる、ことを特徴とする。
1−8)の態様によれば、移動対象オブジェクトが何れのオブジェクトに関連付けられているかを判定することによって、ユーザに操作させた方がよい場面が続いているかを推定してユーザが操作可能な状態を継続させるので、ユーザにプレイさせた方が良いにも関わらずプレイの途中で突然操作できなくなってしまい、ユーザが不満に感じてしまうことを防止することができる。
1−9)本発明の一態様では、前記ゲーム制御装置(10,30)は、前記仮想世界の所定領域内に前記移動オブジェクトがあるかを判定する位置判定手段(117)を更に含み、前記継続手段(111)は、前記関連付け判定手段(110)の判定結果と、前記位置判定手段(117)の判定結果と、に基づいて、前記第2状態を継続させる、ことを特徴とする。
1−9)の態様によれば、移動オブジェクトが所定領域内にあるかを判定することによって、ユーザに操作させた方がよい場面が続いているかを推定してユーザが操作可能な状態を継続させるので、ユーザにプレイさせた方が良いにも関わらずプレイの途中で突然操作できなくなってしまい、ユーザが不満に感じてしまうことを防止することができる。
[6−2.第2の構成に係る発明]
2−1)本発明の一態様に係るゲーム制御装置(10,30)は、タッチパネルに対するタッチ操作に応じて検出されたタッチ位置を取得するタッチ位置取得手段(111)と、ゲーム状況に基づいて、複数のゲームオブジェクトの中からユーザの操作対象とするゲームオブジェクトを決定する操作対象決定手段(112)と、前記タッチ位置取得手段(111)により取得されたタッチ位置に基づいて第1位置が取得された場合に、タッチ操作オブジェクトを表示手段(15)に表示させるための制御を行い、前記タッチ位置が移動されることで第2位置が取得された場合に、前記第1位置から前記第2位置への方向と、前記第1位置と前記第2位置との距離と、に基づいて、前記タッチ操作オブジェクトを伸長させて前記表示手段(15)に表示させるための制御を行う表示制御手段(114)と、少なくとも前記第1位置から前記第2位置への方向に基づいて、前記操作対象決定手段(112)により前記操作対象として決定されたゲームオブジェクトを動作させる動作制御手段(113)と、を含むことを特徴とする。
2−11)本発明の一態様に係るゲームシステム(1)は、タッチパネルに対するタッチ操作に応じて検出されたタッチ位置を取得するタッチ位置取得手段(111)と、ゲーム状況に基づいて、複数のゲームオブジェクトの中からユーザの操作対象とするゲームオブジェクトを決定する操作対象決定手段(112)と、前記タッチ位置取得手段(111)により取得されたタッチ位置に基づいて第1位置が取得された場合に、タッチ操作オブジェクトを表示手段(15)に表示させるための制御を行い、前記タッチ位置が移動されることで第2位置が取得された場合に、前記第1位置から前記第2位置への方向と、前記第1位置と前記第2位置との距離と、に基づいて、前記タッチ操作オブジェクトを伸長させて前記表示手段(15)に表示させるための制御を行う表示制御手段(114)と、少なくとも前記第1位置から前記第2位置への方向に基づいて、前記操作対象決定手段(112)により前記操作対象として決定されたゲームオブジェクトを動作させる動作制御手段(113)と、を含むことを特徴とする。
2−12)本発明の一態様に係るプログラムは、2−1)〜2−10)の何れかに記載のゲーム制御装置又は2−11)に記載のゲームシステムとしてコンピュータを機能させる。
2−13)本発明の一態様に係る情報記憶媒体は、上記プログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
本発明によれば、タッチ操作オブジェクトの伸び具合から、第1位置から第2位置への方向と第1位置と第2位置との距離とを直観的に把握できるので、ゲーム状況に基づいて複数のゲームオブジェクトの中からユーザの操作対象とするゲームオブジェクトが決定される場合において、操作対象として決定されたゲームオブジェクトに対する操作をユーザが直感的に把握し易くなる。
2−2)本発明の一態様では、前記表示制御手段(114)は、前記複数のゲームオブジェクトが配置された仮想世界の様子を表示する前記表示手段(15)において、前記第1位置から前記第2位置への方向に対応する前記仮想世界内の動作方向を示す動作方向オブジェクトを、前記操作対象として決定されたゲームオブジェクトに関連付けて表示させるための制御を行う、ことを特徴とする。
2−2)の態様によれば、動作方向オブジェクトの表示を、操作対象として決定されたゲームオブジェクトの表示に影響させることで、ユーザが、操作対象として決定されたゲームオブジェクトを見ながら動作方向オブジェクトを確認し易くなるので、動作方向を把握し易くなる。
2−3)本発明の一態様では、前記動作制御手段(113)は、前記第1位置と前記第2位置との距離が閾値以上の場合、前記操作対象として決定されたゲームオブジェクトのパラメータに応じた速度で、前記第1位置から前記第2位置への方向に対応する動作方向に、当該ゲームオブジェクトを移動させる、ことを特徴とする。
2−3)の態様によれば、第1位置と第2位置との距離が閾値以上になることが、ゲームオブジェクトのパラメータに応じた移動速度で移動させることの条件になり、ゲームオブジェクトのパラメータに応じた移動速度で移動させるための操作を直観的にすることができる。
2−4)本発明の一態様では、前記表示制御手段(114)は、前記操作対象として決定されたゲームオブジェクトが前記パラメータに応じた速度で移動する場合、当該ゲームオブジェクトに関連付けてエフェクトオブジェクトを前記表示手段(15)に表示させるための制御を行う、ことを特徴とする。
2−4)の態様によれば、パラメータに応じた速度で移動する場合、操作対象として決定されたゲームオブジェクトに関連付けてエフェクトオブジェクトが表示されるので、操作対象として決定されたゲームオブジェクトを見ながらエフェクトオブジェクトを確認し易くなる。そのため、ユーザはゲームオブジェクトがパラメータに応じた速度で移動していることが把握し易くなる。
2−5)本発明の一態様では、前記複数のゲームオブジェクトの各々は、仮想世界におけるフィールド上を移動し、前記表示制御手段(114)は、前記表示手段(15)に表示される前記フィールドの長手方向と、前記表示手段(15)の長手方向と、の角度が基準未満となる視線方向で前記仮想世界を見た様子を前記表示手段(15)に表示させるための制御を行う、ことを特徴とする。
2−5)の態様によれば、ユーザは、操作対象として決定されたゲームオブジェクトを、フィールド上の長手方向に移動させることが多いので、その方向に対して接触位置の移動範囲を広くとることで、指やタッチペンなどを移動させやすくなる。
2−6)本発明の一態様では、前記動作制御手段(113)は、前記タッチ位置が取得されない場合は、予め定められた動作制御情報に基づいて、前記操作対象として決定されたゲームオブジェクトを動作させる、ことを特徴とする。
2−6)の態様によれば、ユーザがタッチパネルで操作していないときは、操作対象として決定されたゲームオブジェクトが予め定められた動作をし、ユーザが常に操作しなければならないわけではなく、必要に応じて操作すればよくなるので、操作の手間を省くことができる。
2−7)本発明の一態様では、前記操作対象決定手段(112)は、所定の条件が満たされ、かつ、前記タッチ位置が移動せずに前記タッチ操作が解除された場合、前記操作対象を他のゲームオブジェクトに変更する、ことを特徴とする。
2−7)の態様によれば、所定の条件を満たした場合に、ユーザの意志で操作対象として決定されるゲームオブジェクトを変えることができる。また、例えば、所定の条件を満たさない場合にユーザの意志で操作対象を変えることができないようにすれば、操作対象を変えない方がゲームをプレイしやすくなる状況に、誤入力などにより操作対象が変わってしまうことを防止することができる。
2−8)本発明の一態様では、前記動作制御手段(113)は、前記第1位置と前記第2位置との距離が前記閾値未満の場合、何れのゲームオブジェクトが前記操作対象として決定されたとしても同じ速度で、前記第1位置から前記第2位置への方向に対応する動作方向に、前記操作対象として決定されたゲームオブジェクトを移動させ、前記第1位置と前記第2位置との距離が前記閾値以上の場合、前記操作対象として決定されたゲームオブジェクトのパラメータに応じた速度で、前記動作方向に、当該ゲームオブジェクトを移動させ、前記表示制御手段(114)は、前記操作対象として決定されたゲームオブジェクトが前記同じ速度で移動する場合の前記タッチ操作オブジェクトの表示態様と、当該ゲームオブジェクトが前記パラメータに応じた速度で移動する場合の前記タッチ操作オブジェクトの表示態様と、を異ならせるための制御を行う、ことを特徴とする。
2−8)の態様によれば、タッチ操作オブジェクトの表示態様の変化により、操作対象として決定されたゲームオブジェクトが、ゲームオブジェクトに関係なく同じ速度で移動しているのか、パラメータに応じた速度で移動しているのかを把握することができる。
2−9)本発明の一態様では、前記表示制御手段(114)は、前記第1位置が取得された場合に、基本形状の前記タッチ操作オブジェクトを前記表示手段(15)に表示させるための制御を行い、前記第2位置に移動した場合に、前記タッチ操作オブジェクトを前記基本形状から伸長させて前記表示手段(15)に表示させるための制御を行い、前記タッチ操作が解除された場合に、前記基本形状に戻るように前記タッチ操作オブジェクトを収縮させて前記表示手段(15)に表示させるための制御を行い、前記ゲーム制御装置(10,30)は、前記タッチ操作オブジェクトが前記基本形状に戻る場合に、再び前記タッチ操作が行われたかを判定するタッチ判定手段(118)と、前記タッチ判定手段(118)の判定結果に基づいて、前記操作対象として決定されたゲームオブジェクトが有利になる効果を発生させる効果発生手段(119)と、を更に含むことを特徴とする。
2−9)の態様によれば、タッチ操作オブジェクトを利用してゲームの興趣性を高めることができる。
2−10)本発明の一態様では、前記表示手段(15)は、前記仮想世界を仮想視点から見た様子を表示し、前記表示制御手段(114)は、前記操作対象として決定されたゲームオブジェクトに関するゲーム状況に基づいて、当該ゲームオブジェクトに対する前記仮想視点の相対的な位置が変わるように、前記仮想視点を設定し、前記動作制御手段(113)は、前記第1位置から前記第2位置への方向と、前記仮想視点の位置と、に基づいて定まる前記仮想世界内の動作方向に基づいて、前記操作対象として決定されたゲームオブジェクトを動作させる、ことを特徴とする。
2−10)の態様によれば、ユーザは表示手段に表示されたゲームオブジェクトの位置や向きを意識して動作方向を決めるので、仮想視点の位置を動作方向に影響させることで、ユーザの意図に沿った動作方向で動作させ易くなる。
[6−3.第3の構成に係る発明]
3−1)本発明の一態様に係るゲーム制御装置(10,30)は、タッチパネルに対するタッチ操作に応じて、前記タッチ操作が行われたことを示すタッチ操作オブジェクトを表示手段(15)に表示させるための制御を行う表示制御手段(114)と、前記タッチ操作を複数回続けて行う連続タッチ操作が行われた場合に、所定のゲーム処理を実行する処理実行手段(115)と、を含み、前記表示制御手段(114)は、前記連続タッチ操作が行われた場合に表示される前記タッチ操作オブジェクトの表示態様を、前記タッチ操作を一回行う単一タッチ操作が行われた場合に表示される前記タッチ操作オブジェクトの表示態様とは異なる表示態様に設定する、ことを特徴とする。
3−14)本発明の一態様に係るゲームシステム(1)は、タッチパネルに対するタッチ操作に応じて、前記タッチ操作が行われたことを示すタッチ操作オブジェクトを表示手段(15)に表示させるための制御を行う表示制御手段(114)と、前記タッチ操作を複数回続けて行う連続タッチ操作が行われた場合に、所定のゲーム処理を実行する処理実行手段(115)と、を含み、前記表示制御手段(114)は、前記連続タッチ操作が行われた場合に表示される前記タッチ操作オブジェクトの表示態様を、前記タッチ操作を一回行う単一タッチ操作が行われた場合に表示される前記タッチ操作オブジェクトの表示態様とは異なる表示態様に設定する、ことを特徴とする。
3−15)本発明の一態様に係るプログラムは、3−1)〜3−13)の何れかに記載のゲーム制御装置又は3−14)に記載のゲームシステムとしてコンピュータを機能させる。
3−16)本発明の一態様に係る情報記憶媒体は、上記プログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
3−1)、3−14)〜3−16)に記載の発明によれば、連続タッチ操作が行われた場合に表示されるタッチ操作オブジェクトの表示態様が、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトの表示態様とは異なる表示態様に設定されるため、連続タッチ操作を成功したことをユーザが容易に把握することができる。その結果、ユーザは、再度連続タッチ操作を行うべきかの判断を短時間ですることができるようになり、不必要にタッチ操作を繰り返すことを防止することができる。更に、不必要にタッチ操作を繰り返すことを防止することで、その他の操作に支障をきたすことも防止することができる。
3−2)本発明の一態様では、前記処理実行手段(115)は、前記連続タッチ操作が行われ、かつ、所定のゲーム処理実行条件が満たされた場合に、前記ゲーム処理を実行し、前記表示制御手段(114)は、前記連続タッチ操作が行われた場合に、前記ゲーム処理実行条件が満たされるか否かの判定結果を待つことなく、前記異なる表示態様のタッチ操作オブジェクトを表示させる、ことを特徴とする。
3−2)の態様によれば、ゲーム処理実行条件が満たされるか否かの判定結果を待つことなく、直ちに異なる表示態様のタッチ操作オブジェクトが表示されるため、ゲーム処理が実行されなかった場合に、ゲーム処理が実行されなかった原因が連続タッチ操作を失敗したからではなく、ゲーム処理実行条件が満たされなかったからであると把握することができる。また、ゲーム処理が実行される前に連続タッチ操作の成否が直ぐ分かることから、連続タッチ操作が成功したと分かった後に不必要な連続タッチ操作をすることを防ぐことができる。
3−3)本発明の一態様では、前記表示制御手段(114)は、前記連続タッチ操作が行われた場合に、前記処理実行手段(115)によって実行される前記ゲーム処理の内容に関する情報を示す処理オブジェクトを、前記タッチ操作オブジェクトとは別に、又は、前記タッチ操作オブジェクトとして表示させるための制御を行う、ことを特徴とする。
3−3)の態様によれば、連続タッチ操作が行われた場合に処理オブジェクトが表示されるため、連続タッチ操作を成功したことに加えて、連続タッチ操作を成功した場合に実行されるゲーム処理の内容に関する情報をユーザが容易に把握することができる。
3−4)本発明の一態様では、前記表示制御手段(114)は、前記連続タッチ操作が行われた場合に、前記処理オブジェクトを、前記タッチ操作によるタッチ位置とは異なる位置に表示させるための制御を行う、ことを特徴とする。
3−4)の態様によれば、処理オブジェクトがタッチ操作によるタッチ位置とは異なる位置に表示されるため、タッチ操作を行う指等によって処理オブジェクトが隠れて見難くなってしまわないようにすることができる。処理オブジェクトは、連続タッチ操作を成功したことを間接的(又は直接的)に示すものでもあるため、連続タッチ操作を成功したことや、それによって実行されるゲーム処理の内容に関する情報をユーザが確実に把握できるように担保することができる。
3−5)本発明の一態様では、前記ゲーム処理は、移動オブジェクトの移動目標位置又は移動方向を設定し、当該移動目標位置又は移動方向に基づいて前記移動オブジェクトを移動させる処理を含み、前記処理オブジェクトは、前記移動オブジェクトの移動目標位置又は移動方向に対応する位置に関連付けて表示されることによって前記移動目標位置又は移動方向を示すオブジェクトである、ことを特徴とする。
3−5)の態様によれば、移動オブジェクトの移動目標位置又は移動方向を示す処理オブジェクトが、当該移動オブジェクトの移動目標位置又は移動方向に対応する位置に関連付けて表示されるため、連続タッチ操作を成功したことに加えて、移動オブジェクトの移動目標位置又は移動方向をユーザが容易に把握することができる。移動オブジェクトが移動するゲームにおいては、移動オブジェクトの移動目標位置又は移動方向がゲームの進行上重要な役割を果たす。この点、連続タッチ操作を成功したか否かだけでなく、ゲームの進行上有益な情報もユーザが把握することができる。
3−6)本発明の一態様では、前記処理実行手段(115)は、前記連続タッチ操作によるタッチ位置に基づいて、前記移動オブジェクトの移動目標位置又は移動方向を設定し、前記表示制御手段(114)は、前記連続タッチ操作によるタッチ位置に基づいて、前記移動オブジェクトの移動目標位置又は移動方向に対応する位置に関連付けて前記処理オブジェクトを表示させる、ことを特徴とする。
3−6)の態様によれば、連続タッチ操作によるタッチ位置に基づいて、移動オブジェクトの移動目標位置又は移動方向を設定することにより、ユーザは、移動オブジェクトの移動目標位置又は移動方向を連続タッチ操作によるタッチ位置によって指示することができる。また、連続タッチ操作によるタッチ位置に基づいて、移動オブジェクトの移動目標位置又は移動方向に対応する位置に関連付けて処理オブジェクトを表示させることにより、ユーザは、処理オブジェクトを見ることによって、自分が指示したタッチ位置によって、移動オブジェクトがどのように移動するかを把握することができる。
3−7)本発明の一態様では、前記処理実行手段(115)は、前記移動オブジェクトを移動させるゲームオブジェクトのパラメータに基づいて定まる移動範囲内の何れかの位置に向かうように、前記移動オブジェクトの移動目標位置又は移動方向を設定し、前記表示制御手段(114)は、前記処理オブジェクトの表示態様を前記移動範囲に基づいて設定する、ことを特徴とする。
3−7)の態様によれば、ゲームオブジェクトのパラメータに応じて移動範囲を決定することで、移動オブジェクトを狙った場所に移動させやすいか否か(例えば、サッカーゲームであれば、シュートやパスの精度が高いか否か)を、ゲームオブジェクトのパラメータに応じて変えることができる。また、移動オブジェクトが向かう移動範囲に基づいて処理オブジェクトの表示態様が設定されるので、ユーザは処理オブジェクトの表示態様に注目することによって、移動オブジェクトが向かう移動範囲を把握することができる。更に、移動オブジェクトが向かう移動範囲は、ゲームオブジェクトのパラメータに基づいて定まるので、ユーザは、処理オブジェクトの表示態様に注目することによって、ゲームオブジェクトのパラメータを把握することもできる。
3−8)本発明の一態様では、前記パラメータは、前記ゲームオブジェクトの能力を示し、前記処理実行手段(115)は、前記ゲームオブジェクトの能力が高いほど前記移動範囲が小さくなり、前記ゲームオブジェクトの能力が低いほど前記移動範囲が大きくなるように、前記移動範囲を設定し、前記表示制御手段(114)は、前記ゲームオブジェクトの能力が高いほど前記処理オブジェクトの表示サイズが小さくなり、前記ゲームオブジェクトの能力が低いほど前記処理オブジェクトの表示サイズが大きくなるように、前記処理オブジェクトの表示サイズを設定する、
3−8)の態様によれば、ゲームオブジェクトの能力が高いほど移動範囲が小さくなり、当該能力が低いほど移動範囲が大きくなるように、移動範囲を設定することにより、ゲームオブジェクトの能力に応じて、移動オブジェクトを狙った場所に移動させやすいか否かを変えることができる。更に、ゲームオブジェクトの能力が高いほど処理オブジェクトの表示サイズが小さくなり、当該能力が低いほど処理オブジェクトの表示サイズが大きくなるように、処理オブジェクトの表示サイズを設定ことにより、ユーザは、処理オブジェクトの表示サイズに注目することによって移動範囲を予測することができる。また、ユーザは、処理オブジェクトの表示サイズから、移動オブジェクトを狙った場所に移動させやすいかをユーザが把握することができる。その結果、例えば、サッカーゲームにおいて、狙った場所にシュートできるかを、処理オブジェクトの表示サイズからユーザに感じさせることができる。即ち、処理オブジェクトの表示サイズからゴールの期待感をユーザに与えることができる。また、ユーザは処理オブジェクトの表示サイズに注目することで、ゲームオブジェクトの能力を把握することもできる。
3−9)本発明の一態様では、前記ゲーム処理は、ユーザの操作対象として選択されたゲームオブジェクトに動作を行わせる処理を含み、前記処理オブジェクトは、前記ゲームオブジェクトによって行われる動作に関する情報を示すオブジェクトであり、前記表示制御手段(114)は、前記処理オブジェクトを前記ゲームオブジェクトに関連付けて表示させる、ことを特徴とする。
3−9)の態様によれば、操作対象によって行われる動作に関する情報を示す処理オブジェクトが、操作対象に関連付けて表示されるため、ユーザは、連続タッチ操作を成功した場合に操作対象によって行われる動作に関する情報を、ゲームをプレイしながら容易に把握することができる。
3−10)本発明の一態様では、前記表示制御手段(114)は、前記連続タッチ操作が行われた場合に表示される前記タッチ操作オブジェクトの色を、前記単一タッチ操作が行われた場合に表示される前記タッチ操作オブジェクトの色とは異なる色に設定する、ことを特徴とする。
3−10)の態様によれば、連続タッチ操作が行われた場合に表示されるタッチ操作オブジェクトの色が、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトの色とは異なる色に設定されるため、ユーザは、タッチ操作オブジェクトの色に注目することによって、連続タッチ操作を成功したか否かを一見して把握することができる。
3−11)本発明の一態様では、前記表示制御手段(114)は、前記連続タッチ操作が行われた場合に表示される前記タッチ操作オブジェクトの表示サイズを、前記単一タッチ操作が行われた場合に表示される前記タッチ操作オブジェクトの表示サイズとは異なる表示サイズに設定する、ことを特徴とする。
3−11)の態様によれば、連続タッチ操作が行われた場合に表示されるタッチ操作オブジェクトの表示サイズが、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトの表示サイズとは異なる表示サイズに設定されるため、ユーザはタッチ操作オブジェクトの表示サイズに注目することによって、連続タッチ操作を成功したか否かを一見して把握することができる。
3−12)本発明の一態様では、前記表示制御手段(114)は、前記単一タッチ操作が行われる場合に表示される前記タッチ操作オブジェクトの表示位置を、第1の表示位置規則に従って決定される表示位置に設定し、前記連続タッチ操作が行われる場合に表示される前記タッチ操作オブジェクトの表示位置を、前記第1の表示位置規則とは異なる第2の表示位置規則に従って決定される表示位置に設定する、
3−12)の態様によれば、連続タッチ操作が行われた場合に表示されるタッチ操作オブジェクトの表示位置が、単一タッチ操作が行われた場合に表示されるタッチ操作オブジェクトの表示位置とは異なる表示位置に設定されるため、ユーザはタッチ操作オブジェクトの表示位置に注目することによって、連続タッチ操作を成功したか否かを一見して把握することができる。
3−13)本発明の一態様では、前記表示制御手段(114)は、第1回目の前記タッチ操作が行われた場合に、前記タッチ操作オブジェクトを第1の表示態様で表示させ、前記第1回目の前記タッチ操作が行われてから、所定の時間内に第n回目(n:2以上の所定の整数)の前記タッチ操作が行われた場合に、前記タッチ操作オブジェクトの表示態様を前記第1の表示態様から第2の表示態様に変化させる、ことを特徴とする。
3−13)の態様によれば、タッチ操作オブジェクトが表示された状態のまま第1の表示態様から第2の表示態様に変わるため、ユーザは、タッチ操作オブジェクトの表示態様の変化から、連続タッチ操作を成功したことを把握することができる。タッチ操作オブジェクトが表示されたまま表示態様が変化すると、ユーザはその変化に気づきやすいので、連続タッチ操作を成功したことをユーザはより把握しやすくなる。