特許第6114460号(P6114460)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 任天堂株式会社の特許一覧

特許6114460ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置
<>
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000002
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000003
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000004
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000005
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000006
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000007
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000008
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000009
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000010
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000011
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000012
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000013
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000014
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000015
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000016
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000017
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000018
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000019
  • 特許6114460-ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置 図000020
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6114460
(24)【登録日】2017年3月24日
(45)【発行日】2017年4月12日
(54)【発明の名称】ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置
(51)【国際特許分類】
   A63F 13/577 20140101AFI20170403BHJP
   A63F 13/55 20140101ALI20170403BHJP
   A63F 13/426 20140101ALI20170403BHJP
   A63F 13/44 20140101ALI20170403BHJP
   A63F 13/833 20140101ALI20170403BHJP
【FI】
   A63F13/577
   A63F13/55
   A63F13/426
   A63F13/44
   A63F13/833
【請求項の数】17
【全頁数】26
(21)【出願番号】特願2016-237135(P2016-237135)
(22)【出願日】2016年12月6日
【審査請求日】2016年12月16日
【早期審査対象出願】
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】110001276
【氏名又は名称】特許業務法人 小笠原特許事務所
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】佐藤 真靖
(72)【発明者】
【氏名】桂 直人
【審査官】 古川 直樹
(56)【参考文献】
【文献】 特開2016−13268(JP,A)
【文献】 米国特許出願公開第2015/0182854(US,A1)
【文献】 特開2010−273946(JP,A)
【文献】 特開2009−201743(JP,A)
【文献】 GameplayOnly - Trailers & Gameplay,Super Mario Run Gameplay & Announcement (iOS Exclusive),YouTube,2016年 9月 7日,[online],[平成29年2月15日検索],インターネット,URL,https://www.youtube.com/watch?v=njTfcWRvvB4
【文献】 【スーパーマリオラン攻略】 ゲームシステムと基本操作方法まとめ,【マリラン】スーパーマリオラン 攻略の情報wiki,2016年11月27日,[online],[平成29年2月15日検索],インターネット,URL,http://スーパーマリオランwiki.biz/%e3%82%b2%e3%83%bc%e3%83%a0%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e3%81%a8%e5%9f%ba%e6%9c%ac%e6%93%8d%e4%bd%9c%e6%96%b9%e6%b3%95%e3%81%be%e3%81%a8%e3%82%81/
【文献】 Hovita Club編集部,スーパーマリオラン配信日はいつ?操作方法や3つのモードの違いを徹底調査。,Hovita,2016年10月24日(アーカイブ日),[online],[平成29年2月15日検索],インターネット,URL,http://web.archive.org/web/20161024014025/http://hovita.club/super-mario-run-delivery/
【文献】 SuperMarioRun(@SuperMarioRunJP)さん,Twitter,[online],[平成29年2月15日検索],インターネット,URL,https://twitter.com/SuperMarioRunJP(2016年12月5日以前のツイート)
【文献】 Nintendo Mobile,Introduction to Super Mario Run,YouTube,2016年11月15日,[online],[平成29年2月15日検索],インターネット,URL,https://www.youtube.com/watch?v=VTglyDBdp-A
【文献】 ゲームアルゴリズムコレクション for iOS,株式会社技術評論社,2015年 5月15日,初版,p.70−84,95−100
【文献】 キャッチ!タッチ!ヨッシー! まるわかりガイド,株式会社エンターブレイン,2005年 4月12日,初版,p.11
【文献】 【個人開発ゲームを斬る】100万人の昭和ゲーマーがDLした『スーパーピコピコランナーズ』,ファミ通App,KADOKAWA DWANGO CORPORATION,2016年10月 3日,[online],[平成29年2月15日検索],インターネット,URL,https://app.famitsu.com/20161003_853486/
【文献】 新チャリ走DX チャリ走の決定版!中毒性抜群の、ギミック豊富な世界各地を走り抜けろ,アプリゲット,Spicysoft,2015年10月 5日,[online],[平成29年2月15日検索],インターネット,URL,http://appget.com/appli/view/61121
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00 − 13/98
A63F 9/24
(57)【特許請求の範囲】
【請求項1】
タッチスクリーンと、
プレイヤの操作対象となる操作対象オブジェクトを仮想空間内の所定方向に自動的に移動させる操作対象移動部と、
前記操作対象オブジェクトの移動に追従するようにスクロールするゲーム画面を前記タッチスクリーンに表示させる表示制御部と、
前記タッチスクリーンに対するプレイヤからのタッチ入力に基づいて、前記操作対象オブジェクトについて所定の移動制御を実行する移動制御部と、
前記操作対象オブジェクトとは異なるオブジェクトである非操作対象オブジェクトについて、当該非操作対象オブジェクトと重なる位置となるように設定された第1判定領域内に前記操作対象オブジェクトが位置している場合に、当該操作対象オブジェクトが前記非操作対象オブジェクトと衝突したと判定して当該非操作対象オブジェクトの表示態様を第1の表示態様に変更すると共に、当該操作対象オブジェクトについて第1の移動制御を実行する第1の衝突判定処理部と、
前記非操作対象オブジェクトについて、前記第1判定領域よりも前記所定方向および当該所定方向と直交する方向に広くなるように設定された第2判定領域内に前記操作対象オブジェクトが位置している状態でタッチ入力がされた場合に、前記操作対象オブジェクトが前記非操作対象オブジェクトと衝突したと判定して、当該非操作対象オブジェクトの表示態様を前記第1の表示態様に変更すると共に、当該操作対象オブジェクトについて前記第1の移動制御とは異なる第2の移動制御を実行する第2の衝突判定処理部と、
前記非操作対象オブジェクトについて、前記第1判定領域の位置から当該所定方向とは反対方向側で当該第1判定領域に隣接する位置に設定された第3判定領域内に前記操作対象オブジェクトが位置している場合に、前記非操作対象オブジェクトとの衝突を回避するように当該操作対象オブジェクトについて前記第1の移動制御および前記第2の移動制御とは異なる第3の移動制御を実行する第3の衝突判定処理部とを備え、
前記第3の衝突判定処理部は、前記第3の移動制御実行中にタッチ入力がされたときは、前記第1衝突判定処理および前記第2衝突判定処理を実行することなく当該非操作対象オブジェクトの表示態様を前記第1の表示態様に変更する、ゲームシステム。
【請求項2】
前記第3の衝突判定処理部は、前記第3の移動制御実行中にタッチ入力がされたときは、非操作対象オブジェクトの表示態様を前記第1の表示態様に変更すると共に、更に、前記操作対象オブジェクトについて、前記第3の移動制御とは異なる第4の移動制御を実行する、請求項1に記載のゲームシステム。
【請求項3】
前記第2判定領域は、その一部が前記第1判定領域および前記第3判定領域と重複するような位置および大きさが設定されている、請求項1または2に記載のゲームシステム。
【請求項4】
前記ゲームシステムは、前記非操作対象オブジェクトについて設定された領域であって、前記第3判定領域を包含する領域である第4判定領域内に前記操作対象オブジェクトが位置しているか否かを判定する第4の衝突判定処理部を更に備え、
前記第3の衝突判定処理部による処理は、前記第4判定領域内に前記操作対象オブジェクトが位置しているときにのみ実行される、請求項1ないし3のいずれかに記載のゲームシステム。
【請求項5】
前記第4判定領域は、前記第1判定領域および前記第3判定領域の全てを包含し、前記第3判定領域の位置から、当該所定の方向とは反対方向側の領域を少なくとも含むように設定されている、請求項4に記載のゲームシステム。
【請求項6】

前記ゲームシステムは、前記第3判定領域を前記操作対象オブジェクトの移動速度に応じて異なる大きさに設定し、前記第4判定領域を前記操作対象オブジェクトの移動速度に関わらず固定的な大きさとして設定する判定領域設定部を更に備える、請求項4または5に記載のゲームシステム。
【請求項7】
前記ゲームシステムは、第2判定領域内に前記操作対象オブジェクトが位置しているか否かを判定した結果、位置していないと判定された場合に、第3判定領域内に前記操作対象オブジェクトが位置しているか否かを判定し、更に、第3判定領域内に前記操作対象オブジェクトが位置していないと判定された場合に、前記第1の衝突判定処理部による処理を実行する、請求項1ないし6のいずれかに記載のゲームシステム。
【請求項8】
前記第2衝突判定処理部は、前記第2判定領域内に前記操作対象オブジェクトが位置していると判定された後、前記操作対象オブジェクトの移動方向に関する所定の条件が満たされているか否かを更に判定する移動方向条件判定部を含み、
前記操作対象オブジェクトの移動方向に関する所定の条件が満たされていると判定された場合に、前記非操作対象オブジェクトの表示態様の変更、および、操作対象オブジェクトについての移動制御にかかる処理が実行される、請求項1ないし7のいずれかに記載のゲームシステム。
【請求項9】
前記第2衝突判定処理部は、前記第2判定領域内に前記操作対象オブジェクトが位置していると判定された後、前記操作対象オブジェクトと非操作対象オブジェクトとの位置関係に関する所定の条件が満たされているか否かを更に判定する第1の位置関係条件判定部を含み、
前記位置関係に関する所定の条件が満たされていると判定された場合に、前記非操作対象オブジェクトの表示態様の変更、および、操作対象オブジェクトについての移動制御にかかる処理が実行される、請求項1ないし8のいずれかに記載のゲームシステム。
【請求項10】
前記第3衝突判定処理部は、前記第3判定領域内に前記操作対象オブジェクトが位置していると判定された後、前記操作対象オブジェクトの移動速度に関する所定の条件が満たされているか否かを更に判定する移動速度条件判定部を含み、
前記移動速度に関する所定の条件が満たされていると判定された場合に、前記第3の移動制御にかかる処理が実行される、請求項1ないし9のいずれかに記載のゲームシステム。
【請求項11】
前記第3衝突判定処理部は、前記第3判定領域内に前記操作対象オブジェクトが位置していると判定された後、前記操作対象オブジェクトと非操作対象オブジェクトとの位置関係に関する所定の条件が満たされているか否かを更に判定する第2の位置関係条件判定部を含み、
前記第2の位置関係条件判定部によって前記位置関係に関する所定の条件が満たされていると判定された場合に、前記第3の移動制御にかかる処理が実行される、請求項1ないし10のいずれかに記載のゲームシステム。
【請求項12】
前記第2の位置関係条件判定部は、前記位置関係に関する所定の条件が満たされていないと判定したときであっても、前記操作対象オブジェクトが予め定義された所定の地形オブジェクト上に位置しているときは、当該位置関係に関する所定の条件は満たしているとして判定する、請求項11に記載のゲームシステム。
【請求項13】
前記ゲームシステムは、前記タッチ入力がされた後、前記所定方向とは逆方向に向かうタッチ位置の継続的な変化があったことに応じて、前記操作対象オブジェクトの移動速度を減速させる減速処理部を更に備える、請求項1ないし12のいずれかに記載のゲームシステム。
【請求項14】
タッチスクリーンを備えるゲームシステムのコンピュータを制御するためのゲーム処理方法であって、
プレイヤの操作対象となる操作対象オブジェクトを仮想空間内の所定方向に自動的に移動させる操作対象移動ステップと、
前記操作対象オブジェクトの移動に追従するようにスクロールするゲーム画面を前記タッチスクリーンに表示させる表示制御ステップと、
前記タッチスクリーンに対するプレイヤからのタッチ入力に基づいて、前記操作対象オブジェクトについて所定の移動制御を実行する移動制御ステップと、
前記操作対象オブジェクトとは異なるオブジェクトである非操作対象オブジェクトについて、当該非操作対象オブジェクトと重なる位置となるように設定された第1判定領域内に前記操作対象オブジェクトが位置している場合に、当該操作対象オブジェクトが前記非操作対象オブジェクトと衝突したと判定して当該非操作対象オブジェクトの表示態様を第1の表示態様に変更すると共に、当該操作対象オブジェクトについて第1の移動制御を実行する第1の衝突判定処理ステップと、
前記非操作対象オブジェクトについて、前記第1判定領域よりも前記所定方向および当該所定方向と直交する方向に広くなるように設定された第2判定領域内に前記操作対象オブジェクトが位置している状態でタッチ入力がされた場合に、前記操作対象オブジェクトが前記非操作対象オブジェクトと衝突したと判定して、当該非操作対象オブジェクトの表示態様を前記第1の表示態様に変更すると共に、当該操作対象オブジェクトについて前記第1の移動制御とは異なる第2の移動制御を実行する第2の衝突判定処理ステップと、
前記非操作対象オブジェクトについて、前記第1判定領域の位置から当該所定方向とは反対方向側で当該第1判定領域に隣接する位置に設定された第3判定領域内に前記操作対象オブジェクトが位置している場合に、前記非操作対象オブジェクトとの衝突を回避するように当該操作対象オブジェクトについて前記第1の移動制御および前記第2の移動制御とは異なる第3の移動制御を実行する第3の衝突判定処理ステップとを実行させ、
前記第3の衝突判定処理ステップでは、前記第3の移動制御実行中にタッチ入力がされたときは、前記第1衝突判定処理および前記第2衝突判定処理を実行することなく当該非操作対象オブジェクトの表示態様を前記第1の表示態様に変更する、ゲーム処理方法。
【請求項15】
タッチスクリーンを備えるゲームシステムのコンピュータに実行させるゲームプログラムであって、
プレイヤの操作対象となる操作対象オブジェクトを仮想空間内の所定方向に自動的に移動させる操作対象移動ステップと、
前記操作対象オブジェクトの移動に追従するようにスクロールするゲーム画面を前記タッチスクリーンに表示させる表示制御ステップと、
前記タッチスクリーンに対するプレイヤからのタッチ入力に基づいて、前記操作対象オブジェクトについて所定の移動制御を実行する移動制御ステップと、
前記操作対象オブジェクトとは異なるオブジェクトである非操作対象オブジェクトについて、当該非操作対象オブジェクトと重なる位置となるように設定された第1判定領域内に前記操作対象オブジェクトが位置している場合に、当該操作対象オブジェクトが前記非操作対象オブジェクトと衝突したと判定して当該非操作対象オブジェクトの表示態様を第1の表示態様に変更すると共に、当該操作対象オブジェクトについて第1の移動制御を実行する第1の衝突判定処理ステップと、
前記非操作対象オブジェクトについて、前記第1判定領域よりも前記所定方向および当該所定方向と直交する方向に広くなるように設定された第2判定領域内に前記操作対象オブジェクトが位置している状態でタッチ入力がされた場合に、前記操作対象オブジェクトが前記非操作対象オブジェクトと衝突したと判定して、当該非操作対象オブジェクトの表示態様を前記第1の表示態様に変更すると共に、当該操作対象オブジェクトについて前記第1の移動制御とは異なる第2の移動制御を実行する第2の衝突判定処理ステップと、
前記非操作対象オブジェクトについて、前記第1判定領域の位置から当該所定方向とは反対方向側で当該第1判定領域に隣接する位置に設定された第3判定領域内に前記操作対象オブジェクトが位置している場合に、前記非操作対象オブジェクトとの衝突を回避するように当該操作対象オブジェクトについて前記第1の移動制御および前記第2の移動制御とは異なる第3の移動制御を実行する第3の衝突判定処理ステップとを前記コンピュータに実行させ、
前記第3の衝突判定処理ステップでは、前記第3の移動制御実行中にタッチ入力がされたときは、前記第1衝突判定処理および前記第2衝突判定処理を実行することなく当該非操作対象オブジェクトの表示態様を前記第1の表示態様に変更する、ゲームプログラム。
【請求項16】
タッチスクリーンと、
プレイヤの操作対象となる操作対象オブジェクトを仮想空間内の所定方向に自動的に移動させる操作対象移動部と、
前記操作対象オブジェクトの移動に追従するようにスクロールするゲーム画面を前記タッチスクリーンに表示させる表示制御部と、
前記タッチスクリーンに対するプレイヤからのタッチ入力に基づいて、前記操作対象オブジェクトについて所定の移動制御を実行する移動制御部と、
前記操作対象オブジェクトとは異なるオブジェクトである非操作対象オブジェクトについて、当該非操作対象オブジェクトと重なる位置となるように設定された第1判定領域内に前記操作対象オブジェクトが位置している場合に、当該操作対象オブジェクトが前記非操作対象オブジェクトと衝突したと判定して当該非操作対象オブジェクトの表示態様を第1の表示態様に変更すると共に、当該操作対象オブジェクトについて第1の移動制御を実行する第1の衝突判定処理部と、
前記非操作対象オブジェクトについて、前記第1判定領域よりも前記所定方向および当該所定方向と直交する方向に広くなるように設定された第2判定領域内に前記操作対象オブジェクトが位置している状態でタッチ入力がされた場合に、前記操作対象オブジェクトが前記非操作対象オブジェクトと衝突したと判定して、当該非操作対象オブジェクトの表示態様を前記第1の表示態様に変更すると共に、当該操作対象オブジェクトについて前記第1の移動制御とは異なる第2の移動制御を実行する第2の衝突判定処理部と、
前記非操作対象オブジェクトについて、前記第1判定領域の位置から当該所定方向とは反対方向側で当該第1判定領域に隣接する位置に設定された第3判定領域内に前記操作対象オブジェクトが位置している場合に、前記非操作対象オブジェクトとの衝突を回避するように当該操作対象オブジェクトについて前記第1の移動制御および前記第2の移動制御とは異なる第3の移動制御を実行する第3の衝突判定処理部とを備え、
前記第3の衝突判定処理部は、前記第3の移動制御実行中にタッチ入力がされたときは、前記第1衝突判定処理および前記第2衝突判定処理を実行することなく当該非操作対象オブジェクトの表示態様を前記第1の表示態様に変更する、ゲーム装置。
【請求項17】
タッチスクリーンと、
プレイヤの操作対象となる操作対象オブジェクトを仮想空間内の所定方向に自動的に移動させる操作対象移動部と、
前記操作対象オブジェクトの移動に応じてスクロールするゲーム画面を前記タッチスクリーンに表示させる表示制御部と、
前記タッチスクリーンに対するプレイヤからのタッチ入力に基づいて、前記操作対象オブジェクトについて所定の移動制御を実行する移動制御部と、
前記操作対象オブジェクトとは異なるオブジェクトである所定の非操作対象オブジェクトについて、当該非操作対象オブジェクトと重なる位置となるように設定された第1判定領域内に前記操作対象オブジェクトが位置している場合に、当該操作対象オブジェクトが前記非操作対象オブジェクトと衝突したと判定して、当該操作対象オブジェクトについて衝突に伴う第1の移動制御を実行する第1の衝突判定処理部と、
前記非操作対象オブジェクトについて、前記第1判定領域よりも前記所定方向および当該所定方向と直交する方向に広くなるように設定された第2判定領域内に前記操作対象オブジェクトが位置している状態でタッチ入力がされた場合に、前記操作対象オブジェクトが前記非操作対象オブジェクトと衝突したと判定して、当該操作対象オブジェクトについて衝突に伴う第2の移動制御を実行する第2の衝突判定処理部とを備える、ゲームシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームシステムに関し、より特定的には、画面が所定の方向にスクロールするアクションゲームを、タッチ入力部を備える情報処理装置のコンピュータに実行させるゲームプログラムに関する。
【背景技術】
【0002】
従来から、スクロール型のジャンプアクションゲームが知られている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−273946号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなゲームでは、敵キャラクタ等とプレイヤオブジェクトとの接触を判定するための判定用領域が用いられている。しかし、上記のような従来のゲームにおいては、例えば1つの敵キャラクタに対しては1つの判定領域が設定されているのみであった。そのため、衝突に伴うプレイヤオブジェクトの動作についても、単調な動作しか実行させることができなかった(例えば、プレイヤオブジェクトがダメージを受けた様子を示すモーションの再生が行われるだけであった)。また、プレイヤオブジェクトに複雑な動作制御を行わせようとした場合、複雑な操作が必要になるという側面もあった。
【0005】
それ故に、本発明の目的は、シンプルな操作性をプレイヤに提供しつつも、所定のオブジェクトとの衝突に関してプレイヤオブジェクトに多様な動作・移動制御を行わせることが可能なゲームシステム等を提供することである。
【課題を解決するための手段】
【0006】
上記目的を達成するために、例えば以下のような構成例が挙げられる。
【0007】
構成例の一例は、タッチスクリーンと、操作対象移動部と、表示制御部と、移動制御部と、第1の衝突判定処理部と、第2の衝突判定処理部と、第3の衝突判定処理部とを備える。操作対象移動部は、プレイヤの操作対象となる操作対象オブジェクトを仮想空間内の所定方向に自動的に移動させる。表示制御部は、操作対象オブジェクトの移動に追従するようにスクロールするゲーム画面をタッチスクリーンに表示させる。移動制御部は、タッチスクリーンに対するプレイヤからのタッチ入力に基づいて、操作対象オブジェクトについて所定の移動制御を実行する。第1の衝突判定処理部は、操作対象オブジェクトとは異なるオブジェクトである非操作対象オブジェクトについて、当該非操作対象オブジェクトと重なる位置となるように設定された第1判定領域内に前記操作対象オブジェクトが位置している場合に、当該操作対象オブジェクトが非操作対象オブジェクトと衝突したと判定して当該非操作対象オブジェクトの表示態様を第1の表示態様に変更すると共に、当該操作対象オブジェクトについて第1の移動制御を実行する。第2の衝突判定処理部は、非操作対象オブジェクトについて、第1判定領域よりも所定方向および当該所定方向と直交する方向に広くなるように設定された第2判定領域内に操作対象オブジェクトが位置している状態でタッチ入力がされた場合に、操作対象オブジェクトが前記非操作対象オブジェクトと衝突したと判定して、当該非操作対象オブジェクトの表示態様を第1の表示態様に変更すると共に、当該操作対象オブジェクトについて第1の移動制御とは異なる第2の移動制御を実行する。第3の衝突判定処理部は、非操作対象オブジェクトについて、第1判定領域の位置から当該所定方向とは反対方向側で当該第1判定領域に隣接する位置に設定された第3判定領域内に操作対象オブジェクトが位置している場合に、非操作対象オブジェクトとの衝突を回避するように当該操作対象オブジェクトについて第1の移動制御および第2の移動制御とは異なる第3の移動制御を実行する。更に、第3の衝突判定処理部は、第3の移動制御実行中にタッチ入力がされたときは、第1衝突判定処理および第2衝突判定処理を実行することなく当該非操作対象オブジェクトの表示態様を第1の表示態様に変更する。
【0008】
上記構成例によれば、複数の衝突判定を組み合わせることで、シンプルな操作性を確保しながら、操作対象オブジェクトの動作の多様性を高めることができる。すなわち、操作対象オブジェクトに複雑な動作を行わせようとした場合、一般的にはプレイヤが行う操作も複雑なものとなるが、上記構成例であれば、例えばプレイヤが可能な操作が、タップ操作で操作対象オブジェクトをジャンプさせることだけ、というような、1つの操作だけがプレイヤに許容されるようなユーザーインターフェースであっても、操作対象オブジェクトに、非操作対象オブジェクトとの接触に関連した多様な動作を行わせることが可能となる。
【0009】
他の構成例として、第3の衝突判定処理部は、第3の移動制御実行中にタッチ入力がされたときは、非操作対象オブジェクトの表示態様を第1の表示態様に変更すると共に、更に、操作対象オブジェクトについて、第3の移動制御とは異なる第4の移動制御を実行するようにしてもよい。
【0010】
上記構成例によれば、操作対象オブジェクトに、更に多様な動作を行わせることが可能となる。
【0011】
他の構成例として、第2判定領域は、その一部が第1判定領域および第3判定領域と重複するような位置および大きさが設定されていてもよい。
【0012】
上記構成例によれば、第2判定領域のカバー範囲を広げて、プレイヤの操作の意図をより反映させやすくでき、また、第2の衝突判定処理部による処理を行う際に、プレイヤに違和感を与えることを軽減することができる。
【0013】
他の構成例として、ゲームシステムは、の非操作対象オブジェクトについて予め設定された領域であって、第3判定領域を包含する領域である第4判定領域内に操作対象オブジェクトが位置しているか否かを判定する第4の衝突判定処理部を更に備えていてもよい。そして、第3の衝突判定処理部による処理は、第4判定領域内に操作対象オブジェクトが位置しているときにのみ実行されるようにしてもよい。また、第4判定領域は、第1判定領域および前記第3判定領域の全てを包含し、かつ、所定の方向の軸において第3判定領域の位置から、当該所定の方向とは反対方向側の領域を少なくとも含むように設定されていてもよい。更には、ゲームシステムは、第3判定領域を操作対象オブジェクトの移動速度に応じて異なる大きさに設定し、第4判定領域の大きさを操作対象オブジェクトの移動速度に関わらず固定的な大きさとして設定する判定領域設定部を更に備えていてもよい。
【0014】
上記構成例によれば、第3判定領域を用いる処理が第4判定領域内に操作対象オブジェクトが位置しているときにのみ実行されるため、処理負荷を軽減することができる。また、第3判定領域を用いる判定処理を操作対象オブジェクトの移動方向に応じてより適切に実行することができる。
【0015】
他の構成例として、ゲームシステムは、第2判定領域内に操作対象オブジェクトが位置しているか否かを判定した結果、位置していないと判定された場合に、第3判定領域内に操作対象オブジェクトが位置しているか否かを判定し、更に、第3判定領域内に操作対象オブジェクトが位置していないと判定された場合に、第1の衝突判定処理部による処理を実行するように構成しても良い。
【0016】
上記構成例によれば、複数の判定処理を効率的に実行することができ、ゲームシステムの処理効率を高め、また、処理負荷を軽減することもできる。
【0017】
他の構成例として、第2衝突判定処理部は、第2判定領域内に操作対象オブジェクトが位置していると判定された後、操作対象オブジェクトの移動方向に関する所定の条件が満たされているか否かを更に判定する移動方向条件判定部を含んでいてもよい。そして、操作対象オブジェクトの移動方向に関する所定の条件が満たされていると判定された場合に、非操作対象オブジェクトの表示態様の変更、および、操作対象オブジェクトについての移動制御にかかる処理が実行されるようにしてもよい。また、第2衝突判定処理部は、第2判定領域内に操作対象オブジェクトが位置していると判定された後、操作対象オブジェクトと非操作対象オブジェクトとの位置関係に関する所定の条件が満たされているか否かを更に判定する第1の位置関係条件判定部を含んでいても良い。そして、位置関係に関する所定の条件が満たされていると判定された場合に、非操作対象オブジェクトの表示態様の変更、および、操作対象オブジェクトについての移動制御にかかる処理が実行されるようにしてもよい。
【0018】
上記構成例によれば、プレイヤに対して違和感や不自然さを与えることを軽減することができる。
【0019】
他の構成例として、第3衝突判定処理部は、第3判定領域内に操作対象オブジェクトが位置していると判定された後、操作対象オブジェクトの移動速度に関する所定の条件が満たされているか否かを更に判定する移動速度条件判定部を含んでいても良い。そして、移動速度に関する所定の条件が満たされていると判定された場合に、第3の移動制御にかかる処理が実行されるようにしてもよい。
【0020】
上記構成例によれば、操作対象オブジェクトの移動速度と第3の衝突関連処理部による処理との関係において、プレイヤに違和感や不自然さを与えることを軽減することができる。
【0021】
他の構成例として、第3衝突判定処理部は、第3判定領域内に操作対象オブジェクトが位置していると判定された後、操作対象オブジェクトと非操作対象オブジェクトとの位置関係に関する所定の条件が満たされているか否かを更に判定する第2の位置関係条件判定部を含んでいても良い。そして、第2の位置関係条件判定部によって位置関係に関する所定の条件が満たされていると判定された場合に、第3の移動制御にかかる処理が実行されるようにしてもよい。更には、第2の位置関係条件判定部は、位置関係に関する所定の条件が満たされていないと判定したときであっても、操作対象オブジェクトが予め定義された所定の地形オブジェクト上に位置しているときは、当該位置関係に関する所定の条件は満たしているとして判定するようにしてもよい。
【0022】
上記構成例によれば、操作対象オブジェクトと非操作対象オブジェクトとの位置関係と、第3の衝突関連処理部による処理との関係において、プレイヤに違和感や不自然さを与えることを軽減することができる。
【0023】
更に他の構成例として、ゲームシステムは、タッチ入力がされた後、所定方向とは逆方向に向かうタッチ位置の継続的な変化があったことに応じて、操作対象オブジェクトの移動速度を減速させる減速処理部を更に備えていてもよい。
【0024】
上記構成例によれば、操作対象オブジェクトに、更に多様な動作を行わせることが可能となる。
【0025】
また、他の構成の一例は、タッチスクリーンと、操作対象移動部と、表示制御部と、移動制御部と、第1の衝突判定処理部と、第2の衝突判定処理部とを備える。操作対象移動部は、プレイヤの操作対象となる操作対象オブジェクトを仮想空間内の所定方向に自動的に移動させる。表示制御部は、操作対象オブジェクトの移動に応じてスクロールするゲーム画面を前記タッチスクリーンに表示させる。移動制御部は、タッチスクリーンに対するプレイヤからのタッチ入力に基づいて、操作対象オブジェクトについて所定の移動制御を実行する。第1の衝突判定処理部は、操作対象オブジェクトとは異なるオブジェクトである所定の非操作対象オブジェクトについて、当該非操作対象オブジェクトと重なる位置となるように設定された第1判定領域内に操作対象オブジェクトが位置している場合に、当該操作対象オブジェクトが非操作対象オブジェクトと衝突したと判定して、当該操作対象オブジェクトについて衝突に伴う第1の移動制御を実行する。第2の衝突判定処理部は、非操作対象オブジェクトについて、第1判定領域よりも所定方向および当該所定方向と直交する方向に広くなるように設定された第2判定領域内に操作対象オブジェクトが位置している状態でタッチ入力がされた場合に、操作対象オブジェクトが非操作対象オブジェクトと衝突したと判定して、当該操作対象オブジェクトについて衝突に伴う第2の移動制御を実行する。
【0026】
上記構成例によれば、シンプルな操作性を確保しながら、操作対象オブジェクトの動作の多様性を高めることができる。すなわち、1つの操作だけがプレイヤに許容されるようなユーザーインターフェースであっても、操作対象オブジェクトに、非操作対象オブジェクトとの接触に関連した多様な動作を行わせることが可能となる。
【発明の効果】
【0027】
本実施形態によれば、強制スクロール型のアクションゲームにおいて、シンプルな操作性をプレイヤに提供しながらも、操作対象オブジェクトに対して様々な移動制御を行うことができる。
【図面の簡単な説明】
【0028】
図1】携帯型スマートデバイス102の機能ブロック図
図2】本実施形態にかかるゲーム画面の一例
図3】ジャンプ後の落下移動による攻撃アクションを説明するための図
図4】空中での攻撃アクションを説明するための図
図5】空中での攻撃アクションを説明するための図
図6】空中での攻撃アクションを説明するための図
図7】空中での攻撃アクションを説明するための図
図8】自動回避のアクションを説明するための図
図9】自動回避のアクションを説明するための図
図10】自動回避のアクションを説明するための図
図11】本実施形態における判定領域を説明するための図
図12】第2判定領域を用いた判定処理について説明するための図
図13】第2判定領域を用いた判定処理について説明するための図
図14】第2判定領域の構成の一例を示す図
図15】障害物判定の範囲を説明するための図
図16】スマートデバイス102のメインメモリ113に格納されるプログラムおよび情報の一例を示す図
図17】本実施形態におけるゲーム処理を示すフローチャート
図18】タップ操作による踏みつけ判定処理の詳細を示すフローチャート
図19】馬跳び判定処理の詳細を示すフローチャート
【発明を実施するための形態】
【0029】
以下、本発明の一実施形態について説明する。
【0030】
図1は、本実施形態に係る情報処理装置の一例である携帯型スマートデバイス102(以下では、単にスマートデバイスと呼ぶ)の機能ブロック図である。図1において、スマートデバイス102は、プロセッサ部111と、内部記憶装置112と、メインメモリ113と、通信部114と、操作部115と、表示部116とを備えている。プロセッサ部111は、後述する情報処理を実行したり、スマートデバイス102の全体的な動作を制御したりするためのシステムプログラム(図示せず)を実行することで、スマートデバイス102の動作を制御する。なお、プロセッサ部111は、単一のプロセッサを搭載してもよいし、複数のプロセッサを搭載するようにしてもよい。内部記憶装置112には、プロセッサ部111によって実行される各種プログラムや当該プログラムで利用される各種データが格納されている。内部記憶装置112は、例えば、フラッシュEEPROMやハードディスク装置である。メインメモリ113は、コンピュータプログラムや情報を一時的に記憶する。通信部114は、有線、または無線通信によってネットワークと接続し、所定のサーバや他のスマートデバイスとの間で所定のデータを送受信可能である。操作部115は、例えば、ユーザからの操作を受け付けるための入力装置である。表示部116は、典型的には液晶表示装置である。なお、本実施形態にかかる処理では、操作部115及び表示部116として、液晶画面と一体化したタッチパネル(タッチスクリーン)を想定する。他の実施形態では、操作部115として、タッチパネル以外の所定のポインティングデバイスを用いてもよい。
【0031】
なお、本実施形態では、スマートデバイス102で後述のゲーム処理が実行される例を説明するが、この他、情報処理装置として携帯型ゲーム装置等に対しても以下の実施形態にかかる処理は適用可能である。
【0032】
次に、本実施形態にかかる情報処理の動作概要を説明する。本実施形態にかかる処理は、横スクロール型のジャンプアクションゲームを想定している。より具体的には、本実施形態で想定するゲームは、横方向に画面が自動スクロールするジャンプアクションゲームである。すなわち、プレイヤの操作によらずに(プレイヤからの移動指示入力が行われていないときでも)プレイヤオブジェクトが自動的に移動することによって、画面が自動的にスクロールするゲームである。図2に、本実施形態にかかるゲーム画面の一例を示す。図2では、プレイヤオブジェクト201、コインオブジェクト202、敵オブジェクト205が示されている。本ゲームでは、原則として、プレイヤオブジェクト201は自動的に画面右方向に向けて移動する。そして、このプレイヤオブジェクトの移動に連動して、画面も自動的に横スクロールするものである(換言すれば、強制的に画面が横スクロールすることになる)。また、この際、画面(表示領域)上において、プレイヤオブジェクト201の画面横方向軸(横軸)における表示位置については、原則として変化させずに所定の位置を維持するようにしている。本実施形態では、この横軸上の表示位置については、画面の中央部分であるとする。
【0033】
スクロール制御についてより具体的に説明すると、まず、仮想カメラの正面方向にプレイヤオブジェクト201が位置するように仮想カメラが仮想ゲーム空間に配置される。そして、この位置関係を維持するように、プレイヤオブジェクト201の移動と連動して仮想カメラも移動する。換言すれば、表示領域を、プレイヤオブジェクト201の移動に追従するようにして画面横方向にスクロールさせるという制御が行われる。この追従の制御については、プレイヤオブジェクト201の移動に対して時間的に遅れないようにぴったりと追従させる制御でも良いし、少し遅れて追従させるような制御でも良い。
【0034】
なお、プレイヤオブジェクト201の表示位置に関しては、上記の位置に限らない。他の実施形態では、進行方向側がより広く見えるように、横軸上における画面中央よりも少し左側に固定的に表示するようにしてもよい。また、本実施形態では、画面が強制的に横スクロールするゲームを例として説明するが、スクロール方向は横方向に限るものではない。他の実施形態では、スクロール方向を縦方向や斜め方向としてもよい。
【0035】
また、本ゲームの基本的な目的は、ゲームコース内に配置されているコインオブジェクト202を集めながら、(制限時間内に)ゴール地点を目指すというものである。本ゲームでは、ゲームコースをクリアした後に「リザルト画面」(図示は省略)が表示され、獲得したコインオブジェクト202の枚数(これはスコアの意味も兼ねている)が表示されるようになっている。
【0036】
次に、本ゲームにおけるプレイヤの操作について説明する。本ゲームでは、ゲームプレイ中にプレイヤが行う操作は、基本的には、タップ操作のみとなっている。具体的には、プレイヤは、画面をタップ操作することで、プレイヤオブジェクトを「ジャンプ」させることができる。また、このタップ操作を行う位置については、特定のボタン領域等を除き、画面のどこをタップしてもよい。すなわち、本ゲームでは、(原則としてどの位置でも良いので)画面をタップしてプレイヤオブジェクト201をジャンプさせるというだけのシンプルな操作性をプレイヤに提供しているといえる。また、タップ操作の継続時間に応じて、ジャンプする高さを変化させることもでき、タップしている時間が長いほど(ホールドしているほど)、より高くジャンプさせることも可能である。(なお、その他プレイヤが行い得る操作としてはメニュー操作等も存在するが、本実施形態の処理には直接関係しないため、当該操作に関する処理の説明は割愛する)。プレイヤは、タイミング良くタップ(ジャンプ操作)を行うことで、プレイヤオブジェクト201に敵オブジェクト205を攻撃させたり、当該敵オブジェクト205や各種障害物を飛び越えさせたりすることができ、ゴールを目指してプレイヤオブジェクト201を進行させることができる。
【0037】
また、本ゲームでは、画面へのタッチ状態を継続したまま、そのタッチ位置を移動させる操作を用いることで、そのジャンプ移動に「ブレーキ」をかけるようなこともできる。具体的には、プレイヤオブジェクト201がジャンプ中に、進行方向とは逆方向に向けてこのような操作を行うことで、進行方向(具体的には、プレイヤオブジェクトが自動的に移動する方向)における速度を減速させ、「ブレーキ」をかけるようなことができる。これにより、若干ではあるが、ジャンプの着地位置をプレイヤが調整することも可能となっている。
【0038】
ここで、本ゲームにおいて、プレイヤオブジェクト201が上記敵オブジェクト205に対して取り得るアクションについて説明する。本ゲームでは、敵オブジェクトに対して以下のようなアクションをプレイヤオブジェクトに行わせることができる。
【0039】
(ジャンプ後の落下移動による攻撃アクション)
まず、プレイヤオブジェクト201をジャンプさせ、敵オブジェクトの上に着地させることで、その敵を倒す(あるいはダメージを与える)ことができる。図3に、このようなアクションの例を示す。図3では、プレイヤオブジェクト201が右方向に向けて地上を走行しており、その進行方向に敵オブジェクト205が存在している場合の例を示す。例えば、プレイヤオブジェクト201は図3のA地点に来たタイミングでプレイヤがタップ操作を行ったとする。これにより、プレイヤオブジェクト201がジャンプする(図3の軌道230:地上走行時のタップ操作によるジャンプとなる)。そして、その着地点となる位置には敵オブジェクト205が存在している。そのため、敵オブジェクト205の頭上部分に着地することになり、その結果、当該敵オブジェクト205を「踏みつけ」、当該敵オブジェクト205を倒すことができる。換言すれば、プレイヤは、プレイヤオブジェクト201が敵オブジェクト205の上に着地するようなタイミングを見計らってタップ操作を行うことで、その敵を攻撃することができる。また、踏みつけられた敵オブジェクト205については、その表示態様が変化する。具体的には、攻撃を受けて倒されたことを示すモーションが表示される。また、敵オブジェクト205を踏みつけたプレイヤオブジェクト201は、その「反動」でジャンプ移動する(図3の軌道231:ジャンプ後の落下で敵を踏みつけた反動によるジャンプとなる)。
【0040】
(タップ操作による攻撃アクション)
また、本ゲームでは、仮想空間内においてプレイヤオブジェクト201が空中にいる状態で、その下方に存在する敵オブジェクト205(地上を移動している敵オブジェクト205や、空中に存在している敵オブジェクト205)に対して、タップ操作を行うことによって、敵の頭上部分に着地することによる踏みつけ攻撃(以下、タップ操作による踏みつけ攻撃と呼ぶ)を行うことができる。以下、空中に存在している敵に対する攻撃に関して例示する。
【0041】
まず、図4に、空中に存在している敵オブジェクト205に対しての、ジャンプ後の落下移動による攻撃の一例を示す。図4では、仮想空間内の空中を左方向に向けてまっすぐ飛行している敵オブジェクト205が示される。このような状況で、プレイヤオブジェクト201が、B地点からジャンプ(プレイヤオブジェクトがB地点にいるタイミングでタップ操作)したとする。その結果、軌道232で示すようにプレイヤオブジェクト201は移動し、敵オブジェクト205の上部に着地することになる。この場合は、図5に示すように、プレイヤオブジェクト201は、敵オブジェクト205を踏みつけ、その反動で更にジャンプ移動することになる。なお、この反動によるジャンプ移動は、上記図3で示した、反動によるジャンプ移動と同様の動き(軌道231と同様のジャンプ)である。また、踏みつけられた敵オブジェクト205も、その表示態様が変化し、倒されたことを示すモーションが表示される。
【0042】
次に、空中に存在している敵オブジェクト205に対しての、タップ操作による踏みつけ攻撃について説明する。例えば、上記図4で示したような敵オブジェクト205の上に着地可能な状況であって、実際に着地する前の段階で(つまり、プレイヤオブジェクト201が空中にいる状態で)、タップ操作を行った場合、プレイヤのタップ操作に応じた踏みつけ攻撃が発生する。このときの踏みつけ後のジャンプ時におけるプレイヤオブジェクト201のアクションは、上記反動によるジャンプ移動のときとは異なる。具体的には、宙返りしながらジャンプするようなアクションが行われる(図示は省略)。
【0043】
ここで、本ゲームでは、プレイヤが行ったタップ操作の意図をよりゲームプレイに反映させやすくするために、プレイヤオブジェクト201が空中にいるときのタップ操作による踏みつけ攻撃に関して、次のような処理も行っている。まず、図6に示すように、敵オブジェクト205が左方向に向けて飛行している状況において、プレイヤオブジェクト201がB地点に位置したタイミングでタップ操作が行われたとする。このとき、上記図4の場合とは異なり、図6では、そのジャンプにおける落下の軌道上に敵オブジェクト205が存在しないような状況であるとする。すなわち、敵オブジェクト205の上に着地しないような状況であるとする。そして、本ゲームでは、図6のような状態においてプレイヤがタップ操作を行うと、図7に示すように、その敵オブジェクト205に対して、タップ操作による踏みつけ攻撃を行ったとして処理が行われる。すなわち、実際にはプレイヤオブジェクト201はその敵オブジェクト205に着地はしていないが、タップ操作が行われた時点で、そのときのプレイヤオブジェクト201の足下位置を土台とするようなジャンプ動作を行わせるとともに(このときも、宙返りしながらジャンプするようなアクションが行われる)、敵オブジェクト205に対しては、踏みつけられた場合と同じ処理(表示態様の変化等)を行うものである。
【0044】
(自動回避のアクション)
次に、更に他のアクションについて説明する。本例では、プレイヤオブジェクト201が地上を走行中に、その進行方向に存在する敵オブジェクト205に接近し、さらに、タップ操作も行われていない状況の場合、接触(衝突)しそうな敵オブジェクト205を自動的に回避するアクションも行われる。具体的には、当該敵オブジェクト205を飛び越える「馬跳び」というアクション(以下、馬跳びアクションと呼ぶ)が自動的に行われる。このアクションは、上記第1の移動制御とも第2の移動制御とも異なる、第3の移動制御ということができる。図8図9に、当該馬跳びアクションの一例を示す。上記のように、プレイヤオブジェクト201は自動的に移動するが、この場合に、図8に示すように、プレイヤオブジェクト201の進行方向に敵オブジェクト205が存在している状況(進行方向から敵オブジェクト205が近づいてきている状況)を想定する。このような場合、プレイヤが何も操作せずにいると、プレイヤオブジェクト201は、敵オブジェクト205の手前まで近づくと、図9に示すように、自動的に敵キャラクタを「馬跳び」して、接触することを回避する(自動回避)というアクションを行う(この場合は敵オブジェクト205にはダメージは与えられない)。
【0045】
また、上記馬跳びアクションの実行条件として、次のような条件について判定される。すなわち、プレイヤオブジェクトの移動速度に関する条件、プレイヤオブジェクトと地形オブジェクトとの位置関係に関する条件、敵オブジェクトと地形オブジェクトとの位置関係に関する条件、プレイヤオブジェクトと敵オブジェクトとの位置関係に関する条件、についても判定される。具体的には、次のような条件について判定される。
(1)プレイヤの移動速度が一定値以上であること
(2)プレイヤオブジェクト201が地面から離れていないこと
(3)プレイヤオブジェクト201や敵オブジェクト205の頭上に障害物が存在しないこと
(4)プレイヤオブジェクト201と敵オブジェクト205との高さの差が所定の範囲内である場合であること
1つめの条件は、プレイヤオブジェクト201の移動速度が遅い場合は、馬跳びをするには助走が足りないとして、馬跳びアクションが実行されないようにするためのものである。2つめの条件は、馬跳びをする以上、地上にいる必要があるためであり、3つの条件は、このような障害物があると馬飛びさせるスペースがないためである。4つめの条件については、原則として、敵オブジェクト205と高さ方向の距離が離れすぎている場合(段差の上に敵オブジェクト205がいる場合等、馬跳びで飛び越えられるような高さの関係となっていない場合)は、馬跳びアクションは実行されないようにするためのものである。但し、敵オブジェクト205と高さ方向の距離が離れすぎている場合であっても、特定の地形、具体的には上り坂あるいは下り坂にプレイヤオブジェクト201または敵オブジェクト205が位置している場合は、この限りでは無く、例外的に馬跳びアクションが実行される。
【0046】
ここで、上記の「馬跳びアクション」の最中(馬跳びのモーションが表示されている間)にプレイヤがタップ操作を行うと、プレイヤオブジェクト201に、当該敵オブジェクト205への踏みつけ攻撃をさせることもできる。図10にこのようなアクションの例を示すと、プレイヤオブジェクト201は、C地点において馬跳びアクションを開始する。その後、馬跳びアクションのモーションの最中に、D地点においてプレイヤがタップ操作を行ったとする。この場合、馬跳びアクションのモーションはキャンセルされ、敵オブジェクト205を踏みつけるモーションに切り替わる。そして、踏みつけた後は、プレイヤオブジェクト201は、敵オブジェクト205を土台としたようなジャンプ動作を行う。また、この場合は、プレイヤオブジェクト201については、横回転しながらジャンプするアクションが行われる。
【0047】
ところで、本実施形態では、ジャンプの種類としては、地上走行時のタップ操作によるジャンプ(例えば図3の軌道230)、ジャンプ後の落下で敵を踏みつけた反動によるジャンプ(例えば図3の軌道231)、プレイヤオブジェクト201が空中にいるときのタップ操作による踏みつけ攻撃後のジャンプ(例えば図7の軌道233)、馬跳びアクション中のタップ操作による踏みつけ後のジャンプ(例えば図10の軌道235)、という4種類があった。本実施形態では、これらいずれのジャンプの場合でも、その軌道、ジャンプの基本的な高さには違いはないものとする。また、いずれの場合も、タップ操作の継続時間に応じてジャンプの高さは変化し得るものとする。一方、ジャンプ中アクションについては、例えば、プレイヤオブジェクト201が空中にいるときのタップ操作による踏みつけ攻撃後のジャンプのときのアクションは他のジャンプ中アクションとは異なっている。このように、本実施形態では、ジャンプの軌道や高さは同じであっても、そのときにプレイヤオブジェクト201が行うアクションは異なっている、すなわち、移動制御としては、異なる移動制御処理が行われていることになる。
【0048】
但し、他の実施形態では、上記の各種ジャンプにおける軌道をそれぞれ異ならせるようにしても良い。また、逆に、上記の各種ジャンプ中アクションとして、同じアクション(同じ移動制御)を行わせるようにしても良い。
【0049】
このように、本ゲームでは、プレイヤがプレイヤオブジェクト201に対して行える操作がタップ操作(ジャンプ操作)のみというシンプルな操作性を提供しながら、敵オブジェクト205に対する多様なアクションをプレイヤオブジェクト201に行わせることができる。
【0050】
上記のようなタップ操作だけというシンプルな操作性を提供しつつ多様なアクションを容易に実現させるため、本実施形態では、以下に説明するような処理を行っている、まず、本実施形態で行われる処理の原理について説明する。本実施形態では、敵オブジェクトのそれぞれについて、プレイヤオブジェクト201との当たり判定に利用するための領域を複数持たせるという構成を採っている。換言すれば、1つの敵オブジェクトについて、複数の判定要領域を関連づけて設定している。図11に、本実施形態におけるこのような領域の構成の一例を示す。図11では、敵オブジェクト205と重なるように設定された第1判定領域251と、その上部に広がるようにして配置されている第2判定領域252(太線枠で示している)と、第1判定領域251の左側に隣接するように配置されている第3判定領域253(斜線パターンで示している)と、第1、第3判定領域を包含するようにして、左右方向に長い矩形状の第4判定領域254(点線枠で示している)とが示されている。以下、各判定領域についてそれぞれ説明する。
【0051】
まず、第1判定領域251について説明する。第1判定領域251は、敵オブジェクト205とほぼ同じ大きさの矩形領域となっており、敵オブジェクト205に重なるように設定されている。当該領域は、プレイヤオブジェクト201がこの敵オブジェクト205と接触したか否かの判定に用いられる。換言すれば、タップ操作を行うことなく(ジャンプの落下移動で)敵オブジェクト205を踏みつけるか否かの判定や、敵オブジェクトとの接触でプレイヤオブジェクト201がダメージを受けるか、等の判定に用いられる。そのため、敵オブジェクト205の形状や大きさに応じて、第1判定領域の大きさや形状も変化し得る。例えば、横長形状の敵オブジェクトであれば、横長の長方形状の領域となる。プレイヤオブジェクト201の少なくとも一部が当該第1判定領域内に位置しているとき、プレイヤオブジェクト201は当該第1判定領域251に関連づけられた敵オブジェクト205に接触(あるいは衝突)していると判定されることになる。
【0052】
次に、第2判定領域252について説明する。図11において、第2判定領域252は、その位置については、進行方向と直交する方向にずれた領域を含むような位置に設定される。具体的には、敵オブジェクト205(第1判定領域251)の上側の領域を含むようにして設定されている。その大きさについては、第1判定領域251(敵オブジェクト205)よりも、進行方向および当該進行方向と直交する方向に広くなるように設定されている。具体的な大きさは敵オブジェクト205の形状や大きさに応じて適宜設定すれば良い(換言すれば、縦横の長さについてはある程度幅があってもよい)が、基本的には、敵オブジェクト205(第1判定領域251)よりも大きな領域として設定される。また、横方向に関してみると、第2判定領域252は、敵オブジェクト205を中心として左右が対称となるような位置に設定されている。また、第2判定領域252の下辺側の一部が敵オブジェクト205および第1判定領域251と重なるような位置ともなっている。また、後述の第3判定領域253とも一部重なる位置にもなっている。
【0053】
当該第2判定領域252は、図6図7を用いて上述したような、タップ操作による踏みつけ攻撃の発生の判定のために用いられる領域である。プレイヤオブジェクト201が当該領域内に位置しているときにタップ操作が検出されたとき、更に、プレイヤオブジェクトの移動方向に関する条件と、敵オブジェクトと地形オブジェクトとの位置関係に関する条件とでそれぞれ所定の関係が満たされているか否かを判定される。具体的には、
・プレイヤオブジェクト201が落下移動中である(移動方向が下方向である)
・敵オブジェクト205の頭上となる位置に障害物(地形オブジェクト)が存在しない
という条件を満たしていれば、プレイヤオブジェクト201が敵オブジェクト205(第1判定領域251)と接触していなくても、当該第2判定領域252に関連づけられている敵オブジェクト205への踏みつけ攻撃処理が行われる。これは、このような状態でのタップ操作は、プレイヤの意図として、敵オブジェクトを足場にジャンプしたい(あるいは攻撃したい)という意図があるものと推測して、厳密には敵オブジェクト205の上に着地していないにも関わらず、着地して踏みつけたものとして扱うものである。これにより、プレイヤに多様なアクションを行わせやすくすることができる。
【0054】
但し、例外的な処理として、以下のような状況の場合は、このような攻撃処理は行われない。すなわち、図12に示すような、プレイヤオブジェクト201が敵オブジェクト205を飛び越しているような位置関係のときにタップ操作が行われても、敵オブジェクト205への踏みつけ攻撃は行われない。すなわち、敵オブジェクト205の位置を基準として、プレイヤオブジェクト201の(強制的な)進行方向における奥側にプレイヤオブジェクト201が位置する場合は、敵オブジェクト205への踏みつけ攻撃は行われない。この場合は、タップ操作を行っても、特に何も起こらずに、そのままプレイヤオブジェクト201は落下していくことになる(図13)。これは、このような敵オブジェクト205を飛び越した状態においてまで敵オブジェクト205を攻撃することは不自然さのほうが大きくなるとの観点による。なお、他の実施形態では、プレイヤの操作性を重視して、このような場合でも上記同様に踏みつけ攻撃をしたものとして扱ってもよい。
【0055】
また、図11では、第2判定領域252の下辺側の一部が敵オブジェクト205と重なるような位置となっているが、これは、プレイヤのタップ操作を拾う範囲を広げることで、よりプレイヤの意図を汲んだ操作が発生しやすくするためである。そのため、他の実施形態では、例えば図14に示すように、敵オブジェクト205と重ならないような位置、具体的には敵オブジェクト205と隣接する位置に第2判定領域252が位置するようにしてもよい。
【0056】
また、図11で示した第2判定領域252の大きさは一例であり、ゲーム内容等に応じて図11で示したものよりも大きくしたり小さくしたりしても構わない。本ゲームは、上記のようにプレイヤオブジェクト201が自動移動し、画面も自動スクロールするゲームである。そのため、プレイヤオブジェクト201の位置を少し後方に戻してジャンプし直す等、「戻ってやり直す」ということが原則的にできなくなっている。そのため、敵オブジェクト205との衝突判定について、(従来のような)上記第1判定領域のみを用いる処理のみであると、ゲームの難易度が難しくなりすぎるという側面がある。この点、本実施形態では、第2判定領域252の大きさを適宜設定することで、腕前の異なる幅広いプレイヤが快適にプレイできる難易度設計が可能となる。例えば、第2判定領域252をより大きく設定すれば、プレイヤのタップ操作の意図を汲んだ動作制御がより実行されやすくなり、腕前の低いプレイヤに対しても快適なゲームプレイを提供できる。
【0057】
なお、上記敵オブジェクト205の頭上となる位置に障害物が存在しない、という条件に関しては、より具体的には、図15に示すような、プレイヤオブジェクト201の下端から敵オブジェクト205の上端の範囲内に、障害物となるオブジェクトが存在するか否かで当該条件の判定が行われる。
【0058】
また、複数の敵オブジェクト205の第2判定領域252内にプレイヤオブジェクト201が位置している状態でタップ操作が検出された場合は、最も早くに上記のような判定が行われた敵オブジェクト205に対してのみ、踏みつけ攻撃処理が実行される。
【0059】
次に、第3判定領域253および第4判定領域について説明する。これらの判定領域は、上述した馬跳びアクションを実行するか否かの判定のために用いられる。まず、第3判定領域253について説明する。第3判定領域253については、当該領域内にプレイヤオブジェクト201が位置し、かつ、タップ操作も検出されていない場合、プレイヤオブジェクトに上記馬跳びアクションを実行させる。第3判定領域253の位置については、第1判定領域251(敵オブジェクト205)に隣接するような位置に設定されている。図11では、第1判定領域251のすぐ左側に位置している。これは、プレイヤオブジェクト201が右に向けて移動するためである。換言すれば、敵オブジェクト205からみてプレイヤオブジェクト201が近づいてくる側に第3判定領域は配置されている。また、第3判定領域253の大きさについては、本実施形態では、第1判定領域251より少し小さい程度の大きさを基本的な大きさとして、その横方向の大きさについては、プレイヤオブジェクトの移動速度に応じて可変なものとする。これは、プレイヤオブジェクト201の移動速度に応じて、馬跳びアクションの開始位置も変わるためである。例えば、移動速度が速くなるに連れて、プレイヤオブジェクト201から見てより手前となる位置から馬跳びアクションが開始されるようにする。このような動作を実現するために、プレイヤオブジェクト201の移動速度が速くなるに連れて、第3判定領域253の横方向の長さが、上記基本的な大きさのときよりも大きく設定される。なお、縦方向の大きさについては、敵オブジェクト205(第1判定領域251)と概ね同じ程度の高さとなっている。
【0060】
次に、第4判定領域254について説明する。第4判定領域は、上述した第3判定領域を利用した判定処理を実行するか否かを判定するための領域である。つまり、上記の第3判定領域253を用いる判定処理は、プレイヤオブジェクト201が第4判定領域内に位置しているときにのみ実行される。図11においては、第4判定領域は、第1判定領域251および第3判定領域253を包含している。そして、その形状は、横長の長方形状である。上記のように、プレイヤオブジェクト201の移動速度によって馬跳びアクションの開始位置が変化することから、第4判定領域254は、プレイヤオブジェクト201の進行方向において、少なくとも第3判定領域253よりも手前側の領域を含む構成となる。また、第4判定領域254は、その大きさが可変である上記第3判定領域253とは異なり、その大きさは固定的に設定される。そのため、第4判定領域254は、第3判定領域253の大きさが変化してもその全体が包含できる程度の大きさを有する。図11の例では、第4判定領域254は、第1判定領域251を中心に左右対称となるような形状、位置となっている。
【0061】
なお、上記のように、馬跳びアクション中のタップ操作で、馬跳びアクションをキャンセルして踏みつけ攻撃を行うことができるが、この場合、位置関係としては、上記第2判定領域252内にプレイヤオブジェクト201が位置するような関係ともなる。しかしながら、このような馬跳びアクション途中での踏みつけ攻撃を行う場合は、上述した第1判定領域251を用いた判定、および、第2判定領域252を用いた判定処理は行われない。すなわち、第1判定領域251内にプレイヤオブジェクト201が位置するか否かの判定や、第2判定領域252内にプレイヤオブジェクト201が位置するか否かの判定は行われない。つまり、馬跳びアクション中は、第1判定領域251および第2判定領域252を用いた判定処理は行われないものとする。判定処理の重複を避けて処理負荷を軽減するためである。
【0062】
このように、本実施形態では、1つの敵オブジェクト205に対して、衝突判定のために用いる領域を複数持たせるように構成している。このような複数の判定用領域を組み合わせることで、タップ操作のみというシンプルな操作性をプレイヤに提供しながら、プレイヤオブジェクト201と敵オブジェクト205との衝突に伴う多彩な移動制御を実現することができる。
【0063】
次に、図16図19を参照して、本実施形態におけるゲーム処理の詳細を説明する。
【0064】
図16は、スマートデバイス102のメインメモリ113に格納されるプログラムおよび情報の一例を示している。メインメモリ113には、ゲーム処理プログラム301、操作データ302、現在状態データ303、プレイヤオブジェクトデータ307、敵キャラクタデータ311、地形オブジェクトデータ312、コースデータ314等が格納される。
【0065】
ゲーム処理プログラム301は、上述したようなゲーム処理を実行するためのプログラムである。
【0066】
操作データ302は、スマートデバイス102に対して行われた各種操作を示すデータである。本実施形態では、操作データ302には、ボタンデータやタッチパネルデータが含まれる。これらのデータは操作部115に対して行われた操作内容を示すデータであり、各種ボタンの押下状態やタッチパネルのタッチ座標やタッチ継続時間等を示すデータである。
【0067】
現在状態データ303は、ゲーム中におけるプレイヤオブジェクト201の現在状態を示すためのデータである。具体的には、プレイヤオブジェクト201が、以下に示すいずれの状態であるかを示すデータである。このデータで示される状態としては、(a)自動的に移動している状態(通常移動状態)、(b)馬跳びアクションの実行中、(c)ジャンプ中、(d)踏みつけ攻撃の実行中、という少なくとも4つの状態がある。なお、初期値としては、「通常移動状態」が設定される。そして、ゲームの状況に応じて(例えば毎フレーム毎に)内容が適宜更新される。
【0068】
プレイヤオブジェクトデータ307は、プレイヤオブジェクト201を表示するためのデータである。プレイヤオブジェクトデータ307には、上述した各種のアクションに対応するモーション内容を定義したデータであるモーションデータ等が含まれている。
【0069】
敵キャラクタデータ311は、(複数種類の)敵キャラクタについて定義したデータである。敵キャラクタ毎に、その外観を示すデータや、その動作内容(行動の仕方)を示す情報、そして、上述した第1判定領域251、第2判定領域252、第3判定領域253、第4判定領域254について定義した情報等が含まれている。
【0070】
地形オブジェクトデータ312は、ゲームコースを構成する各種地形オブジェクトについてのデータである。その外観を示すデータ等が含まれている。
【0071】
コースデータ314は、ゲームコースの内容を定義したデータである。コースの地形を示す情報や、コインオブジェクトや敵キャラクタの配置を示す情報等が含まれている。当該データに基づいて、仮想ゲーム空間内にゲームコースが適宜生成されることになる。
【0072】
その他、メインメモリ113には、プレイヤオブジェクト201の移動方向(進行方向)を示す進行方向パラメータや、その移動速度を示す移動速度パラメータ、上述したジャンプを行う際の飛距離を示すジャンプ距離パラメータ等、ゲーム処理において利用される各種データも適宜記憶される。
【0073】
次に、図17図19のフローチャートを参照して、スマートデバイス102のプロセッサ部111によって実行されるゲーム処理の流れを説明する。なお、ここでは、上記の4つの判定領域を用いる処理に関してのみ説明し、その他のゲーム処理の説明については割愛する。
【0074】
図17は、上記4つの判定領域を用いる処理の詳細を示すフローチャートである。当該処理は、例えば1フレーム毎に繰り返し実行される。また、当該処理の開始前に、上述した各種判定領域を敵キャラクタデータ311に基づいて設定する処理は完了しているものとする。
【0075】
図17において、まず、ステップS1で、プロセッサ部111は、プレイヤオブジェクト201の移動処理を実行する。すなわち、プレイヤオブジェクト201を、そのときの進行方向パラメータや移動速度パラメータに応じて自動的に移動させる処理が実行される。
【0076】
次に、ステップS2で、プロセッサ部111は、プレイヤオブジェクト201がいずれかの敵オブジェクト205に関連づけられた第2判定領域252内に位置しているか否かを判定する。当該判定の結果、いずれかの敵オブジェクト205の第2判定領域252内に位置しているときは(ステップS2でYES)、ステップS3で、プロセッサ部111は、タップ操作による踏みつけ判定処理を実行する。なお、以下の説明では、当該プレイヤオブジェクト201が位置している第2判定領域252に関連づけられた敵オブジェクト205のことを、「判定対象敵オブジェクト」と呼ぶ。
【0077】
図18は、上記ステップS3にかかるタップ操作による踏みつけ判定処理の詳細を示すフローチャートである。まず、ステップS11で、プロセッサ部111は、操作データ302を参照し、タップ操作が行われたか否かを判定する。タップ操作が行われていないときは(ステップS11でNO)、後述するステップS4に処理が進められる。一方、タップ操作が行われていたときは(ステップS11でYES)、次に、ステップS12で、プロセッサ部111は、判定対象敵オブジェクトの頭上となる位置に障害物オブジェクトが存在しているか否かを判定する。その結果、何らかの障害物オブジェクトが存在しているときは(ステップS12でYES)、後述するステップS4に処理が進められる。
【0078】
一方、障害物オブジェクトが存在していないときは(ステップS12でNO)、次に、ステップS13で、プロセッサ部111は、現在状態データ303を参照し、プレイヤオブジェクト201の現在の状態が、敵オブジェクト205への踏みつけ攻撃が可能な状態であるか否かを判定する。具体的には、プレイヤオブジェクト201が、空中にいる(地面に触れていない)状態であり、かつ、落下中の状態であるか否か(上昇中の状態ではないこと)を判定する。すなわち、プレイヤオブジェクト201の移動方向が下向きであるか否かを判定する。また、これらの条件を満たしている場合、更に、プレイヤオブジェクト201と判定対象敵オブジェクト205との位置関係が、上記図12で示したような位置関係、すなわち、判定対象敵オブジェクト205よりも進行方向奥側にプレイヤオブジェクト201が位置しているか否かも判定する。そして、このような進行方向奥側にプレイヤオブジェクト201が位置していないときは、踏みつけ攻撃が可能な状態として判定される。
【0079】
当該判定の結果、踏みつけ攻撃が可能な状態ではないときは(ステップS13でNO)、後述するステップS4に処理が進められる。一方、踏みつけ攻撃可能な状態であれば(ステップS13でYES)、ステップS14で、プロセッサ部111は、踏みつけ攻撃処理を実行する。すなわち、プレイヤオブジェクト201が実際に敵オブジェクト205の上部に接触しているか否かに関わらず、プレイヤオブジェクト201をジャンプ移動させる。更に、判定対象敵オブジェクトが倒される様子を示すモーションの表示を開始する(なお、敵オブジェクトの種類によっては、所定のダメージ値を加算するだけで、累積ダメージ値が所定値以下の場合は、倒されるモーションの表示は開始しない)。そして、タップ操作による踏みつけ判定処理は終了する。
【0080】
図17に戻り、上記ステップS2の判定の結果、プレイヤオブジェクト201がいずれかの敵オブジェクト205に関連づけられた第2判定領域252内に位置していないときは(ステップS2でNO)、次に、ステップS4で、プロセッサ部111は、プレイヤオブジェクト201がいずれかの敵オブジェクト205に関連づけられた第4判定領域254内に位置しているか否かを判定する。その結果、いずれかの敵オブジェクト205の第4判定領域254内に位置しているときは(ステップS4でYES)、ステップS5で、プロセッサ部111は、馬跳び判定処理を実行する。
【0081】
図19は、上記ステップS5にかかる馬跳び判定処理の詳細を示すフローチャートである。図19において、まず、ステップS21で、プロセッサ部111は、プレイヤオブジェクト201の移動速度に応じて第3判定領域253の大きさ(横方向の長さ)を調整する処理を実行する。
【0082】
次に、ステップS22で、プロセッサ部111は、プレイヤオブジェクト201が第3判定領域253内に位置しているか否かを判定する。その結果、プレイヤオブジェクト201が第3判定領域253内に位置していないときは(ステップS22でNO)、後述するステップS6に処理が進められる。
【0083】
一方、プレイヤオブジェクト201が第3判定領域253内に位置しているときは(ステップS22でYES)、ステップS23で、プロセッサ部111は、現在状態データ303を参照して、プレイヤオブジェクト201の現在の状態が上述したような馬跳びアクション中であるか否かを判定する。その結果、馬跳びアクション中のときは(ステップS23でYES)、ステップS27で、プロセッサ部111は、馬跳びアクション中にタップ操作が行われたか否かを判定する。すなわち、上記図10を用いて説明したような状況であるか否かを判定する。その結果、行われていないときは(ステップS27でNO)、後述するステップS6に処理が進められる。行われたときは(ステップS27でYES)、ステップS28で、プロセッサ部111は、判定対象敵オブジェクトとの衝突判定を行うこと無く、当該判定対象敵オブジェクトに対する踏みつけ攻撃処理の実行を開始する。すなわち、現在状態データ303を踏みつけ攻撃の実行中を示す内容に更新する処理や、また、判定対象敵オブジェクトが倒されるモーションを示すように、その表示態様を変更する処理等が実行される。
【0084】
一方、ステップS23の判定の結果、馬跳びアクション中ではないときは(ステップS23でNO)、次に、ステップS24で、プロセッサ部111は、プレイヤオブジェクト201が馬跳びアクションを実行できる状態であるか否かを判定する。例えば、上述したような、馬跳びアクション中にタップ操作を行うことで実行される踏みつけ攻撃の最中、という状態の時は、馬跳びアクションを実行できる状態ではないと判定される。また、プレイヤオブジェクト201の移動速度についての条件も判定され、当該移動速度が所定値以下のときも、馬跳びアクションを実行できる状態ではないと判定される。また、プレイヤオブジェクト201と敵オブジェクト205との位置関係に関する条件も判定される。具体的には、プレイヤオブジェクト201と敵オブジェクトとの高さ方向の距離が離れすぎている場合も、馬跳びアクションを実行できる状態ではないと判定される(但し、上記のように、上り坂あるいは下り坂にプレイヤオブジェクト201および敵オブジェクト205が位置している場合は、馬跳びアクションは実行可能と判定される)。このようなステップS24の判定の結果、プレイヤオブジェクト201が馬跳びアクションを実行できる状態ではないときは(ステップS24でNO)、後述するステップS6に処理が進められる。
【0085】
一方、プレイヤオブジェクト201が馬跳びアクションを実行できる状態のときは(ステップS24でYES)、次に、ステップS25で、プロセッサ部111は、判定対象敵オブジェクトの頭上となる位置に障害物オブジェクトが存在しているか否かを判定する。その結果、何らかの障害物オブジェクトが存在しているときは(ステップS25でYES)、後述するステップS6に処理が進められる。一方、障害物オブジェクトが存在していないときは(ステップS25でNO)、ステップS26で、プロセッサ部111は、プレイヤオブジェクト201の馬跳びアクションのモーションを開始する処理を実行する。なお、当該馬跳びモーションに関しては、複数種類のモーションを用意しておき、その中から1つのモーションがランダムで選択されるようにしてもよい。また、この際、連続で同じモーションが選択されないように、1つ前に選択したモーションは選択されないような制御としても良い。以上で、馬跳び判定処理は終了する。
【0086】
図17に戻り、上記ステップS4の判定の結果、プレイヤオブジェクト201がいずれかの敵オブジェクト205に関連づけられた第4判定領域254内に位置していないときは(ステップS4でNO)、次に、ステップS6で、プロセッサ部111は、プレイヤオブジェクト201がいずれかの敵オブジェクト205に関連づけられた第1判定領域251内に位置しているか否かを判定する。その結果、いずれかの敵オブジェクト205の第1判定領域251内に位置しているときは(ステップS6でYES)、ステップS6で、プロセッサ部111は、当該敵オブジェクト205とプレイヤオブジェクト201との接触に伴う各種処理を適宜実行する。例えば、プロセッサ部111は、第1判定領域251内に対するプレイヤオブジェクト201の侵入角度や侵入方向を判定し、上から下に向かう軌跡で侵入していた場合は(ジャンプによる落下がこれに該当する)、当該敵オブジェクト205を踏みつける処理を実行する。また、これとは逆に下から上に向かう軌跡で侵入していた場合は、プレイヤオブジェクト201にダメージ値を加算する等の処理を実行する。
【0087】
一方、ステップS6の判定の結果、プレイヤオブジェクト201がいずれかの第1判定領域251内に位置していないときは(ステップS6でNO)、そのまま、上記4つの判定領域を用いるゲーム処理は終了することになる。そして、図示は省略するが、その他のゲーム処理、例えば、描画処理等が適宜実行される。
【0088】
このように、本実施形態では、敵オブジェクト205のそれぞれについて、衝突判定に利用する領域を複数もたせる構成としている。そして、各領域の判定結果に応じて異なる移動制御が行われる構成としている。このような複数の衝突判定用の領域を組み合わせることで、タップ操作というシンプルな操作性をプレイヤに提供するとともに、衝突に伴うプレイヤオブジェクトの多様な移動制御を実現できる。上記の例で言うと、ジャンプ動作の落下による踏みつけ攻撃や、所定の条件下でのタップ操作による踏みつけ攻撃、衝突を回避するための馬跳びアクション、といった多様なアクションの実行を、シンプルな操作性でプレイヤに提供することができる。
【0089】
なお、上述した3つの判定領域の大きさや形状に関しては、上述したものに限らない。例えば、その形状については、円形や楕円形の形状としてもよい。また、第2判定領域252および第4判定領域254に関して、上記の例では、第1判定領域251を中心に左右対称となるような位置や大きさとなっていたが、これに限らず、敵オブジェクト205からみて、プレイヤオブジェクト201が近づいてくる側の長さのほうをより長くし、その反対側は短くしたような形状、大きさであっても良い。また、第3判定領域253について、上記では第1判定領域251(敵オブジェクト205)に隣接するような位置に設定されているものを例示したが、必ずしも「隣接」する場合に限らず、例えばその一部が第1判定領域251と重なるような位置となっていてもよい。
【0090】
また、上記の例では、プレイヤオブジェクト201が画面の右方向に強制的に移動する場合を例にしていたが、この他、例えば、プレイヤオブジェクト201の自動的な移動方向が左右に切り替わるようなゲームステージ構成の場合にも、上記の処理は適用可能である。例えば、縦長のゲームステージ構成であって、左右の画面スクロールは行われず、画面の左右いずれかの端にプレイヤオブジェクト201が到達すると、進行方向が反対側に切り替わる、というステージ構成の場合である。この場合は、上述した第3判定領域253の設定について、プレイヤオブジェクト201の進行方向に応じて、敵オブジェクト205の右側または左側のいずれかに位置するように、第3判定領域253の位置を適宜変更するようにすればよい。また、このような場合は、第2判定領域252および第4判定領域254については、敵オブジェクト205を中心に左右対称の形状であるほうが、処理負荷軽減の観点からは有利である。
【0091】
また、上述した例では、1つのオブジェクトに対して複数の衝突判定関連領域を用いた処理を、強制的な横スクロール型のジャンプアクションゲームに適用した例を説明したが、ジャンプアクションゲームに限らず、例えば仮想空間を3D空間としたようなゲーム(例えば奥行き方向に強制的に移動するゲーム等)についても適用可能である。また、例えばゲーム要素がなく、仮想現実空間をプレイヤが自由に動き回れるようなアプリケーションにおいて、上述のような処理を適用してもよい。
【0092】
また、上記実施形態においては、上記のようなゲーム処理の一連の処理が単一の装置(スマートデバイス)において実行される場合を説明したが、他の実施形態においては、上記一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。さらには、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの主要な処理がサーバ側装置によって実行され、当該端末側装置では一部の処理が実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。
【0093】
また、上記実施形態にかかるゲーム処理が実現可能なゲームプログラムを格納したコンピュータ読み取り可能な記録媒体として、本実施形態にかかる処理が提供されても良い。例えばフラッシュメモリやROMやRAMのような磁気メディア、CD−ROMやDVDROM、DVD−RAM等の光媒体で提供されても良い。また、上述したフローチャートにおける各ステップの処理について、その処理順序については適宜入れ替え可能である。
【産業上の利用可能性】
【0094】
本実施例にかかるゲームプログラム等は、シンプルな操作性ながらプレイ内容が多様なゲーム処理を提供することができ、携帯型のスマートデバイスや各種ゲーム装置等の用途に有用である。
【符号の説明】
【0095】
102 スマートデバイス
111 プロセッサ部
112 内部記憶装置
113 メインメモリ
114 通信部
115 操作部
116 表示部
【要約】
【課題】シンプルな操作性をプレイヤに提供しつつも、所定のオブジェクトとの衝突に関してプレイヤオブジェクトに多様な動作・移動制御を行わせることが可能なゲームシステム等を提供すること
【解決手段】非操作対象オブジェクトのそれぞれに、第1判定領域、第2判定領域、第3判定領域を設定する。操作対象オブジェクトが第1判定領域内に位置している場合は、当該操作対象オブジェクトがその非操作対象オブジェクトと衝突したと判定して処理を実行する。また、第2判定領域内に位置している状態でタッチ入力がされた場合は、その時点で操作対象オブジェクトが非操作対象オブジェクトと衝突したと判定して処理を実行する。また、第3判定領域内に位置している場合は、非操作対象オブジェクトとの衝突を回避するように当該操作対象オブジェクトを移動制御する。
【選択図】図11
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19