JP2010213846A - ゲーム装置、ゲーム処理方法、ゲームシステム、ならびに、プログラム - Google Patents

ゲーム装置、ゲーム処理方法、ゲームシステム、ならびに、プログラム Download PDF

Info

Publication number
JP2010213846A
JP2010213846A JP2009062853A JP2009062853A JP2010213846A JP 2010213846 A JP2010213846 A JP 2010213846A JP 2009062853 A JP2009062853 A JP 2009062853A JP 2009062853 A JP2009062853 A JP 2009062853A JP 2010213846 A JP2010213846 A JP 2010213846A
Authority
JP
Japan
Prior art keywords
cluster
character
game
clusters
obstacle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009062853A
Other languages
English (en)
Other versions
JP4785942B2 (ja
Inventor
Takeshi Osada
毅志 長田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2009062853A priority Critical patent/JP4785942B2/ja
Priority to PCT/JP2010/053972 priority patent/WO2010106947A1/ja
Priority to TW099107479A priority patent/TW201043302A/zh
Publication of JP2010213846A publication Critical patent/JP2010213846A/ja
Application granted granted Critical
Publication of JP4785942B2 publication Critical patent/JP4785942B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/643Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8076Shooting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】キャラクター同士の対戦においてキャラクターの位置によって有利・不利が偏り過ぎないように調整する。
【解決手段】仮想空間には第1キャラクターと第2キャラクターと障害物が配置される。ゲーム装置200において、判定部201は第1キャラクターからの攻撃が第2キャラクターに命中したか否かを判定する。記憶部202は命中した攻撃に対応する命中情報を記憶する。命中情報は命中した攻撃の出発位置と到達位置とを対応付ける情報である。分類部203は記憶された複数の命中情報の類似度に基づいてクラスター分析を行い、複数のクラスターに分類する。取得部204は分類された複数のクラスターの中からいずれか1つを選択し、選択したクラスターのセントロイドで指定される出発位置と到達位置を取得する。配置部205は取得した出発位置と到達位置との間に新たな障害物を配置する。
【選択図】図2

Description

本発明は、キャラクター同士の対戦において、キャラクターの位置によって有利・不利が偏り過ぎないように調整するために好適なゲーム装置、ゲーム処理方法、ゲームシステム、ならびに、プログラムに関する。
プレイヤーが仮想空間内のキャラクターオブジェクト(以下「キャラクター」という。)を操作してキャラクター同士を戦わせる対戦ゲームがある。仮想空間には、プレイヤーが操作するキャラクターのほか、攻撃の妨げとなり得る障害物などのオブジェクトが配置される。仮想空間内の様々なオブジェクトのレイアウトのことを一般にはマップと呼ぶ。
例えば銃やミサイル等を打ち合う対戦ゲームにおいて、一方のキャラクターが他方のキャラクターを攻撃し、その攻撃が命中すると、攻撃をした側が勝者となり、攻撃をされた側が敗者となる。対戦ゲームでは、一方のキャラクターが他方のキャラクターよりも攻撃を成功させやすいエリア(あるいは攻撃を受けやすいエリア)が偏ってしまい、局所的にゲームが難しかったり易しかったりしてゲームバランスが崩れてしまうことがある。特許文献1には、敵キャラクターを出現させる位置を調整することにより、ゲームが難しすぎたり易しすぎたりすることがないようにするゲーム装置が開示されている。
特許第4094647号公報
ところで、対戦ゲームにおけるマップは、ゲーム制作者がストーリーや様々なゲーム状況を予め考えた上で決定されるのが一般的である。しかし、いくら熟考して作成されたマップであっても、対戦を重ねるうちに、ある特定の場所にいるキャラクターにとってゲームが難しすぎたり易しすぎたりしてしまうことがあった。
本発明はこのような課題を解決するものであり、キャラクター同士の対戦において、キャラクターの位置によって有利・不利が偏り過ぎないように調整するために好適なゲーム装置、ゲーム処理方法、ゲームシステム、ならびに、プログラムを提供することを目的とする。
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
本発明の第1の観点に係るゲーム装置は、仮想空間内において複数のキャラクターが対戦するゲームを実現するゲーム装置であって、判定部、記憶部、分類部、取得部、配置部を備える。
判定部は、複数のキャラクターのうち、第1キャラクターから発せられた攻撃が障害物に遮られずに第2キャラクターに命中したか否かを判定する。
記憶部は、命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を記憶する。
分類部は、記憶された命中情報をクラスター分析して複数のクラスターに分類する。
取得部は、複数のクラスターから所定個数のクラスターを選択し、当該選択されたクラスターのそれぞれのセントロイドに指定される出発位置と到達位置とを取得する。
配置部は、仮想空間内において、取得された出発位置から取得された到達位置までの間に障害物を配置する。
本発明のゲーム装置で実行される典型的なゲームは、仮想空間内で複数のキャラクターが対戦するゲームである。仮想空間内には、複数のキャラクターと障害物が配置される。それぞれのキャラクターは、プレイヤーからの入力によって操作されてもよいし、ゲーム装置の所定のアルゴリズムに従って操作されてもよい。キャラクター同士の対戦では、一方のキャラクター(以下「攻撃をする側のキャラクター」もしくは「第1キャラクター」という。)が他方のキャラクター(以下「攻撃をされる側のキャラクター」もしくは「第2キャラクター」という。)を攻撃し、戦闘が発生する。
攻撃の際に近くに障害物が存在すると、その攻撃が障害物によって妨げられることがある。障害物には、ゲーム開始時にデフォルトで配置される障害物と、ゲーム進行中にゲーム装置により新たに配置される障害物とがある。例えば、仮想空間内でキャラクターが銃を撃って対戦するゲームにおいて、建物、地形、樹木、車両などが障害物となり得る。ただし、ゲーム中(例えばゲーム開始直後)において、障害物が存在しないことがあってもよい。
ゲーム装置には、第1キャラクターによる第2キャラクターへの攻撃を示す情報が記憶される。攻撃を示す情報は、具体的には、攻撃が命中したときの第1キャラクターの位置(以下「出発位置」という。)と第2キャラクターの位置(以下「到達位置」という。)とを対応付ける情報(以下「命中情報」という。)である。命中情報は、所定件数だけ記憶されてもよいし、所定期間内の不特定件数が記憶されていってもよい。
ゲーム装置は、記憶されたすべての命中情報からなる全体集合を、非類似度に基づいて、複数の部分集合に分類する。具体的には、ゲーム装置は、すべての命中情報を分析対象とするクラスター分析を行う。生成される部分集合のそれぞれをクラスターと呼ぶ。出発位置が近く且つ到達位置も近い攻撃同士、つまり同じクラスターに分類される命中情報が示す攻撃同士は、互いに類似する攻撃であると判断される。
命中情報を複数のクラスターに分類すると、ゲーム装置は、複数のクラスターの中から所定個数のクラスターを選択する。例えば、複数のクラスターの中から、命中情報の数が最も多いクラスターを1つ選択する。命中情報が多いクラスターにおいて、各命中情報が示す出発位置付近は、攻撃をする側にとって特に有利なエリアであることを示す。また、命中情報が多いクラスターにおいて、各命中情報が示す到達位置付近は、攻撃をされる側にとって特に不利なエリアである。従って、各クラスターに含まれる命中情報の数に偏りが生じるほど、一方のキャラクターが他方のキャラクターよりも有利になり過ぎる(不利になり過ぎる)エリアが存在することになり、ゲームバランスが崩れてしまう原因になりかねない。
そこで、ゲーム装置は、攻撃をする側に有利になり過ぎている(又は攻撃を受ける側に不利になり過ぎている)と推定される位置に、攻撃の妨げとなる障害物を配置することにより、一方的に攻撃が成功しやすい状況を解消し、ゲームバランスを調整する。例えば、選択したクラスターのセントロイド(重心)に相当する出発位置と到達位置は、対戦の有利・不利のバランスが崩れている可能性が高い代表的な位置と推定される。ゲーム装置は、選択したクラスターのセントロイドに指定される出発位置と到達位置との間に、新たに障害物を配置する。例えば、出発位置と到達位置とを結ぶ線分上の任意の位置に、攻撃の妨げとなる新たな障害物が配置される。本発明によれば、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整することができる。
なお、本発明は、1つのゲーム装置で行われるゲームだけでなく、複数のゲーム装置を互いに接続して行われるネットワークゲームにも適用することが可能である。
本発明のその他の観点に係るゲーム装置は、仮想空間内において複数のキャラクターが対戦するゲームを実現するゲーム装置であって、判定部、記憶部、第1の分類取得部、第2の分類取得部、配置部として機能する。
判定部は、複数のキャラクターのうち、第1キャラクターから発せられた攻撃が障害物に遮られずに第2キャラクターに命中したか否かを判定する。
記憶部は、命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を複数記憶する。
第1の分類取得部は、記憶された命中情報に指定される到達位置のそれぞれについて、当該到達位置から第1の所定距離範囲内の他の到達位置の数(以下「第1の数」という。)を求め、当該第1の数に基づいて、当該複数の到達位置を複数のクラスター(以下「第1クラスター」という。)に分類し、当該分類された複数の第1クラスターの中から少なくとも1つの第1クラスターを選択し、当該選択した第1クラスターの中心に対応する到達位置を取得する。
第2の分類取得部は、取得された第1クラスターに含まれる複数の到達位置に対応付けられる出発位置のそれぞれについて、当該出発位置から第2の所定距離範囲内の他の出発位置の数(以下「第2の数」という。)を求め、当該第2の数に基づいて、当該複数の出発位置を複数のクラスター(以下「第2クラスター」という。)に分類し、当該分類された複数の第2クラスターの中から少なくとも1つの第2クラスターを選択し、当該選択した第2クラスターの中心に対応する出発位置を取得する。
配置部は、仮想空間内において、取得された第1クラスターに対応する出発位置から、取得された第2クラスターに対応する到達位置までの間に、障害物を配置する。
上記発明では、ゲーム装置は、出発位置と到達位置との組み合わせで表される命中情報をクラスター分析し、攻撃をする側にとって最も有利と推定される位置と、攻撃をされる側にとって最も不利と推定される位置とをまとめて取得している。しかし、クラスター分析の対象となるデータ(命中情報)の数が多いほど計算量が増え、ゲーム装置が行う処理の負荷が大きくなる恐れがある。そこで、ゲーム装置が行う処理の量を減らし且つ同様の効果を奏するようにゲーム装置を構成することもできる。
すなわち、ゲーム装置は、まず、命中情報に含まれる出発位置と到達位置のうち、到達位置のみ類似する命中情報同士を同じクラスターに分類する。到達位置は複数のクラスター(第1クラスター)に分類される。第1クラスターに分類される各到達位置で示されるエリアは、何らかの攻撃を受けやすい不利なエリアである。ただし、この時点ではその攻撃がどこから発せられるのかまでは特定されない。
次に、ゲーム装置は、複数の第1クラスターのうち含まれる到達位置の数が多い第1クラスターを選択する。例えば、ゲーム装置は、到達位置の数が最も多い第1クラスターを1つだけ選択する。選択した第1クラスターに含まれる到達位置で示されるエリアは、何らかの攻撃を最も受けやすいエリアである。選択した第1クラスターの中心に対応する到達位置は、何らかの攻撃を最も受けやすい代表的な位置である。
更に、ゲーム装置は、すべての出発位置のうち、選択した第1クラスターに含まれる到達位置に対応付けられている出発位置をクラスターに分類する。すべての出発位置のうち、選択した第1クラスターに含まれる到達位置に対応付けられている出発位置のみが、複数のクラスター(第2クラスター)に分類される。従って、攻撃を受けやすいエリアがどこかに加えて、どの辺りから攻撃されやすいのかが分かる。選択した第2クラスターの中心に対応する出発位置は、最も攻撃をしやすい代表的な位置である。
そして、ゲーム装置は、選択した第1クラスターの中心に対応する到達位置と、選択した第2クラスターの中心に対応する出発位置との間に、新たに障害物を配置する。例えば、出発位置と到達位置とを結ぶ線分上の任意の位置に、攻撃の妨げとなる新たな障害物が配置される。本発明によれば、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整することができる。
取得部は、複数のクラスターのそれぞれについて、当該クラスターに含まれる命中情報の個数に基づいてクラスターを選択してもよい。
例えば、命中情報が最も多いクラスターを1つだけ選択したり、命中情報が多い上位所定個数のクラスターを選択したりしてもよい。命中情報の数が多いクラスターに含まれる出発位置と到達位置が示す各エリアは、いわゆる“激戦区”に相当する。従って、戦闘が発生しやすい場所に障害物が配置されることになり、ゲームの緊迫感が増し、且つ、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整できるようになる。なお、ゲーム装置は、複数のクラスターを選択した場合、選択したそれぞれのクラスターに対応する障害物を配置する。
記憶部は、命中しなかったと判定された攻撃を発したキャラクターの位置を出発位置として指定する失敗情報を更に記憶してもよい。
そして、取得部は、複数のクラスターのそれぞれについて、当該クラスターに含まれる命中情報の個数と、当該命中情報に指定される出発位置が含まれる領域(以下「出発領域」という。)に含まれる位置を出発点として指定する失敗情報の個数と、に基づいて、クラスターを選択してもよい。
すなわち、新たに配置される障害物の位置は、相手に命中した攻撃(成功した攻撃)だけでなく、相手に命中しなかった攻撃(失敗した攻撃)も考慮して決定される。例えば、命中情報が多く且つ失敗情報が少ないエリアは、攻撃する側にとって有利である。しかし、命中情報が多く且つ失敗情報も多いエリアは、必ずしも攻撃する側にとって有利とは限らない。従って、命中情報に加えて失敗情報も考慮することにより、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整できる効果が増す。
記憶部は、命中しなかったと判定された攻撃を発したキャラクターの位置を出発位置として指定する失敗情報を更に記憶してもよい。
そして、取得部は、複数のクラスターのそれぞれについて、当該クラスターに含まれる命中情報に指定される出発位置が含まれる領域(以下「出発領域」という。)と、当該命中情報に指定される到達位置が含まれる領域(以下「到達領域」という。)と、を取得し、記憶された失敗情報のうち、当該失敗情報に指定される出発位置から当該失敗情報に指定される到達位置への向きが、当該出発領域から当該到達領域への向きと実質的に同じであり、且つ、当該失敗情報に指定される出発位置が当該出発領域に含まれる、失敗情報の個数と、当該クラスターに含まれる命中情報の個数と、に基づいて、クラスターを選択してもよい。
すなわち、新たに配置される障害物の位置は、相手に命中した攻撃(成功した攻撃)だけでなく、相手を狙ったものの命中しなかったと推定される攻撃(失敗した攻撃)も考慮して決定される。例えば、命中情報が多く且つ命中情報に類似する失敗情報が少ないエリアは、攻撃する側にとって有利である。しかし、命中情報が多く且つ命中情報に類似する失敗情報も多いエリアは、必ずしも攻撃する側にとって有利とは限らない。従って、命中情報に加えて失敗情報も考慮することにより、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整できる効果が増す。
配置部は、障害物の個数が所定の閾値を超えると、当該障害物のうち、配置されてからの期間が長い障害物から消去してもよい。
障害物を配置した後に更にゲームが進行すると、ゲームバランスを調整するために適切と判断される位置が変わる可能性がある。そこで、ゲーム装置は、新たに障害物を配置するだけでなく、古い障害物を消去する。ゲーム装置は、障害物の数が多すぎることがないように調整しつつ、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整することができる。
配置部は、更に、仮想空間に既に配置した障害物のうち、取得された出発位置又は取得された到達位置から最も離れている障害物を消去してもよい。
つまり、ゲーム装置は、障害物を消去する際、“激戦区”に近い障害物を優先的に残し、“激戦区”から遠い障害物を優先的に消去する。ゲーム装置は、なるべく存在意義が大きい位置に障害物を配置するように調整しつつ、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整することができる。
本発明のその他の観点に係るゲームシステムは、仮想空間内において複数のキャラクターが対戦するゲームを実現するゲームシステムである。ゲームシステムには、複数のゲーム装置が含まれる。
複数のゲーム装置のうち一のゲーム装置(以下「第1のゲーム装置」という。)は、判定部、記憶部、分類部、取得部、第1の配置部、送信部を備える。
判定部は、複数のキャラクターのうち、第1キャラクターから発せられた攻撃が障害物に遮られずに第2キャラクターに命中したか否かを判定する。
記憶部は、命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を記憶する。
分類部は、記憶された命中情報をクラスター分析して複数のクラスターに分類する。
取得部は、複数のクラスターから所定個数のクラスターを選択し、当該選択されたクラスターのそれぞれのセントロイドに指定される出発位置と到達位置とを取得する。
第1の配置部は、仮想空間内において、取得された出発位置から、取得された到達位置まで、の間に障害物を配置する。
送信部は、配置された障害物を指定する情報を、複数のゲーム装置のうち他の一のゲーム装置(以下「第2のゲーム装置」という。)に送信する。
また、第2のゲーム装置は、受信部と第2の配置部を備える。
受信部は、第1のゲーム装置から障害物を指定する情報を受信する。
第2の配置部は、受信した障害物を指定する情報に基づいて、仮想空間内に障害物を配置する。
第1のゲーム装置と第2のゲーム装置は、例えばインターネットなどのネットワークで接続される。典型的には、第1のプレイヤーが第1のゲーム装置を操作して第1のキャラクターに指示を与え、第2のプレイヤーが第2のゲーム装置を操作して第2のキャラクターに指示を与える。第1のゲーム装置と第2のゲーム装置は、所定のタイミングで互いに同期を取りながら、それぞれ仮想空間で第1のキャラクターと第2のキャラクターが対戦するゲームを実行する。
第1のゲーム装置は、上述のゲーム装置と同様に、第1のゲーム装置がゲームを行う仮想空間内において、選択した第1クラスターの中心に対応する到達位置と、選択した第2クラスターの中心に対応する出発位置との間に、新たに障害物を配置する。そして、新たな障害物の座標や新たな障害物の種類などを指定する情報を第2のゲーム装置に送信する。この第1のゲーム装置は、障害物の配置を管理するゲームサーバとして機能する。
第2のゲーム装置は、新たな障害物を指定する情報を第1のゲーム装置から受信して、第2のゲーム装置がゲームを行う仮想空間内において、新たな障害物を配置する。つまり、第1のゲーム装置が実行するゲームの仮想空間内と同じ障害物が、第2のゲーム装置が実行するゲームの仮想空間内に配置され、障害物の同期が取られる。この第2のゲーム装置は、ゲームクライアントとして機能する。
本発明によれば、ネットワークゲームにおいても、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整することができる。なお、ネットワークに接続される複数のゲーム装置のうち少なくとも1つが第1のゲーム装置(ゲームサーバ)となればよい。第1のゲーム装置と第2のゲーム装置は、同等のハードウェア構成を有するゲーム装置であってもよいし、ゲームサーバとなる第1のゲーム装置のみ、対戦ゲームのプレイヤーが操作しない専用サーバであってもよい。
本発明のその他の観点に係るゲームシステムは、仮想空間内において複数のキャラクターが対戦するゲームを実現するゲームシステムである。ゲームシステムには、複数のゲーム装置が含まれる。
複数のゲーム装置のうち一のゲーム装置(以下「第1のゲーム装置」という。)は、判定部、記憶部、第1の分類取得部、第2の分類取得部、第1の配置部、送信部と備える。
判定部は、複数のキャラクターのうち、第1キャラクターから発せられた攻撃が障害物に遮られずに第2キャラクターに命中したか否かを判定する。
記憶部は、命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を複数記憶する。
第1の分類取得部は、記憶された命中情報に指定される到達位置のそれぞれについて、当該到達位置から第1の所定距離範囲内の他の到達位置の数(以下「第1の数」という。)を求め、当該第1の数に基づいて、当該複数の到達位置を複数のクラスター(以下「第1クラスター」という。)に分類し、当該分類された複数の第1クラスターの中から少なくとも1つの第1クラスターを選択し、当該選択した第1クラスターの中心に対応する到達位置を取得する。
第2の分類取得部は、取得された第1クラスターに含まれる複数の到達位置に対応付けられる出発位置のそれぞれについて、当該出発位置から第2の所定距離範囲内の他の出発位置の数(以下「第2の数」という。)を求め、当該第2の数に基づいて、当該複数の出発位置を複数のクラスター(以下「第2クラスター」という。)に分類し、当該分類された複数の第2クラスターの中から少なくとも1つの第2クラスターを選択し、当該選択した第2クラスターの中心に対応する出発位置を取得する。
第1の配置部は、仮想空間内において、取得された第1クラスターに対応する出発位置から、取得された第2クラスターに対応する到達位置までの間に、障害物を配置する。
送信部は、配置された障害物を指定する情報を、複数のゲーム装置のうち他の一のゲーム装置(以下「第2のゲーム装置」という。)に送信する。
また、第2のゲーム装置は、受信部と第2の配置部を備える。
受信部は、第1のゲーム装置から障害物を指定する情報を受信する。
第2の配置部は、受信した障害物を指定する情報に基づいて、仮想空間内に障害物を配置する。
本発明によれば、ネットワークゲームにおいても、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整することができる。なお、ネットワークに接続される複数のゲーム装置のうち少なくとも1つが第1のゲーム装置(ゲームサーバ)となればよい。第1のゲーム装置と第2のゲーム装置は、同等のハードウェア構成を有するゲーム装置であってもよいし、ゲームサーバとなる第1のゲーム装置のみ、対戦ゲームのプレイヤーが操作しない専用サーバであってもよい。
第1の配置部は、仮想空間に既に配置した障害物のうちのいずれかを消去してもよい。
また、送信部は、消去される障害物を指定する情報を第2のゲーム装置に送信してもよい。
さらに、受信部は、消去される障害物を指定する情報を第1のゲーム装置から受信してもよい。
そして、第2の配置部は、受信した消去される障害物を指定する情報に基づいて、仮想空間から障害物を消去してもよい。
本発明によれば、ゲームシステムは、障害物を配置するだけでなく消去することにより、障害物の配置を調整し、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整することができる。
本発明のその他の観点に係るゲーム処理方法は、仮想空間内において複数のキャラクターが対戦するゲームを実現し、判定部、記憶部、分類部、取得部、配置部を有するゲーム装置にて実行されるゲーム処理方法であって、判定ステップ、記憶ステップ、分類ステップ、取得ステップ、配置ステップを備える。
判定ステップでは、判定部が、複数のキャラクターのうち、第1キャラクターから発せられた攻撃が障害物に遮られずに第2キャラクターに命中したか否かを判定する。
記憶ステップでは、記憶部が、命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を記憶する。
分類ステップでは、分類部が、記憶された命中情報をクラスター分析して複数のクラスターに分類する。
取得ステップでは、取得部が、複数のクラスターから所定個数のクラスターを選択し、当該選択されたクラスターのそれぞれのセントロイドに指定される出発位置と到達位置とを取得する。
配置ステップでは、配置部が、仮想空間内において、取得された出発位置から取得された到達位置までの間に障害物を配置する。
本発明によれば、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整することができる。
本発明のその他の観点に係るゲーム処理方法は、仮想空間内において複数のキャラクターが対戦するゲームを実現し、判定部、記憶部、第1の分類取得部、第2の分類取得部、配置部を有するゲーム装置にて実行されるゲーム処理方法であって、判定ステップ、記憶ステップ、第1の分類取得ステップ、第2の分類取得ステップ、配置ステップを備える。
判定ステップでは、判定部が、複数のキャラクターのうち、第1キャラクターから発せられた攻撃が障害物に遮られずに第2キャラクターに命中したか否かを判定する。
記憶ステップでは、記憶部が、命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を、複数記憶する。
第1の分類取得ステップでは、第1の分類取得部が、記憶された命中情報に指定される到達位置のそれぞれについて、当該到達位置から第1の所定距離範囲内の他の到達位置の数(以下「第1の数」という。)を求め、当該第1の数に基づいて、当該複数の到達位置を複数のクラスター(以下「第1クラスター」という。)に分類し、当該分類された複数の第1クラスターの中から少なくとも1つの第1クラスターを選択し、当該選択した第1クラスターの中心に対応する到達位置を取得する。
第2の分類取得ステップでは、第2の分類取得部が、取得された第1クラスターに含まれる複数の到達位置に対応付けられる出発位置のそれぞれについて、当該出発位置から第2の所定距離範囲内の他の出発位置の数(以下「第2の数」という。)を求め、当該第2の数に基づいて、当該複数の出発位置を複数のクラスター(以下「第2クラスター」という。)に分類し、当該分類された複数の第2クラスターの中から少なくとも1つの第2クラスターを選択し、当該選択した第2クラスターの中心に対応する出発位置を取得する。
配置ステップでは、配置部が、仮想空間内において、取得された第1クラスターに対応する出発位置から、取得された第2クラスターに対応する到達位置までの間に、障害物を配置する。
本発明によれば、キャラクター同士の対戦における有利・不利が偏り過ぎないように調整することができる。
本発明のその他の観点に係るプログラムは、仮想空間内において複数のキャラクターが対戦するゲームを実現するコンピュータを、判定部、記憶部、分類部、取得部、配置部として機能させる。
判定部は、複数のキャラクターのうち、第1キャラクターから発せられた攻撃が障害物に遮られずに第2キャラクターに命中したか否かを判定する。
記憶部は、命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を記憶する。
分類部は、記憶された命中情報をクラスター分析して複数のクラスターに分類する。
取得部は、複数のクラスターから所定個数のクラスターを選択し、当該選択されたクラスターのそれぞれのセントロイドに指定される出発位置と到達位置とを取得する。
配置部は、仮想空間内において、取得された出発位置から取得された到達位置までの間に障害物を配置する。
本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
本発明のその他の観点に係るプログラムは、仮想空間内において複数のキャラクターが対戦するゲームを実現するコンピュータを、判定部、記憶部、第1の分類取得部、第2の分類取得部、配置部として機能させる。
判定部は、複数のキャラクターのうち、第1キャラクターから発せられた攻撃が障害物に遮られずに第2キャラクターに命中したか否かを判定する。
記憶部は、命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を複数記憶する。
第1の分類取得部は、記憶された命中情報に指定される到達位置のそれぞれについて、当該到達位置から第1の所定距離範囲内の他の到達位置の数(以下「第1の数」という。)を求め、当該第1の数に基づいて、当該複数の到達位置を複数のクラスター(以下「第1クラスター」という。)に分類し、当該分類された複数の第1クラスターの中から少なくとも1つの第1クラスターを選択し、当該選択した第1クラスターの中心に対応する到達位置を取得する。
第2の分類取得部は、取得された第1クラスターに含まれる複数の到達位置に対応付けられる出発位置のそれぞれについて、当該出発位置から第2の所定距離範囲内の他の出発位置の数(以下「第2の数」という。)を求め、当該第2の数に基づいて、当該複数の出発位置を複数のクラスター(以下「第2クラスター」という。)に分類し、当該分類された複数の第2クラスターの中から少なくとも1つの第2クラスターを選択し、当該選択した第2クラスターの中心に対応する出発位置を取得する。
配置部は、仮想空間内において、取得された第1クラスターに対応する出発位置から、取得された第2クラスターに対応する到達位置までの間に、障害物を配置する。
本発明によれば、コンピュータを上述のように動作するゲーム装置として機能させることができる。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
本発明によれば、キャラクター同士の対戦において、キャラクターの位置によって有利・不利が偏り過ぎないように調整するために好適なゲーム装置、ゲーム処理方法、ゲームシステム、ならびに、プログラムを提供することができる。
本発明のゲーム装置が実現される典型的な情報処理装置の概要構成を示す図である。 ゲーム装置の機能的な構成を説明するための図である。 ゲーム画面の構成例を示す図である。 仮想空間を所定方向から俯瞰したマップの例を示す図である。 命中情報リストの構成例を示す図である。 出発位置と到達位置をプロットしたマップの例を示す図である。 命中情報をクラスターに分類した結果を表す概念図である。 クラスターのセントロイドで指定される出発位置と到達位置を説明するための図である。 新たな障害物を配置したときのマップの例を示す図である。 (a)〜(d)は、新たな障害物を配置する処理を説明するための図である。 ゲーム処理を説明するためのフローチャートである。 実施形態2において、命中情報リストの構成例を示す図である。 命中情報をクラスターに分類した結果を表す概念図である。 新たな障害物を配置したときのマップの例を示す図である。 実施形態3において、失敗情報の中から命中情報が示す攻撃に類似するものを求める処理を説明するための図である。 失敗情報の中から命中情報が示す攻撃に類似するものを求める処理を説明するための図である。 新たな障害物を配置したときのマップの例を示す図である。 実施形態4において、ゲーム装置の機能的な構成を説明するための図である。 複数の到達位置をクラスターに分類する処理を説明するための図である。 複数の出発位置をクラスターに分類する処理を説明するための図である。 新たな障害物を配置したときのマップの例を示す図である。 新たな障害物を配置したときのマップの例を示す図である。 新たに配置した障害物を示す情報の構成例を示す図である。 実施形態5において、障害物の消去処理を説明するためのフローチャートである。 消去対象の障害物を選択する処理を説明するための図である。 複数のゲーム装置から構成されるゲームシステムを示す図である。
(実施形態1)
本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
図1は、プログラムを実行することにより、本発明のゲーム装置の機能を果たす典型的な情報処理装置100の概要構成を示す模式図である。以下、本図を参照して説明する。
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、DVD−ROM(Digital Versatile Disk - Read Only Memory)ドライブ107と、画像処理部108と、音声処理部109と、NIC(Network Interface Card)110と、を備える。
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ107に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置が実現される。
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
インターフェース104を介して接続されたコントローラ105は、プレイヤーがダンスゲームやサッカーゲームなどのゲームの実行の際に行う操作入力を受け付ける。インターフェース104には、複数のコントローラ105が接続されていてもよい。
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲームのプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワークを用いたゲームのチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。プレイヤーは、コントローラ105を介して操作入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
DVD−ROMドライブ107に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ107は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
画像処理部108は、DVD−ROMから読み出されたデータをCPU 101や画像処理部108が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部108が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部108に接続されるモニター(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
また、ゲームの画像などの情報をDVD−ROMに用意しておき、これをフレームメモリに展開することによって、ゲームの様子などを画面に表示することができるようになる。
音声処理部109は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカー(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカーから出力させる。
音声処理部109では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM(Adaptive Differential Pulse Code Modulation)形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカーに出力することにより、音声出力が可能となる。
NIC 110は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ107に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
次に、上記構成を有する情報処理装置100により実現される本実施形態のゲーム装置200の機能的な構成などについて説明する。
図2は、本実施形態のゲーム装置200の機能的な構成を示す図である。
図3は、ゲーム装置200にて実行されるゲームの画面300の構成例を示す図である。
図4は、ゲームが行われる3次元仮想空間を(地面の真上から)俯瞰したマップ400の例を示す図である。
まず、本実施形態のゲーム装置200が行うゲームの内容について説明する。ゲーム装置200で実行される典型的なゲームのひとつに、仮想空間において、複数のプレイヤー同士が対戦するか、もしくは、1人のプレイヤーとゲーム装置200とが対戦する(いわゆる“CPU対戦”する)シューティングゲームがある。例えば、一般にFPS(First Person Shooting、又は、First Person Shooter)と呼ばれるゲームでは、仮想空間内に配置されるキャラクターの目(一人称視点)から見た画像がモニターに表示される。プレイヤーは、キャラクターから見た仮想空間の光景を体感しながら、キャラクターになりきってゲームをプレイすることができる。
ゲームの内容は本発明によって限定されないが、以下の説明では、1人のプレイヤーが3次元仮想空間に配置されるプレイヤーキャラクターオブジェクト(以下「プレイヤーキャラクター」という。)310を操り、この3次元仮想空間内に次々と出現する敵と戦いながら仮想空間内を動き回り、予め決められたミッションを達成することを目標とする対戦ゲームを例にとって説明する。ただし、複数のプレイヤーがそれぞれ異なるプレイヤーキャラクターを操って対戦するゲームでもよい。また、3次元仮想空間ではなく2次元仮想空間であってもよい。
CPU 101は、画像処理部108を制御して、仮想空間内に配置されるプレイヤーキャラクター310の視点の位置から、プレイヤーキャラクター310の視線の向きに、所定の投影面へこの仮想空間を投影することにより、画面(投影画像)300を生成し、画面300をモニターに表示する。
画面300には、例えば、プレイヤーキャラクター310、敵キャラクターオブジェクト(以下「敵キャラクター」という。)320、障害物オブジェクト(以下「障害物」という。)330、ライフメーター340、銃の残り弾数を示すゲージ350などが含まれる。ただし、本実施形態では、プレイヤーキャラクター310の一人称視点から見た画像が表示されるので、画面300には、プレイヤーキャラクター310の視点から見える一部分(図3ではプレイヤーキャラクター310が所持する銃のみ)が表示される。
プレイヤーは、コントローラ105を操作してプレイヤーキャラクター310を移動させたり所定の動作(例えば銃を発射する、走る等)をさせたりする。CPU 101は、所定のアルゴリズムに従って敵キャラクター320を移動させたり所定の動作をさせたりする。CPU 101は、仮想空間内の任意の位置に敵キャラクター320を配置することができる。
CPU 101は、仮想空間内の任意の位置に障害物330を配置したり、既に配置された障害物330を移動あるいは消去したりすることができる。障害物330には、例えば、建物、樹木、地形などのように位置が固定されるもののほか、トラック、戦車、敵ではない人物などのように移動可能なものも含まれる。
障害物330は、一方のキャラクターから他方のキャラクターへの攻撃の妨げになる可能性がある。例えば、プレイヤーキャラクター310の銃から発射された弾丸が、敵キャラクター320に命中せずに障害物330に当たった場合、この攻撃は失敗したことになる。
CPU 101は、障害物330を新たに配置する場合、所定期間内にプレイヤーキャラクター310が敵キャラクター320に(又は敵キャラクター320がプレイヤーキャラクター310に)攻撃を発した位置の分布や、所定期間内にプレイヤーキャラクター310が敵キャラクター320から(又は敵キャラクター320がプレイヤーキャラクター310から)攻撃を受けた位置の分布を解析することにより、障害物330を配置する場所を決定することができる。
例えば、CPU 101は、
(1)プレイヤーキャラクター310が敵キャラクター320に攻撃を発したときのプレイヤーキャラクター310の位置であって、その攻撃が敵キャラクター320に命中したときの位置(以下、「出発位置」という。)と、
(2)その攻撃が命中したときの敵キャラクター320の位置(以下、「到達位置」という。)と、
をRAM 103に一時記憶しておく。これらの位置を示すデータが累積されると、所定期間内におけるプレイヤーキャラクター310の位置の集合(分布)と、所定期間内における敵キャラクター320の位置の集合(分布)と、が得られる。
簡単に言えば、出発位置は攻撃が成功した位置であり、到達位置は攻撃を受けた位置である。
CPU 101は、得られた出発位置を示す各データ及び/又は到達位置を示す各データを分析対象とする。CPU 101は、すべての分析対象のうち類似するもの同士を1つの部分集合に分類する。そして、CPU 101は、分析対象の類似度に基づいて、分析対象の全体集合を幾つかの部分集合に分類する。
例えば、CPU 101は、出発位置が所定距離以内にあるそれぞれの分析対象を1つの部分集合に分類する。CPU 101は、すべての分析対象を複数の部分集合に分類する。1つの部分集合は、出発位置が互いに近い分析対象同士から構成される。すなわち、プレイヤーキャラクター310が敵キャラクター320を攻撃したときのプレイヤーキャラクター310の位置のうち、敵キャラクター320への攻撃が命中しやすい位置の分布が得られる。もしくは、敵キャラクター320がプレイヤーキャラクター310を攻撃したときの敵キャラクター320の位置のうち、プレイヤーキャラクター310への攻撃が命中しやすい位置の分布が得られる。得られる分布は、キャラクターにとって有利なエリアを表す。
例えば、CPU 101は、到達位置が所定距離以内にあるそれぞれの分析対象を1つの部分集合に分類する。CPU 101は、すべての分析対象を複数の部分集合に分類する。1つの部分集合は、到達位置が互いに近い、1つ以上の分析対象から構成される。すなわち、プレイヤーキャラクター310が敵キャラクター320を攻撃したときの敵キャラクター320の位置のうち、プレイヤーキャラクター310からの攻撃が命中しやすい位置の分布が得られる。もしくは、敵キャラクター320がプレイヤーキャラクター310を攻撃したときのプレイヤーキャラクター310の位置のうち、敵キャラクター320からの攻撃が命中しやすい位置の分布が得られる。得られる分布は、キャラクターにとって不利なエリア、危険なエリアを表す。
例えば、CPU 101は、出発位置が所定距離以内にあり、且つ、到達位置が所定距離以内にあるそれぞれの分析対象を1つの部分集合に分類する。CPU 101は、すべての分析対象を複数の部分集合に分類する。1つの部分集合は、出発位置が互いに近く、且つ、到達位置が互いに近い、1つ以上の分析対象から構成される。すなわち、プレイヤーキャラクター310から敵キャラクター320への攻撃が命中しやすい(もしくは敵キャラクター320からプレイヤーキャラクター310への攻撃が命中しやすい)状態の、プレイヤーキャラクター310の位置と敵キャラクター320の位置との組み合わせの分布が得られる。得られる分布は、攻撃する側のキャラクターがより有利なエリア(言い換えれば、攻撃される側のキャラクターがより不利なエリア)を表す。
本実施形態では、CPU 101は、一方のキャラクターが他方のキャラクターより相対的に有利に(不利に)なりすぎないように、障害物330を配置する。CPU 101が分析対象の全体集合を複数の部分集合に分類する手法のひとつにクラスター分析(あるいはクラスタリングとも呼ばれる)があるが、詳細は後述する。
マップ400には、ゲームのある時点における、プレイヤーキャラクター310の位置と、敵キャラクター320(図4では320A,320B,320Cの3つ)の位置と、障害物330(図4では330A,330B,330C,330Dの4つ)の位置と、が示されている。説明の簡略化のため、マップ400は平面に描かれているが、仮想空間は3次元であり、実際には高さを含む立体的なマップとなる。
プレイヤーキャラクター310が敵キャラクター320から攻撃を受け、敵キャラクター320から発射された弾が当たるなどして負傷すると、ライフメーター340が示す値が減少する。ライフメーター340が示す値が所定値(典型的にはゼロ)に達したり、プレイヤーキャラクター310が所定数以上被弾したりすると、ゲーム終了(ミッション失敗)となる。また、敵キャラクター320が所定数以上被弾すると、敵キャラクター320は無力化(死亡)する。
(クラスター分析)
次に、ゲーム装置200で実行されるクラスター分析の概要について説明する。
クラスター分析では、分類対象となる点の集合は、幾つかの部分集合に分類される。部分集合のそれぞれは「クラスター」と呼ばれる。
本実施形態における分析対象は、上述の出発位置と到達位置との組み合わせである。より詳細には、出発位置と到達位置は、いずれも、3次元仮想空間内に予め定義されるグローバル座標系を用いた座標値で表される。従って、グローバル座標系にXYZ直行座標系を用いる場合、出発位置(a1,a2,a3)と到達位置(a4,a5,a6)との組み合わせは、6つのパラメータa1,a2,a3,a4,a5,a6を用いる6次元空間の中の1点の座標(a1,a2,a3,a4,a5,a6)を意味する。
簡単にクラスター分析のアルゴリズムについて説明する。
(1)N個(Nは1以上の整数。ただしNは3以上であることが望ましい。)の分析対象からなるデータ集合Pがあるとき、初期状態として、分析対象をそれぞれ1個だけ含むN個のクラスターを作る。データ集合Pと分析対象Pi,Pj(i≠j、1≦i≦N、1≦j≦N)は、それぞれ、[数1]、[数2]、[数3]で表される。
P={P1,P2,・・・,PN} ・・・[数1]
Pi=(a1,a2,a3,a4,a5,a6) ・・・[数2]
Pj=(b1,b2,b3,b4,b5,b6) ・・・[数3]
(2)任意の2つの分析対象Pi,Pjの非類似度を計算する。非類似度は、分析対象Pi,Pj間の距離D(Pi,Pj)である。距離D(Pi,Pj)が小さいほど、分析対象PiとPjとは類似していると解釈される。
距離D(Pi,Pj)は、例えば、[数4]で表されるユークリッド距離である。
D(Pi,Pj) = sqrt(Σ{an−bn}^2) ・・・[数4]
ただし、
n : 1から6までの整数
sqrt(x) : xの平方根
x^2 : xの2乗
Σ : n=1からn=6までの和
である。
なお、距離D(Pi,Pj)を計算するための関数の違いにより、クラスター分析にはウォード法、最短距離法、最長距離法などが知られているが、ここでは詳しい説明は省略する。
(3)データ集合Pの中から、最も類似している分析対象の組み合わせを特定する。つまり、距離D(Pi,Pj)が最も小さい分析対象Pi,Pjの組み合わせを特定する。
(4)上記(3)で特定された分析対象Pi,Pjの組み合わせを1つのクラスターに併合し、新たなクラスターKを生成する。すなわち、特定された分析対象Pi,Pjをデータ集合Pから削除し、新たに生成されたクラスターKをデータ集合Pに加える。クラスターKの重心点をセントロイドという。
(5)以上の処理を、所定の終了条件を満たすまで繰り返す。例えば、所定の終了条件には、「所定数のクラスターに分類されるまで」、「すべての分析対象が1つのクラスターに分類されるまで」、「所定の類似度が得られなくなるまで」などがある。
結果として、N個の分析対象は、デンドログラムと呼ばれる階層構造で並べられる。N個の分析対象は、複数のクラスターに分類される。同じクラスターに分類された分析対象同士は、所定の条件の下、互いに類似する性格をもつ。
本実施形態では、クラスター分析の対象となるデータは、出発位置の座標と到達位置の座標との組み合わせ(a1,a2,a3,a4,a5,a6)である。クラスター分析により、出発位置が近く且つ到達位置が近い座標の組み合わせが取得される。簡単に言えば、相手に最も攻撃をしやすい位置と、相手から最も攻撃を受けやすい位置と、の組み合わせが求まる。
なお、2次元仮想空間の場合には、出発位置(a1’,a2’)と到達位置(a3’,a4’)との組み合わせは、4つのパラメータa1’,a2’,a3’,a4’を用いる4次元空間の中の1点の座標(a1’,a2’,a3’,a4’)を意味する。クラスター分析の対象となるデータは、出発位置の座標と到達位置の座標との組み合わせ(a1’,a2’,a3’,a4’)である。
次に、ゲーム装置200の機能的な構成の詳細について説明する。本実施形態のゲーム装置200は、判定部201、記憶部202、分類部203、取得部204、配置部205を備える。
ゲーム装置200にて実行される仮想空間内におけるゲームには、1つ以上のプレイヤーキャラクター310と1つ以上の敵キャラクター320とを含む複数のキャラクター、及び、1つ以上の障害物330が存在する。このゲームでは、プレイヤーキャラクター310と敵キャラクター320が、例えば銃を撃ち合って、戦闘する。
判定部201は、ゲーム内の複数のキャラクターのうち、第1キャラクター(攻撃をする側)から発せられた攻撃が障害物330に遮られずに第2キャラクター(攻撃をされる側)に命中したか否かを判定する。第1キャラクターがプレイヤーキャラクター310の場合には第2キャラクターが敵キャラクター320であり、逆に第1キャラクターが敵キャラクター320の場合には第2キャラクターがプレイヤーキャラクター310である。CPU 101が判定部201として機能する。
より詳細には、CPU 101は、第1キャラクターの位置(あるいは銃の位置)、第1キャラクターの向き(あるいは銃の向き)、銃の発射速度、仮想空間内の重力場、仮想空間内の風の強さや向きなどから、発射された弾丸オブジェクトが進む軌道を計算し、計算された軌道上に障害物330が存在せず且つ第2キャラクターが存在すれば、攻撃が命中したと判定する。
記憶部202は、判定部201により命中したと判定された攻撃を発した第1キャラクターの位置を出発位置とし、その攻撃が命中したときの第2キャラクターの位置を到達位置として指定する、命中情報リスト250を記憶する。また、記憶部202は、仮想空間内に配置される障害物330の位置を記憶する。CPU 101と外部メモリ106が協働して記憶部202として機能する。
図5は、命中情報リスト250の構成例を示す図である。命中情報リスト250には、項番と、1つの出発位置の座標値と、1つの到達位置の座標値と、が対応付けられて記憶される。1組の項番と出発位置と到達位置の組み合わせを「命中情報」と呼ぶ。命中情報のそれぞれが、後述する分類部203による分析対象となる。項番は、命中情報を区別するための識別子である。
CPU 101は、プレイヤーキャラクター310から敵キャラクター320への1つの攻撃が命中するごとに1個の命中情報を追加していき、現在から所定期間だけ過去の期間の命中情報を蓄積していく。CPU 101は、記憶されてから所定期間が経過した命中情報を、命中情報リスト250から削除する。例えば、命中情報リスト250には、過去X時間以内に成功したN回(Nは1以上の整数)の攻撃のそれぞれに対応するN個の命中情報が記憶される。例えば、命中情報リスト250には、直近のX回のゲームの中で成功したN回の攻撃のそれぞれに対応するN個の命中情報が記憶される。
あるいは、CPU 101は、命中情報の数が所定の上限値に達するまで、1つの攻撃が命中するごとに1個の命中情報を追加してもよい。そして、全レコード数が上限値に達した後に更に攻撃が命中すると、CPU 101は、既に記憶されている命中情報のうち最も古い命中情報を削除し、最も新しく命中した攻撃に対応する命中情報を追加してもよい。
本実施形態では、CPU 101は、プレイヤーキャラクター310から敵キャラクター320への攻撃に対応する命中情報を外部メモリ106に記憶させる。しかし、CPU 101は、プレイヤーキャラクター310から敵キャラクター320への攻撃の代わりに、あるいは、プレイヤーキャラクター310から敵キャラクター320への攻撃に加えて、敵キャラクター320からプレイヤーキャラクター310への攻撃に対応する命中情報を外部メモリ106に記憶させてもよい。
次に、分類部203は、命中情報リスト250に記憶される命中情報をクラスター分析して、それぞれの命中情報を複数のクラスターに分類する。すなわち、CPU 101は、命中情報リスト250に含まれるすべて命中情報の中から類似するもの同士を同じクラスターに分類し、すべての命中情報を幾つかのクラスターにグループ分けする。互いに類似する命中情報は、所定の条件に基づき、同一のクラスターに分類されることとなる。CPU 101と画像処理部108が協働して分類部203として機能する。
図6は、マップ400上に、所定期間内における命中情報(出発位置と到達位置の組み合わせ)をプロットした図である。説明の簡略化のため、Z方向を省略し、平面のマップで表現している。白マルが出発位置を示し、黒マルが到達位置を示す。数字は命中情報の項番を示す。
本実施形態では、CPU 101は、図5に示す出発位置の座標と到達位置の座標との組み合わせから構成される6次元パラメータをクラスター分析する。クラスター分析に用いる距離として、上記[数4]で表されるユークリッド距離を採用する。ユークリッド距離が所定距離R以内にある命中情報は、同一のクラスターに分類される。
例えば図6において、項番「1」の出発位置と項番「1」の到達位置との組み合わせである命中情報P1(a1,a2,a3,a4,a5,a6)と、項番「2」の出発位置と項番「2」の到達位置との組み合わせである命中情報P2(b1,b2,b3,b4,b5,b6)と、対応する距離D12は、[数5]で表される。
D12=sqrt{(b1−a1}^2 + (b2−a2}^2
+ (b3−a3}^2 + (b4−a4}^2
+ (b5−a5}^2 + (b6−a6}^2} ・・・[数5]
CPU 101は、距離D12を計算し、距離D12が所定距離R以下か否かを判別する。距離D12が所定距離R以下であると判別した場合、CPU 101は、2つの命中情報P1,P2を同じクラスターに分類する。
同様に、CPU 101は、項番「1」の出発位置と項番「1」の到達位置との組み合わせである命中情報P1(a1,a2,a3,a4,a5,a6)と、項番「3」の出発位置と項番「3」の到達位置との組み合わせである命中情報P3(c1,c2,c3,c4,c5,c6)と、対応する距離D13を計算する。そして、距離D13が所定距離R以下であると判別した場合、CPU 101は、2つの命中情報P1,P3を同じクラスターに分類する。
CPU 101は、同様の処理を繰り返し、N個の命中情報をクラスター分析する。
図7は、図6に示される命中情報のそれぞれをクラスターに分けた結果を表す概念図である。図7では、10個の命中情報が5個のクラスター701〜705に分類されている。各クラスターに含まれる命中情報は次の通りである。
第1のクラスター701 : {P1,P2,P3,P4}
第2のクラスター702 : {P5,P6,P7}
第3のクラスター703 : {P8}
第4のクラスター704 : {P9}
第5のクラスター705 : {P10}
なお、図7は、クラスターに分けた結果の一例に過ぎない。命中情報同士の距離の計算の仕方、あるいは、所定距離Rの定義によっては、異なる結果が得られることは言うまでもない。
次に、取得部204は、分類部203によって分類されて得られる複数のクラスターの中から、所定個数のクラスターを選択する。そして、取得部204は、選択したクラスターのそれぞれのセントロイドに指定される出発位置と到達位置とを取得する。セントロイドはクラスターの重心である。CPU 101が取得部204として機能する。
所定個数が複数の場合、CPU 101は、分類部203によって得られたクラスターのそれぞれについて、クラスターに含まれる命中情報の個数に基づいて、クラスターを選択する。
例えば、図7において、CPU 101は、クラスターに含まれる命中情報の数が最も多いクラスター701を選択してもよい。
CPU 101は、クラスターに含まれる命中情報の数が多い順に、2つ以上のクラスターを選択してもよい。
更に、CPU 101は、選択したクラスターのセントロイドを計算し、セントロイドが示す出発位置と到達位置を計算する。セントロイドは、クラスターに含まれる命中情報が示す座標の平均値で表される。例えば、図7に示すクラスター701のセントロイドC701の座標は、[数6]で表される。
701 : (C1,C2,C3,C4,C5,C6)
Ci = (ai+bi+ci+di)/4 (i=1,2,3,4,5,6)
・・・[数6]
そして、CPU 101は、選択したクラスターのセントロイドに指定される出発位置の座標と到達位置の座標とを取得する。
図8は、セントロイド800で指定される出発位置と到達位置を説明するための図である。図8に示すように、CPU 101は、セントロイド800を表す6次元座標のうち、出発位置に相当する1番目から3番目のパラメータC1,C2,C3を組み合わせて得られる点CSTARTの座標(C1,C2,C3)と、到達位置に相当する4番目から6番目のパラメータC4,C5,C6を組み合わせて得られる点CENDの座標(C4,C5,C6)と、を取得する。
線分840は、点CSTARTと点CENDを結ぶ線であり、典型的には直線の形状をしている。この線分840上において、点CSTARTからの距離と点CENDからの距離が等しい点が中点850である。
なお、クラスターを2つ以上選択する場合、CPU 101は、選択したクラスターのそれぞれについて、セントロイドに指定される出発位置の座標と到達位置の座標とを取得する。
次に、配置部205は、取得部204によって取得された点CSTARTから、同じく取得部204によって取得された点CENDまでの間に、障害物330を配置する。CPU 101が配置部205として機能する。
具体的には、図9に示すように、CPU 101は、点CSTARTと点CENDとを結ぶ線分840上に、新たな障害物900を配置する。例えば、CPU 101は、線分840の中点850と障害物900の中心点とが重なるように、新たな障害物900を配置する。新たに配置する障害物900は、例えば、建物、樹木、丘などの地形、車両、敵ではない人物などのオブジェクトである。
ただし、CPU 101は、線分840上の任意の点が障害物330と重なるように、新たな障害物900を配置してもよい。
CPU 101は、仮想空間内に新たな障害物900を出現させてもよいし、既に配置されている障害物330の配置、大きさ、向きなどを変更することにより、新たな障害物900を配置したときと同じ効果が得られるようにしてもよい。つまり、仮想空間内の障害物330,900の総数が増加してもよいし、変わらなくてもよい。
例えば図10(a)は、セントロイドで指定される点CSTART,点CEND付近を拡大し、Z方向から(真上から)俯瞰したマップ1010である。図10(a)に示すように、CPU 101は、トラック、戦車などの移動可能な車両オブジェクト1015を仮想空間内に新たに登場させ、線分840上の任意の点の位置に停車させることにより、新たな障害物900を配置することとしてもよい。あるいは、CPU 101は、仮想空間内に既に配置している車両オブジェクト1015を線分840上の任意の点の位置に向かって走らせ、停車させることにより、新たな障害物900を配置することとしてもよい。このようにすれば、特定のプレイヤーが極端に有利(不利)にならないように、且つ、プレイヤーに違和感を与えることのないように、仮想空間内に障害物900を配置することができる。
例えば図10(b)は、セントロイドで指定される点CSTART,点CEND付近を拡大し、Z方向から俯瞰したマップ1020である。図10(b)に示すように、CPU 101は、線分840から所定距離範囲内に既に配置されている建物オブジェクト1025を線分840と交差するように倒壊させる(つまり、建物オブジェクト1025の形状や向きを変化させる)ことによって、新たな障害物900を配置したものとしてもよい。このようにすれば、特定のプレイヤーが極端に有利(不利)にならないように、且つ、プレイヤーに違和感を与えることのないように、仮想空間内に障害物900を配置することができる。
例えば図10(c),(d)は、セントロイドで指定される点CSTART,点CEND付近を拡大し、X方向から(真横から)見たマップ1030である。CPU 101は、図10(c)に示すように地面オブジェクト1032の上に既に配置している樹木オブジェクト1035A,1035B,1035Cのうち中点850に最も近い樹木オブジェクト1035Bを、図10(d)に示すように線分840と交差するまでZ方向に伸ばす(つまり、樹木オブジェクト1035Bの形状、向き、大きさを変化させる)ことによって、新たな障害物900を配置したものとしてもよい。あるいは、CPU 101は、既に配置している樹木オブジェクト1035Bを、新たな樹木オブジェクト(新たな障害物オブジェクト)900に置き換えても良い。ただし、CPU 101は、樹木オブジェクト1035Bの代わりに、もしくは、樹木オブジェクト1035Bに加えて、樹木オブジェクト1035A及び/又は樹木オブジェクト1035Cを、新たな樹木オブジェクト(新たな障害物オブジェクト)900に置き換えても良い。
なお、クラスターを2つ以上選択する場合、CPU 101は、選択したクラスターのセントロイドに指定されるそれぞれの出発位置CSTARTの座標と到達位置CENDの座標とを用いて、新たな障害物900を配置する位置を求め、障害物900を配置する。つまり、選択したクラスターと同数の障害物900が配置される。
次に、本実施形態の上記各部が実行するゲーム処理について、図11のフローチャートを用いて説明する。
以下の説明においては、第1キャラクター(攻撃をする側のキャラクター)がプレイヤーキャラクター310であり、第2キャラクター(攻撃をされる側のキャラクター)が敵キャラクター320であるとする。ただし、反対に、第1キャラクターを敵キャラクター320とし、第2キャラクターをプレイヤーキャラクター310としてもよい。仮想空間内には、1つのプレイヤーキャラクター310と、1つ以上の敵キャラクター320と、が存在する。
まず、CPU 101は、第1キャラクターが発した攻撃が第2キャラクターに命中したか否かを判別する(ステップS1101)。
攻撃が命中していないと判別した場合(ステップS1101;NO)、CPU 101は、ステップS1101の処理を繰り返す。
攻撃が命中したと判別した場合(ステップS1101;YES)、CPU 101は、攻撃が命中したときの第1キャラクター(プレイヤーキャラクター310)の位置を出発位置とし、攻撃が命中したときの第2キャラクター(敵キャラクター320)の位置を到達位置とする1つの命中情報を、命中情報リスト250に追加する(ステップS1102)。それぞれの位置は3次元の座標値で表される。命中情報は、出発位置の3次元座標と到着位置の3次元座標を組み合わせて表される。1つの命中情報は、6次元空間内の1つの点に相当する。
次に、CPU 101は、命中情報リスト250に格納されている命中情報の総数が所定個数(N個)に達したか否かを判別する(ステップS1103)。言い換えれば、CPU 101は、プレイヤーキャラクター310が敵キャラクター320(敵キャラクター320が複数の場合にはそれらのうちのいずれか)をN回攻撃し且つそれらのN回の攻撃が命中したかどうか、が判別される。
攻撃が命中した回数が所定個数に達していないと判別した場合(ステップS1103;NO)、CPU 101は、ステップS1101〜S1103の処理を繰り返す。つまり、命中情報の数が所定個数に達するまで同様の処理が繰り返される。
攻撃が命中した回数が所定個数に達したと判別した場合(ステップS1103;YES)、CPU 101は、格納されているN個の命中情報を、複数のクラスターに分類する(ステップS1104)。具体的には、CPU 101は、格納されているすべての命中情報から構成される全体集合を、上述のクラスター分析を用いて、複数の部分集合(クラスター)に分類する。例えば、CPU 101は、上記[数4]を用いて任意の2つの命中情報の組み合わせについて距離を求め、求めた距離が所定値以下である組み合わせが示す2つの命中情報を、同一のクラスターに分類する。
つまり、プレイヤーキャラクター310から敵キャラクター320へのN回の攻撃の中に、攻撃が命中したときのプレイヤーキャラクター310の位置と敵キャラクター320の位置がいずれも近い2つの攻撃がある場合、それらの攻撃は「互いに類似する攻撃」に分類される。互いに類似する命中情報は、プレイヤーキャラクター310の敵キャラクター320への攻撃が成功しやすいような両者の位置関係を表す。
また、CPU 101は、分類されたクラスターの中から、クラスターを選択する(ステップS1105)。本実施形態では、CPU 101は、分類されたクラスターの中から、含まれる命中情報が最も多いクラスターを1つだけ選択する。
含まれる命中情報が最も多いクラスターは、互いに類似する攻撃が最も多いことを意味する。すなわち、選択されたクラスターに含まれる命中情報が示す出発位置の分布は、プレイヤーキャラクター310にとって最も有利な攻撃元エリアの目安となる。また、選択されたクラスターに含まれる命中情報が示す到達位置の分布は、プレイヤーキャラクター310にとって最も有利な攻撃先エリアの目安となる。
更に、CPU 101は、選択したクラスターのセントロイドを求め、求めたセントロイドで指定される出発位置CSTARTと到達位置CENDを取得する(ステップS1106)。
取得される出発位置は、プレイヤーキャラクター310にとって最も有利な攻撃元エリアの中心位置である。また、取得される到達位置は、プレイヤーキャラクター310にとって最も有利な攻撃先エリアの中心位置である。プレイヤーキャラクター310は、選択されたクラスターのセントロイドで指定される出発位置CSTARTから、選択されたクラスターのセントロイドで指定される到達位置CENDへの攻撃が、最も成功しやすい、と推定される。
そして、CPU 101は、ステップS1106で取得した出発位置CSTARTと到達位置CENDとの間に、障害物900を配置する(ステップS1107)。例えば、CPU 101は、取得した出発位置CSTARTと到達位置CENDとを結ぶ線分840の中点850に、障害物900を配置する。つまり、プレイヤーキャラクター310から敵キャラクター320への攻撃が最も成功しやすいと推定される軌道上に、攻撃が失敗する可能性が高まるような新たな障害物900が配置される。
本実施形態によれば、ゲーム装置200は、キャラクター同士が対戦するゲームにおいて、一方のキャラクターが他方のキャラクターに比べて有利になりすぎないように(不利になりすぎないように)ゲームバランスを調整することができる。例えば、ゲーム制作者がゲームのシナリオや敵キャラクター320の配置の仕方を予め考えてマップ400を用意し、プレイヤーにゲームをプレイしてもらうと、ゲーム制作者が想定していない攻撃やゲームバランスを大きく損ねる攻撃が可能なことが後で分かる場合がある。もし、そのような想定外の攻撃が可能な状況をそのまま放置しておくと、ゲームが簡単になり過ぎてしまったり難しくなり過ぎてしまったりする恐れがある。また、プレイヤーのゲームへの関心・執着心が薄れてしまう恐れがある。しかし、本発明によれば、仮にゲームバランスを大きく損ねる攻撃が可能なことがゲームのリリース後に判明したとしても、ゲームバランスの偏りを無くすようにゲーム装置200が自動的に調整することが可能になる。
(実施形態2)
次に、本発明のその他の実施形態について説明する。上記実施形態では、一方のキャラクターから他方のキャラクターへのすべての攻撃のうち、命中した攻撃のみの出発位置と到達位置を用いて、新たな障害物を配置する位置が決められる。本実施形態では、すべての攻撃のうち命中しなかった(失敗した)攻撃についての情報も考慮され、新たな障害物を配置する位置が決められる点で、上記実施形態と異なる。
図12は、本実施形態における命中情報リスト1200の構成例を示す図である。命中情報リスト1200には、相手に命中した攻撃に対応付けられる命中情報(図12では項番「1,2,3,X」の4項目。)と、それ以外の情報(以下「失敗情報」という。図12では項番「m,n」の2項目。)と、が含まれる。本実施形態では、記憶部202には、図5に示す命中情報リスト250の代わりに、図12に示す命中情報リスト1200が記憶される。
命中情報リスト1200は、項番と出発位置と到達位置に加えて、その攻撃が成功したか失敗したかを示すフラグを更に対応付けて記憶する。CPU 101は、プレイヤーキャラクター310が攻撃を発すると、その攻撃に対応する命中情報又は失敗情報を外部メモリ106に記憶させる。ただし、CPU 101は、プレイヤーキャラクター310による攻撃の代わりに、もしくは、プレイヤーキャラクター310による攻撃に加えて、敵キャラクター320による攻撃に対応する命中情報又は失敗情報を外部メモリ106に記憶させてもよい。
失敗情報が示す出発位置は、第1キャラクターによる攻撃であって第2キャラクターには命中しなかった攻撃を発したときの第1キャラクターの位置である。
失敗情報が示す到達位置は、第1キャラクターによる攻撃であって第2キャラクターには命中しなかった攻撃がなされた攻撃対象位置である。例えば、第1キャラクターがミサイルを発射したものの第2キャラクターに命中しなかったとき、そのミサイルの着弾位置が失敗位置である。
なお、失敗情報については、少なくとも出発位置が記憶されていればよく、必ずしも到達位置が対応付けられて記憶されていなくてもよい。
図13は、マップ上に、所定期間内における命中情報(出発位置と到達位置の組み合わせ)と、同じ所定期間内における失敗情報(出発位置と到達位置の組み合わせ)をプロットした図である。説明の簡略化のため、Z方向を省略し、平面のマップで表現している。白マルが命中情報の出発位置を示し、黒マルが命中情報の到達位置を示し、白サンカクが失敗情報の出発位置を示し、黒サンカクが失敗情報の到達位置を示す。数字は命中情報又は失敗情報の項番を示す。例えば図13には、項番「1〜7」の7つの命中情報と、項番「8〜12」の5つの失敗情報とがある。つまり、第1キャラクターは、7回攻撃が成功し、5回攻撃が失敗したことになる。
本実施形態では、取得部204は、分類部203によって分類された複数のクラスターのそれぞれについて、クラスターに含まれる命中情報の個数と、クラスターに含まれる命中情報に指定される出発位置で表される領域(以下「出発領域」という。)内の位置を出発点として指定する失敗情報の個数と、の比を計算する。そして、取得部204は、計算された比に基づいて、所定個数のクラスターを選択する。
CPU 101は、上述の実施形態におけるステップS1101〜S1104の処理を行った後、ステップS1105において、出発領域を求め、求めた出発領域内に出発点をもつ失敗情報の個数に基づいて、いずれか1つ以上のクラスターを選択する。
具体的には、CPU 101は、クラスターのそれぞれについて、クラスターに含まれる命中情報が示す出発位置のすべてを含む球であって、半径が最小となる球を求める。例えば図13に示すように、CPU 101は、クラスター1301に含まれる項番「1〜4」の4つの命中情報が示す出発位置を含む球であって、半径が最小となる球1321を求める。求めた球1321によって囲まれる領域が、クラスター1301に対応する出発領域である。
同様に、CPU 101は、クラスター1302に含まれる項番「5〜7」の3つの命中情報が示す出発位置を含む球であって、半径が最小となる球1322を求める。求めた球1322によって囲まれる領域が、クラスター1302に対応する出発領域である。
本実施形態では3次元仮想空間を扱っているので、クラスター1301,1302に対応する出発領域の形状を球にしている。しかし、2次元仮想空間を扱う場合には、クラスターに対応する出発領域の形状を円にすればよい。
なお、出発領域の大きさと形状は任意であり、本発明によって限定されない。例えば、CPU 101は、クラスターのセントロイドを含み、任意の図形(円、多角形、立体など)で囲まれる領域を、出発領域としてもよい。
更に、CPU 101は、求めた出発領域の中に出発位置が含まれる失敗情報の個数を求める。例えば図13では、クラスター1301に対応する出発領域1321の中に出発位置が含まれる失敗情報は、項番「8〜11」の4つの失敗情報である。残りの項番「12」の失敗情報は、出発位置が出発領域1321に含まれないため、除外される。クラスター1302に対応する出発領域1322に出発位置が含まれる失敗情報の個数はゼロである。
また、CPU 101は、クラスター1301に含まれる命中情報の個数(=4)と、出発領域1321に含まれる失敗情報の個数(=4)と、の比を計算する。図13の場合、この比は4:4である。別の表現を用いれば、クラスター1301に含まれる命中情報と失敗情報の総数(=8)に対する、クラスター1301に含まれる命中情報の個数(=4)の割合は、50%である。
同様に、CPU 101は、クラスター1302に含まれる命中情報の個数(=3)と、出発領域1322に含まれる失敗情報の個数(=0)と、の比を計算する。図13の場合、この比は3:0である。別の表現を用いれば、クラスター1302に含まれる命中情報と失敗情報の総数(=3)に対する、クラスター1302に含まれる命中情報の個数(=3)の割合は、100%である。
そして、CPU 101は、すべてのクラスターの中から、クラスターに含まれる命中情報と失敗情報の総数に対する、クラスターに含まれる命中情報の個数の割合が、最も大きいクラスターを1つ選択する。図13の場合、CPU 101は、クラスター1302を選択する。
更に、ステップS1106において、CPU 101は、選択したクラスターのセントロイドを求め、求めたセントロイドで指定される出発位置CSTARTと到達位置CENDを取得する。
また、ステップS1107において、CPU 101は、ステップS1106で取得した出発位置CSTARTと到達位置CENDとの間に、新たな障害物1400を配置する。
図14は、新たな障害物1400が配置されたマップを表す図である。例えば、CPU 101は、セントロイドで指定される出発位置CSTARTと、同じくセントロイドで指定される到達位置CENDと、を結ぶ線分上に、新たな障害物1400を配置する。プレイヤーキャラクター310から敵キャラクター320への攻撃が最も成功しやすいと推定される軌道上に、攻撃が失敗する可能性が高まるような新たな障害物1400が配置される。
本実施形態によれば、ゲーム装置200は、一方のキャラクターが他方のキャラクターに比べて有利になりすぎないように(不利になりすぎないように)ゲームバランスを調整することができる。
(実施形態3)
次に、本発明のその他の実施形態について説明する。本実施形態においても、すべての攻撃のうち命中しなかった(失敗した)攻撃についての情報も考慮され、新たな障害物を配置する位置が決められる。
図15は、マップ上に、所定期間内における命中情報と、同じ所定期間内における失敗情報と、をプロットした図である。説明の簡略化のためZ方向を省略し、平面のマップで表現している。白マルが命中情報の出発位置を示し、黒マルが命中情報の到達位置を示す。また、白サンカクが失敗情報の出発位置を示し、黒サンカクが失敗情報の到達位置を示す。数字は命中情報又は失敗情報の項番を示す。例えば図15には、項番「1〜6」の6つの命中情報と、項番「7,8」の2つの失敗情報とがある。つまり、第1キャラクターは、6回攻撃が成功し、2回攻撃が失敗したことになる。
CPU 101は、分類された複数のクラスターのそれぞれについて、クラスターに含まれる命中情報に指定される出発位置が含まれる領域(つまり上述の出発領域)と、同じくクラスターに含まれる命中情報に指定される到達位置が含まれる領域(以下「到達領域」という。)と、を取得する。
また、CPU 101は、命中情報リスト250に記憶された失敗情報のうち、次の条件(i),(ii)を両方とも満たす失敗情報の個数を求める。
(i)失敗情報に指定される出発位置が、出発領域に含まれること。
(ii)失敗情報に指定される出発位置から失敗情報に指定される到達位置への向きが、出発領域から到達領域への向きと実質的に同じであること。
CPU 101は、条件(i),(ii)を両方とも満たす場合に、命中情報が示す攻撃と失敗情報が示す攻撃が類似する、と判断する。条件(i),(ii)を両方とも満たす攻撃は、失敗した攻撃であるものの、成功した攻撃(クラスターに含まれる命中情報が示す攻撃)と類似する攻撃である、と判断される。
具体的には、例えば図15に示すように、CPU 101は、項番「1〜3」の命中情報から構成されるクラスターについて、クラスターに含まれる命中情報が示す出発位置から求められる出発領域1511と、クラスターに含まれる命中情報が示す到達位置から求められる到達領域1512と、の両方に接する接線1513,1514によって挟まれる領域1515を求める。
また、CPU 101は、出発位置が出発領域1511の中にあり、且つ、到達位置が領域1515の中にある失敗情報の個数を求める。
図15の場合、項番「8」の失敗情報は、出発領域1511の中に出発位置があるものの、到達位置が領域1515の中には含まれない。従って、項番「8」の失敗情報は、条件(ii)を満たさず、個数はゼロである。
同様に、CPU 101は、項番「4〜6」の命中情報から構成されるクラスターについて、クラスターに含まれる命中情報が示す出発位置から求められる出発領域1521と、クラスターに含まれる命中情報が示す到達位置から求められる到達領域1522と、の両方に接する接線1523,1524によって挟まれる領域1525を求める。
また、CPU 101は、出発位置が出発領域1521の中にあり、且つ、到達位置が領域1525の中にある失敗情報の個数を求める。
図15の場合、項番「7」の失敗情報は、出発領域1521の中に出発位置があり、且つ、到達位置が領域1525の中に含まれる。従って、項番「7」の失敗情報は、上記条件(i),(ii)をいずれも満たし、個数は1である。
上述のように、CPU 101は、条件(i),(ii)をいずれも満たす攻撃は互いに類似した攻撃である、と判断する。これは、攻撃が失敗したとはいえ、弾の発射場所が、攻撃が成功したときの弾の発射場所の近くであり、且つ、着弾場所が、攻撃が成功したときの着弾場所の近くであるならば、その攻撃は入力間違いではなくプレイヤーの意志によるものであると推定されるからである。また、その攻撃先の近くに攻撃対象があった可能性が高い、もしくは、プレイヤーはその攻撃先の近くに攻撃対象があると判断して攻撃を仕掛けた可能性が高い、と推定されるからである。
なお、CPU 101は、出発位置が出発領域1511の中にあり、且つ、到達位置が到達領域1512の中にある失敗情報の個数を求めてもよい。これは、図15に図示したとき、出発位置(白サンカクの記号)が出発領域1511を表す球(又は円)内にあり、且つ、到達位置(黒サンカクの記号)が到達領域1521を表す球(又は円)内にある失敗情報の個数のことである。
あるいは、CPU 101は、図16に示すように、接線1513,1514によって挟まれる領域(図15の領域1515に相当する。)のうち、攻撃側(第1キャラクター)から見て到達領域1512より後方にある領域1615(図16の網がけ部分)を求める。そして、CPU 101は、出発位置が出発領域1511の中にあり、且つ、到達位置が領域1615の中にある失敗情報の個数を求めてもよい。
同様に、CPU 101は、接線1523,1524によって挟まれる領域(図15の領域1525に相当する。)のうち、攻撃側(第1キャラクター)から見て到達領域1522より後方にある領域1625を求める。そして、CPU 101は、出発位置が出発領域1521の中にあり、且つ、到達位置が領域1625の中にある失敗情報の個数を求めてもよい。
CPU 101は、条件(i),(ii)を両方とも満たす失敗情報の個数を求めると、求めた失敗情報の個数と、クラスターに含まれる命中情報の個数と、に基づいて、クラスターを選択する。
具体的には、CPU 101は、図15に示す項番「1〜3」の命中情報から構成される第1クラスターについて、第1クラスターに含まれる命中情報の個数(=3)と、条件(i),(ii)を両方とも満たす失敗情報の個数(=0)と、の比を計算する。図15の場合、この比は3:0である。別の表現を用いれば、命中情報と失敗情報の総数(=3)に対する、命中情報の個数(=3)の割合は、100%である。
同様に、CPU 101は、図15に示す項番「4〜6」の命中情報から構成される第2クラスターについて、第2クラスターに含まれる命中情報の個数(=3)と、条件(i),(ii)を両方とも満たす失敗情報の個数(=1)と、の比を計算する。図15の場合、この比は3:1である。別の表現を用いれば、命中情報と失敗情報の総数(=4)に対する、命中情報の個数(=3)の割合は、75%である。
CPU 101は、命中情報の個数の割合が大きい方のクラスターを選択する。図15の場合、CPU 101は、項番「1〜3」の命中情報から構成される第1クラスターを選択する。
そして、図17に示すように、CPU 101は、上記実施形態と同様に、選択したクラスターのセントロイドを求め、求めたセントロイドで指定される出発位置CSTARTと到達位置CENDを取得する。CPU 101は、取得した出発位置CSTARTと到達位置CENDとの間に、新たな障害物1700を配置する。典型的には、CPU 101は、取得した出発位置CSTARTと到達位置CENDとを結ぶ線分の中点に、新たな障害物1700を配置する。
本実施形態によれば、ゲーム装置200は、一方のキャラクターが他方のキャラクターに比べて有利になりすぎないように(不利になりすぎないように)ゲームバランスを調整することができる。
(実施形態4)
次に、本発明のその他の実施形態について説明する。上記各実施形態では、CPU 101は、6次元空間内の複数の点(複数の命中情報が示す点)をクラスター分析している。多次元空間におけるクラスター分析のためには多くの計算が必要である。しかし、一般に広く普及しているゲーム機などで上記処理を行うと、ゲームの実行に支障を来す程度に多大な負荷がかかってしまう恐れがある。そこで、本実施形態では、上述の分類部203と取得部204が行う処理を簡素化する工夫がなされている。以下詳述する。
図18は、本実施形態のゲーム装置1800の機能的な構成を示す図である。ゲーム装置1800は、判定部1801、記憶部1802、第1の分類取得部1803、第2の分類取得部1804、配置部1805を備える。
判定部1801は、上記各実施形態における判定部201と同様の構成を有する。すなわち、判定部1801は、ゲーム内の複数のキャラクターのうち、第1キャラクター(攻撃をする側のキャラクター)から発せられた攻撃が第2キャラクター(攻撃を受ける側のキャラクター)に命中したか否かを判定する。第1キャラクターがプレイヤーキャラクター310の場合には第2キャラクターが敵キャラクター320であり、逆に第1キャラクターが敵キャラクター320の場合には第2キャラクターがプレイヤーキャラクター310である。CPU 101が判定部1801として機能する。
記憶部1802は、上記各実施形態における記憶部202と同様の構成を有する。すなわち、記憶部1802は、判定部1801により命中したと判定された攻撃を発した第1キャラクターの位置を出発位置とし、その攻撃が命中したときの第2キャラクターの位置を到達位置として指定する、命中情報リスト1850を記憶する。命中情報リスト1850は、上記各実施形態における命中情報リスト250と同様の構成を有する。CPU 101と外部メモリ106が協働して記憶部1802として機能する。
第1の分類取得部1803は、命中情報リスト1850に記憶された命中情報に指定される到達位置のそれぞれについて、到達位置から第1所定距離R1範囲内の他の到達位置の数(以下「第1の数」という。)を求める。また、第1の分類取得部1803は、求めた第1の数に基づいて、複数の到達位置を複数のクラスター(以下「第1クラスター」という。)に分類する。そして、第1の分類取得部1803は、分類された複数の第1クラスターの中から、少なくとも1つの第1クラスターを取得する。CPU 101と画像処理部108が協働して第1の分類取得部1803として機能する。
具体的には、図19に示すように、CPU 101は、項番「1」の到達位置の座標と、項番「1」以外の他の到達位置の座標と、の距離を計算する。そして、CPU 101は、計算された距離がR1以内であれば、項番「1」の到達位置と当該他の到達位置とを同じクラスターに分類する。CPU 101は、同様の処理を他の到達位置についても行う。この時点で、1つの到達位置は、複数の異なるクラスターに分類されることがある。例えば図19では、すべての到達位置は、2つの第1クラスター1910,1920に分類されている。
CPU 101は、計算された距離がR1以内の到達位置の組み合わせの数が所定の閾値以上の場合にのみ、それらの到達位置を同じクラスターに分類することとしてもよい。言い換えれば、1つのクラスターには少なくとも所定の閾値以上の個数の到達位置が含まれるようにしてもよい。
CPU 101は、第1クラスターに含まれる到達位置の数(第1の数)をそれぞれ求める。例えば図19では、第1クラスター1910に含まれる到達位置は4個であり、第1クラスター1920に含まれる到達位置は5個である。
CPU 101は、求めた第1の数が最も多いクラスターを1つ選択する。例えば図19では、第1クラスター1920が選択される。選択されたクラスターに含まれる到達位置の分布は、第2キャラクター(攻撃を受ける側のキャラクター)にとって最も不利なエリアがどこであるかを判断するための目安となる。
そして、CPU 101は、選択したクラスターの中心に対応する到達位置CENDを取得する。クラスターの中心は、典型的には、選択したクラスターに含まれる到達位置の座標の平均値で表される。
次に、第2の分類取得部1804は、第1の分類取得部1803により取得された第1クラスターに含まれる複数の到達位置に対応付けられる出発位置のそれぞれについて、出発位置から第2所定距離R2範囲内の他の出発位置の数(以下「第2の数」という。)を求める。また、第2の分類取得部1804は、求めた第2の数に基づいて、複数の出発位置を複数のクラスター(以下「第2クラスター」という。)に分類する。そして、第2の分類取得部1804は、分類された複数の第2クラスターの中から、少なくとも1つの第2クラスターを取得する。CPU 101と画像処理部108が協働して第2の分類取得部1804として機能する。
具体的には、図20に示すように、CPU 101は、選択した第1クラスター1920に含まれる到達位置(項番「5〜9」の5つ)に対応する出発位置の1つ(例えば項番「6」の出発位置)の座標と、同じ第1クラスターに含まれる到達位置に対応する他の出発位置の座標と、の距離を計算する。そして、CPU 101は、計算された距離がR2以内であれば、項番「6」の出発位置と当該他の出発位置とを同じクラスターに分類する。CPU 101は、同様の処理を他の出発位置についても行う。この時点で、1つの出発位置は、複数の異なるクラスターに分類されることがある。例えば図20では、すべての出発位置は、2つの第2クラスター2010,2020に分類されている。
CPU 101は、計算された距離がR2以内の出発位置の組み合わせの数が所定の閾値以上の場合にのみ、それらの出発位置を同じクラスターに分類することとしてもよい。言い換えれば、1つのクラスターには少なくとも所定の閾値以上の個数の出発位置が含まれるようにしてもよい。
CPU 101は、第2クラスターに含まれる到達位置の数(第2の数)をそれぞれ求める。例えば図20では、第2クラスター2010に含まれる出発位置は1個であり、第2クラスター2020に含まれる到達位置は4個である。
CPU 101は、求めた第2の数が最も多いクラスターを少なくとも1つ選択する。例えば図20では、第2クラスター2020が選択される。選択されたクラスターに含まれる出発位置の分布は、第2キャラクター(攻撃を受ける側のキャラクター)が最も不利なエリアに存在するときに、第1キャラクター(攻撃をする側にキャラクター)が最も攻撃しやすいエリアがどこであるか、を判断するための目安となる。つまり、第1キャラクターが最も攻撃しやすく、且つ、第2キャラクターが最も攻撃されやすいような位置関係が分かる。
そして、CPU 101は、選択したクラスターの中心に対応する出発位置CSTARTを取得する。クラスターの中心は、典型的には、選択したクラスターに含まれる出発位置の座標の平均値で表される。
次に、配置部1805は、第1の分類取得部1803により取得された到達位置CENDから、第2の分類取得部1804により取得された出発位置CSTARTまでの間に、図21に示すように、障害物2100を配置する。CPU 101が配置部1805として機能する。
具体的には、CPU 101は、選択した第1クラスターの中心点と、選択した第1クラスターに含まれる到達位置と、の距離の最大値を半径とする球2140上(もしくは円上)の点であって、点CSTARTと点CENDとを結ぶ線分2120と交わる点の位置に、新たな障害物2100を配置する。
あるいは、図22に示すように、CPU 101は、点CSTARTと点CENDとを結ぶ線分2120上の任意の位置に、新たな障害物2100を配置してもよい。例えば、CPU 101は、線分2120の中点と障害物2100の中心点とが重なるように、新たな障害物2100を配置してもよい。
本実施形態によれば、ゲーム装置1800は、一方のキャラクターが他方のキャラクターに比べて有利になりすぎないように(不利になりすぎないように)ゲームバランスを調整することができる。また、上記各実施形態に比べて、ゲーム装置1800が行う処理が簡単になり、負荷を軽減することができる。
(実施形態5)
次に、本発明のその他の実施形態について説明する。本実施形態では、ゲーム装置200は、所定の消去条件を満たす場合に、既に配置した障害物330を消去することができる。本実施形態は、上述の各実施形態のいずれとも組み合わせて実施することができる。以下の説明では、実施形態1の変形例として説明する。
所定の消去条件は、「仮想空間内に新たに配置した障害物900の数が所定の閾値を超えること」である。命中情報が1件も記憶されていない状態において配置される既定の障害物330は、消去の対象から除外される。
図23に示すように、本実施形態の記憶部202は、新たに配置した障害物900の識別符号と、障害物900の位置座標と、障害物900を配置した日時と、の組み合わせ(以下「障害物情報」という。)を更に記憶する。記憶部202には、障害物900の個数だけ障害物情報が記憶される。
CPU 101は、上記ステップS1107で新たに障害物900を配置すると、障害物900の識別符号と、障害物900の位置座標と、障害物900を配置した日時と、を対応付けて外部メモリ106に記憶させる。CPU 101は、消去条件が満たされると判別すると、障害物900のいずれかに対応する障害物情報を削除し、該当する障害物900を仮想空間から消去する。消去された障害物900は、モニターに表示されず、また、消去以降の第1キャラクターから第2キャラクターへの攻撃に何ら影響を与えない。
図24は、本実施形態のゲーム装置200が行う消去処理を説明するためのフローチャートである。図24に示す消去処理は、ゲーム処理を行いつつ、所定の時間間隔で定期的にバックグラウンドで行われることが望ましい。
まず、CPU 101は、障害物情報の件数を取得し、新たに配置した障害物900、すなわち、命中情報が1件も記憶されていない状態において配置される既定の障害物330を除く障害物900の個数が、閾値に達しているか否かを判別する(ステップS2401)。
閾値に達していないと判別した場合(ステップS2401;NO)、CPU 101は、消去処理を終了する。
一方、閾値に達していると判別した場合(ステップS2401;YES)、CPU 101は、障害物情報の中から、配置した日時が最も古い障害物情報を特定し、この特定した障害物情報を削除する(ステップS2402)。
配置した日時が最も古い障害物情報が複数存在する場合、該当するすべての障害物情報の中からランダムに1つ選択して削除してもよいし、該当するすべての障害物情報を削除してもよい。
CPU 101は、削除した障害物情報に対応する障害物を仮想空間から消去する。
本実施形態によれば、仮想空間内に配置される障害物の数を制限することができる。例えば、一方のキャラクターにとって他方のキャラクターを比較的攻撃しやすい攻撃パターン(自分と相手の位置関係という意味での攻撃パターン)が複数あったとき、それらすべての攻撃パターンを阻止するように新たな障害物900を配置すると、戦闘が発生しにくくなり、却ってゲームがつまらなくなってしまう恐れがある。しかし、障害物が多すぎないようにすることにより、適度に戦闘を発生させやすくし、且つ、一方のキャラクターが他方のキャラクターに比べて有利になりすぎないように(不利になりすぎないように)ゲームバランスを調整することができる。
なお、障害物を消去するための所定の消去条件を自由に変更した実施形態を採用することができる。
例えば、消去条件は、「仮想空間内のすべての障害物330,900の数が所定の閾値を超えること」でもよい。この場合、命中情報が1件も記憶されていない状態において配置される既定の障害物330も、消去の対象となり得る。
また、CPU 101は、配置した日時が最も古い障害物情報の代わりに、ステップS1105で選択したクラスターからの距離が最も大きい障害物に対応する障害物情報を削除してもよい。
図25は、仮想空間を表すマップの例である。障害物2530Dは、ステップS1107で新たに配置した障害物であり、障害物2530A,2530B,2530Cは、障害物2530Dが配置される前から既に配置されていた障害物である。
CPU 101は、ステップS1105で選択したクラスターにより示される出発領域2510と到達領域2520とを結ぶ線分上に、新たに障害物2530Dを配置する。障害物の数の上限値を3個に設定している場合、障害物2530Dを配置することにより上限値を超えてしまう。
そこで、CPU 101は、選択したクラスターのセントロイドで指定される到達位置CENDと、障害物2530A,2530B,2530Cとの距離RA1,RB1,RC1をそれぞれ求める。図25では、RA1<RB1<RC1である。そして、CPU 101は、最も距離が大きい障害物2530Cを消去する。
もしくは、CPU 101は、選択したクラスターのセントロイドで指定される出発位置CSTARTと、障害物2530A,2530B,2530Cとの距離RA2,RB2,RC2をそれぞれ求めてもよい。図25では、RA2<RC2<RB2である。そして、CPU 101は、最も距離が大きい障害物2530Bを消去してもよい。
選択したクラスターのセントロイドで指定される出発位置CSTARTと到達位置CENDは、第1キャラクターと第2キャラクターの戦場としてありふれた場所(激戦区)であると推定される。この激戦区から最も離れているということは、障害物としての存在意義が比較的小さいことになる。そこで、CPU 101は、戦闘への影響が最も小さい場所にある障害物を消去し、戦闘への影響が最も大きい場所に障害物を新たに配置するのである。従って、ゲーム装置200は、バランスよく障害物を配置することができる。
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
例えば、本発明は、1つのゲーム装置200で実行されるゲームに適用できるばかりでなく、図26に示すように、複数のゲーム装置200(図26では200A,200B,200C,200Dの4つ)をインターネットやLAN等のネットワーク2650で互いに接続して実行されるネットワークゲームにも適用することができる。
本発明をネットワークゲームに適用する場合、4つのゲーム装置200A〜200Dのうち少なくとも1つ(図26ではゲーム装置200A。「第1のゲーム装置」ともいう。)が、上記判定部201、記憶部202、分類部203、取得部204、配置部205の各構成(あるいは、判定部1801、記憶部1802、第1の分類取得部1803、第2の分類取得部1804、配置部1805の各構成)を備え、更に、新たな障害物の配置場所を指定する情報及び/又は消去する障害物を指定する情報を他の3つのゲーム装置200に送信する送信部206を備えればよい。この送信部206を更に備えるゲーム装置200は、ネットワークゲームのゲームサーバとして機能する。
また、他のゲーム装置200(図26ではゲーム装置200B,200C,200D。「第2のゲーム装置」ともいう。)は、少なくとも、新たな障害物の配置場所を指定する情報及び/又は消去する障害物を指定する情報を第1のゲーム装置から受信する受信部207と、受信部207が受信した障害物を指定する情報に基づいて仮想空間内に障害物を配置する配置部205(あるいは1805)と、を備えればよい。
CPU 101とNIC 110が協働することにより、送信部206あるいは受信部207として機能する。
なお、ネットワーク2650で互いに接続されるゲーム装置200A〜200Dから構成されるゲームシステム2600全体を、本発明の1つのゲーム装置200とみなすことができる。
ゲーム装置200の全部又は一部としてコンピュータを動作させるためのプログラムを、メモリカード、CD−ROM、DVD、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
以上説明したように、本発明によれば、キャラクター同士の対戦において、キャラクターの位置によって有利・不利が偏り過ぎないように調整するために好適なゲーム装置、ゲーム方法、ゲームシステム、ならびに、プログラムを提供することができる。
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 DVD−ROMドライブ
108 画像処理部
109 音声処理部
110 NIC
200,1800 ゲーム装置
201,1801 判定部
202,1802 記憶部
203 分類部
204 取得部
205,1805 配置部
206 送信部
207 受信部
250,1200,1850 命中情報リスト
300 画面(投影画像)
310 プレイヤーキャラクター
320,320A,320B,320C 敵キャラクター
330,330A,330B,330C,330D 障害物
400,1010,1020,1030 マップ
701〜705,1301,1302 クラスター
800 セントロイド
840,2120 線分
850 線分の中点
900,1400,1700,2100 障害物(新たな障害物)
1015 車両オブジェクト
1025 建物オブジェクト
1032 地面オブジェクト
1035 樹木オブジェクト
1511,1521 出発領域
1512,1522 到達領域
1513,1514,1523,1524 接線
1515,1525,1615,1625 領域
1803 第1の分類取得部
1804 第2の分類取得部
1910,1920 第1クラスター
2010,2020 第2クラスター
2140 球
2510 出発領域
2520 到達領域
2530A,2530B,2530C,2530D 障害物
2600 ゲームシステム
2650 ネットワーク

Claims (14)

  1. 仮想空間内において複数のキャラクターが対戦するゲームを実現するゲーム装置であって、
    前記複数のキャラクターのうち、第1キャラクターから発せられた攻撃が前記障害物に遮られずに第2キャラクターに命中したか否かを判定する判定部と、
    前記命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を記憶する記憶部と、
    前記記憶された命中情報をクラスター分析して複数のクラスターに分類する分類部と、
    前記複数のクラスターから所定個数のクラスターを選択し、当該選択されたクラスターのそれぞれのセントロイドに指定される出発位置と到達位置とを取得する取得部と、
    前記仮想空間内において、前記取得された出発位置から前記取得された到達位置までの間に障害物を配置する配置部と、
    を備えることを特徴とするゲーム装置。
  2. 仮想空間内において複数のキャラクターが対戦するゲームを実現するゲーム装置であって、
    前記複数のキャラクターのうち、第1キャラクターから発せられた攻撃が前記障害物に遮られずに第2キャラクターに命中したか否かを判定する判定部と、
    前記命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を複数記憶する記憶部と、
    前記記憶された命中情報に指定される到達位置のそれぞれについて、当該到達位置から第1の所定距離範囲内の他の到達位置の数(以下「第1の数」という。)を求め、当該第1の数に基づいて、当該複数の到達位置を複数のクラスター(以下「第1クラスター」という。)に分類し、当該分類された複数の第1クラスターの中から少なくとも1つの第1クラスターを選択し、当該選択した第1クラスターの中心に対応する到達位置を取得する第1の分類取得部と、
    前記取得された第1クラスターに含まれる複数の到達位置に対応付けられる出発位置のそれぞれについて、当該出発位置から第2の所定距離範囲内の他の出発位置の数(以下「第2の数」という。)を求め、当該第2の数に基づいて、当該複数の出発位置を複数のクラスター(以下「第2クラスター」という。)に分類し、当該分類された複数の第2クラスターの中から少なくとも1つの第2クラスターを選択し、当該選択した第2クラスターの中心に対応する出発位置を取得する第2の分類取得部と、
    前記仮想空間内において、前記取得された第1クラスターに対応する出発位置から、前記取得された第2クラスターに対応する到達位置までの間に、障害物を配置する配置部と、
    を備えることを特徴とするゲーム装置。
  3. 請求項1に記載のゲーム装置であって、
    前記取得部は、前記複数のクラスターのそれぞれについて、当該クラスターに含まれる命中情報の個数に基づいてクラスターを選択する、
    ことを特徴とするゲーム装置。
  4. 請求項1に記載のゲーム装置であって、
    前記記憶部は、前記命中しなかったと判定された攻撃を発したキャラクターの位置を出発位置として指定する失敗情報を更に記憶し、
    前記取得部は、前記複数のクラスターのそれぞれについて、当該クラスターに含まれる命中情報の個数と、当該命中情報に指定される出発位置が含まれる領域(以下「出発領域」という。)に含まれる位置を出発点として指定する失敗情報の個数と、に基づいて、クラスターを選択する、
    ことを特徴とするゲーム装置。
  5. 請求項1に記載のゲーム装置であって、
    前記記憶部は、前記命中しなかったと判定された攻撃を発したキャラクターの位置を出発位置として指定する失敗情報を更に記憶し、
    前記取得部は、前記複数のクラスターのそれぞれについて、当該クラスターに含まれる命中情報に指定される出発位置が含まれる領域(以下「出発領域」という。)と、当該命中情報に指定される到達位置が含まれる領域(以下「到達領域」という。)と、を取得し、前記記憶された失敗情報のうち、当該失敗情報に指定される出発位置から当該失敗情報に指定される到達位置への向きが、当該出発領域から当該到達領域への向きと実質的に同じであり、且つ、当該失敗情報に指定される出発位置が当該出発領域に含まれる、失敗情報の個数と、当該クラスターに含まれる命中情報の個数と、に基づいて、クラスターを選択する、
    ことを特徴とするゲーム装置。
  6. 請求項1乃至5のいずれか1項に記載のゲーム装置であって、
    前記配置部は、前記障害物の個数が所定の閾値を超えると、当該障害物のうち、配置されてからの期間が長い障害物から消去する、
    ことを特徴とするゲーム装置。
  7. 請求項1乃至5のいずれか1項に記載のゲーム装置であって、
    前記配置部は、更に、前記仮想空間に既に配置した障害物のうち、前記取得された出発位置又は前記取得された到達位置から最も離れている障害物を消去する、
    ことを特徴とするゲーム装置。
  8. 仮想空間内において複数のキャラクターが対戦するゲームを実現するゲームシステムであって、
    前記ゲームシステムには、複数のゲーム装置が含まれ、
    前記複数のゲーム装置のうち一のゲーム装置(以下「第1のゲーム装置」という。)は、
    前記複数のキャラクターのうち、第1キャラクターから発せられた攻撃が前記障害物に遮られずに第2キャラクターに命中したか否かを判定する判定部と、
    前記命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を記憶する記憶部と、
    前記記憶された命中情報をクラスター分析して複数のクラスターに分類する分類部と、
    前記複数のクラスターから所定個数のクラスターを選択し、当該選択されたクラスターのそれぞれのセントロイドに指定される出発位置と到達位置とを取得する取得部と、
    前記仮想空間内において、前記取得された出発位置から前記取得された到達位置までの間に障害物を配置する第1の配置部と、
    前記配置された障害物を指定する情報を、前記複数のゲーム装置のうち他の一のゲーム装置(以下「第2のゲーム装置」という。)に送信する送信部と、
    を備え、
    前記第2のゲーム装置は、
    前記第1のゲーム装置から前記障害物を指定する情報を受信する受信部と、
    前記受信した障害物を指定する情報に基づいて、仮想空間内に障害物を配置する第2の配置部と、
    を備えることを特徴とするゲームシステム。
  9. 仮想空間内において複数のキャラクターが対戦するゲームを実現するゲームシステムであって、
    前記ゲームシステムには、複数のゲーム装置が含まれ、
    前記複数のゲーム装置のうち一のゲーム装置(以下「第1のゲーム装置」という。)は、
    前記複数のキャラクターのうち、第1キャラクターから発せられた攻撃が前記障害物に遮られずに第2キャラクターに命中したか否かを判定する判定部と、
    前記命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を複数記憶する記憶部と、
    前記記憶された命中情報に指定される到達位置のそれぞれについて、当該到達位置から第1の所定距離範囲内の他の到達位置の数(以下「第1の数」という。)を求め、当該第1の数に基づいて、当該複数の到達位置を複数のクラスター(以下「第1クラスター」という。)に分類し、当該分類された複数の第1クラスターの中から少なくとも1つの第1クラスターを選択し、当該選択した第1クラスターの中心に対応する到達位置を取得する第1の分類取得部と、
    前記取得された第1クラスターに含まれる複数の到達位置に対応付けられる出発位置のそれぞれについて、当該出発位置から第2の所定距離範囲内の他の出発位置の数(以下「第2の数」という。)を求め、当該第2の数に基づいて、当該複数の出発位置を複数のクラスター(以下「第2クラスター」という。)に分類し、当該分類された複数の第2クラスターの中から少なくとも1つの第2クラスターを選択し、当該選択した第2クラスターの中心に対応する出発位置を取得する第2の分類取得部と、
    前記仮想空間内において、前記取得された第1クラスターに対応する出発位置から、前記取得された第2クラスターに対応する到達位置までの間に、障害物を配置する第1の配置部と、
    前記配置された障害物を指定する情報を、前記複数のゲーム装置のうち他の一のゲーム装置(以下「第2のゲーム装置」という。)に送信する送信部と、
    を備え、
    前記第2のゲーム装置は、
    前記第1のゲーム装置から前記障害物を指定する情報を受信する受信部と、
    前記受信した障害物を指定する情報に基づいて、仮想空間内に障害物を配置する第2の配置部と、
    を備えることを特徴とするゲームシステム。
  10. 請求項8又は9に記載のゲームシステムであって、
    前記第1の配置部は、前記仮想空間に既に配置した障害物のうちのいずれかを消去し、
    前記送信部は、前記消去される障害物を指定する情報を前記第2のゲーム装置に送信し、
    前記受信部は、前記消去される障害物を指定する情報を前記第1のゲーム装置から受信し、
    前記第2の配置部は、前記受信した消去される障害物を指定する情報に基づいて、前記仮想空間から障害物を消去する、
    ことを特徴とするゲームシステム。
  11. 仮想空間内において複数のキャラクターが対戦するゲームを実現し、判定部、記憶部、分類部、取得部、配置部を有するゲーム装置にて実行されるゲーム処理方法であって、
    前記判定部が、前記複数のキャラクターのうち、第1キャラクターから発せられた攻撃が前記障害物に遮られずに第2キャラクターに命中したか否かを判定する判定ステップと、
    前記記憶部が、前記命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を記憶する記憶ステップと、
    前記分類部が、前記記憶された命中情報をクラスター分析して複数のクラスターに分類する分類ステップと、
    前記取得部が、前記複数のクラスターから所定個数のクラスターを選択し、当該選択されたクラスターのそれぞれのセントロイドに指定される出発位置と到達位置とを取得する取得ステップと、
    前記配置部が、前記仮想空間内において、前記取得された出発位置から前記取得された到達位置までの間に障害物を配置する配置ステップと、
    を備えることを特徴とするゲーム処理方法。
  12. 仮想空間内において複数のキャラクターが対戦するゲームを実現し、判定部、記憶部、第1の分類取得部、第2の分類取得部、配置部を有するゲーム装置にて実行されるゲーム処理方法であって、
    前記判定部が、前記複数のキャラクターのうち、第1キャラクターから発せられた攻撃が前記障害物に遮られずに第2キャラクターに命中したか否かを判定する判定ステップと、
    前記記憶部が、前記命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を、複数記憶する記憶ステップと、
    前記第1の分類取得部が、前記記憶された命中情報に指定される到達位置のそれぞれについて、当該到達位置から第1の所定距離範囲内の他の到達位置の数(以下「第1の数」という。)を求め、当該第1の数に基づいて、当該複数の到達位置を複数のクラスター(以下「第1クラスター」という。)に分類し、当該分類された複数の第1クラスターの中から少なくとも1つの第1クラスターを選択し、当該選択した第1クラスターの中心に対応する到達位置を取得する第1の分類取得ステップと、
    前記第2の分類取得部が、前記取得された第1クラスターに含まれる複数の到達位置に対応付けられる出発位置のそれぞれについて、当該出発位置から第2の所定距離範囲内の他の出発位置の数(以下「第2の数」という。)を求め、当該第2の数に基づいて、当該複数の出発位置を複数のクラスター(以下「第2クラスター」という。)に分類し、当該分類された複数の第2クラスターの中から少なくとも1つの第2クラスターを選択し、当該選択した第2クラスターの中心に対応する出発位置を取得する第2の分類取得ステップと、
    前記配置部が、前記仮想空間内において、前記取得された第1クラスターに対応する出発位置から、前記取得された第2クラスターに対応する到達位置までの間に、障害物を配置する配置ステップと、
    を備えることを特徴とするゲーム処理方法。
  13. 仮想空間内において複数のキャラクターが対戦するゲームを実現するコンピュータを、
    前記複数のキャラクターのうち、第1キャラクターから発せられた攻撃が前記障害物に遮られずに第2キャラクターに命中したか否かを判定する判定部、
    前記命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を記憶する記憶部、
    前記記憶された命中情報をクラスター分析して複数のクラスターに分類する分類部、
    前記複数のクラスターから所定個数のクラスターを選択し、当該選択されたクラスターのそれぞれのセントロイドに指定される出発位置と到達位置とを取得する取得部、
    前記仮想空間内において、前記取得された出発位置から前記取得された到達位置までの間に障害物を配置する配置部、
    として機能させることを特徴とするプログラム。
  14. 仮想空間内において複数のキャラクターが対戦するゲームを実現するコンピュータを、
    前記複数のキャラクターのうち、第1キャラクターから発せられた攻撃が前記障害物に遮られずに第2キャラクターに命中したか否かを判定する判定部、
    前記命中したと判定された攻撃を発したキャラクターの位置を出発位置とし、当該攻撃が命中したキャラクターの位置を到達位置として指定する命中情報を複数記憶する記憶部、
    前記記憶された命中情報に指定される到達位置のそれぞれについて、当該到達位置から第1の所定距離範囲内の他の到達位置の数(以下「第1の数」という。)を求め、当該第1の数に基づいて、当該複数の到達位置を複数のクラスター(以下「第1クラスター」という。)に分類し、当該分類された複数の第1クラスターの中から少なくとも1つの第1クラスターを選択し、当該選択した第1クラスターの中心に対応する到達位置を取得する第1の分類取得部、
    前記取得された第1クラスターに含まれる複数の到達位置に対応付けられる出発位置のそれぞれについて、当該出発位置から第2の所定距離範囲内の他の出発位置の数(以下「第2の数」という。)を求め、当該第2の数に基づいて、当該複数の出発位置を複数のクラスター(以下「第2クラスター」という。)に分類し、当該分類された複数の第2クラスターの中から少なくとも1つの第2クラスターを選択し、当該選択した第2クラスターの中心に対応する出発位置を取得する第2の分類取得部、
    前記仮想空間内において、前記取得された第1クラスターに対応する出発位置から、前記取得された第2クラスターに対応する到達位置までの間に、障害物を配置する配置部、
    として機能させることを特徴とするプログラム。
JP2009062853A 2009-03-16 2009-03-16 ゲーム装置、ゲーム処理方法、ゲームシステム、ならびに、プログラム Active JP4785942B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009062853A JP4785942B2 (ja) 2009-03-16 2009-03-16 ゲーム装置、ゲーム処理方法、ゲームシステム、ならびに、プログラム
PCT/JP2010/053972 WO2010106947A1 (ja) 2009-03-16 2010-03-10 ゲーム装置、ゲームシステム、ゲーム処理方法、情報記録媒体、ならびに、プログラム
TW099107479A TW201043302A (en) 2009-03-16 2010-03-15 Game device, game system, game processing method, information recording medium, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009062853A JP4785942B2 (ja) 2009-03-16 2009-03-16 ゲーム装置、ゲーム処理方法、ゲームシステム、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2010213846A true JP2010213846A (ja) 2010-09-30
JP4785942B2 JP4785942B2 (ja) 2011-10-05

Family

ID=42739608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009062853A Active JP4785942B2 (ja) 2009-03-16 2009-03-16 ゲーム装置、ゲーム処理方法、ゲームシステム、ならびに、プログラム

Country Status (3)

Country Link
JP (1) JP4785942B2 (ja)
TW (1) TW201043302A (ja)
WO (1) WO2010106947A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014035004A1 (ko) * 2012-08-30 2014-03-06 주식회사 위메이드크리에이티브 온라인 모바일 게임에서 통신장애시 게임 인공지능으로 전환하는 방법 및 시스템
CN103777932A (zh) * 2012-10-23 2014-05-07 腾讯科技(深圳)有限公司 一种业务平台中单位状态控制的方法及系统
JP2018033971A (ja) * 2017-09-28 2018-03-08 グリー株式会社 オンラインシューティングゲームの提供装置及びその方法
JP2019130105A (ja) * 2018-01-31 2019-08-08 フリュー株式会社 ゲームプログラム、方法、および記録媒体
US10589180B2 (en) 2013-04-05 2020-03-17 Gree, Inc. Method and apparatus for providing online shooting game

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112221136B (zh) * 2020-11-06 2022-09-13 腾讯科技(深圳)有限公司 反馈信息的显示方法和装置、存储介质及电子设备
CN112891931B (zh) * 2021-03-30 2023-06-23 腾讯科技(深圳)有限公司 虚拟角色的选择方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0494647A (ja) * 1990-08-10 1992-03-26 Meiji Seika Kaisha Ltd カカオ豆又はその加工品の香味改良処理方法
JP2006280447A (ja) * 2005-03-31 2006-10-19 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲーム装置
JP3910891B2 (ja) * 2002-08-23 2007-04-25 株式会社バンダイナムコゲームス ゲームシステム、プログラム及び情報記憶媒体
JP2007207005A (ja) * 2006-02-02 2007-08-16 Namco Bandai Games Inc プログラム、情報記憶媒体、及び画像生成システム
JP4094647B2 (ja) * 2006-09-13 2008-06-04 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム処理方法、ならびに、プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0494647A (ja) * 1990-08-10 1992-03-26 Meiji Seika Kaisha Ltd カカオ豆又はその加工品の香味改良処理方法
JP3910891B2 (ja) * 2002-08-23 2007-04-25 株式会社バンダイナムコゲームス ゲームシステム、プログラム及び情報記憶媒体
JP2006280447A (ja) * 2005-03-31 2006-10-19 Namco Bandai Games Inc プログラム、情報記憶媒体及びゲーム装置
JP2007207005A (ja) * 2006-02-02 2007-08-16 Namco Bandai Games Inc プログラム、情報記憶媒体、及び画像生成システム
JP4094647B2 (ja) * 2006-09-13 2008-06-04 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム処理方法、ならびに、プログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014035004A1 (ko) * 2012-08-30 2014-03-06 주식회사 위메이드크리에이티브 온라인 모바일 게임에서 통신장애시 게임 인공지능으로 전환하는 방법 및 시스템
CN103777932A (zh) * 2012-10-23 2014-05-07 腾讯科技(深圳)有限公司 一种业务平台中单位状态控制的方法及系统
CN103777932B (zh) * 2012-10-23 2018-10-09 腾讯科技(深圳)有限公司 一种业务平台中单位状态控制的方法及系统
US10589180B2 (en) 2013-04-05 2020-03-17 Gree, Inc. Method and apparatus for providing online shooting game
US11192035B2 (en) 2013-04-05 2021-12-07 Gree, Inc. Method and apparatus for providing online shooting game
US11712634B2 (en) 2013-04-05 2023-08-01 Gree, Inc. Method and apparatus for providing online shooting game
JP2018033971A (ja) * 2017-09-28 2018-03-08 グリー株式会社 オンラインシューティングゲームの提供装置及びその方法
JP2019130105A (ja) * 2018-01-31 2019-08-08 フリュー株式会社 ゲームプログラム、方法、および記録媒体
JP7121255B2 (ja) 2018-01-31 2022-08-18 フリュー株式会社 ゲームプログラム、方法、および記録媒体

Also Published As

Publication number Publication date
JP4785942B2 (ja) 2011-10-05
WO2010106947A1 (ja) 2010-09-23
TW201043302A (en) 2010-12-16

Similar Documents

Publication Publication Date Title
JP4785942B2 (ja) ゲーム装置、ゲーム処理方法、ゲームシステム、ならびに、プログラム
US7455589B2 (en) Game playing system with assignable attack icons
JP4392446B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
US8740681B2 (en) Game machine, program for realizing game machine, and method of displaying objects in game
US6736724B1 (en) Character group battle method, recording medium and game device
JP7304695B2 (ja) 情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
US6650329B1 (en) Game system and program
CN1913944B (zh) 消息输出装置、消息控制方法、程序以及信息记录媒体
US20150231509A1 (en) System, Method, and Apparatus for Smart Targeting
WO2018079779A1 (ja) ゲームシステム及びゲームシステムの制御方法
JP4339908B2 (ja) ゲーム装置、画像生成方法、および、プログラム
KR101003283B1 (ko) 온라인 게임 방법 및 시스템
JP4292483B2 (ja) コンピュータプログラム
JP4252002B2 (ja) プログラム、情報記憶媒体及びゲーム装置
JP5734561B2 (ja) ゲームシステム、および、このゲームシステムを実現するためのプログラム
JP6431886B2 (ja) ゲームプログラム及びゲームシステム
KR101003288B1 (ko) 온라인 게임 방법 및 시스템
JP5044610B2 (ja) ゲームプログラム、ゲーム装置、ゲーム制御方法
JP6147292B2 (ja) ゲームシステム、および、このゲームシステムを実現するためのプログラム
JP5301391B2 (ja) ゲーム装置、画像生成方法、および、プログラム
JP4252107B2 (ja) プログラム、情報記憶媒体及びゲーム装置
KR20090091684A (ko) 온라인 게임 방법 및 시스템

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110705

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110712

R150 Certificate of patent or registration of utility model

Ref document number: 4785942

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250