IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

特許7514116ゲームプログラム、ゲーム装置、ゲーム処理制御方法、およびゲームシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-02
(45)【発行日】2024-07-10
(54)【発明の名称】ゲームプログラム、ゲーム装置、ゲーム処理制御方法、およびゲームシステム
(51)【国際特許分類】
   A63F 13/45 20140101AFI20240703BHJP
   A63F 13/55 20140101ALI20240703BHJP
   A63F 13/69 20140101ALI20240703BHJP
   A63F 13/79 20140101ALI20240703BHJP
   A63F 13/53 20140101ALI20240703BHJP
【FI】
A63F13/45
A63F13/55
A63F13/69
A63F13/79
A63F13/53
【請求項の数】 23
(21)【出願番号】P 2020105327
(22)【出願日】2020-06-18
(65)【公開番号】P2021194463
(43)【公開日】2021-12-27
【審査請求日】2023-05-16
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】110001276
【氏名又は名称】弁理士法人小笠原特許事務所
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】中田 隆一
(72)【発明者】
【氏名】木梨 玲
【審査官】安田 明央
(56)【参考文献】
【文献】特許第6648327(JP,B1)
【文献】特開2011-101754(JP,A)
【文献】特開2014-092987(JP,A)
【文献】特開平11-144087(JP,A)
【文献】Nintendo Wii Virtual Console スーパーマリオブラザーズ3 2人プレイ,[online],2017年01月17日,https://www.nintendo.co.jp/wii/vc/vc_smb3/vc_smb3_07.html,[2024年3月4日検索]
【文献】最大4人でオンライン対戦可能な「スーパーマリオメーカー 2」のみんなでバトルをプレイしてみた,[online],2019年06月28日,https://gigazine.net/news/20190628-super-mario-maker-2-online-battle/,[2024年3月4日検索]
【文献】みんなで対戦モード - マリオカート アーケードグランプリ デラックス,[online],2013年08月16日,http://web.archive.org/web/20130816012354/https://mariokart-acgpdx.bngames.net/mode/minna/,[2024年3月4日検索]
【文献】GBAソフトカタログ アクション スーパーマリオアドバンス,[online],2001年03月16日,https://game.watch.impress.co.jp/docs/20010316/gba/ninten03.htm,[2024年3月4日検索]
【文献】テトリス99,[online],2019年02月14日,https://www.famitsu.com/news/201902/14171917.html
【文献】スーパーマリオブラザーズ35,[online],2020年09月03日,https://www.famitsu.com/news/202009/03205216.html
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
(57)【特許請求の範囲】
【請求項1】
第1情報処理装置のコンピュータに実行させるゲームプログラムであって、
前記コンピュータを、
複数の対戦相手の第2情報処理装置と通信し、ゲームプレイを開始するタイミングが当該複数の対戦相手と同じになるように第1ゲームの実行を開始する実行開始手段と、
前記第1ゲームにおいて、プレイヤの操作に基づいてプレイヤオブジェクトを制御するプレイヤオブジェクト制御手段、
前記第2情報処理装置のそれぞれに対し、前記第1ゲームのゲーム状況に関する第1ゲームデータを送信する送信手段、
前記第2情報処理装置で実行される第2ゲームのゲーム状況に関する第2ゲームデータを取得する取得手段、
前記第1ゲームのゲーム状況を示す第1画像と、取得した前記第2ゲームデータに基づいた前記第2ゲームのゲーム状況を示す第2画像とを含む表示用画像を逐次生成する画像生成手段、
複数の種類が設定されており、前記第1ゲームの進行を阻害するための第1阻害オブジェクトを予め定められたルールに基づいて前記第1ゲームに出現させる第1出現手段、
取得した前記第2ゲームデータが、前記第2ゲームにおいて出現した前記第1阻害オブジェクトに対する所定のアクションを前記対戦相手が操作する前記プレイヤオブジェクトが成功させたことを示す場合には、前記第1ゲームにおいて、当該対戦相手が操作する前記プレイヤオブジェクトが当該所定のアクションを成功させた前記第1阻害オブジェクトと同じ種類のオブジェクトを第2阻害オブジェクトとして出現させる第2出現手段、
前記第1ゲームの実行中に、当該第1ゲームの進行不能条件を満たした場合は前記第1ゲームを終了し、当該第1ゲームに関し、当該終了のタイミングに基づいて前記複数の対戦相手との相対的な評価を行う評価手段、として機能させる、ゲームプログラム。
【請求項2】
前記送信手段は、前記第1ゲームにおいて前記第1阻害オブジェクトに対する前記プレイヤオブジェクトの前記所定のアクションが成功した場合、所定の対戦相手にかかる前記第2ゲームにおいて当該第1阻害オブジェクトと同じ種類のオブジェクトを前記第2阻害オブジェクトとして出現させるための情報を前記第1ゲームデータに含めて送信し、
前記ゲームプログラムは、取得した前記第2ゲームデータが、前記第2ゲームにおいて出現した前記第2阻害オブジェクトがいずれかの前記対戦相手の前記第2ゲームを進行不能状態としたことを示す場合に、前記プレイヤに所定の報酬を付与する付与手段として前記コンピュータを更に機能させ、
前記送信手段は、前記第1ゲームにおいて出現した前記第2阻害オブジェクトによって当該第1ゲームが進行不能状態となった場合には、当該第2阻害オブジェクトを出現させた前記対戦相手に前記所定の報酬を付与するための情報を前記第1ゲームデータに含めて送信する、請求項1に記載のゲームプログラム。
【請求項3】
前記送信手段は、前記第1ゲームにおいて出現する前記第1阻害オブジェクトによって当該第1ゲームが進行不能状態となった場合、または、前記第2阻害オブジェクトが第1ゲーム内に存在していない状態で、前記第1阻害オブジェクトによらずに第1ゲームが進行不能状態になった場合は、前記対戦相手へ前記所定の報酬を付与するための情報を前記第1ゲームデータに含めない、請求項2に記載のゲームプログラム。
【請求項4】
前記第1ゲームと第2ゲームとは、同じゲームである、請求項1乃至3のいずれかに記載のゲームプログラム。
【請求項5】
前記予め定められたルールとは、前記第1のゲームと第2のゲームとの間で共通で設定されるルールである、請求項4に記載のゲームプログラム。
【請求項6】
前記第1ゲームには、ゲームプレイの対象となる仮想ゲーム空間であるゲームコースが複数含まれており、
前記コンピュータは、
ゲームの開始時に、予め定められている複数のゲームコースの中から、前記プレイヤの操作に基づいていずれかのゲームコースを選択するゲームコース選択手段と、
前記プレイヤと、前記対戦相手のそれぞれが選択したゲームコースを、所定の順番で連ねることで1つの連結コースを生成する連結コース生成手段として更に機能させ、
前記第1ゲームは前記連結コースを用いるゲームである、請求項4に記載のゲームプログラム。
【請求項7】
前記連結コース生成手段は、前記プレイヤと前記対戦相手のそれぞれの前記ゲームプログラムに関するプレイ履歴に基づいて決定される前記所定の順番で前記ゲームコースを連ねることで1つの連結コースを生成する、請求項6に記載のゲームプログラム。
【請求項8】
前記ゲームコース選択手段は、前記複数のゲームコースのうち、プレイヤ毎に選択可能なゲームコースを異ならせる、請求項6に記載のゲームプログラム。
【請求項9】
前記送信手段は、前記プレイヤオブジェクトによる前記第1阻害オブジェクトへの前記所定のアクションが成功した場合、当該第1阻害オブジェクトと同じオブジェクトを前記第2阻害オブジェクトとして前記第2ゲームにおいて出現させるための出現指示をさらに送信する、請求項1乃至8のいずれかに記載のゲームプログラム。
【請求項10】
前記第2阻害オブジェクトは、前記第1阻害オブジェクトとは異なる表示態様で表示される、請求項1乃至9のいずれかに記載のゲームプログラム。
【請求項11】
前記第1のゲームは、前記プレイヤオブジェクトを仮想ゲーム世界内において予め定められている所定の進行方向に向けて移動させるゲームであり、
前記第2出現手段は、前記仮想ゲーム世界内において前記プレイヤオブジェクトの現在位置よりも前記進行方向側となる所定の位置であって、現在表示されている画面に含まれないような所定の位置に前記第2阻害オブジェクトを出現させる、請求項1乃至10のいずれかに記載のゲームプログラム。
【請求項12】
前記第2出現手段は、出現させる前記第2阻害オブジェクトが複数存在する場合は、前記第2ゲームにおいて出現した前記第1阻害オブジェクトに対する所定のアクションを前記対戦相手が操作するプレイヤオブジェクトが成功させたタイミングが早いほど、前記プレイヤオブジェクトの現在位置に近くなるような前記所定の位置に出現させる、請求項11に記載のゲームプログラム。
【請求項13】
前記第2出現手段は、前記第2阻害オブジェクトの種類に応じて、前記出現させる所定の位置を調整する、請求項1乃至12のいずれかに記載のゲームプログラム。
【請求項14】
前記第2出現手段は、前記第2阻害オブジェクトが出現した場合に前記第1ゲームが進行不能となるような位置には当該第2阻害オブジェクトを出現させないように調整する、請求項13に記載のゲームプログラム。
【請求項15】
前記送信手段は、前記第1ゲームにおいて出現した前記第2阻害オブジェクトに対して前記プレイヤが操作する前記プレイヤオブジェクトによる前記所定のアクションが成功した場合、少なくとも1つの前記第2ゲームにおいて当該第2阻害オブジェクトと同じオブジェクトを当該第2ゲームにおける第2阻害オブジェクトとして出現させるための情報を前記第1ゲームデータに含めて送信する、請求項1乃至14のいずれかに記載にゲームプログラム。
【請求項16】
前記画像生成手段は、前記第1阻害オブジェクトおよび前記第2阻害オブジェクトの出現位置を予告するための第3画像を前記表示用画像に含めて生成する、請求項1乃至15のいずれかに記載のゲームプログラム。
【請求項17】
前記ゲームプログラムは、
前記プレイヤに対し予め設定された制限時間を時間経過に応じて減算する減算手段、
前記第1ゲームにおいて、前記プレイヤオブジェクトの動作に関する所定の条件が達成された場合、前記制限時間に所定値を加算する加算手段、
少なくとも前記制限時間が0になった場合、前記第1ゲームの進行を終了する終了手段、として前記コンピュータを更に機能させ、
前記評価手段は、前記第1ゲームの進行を終了した場合、当該第1ゲームの実行を開始してから経過した実時間の長さに応じて、当該第1ゲームの結果に対して、前記複数の第2ゲームの結果との相対的な評価を行う、請求項1乃至16のいずれかに記載のゲームプログラム。
【請求項18】
前記プレイヤオブジェクトの動作に関する所定の条件は、当該プレイヤオブジェクトによる前記第1または第2阻害オブジェクトへの所定のアクションを成功させることである、請求項17に記載のゲームプログラム。
【請求項19】
前記送信手段は、前記第1ゲームにおいて前記第1阻害オブジェクトに対するプレイヤオブジェクトの所定のアクションが成功した場合、所定の対戦相手にかかる第2ゲームにおいて前記第2阻害オブジェクトを出現させるための情報を前記第1ゲームデータに含めて送信し、
前記加算手段は、前記送信された前記第1ゲームデータに基づいて前記第2ゲームにおいて出現した前記第2阻害オブジェクトが前記対戦相手の第2ゲームを進行不能状態とした場合に、当該第2ゲームにおける制限時間の残りを前記プレイヤに付与する、請求項17に記載のゲームプログラム。
【請求項20】
前記ゲームプログラムは、
複数の前記対戦相手の中から少なくとも1を選択するための方針であって、予め設定されている複数の方針のうち、前記プレイヤ操作に基づいていずれか1の方針を選択する方針選択手段と、
前記選択された方針に基づいて、複数の前記対戦相手のうち、少なくとも1を標的として特定する特定手段として前記コンピュータを更に機能させ、
前記送信手段は、前記第1ゲームにおいて前記第1阻害オブジェクトに対するプレイヤオブジェクトの所定のアクションが成功した場合、前記標的として特定した対戦相手にかかる第2ゲームにおいて前記第2阻害オブジェクトを出現させるための情報を前記第1ゲームデータに含めて送信する、請求項1乃至19のいずれかに記載のゲームプログラム。
【請求項21】
ゲーム装置であって、
複数の対戦相手のゲーム装置と通信し、ゲームプレイを開始するタイミングが対戦相手と同じになるように第1ゲームの実行を開始する実行開始手段と、
前記第1ゲームにおいて、前記プレイヤの操作に基づいてプレイヤオブジェクトを制御するプレイヤオブジェクト制御手段、
前記複数の対戦相手のゲーム装置のそれぞれに対し、前記第1ゲームのゲーム状況に関する第1ゲームデータを送信する送信手段、
前記複数の対戦相手のゲーム装置で実行される第2ゲームのゲーム状況に関する第2ゲ
ームデータを取得する取得手段、
前記第1ゲームのゲーム状況を示す第1画像と、取得した前記第2ゲームデータに基づいた前記第2ゲームのゲーム状況を示す第2画像とを含む表示用画像を逐次生成する画像生成手段、
複数の種類が設定されており、前記第1ゲームの進行を阻害するための第1阻害オブジェクトを予め定められたルールに基づいて前記第1ゲームに出現させる第1出現手段、
取得した前記第2ゲームデータが、前記第2ゲームにおいて出現した前記第1阻害オブジェクトに対する所定のアクションを前記対戦相手が操作するプレイヤオブジェクトが成功させたことを示す場合には、前記第1ゲームにおいて、当該対戦相手が操作する前記プレイヤオブジェクトが当該所定のアクションを成功させた前記第1阻害オブジェクトと同じ種類のオブジェクトを第2阻害オブジェクトとして出現させる第2出現手段、
第1ゲーム実行中に、前記第1ゲームの進行不能条件を満たす場合に前記第1ゲームを終了し、当該第1ゲームに関し、当該終了のタイミングに基づいて前記複数の対戦相手との相対的な評価を行う評価手段、として機能させる、ゲーム装置。
【請求項22】
第1情報処理装置のコンピュータが実行するゲーム処理方法であって、
前記コンピュータに、
複数の対戦相手の第2情報処理装置と通信し、ゲームプレイを開始するタイミングが対戦相手と同じになるように第1ゲームの実行を開始させ、
前記第1ゲームにおいて、前記プレイヤの操作に基づいてプレイヤオブジェクトを制御させ、
前記第2情報処理装置のそれぞれに対し、前記第1ゲームのゲーム状況に関する第1ゲームデータを送信させ、
前記第2情報処理装置で実行される第2ゲームのゲーム状況に関する第2ゲームデータを取得させ、
前記第1ゲームのゲーム状況を示す第1画像と、取得した前記第2ゲームデータに基づいた前記第2ゲームのゲーム状況を示す第2画像とを含む表示用画像を逐次生成させ、
複数の種類が設定されており、前記第1ゲームの進行を阻害するための第1阻害オブジェクトを予め定められたルールに基づいて前記第1ゲームに出現させ、
取得した前記第2ゲームデータが、前記第2ゲームにおいて出現した前記第1阻害オブジェクトに対する所定のアクションを前記対戦相手が操作するプレイヤオブジェクトが成功させたことを示す場合には、前記第1ゲームにおいて、当該対戦相手が操作する前記プレイヤオブジェクトが当該所定のアクションを成功させた前記第1阻害オブジェクトと同じ種類のオブジェクトを第2阻害オブジェクトとして出現させる、
第1ゲーム実行中に、前記第1ゲームの進行不能条件を満たす場合に前記第1ゲームを終了し、当該第1ゲームに関し、当該終了のタイミングに基づいて前記複数の対戦相手との相対的な評価を行わせる、ゲーム処理方法。
【請求項23】
複数の情報処理装置を含むゲームシステムであって、
第1のプレイヤがゲームプレイを開始するタイミングがその対戦相手となる複数の第2のプレイヤと同じタイミングとなるようにして第1ゲームの実行を開始する実行開始手段と、
前記第1ゲームにおいて、前記第1のプレイヤの操作に基づいてプレイヤオブジェクトを制御するプレイヤオブジェクト制御手段と、
複数の種類が設定されており、前記第1ゲームの進行を阻害するための第1阻害オブジェクトを予め定められたルールに基づいて前記第1ゲームに出現させる第1出現手段と、
前記第1ゲームのゲーム状況に関する第1ゲームデータに基づいた第1画像と、前記複数の第2のプレイヤそれぞれがプレイしている第2ゲームのゲーム状況に関する第2ゲームデータに基づいた第2画像とを含む表示用画像を逐次生成する画像生成手段と、
前記第2ゲームデータが、前記第2ゲームにおいて出現した前記第1阻害オブジェクトに対する所定のアクションを前記第2のプレイヤが操作するプレイヤオブジェクトが成功させたことを示す場合には、前記第1ゲームにおいて、当該対戦相手が操作する前記プレイヤオブジェクトが当該所定のアクションを成功させた前記第1阻害オブジェクトと同じ種類のオブジェクトを第2阻害オブジェクトとして出現させ
る第2出現手段と、
前記第1ゲームの実行中に当該第1ゲームの進行不能条件が満たされた場合に当該第1ゲームを終了し、当該第1ゲームに関し、当該終了したタイミングに基づいて前記複数の第2のプレイヤとの相対的な評価を行う評価手段と、を備えるゲームシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム処理に関し、より特定的には、1人でプレイすることを前提に制作されたゲームを利用したゲーム処理に関する。
【背景技術】
【0002】
従来から、プレイヤが1人で遊べるゲームが知られている。例えば、横スクロール方式のアクションゲーム等が知られている(例えば非特許文献1)。
【先行技術文献】
【非特許文献】
【0003】
【文献】任天堂株式会社、”マリオポータル ソフトコレクション”、[online]、[令和2年5月21日検索]、インターネット(URL:https://www.nintendo.co.jp/character/mario/collection/search.html)
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような1人用のゲームは、1人でプレイすることを前提として制作されており、ゲーム世界内における敵オブジェクトの配置位置や、プレイの対象となるステージやコース等の地形構成等は予め定義されていることが一般的である。そのため、プレイヤは当該ゲームを何度も繰り返しプレイすることで、敵オブジェクトの出現位置や出現タイミング、その動作パターン等を覚えることができ、ゲーム展開を事前にある程度予測することも可能となっている。
【0005】
その一方で、上記のような1人用ゲームは、繰り返しプレイすることによりゲーム展開がある程度予測可能となってしまっていた。また、1人でプレイすることを前提としたものであるため、多人数でプレイすることについては特に考慮はされていなかった。
【0006】
それ故に、本実施形態の目的は、従来では予測可能であった敵オブジェクトの出現パターンやゲーム展開を予測不可能なものとして遊ぶことができる新規なゲームプログラム等を提供することである。
【0007】
また、他の目的としては、1人用ゲームとして作られたゲームを多人数で遊ぶことができる新規なゲームプログラム等を提供することである。
【0008】
また、更に他の目的としては、1人用ゲームとして作られたゲームについて、プレイする毎に異なる構成のゲーム世界で遊ぶことができる新規なゲームプログラム等を提供することである。
【課題を解決するための手段】
【0009】
上記目的を達成するために、例えば以下のような構成例が挙げられる。
【0010】
構成例の一例は、第1情報処理装置のコンピュータに実行させるゲームプログラムであって、コンピュータを、実行開始手段と、プレイヤオブジェクト制御手段、取得手段、送信手段、画像生成手段、第1出現手段、第2出現手段、評価手段として機能させる。実行開始手段は、複数の対戦相手の第2情報処理装置と通信し、ゲームプレイを開始するタイミングが当該対戦相手と同じになるように第1ゲームの実行を開始する。プレイヤオブジェクト制御手段は、第1ゲームにおいて、プレイヤの操作に基づいてプレイヤオブジェクトを制御する。取得手段は、第2情報処理装置で実行される第2ゲームのゲーム状況に関する第2ゲームデータを取得する。送信手段は、第2情報処理装置のそれぞれに対し、第1ゲームのゲーム状況に関する第1ゲームデータを送信する。画像生成手段は、第1ゲームのゲーム状況を示す第1画像と、取得した第2ゲームデータに基づいた第2ゲームのゲーム状況を示す第2画像とを含む表示用画像を逐次生成する。第1出現手段は、予め定められたルールに基づいて、第1ゲームの進行を阻害するための第1阻害オブジェクトを第1ゲームに出現させる。第2出現手段は、取得した第2ゲームデータが、第2ゲームにおいて出現した第1阻害オブジェクトに対する所定のアクションを対戦相手が操作するプレイヤオブジェクトが成功させたことを示す場合には、第1ゲームにおいて、第2阻害オブジェクトを出現させる。評価手段は、第1ゲーム実行中に、当該第1ゲームの進行不能条件を満たした場合は第1ゲームを終了し、当該第1ゲームに関し、当該終了のタイミングに基づいて複数の対戦相手との相対的な評価を行う。
【0011】
上記構成例によれば、第1のゲームにおいて、最初から存在する第1阻害オブジェクトの他、対戦相手の操作に基づいて第2阻害オブジェクトも出現し得るゲームをプレイヤに提供できる。これにより、第2阻害オブジェクトについてはその出現位置やタイミング等が予測できないため、ゲーム展開が予測できず、新鮮な気持ちで楽しむことができるゲームをプレイヤに提供できる。
【0012】
他の構成例として、送信手段は、第1ゲームにおいて第1阻害オブジェクトに対するプレイヤオブジェクトの所定のアクションが成功した場合、所定の対戦相手にかかる第2ゲームにおいて第2阻害オブジェクトを出現させるための情報を第1ゲームデータに含めて送信してもよい。更に、ゲームプログラムは、取得した第2ゲームデータが、第2ゲームにおいて出現した第2阻害オブジェクトが対戦相手の第2ゲームを進行不能状態としたことを示す場合に、プレイヤに所定の報酬を付与する付与手段としてコンピュータを更に機能させてもよい。そして、送信手段は、第1ゲームにおいて出現した第2阻害オブジェクトによって当該第1ゲームが進行不能状態となった場合には、当該第2阻害オブジェクトを出現させた対戦相手に所定の報酬を付与するための情報を第1ゲームデータに含めて送信してもよい。
【0013】
上記構成例によれば、対戦相手のゲームに第2阻害オブジェクトを出現させることについての動機付けをプレイヤに提供できる。これにより、プレイヤ間で第2阻害オブジェクトの送り合いが発生することになり、ゲームの興趣性を高めることができる。
【0014】
他の構成例として、送信手段は、記第1ゲームにおいて出現する第1阻害オブジェクトによって当該第1ゲームが進行不能状態となった場合、または、第2阻害オブジェクトが第1ゲーム内に存在していない状態で、第1阻害オブジェクトによらずに第1ゲームが進行不能状態になった場合は、対戦相手への報酬を付与するための情報を第1ゲームデータに含めないようにしてもよい。
【0015】
他の構成例として、第1ゲームと第2ゲームとは、同じゲームであってもよい。
【0016】
上記構成例によれば、複数のプレイヤ間で同じゲームをそれぞれプレイさせることができるため、各プレイヤは共通の条件下でプレイすることとなり、不公平感をプレイヤに与えることを防ぐことができる。
【0017】
他の構成例として、予め定められたルールとは、第1のゲームと第2のゲームとの間で共通で設定されるルールであってもよい。
【0018】
上記構成例によれば、複数のプレイヤ間で共通の条件下でプレイさせることができ、不公平感をプレイヤに与えることを防ぐことができる。
【0019】
他の構成例として、第1ゲームには、ゲームプレイの対象となる仮想ゲーム空間であるゲームコースが複数含まれていてもよい。更に、コンピュータは、ゲームの開始時に、予め定められている複数のゲームコースの中から、プレイヤの操作に基づいていずれかのゲームコースを選択するゲームコース選択手段と、プレイヤと対戦相手のそれぞれが選択したゲームコースを、所定の順番で連ねることで1つの連結コースを生成する連結コース生成手段として更に機能させてもよい。そして、第1ゲームは連結コースを用いるゲームであってもよい。
【0020】
上記構成例によれば、プレイする度に構成が異なる連結コースを提供することができるため、ゲームの興趣性を高めることができる。
【0021】
更に他の構成例として、連結コース生成手段は、プレイヤと対戦相手のそれぞれのゲームプログラムに関するプレイ履歴に基づいて決定される所定の順番でゲームコースを連ねることで1つの連結コースを生成してもよい。
【0022】
上記構成例によれば、例えばプレイ回数に基づいてコースを連ねる順番を決めることができ、プレイ回数が少ないプレイヤが選んだコースを連結コースの最初のほうに出現させることができる。これにより、プレイヤのゲームの経験度や熟練度等を考慮した連結コースを生成することができる。例えば、連結コースの最初のほうにプレイ回数が少ないプレイヤでも遊べるようなコースが出現することで、ゲームに不慣れなプレイヤでも、ゲームがすぐに進行不能となってしまうことを防ぐことができる。
【0023】
他の構成例として、ゲームコース選択手段は、複数のゲームコースのうち、プレイヤ毎に選択可能なゲームコースを異ならせてもよい。
【0024】
他の構成例として、送信手段は、プレイヤオブジェクトによる第1阻害オブジェクトへの所定のアクションが成功した場合、当該第1阻害オブジェクトと同じオブジェクトを第2阻害オブジェクトとして第2ゲームにおいて出現させるための出現指示をさらに送信してもよい。
【0025】
上記構成例によれば、例えば攻撃力が高い第1阻害オブジェクトに所定のアクションを成功させると、当該攻撃力が高い第1阻害オブジェクトを第2阻害オブジェクトとして対戦相手のゲームに出現させることができる。その結果、当該第2阻害オブジェクトによって対戦相手のゲーム進行が阻害されることへの期待値も高まる。これにより、攻撃力が高い第1阻害オブジェクトに対して所定のアクションを成功させるというリスクをとるかとらないかの選択肢をプレイヤに提供することもでき、ゲームの興趣性をより高めることができる。
【0026】
他の構成例として、第2阻害オブジェクトは、第1阻害オブジェクトとは異なる表示態様で表示されるであってもよい。
【0027】
上記構成例によれば、第1阻害オブジェクトと第2阻害オブジェクトをプレイヤが容易に見分けることが可能となる。その結果、例えば第2阻害オブジェクトに対しては所定のアクションを試みない、等の選択の余地をプレイヤに提供し、ゲームの興趣性を高めることができる。
【0028】
他の構成例として、第1のゲームは、プレイヤオブジェクトを仮想ゲーム世界内において予め定められている所定の進行方向に向けて移動させるゲームであり、第2出現手段は、仮想ゲーム世界内においてプレイヤオブジェクトの現在位置よりも進行方向側となる所定の位置であって、現在表示されている画面に含まれないような所定の位置に第2阻害オブジェクトを出現させるようにしてもよい。
【0029】
上記構成例によれば、ゲームを進行させる先の位置であって、現在表示されていない仮想ゲーム世界内の位置に第2阻害オブジェクトが出現するため、プレイヤがプレイヤオブジェクトを移動させずにおくという状況を防ぎ、ゲームを先に進ませることへの動機付けを提供できる。
【0030】
他の構成例として、第2出現手段は、出現させる第2阻害オブジェクトが複数存在する場合は、第2ゲームにおいて出現した第1阻害オブジェクトに対する所定のアクションを対戦相手が操作するプレイヤオブジェクトが成功させたタイミングが早いほど、プレイヤオブジェクトの現在位置に近くなる所定の位置に出現させてもよい。
【0031】
他の構成例として、第2阻害オブジェクトには複数の種類が設定されており、第2出現手段は、第2阻害オブジェクトの種類に応じて、出現させる所定の位置を調整してもよい。
【0032】
上記構成例によれば、第2阻害オブジェクトの性質や特性に応じた適切な位置に第2阻害オブジェクトを出現させることができる。
【0033】
他の構成例として、第2出現手段は、第2阻害オブジェクトが出現した場合に第1ゲームが進行不能となるような位置には当該第2阻害オブジェクトを出現させないように調整してもよい。
【0034】
上記構成例によれば、第2阻害オブジェクトの特性とその出現位置との関係によってゲームが進行不能となってしまうことを防ぐことができる。
【0035】
他の構成例として、送信手段は、第1ゲームにおいて出現した第2阻害オブジェクトに対してプレイヤが操作するプレイヤオブジェクトによる所定のアクションが成功した場合、少なくとも1つの第2ゲームにおいて当該第2阻害オブジェクトと同じオブジェクトを出現させるための情報を第1ゲームデータに含めて送信してもよい。
【0036】
上記構成例によれば、対戦相手から送られてきた第2阻害オブジェクトを、更に他の対戦相手のゲームに出現させることができる。これにより、第2阻害オブジェクトのプレイヤ間での送り合いを活性化させることができ、ゲームの興趣性をより高めることができる。
【0037】
他の構成例として、画像生成手段は、第1阻害オブジェクトおよび第2阻害オブジェクトの出現位置を予告するための第3画像を表示用画像に含めて生成するであってもよい。
【0038】
上記構成例によれば、各阻害オブジェクトの出現位置をある程度事前に把握させることができ、プレイヤの利便性を高めることができる。
【0039】
他の構成例として、ゲームプログラムは、プレイヤに対し予め設定された制限時間を時間経過に応じて減算する減算手段と、第1ゲームにおいて、プレイヤオブジェクトの動作に関する所定の条件が達成された場合、制限時間に所定値を加算する加算手段と、少なくとも制限時間が0になった場合、第1ゲームの進行を終了する終了手段としてコンピュータを更に機能させてもよい。そして、評価手段は、第1ゲームの進行を終了した場合、当該第1ゲームの実行を開始してから経過した実時間の長さに応じて、当該第1ゲームの結果に対して、複数の第2ゲームの結果との相対的な評価を行ってもよい。
【0040】
上記構成例によれば、制限時間切れでもゲームが終了することになるため、ゲームのプレイに緊張感を持たせることができる。
【0041】
他の構成例として、プレイヤオブジェクトの動作に関する所定の条件は、当該プレイヤオブジェクトによる第1または第2阻害オブジェクトへの所定のアクションを成功させることであってもよい。
【0042】
上記構成例によれば、各阻害オブジェクトに対して積極的に所定のアクションを試みさせることへの動機付けをプレイヤに提供できる。これにより、第2阻害オブジェクトのプレイヤ間での送り合いが活発化して、ゲームの興趣性をより高めることができる。
【0043】
他の構成例として、送信手段は、第1ゲームにおいて第1阻害オブジェクトに対するプレイヤオブジェクトの所定のアクションが成功した場合、所定の対戦相手にかかる第2ゲームにおいて第2阻害オブジェクトを出現させるための情報を第1ゲームデータに含めて送信し、加算手段は、送信された第1ゲームデータに基づいて前記第2ゲームにおいて出現した第2阻害オブジェクトが対戦相手の第2ゲームを進行不能状態とした場合に、当該第2ゲームにおける制限時間の残りをプレイヤに付与してもよい。
【0044】
上記構成例によれば、第2阻害オブジェクトを対戦相手の第2ゲームに出現させることへの動機付けをプレイヤに提供できる。
【0045】
他の構成例として、ゲームプログラムは、複数の対戦相手の中から少なくとも1を選択するための方針であって、予め設定されている複数の方針のうち、ユーザの操作に基づいていずれか1の方針を選択する方針選択手段と、選択された方針に基づいて、複数の対戦相手のうち、少なくとも1を標的として特定する特定手段としてコンピュータを更に機能させてもよい。そして、送信手段は、第1ゲームにおいて第1阻害オブジェクトに対するプレイヤオブジェクトの所定のアクションが成功した場合、標的として特定した対戦相手にかかる第2ゲームにおいて第2阻害オブジェクトを出現させるための情報を第1ゲームデータに含めて送信してもよい。
【0046】
上記構成例によれば、第2阻害オブジェクトを出現させる対戦相手をある程度プレイヤに選択させる余地を与えることができる。これにより、例えばどのような対戦相手を狙って第2阻害オブジェクトを出現させるか等をプレイヤに考えさせることができ、ゲームに戦略性を持たせて、その興趣性も高めることができる。
【発明の効果】
【0047】
本実施形態によれば、1人プレイ向けに制作されたゲームを用いた、今までに無い新規な対戦ゲームを提供することができる。
【図面の簡単な説明】
【0048】
図1】本実施形態に係る情報処理システムの全体像を示す模式図
図2】ゲームシステムの外観図
図3】本体装置2の内部構成の一例を示すブロック図
図4】サーバ101の内部構成の一例を示すブロック図
図5】本実施形態に係るジャンプアクションゲームのゲーム画像の一例
図6】本実施形態に係る対戦ゲーム画像の一例
図7】アクションゲーム領域213に表示されるゲーム画像の一例
図8】アクションゲーム領域213に表示されるゲーム画像の一例
図9】アクションゲーム領域213に表示されるゲーム画像の一例
図10】予告領域214を説明するための図
図11】予告領域214を説明するための図
図12】予告領域214を説明するための図
図13】本実施形態に係るゲーム画像の一例
図14】本体装置2の記憶部84に記憶される各種データの一例を示すメモリマップ
図15】サーバ送信用データ306の構成の一例
図16】プレイヤゲーム用領域308に記憶されるデータの一例
図17】対戦相手ゲーム用領域309に記憶されるデータの一例
図18】サーバ101の記憶部112に記憶される各種データの一例を示すメモリマップ
図19】サーバ101および各ゲームシステム1との協働による全体的な処理の流れを示す図
図20】対戦ゲーム処理の詳細を示すフローチャート
図21】準備処理の詳細を示すフローチャート
図22】プレイヤゲーム制御処理の詳細を示すフローチャート
図23】アクションゲーム処理の詳細を示すフローチャート
図24】対戦相手ゲーム制御処理の詳細を示すフローチャート
図25】対戦パラメータ設定処理の詳細を示すフローチャート
図26】リザルト処理の詳細を示すフローチャート
図27】サーバ処理の詳細を示すフローチャート
【発明を実施するための形態】
【0049】
以下、本発明の一実施形態について説明する。図1は、本実施形態に係る情報処理システムの全体像を示す模式図である。本実施形態の情報処理システム100は、サーバ101と、複数のゲームシステム1とを含んでいる。サーバ101と、各ゲームシステム1とは、インターネット103を介して通信可能に構成されている。
【0050】
上記のような構成で実行される情報処理の一例として、本実施形態では、ゲーム処理を例として説明する。具体的には、各ゲームシステム1において単独のユーザの操作に基づいて他のゲームシステム1とは独立して進行するゲーム処理が実行される。そして、このゲーム処理と並行して、サーバ101を介してゲームシステム1間で当該ゲーム処理に基づく所定のデータを送受信することで、多人数参加型の対戦型ゲームを実現するゲーム処理が実行される。
【0051】
次に、本実施形態にかかるゲームシステム1について説明する。このゲームシステムはどのようなものでもよいが、図2に、一例として本例で用いるゲームシステムの外観図を示す。図2で示すゲームシステム1は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる。なお、図2は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。図2に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
【0052】
図3は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部84に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。なお、記憶部84は、例えば、フラッシュメモリやDRAM(Dynamic Random Access Memory)等の内部記憶媒体であってもよいし、図示しないスロットに装着される外部記憶媒体等を利用する構成でもよい。
【0053】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0054】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用する場合において、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0055】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
【0056】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0057】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0058】
なお、図示は省略するが、本体装置2で生成された画像や音声については、所定の出力端子を介して、外部モニタ/外部スピーカに出力することも可能である。
【0059】
[コントローラについて]
また、図示は省略するが、左コントローラ3、右コントローラ4は、それぞれ、本体装置2との間で通信を行う通信制御部を備えている。本体装置2に左コントローラ3および右コントローラ4を装着した状態では、上記左側端子17および右側端子21を介した有線通信が可能である。また、本体装置2と左コントローラ3および右コントローラ4とを別体として利用する場合は、上記端子を介さない無線通信で本体装置2と通信を行うことが可能である。通信制御部は、コントローラの各入力部から、入力に関する情報(具体的には、操作に関する情報)を取得する。そして、通信制御部は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0060】
[サーバのハードウェア構成]
次に、上記サーバ101の構成について説明する。図4は、サーバ101の内部構成の一例を示すブロック図である。サーバ101は、プロセッサ111と、記憶部112と、通信部113とを少なくとも備えている。プロセッサ111は、サーバ101を制御するための各種プログラムを実行する。記憶部112には、プロセッサ111によって実行される各種プログラムおよび利用される各種データが格納される。通信部113は、有線、または無線通信によってインターネット103と接続し、上記ゲームシステム1との間で所定のデータを送受信する。
【0061】
[本実施形態のゲーム処理の概要]
次に、本実施形態で想定するゲーム処理の概要について説明する。本実施形態では、対戦型のゲームを想定する。但し、複数のプレイヤが操作するプレイヤオブジェクトを同じプレイフィールドに登場させるようなものではなく、また、画面を共有するものではなく、各プレイヤが各自の画面で個別にかつ独自にゲームプレイを行いつつ、対戦処理も実現させるというものである。この各プレイヤが個別に行うゲームは、基本的には1人用のゲームとしてデザインされたゲームである。以下、本実施形態にかかる対戦ゲームの説明の前提として、当該1人用のゲームとしてデザインされたゲームについて説明する。具体的には、本実施形態では、横スクロール型のジャンプアクションゲームをこのようなゲームの一例として説明する。また、本ゲームでは、仮想ゲーム空間として仮想2D空間を利用する。
【0062】
[ジャンプアクションゲームについて]
図5に、当該ジャンプアクションゲームにかかるゲーム画面の一例を示す。図5では、プレイヤの操作対象であるプレイヤオブジェクト201が示されている。また、後述する敵オブジェクト202や、その他、ブロック状のオブジェクトも表示されている。本ゲームでは、複数画面分の広さを有する仮想2D空間で構成される「コース」が複数用意されている。このコースとしては、例えば、平地、火山地帯、水中、ダンジョン等、様々な環境をモチーフにしたものが用意されている。そして、この複数のコースを所定の順番で攻略していくことで、最終的なゲームクリアを目指すものである。例えば、「コース1→コース2→コース3・・・最終コース」等の順番でゲームを進める。そして、プレイヤは、各コースに設定されている「スタート地点」から「ゴール地点」を目指してプレイヤオブジェクト201を移動させる。最終的にゴール地点にプレイヤオブジェクト201が到達することで、その「コース」を「クリア」したことになる。また、本実施形態では、原則として、スタート地点はコースの左端付近、ゴール地点はコースの右端付近に設定されているものとする。そのため、基本的な進行方向(画面スクロールする方向)は「右方向」となっている。なお、本ゲームでは、進行方向とは逆方向への画面スクロールは発生しないものとする。本実施形態の場合は、画面の表示範囲内においてプレイヤオブジェクト201を右方向に移動させれば、それに伴い右方向への画面スクロールは発生する。一方、左方向に移動させた場合は、画面スクロールは発生せず、そのときの画面の表示範囲における左端の位置までしかプレイヤオブジェクト201は移動できない。
【0063】
また、スタート地点からゴール地点までの各コースの道中には、様々な「阻害オブジェクト」が配置されている。この阻害オブジェクトは、主に、ゴール地点に向けてのプレイヤオブジェクト201の進行を阻害するための様々はノンプレイヤオブジェクトである。阻害オブジェクトは、典型的には、プレイヤオブジェクト201との当たり判定が行われ得る敵オブジェクト202である。その他、「罠」等の仕掛けをモチーフにしたオブジェクトであってもよい。本実施形態では、敵オブジェクト202を阻害オブジェクトの一例として説明する。基本的には、後述の「攻撃」以外の態様で当該阻害オブジェクトとプレイヤオブジェクト201が接触すると、プレイヤオブジェクト201は、ダメージを受ける、ミスになる、等の、ゲームの進行に不利となる事象が発生する。なお、上記ブロック状のオブジェクトは、プレイヤオブジェクト201と当たり判定を有するものであるが、コースを構成する一種の「地形オブジェクト」として扱われ、本実施形態では、阻害オブジェクトとしては扱わないものとする。
【0064】
ここで、コース上に配置されている上記敵オブジェクト202は、所定のルーチンに基づいてコース内を移動するが、基本的に、プレイヤオブジェクト201がある程度近づいてこないと、その移動を開始しない。例えば、ゴール地点付近に初期配置されている敵オブジェクト202については、そのコースのプレイが開始された直後の時点では、その移動は開始しない。当該敵オブジェクト202が画面内に表示される直前の状態となるような位置までプレイヤオブジェクト201が近づいてきたときに、その移動を開始する。
【0065】
次に、本実施形態における敵オブジェクト202への攻撃方法について説明する。上記ジャンプアクションゲームにおいて、プレイヤオブジェクト201は、ジャンプやダッシュ移動等の様々なアクションを行うことができる。そして、ジャンプアクションゲームでは、プレイヤオブジェクト201がジャンプして敵オブジェクト202を踏み潰す、という態様で、敵オブジェクト202への攻撃が可能である。以下、このような敵オブジェクトを踏みつける攻撃のことを踏みつけ攻撃アクションと呼ぶ。このような踏みつけ攻撃アクションが成功すれば、その敵オブジェクトを倒すことができる。なお、攻撃方法としては、この他、弾丸を発射して敵に当てることでもダメージを与えて倒すことも可能である(以下、この攻撃方法を射撃攻撃アクションと呼ぶ)。なお、本実施形態では、プレイヤオブジェクト201は、初期状態ではジャンプによる踏みつけ攻撃アクションしか攻撃方法がなく、後述する強化アイテムの使用によって、一時的に射撃攻撃アクションが可能となるものとする。
【0066】
また、上記のような各攻撃アクションが成功せず、プレイヤオブジェクト201が敵オブジェクト202に接触する等すれば、1ミスとして扱われ、プレイヤオブジェクト201の残数が1つ減ることになる。例えば、ゲーム開始初期状態でプレイヤオブジェクト201の残数が3の場合は、3回までしかミスができないことになる。
【0067】
上記のような攻撃アクションで敵オブジェクト202を倒したり、あるいはジャンプアクション等で敵オブジェクト202を避けたりしながら、プレイヤはプレイヤオブジェクト201をゴール地点に向けて移動させる。そして、ゴール地点に到達することで、そのコースをクリアしたことになり、次のコースに進むことが可能となる。
【0068】
[制限時間について]
また、本ジャンプアクションゲームには、コースクリアに関して制限時間が設けられており、この制限時間が0になる前にゴール地点に到達することが要求される。当該制限時間は、上記図5で示したゲーム画面の右上部分に表示される。そして、制限時間内にゴールに到達できなかった場合も、1ミスとして扱われる。ここで、この制限時間については、敵オブジェクトを倒すことで制限時間を延長することが可能となっている。例えば、各コースのプレイの開始時の制限時間初期値が30カウントであるとして、1秒ごとに1カウントずつ減っていく。そして、敵オブジェクト202を1体倒す度に、所定の値が残時間に加算される。また、その攻撃方法の種類によって、加算する時間も異なっている。具体的には、踏みつけ攻撃アクションで敵オブジェクト202を倒した場合は、+5カウントされ、射撃攻撃アクションで倒した場合は、+3カウントとなる。つまり、射撃攻撃は踏みつけ攻撃よりも加算値が少なくなっている。これは、敵を攻撃する際に、射撃攻撃のほうが踏みつけ攻撃アクションよりもリスクが少ないと考えられることから、よりリスクの高い攻撃方法のほうがより多くの時間が加算されるようにして、ゲームの興趣性を高めているものである。
【0069】
[コインについて]
また、本ジャンプアクションゲームでは、コース内の所定の位置に、コインオブジェクト(図示は省略)が複数枚、適宜配置されている。当該コインオブジェクトは移動しない性質のオブジェクトである。そして、これらコインオブジェクトにプレイヤオブジェクトを接触させることで、そのコインオブジェクトを取得し、プレイヤオブジェクト201の「所持コイン」とすることができる。当該所持コインの数については、上記図5で示したゲーム画面の左上部分に表示される。本ジャンプアクションゲームでは、この所持コインを消費することを条件に、プレイヤが有利となる所定のアイテム(以下、強化アイテム)を使用することができる。具体的には、コインを所定数以上所持している状態で、強化アイテム使用のために割り当てられているボタンを押下することで、複数種類の強化アイテムの中から1つが抽選され、その強化アイテムを即時に使用することができる。この強化アイテムは、例えば、プレイヤオブジェクト201をパワーアップさせたり、一時的に無敵状態にしたり、使用時点における画面内の敵オブジェクト202の全てを倒したりするものである。また、このパワーアップの内容としては、例えば、プレイヤオブジェクトの攻撃手段を一時的に増やす(上記射撃攻撃が可能となる)等である。そのため、コインをたくさん所持している状態を維持できれば、プレイヤオブジェクトをコンスタントに強化された状態にすることもでき、より有利にゲームを進行させることも可能となる。
【0070】
[本実施形態にかかる対戦ゲームについて]
ところで、上述したジャンプアクションゲームは、1人用のゲームとしてデザインされたゲームである。本実施形態でいう1人用のゲームとは、例えば、プレイヤが操作しているプレイヤオブジェクト201が登場しているプレイ画面(ゲーム世界)内に、他のプレイヤが操作するプレイヤオブジェクトが出てこない、というものを想定している。また、上記敵オブジェクト202のコース内での初期配置位置が予め決まっているものを想定している。そのため、上記ジャンプアクションゲームは、基本的には、何度も繰り返してプレイすることで、敵オブジェクト202の配置位置や出現位置、行動パターンをプレイヤが記憶することも可能で有り、これによって、ゲームを有利に進行することも可能である。換言すれば、本実施形態でいう1人用のゲームでは、敵の出現位置やゲーム展開について、プレイヤが(ある程度)予測可能なものとなっている。
【0071】
そして、本実施形態にかかる対戦ゲームは、このような1人用ゲームを用いて、従来は予測可能であった敵の出現やゲーム展開を多様なものとして、予測不可能なゲームを楽しませるための新たなゲームを提供するものである。以下、本実施形態に係る対戦ゲームの概要について説明する。
【0072】
まず、本実施形態のゲームには、2つのゲームモードがある。1つは、対戦要素無しで純粋にシングルプレイヤのゲームとして上記ジャンプアクションゲームを楽しむ「1人プレイモード」であり、もう1つは、以下に説明するような対戦ゲーム処理が行われる「対戦モード」である。本実施形態では、この対戦モードにかかる対戦ゲームは、プレイヤ自身も含めて最大で35人のプレイヤが参加可能なゲームとなっている。なお、この対戦モードにおいては、プレイヤオブジェクト201の残数は1であるとする。つまり、1度でもミスすれば、ゲームオーバーとなり、それ以上のゲームの進行が不能になるものとする。当該対戦ゲームにおいて、各参加者は上記ジャンプアクションゲームをプレイしつつ、他の参加者に後述する「刺客」を送り込んで、他の参加者がゲームオーバーになることを誘発させることができる。そして、この対戦ゲームの勝利条件は、「最後の1人になる」ことである。いわば、当該対戦モードは、一種のバトルロイヤル的なゲームモードである。
【0073】
[対戦モードにおける画面例]
図6に、本実施形態に係る対戦ゲームのゲーム画面の一例を示す。図6に示すゲーム画面では、その表示領域が画面横方向に沿って3つの領域に分けられている。図6では、画面の中央部分には第1領域211が配置されている。第1領域211の左側には、第2領域212Lが配置され、第1領域211の右側には、第2領域212Rが配置されている(以下では総称して第2領域212と呼ぶこともある)。また、この画面は、当該対戦ゲームの参加者それぞれのゲームシステム1にかかるディスプレイ12に表示され得るものである。
【0074】
第1領域211には、上述したジャンプアクションゲームにかかるゲーム画像が表示されるアクションゲーム領域213と、予告領域214と、警告領域215とを少なくとも含んでいる。予告領域214および警告領域215については後述するため、まず、アクションゲーム領域213について説明する。対戦ゲームの参加者はそれぞれ、各自のアクションゲーム領域213に対してアクションゲームに係る操作を行い、参加者毎に個別にジャンプアクションゲームを進行させていく。図7に、アクションゲーム領域213を拡大した図を示す。アクションゲーム領域213には、上記図5でも示したようなプレイヤオブジェクト201が表示される。また、図7では示されていないが、敵オブジェクト202等も適宜表示され得る。また、所持コイン数や制限時間を示すための画像も図5と同様に示されている。
【0075】
また、上記図5にはなかった表示要素として、図7の画面では、作戦操作パネル217がアクションゲーム領域213の上端付近に表示されている。当該作戦操作パネル217は、「作戦」を選択するためのものである。詳細は後述するが、「作戦」とは、後述する「刺客」を送る対戦相手(以下、標的と呼ぶ)の選択方針の一例である。プロセッサ81は、そのときに選択されている作戦に基づいて、34人の対戦相手の中から所定のユーザを「標的」として設定する。なお、本実施形態では、当該作戦の選択操作として、右コントローラ4が備えるアナログスティックを用いる。当該アナログスティックを上下左右方向に傾けることで、各方向に対応した4つの作戦のうちの1つが選択されるものとする。図7では、作戦操作パネル217の略中央にアナログスティックを模した円の画像が表示され、その上下左右となる方向にそれぞれ、作戦名を示す選択肢画像が表示されている。このような構成で、プレイヤのゲーム操作を極力邪魔することなく、作戦の選択操作を速やかに行うことが可能となっている。
【0076】
なお、アクションゲーム領域213で実行されるゲーム処理は基本的には上記1人用のジャンプアクションゲームとなるため、対戦相手の操作するプレイヤオブジェクト201が当該アクションゲーム領域213に出現・表示されることはない。
【0077】
図6に戻り、第2領域212L、第2領域212Rには、自分以外の他のプレイヤ(以下、対戦相手と呼ぶ)がプレイしているジャンプアクションゲームのアクションゲーム領域213の状況(つまり、各対戦相手のゲーム状況)を示す画像が表示される。以下、この画像のことを対戦相手画像と呼ぶ。第2領域212のそれぞれには、画像を表示するための画像表示領域が18個含まれており、格子状に配置されている。そして、第2領域212Lについては、一番右上の1つの領域を除いた残り17個の領域それぞれについて、17人分の対戦相手にかかる対戦相手画像が表示され得る。また、第2領域212Rについては、一番左上の1つの領域を除いた残り17個の領域それぞれについて、17人分の対戦相手にかかる対戦相手画像が表示され得る。つまり、第2領域212には、合計34人分の対戦相手に係るゲーム状況を示す画像が表示され得る。一例として、上記アクションゲーム領域213のゲーム画像から所持コイン数、制限時間、作戦操作パネル217の表示を省いた画像が対戦相手画像として表示される。なお、第2領域212Lの一番右上と、第2領域212Rの一番左上の領域には、本実施形態では、装飾用の画像が表示されるものとする。他の実施形態では、対戦ゲームの進行状況等を示す情報等をここに表示するようにしてもよい。例えば、35人中、ゲームオーバーになっていない参加者が何人残っているか等を示すようにしてもよい。
【0078】
[対戦ゲームにおけるプレイ対象コースについて]
ここで、上記対戦モードにおいてプレイ対象となる上記コースに関して説明する。上記1人用モードの場合とは異なり、対戦モードにおいては、ゲーム開始前に各参加者が選択したコースを連結することで作成される、1つの大きなコース(以下、連結コースと呼ぶ)をプレイの対象とする。つまり、各参加者が、この連結コースという同じコースを用いてそれぞれジャンプアクションゲームをプレイすることになる。
【0079】
上記連結コースの生成の流れの概要を説明すると、まず、対戦モードが開始すると、参加者受付が行われる。この際、各参加者に対して、プレイしたいコースを選択させる画面が提示される。各プレイヤは提示されたコースの中からいずれか1つを選択する。この情報がサーバ101に送信され、サーバ101において、各参加者が選択したコースを順番に連ねることで1つの連結コースを作成する処理が実行される。この順番として、本実施形態では、それまでの対戦ゲームのプレイにおいて獲得した累計のコイン数(コインの獲得については後述する)が少ないプレイヤが選択したコースから順番に、各コースを連ねていくとする。本実施形態では、参加者が35人いるため、結果的に、35のコースが連ねられて1つの大きな連結コースが生成されることになる。なお、各コースのゴール地点まで到達すれば、次のコースに自動的に遷移するものとする。
【0080】
連結コース生成の一例を示す。説明の便宜上、35人の内、累計コイン数が少ない順で、プレイヤA~Eの5人のプレイヤを抜き出して説明する。例えば、各プレイヤが選択したコースとして、プレイヤAがコース1、プレイヤBがコース2、プレイヤCがコース1、プレイヤDがコース4、プレイヤEがコース3を選択したと仮定する。この場合は、連結コースとして、「コース1」→「コース2」→「コース1」→「コース4」→「コース3」・・・、という順番で各コースが連ねられた1つの連結コースが生成される。
【0081】
また、上記コースを選択させる画面について、本実施形態では、各参加者に提示される選択可能なコースの内容は参加者毎に異なり得る。本実施形態では、各参加者のプレイ履歴に基づいて、当該提示される内容が決定される。具体的には、上記1人用モードにおいてクリア済みのコース、および、未クリアのコースのうち、一番若いコース番号のコース(現在の攻略対象となっているコース)が選択可能コースとして提示される。一例を挙げると、プレイヤAはコース1~5までクリア済みで、コース6はまだクリアしていない場合を想定する。また、プレイヤBについては、コース1もクリアしていないとする。この場合、上記選択可能なコースとして、プレイヤAに対してはコース1~6が提示され、プレイヤBに対してはコース1のみが提示される。
【0082】
このように、各参加者のプレイ履歴に基づき、参加者毎に異なる選択可能コースを提示している。更に、選択されたコースについて、獲得した累計コイン数が少ないプレイヤの順に連ねていくことで、連結コースを作成している。ここで、獲得した累計コイン数が少ないプレイヤは、まだゲームをさほどやりこんでいない、初心者のプレイヤであると想定される。また、コース番号が小さいコースは、後のコースよりもその攻略難度は低いと考えられる。そのため、上記のように生成された連結コースは、初心者プレイヤが選択したコースが先に出てくるように構成され、結果的に、概ね難易度の低い順番で連ねられることが期待される。そのため、初心者が上記対戦ゲームに参加しても、ある程度はゲームを進めることができ、対戦ゲームを楽しませることができる。
【0083】
なお、他の実施形態では、上記の対戦ゲームでプレイするコースを参加者に選択させるのではなく、抽選方式で決定してもよい。この場合でも、参加者全員が当該抽選されたコースをプレイすることになる。
【0084】
[対戦モードでのプレイ開始タイミングについて]
上記のようにして、連結コースが作成されると、当該連結コースを示すデータがサーバ101から各参加者のゲームシステム1に配信され、当該連結コースを用いる対戦プレイを開始する準備が整えられる。そして、全参加者で同期を取ってカウントダウン表示が行われて、全参加者が実質的に同じタイミングで、かつ、同じスタート地点から、同じ連結コースのプレイを開始することになる。換言すれば、本実施形態では、各参加者がプレイするジャンプアクションゲームそのものは各参加者の情報処理システム1において独立したゲームとして処理されるが、その処理の開始タイミングについては参加者間で同期させている。なお、「実質的に同じタイミング」とは、厳密な意味で同じタイミングという場合だけではなく、ネットワーク遅延や多少のタイムラグ等も考慮した、多少時間に幅はあるものの「同じタイミング」でゲームを開始したとみなされる場合も含むものである。本実施形態では、カウントダウンの終了と同時に、参加者全員で共通となる所定のスタート地点(図6でプレイヤオブジェクト201がいる位置)にプレイヤオブジェクト201が出現し、操作可能な状態となるものとする。
【0085】
なお、本実施形態では、説明の便宜上、35人のプレイヤが参加する場合、すなわち、35人全員が人間である場合を例として説明する。もし参加者が35人に満たない場合は、足りない分についてはAIプレイヤとしてサーバ側が担当すればよい。そして、以下に説明するような処理を適宜サーバ101側で行うようにすればよい。なお、他の実施形態では、この足りない分については特にサーバ101による埋め合わせを行わずに、そのまま対戦ゲームを開始してもよい。例えば、参加人数が20人しかいなかった場合、この20人だけで対戦ゲームを行ってもよい。
【0086】
上記連結コースにかかる対戦ゲームが開始されれば、対戦ゲームの参加者は各自、自分のプレイヤオブジェクト201を操作して、ジャンプアクションゲームを進行させていく。そのため、基本的には、各プレイヤは1人用ゲームをプレイする感覚でジャンプアクションゲームをプレイすることになるが、これと同時に、本実施形態では以下のような対戦要素を導入している。これにより、1人用ゲームをプレイする感覚を提供しながら、対戦ゲームとしても成立させている。以下、本実施形態における対戦要素について説明する。
【0087】
[対戦相手に対する刺客送信について]
まず、本実施形態では、ジャンプアクションゲームにおいて倒した敵オブジェクト202と(実質的に)同じ敵オブジェクト202を、後述する「標的」として設定されている所定の対戦相手に送り込むことができる。ここで、「同じ敵オブジェクト」とは、名前や外観が同じ敵オブジェクトであるという意味のほか、「種類」が同じ敵オブジェクトである場合も含む。送り込まれた敵オブジェクトは、その対戦相手にかかるジャンプアクションゲーム(以下、単に「対戦相手のゲーム」と呼ぶ)において敵オブジェクト202として出現する。より正確には、送り込まれた敵オブジェクトが対戦相手のゲームの連結コース上の所定の位置に配置され、適切なタイミングで、画面内に出現することになる(この配置位置の決め方に関しては後述する)。以下では、このような対戦相手に送り込む敵オブジェクトのことを「刺客」と呼ぶ。一方、これ以外の敵オブジェクト、すなわち、最初から連結コース内に配置されている敵オブジェクトのことを「デフォルト敵」と呼ぶ。なお、当該デフォルト敵の連結コース内での初期配置位置は、各プレイヤで共通である。
【0088】
上記のように、送り込まれた刺客は対戦相手のゲームにおいて出現することになる。そして、その対戦相手が操作するプレイヤオブジェクト201が、この刺客に接触して倒される等して、ゲームオーバーとなった場合、その時点における、その対戦相手の所持コインと制限時間の残り分を獲得することができる。換言すれば、自分が送り込んだ刺客が原因で対戦相手がミスをしてゲームオーバーになった場合は、その対戦相手のコインと制限時間を獲得できるものとなっている。つまり、プレイヤは、「刺客の送り込み」という態様で、対戦相手に対して一種の攻撃を行うことができる。また、上記のように、倒した敵オブジェクトと「同じ」敵オブジェクトが送り込まれるため、より「強い」敵オブジェクトを倒すことができれば、対戦相手をゲームオーバーに追い込むことへの期待感を高めることもできる。
【0089】
また、上記とは逆に、所定の対戦相手から自分に対して刺客が送られて来ることもあり得る。この場合、対戦相手からの刺客によって自分がミスしてゲームオーバーとなってしまうと、自分の所持コインやそのときの残りの制限時間が、その刺客を送り込んだ対戦相手に付与されることになる。例えば、対戦相手Aおよび対戦相手Bからそれぞれ刺客A、刺客Bが送られてきた場合を想定する。この場合で、もし刺客Aに接触する等してミスとなり、ゲームオーバーになった場合は、今回の対戦ゲームにおいて獲得していた所持コイン、および、そのときの残りの制限時間が対戦相手Aに付与される。一方、刺客Bが原因でゲームオーバーとなった場合は、対戦相手Bのほうに当該所持コインと制限時間が付与されることになる。
【0090】
また、本実施形態では、対戦相手から送られてきた刺客を倒した場合は、その刺客を更に他の対戦相手に送り込むことも可能である。例えば、プレイヤAに対してプレイヤBから刺客Bが送り込まれた場合を想定する。また、プレイヤAは、その時点でプレイヤCを「標的」としている場合を想定する。この場合、プレイヤAが刺客Bを倒せば、当該刺客B(と同種の敵オブジェクト)をプレイヤCのゲームに送り込むことができる。
【0091】
なお、上記刺客の表示に際しては、上記デフォルト敵とはその表示態様を異ならせてゲーム画面に表示している。一例として、図8に、刺客がいない場合のゲーム画面の一例を示し、図9に、これと同じ場面で刺客が存在している場合の画面例を示す。図8では、プレイヤオブジェクト201と、3体のデフォルト敵202Aが画面内に存在している状態である。3体のデフォルト敵202は、プレイヤオブジェクト201の右側に2体、右上のブロックの上に1体存在している状態である。一方、図9では、図8と同じ場面において、3体のデフォルト敵202に加えて、更に4体の刺客202Bが存在している状態である。図9で示すように、刺客202Bの表示態様は、デフォルト敵202Aとは異なっている(図9では網掛け表示)。これにより、出現した敵オブジェクト202のうち、どれがデフォルト敵202Aであり、どれが刺客202Bであるかをプレイヤが把握しやすいようにすることができる。このような把握ができれば、プレイヤは、例えば刺客に対してはあえて攻撃せずに避けることを重視した立ち回りを行う、ということも可能となる。つまり、対戦相手に所持コインや制限時間を渡してしまうリスクを避けるようなプレイも可能となり、ゲームの戦略性やプレイの幅を広げることが可能となる。
【0092】
[刺客の配置位置について]
ここで、上述した刺客が対戦相手のゲームに送られる際の、その配置位置の決定手法(以下、配置ルール)について説明する。本実施形態のジャンプアクションゲームでは、様々な種類の敵オブジェクト202が出現する。本実施形態では、これら敵オブジェクトについて、グループAとグループBとの2つのグループに分け、それぞれのグループで配置ルールを異ならせている。なお、本実施形態の場合は、グループBに属する敵オブジェクトは、グループAに属する敵オブジェクトよりも、その動作ルーチンの特殊性が高い敵オブジェクトであるとする。例えば、地形等の当たり判定を無視して移動するような敵オブジェクト等である。更に、グループBに属する敵オブジェクトについては、それぞれ個別に配置ルールが異なっていてもよい。
【0093】
まず、グループAに属する敵オブジェクトが刺客として送り込まれた場合の配置ルールを説明する。この場合は、原則として、以下の条件を全て満たすような位置に配置される。
・現在位置の1画面分先の位置からゴール地点までの間となる範囲内の位置。
・直下に地面やブロック等の「足場」がある位置。
・ブロックや他の敵オブジェクトとは重ならない位置。
このような条件を満たす位置に、刺客が送り込まれた順番(刺客の素となった敵オブジェクトに対する各プレイヤの攻撃が成功した順番)で、送り込まれた先のプレイヤオブジェクト201の現在位置に近い位置から配置する。なお、刺客の具体的な配置位置について、他の実施形態では、上記の条件を満たすことを前提に、その配置位置をランダムで決めてもよい。
【0094】
また、現在プレイ中のコース内に刺客が配置できない場合は、その次のコース内に配置する。この際、刺客の挙動を配置先のコースの環境に応じて変化させても良い。例えば、通常は平地のコースに出現し、地面を歩くモーションで移動する敵オブジェクト202が水中をモチーフとしたコースに刺客として配置された場合は、これが画面内に出現した際、泳ぐモーションで移動させてもよい。
【0095】
次に、グループBに属する敵オブジェクトが刺客として送り込まれた場合の配置ルールを説明する。グループBについては、これに属する敵キャラクタ毎に、上記グループAのルールをベースとして、独自の配置ルールが設けられている。一例として、敵キャラクタA~Dという、4種類の敵キャラクタについて個別に設定される配置ルールの例を示す。まず、敵キャラクタAの場合は、接地できる位置であれば、ブロックと重なるような位置でも配置可能であるとする。敵キャラクタBの場合は、上記グループAの配置ルールに従って、上記ゲーム画面の横軸方向における所定の位置を決定する。この位置は、「出現トリガー位置」として設定されており、プレイヤオブジェクト201がこの位置を通過したとき、画面下部のいずれかランダムな位置から敵キャラクタBが出現する。次に、敵キャラクタCの場合は、敵キャラクタBと同様に出現トリガー位置が決定される。そして、この位置をプレイヤオブジェクトが通過した場合、画面の右端のいずれかの位置から敵オブジェクトCが出現する。最後に、敵キャラクタDの場合は、直下に地面やブロック等の「足場」がない位置であっても配置可能とし、更に、ブロックと重ならない場所でも配置可能とする。
【0096】
このように、本実施形態では、プレイヤオブジェクトの現在位置よりも進行方向側となる所定の位置であって、ゲームが進行不能とならないような位置に刺客を次々に配置している。そのため、送られた刺客の数次第では、1人プレイモードで出現する敵オブジェクト数の数倍規模で敵オブジェクト(刺客)が出現することもあり得るものとなっている。これにより、1人プレイモードの場合と異なり、プレイヤが予測不能なゲーム展開を楽しませることができる。
【0097】
[予告領域について]
次に、上記図6で示した予告領域214に関して説明する。この予告領域には、上述したような刺客やデフォルト敵とプレイヤオブジェクト201(の現在位置)との距離をある程度視覚的に把握できるように、これらの位置関係を簡易的に表示するための領域である。図10に、予告領域214の拡大図を示す。図10において、予告領域214は、現在画面フィールド221と、前方フィールド222との2つの領域を有している。現在画面フィールド221は、アクションゲーム領域213に現在表示されている仮想ゲーム空間内の範囲に対応するフィールドである。そして、前方フィールド222は、2画面分前方の範囲に対応するフィールドである。現在画面フィールド221には、プレイヤオブジェクト201に対応するミニプレイヤ画像223が表示されている。一方、前方フィールド222には、図10では、5体のミニ敵画像224が含まれている。図10の例で言うと、おおよそ1画面先までの範囲内には2体の敵オブジェクト202が存在しており、更にその先1画面分の範囲内に3体の敵オブジェクト202が存在していることが把握できる。なお、このミニ敵画像224においても、上記と同様にデフォルト敵と刺客とは、その表示態様を異ならせて表示する。そして、プレイヤオブジェクト201と敵オブジェクト202との配置位置間の距離に応じて、ミニ敵画像224の位置を移動させることで(つまり、ミニプレイヤ画像223の表示位置は固定)、両者の位置関係を簡易的に表示する。そして、ミニ敵画像223に対応する敵オブジェクト202が画面内に表示されるようになると(つまり、アクションゲーム領域213内で目視できるようになると)、そのミニ敵画像224は前方フィールド222から消去される。
【0098】
また、予告領域214で表示されている範囲内に刺客が新たに配置された場合、その旨が把握できるような演出も行われる。図11および図12に、この演出にかかる画面の一例を示す。まず、予告領域214に対応する仮想ゲーム空間範囲内に刺客が新たに配置されると、図11に示すような出現エフェクト225が表示される。その後、図12で示すように、刺客に対応するミニ敵画像224がこの位置に表示される。これにより、プレイヤは、新たに敵が配置されたことをほぼリアルタイム把握することができる。
【0099】
[標的の設定について]
次に、上記で言及した「標的」に関して説明する。本実施形態では、「標的」として設定されている対戦相手に上記刺客を送り込む。この当該「標的」は、後述する「作戦」に応じてプロセッサ81が設定するものである。また、本実施形態では、原則として、「標的」として設定できる対戦相手は1人だけである。一部の「作戦」では、複数の対戦相手を「標的」として設定可能である。そして、「標的」として設定された対戦相手にかかる対戦相手画像については、図13に示すように、標的画像231が重畳表示される。これにより、どの対戦相手を「標的」としているのかについてプレイヤに把握させやすくすることができる。
【0100】
次に、自分がいずれかの対戦相手から「標的」とされている場合のゲーム画像の表示に関して説明する。この場合は、上記図13に示すように、警告領域215に「CAUTION」という文字列が表示される。さらに、自分を「標的」にしている対戦相手にかかる対戦相手画像(の中点)と当該警告領域215とを結ぶ直線232も表示される。また、自分を「標的」にしている対戦相手にかかる対戦相手画像については、太枠で囲まれたような表示態様に変化している。図13の例では、第2領域212Rの一番右上の領域に対応する対戦相手がプレイヤを「標的」としていることが示されている。このような表示を行うことで、特に本実施形態で想定するような多数の対戦相手が存在するゲームにおいて、プレイヤは、自分が「標的」とされている状況を把握しやすくなる。例えば、どの対戦相手が自分を「標的」としているのか、何人の対戦相手から「標的」とされているのか、等を容易に把握することが可能となる。なお、このような「標的」にされていることを示す手法については、本例のような警告領域215と直線232とを利用した画像の表示に限るものではない。対戦相手がプレイヤを「標的」として特定していることを判別可能とする目的が達成できるのであれば、どのような画像や表示態様を用いてもよい。
【0101】
なお、上記標的とする対戦相手や、標的にされている対戦相手については、後述の「作戦」に応じて刻々と変化する。そのため、特に「作戦」を変更しなくても、標的画像231や上記直線163の表示位置は刻々と変化し得る。
【0102】
[作戦について]
次に、上述した作戦に関して説明する。本実施形態にかかる対戦ゲームにおいて、作戦は、ゲームオーバーとなっていない対戦相手の中から「標的」を決定する方針として用いられる。まず、当該作戦の意義について説明する。本ゲームは、35人という大人数で対戦するものであり、自分以外に34人もの対戦相手が存在する状態となる。また、本ゲームでは上記のように「標的」を選択する必要性がある。この「標的」の選択方法として、例えば上記第2領域152に表示される合計34個の対戦相手画像の中から任意の1つをユーザが直接的に選択する操作を行わせる、ということも考えられる。しかし、本ゲームのようなジャンプアクションゲームでは、その操作にある程度リアルタイム性が求められる。そのため、プレイヤオブジェクト201の操作と並行してこのような多数の中から「標的」とする相手を吟味し、選択する操作を行うことは困難であると考えられる。そこで、本実施形態では、「標的」を選択するための方針である作戦をユーザに提示し、プレイヤオブジェクト201の操作と併用可能な簡易な操作でこの作戦が選択可能なように構成している。そして、実際の「標的」の選択については、選択中の作戦に基づいてプロセッサ81が所定の対戦相手を選択し、「標的」として設定する処理を実行する。
【0103】
次に、本実施形態で予め定義されている作戦の例を示す。本ゲームでは、以下の4つの作戦が選択可能なようにユーザに提示される。なお、これらの作戦名を示す文字列は、図で示した上記作戦操作パネル217の上記選択肢画像において表示されているものとする。
作戦1:ピンチ狙い
作戦2:ランダム
作戦3:コイン狙い
作戦4:カウンター
以下、各作戦について説明する。
【0104】
[作戦1:ピンチ狙い]
この作戦は、制限時間の残りが最も少ない対戦相手を「標的」とする方針の作戦である。つまり、ゲームオーバーに追い込みやすそうな対戦相手を狙う作戦といえる。なお、残り制限時間が同じ対戦相手が複数存在する場合は、1人をランダム選択するようにしてもよい。
【0105】
[作戦2:ランダム]
この作戦は、ゲームオーバーとなっていない対戦相手の中から1人をランダムで選択して「標的」に設定する作戦である。本実施形態では、ゲーム開始直後はこの作戦がデフォルトで選択されているものとする。
【0106】
[作戦3:コイン狙い]
この作戦は、ゲームオーバーとなっていない対戦相手の中で、所持コイン数が最も多い対戦相手を「標的」に設定する作戦である。自分が送り込んだ刺客が対戦相手をゲームオーバーに追い込んだ場合、その対戦相手の所持コインを獲得できるため、所持コイン数を積極的に増やしたい場合に有効な作戦といえる。
【0107】
[作戦4:カウンター]
この作戦は、自分を「標的」にしている対戦相手を「標的」として設定する作戦である。また、自分を「標的」にしている対戦相手が複数いれば、その全員を「標的」として設定する。上記のように、本ゲームでは「標的」は原則として1人ではあるが、当該「カウンター」作戦については、複数の「標的」を設定可能となっている。そのため、この場合は、上記図13で示したような標的画像231も複数同時に表示され得る。また、「カウンター」作戦を選択している状態において、自分を「標的」とする対戦相手の数が変動すれば、それに伴って、「標的」とする相手および標的画像231の表示位置も適宜変更されることになる。
【0108】
なお、「作戦」については上記に限るものではなく、他の実施形態では、他の選択方針による「作戦」を選択可能なようにプレイヤに提示するようにしてもよい。
【0109】
また、更に他の実施形態では、上記のような「作戦」の指定によって標的を設定する操作方法と、プレイヤが直接的に「標的」を指定する操作方法とを併用可能なように構成してもよい。これにより、「作戦」(「標的」を決定する方針)を選択操作で半自動的に「標的」を決定できることに加え、プレイヤが直接「標的」とする対戦相手を決定することもできるため、「標的」の決定に関して、よりプレイヤの意思を反映させやすくすることができる。
【0110】
上述のようにして、参加者間で刺客を送り合うことで対戦ゲームが進行する。そして、刺客が原因でゲームオーバーとなった場合は、その刺客の送り主のプレイヤに所持コインや残りの制限時間が付与される。ここで、刺客に起因せずにゲームオーバーとなった場合について補足説明する。これは例えば、連結コース上に存在する「穴」にプレイヤオブジェクト201が落ちた場合や、デフォルト敵との接触でゲームオーバーになった場合や、制限時間が0となった場合、等である。このような場合であって、例えばプレイヤAが、対戦相手からの刺客が送り込まれている状態において、これら刺客に起因せずにゲームオーバーとなった場合は、最後に刺客を送ったプレイヤに対して、上記所持コインおよび制限時間の残りが付与されてよい。一方、対戦相手からの刺客が1体も送られていない状態でゲームオーバーとなった場合、プレイヤAの所持コインおよび制限時間の他のプレイヤへの付与は行われないものとしてよい。なお、他の実施形態では、刺客に起因せずにゲームオーバーとなった場合、対戦相手からの刺客の存在の有無に関わらず、プレイヤAの所持コインおよび制限時間の他のプレイヤへの付与は行わないようにしてもよい。更に、この場合は、当該プレイヤA(および、これと同様の展開でゲームオーバーとなった他のプレイヤ)の所持コインをプールしておき、最終的に1位になったプレイヤに対して、プールした所持コインを付与するようにしてもよい。
【0111】
[ゲームオーバー後にユーザができることについて]
次に、ゲームオーバーとなった場合の処理に関して説明する。上記のように、本対戦ゲームは「最後の1人になる」ことを目指すゲームであるが、そうなる前にゲームオーバーとなった場合、プレイヤは、ゲームを終了してゲーム画像の表示を終わらせることもできる。その一方で、引き続き、対戦相手同士の対戦を「観戦」することも可能である。例えば、ゲームオーバーになったときに、プレイヤに対して、この後観戦するか否かの問い合わせが行われる。これに対してユーザが観戦することを選べば、今回プレイした対戦ゲームが終了するまで(最後の1人が確定するまで)、ゲーム画像は表示され続ける。この場合、第1領域211の表示内容については、ゲームオーバー時の内容が表示されたままとなり、第2領域212については、その後の対戦ゲームの状況に応じてその表示内容が変化することになる。すなわち、まだゲームオーバーとなっていない対戦相手についてはそのゲーム状況を示す画像が引き続き示される。ゲームオーバーとなった対戦相手については、例えば「KO」の文字が表示される。更に、その対戦相手と他のプレイヤとの相対的な評価も示される。本実施形態では、この相対的な評価の一例として、その対戦相手の順位(ゲームオーバーになった時点での順位)を示す数値が対戦相手画像として表示される。また、ゲームオーバー後、上記のように観戦している対戦相手については、KOの文字に加えて、例えば「WATCH」の文字が表示される。このように、第2領域212には、対戦相手がゲームオーバーになった場合は、そのことを示す画像と順位が表示される。また、当該ゲームオーバーになった対戦相手が観戦することを選択した場合は、そのことを示す表示も行われる。これにより、どの対戦相手がゲームオーバーになり、どの対戦相手がその後観戦しているのかについて、把握しやすくすることができる。
【0112】
上記のように対戦ゲームが進行し、最後の1人が確定すれば、対戦ゲームの終了条件が満たされる。そして、ゲームの進行は停止し、各プレイヤの最終順位等を示すリザルト画面(図示は省略)が表示された後、当該対戦ゲームは終了する。
【0113】
このように、本実施形態では、対戦モードにおいて、各プレイヤは1人用ゲームをプレイする感覚でジャンプアクションゲームをプレイしつつ、刺客を送り合うことによる対戦ゲームの要素も導入している。これにより、1人用ゲームで対戦を楽しむことができるという、今までに無い新規なゲームを提供している。
【0114】
[本実施形態のゲーム処理の詳細]
次に、図14図27を参照して、本実施形態におけるゲーム処理についてより詳細に説明する。なお、ここでは主に、上記対戦モードにかかるゲーム処理について説明し、上記「1人プレイモード」等の他のゲーム処理についての説明は省略する。
【0115】
[使用データについて]
まず、本ゲーム処理にて用いられる各種データに関して説明する。図14は、本体装置2の記憶部84に記憶される各種データの一例を示すメモリマップである。本体装置2の記憶部84には、ゲームプログラム301が記憶される。また、対戦ゲーム処理で用いられる各種データが記憶される対戦ゲーム処理用領域305も含まれている。
【0116】
ゲームプログラム301は、本実施形態にかかるゲーム処理を制御するためのプログラムであり、アクションゲームエンジン302、画像データ303、基本コースデータ304等が含まれている。アクションゲームエンジン302は、対戦ゲーム全体において、上述したようなジャンプアクションゲーム部分を実現するためのゲームプログラムの集合体であり、説明の便宜上、この集合体のプログラムを総称したものである。本実施形態では、当該アクションゲームエンジン302を用いた処理を実行することで、上述したジャンプアクションゲームが実現される。画像データ303は、ジャンプアクションゲームにかかる各種画像のデータであり、基本コースデータ304は、当該ジャンプアクションゲームにおける上述した各コースの構成を示すデータである。具体的には、各コース毎に、そのコースを形作る各種地形オブジェクト等の配置や、各コースに出現する上記デフォルト敵の配置位置や、上記コインの配置位置等の情報が含まれている。アクションゲームエンジン302の実行に際して、これら画像データや基本コースデータ等を用いて処理することで、上記のようなジャンプアクションゲームにかかる処理が実行される。そして、処理結果が反映されたゲーム画像(すなわち、アクションゲーム領域213や第2領域212に表示される画像)が生成される。
【0117】
なお、本実施形態では、1つのゲーム装置において、35の上記アクションゲームエンジンを並列的に動作させるものとする。つまり、35人分のそれぞれ独立したジャンプアクションゲーム処理を1つのゲーム装置内で動作させる態様である。このうちの1つがプレイヤに割り当てられ、残り34の処理は対戦相手用として割り当てられる。そして、この34人分の対戦相手に対応するジャンプアクションゲームの処理では、各対戦相手からの操作データを受信し、これを用いて処理することで、対戦相手にかかるゲーム処理を再現する。そして、そのゲーム画像を第2領域212に表示する等することで、対戦ゲームの処理を進行するものである。各参加者の操作データに基づき、共通のアクションゲームエンジン302を用いてジャンプアクションゲームを処理するため、結果的に、対戦ゲーム参加者の各ゲーム装置において、同じゲーム展開が実現されることになる。
【0118】
対戦ゲーム処理用領域305には、本実施形態に係る対戦ゲーム処理で用いられる各種データが記憶される。具体的には、サーバ送信用データ306、受信データ307、プレイヤゲーム用領域308、および、34の対戦相手ゲーム用領域309とが含まれる。
【0119】
サーバ送信用データ306は、プレイヤのゲーム状況をサーバ101に送信するためのデータである。当該データは、サーバ101を介して、最終的に対戦相手のそれぞれに送られることになる。図15に、当該サーバ送信用データ306のデータ構成の一例を示す。図15において、サーバ送信用データ306には、参加者ID321とタイムスタンプ322と送信用操作データ323とKO状態情報324とが少なくとも含まれる。参加者ID321は、各参加者を一意に識別するためのIDである。本実施形態では、対戦ゲームを開始する際に(例えば参加者受付終了後に)、適宜参加者ID321が各参加者に割り当てられるものとする。タイムスタンプ322は、当該サーバ送信用データを送信した日時を示すデータである。換言すれば、次に説明する操作データにかかる操作が行われた日時を示すデータであり、複数の参加者の間で、刺客を送り込んだ順番を判別するためにも用いられる。送信用操作データ323は、プレイヤの操作内容を示すデータであり、後述する操作データ333がこれにコピーされたものである。KO状態情報324は、各参加者がゲームオーバーになったか否かをサーバ101側で把握するために用いる情報である。
【0120】
受信データ307は、サーバ101から受信した、対戦相手のゲーム状況を示すためのデータである。その内容は、上記サーバ送信用データ306が34件含まれたものである(つまり、対戦相手34人分のサーバ送信用データ306である)。
【0121】
図14に戻り、プレイヤゲーム用領域308は、上記プレイヤがプレイするジャンプアクションゲームの処理を行うための各種データを記憶するための領域である。図16に、当該プレイヤゲーム用領域308に記憶されるデータの一例を示す。プレイヤゲーム用領域308には、1人用モード進捗情報331、コイン累計獲得数情報332、操作データ333、所持コイン情報334、制限時間情報335、KO状態情報336、連結コース情報337、刺客配置位置情報338、作戦・標的情報339、ゲーム画像格納領域340、等が記憶される。
【0122】
1人用モード進捗情報331は、そのプレイヤが上記1人用モードにおいてどこまでゲームを進めているのかを示す情報である。換言すれば、1人用モードにおいて、どのコースまでクリア済みであるのかを示す情報である。この情報は、上記連結コースの生成に際して各プレイヤに提示するコースを決めるために用いられる。
【0123】
コイン累計獲得数情報332は、それまでにそのプレイヤが行った対戦プレイにおける、累計でのコイン獲得枚数を示す情報である。例えば過去に対戦プレイを3回行ったプレイヤの場合は、この過去3回の対戦プレイの結果獲得したコインの累計枚数が示されることになる。当該情報は、上記連結コースを生成する際に用いられる。
【0124】
なお、上記1人用モード進捗情報331およびコイン累計獲得数情報332については、サーバ101にセーブデータとして記憶されていてもよい。つまり、1人用モードや対戦モードも含めた各プレイヤのプレイ状況を示すセーブデータをサーバに保存(クラウドセーブ)しておき、必要に応じて適宜取得するような構成でもよい。もちろん、ゲーム装置にこのようなセーブデータを保存する形式でもよい。
【0125】
次に、操作データ333は、上記左コントローラ3および右コントローラ4から得られるデータであり、プレイヤの操作内容を示すデータである。当該操作データ333には、各コントローラが有する各種ボタンの押下状態を示すデジタルボタンデータや、アナログスティックに対する操作内容を示すアナログスティックデータ等が含まれている。
【0126】
所持コイン情報334は、今回行われる対戦ゲームにおいて獲得したコインの所持数を示す情報である。対戦ゲーム開始時は0枚から始まり、ゲーム展開に応じて増減することになる。
【0127】
制限時間情報335は、上述した制限時間を示す情報であり、これも、ゲームの展開に応じて増減することになる。
【0128】
KO状態情報336は、そのプレイヤがゲームオーバーとなったか否かを示すための情報である。同時に、ゲームオーバー後観戦中であるか否かを示す情報でもある。プレイヤがゲームオーバーになった状態、または、まだゲームオーバーではない状態の、いずれかの状態を示す情報が設定される(初期値は後者である)。
【0129】
連結コース情報337は、上記のような連結コースの構成内容を示すための情報である。本実施形態では、35のコースを示す情報(コース1、コース2等)が、連結コースにおけるその出現順に格納される。
【0130】
刺客配置位置情報338は、そのプレイヤにかかるジャンプアクションゲーム内における、対戦相手からの刺客の配置位置・出現位置を示すための情報である。つまり、連結コース上のどの位置に対戦相手からの刺客が配置されているのかを示す情報である。例えば、連結コース内における位置情報と、そこに配置された刺客の情報(その送り主と敵の種類等を示す情報)とが対応づけられて含まれている。
【0131】
作戦・標的情報339は、上述したような「作戦」と「標的」に関する情報である。具体的は、現在選択されている「作戦」を示す情報を、この作戦に基づいて「標的」として設定されている対戦相手を特定するための情報である。
【0132】
ゲーム画像格納領域340は、そのプレイヤにかかるジャンプアクションゲームの画像を一時的に保存するための、一種のフレームバッファである。ここに保存された画像が上記図6のアクションゲーム領域213に1フレーム周期(例えば1/60秒周期)で表示される。
【0133】
その他、図示は省略するが、プレイヤゲーム用領域308には、そのプレイヤにかかるジャンプアクションゲームで用いられる各種データも適宜記憶される。
【0134】
図14に戻り、次に、対戦相手ゲーム用領域309は、対戦相手にかかるジャンプアクションゲームを処理するための領域であり、34人分の領域を個別に用意したものである。図17に、1人分の対戦相手ゲーム用領域309に記憶されるデータの一例を示す。図17では、操作データ361、所持コイン情報362、制限時間情報363、KO状態情報364、連結コース情報365、刺客配置位置情報366、作戦・標的情報367、ゲーム画像格納領域368等が記憶される。これらのデータは、基本的には、上記図16を用いて説明した操作データ333~ゲーム画像格納領域340と同じものである。そのため、詳細な説明は割愛する。なお、本実施形態では、対戦相手ゲーム用領域309における操作データ361には、サーバ101を介して取得した各対戦相手の操作データの内容が設定される。そして、プロセッサ81がこの操作データ361に基づいて(対戦相手の)プレイヤオブジェクト201を動作制御し、その結果に基づきジャンプアクションゲーム処理が行われて、所持コイン情報362等のその他のデータ内容が適宜更新される。これにより、対戦相手のゲーム展開・ゲーム状況がプレイヤのゲームシステム1において再現されることになる。
【0135】
[サーバに記憶されるデータ]
次に、サーバ101で用いられるデータに関して説明する。図18は、サーバ101の記憶部112に記憶される各種データの一例を示すメモリマップである。サーバ101の記憶部112には、サーバ処理プログラム381、参加者データ382、送信用連結コースデータ383、参加者状況受信データ384、送信用対戦相手データ385等が記憶されている。
【0136】
サーバ処理プログラム381は、本実施形態にかかるゲーム処理においてサーバ101が担当する機能を処理させるためのプログラムである。主に、各ゲームシステム1から送信されるサーバ送信用データ306の受信処理、上記AIユーザの処理が必要な場合は、AIユーザとしてゲームを進行する処理、各ゲームシステム1に送信するためのデータを生成して送信する処理、対戦ゲームの進行状況を管理するための処理等が当該プログラムによって実行される。
【0137】
参加者データ382は、本実施形態にかかる最大35人の対戦ゲームに参加したプレイヤを特定するためのデータである。例えば各プレイヤのプレイヤID等が記憶される。また、対戦ゲームの進行制御に関する情報も適宜記憶される。例えば、各プレイヤがゲームオーバーになっているか否かの情報や、各プレイヤの現在順位を示す情報等である。
【0138】
送信用連結コースデータ383は、対戦ゲームの開始に際して生成した連結コースの構成を示すデータであり、参加者のゲームシステム1に送信するためのデータである。
【0139】
参加者状況受信データ384は、各ゲームシステム1から送信されてきたサーバ送信用データ306を一時的に記憶したデータである。このデータに基づいて、送信用対戦相手データ385が生成あるいは更新される。
【0140】
送信用対戦相手データ385は、各ゲームシステム1に、対戦相手の状況を送信するためのデータである。本実施形態では、上記のように、主に各プレイヤの操作データを送信する。そのデータ構成としては、送信先に応じて変化するものであり、その送信先のゲームシステム1にかかるプレイヤのデータを抜いた、残り34人分のサーバ送信用データ306となる。
【0141】
[全体的な処理の流れ]
次に、本実施形態にかかる対戦ゲーム処理の詳細を説明する。まず、図19を用いて、サーバ101および各ゲームシステム1との協働による全体的な処理の流れを説明する。図19においては、図の左側にゲームシステム側処理、右側にサーバ側処理を示している。まず、対戦ゲームの開始が所定のプレイヤによって指示されることで、各ゲームシステム1およびサーバ101との間で準備処理P1が実行される。この処理では、締め切り時間を設定したうえで、最大35人のプレイヤの参加受付が行われる。その後、締め切り時間が経過すれば、参加者が35人に足りない場合はその分のAIプレイヤの設定が適宜行われ、当該AIプレイヤを含む対戦相手の情報が各ゲームシステム1に送信され、上記のような対戦ゲームを実行する処理P2が開始される。その後、ゲームオーバーとなった参加者が34人になれば、サーバ101は各ゲームシステム1に、対戦ゲームを終了することを示す通知を送信する。そして、各ゲームシステム1で最終順位の表示等の処理が実行され、当該ゲームを終了する処理P3(通信セッションの切断等)が行われることで、本実施形態にかかる対戦ゲームは終了となる。
【0142】
[ゲームシステム側で実行される処理の詳細]
次に、各ゲームシステム1で実行される対戦ゲーム処理の詳細を説明する。図20は、本実施形態における対戦ゲーム処理の詳細を示すフローチャートである。また、この処理は、上記締め切り時間が終了した後に実行される処理である。また、当該図面で示すフローチャートは、処理過程の単なる一例にすぎない。したがって、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例に過ぎず、必要に応じて他の値を採用してもよい。
【0143】
まず、図20のステップS1で、プロセッサ81は、対戦ゲームを開始するための各種の準備処理を実行する。図21は、当該準備処理の詳細を示すフローチャートである。まず、ステップS21で、プロセッサ81は、サーバ101と協働して必要なデータを適宜送受信しながら、参加処理を実行する。この処理では、主に、対戦ゲームの開始指示のサーバ101への送信と、参加者の受付処理が実行される。サーバ101から、参加者受付の締め切りを知らせる旨の情報が送られて来ることで、当該処理は終了する。
【0144】
次に、ステップS22で、プロセッサ81は、コース選択画面表示処理を実行する。上記のように、本実施形態では、上記連結コースの生成のために各参加者に1つずつコースを選択させるところ、プレイヤに選択肢として提示するコース選択画面をこの処理で生成する。具体的には、プロセッサ81は、上記1人用モード進捗情報331に基づき、そのプレイヤのゲーム進捗に応じて選択可能なコースを抽出し、これを一覧表示する画面をコース選択画面として生成する。そして、当該画面を表示し、プレイヤからの選択操作を待ち受ける。
【0145】
次に、ステップS23で、プロセッサ81は、操作データ333に基づき、コース選択画面に対するプレイヤの選択内容を判別する。そして、プレイヤが選択したコースを示す情報を、上記コイン累計獲得数情報332と共にサーバ101に送信する。サーバ101においては、このデータに基づいて連結コースを生成する処理が実行され、当該連結コースの構成を示すデータがゲームシステム1に送信されてくることになる。
【0146】
次に、ステップS24で、プロセッサ81は、上記サーバ101から送信された送信用連結コースデータ383を受信し、連結コース情報337としてプレイヤゲーム用領域308に記憶する。また、対戦相手ゲーム用領域309の連結コース情報365としても記憶する。
【0147】
次に、ステップS25で、プロセッサ81は、サーバ101から送信されるゲーム開始指示に基づき、連結コースにかかるプレイを開始するための処理を実行する。本実施形態では、上記のようなカウントダウンの演出が行われる。カウントダウンが終了すれば、準備処理も終了する。
【0148】
図20に戻り、次に、ステップS2で、プロセッサ81は、サーバ101に対戦データの要求を送信し、その応答としてサーバ101から送られる送信用対戦相手データ385を受信する。そして、これを受信データ307として対戦ゲーム処理用領域305に記憶する。
【0149】
次に、ステップS3で、プロセッサ81は、プレイヤゲーム制御処理を実行する。これは、プレイヤにかかるジャンプアクションゲームの制御等を行うための処理である。図22は、プレイヤゲーム制御処理の詳細を示すフローチャートである。図22において、まず、ステップS31で、プロセッサ81は、観戦の確認用画面を表示中の状態であるか否かを判定する。この画面は、後述のステップS36において表示設定される画面であり、プレイヤがゲームオーバーになった場合に、その後観戦するか否かを問い合わせるための画面である。当該判定の結果、当該確認用画面が表示中ではない場合は(ステップS31でNO)、次に、ステップS32で、プロセッサ81は、プレイヤゲーム用領域308のKO状態情報336を参照して、プレイヤが今現在、観戦している状態であるか否かを判定する。つまり、プレイヤが既にゲームオーバーになった後の状態であるか否かを判定する。当該判定の結果、観戦中の状態であれば(ステップS32でYES)、当該プレイヤゲーム制御処理は終了する。
【0150】
一方、観戦中ではない場合は(ステップS32でNO)、次に、ステップS33で、プロセッサ81は、プレイヤにかかる操作データ333を取得する。更に、プロセッサ81は、その内容に基づいて上記サーバ送信用データ306を生成して、サーバ101に送信する。
【0151】
次に、ステップS34で、プロセッサ81は、アクションゲーム処理を実行する。これは、上記アクションゲームエンジン302を用いて、プレイヤにかかる上記ジャンプアクションゲームを進行させるための処理である。図23は、当該アクションゲーム処理の詳細を示すフローチャートである。図23において、まず、ステップS41で、プロセッサ81は、操作データ333で示される操作内容に基づいて、プレイヤオブジェクト201の動作を制御する。
【0152】
次に、ステップS42で、プロセッサ81は、各種敵オブジェクト(デフォルト敵および刺客)の動作制御を行う。また、敵オブジェクト以外のオブジェクトで動作制御が必要なものがあれば(動く床等)、それらの動作制御も適宜実行する。次に、ステップS43で、プロセッサ81は、各種オブジェクトの当たり判定と、その判定結果に基づく各種のゲーム処理を実行する。具体的には、敵オブジェクトへの攻撃の成否判定や、所持コイン数の増減、敵オブジェクトへの攻撃成功による制限時間の加算、時間経過に伴う制限時間の減算の処理が、ここで行われることになる。また、ゲームオーバーとなった場合は、KO状態情報336に、ゲームオーバーとなったことを示す情報が設定される。
【0153】
次に、ステップS44で、プロセッサ81は、標的設定処理を実行する。具体的には、プロセッサ81は、操作データ333に基づいて「作戦」の変更操作が行われたか否かを判定し、行われていれば、その操作内容に基づき作戦・標的情報367の内容を更新することで、現在選択中の「作戦」を変更する。更に、現在の「作戦」に基づき、「標的」を決定し、作戦・標的情報367の内容に反映する。なお、この標的設定処理に関しては、後述する対戦相手のゲーム処理を制御した後に行うようにしてもよい。
【0154】
次に、ステップS45で、プロセッサ81は、上記のようなゲーム処理の結果を反映したゲーム画像を生成し、ゲーム画像格納領域340に格納する。これにより、今回のフレームにおいてアクションゲーム領域213に表示するゲーム画像が用意されることになる。以上で、アクションゲーム処理は終了する。
【0155】
図22に戻り、次に、ステップS35で、プロセッサ81は、上記アクションゲーム処理の結果、プレイヤが(新たに)ゲームオーバーとなったか否かを、プレイヤゲーム用領域308のKO状態情報336に基づき判定する。ゲームオーバーになっていない場合は(ステップS35でNO)、プレイヤゲーム制御処理は終了する。ゲームオーバーになった場合は(ステップS35でYES)、ステップS36で、プロセッサ81は、上述したような観戦確認用の画面を表示するための設定を行う。すなわち、観戦するか否かを問い合わせるためのゲーム画像を生成して、ゲーム画像格納領域340に格納する。そして、プレイヤゲーム制御処理は終了する。
【0156】
次に、上記ステップS31の判定の結果、観戦確認用の画面が表示中と判定された場合(ステップS31でYES)について説明する。この場合は、ステップS37で、プロセッサ81は、操作データ333を参照して、観戦を指示する操作が行われたか否かを判定する。観戦の指示が行われた場合は(ステップS37でYES)、次に、ステップS38で、プロセッサ81は、観戦中における画面の表示設定を行う。すなわち、観戦中の状態においてアクションゲーム領域213に表示する画像を生成して、ゲーム画像格納領域340に格納する。
【0157】
一方、上記ステップS37の判定の結果、観戦指示が行われていない場合は(ステップS37でNO)、ステップS39で、プロセッサ81は、対戦ゲームを終了するための終了設定を行う。これにより、後述するステップS7の判定で、ゲームの終了条件が達成されたと判定されることになる。その後、プレイヤゲーム制御処理は終了する。
【0158】
図20に戻り、次に、ステップS4で、プロセッサ81は、対戦相手ゲーム制御処理を実行する。この処理は、対戦相手から送信された操作データに基づき、各対戦相手のゲーム処理を実行(再現)するための処理である。図24は、当該対戦相手ゲーム制御処理の詳細を示すフローチャートである。まず、ステップS51で、プロセッサ81は、34人の対戦相手のうち、いずれか1人を処理対象として選択する(以下、当該選択された対戦相手のことを「処理対象プレイヤ」と呼ぶ)。次に、ステップS52で、プロセッサは、受信データ307の中から、処理対象プレイヤに対応するデータを特定し、処理対象プレイヤの送信用操作データ323を抽出する。更に、処理対象プレイヤに対応する対戦相手ゲーム用領域309の操作データ361に当該送信用操作データ323を設定する。つまり、操作データ361として当該送信用操作データ323を用いるような設定を行う。
【0159】
次に、ステップS53で、プロセッサ81は、処理対象プレイヤにかかるアクションゲーム処理を実行する。当該処理の内容は、対戦相手ゲーム用領域309のデータを用いる点を除き、基本的に上記ステップS34の処理を同様である。そのため、詳細な説明は省略するが、当該処理の結果、処理対象プレイヤの送信用操作データ323に基づいたジャンプアクションゲームの処理が実行され、その結果としてのゲーム画像が対戦相手ゲーム用領域309のゲーム画像格納領域368に格納される。
【0160】
次に、ステップS54で、プロセッサ81は、対戦相手である34人全員に上記アクションゲーム処理を行った否かを判定する。その結果、まだ未処理の対戦相手が残っていれば(ステップS54でNO)、上記ステップS51に戻り、未処理の対戦相手の中から処理対象プレイヤを選んで処理を繰り返す。一方、対戦相手全員についてアクションゲーム処理が行われていれば(ステップS54でYES)、当該対戦相手ゲーム制御処理は終了する。
【0161】
図20に戻り、次に、ステップS5で、プロセッサ81は、対戦パラメータ設定処理を実行する。この処理では主に、上記の刺客の送り込み等の、複数プレイヤ間でのやりとりに関連する処理が行われる。図25は、当該対戦パラメータ設定処理の詳細を示すフローチャートである。まず、ステップS61で、プロセッサ81は、刺客データ設定処理を実行する。この処理は、上記ジャンプアクションゲーム処理の結果を踏まえて、上記刺客配置位置情報338および366の内容を設定するための処理である。この処理では、まず、プレイヤ自身を含む全参加者の操作データにかかるタイムスタンプ322を参照して、時間が早い順番で参加者をソートする。そして、各参加者について、以下のような処理を行っていく。まず、プロセッサ81は、今回のフレームにかかるゲーム処理において、参加者毎に、その参加者のプレイヤオブジェクト201が倒した敵オブジェクト202が存在するか否かを判定する。なお、本実施形態では、攻撃が敵オブジェクトにヒットした時点で、攻撃アクションが成功し、その敵オブジェクトを「倒した」と判定するものとする。つまり、その後、敵オブジェクトが倒されたモーションが表示されるとしても、そのモーションが終わるのを待たずに、攻撃アクションが成功した時点で倒したとして判定し、刺客を送り込む条件が満たされたものとして扱う。このような判定の結果、プレイヤオブジェクト201が倒した敵オブジェクト202が存在していれば、次に、プロセッサ81は、その時点で「標的」としている対戦相手を判別する。次に、当該対戦相手にかかる刺客配置位置情報366を参照し、上述したような配置ルールに基づき、刺客の配置位置を決定する。そして、当該倒した敵オブジェクトを特定するための情報(敵の種類等)と当該決定した配置位置とを対応づけて、プレイヤにかかる刺客配置位置情報338および対戦相手にかかる刺客配置位置情報366の内容をそれぞれ更新する。このような処理の結果、プレイヤ自身を含む参加者間における刺客の送り合いが行われることになる。
【0162】
次に、ステップS62で、プロセッサ81は、エフェクト表示設定処理を実行する。これは、プレイヤと対戦相手との「標的」関係に応じて、上述した標的画像231および直線232の表示設定を行う処理である。すなわち、プレイヤが「標的」にしている上記対戦相手画像に標的画像231を重畳表示させるための設定が行われる。また、自分を「標的」にしている対戦相手にかかる対戦相手画像と上記警告領域215とを結ぶ直線232を描画する設定も行われる。その他、プレイヤが対戦相手に刺客を送り込んだ場合、そのことを示すエフェクトを表示するように、当該処理で表示設定してもよい。
【0163】
次に、ステップS63で、プロセッサ81は、KO関連処理を実行する。この処理は、ゲームオーバーとなったプレイヤが発生した際の、所持コインや制限時間の調整に関する処理である。具体的には、次のような処理が行われる。まず、プロセッサ81は、いずれかのプレイヤについてゲームオーバーが発生したか否かを判定する。ゲームオーバーが発生していた場合は、そのゲームオーバーが上述したように他プレイヤからの刺客に起因するものであるか否かを判定する。起因する場合は、ゲームオーバーとなったプレイヤの所持コイン数とその時点での制限時間を、その刺客の送り主のプレイヤに対応する所持コイン情報334あるいは362、および、制限時間情報335あるいは363に加算する。一方、そのゲームオーバーが刺客に起因するものではない場合は、当該ゲームオーバーが発生したプレイヤにかかるゲームに刺客が1体でも送り込まれているか否かを判定する。1体でも送り込まれている場合は、最後に刺客を送り込んだプレイヤを、タイムスタンプ322に基づいて判別し、そのプレイヤに対して上記所持コインと制限時間を付与する処理を実行する。一方、刺客が1体も送り込まれていない場合は、所持コインと制限時間の付与は行われないことになる。このようにしてKO関連処理が行われれば、対戦パラメータ設定処理は終了する。
【0164】
なお、上記ステップS63で加算するコイン数は一例であり、他の実施形態では、例えば、ゲームオーバーとなったプレイヤの所持コイン数の半分だけを加算するようにしてもよい。また、制限時間に関しても同様に、残り時間全てではなく、残り時間の半分だけ加算する等してもよい。つまり、コイン数や制限時間の残り分の一部だけを加算するようにしてもよい。
【0165】
図20に戻り、次に、ステップS6で、プロセッサ81は、予告領域画像生成処理を実行する。これは、図10図12を用いて上述したような、予告領域214に表示する画像を生成する処理である。具体的には、プロセッサ81は、基本コースデータ304とプレイヤゲーム用領域308の刺客配置位置情報338とを参照し、連結コースにおけるプレイヤオブジェクト201の現在位置から2画面分先までの範囲に配置されているデフォルト敵および刺客の位置を判定する。そして、当該判定した位置に基づき、上記ミニプレイヤ画像223およびミニ敵画像224を用いて、上述したような予告領域214の画像を生成し、記憶部84に一時的に格納する。
【0166】
次に、ステップS7で、プロセッサ81は、対戦ゲームの終了条件が達成されたか否かを判定する。本実施形態では、この対戦ゲーム終了条件として、「ゲームオーバーになっていない参加者が最後の1人になった場合」と、「プレイヤがゲームオーバーになった後、観戦しないことを選んだ場合」とのいずれかであるとする。なお、本実施形態では、前者の状態となったことを示す情報は、サーバ101から送信されてくるものとする。そのため、ここでは、上記ステップS39で対戦ゲームの終了設定が行われたか、あるいは、サーバ101から対戦ゲーム終了の旨の通知を受信したか否かが判定されるものとする。このうちいずれの条件も満たされていない場合は(ステップS7でNO)、ステップS8で、プロセッサ81は、プレイヤゲーム用領域308のゲーム画像格納領域340および対戦相手ゲーム用領域309のゲーム画像格納領域368の画像と、上記予告領域画像生成処理で生成された画像とを用いて、上記図6で示したような対戦ゲームにかかるゲーム画像を生成する。またこの際、各種エフェクトにかかる画像も適宜表示してもよい。例えば、プレイヤが所定の対戦相手に刺客を送った場合、プレイヤオブジェクト201の表示位置から刺客を送った対戦相手画像のいずれかに向けて、光球のようなアイコン画像や、送り込んだ刺客が何かわかるようなアイコン画像(その刺客の外観画像等)を表示してもよい。そして、プロセッサ81は、このようにして生成した対戦ゲームにかかるゲーム画像をディスプレイ12に表示する。その後、上記ステップS2に戻り、処理が繰り返される。
【0167】
なお、上記対戦ゲームの終了条件の達成判定について、他の実施形態では、対戦相手の操作データ361に基づいて、各プレイヤのゲームシステム1において、「ゲームオーバーになっていない参加者が最後の1人になった」という状態になったか否かを判断するようにしてもよい。
【0168】
一方、上記対戦ゲーム終了条件のいずれか一方でも達成されている場合は(ステップS7でYES)、ステップS9で、プロセッサ81は、リザルト処理を実行する。図26は、当該リザルト処理の詳細を示すフローチャートである。まず、ステップS81で、プロセッサ81は、順位を確定する処理を実行する。対戦ゲームの終了が、プレイヤが観戦しないことを選択したことによるものである場合は、その時点でのプレイヤの順位だけ確定する。ゲームオーバーになっていない参加者が最後の1人になったことによる終了の場合は、各参加者の最終順位を確定する。なお、本実施形態では、早くにゲームオーバーになるほど順位が低く、最後の1人になった参加者が1位になるものとする。換言すれば、ゲームオーバーにならないように長くプレイし続けるほど、順位が高く評価される。
【0169】
なお、当該順位確定処理に関しては、サーバ101側で行うようにして、その結果を受信するような処理としてもよい。
【0170】
次に、ステップS82で、プロセッサ81は、プレイヤの累計コイン獲得数を更新する。具体的には、今回の対戦ゲームの開始から終了までにプレイヤが獲得したコイン数(すなわち、所持コイン情報334)をコイン累計獲得数情報332に加算することで、累計コイン獲得数を更新する。そのため、プレイヤが途中でゲームオーバーとなった場合でも、最後の1人となった場合でも、その時までに獲得したコインが累計されることになる。
【0171】
次に、ステップS83で、プロセッサ81は、リザルト画面表示処理を実行する。リザルト画面としては、例えば、「プレイヤがゲームオーバーになった後、観戦しないことを選んだ場合」は、その時点におけるプレイヤの順位を表示する画面である。また、「ゲームオーバーになっていない参加者が最後の1人になった場合」であれば、各参加者の最終順位を一覧形式等で表示する。その他、対戦ゲームの終了を示す演出等も適宜表示してもよい。そして、例えばリザルト画面においてプレイヤから所定の入力を受け付けることで、リザルト処理は終了する。
【0172】
リザルト処理が終われば、本実施形態にかかる(1プレイ分の)対戦ゲーム処理は終了する。以上で、各ゲームシステム1で実行される対戦ゲーム処理の詳細説明を終了する。
【0173】
[サーバ側の処理の詳細]
次に、サーバ101で実行される処理の詳細について説明する。図27は、サーバ101のプロセッサ111によって実行されるサーバ処理の詳細を示すフローチャートである。まず、ステップS101で、プロセッサ111は、準備処理を実行する。具体的には、ゲームに参加する各ゲームシステム1から送信されるデータに基づいて上記参加者データ382を生成する。この際、上記参加人数が35人に満たない場合、足りない分についてはAIユーザとしてプロセッサ111が担当する。そのため、このAIユーザにかかるデータも参加者データ382に含めるようにして生成する。更に、参加者受付が終われば、各参加者が選択したコースの情報を受信し、これに基づいて上記連結コースを生成する。そして、当該連結コースの構成を示す情報を各参加者のゲームシステム1に送信する。その後、対戦ゲーム開始の準備が整えば、対戦ゲームの開始指示を各ゲームシステム1に送信する。
【0174】
次に、ステップS102で、プロセッサ111は、受信処理を実行する、すなわち、各ゲームシステム1から送信されてくるサーバ送信用データ306を受信し、参加者状況受信データ384として記憶する。
【0175】
次に、ステップS103で、プロセッサ111は、対戦ゲームの終了条件が満たされたか否かを判定する。ここでの終了条件は、「ゲームオーバーになっていないプレイヤが最後の1人になった場合」である。プロセッサ111は、KO状態情報324に基づき、この条件が満たされたか否かを判定する。当該判定の結果、終了条件が満たされていない場合は(ステップS103でNO)、次に、ステップS104で、プロセッサ111は、上記AIユーザにかかるジャンプアクションゲーム処理を実行する。なお、AIユーザが不要な場合は、当該処理は行われない。
【0176】
次に、ステップS105で、プロセッサ111は、参加者状況受信データ384に基づき、各ゲームシステム1に送信するための送信用対戦相手データ385を生成する。具体的には、送信先のゲームシステム1にかかるプレイヤ以外の参加者にかかるデータを送信用対戦相手データ385として生成する。例えばプレイヤAに対する送信用対戦相手データとしては、プレイヤA以外の参加者のサーバ送信用データ306を含んだデータが生成される。このようなデータを各参加者に応じて生成し、それぞれに送信する。なお、このとき、ゲームオーバーになった後、観戦しないことを選んだプレイヤにかかるゲームシステム1に対しては、このようなデータは送信しないようにしてもよい。当該処理の後、上記ステップS102に戻って処理が繰り返される。
【0177】
一方、上記ステップS10の判定の結果、ゲーム終了条件が満たされていた場合は(ステップS10でYES)、ステップS106で、プロセッサ111は、対戦ゲームの終了を指示するための終了通知を各ゲームシステム1に送信する。なお、この場合も、ゲームオーバー後に観戦しないことを選んだプレイヤにかかるゲームシステム1に対しては、送信しないようにしてもよい。
【0178】
以上で、サーバ側の処理の説明を終了する。
【0179】
このように、本実施形態では、1人プレイ用のゲームとして設計・製作されたゲームを用いた、多人数で楽しめる新たなゲーム方法を提供している。すなわち、プレイヤはそれぞれ、1人用ゲームをプレイする感覚でゲームを進行させつつ、上記のような刺客を用いることで、対戦相手に対する明示的な攻撃操作等の特段の操作を行うことなく他のプレイヤに対する干渉も可能となっている。これにより、今までに無い新規なゲームを提供することができる。また、従来から存在する1人プレイを前提としたゲームを流用して、新たな対戦ゲームを提供することもできるため、このような場合に、開発コストの軽減を図ることもできる。
【0180】
[変形例について]
なお、本実施形態では、ゲーム状況を示すためのデータとして各参加者の操作データを送受信し、各参加者のゲームシステム1上で、他のプレイヤのゲーム状況を再現するような態様で対戦ゲームを実現していた。他の実施形態では、このような態様に限らず、ゲーム状況を示すデータとして、送信時点における各オブジェクトの仮想ゲーム世界内における位置情報(座標情報)や、送信時におけるアクションゲーム領域213をキャプチャ等した画像データ、各参加者の標的情報等のデータを他の参加者に送信するようにしてもよい。そして、この情報に基づき、第2領域212に表示する画像を生成して表示するようにしてもよい。
【0181】
また、上記実施形態では、刺客による「阻害」の例として、接触した場合に(攻撃成功ではない限り)、プレイヤの1ミスとする例を挙げた。この他、刺客がプレイヤオブジェクトに与える「阻害」の内容として、例えば、数秒間だけプレイヤオブジェクト201が動けなくする、等でもよい。その他、対戦相手のゲーム進行を阻害するような内容を利用してもよい。
【0182】
また、本実施形態では、プレイヤオブジェクト201が倒した敵オブジェクトと(実質的に)同じ敵オブジェクトが刺客として送り込まれる例を挙げた。他の実施形態では、倒した敵オブジェクトとは異なるオブジェクトを刺客として送りこむようにしてもよい。例えば、刺客としての役割を有する刺客専用の敵オブジェクトを用いてもよい。この場合は、プレイヤオブジェクト201が倒した敵オブジェクト202の種類等にかかわらず、常に専用の刺客が送り込まれることになる。また、その他、送り込まれた複数の刺客が所定の条件を満たせば、送り込まれたものとは異なる敵オブジェクトを配置するようにしてもよい。例えば、複数体の刺客の組み合わせが所定の条件を満たした場合、これら複数の刺客を合体させて1体の別個体の刺客として扱うようにしてもよい。
【0183】
また、上記の例では、第2領域に対戦相手のゲーム状況を示す画像を表示していたが、他の実施形態では、この対戦相手にかかる画像は表示しないようにしてもよい。つまり、上述したような刺客のやりとりは行うが、対戦相手のゲーム状況までは表示しないようにしてもよい。
【0184】
また、上述した連結コースの生成に関して、上記の例では、各プレイヤが選択したコースに基づいて、サーバ101で連結コースを生成し、その構成データを各ゲームシステムに送信する例を挙げた。他の実施形態では、サーバ101で連結コースを作成するのではなく、各プレイヤの操作データに基づき、各プレイヤのゲームシステム1において連結コースを作成するようにしてもよい。すなわち、対戦ゲームの開始に際して、他のプレイヤが行ったコースの選択操作にかかる操作データを受信し、これに基づいて上記連結コースを生成してもよい。一例を挙げると、上記準備処理のステップS24の処理の代わりに、次のような処理を行ってもよい。まず、各対戦相手の操作データを受信する。次に、この操作データで示される操作内容に基づいて各プレイヤが選択したコースを判定する。更に、これに基づいて連結コースを生成する。そして、生成した連結コースを示す情報を連結コース情報337として記憶してもよい。この場合も、同じ操作データに基づく処理となるため、参加者の各ゲームシステム1において同じ連結コースが生成されることになる。
【0185】
また、上記連結コースを生成する際の、コースの並び順に関して、上記実施形態では、累計コイン数の少ない順に連ねる例を挙げた。他の実施形態では、各プレイヤの「ランク」を累計獲得コイン数に基づいて決定し、この「ランク」の低いプレイヤ順にコースを連ねるようにしてもよい。例えば、累計獲得コイン数が増えていくことで「ランク」が高くなっていくようなゲーム構成の場合である。
【0186】
また、上述した連結コースの生成に関して、単純に連結した結果、同じコースが連続する部分があれば、1つのコースにまとめるようにしてもよい。例えば、単純に連結すると、「コース1」→「コース3」→「コース3」→「コース2」・・・、という構成の連結コースになる場合、連続するコース3は1つだけとして、「コース1」→「コース3」→「コース2」・・・・という構成にしてもよい(まとめた分のコース数が減ることになる)。
【0187】
また、上述したような連結コースの生成手法については、上述したような態様の対戦ゲームだけでなく、複数プレイヤの操作するプレイヤキャラクタが同時に同じゲーム空間に存在するようなマルチプレイヤゲーム(換言すれば、各プレイヤのゲーム処理間で同期を取りながら進行するマルチプレイヤゲーム)に対しても適用可能である。
【0188】
更に他の実施形態では、参加者毎にスタート地点が異なるようにしてもよい。例えば、上記連結コースについて、最後の順番のコースが終われば1番目のコースに戻るようなループ構成として設定しておく。そして、参加者毎に、対戦ゲームのスタート地点となるコースが異なるような構成としてもよい。更には、連結コースの構成自体が参加者毎に異なるような構成としてもよい。例えば各参加者が選んだコースを連ねる順序を参加者毎に異ならせることで、参加者毎に異なる構成の連結コースをプレイさせるようにしてもよい。
【0189】
また、上記実施形態では、「1人用モード」と「対戦モード」との2つのゲームモードを有するゲームを例示して説明した。他の実施形態では、上述の「1人用モード」が無い構成であってもよい。例えば、上記「対戦モード」に相当するゲームのみがプレイできるものであってもよい。この場合は、最初は「コース1」だけしかプレイできないが、他のプレイヤとの対戦プレイを繰り返していくことで、他のコースが順次解放されていくような構成とすればよい。例えば対戦回数が所定回数に達する毎に、新しいコースを1つ(あるいは複数まとめて)プレイ可能にする、等である。
【0190】
また、他の実施形態では、上記サーバ101を介さずに、例えば近距離無線通信等を用いてゲームシステム1同士で接続(ピア・ツー・ピア)して、上述したような対戦ゲーム処理を行うような構成としてもよい。
【0191】
また、例えば、プレイヤは1人で、残り34人の対戦相手全てを上記AIユーザとして、単一のゲームシステム1だけで上記のゲーム処理を実行するような構成でもよい。例えばプロセッサ81が34人分のAIユーザを担当するようにすればよい。
【0192】
また、第1領域211と第2領域212の配置位置関係に関して、上記の例ではゲーム画像の中央に第1領域211を配置し、その左右に2つの第2領域212を配置する例を示した。これに限らず、第2領域212の位置に関しては、例えば第1領域211の上下であってもよい。更には、第2領域212の位置は固定せず、例えば第1領域211の周囲を周回するように常に移動させるようにしてもよい。
【0193】
また、上記のゲーム処理は、上述したゲームシステム1に限らず、例えば携帯型ゲーム装置やスマートフォン等の情報処理装置でも実行可能である。ここで、表示画面を2つ備える携帯型ゲーム装置で上記の処理を実行する場合は、例えば第1の表示画面に上記第1の領域(プレイヤのゲームプレイに関する画像)を表示し、第2の表示画面に上記第2領域(つまり、対戦相手にかかる対戦相手画像)を表示するような構成としてもよい。
【0194】
また、他の実施形態においては、各プレイヤのゲーム処理にかかる上記一連の処理について、複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。更には、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの主要な処理がサーバ側装置によって実行され、当該端末側装置では一部の処理が実行されてもよい。例えば、主要なゲーム処理はサーバ側装置で実行し、端末側装置では主にサーバ側装置でのゲーム処理の結果生成されたゲーム画像や音声を受信して出力させることでゲームを進行させるようにしてもよい(いわゆるクラウドゲーミング)。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。
【符号の説明】
【0195】
1 ゲームシステム
2 本体装置
3 左コントローラ
4 右コントローラ
12 ディスプレイ
81 プロセッサ
84 記憶部
101 サーバ
111 プロセッサ
112 記憶部
113 通信部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27