プログラムおよびコンピュータシステム
【課題】ネットワークゲームの仮想社会におけるアバターの活動をとおして、不特定性の個人に対してメッセージの受け渡しを実現するプログラムを提供することを目的とする。
【解決手段】第1のアバターがメッセージを書き込むための魚を購入し、この魚にメッセージおよびこのメッセージを読んでもらいたいアバターの属性を書き込む。そして、この魚を川や海へ放流する。これにより、魚は自由に回遊する。第2のアバターが、川や海へ行き、釣り糸を水中を下して、魚を釣り上げる。そうすると、この魚に書き込まれているメッセージが表示される。これにより、魚と魚釣りという動作を介してメッセージを不特定の個人に手渡すことができる。
【解決手段】第1のアバターがメッセージを書き込むための魚を購入し、この魚にメッセージおよびこのメッセージを読んでもらいたいアバターの属性を書き込む。そして、この魚を川や海へ放流する。これにより、魚は自由に回遊する。第2のアバターが、川や海へ行き、釣り糸を水中を下して、魚を釣り上げる。そうすると、この魚に書き込まれているメッセージが表示される。これにより、魚と魚釣りという動作を介してメッセージを不特定の個人に手渡すことができる。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、複数のアバターが登場する仮想社会内で、アバター間でメッセージを交換するためのプログラムおよびこのプログラムを実行するコンピュータシステムに関する。
【背景技術】
【0002】
近年、例えばMMORPG(MMORPG:Massively Multiplayer Online Role-Playing Game)等のインターネットを介して多人数が参加するネットワークゲームが普及している(たとえば非特許文献1)。
【0003】
この種のネットワークゲームでは、複数のプレイヤーが、それぞれ端末装置を操作して仮想社会に自己のキャラクタであるアバターを登場させ、互いに会話をしたり、一緒にゲームをしたりすることができる。
【0004】
【非特許文献1】“ハンゲームガイド”、[online]、NHN Japan 株式会社、[平成19年2月9日検索]、インターネット<URL:http://www.hangame.co.jp/guide/index.asp?Content=avatar>
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来、パーソナルコンピュータ,ネットワークを用いたコミュニケーション手段としては、メール,チャット等が知られている。これらは、特定の相手に向けたものであり、不特定の限られた人に向けたコミュニケーション手段は存在しなかった。また、従来より、公衆に向けてメッセージを発信する機能として掲示板が知られているが、この掲示板は、不特定多数の公衆に向けてメッセージを発信するものであり、掲示板にアクセスする人全てがメッセージを閲覧することができるものであり、やはり不特定の限られた人に向けてメッセージを発信できるものではなかった。
【0006】
また、上記ネットワークゲームにおいて、メッセージの受け渡しを直接的な目的としないアバターの活動の中でメッセージの受け渡しを実現するという、ゲーム的な要素を取り入れたコミュニケーション手段は存在しなかった。
この発明は、ネットワークゲームの仮想社会におけるアバターの活動をとおして、不特
定の限られた人に対してメッセージの受け渡しを実現するプログラムを提供することを目的とし、また、このプログラムを実行するコンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本願発明の第1の側面によって提供されるゲームプログラムは、複数の端末装置がネットワークで接続されたコンピュータシステムに、以下の手順を実行させることを特徴とする。
複数の端末装置によってそれぞれ操作される複数の仮想のキャラクタ(アバター)と、仮想オブジェクトと、を含む仮想社会を生成する仮想社会生成手順
仮想社会を各端末装置の表示部に表示させる表示手順
特定の端末装置から、仮想オブジェクトに対応づけたメッセージの入力操作を受け付けたときに、このメッセージを仮想オブジェクトに対応づけて登録するメッセージ登録手順
メッセージが登録された仮想オブジェクトを、複数のアバターのうちの1つである不特定アバターの取得動作に応じて、該不特定アバターに取得および占有させる取得手順
この不特定アバターによって仮想オブジェクトが占有されているとき、この不特定アバターを操作する端末装置にメッセージを出力可能にするメッセージ出力許可手順
不特定アバターを操作する端末装置からの操作により、取得動作に応じて不特定アバターに占有されている仮想アイテムの占有を解除して他の不特定アバターが取得可能な状態にもどす占有解除手順
【0008】
上記発明において、メッセージが登録された仮想オブジェクトを仮想社会内で移動させる移動手順を、コンピュータシステムに更に実行させてもよい。
【0009】
上記発明において、仮想社会生成手順は、属性が付与されたアバターを生成する手順を含み、メッセージ登録手順は、メッセージとともに属性を登録する手順を含み、取得手順は、仮想オブジェクトに対応付けて登録されている属性と一致する属性が付与された不特定アバターのみに仮想オブジェクトの取得を可能にする手順を含んでいてもよい。
【0010】
上記発明において、仮想アイテムの購入操作が行われた端末装置を特定の端末装置としてもよい。
【0011】
本願発明の第2の側面によって提供されるコンピュータシステムは、上記のプログラムを記憶する記憶部と、前記プログラムを実行するコンピュータと、を備えたことを特徴とする。
【発明の効果】
【0012】
この発明によれば、メッセージが登録された仮想オブジェクトが取得されたとき、その仮想オブジェクトを取得したアバターに対してメッセージを出力可能にすることにより、不特定の限定された人に対してメッセージを発信することが可能になる。また、仮想建造物や仮想オブジェクトに登録したメッセージが仮想建造物や仮想オブジェクトから出力される態様で出力されることにより、そのときその場に居合わせた不特定の限定された少数アバターに対してメッセージを伝えることができる。これにより、従来のメール,チャット,掲示板にはない、偶然性を用いた不特定の限定された人に対するメッセージの伝達が可能になる。
【0013】
この発明は、たとえば釣りや蝶々取り等の仮想社会内での(直接的なコミュニケーションではない)活動を通して、メッセージの受け渡しができるため、ネットワークゲームの趣向性を損なわずに他のプレイヤーとのコミュニケーションをとることが可能になる。
【図面の簡単な説明】
【0014】
【図1】この発明が適用されるコンピュータシステムで実行されるネットワークゲームのステージとなる仮想社会の一例を示す図
【図2】前記仮想社会の画面表示例を示す図
【図3】アバターの例を示す図
【図4】ゲームにおいてメッセージ魚へのメッセージの書き込み・捕の手順を示すフローチャート
【図5】前記ネットワークゲームを実行するコンピュータシステムの構成を示す図
【図6】ポータルサーバに設けられるサーバデータベースを示す図
【図7】ポータルサーバに設けられるサーバデータベースを示す図
【図8】ログイン時およびデータの定期更新時のコンピュータシステムの動作を示すフローチャート
【図9】アバターの動作制御処理を示すフローチャート
【図10】メッセージ登録時の動作を示すフローチャート
【図11】魚捕獲(釣り)動作時の端末装置の動作を示すフローチャート
【図12】魚捕獲(釣り)動作時のポータルサーバの動作を示すフローチャート
【図13】釣り上げ成功時のコンピュータシステムの動作を示すフローチャート
【図14】ゲームにおいてメッセージ蝶々へのメッセージの書き込み・捕獲の手順を示すフローチャート
【図15】ゲームにおいてメッセージボトルへのメッセージの書き込み・捕獲の手順を示すフローチャート
【図16】メッセージボトルの位置情報更新手順を示すフローチャート
【図17】ゲームにおいてロバの耳井戸へのメッセージの入力・出力の手順を示すフローチャート
【図18】ロバの耳井戸へのメッセージ入力・出力を実行するためのコンピュータシステムの処理手順を示すフローチャート
【発明を実施するための形態】
【0015】
<<ゲームの概要説明>>
まず、この発明が適用されたコンピュータシステムで展開されるオンラインゲームについて説明する。
このゲームは、ポータルサーバと、端末装置であるパーソナルコンピュータとをインターネット等のネットワークを介して接続したコンピュータシステムで実行される多人数同時参加型のネットワークゲームであり、ポータルサーバや端末装置の情報処理機能(特に画像処理機能)を用いて仮想的に創り出された仮想社会に、各端末装置の利用者であるプレイヤーが、その端末装置を介して操作する仮想のキャラクタであるアバターを登場させ、このアバターを仮想社会に住まわせたり、種々の活動をさせるゲームである。なお、この実施形態の説明では、プレイヤーの操作を、適宜アバターの活動として表現する場合がある。
【0016】
仮想社会は、複数のステージからなり、アバターは、1つのステージ内で移動可能であるとともに、各ステージ間を移動することもできる。各ステージは、懐かしい街、近代的な街、海岸、野原等それぞれ独自に特徴づけされている。
【0017】
本コンピュータシステムにおいて、ポータルサーバはポータルサイトを運営するとともに、このポータルサイトにログインした端末装置上で上記ゲームのゲーム画像を表示する。これによって、ポータル機能と連携したゲーム画像を表示することができ、興趣性の高いポータルサイトを提供することができる。例えば、ゲームの仮想社会の店舗やアイテムにリンクが設定されており、プレイヤーがマウスクリック等により店舗やアイテムを選択すると、ポータルサーバは、そのプレイヤーの端末装置をリンク先に接続する。また、プレイヤーが、ポータルサイトで検索を行うと、端末装置には、検索内容に対応する仮想社会の領域が検索結果として表示される。例えば、「ゲーム」で検索を行った場合に、ゲームに関連するサイトの一覧が表示されるとともに、仮想社会におけるゲームセンタ等が表示される。
【0018】
このネットワークゲームにおいて、アバターは、プレイヤーによる端末装置の操作に対応して、仮想社会内を移動する。また、アバターは、服や眼鏡等種々のアイテムを着用する。このアイテムも仮想社会内でアバターが着用する仮想のアイテムである。プレイヤーは、自己のアバターに種々のアイテムを着用させることにより、アバターを自分の気に入った外観で仮想社会で活動させることができる。プレイヤーは、これらのアイテムを、仮想社会内に設置されている店舗で購入したり、他のアバターから貰う・交換する等により、自己のアバターのために入手することができる。アイテムの購入には、この仮想社会内で通用する仮想通貨が使用される。
【0019】
また、このオンラインゲームにおいては、以下の種々の方法を用いてアバターがメッセージを発信することができる。
(1)メッセージ魚:メッセージを書き込んだ魚を川や海に放し、これを釣り上げた他のアバターがメッセージを読むことができるもの
(2)メッセージ蝶々:メッセージを書き込んだ蝶々を放し、これを捕獲した他のアバターがメッセージを読むことができるもの
(3)メッセージボトル:メッセージを書き込んだメモを入れたボトルを川や海に流し(または街角に置き)、漂着したボトルまたは街角に置かれたボトルを拾い上げた他のアバターがメッセージを読むことができるもの
(4)ロバの耳井戸:井戸に複数のメッセージが入力され、所定のタイミングにランダムに選択されたメッセージが井戸から吹き出し表示され、その場に居るアバターが見ることができるようにしたもの
これらのメッセージ発信手段は、それぞれ特定の相手(アバター)に向けたものではなく、いつ誰が読むか判らない偶然性を持ったメッセージ発信手段である。また、オンラインゲーム中のアバターの日常動作(たとえば釣りや虫取り等)を介してメッセージの受け渡しを可能にしたものである。
【0020】
<<ゲームの詳細説明>>
以下、図面を参照してゲームについて詳細に説明する。
前記ポータルサーバと複数の端末装置とで創り出される仮想社会は、複数のステージで構成される。各ステージは、たとえば家や店舗のある街、川が流れている野原、海岸等それぞれ異なる態様にされている。
【0021】
図1は、このうち街のレイアウトを俯瞰的に示す図である。この街には、電車の駅100や各種の商品を販売している店舗101や公園102等がレイアウトされている。この実施形態では、1つのステージは、200セル×200セルの40000セルで構成されている。
【0022】
プレイヤーがこのネットワークゲームにログインすると、そのプレイヤーのアバターが電車の駅100に立っているところからゲームがスタートする。プレイヤーは、自己のアバターをこの街の中で移動させて店舗101や公園102等を訪れさせることができる。また、自己のアバターを電車103に乗せて他のステージに移動させることもできる。
【0023】
図2は、図1に示したステージ「街」のモニタ表示例を示す図である。各端末装置のモニタ26には、図1に示した街の一部の風景がほぼ水平の視線で表示されるため、このような画面となる。この図は、図1の店舗101A(たばこや)付近の風景を示している。ここには、自己のアバター110および複数の他人アバター111が表示されている。プレイヤーは、画面上をマウスクリックすることで、自己のアバター110をそのマウスクリックの方向に移動(歩行)させることができる。また、プレイヤーが店舗101Aをマウスクリックすることにより、自己のアバター110をこの店舗101Aに入店させることができる。さらに、プレイヤーが電車103をクリックすることにより、自己のアバター110を電車103に乗せて、他のステージに移動させることができる。
【0024】
図3は、プレイヤーが操作する仮想キャラクタであるアバターの一例を示す図である。同図のアバターは男性のアバターを示している。アバターは、図2の自己のアバター110に示したような基本形状(素体)をしており、この素体120の上に、プレイヤーの操作により、各種のアイテムが付加されて同図のような外観のアバターが構成される。この図では、素体120に、カツラ(髪形)121、眼鏡122、Tシャツ123、ジャケット124、パンツ125、靴126のアイテムを着用させて、図示のような外観に仕上げられている。なお、これら各種アイテムは、上述したメッセージ魚、メッセージ蝶々、メッセージボトルと同様に、仮想社会内の店舗から購入されるものである。
【0025】
このオンラインゲームでは、上述したように、直接的にメッセージを発信するための活動でないアバターの活動を介して、他のアバターに対してメッセージを発信することができる。以下の実施形態では、魚アイテム(メッセージ魚)を用いたメッセージの発信について説明する。
【0026】
図4は、メッセージ魚を用いてメッセージを受け渡す場合のプレイヤーの操作手順を示すフローチャートである。同図(A)は、第1のアバターが魚にメッセージを書き込んで放流する手順を示したフローチャートである。まず、第1のアバターが店舗でメッセージを書き込むための魚を購入する (S201)。そして、この魚にメッセージおよびこのメッセージを読んでもらいたいアバターの属性を書き込む(S202)。そして、この魚を持って川や海へ移動し(S203)、この魚を放流する(S204)。これにより、魚は(サーバコンピュータの制御により)川や海等の水域を自由に回遊する。
【0027】
同図(B)は、第2のアバターが釣りをすることにより、魚を釣り上げてそこに書き込まれているメッセージを読む手順を示すフローチャートである。第2のアバターが、釣り竿を購入する等して、釣り竿を持って(S210)、川や海へ行く(S211)。そして、釣り糸を水中に下ろす(S212)。そうすると、近くに居る魚が食いつくので、引きを確認したときに(S213)、釣り糸を引き上げる(S214)。これにより、魚がつり上がる。そして、この魚に書き込まれているメッセージが表示される(S215)。なお、魚を釣り上げることができた場合に、即メッセージが表示されるのではなく、アバターが一端魚を持ち物として所持し、プレイヤーの表示操作があったときにメッセージが表示されてもよい。
【0028】
以下、上記のようなゲームの進行を実現するためのコンピュータシステムの動作について説明する。
【0029】
<<システム構成の説明>>
図5は、上記ネットワークゲームを実行するコンピュータシステムの構成を説明する図である。このコンピュータシステムは、ポータルサーバ1、複数の端末装置2がインターネット3を介して接続されて構成されている。ポータルサーバ1は、一般的なサーバコンピュータまたはワークステーションで構成すればよく、端末装置2は、一般的なパーソナルコンピュータで構成すればよいため、そのハードウェア構成の詳細説明は省略する。
【0030】
ポータルサーバ1は、仮想社会や複数のアバターのデータを蓄積記憶したサーバデータベース11(図6、図7参照)、このネットワークゲームの全体進行を制御管理するゲーム進行管理部12、店舗においてアバターに対するアイテムの販売およびアフィリエイトの発行を制御管理するアイテム販売管理部13、および、端末装置2等との通信を制御する通信制御部14を備えている。ゲーム進行管理部12は、ゲーム進行管理プログラムによるゲーム進行管理処理が、ポータルサーバ1のCPU等のハードウェア資源によって実現された機能部である。アイテム販売管理部13は、アイテム販売管理プログラムによるアイテム販売管理処理が、ポータルサーバ1のCPU等のハードウェア資源によって実現された機能部である。また、通信制御部14は、通信制御プログラムによる通信制御処理が、ポータルサーバ1のCPU、通信関連周辺機器等のハードウェア資源によって実現された機能部である。
【0031】
端末装置2は、自機においてネットワークゲームを進行させるためのデータを記憶するローカルデータベース21、モニタ26にゲーム画面を表示させる表示制御部22、端末装置2の利用者であるプレイヤーの操作を受け付ける操作管理部23、ポータルサーバ1等との通信を制御する通信制御部24、および、自機においてゲームの進行を制御するゲーム進行管理部25を備えている。表示制御部22にはモニタ26が接続される。表示制御部22は、表示制御プログラムによる表示制御処理が、端末装置2のCPU等のハードウェア資源によって実現された機能部である。操作管理部23は、操作管理プログラムによる操作管理処理が、端末装置2のCPUやマウス・キーボード等の周辺機器等のハードウェア資源によって実現された機能部である。また、通信制御部24は、通信制御プログラムによる通信制御処理が、周辺機器2のCPU、通信関連周辺機器等のハードウェア資源によって実現された機能部である。ゲーム進行管理部25は、ゲーム進行を制御するプログラムによるゲーム進行制御処理が、端末装置2のCPU等のハードウェア資源によって実現された機能部である。
【0032】
端末装置2において、このネットワークゲームは、インターネットブラウザで表示されるものとしてもよく、独立したアプリケーションプログラムで実行されるものとしてもよい。インターネットブラウザで表示されるものとした場合、ゲームプログラム(表示制御プログラム、操作管理プログラム、通信制御プログラム等)は、インターネットブラウザのプラグインとして提供される。これらのプログラムは、CD−ROM等のメディアを用いて端末装置2に予めインストールされていてもよいが、インターネットブラウザのプラグインとして提供される場合等は、端末装置2が最初にポータルサーバ1にログインしたときにポータルサーバ1から自動的にダウンロードされるようにしてもよい。また、ローカルデータベース21は、上記プログラムと同時に構築されるようにすればよい。ローカルデータベース21や各プログラムは、端末装置2がポータルサーバ1にログインする都度、最新のものがポータルサーバ1からダウンロードされて更新される。
【0033】
操作管理部23は、プレイヤーの操作を監視し、検出した操作内容で、自装置における自己のアバターのデータを更新するとともに、この操作内容を表す操作情報を通信制御部24を介してポータルサーバ1に送信する。ポータルサーバ1(ゲーム進行管理部12)は、各端末装置2から送られてきた操作情報に基づいて各プレイヤーのアバターを活動させるようにゲームの進行を管理する。このゲームの進行の管理は、仮想社会の状態を全て記憶するサーバデータベース11の内容を、そのときの仮想社会の状態に合うように更新することによって行われる。ポータルサーバ1のゲーム進行管理部12は、データベース11の更新情報を定期的に各端末装置2に送信する。各端末装置2(各ゲーム進行管理部25)は、ポータルサーバ1から送られてきた更新情報に基づいてローカルデータベース21を更新するとともに、これに合わせて画面表示を更新することによってゲームを進行させる。
【0034】
ポータルサーバ1のアイテム販売管理部13は、いずれかのプレイヤー(端末装置2)で操作されるアバターが仮想社会に設けられている店舗を訪問したときに機能する。アイテム販売管理部13は、店舗を訪問したアバターを操作する端末装置2に対してその店舗の販売アイテム情報を送信したり、アバター(プレイヤー)がアイテムを購入したときには、そのアイテムをそのプレイヤーの所有アイテムテーブルに登録し、所有仮想通貨からそのアイテムの価格分を減算する。
【0035】
図6、図7は、サーバデータベース11の構成を示す図である。サーバデータベース11は、仮想社会の構成を記憶する仮想社会データ記憶部30、複数のアバターについてのデータを記憶するアバターデータ記憶部40、この仮想社会で販売・所有・着用される複数のアイテムについてのデータを記憶するアイテムデータ記憶部50、および、アバターが発信したメッセージを記憶するメッセージデータ記憶部60を有している。
【0036】
仮想社会記憶部30は、複数のステージの各々の構成を記憶するステージデータ記憶部31、各ステージに立っている家や駅や公園等の建物のデータを記憶する建物データ記憶部32、店舗で販売されるアイテムを管理する販売アイテムデータ記憶部33を有している。アバターデータ記憶部40は、ポータルサーバ1に登録されている各アバター毎の情報を記憶するプレイヤーデータ記憶部41、アバターの素体画像を記憶するアバター素体画像データ記憶部42を有している。
【0037】
ステージデータ記憶部31は、各ステージごとに設定されたステージデータをステージ分記憶している。各ステージデータは、そのステージの名称(たとえば「懐かしい街」等)を示すステージ名称データ、そのステージにおける建物などの配置が書き込まれたマップデータおよびこのマップデータ上に配置される建物を指定する建物指定データ等を含んでいる。
【0038】
建物データ記憶部31は、各建物ごとに設定された建物データを各建物の分だけ記憶している。各建物データは、建物の名称(例えば、「○○デパート」等)を示す建物名称データ、その建物の外観の画像である建物画像データ、建物の種類データ(店舗、民家、入室可能か否か等)、入室可能な建物の場合には内部レイアウトデータ、さらに、アイテムを販売する店舗の場合には、販売アイテムを指定するアイテム指定データを含む。なお、建物データは、構造物だけに限らず道端の露店のようなものについても設定されている。
【0039】
販売アイテムデータ記憶部33は、この仮想社会のいずれかの店舗で販売されるアイテムごとに設けられる販売アイテムデータを記憶している。各販売アイテムデータは、そのアイテムをアイテムデータ記憶部50に記憶されているアイテムから指定するアイテム指定データおよびそのアイテムの価格を示す価格データを含んでいる。
【0040】
アイテムデータ記憶部50は、各アイテムごとに設定されたアイテムデータを記憶している。各アイテムデータは、そのアイテムを識別するためのアイテムID、アイテムの名称(「赤い傘」等)を示すアイテム名称データ、アイテムの外観等を表すアイテム画像データ、そのアイテムがアバターのどこに着用されるか等を指示するアイテム種類データ等を含んでいる。
【0041】
なお、このゲームでアバターが着用するアイテムは、衣類に限定されず、たとえば、釣り竿や虫取り網等の道具類も含まれる。このような道具類も店舗で販売される。
また、上述したメッセージ魚、メッセージ蝶々、メッセージボトルも店舗で販売されるアイテムの種類である。これら3種類の各アイテムは、それぞれ大きさ等が異なる更に複数種類のアイテムからなる。たとえば、メッセージ魚の場合、それぞれ大きさが異なる「ヒトコトイワシ」や「フタコトアジ」等のアイテムが存在する。これら「ヒトコトイワシ」、「フタコトアジ」はアイテム名称である。
【0042】
これらメッセージ魚、メッセージ蝶々、メッセージボトルは、店舗で販売されるときは通常のアイテムと同様であるが、アバターが、このアイテムを購入してメッセージを書き込んで手放す(放流する、放す、流す、置く等)ことにより、それぞれ上述の特徴をもったコミュニケーションアイテムとなり、サーバデータベースのメッセージデータ記憶部60(後述)に登録される。
【0043】
また、プレイヤーデータ記憶部41は、ポータルサーバ1に登録されているアバター(プレイヤー)毎に設定されたプレイヤーデータを記憶している。各プレイヤーデータは、そのプレイヤーのアバターの名称を示すアバター名称データ、そのプレイヤーが選択したアバターの素体の画像を指定する素体選択データ、このアバターの属性を示す属性データ、このアバターがどのステージの何処の座標に存在するかを示す位置データ、このアバターの動作(姿勢)を示す動作データ、このアバターが所有または着用しているアイテムが登録されるアイテムテーブル、および、仮想社会内で使用される仮想通貨の所持金額を表す所持金額データを含んでいる。
【0044】
アバター素体画像データ記憶部42は、プレイヤーデータの素体選択データによって選択される複数のアバター素体画像を記憶している。アバター素体画像は、たとえば、図2に示したアバター110等のような画像である。
【0045】
アバターの属性データは、このアバターまたはプレイヤーの属性を示すデータであり、図7(A)に示すように、年齢層、性別、趣味、地域等のカテゴリーのデータからなっている。この属性データは、プレイヤーにより、このネットワークゲームに参加登録するときに入力される情報であり、プレイヤー自身の属性が入力される場合、プレイヤーが操作する仮想のアバターに付与したい属性が入力される場合がある。
【0046】
図7(A)において、年齢層は、10代、20代、30代、40代、50代以上の5つの選択肢から1つが選択される。性別は、男/女からどちらかが選択される。趣味は、ゲーム、音楽、スポーツ、映画、ドライブ・ツーリング、読書から1または複数が選択される。地域は、47都道府県から1つが選択される。
なお、プレイヤーの属性を表すデータは、これらに限定されない。また、年齢層,趣味,地域の選択肢の設定態様も上記に限定されない。
【0047】
図7(B)は、メッセージデータ記憶部60のうち、魚データの記憶エリアを示した図である。魚データは、水中に放流されたメッセージ魚について登録されたデータであり、この魚を識別するための魚ID、サイズデータ、アイテムID、捕獲条件データ、位置情報、捕獲中フラグ、メッセージ本文等の内容で構成される。
【0048】
サイズデータは、この魚の大きさを表すデータである。このサイズデータによって、魚の外観上の大きさが決定されるとともに、書き込み(対応付けて登録)可能なメッセージの文字数が決定される。例えば、「ヒトコトイワシ」はサイズが5cmで、20文字までメッセージを登録することができ、「フタコトアジ」はサイズが10cmで、40文字までメッセージを登録することができる。アイテムIDは、アイテムデータ記憶部50に記憶されているアイテムデータを指定するIDである。このアイテムIDでアイテムデータを指定することにより、その指定されたアイテムデータに含まれるアイテム画像データを読み出してこのメッセージ魚の外観を作成することができる。捕獲条件データは、この魚を釣り上げることができるアバターの条件(属性)を指定するデータである。この捕獲条件データは、この魚にメッセージを書き込むプレイヤーが、このメッセージを読んでもらいたいアバター(プレイヤー)を絞り込むために、その属性を設定する。この捕獲条件データは、図7(A)に示した複数のカテゴリーの全部または一部について設定される。捕獲条件データが設定されていないメッセージ魚は、全てのアバターによって釣り上げられることができる。
【0049】
なお、プレイヤーデータにアバターの属性が設定されていない場合には、捕獲条件が設定されていないメッセージ魚、すなわち上記の全てのアバターによって釣り上げられるメッセージ魚のみ釣り上げることができる。
【0050】
位置情報は、この魚がどこを泳いでいるかを示すデータであり、ステージを示す情報とそのステージ内での座標からなる。魚の回遊は、プレイヤーが制御するのではなく、ポータルサーバ1のゲーム進行管理部12が、独自のアルゴリズムで回遊経路を決定する。ゲーム進行管理部12は、上記アルゴリズムで各魚の回遊経路を決定して、定期的に各魚の位置情報を更新する。
【0051】
なお、ゲーム進行管理部12が、魚の位置情報を更新せず、常に放流された位置をその魚の位置情報としてもよい。また、位置情報が魚データに含まれなくてもよい。この場合には、魚の釣り上げが魚の位置とは無関係に決定され、例えば、捕獲条件データとアバターの属性データと、魚サイズと釣竿の性能との一致だけで、魚の釣り上げの成否が決定される。
【0052】
捕獲中フラグは、いずれかの端末装置2において、この魚が釣り糸に掛かっていることを示すフラグである。このフラグがセットされていると、他の端末装置2ではこの魚を捕獲することができない。端末装置2におけるゲーム進行において、アバターが釣り糸を垂らした付近に魚がいると、その魚が釣り糸に掛かり、このことがポータルサーバ1に通知される。ポータルサーバ1は、この通知に対応して捕獲中フラグをセットする。しかし、魚が釣り糸に掛かっても、引き上げるのが遅れたり、上記捕獲条件が満たされなかった場合には、この魚は逃げてしまう。端末装置2から魚が逃げたことが通知されると、ポータルサーバ1は、この捕獲中フラグをリセットする。一方、端末装置2から、魚が逃れることなく釣り上げられたことが通知されると、メッセージ本文をその端末装置2に送信するとともに、この魚データをメッセージデータ記憶部60から消去する。
【0053】
メッセージ本文は、テキストデータからなる。文字数は、魚のサイズに応じて異なり、200文字〜400文字程度である。なお、この実施形態では、メッセージ魚に設定(対応付けて登録)するメッセージをテキストとしているが、メッセージはテキストに限定されない。たとえば、音声、静止画、動画など端末装置から出力可能なものであれば、どのようなものでもよい。
【0054】
ポータルサーバ1は、サーバデータベース11として、図6,図7(B)に示すデータ群を常時記憶している。端末装置2のローカルデータベース21は、サーバデータベースとほぼ同様の構成・内容を有している。サーバデータベース11とローカルデータベース21とで異なる点は、ローカルデータベース21が、他のプレイヤーが操作するアバター(他人アバター)のプレイヤーデータ(41)を持たない点程度である。ローカルデータベース21のうち、仮想社会データ(30)、アイテムデータ(50)の固定部分は、プログラムと一緒にインストールされる。そして、ゲームに進行に応じて更新される部分は、プレイヤーの操作によって端末装置2が、ポータルサーバ1にログインする都度、更新データとしてダウンロードされる。
【0055】
なお、上記ゲームにおいて、自己のアバターがステージを移動すると、移動先のステージに位置する他人アバターのプレイヤーデータ等がダウンロードされる。なお、このときに移動前のステージに位置していた他人アバターのプレイヤーデータは破棄される。
【0056】
また、自己のアバター,他人アバターは常に移動し、着用するアイテムや所持するアイテムが変更されることもあり、アバターの属性データも変更されこともある。このため、ポータルサーバ1は、各端末装置2からアバターの位置の変更や属性データの変更等のプレイヤーデータの変更を示す情報を受信したときに、サーバデータベース11のプレイヤーデータを更新し、この更新したデータを更新情報として定期的に各端末装置2に送信する。
【0057】
アバター(プレイヤー)が、メッセージ魚アイテムを購入して川や海に放流したとき、魚データが作成され、この魚データが各端末装置2からポータルサーバ1にアップロードされる。ポータルサーバ1は、この魚データをメッセージデータ記憶部60に登録し(メッセージを仮想オブジェクトに対応づけて登録し)、定期的なデータ更新時にこの魚データを各端末装置2にダウンロードする。
【0058】
この魚データの各端末装置2へのダウンロードは、トラフィックを軽減するため、魚ID、捕獲条件データ、サイズ、外観画像指定データ、位置情報のみをログイン時や定期的なデータ更新時等に行い、ある端末装置2から釣り上げられた旨の通知があったとき、その端末装置2のみにメッセージ本文をダウンロードする。
【0059】
もっとも、以下のような方式を採用してもよい。
(1)ログイン時等に、全ての端末装置2に全ての魚データ(メッセージ本文を含む)をダウンロードする。
(2)魚データの位置情報に基づき、その魚がどのステージにいるかを判断し、同じステージにいるアバターの端末装置2のみに、データをダウンロードする。
【0060】
魚データのメッセージ本文を、その端末装置に送信したのち、その魚データをメッセージデータ記憶部60から消去し、各端末装置2に対してその魚が釣り上げられた旨を通知する。
各端末装置2は、魚が釣り上げられた旨の通知を受信すると、既にダウンロードされているその魚の魚データを消去する。
【0061】
≪動作の説明≫
図8〜図13のフローチャートを参照して、図4に示したコンピュータシステムの動作について説明する。
図8(A)は、ログイン時の動作を示すフローチャートである。プレイヤーが端末装置2を用いて、ID,パスワードを入力する等のログイン操作を行うと(S1)、端末装置2は、このログイン操作情報をポータルサーバ1に送信する(S2)。
【0062】
ポータルサーバ1は、端末装置2からログイン操作情報を受信すると(S3)、(このログイン操作情報が正しいことを前提として)そのプレイヤーをログイン登録し、そのアバターを仮想社会に登場させるべく処理を行う(S4)。そして、このプレイヤーの操作する端末装置2に対して最新のデータを送信する(S5)。
【0063】
端末装置2は、ポータルサーバ1から送られてきたデータを受信し、このデータで自装置のローカルデータベース21を更新する(S6)。そして、このローカルデータベース21に書き込まれているデータに基づいて仮想社会をモニタ26に表示するとともに、この仮想社会にそのとき登場しているアバター(自己のアバターを含む)を表示して、この端末装置2においてゲームをスタートさせる(S7)。
【0064】
ゲームの進行は、複数の端末装置2から送信されてくる操作情報に基づいてポータルサーバ1のゲーム進行管理部12が管理しており、ログインした端末装置2では、ポータルサーバ1から送られてくる更新データに基づき、ゲーム進行管理部25がゲームの進行を管理する。
【0065】
図8(B)は、端末装置2におけるゲーム進行処理を示すフローチャートである。この処理は定期的に実行される。ポータルサーバ1のゲーム進行管理部12は、まず、サーバデータベース11のメッセージデータ記憶部60に登録されている魚データの位置を更新する(S9)。この魚データの位置は、端末装置2からの操作に依存しないため、ポータルサーバ1側で決定する。次に、サーバデータベース11の更新内容に基づき、ローカルデータベースを更新するための更新データを各端末装置2に対して定期的に送信する(S10)。この更新データには、上記魚データの位置情報や各アバターの位置や動作等を更新するためのデータが含まれる。端末装置2は、ポータルサーバ1から送られてきた更新データを受信して(S11)、ローカルデータベース21を更新するとともに(S12)、この更新データに基づいて、モニタ26の画面表示を更新する(S13)ことにより、ゲームを進行させる。
【0066】
図9は、プレイヤーによるアバターの動作制御操作に対応したコンピュータシステムの動作を示すフローチャートである。
同図(A)は、端末装置2の動作を示すフローチャートである。プレイヤーは、自己のアバターに何らかの動作をさせる場合、端末装置2のマウスやキーボードを操作してアバターがその動作を行うように指示する。たとえば、アバターを移動させる場合には、モニタ26の画面上において、移動させたい方向の適当な位置、または、入店させたい店舗や乗車させたい乗り物等をマウスでクリックする。また、釣り糸を海に垂らしたい場合には、釣り竿アイテムを右クリックしてプルダウンメニューから「下ろす」を選択する。プレイヤーにより動作の指示を受け付けたとき(S20)、この指示がアバターを他のステージに移動させる指示でない場合には(S21でNO)、端末装置2は、アバターの外観をその動作をしている状態に変化させるとともに(S22)、この動作情報をポータルサーバ1に送信する(S23)。たとえば、移動させたい方向の適当な位置や入店させたい店舗等がクリックされた場合、自己のアバターは同一ステージ内で移動するよう制御され、図1における電車103等の乗り物がクリックされた場合、自己のアバターは他のステージに移動するよう制御される。また、釣り糸を垂らす旨のメニューが選択された場合、アバターが装着しているアイテムである釣り竿を下にさげるよう形状を変化させる。また、釣り糸を引き上げる旨のメニューが選択された場合、アバターが装着しているアイテムである釣り竿を引き上げるよう形状を変化させる。
【0067】
ただし、ステップS20の動作制御操作が、アバターを他のステージに移動させる旨の操作であった場合には(S21でYES)、端末装置2は、このステージ移動操作情報をポータルサーバ1に送信する(S25)。その後、ポータルサーバ1から移動先の新たなステージのデータを受信して(S26)、このデータでローカルデータベース21を更新し(S27)、このステージの画像とアバターを表示してこのステージにおいてゲームを再開する(S28)。
【0068】
同図(B)は、端末装置2から、動作情報を受信したときのポータルサーバ1の動作を示すフローチャートである。ポータルサーバ1は、端末装置2が、同図(A)のステップS23で送信した動作情報を受信する(S31)。そして、この端末装置2に対応するプレイヤーデータ(位置データ、動作データ)をこの動作情報に基づいて更新する(S32)。この更新されたプレイヤーデータは、他の端末装置2に対しては、図8(B)に示した定期的なデータ更新時に送信される。
【0069】
同図(C)は、端末装置2から、ステージを移動する旨の操作情報を受信したときのポータルサーバ1の動作を示すフローチャートである。ポータルサーバ1は、端末装置2が、同図(A)のステップS25で送信したステージ移動情報を受信して(S34)、この端末装置2に対応するアバターデータの位置データや動作データをこのステージ移動情報に基づいて更新する(S35)。位置データは、新しいステージへ登場したときのデフォルトの位置に設定される。そして、この新たなステージの情報を端末装置2に対して送信する(S36)。このアバターの更新された位置データは、図8 (B)に示した定期的なデータ更新時に、他の各端末装置2に送信される。
【0070】
このように、端末装置2では、動作情報をポータルサーバ1に送信するとともに、(ポータルサーバからの更新データの受信を待たずに)自己のアバターの姿勢や位置を更新している。これにより、操作に対応した自己のアバターの姿勢や位置の更新が遅れないようにしている。なお、自己のアバターについても、ポータルサーバ1からの更新データの受信を待って移動させるようにしてもよい。
【0071】
図10は、端末装置2が行うメッセージ登録動作を示すフローチャートである。プレイヤーが店舗で魚を購入することによって、この処理がスタートする。プレイヤーが魚を購入すると(S40)、端末装置2は、この魚のメッセージ登録ウィンドウを表示する(S41)。このメッセージ登録ウィンドウには、捕獲条件入力部およびメッセージ本文入力部が設けられている。
【0072】
端末装置2は、まず捕獲条件の入力を受け付ける(S42)。捕獲条件は、上述したように図7 (A)に示すアバターの属性の全部または一部を指定するデータである。モニタ26に表示される入力ウィンドウには、例えば、図7(A)で示す情報が一覧表示され、この一覧の1カテゴリーから1選択肢を選択する操作をプレイヤーが行うことで捕獲条件が入力される。
【0073】
次に、端末装置2は、メッセージの入力を受け付ける(S43)。上述したように、入力を受け付けるメッセージの文字数は魚のサイズによって異なる。そして、アバターによってメッセージ魚の放流の動作が行われたとき(S44)、上記操作で生成されたメッセージ魚のデータ(メッセージデータ)を、ポータルサーバ1に送信して(S45)、動作を終了する。
【0074】
ここで、端末装置2からポータルサーバ1に送信されるメッセージデータは、アイテムID、サイズ、捕獲条件、メッセージ本文、放流位置等である。なお、これらのデータのうち、アイテムID、サイズは、アイテムデータから取得されて送信される。サイズについては、アイテムデータに含まれるアイテム種類データ(メッセージ魚では魚の種類を示す)から取得される。
【0075】
なお、プレイヤーの魚の購入後、即メッセージ登録ウィンドウが表示されなくてもよく、魚が一端アバターの持ち物として所持され、プレイヤーの表示操作を受け付けた場合に、メッセージ登録ウィンドウが表示されてもよい。
【0076】
ポータルサーバ1は、端末装置2から送信されてきたメッセージデータを受信する(S47)。そして、このメッセージデータを、サーバデータベースのメッセージデータ記憶部60に魚データとして登録する(S48)。すなわち、ポータルサーバ1は、受信したメッセージデータに魚IDを付して魚データを生成し、メッセージデータ記憶部60に登録する。この登録された魚データのID,位置データ,アイテムID,サイズデータ、捕獲条件及び位置情報は、図8(B)に示した定期的なデータ更新時に、他の各端末装置2に送信される。
【0077】
図11は、端末装置における魚捕獲処理動作すなわち釣り動作を示すフローチャートである。
プレイヤーが自己のアバターが所持している釣り糸を川や海に垂らしたとき(S49)、この動作がスタートする。まず、釣り糸を垂らした位置(ウキの位置)の情報を割り出す(S50)。そして、この位置情報に基づき付近に魚がいるか否かを検索する(S51)。この検索は、ポータルサーバ1からローカルデータベース21にダウンロードされている魚データの位置情報に基づいて判断する。付近に魚がいない場合には(S52でNO)、糸が引き上げられるまで(S53)、S50以下の動作を繰り返し実行する。アバターが釣り糸を移動させることがあるため、毎回位置情報は割り出される(S50)。
【0078】
一方、付近に魚がいる場合には、その魚と釣り糸(うき)との距離に応じた確率に基づいて、今回この魚が掛かる(食いつく)か否かを演算する(S54)。魚が掛からなかった場合には(S55でNO)、S50にもどって、S50以下の動作を再度実行する。したがって、付近に魚がいる場合には、その魚が遠くへ移動してしまわないかぎり、掛かるまで毎回S54の確率演算が実行される。
【0079】
ここで、上記魚と釣り糸(うき)との距離に基づく食いつきの確率は、魚とうきが同一セルにある場合には100%であり、1セルずれるごとに30%ずつ小さくなる。たとえば、うきが魚の隣のセルにある場合には確率70%となる。
【0080】
一方、魚が掛かったと判定された場合には(S55でYES)、捕獲中情報をポータルサーバ1に送信する(S56)。ポータルサーバ1では、他のアバターがこの魚を既に捕獲中か否かを判定し、他のアバターが捕獲中なければ捕獲許可情報を返信し、他のアバターが既に捕獲中の場合には捕獲不許可情報を返信してくる(図12(A)参照)。端末装置は、この捕獲許可/不許可情報を受信する(S57)。次に、この魚データのサイズおよび捕獲条件を読み出し、釣り竿の性能がこの魚のサイズに適合しているか、および、このアバターの属性が魚の捕獲条件に適合しているかを判定する(S58)。釣竿の性能と魚のサイズの適合を判断する理由は、釣竿の機能が複数ランク設定されており、釣竿のランク毎に釣り上げ可能な魚のサイズの限界値が設定されているからであり、このため、釣竿のランクによっては大きすぎで釣り上げることができない魚があるからである。なお、釣竿(アイテム)のID、このランク、及び上記魚サイズの限界値は、互いに対応付けてサーバデータベース11及びローカルデータベース21に記憶されている。こののち、画面のウキを動かしてプレイヤーに魚が掛かっている旨(引き)を表示する(S59)。
【0081】
メッセージ魚アイテム、釣り竿アイテムはともに店舗で販売されるアイテムであり、それぞれ価格の異なる複数種類がある。メッセージ魚は、価格の高いアイテムほど外観が大きく、書き込みのできるメッセージの文字数も多い。また、釣り竿アイテムは、価格の高いアイテムほど太く大きい魚を釣り上げることができる性能を有している。ステップS58では、釣り竿の太さが釣り上げようとしているメッセージ魚の大きさに適合しているか、すなわち、このメッセージ魚以上の大きさの魚を釣り上げ可能な太さであるかを判断し、適合しているときにYESの判断をする。
【0082】
なお、上記捕獲条件の適合/不適合の判定において、完全に適合していなくても、近似している場合には、ある程度の確率で適合と認めるようにしてもよい。すなわち、捕獲条件と属性が一致しないカテゴリーの選択肢リスト(図7(A)参照)において、捕獲条件と属性とが近い位置関係にあるとき、所定の確率で適合と判定するようにしてもよい。図7(A)に示す選択肢は、たとえば、年齢順(10代、20代、・・・)や地域順(北海道、青森、岩手、・・・)のように、近似するものから順にリスト化されている。したがって、捕獲条件と属性とが一致しない場合でも、図7(A)の選択肢リストにおける距離が近い場合には略一致と判断して、ある程度の確率で適合と判断する処理を適合判断の変形例とすることが可能である。
【0083】
この場合において、捕獲条件と属性との距離に応じて捕獲確率を決定してもよい。たとえば、捕獲条件が20代であった場合に、属性が20代(距離0)であれば捕獲確率100パーセント、属性が10代、30代(距離1)であれば捕獲確率50パーセント、属性が40代(距離2)であれば捕獲確率20パーセントとするなどである。
【0084】
なお、魚がかかるかどうかの判定方法は、上記に限定されない。すなわち、上記実施形態では、位置情報、捕獲条件、魚サイズに基づいて捕獲の成否を判定しているが、これらの条件の一部を用いてもよく、また、例えば魚データが魚種類を示すデータを含み、アバターが海で釣りをしている場合には、メッセージデータ記憶部60で記憶される海魚の魚でデータから抽選によって1の魚が選択されて掛かるようになっていてもよい。
後ろに下げました)
この引きに応じてプレイヤー(アバター)が、一定時間以内に釣り糸を引き上げたか否かを判断する(S60、S61)。一定時間以内に引き上げられなかった場合には(S60でNO、S61でYES)、魚が逃げた旨の処理を行って(S62)、動作をS50に戻す。
【0085】
また、引きが発生してから一定時間以内に釣り糸が引き上げられた場合には(S60でYES)、S57で受信した情報が捕獲許可情報であったか、および、S58で判定した釣り竿とサイズ、アバター属性と捕獲条件が適合しているかを判断し(S63)、この条件を満たした場合には(S63でYES)、釣り上げ処理(S64)を実行する。一方、S57で受信した情報が捕獲不許可情報であった場合またはS58の条件が適合していなかった場合には(S63でNO)、釣り糸を引き上げたが糸が切れて魚が逃げてしまった旨の処理を行って(S65)、動作を終了する。
【0086】
ここで、ステップS62の魚が逃げた旨の処理は、ウキの引き画像を停止するとともに、ポータルサーバ1に対して捕獲失敗情報を送信する処理である。また、ステップ65の糸が切れた旨の処理は、引き上げ途中で釣り糸の画像を消去してしまうとともに、ポータルサーバ1に対して捕獲失敗情報を送信する処理である。なお、切れてしまった釣り竿の糸は、次の使用時に自動的に復活する。
このように、この処理は、ステップS49で釣り糸を水中に垂らしたときスタートし、ステップS53またはステップS60で釣り糸を引き上げたことによって終了する。
【0087】
図12(A)は、端末装置2から捕獲中情報を受信したポータルサーバ1の動作を示すフローチャートである。端末装置から捕獲中情報を受信すると(S90:図11のS56に対応)、この捕獲中情報に含まれている魚IDに基づいてサーバデータベース11を検索し、この魚データの捕獲中フラグがセットされているか否かを判断する(S91)。他の端末装置において捕獲中でない場合にはこの捕獲中フラグがリセットされているため(S91でNO)、捕獲中フラグをセットしたのち(S92)、今回捕獲中情報を送信してきた端末装置に対して捕獲許可情報を送信する(S93)。一方、既に他の端末装置において捕獲中であった場合には捕獲中フラグがセットされているため(S91でYES)、今回捕獲中情報を送信してきた端末装置に対して捕獲不許可情報を送信する(S94)。
【0088】
同図(B)は、端末装置2から捕獲失敗情報を受信したポータルサーバ1の動作を示すフローチャートである。端末装置から捕獲失敗情報を受信すると(S95:図11のS62,S65に対応)、この捕獲中情報に含まれている魚IDに基づいてサーバデータベース11を検索し、この魚データの捕獲中フラグをリセットする(S96)。これにより、この魚が、再度捕獲可能になる。
【0089】
図13は、図11のS64の釣り上げ処理を示すフローチャートである。まず、ポータルサーバ1に対して捕獲成功情報を送信する(S70)。そして、これに対応してポータルサーバ1から、釣り上げた魚に書き込まれているメッセージ本文を受信する(S71)。次に、アバターの釣り上げ動作にしたがって、魚画像をモニタ26に表示し(S72)、この魚を所有アイテムとしてアイテムテーブルに登録する(S73)。次に、プレイヤー(アバター)によるメッセージ表示装置に対応して (S74)、メッセージ本文を表示する(S75)。プレイヤー(アバター)による表示消去操作があるまで(S76)、表示を継続し、消去操作があったとき(S76でYES)、表示を消去して (S77)、動作を終了する。
【0090】
ポータルサーバ1は、端末装置2から送信されてきた捕獲成功情報を受信して(S80)、この捕獲成功情報に含まれる魚IDで識別される魚データのメッセージ本文を読み出し(S81)、このメッセージ本文を端末装置2に対して送信する(S82)。こののち、この魚データを消去して(S83)、動作を終了する。この魚データの消去は、図8で示すS10によって、ポータルサーバ1から各端末装置2に通知され、この通知を受けた端末装置2はローカルデータベース21のメッセージデータ記憶部から対応する魚データを消去する。
【0091】
以上の処理により、釣り上げられた魚は、ポータルサーバが管理するメッセージから、アバターの所有するアイテムとなる。アバターは、この魚アイテムをクリックすることにより、その後何度でもメッセージを表示させることができる。また、このアイテムは他のアイテムと同様、売買,交換,捨てること等が可能である。
【0092】
≪他の実施形態≫
以上は、メッセージ魚について説明したが、次にメッセージ蝶々,メッセージボトルについて説明する。メッセージ蝶々,メッセージボトルは、それぞれメッセージ魚の変形例である。メッセージ蝶々,メッセージボトルは、それぞれ以下の点でメッセージ魚と異なっている。
【0093】
メッセージ魚は、川または海の水中を泳いでおり釣り上げるまで魚影としてしか見ることができないが、メッセージ蝶々は、全てのステージの空中を飛ぶことが可能であり、常に見ることができる。メッセージ魚は、選択条件として捕獲されるアバターの属性を設定可能であるが、メッセージ蝶々は、選択条件を設定できない。メッセージ魚は、魚が近くにいれば、アバターのスキルに関係なく釣り糸に掛かるが、メッセージ蝶々は、道具アイテムである虫取り網を上手く操作しないと蝶々を捕まえることができない。しかしながら、虫取り網を上手く操作することさえできれば、アバターはメッセージ蝶々を捕まえることができ、捕獲されるアバターの属性を選ばない。
なお、この実施形態では、蝶々を用いているが、空中を飛ぶ昆虫としては蝶々に限定されるものではなく、他の昆虫たとえはトンボなどを用いることができる。
【0094】
また、メッセージボトルは、街角に置かれていたり、海辺に打ち上げられていたりするものをアバターが拾い上げることができるため、取得(捕獲)にスキルは必要ないが、メッセージ魚と同様に、メッセージを読むことができるアバターの条件を設定することができる。この条件は、捕獲条件ではなく、捕獲した後にボトルの蓋を開けてメッセージを取り出すことができるための条件である。
【0095】
図14を参照して、メッセージ蝶々を用いてメッセージを受け渡す場合のプレイヤーの操作手順について説明する。
【0096】
同図(A)は、第1のアバターが蝶々にメッセージを書き込んで空中に放す手順を示したフローチャートである。まず、第1のアバターが店舗でメッセージを書き込むための蝶々を購入する(S220)。そして、この蝶々にメッセージを書き込む(S221)。そして、この蝶々を任意の場所で空中に放す(S222)。これにより、この蝶々は(ポータルサーバ1の制御により)自由に全てのステージを飛び回ることができる。
【0097】
同図(B)は、第2のアバターが虫取り網で虫取りをすることにより、蝶々を捕獲してそこに書き込まれているメッセージを読む手順を示すフローチャートである。第2のアバターが、虫取り網を持って(または虫取り網を購入して:S225)、町中や野原で蝶々を見つけ出す(S226)。そして、この蝶々を網の中に収めるように虫取り網を操作して蝶々を捕獲する(S227)。蝶々の捕獲は、アバター(プレイヤー)が虫取り網を振って蝶々を網の中に捕らえたとき、すなわち、アバターによって振られた虫取り網の軌跡上に蝶々が居た場合に成功する。蝶々を捕らえようとすれば、アバター(プレイヤー)は良いタイミングに良い位置に虫取り網を振らなければならないため、この蝶々の捕獲の成否にはアバター(プレイヤー)のスキルが反映される。なお、蝶々が捕獲されると、この蝶々に書き込まれているメッセージが表示される(S228)。
【0098】
なお、メッセージ蝶々は、空中を飛んでおり、常にアバター(プレイヤー)から見えているため、端末装置2は、ポータルサーバ1から通知された位置情報に基づいて蝶々を表示する処理を行う。
【0099】
同図(C)は、第2のアバター(プレイヤー)が蝶々の捕獲動作を行ったとき、すなわち、アバターが蝶々のいる場所に虫取り網を振ったときに実行される動作を示すフローチャートである。アバターが蝶々の捕獲動作を行うと、すなわちプレイヤーによる捕獲操作を受け付けると(S140)、端末装置2は、ポータルサーバ1に対して捕獲動作情報を送信して捕獲を許可するか否か、すなわち、既に(ポータルサーバ1から画像の更新情報を受信する前に)他のアバター(プレイヤー)が先に蝶々を捕獲しているか否かを問い合わせる(S141)。
【0100】
ポータルサーバ1は、この捕獲動作情報を受信して図12(A)のS91〜S94の処理を実行する。すなわち、先にこの蝶々を捕獲しているか否かをこの蝶々のデータの捕獲中フラグがセットされているか否かに基づいて判断し(S91)、他の端末装置で捕獲中でない場合にはこの捕獲中フラグをセットしたのち(S92)、端末装置に対して捕獲許可情報を送信する(S93)。一方、既に他の端末装置が捕獲中であった場合には、端末装置に対して捕獲不許可情報を送信する(S94)。
【0101】
端末装置2は、ポータルサーバ1から情報を受信し(S142)、この受信した情報が捕獲許可情報であった場合には(S143でYES)、捕獲成功処理を実行する(S144)。この捕獲成功処理は、図13のメッセージ魚の釣り上げ処理とほぼ同様であり、S72の魚画像を表示する動作に代えて、虫取り網の中に蝶々が捕獲されている画像を表示する。一方、ポータルサーバ1から受信した情報が捕獲不許可情報であった場合には(S143でNO)、端末装置2は、アバターが蝶々の捕獲を失敗した画像(蝶々が網から逃げた画像)を表示して(S145)動作を終了する。
【0102】
メッセージ蝶々には捕獲条件が設定されないため、メッセージ魚の捕獲条件とアバターの属性とが合致する否かの判定(図11のS58、S63)は行われない。また、端末装置2は、捕獲許可情報を受信した場合、例外なく捕獲成功処理に進み(S143参照)、一端捕獲した蝶々を取り逃がすことがないため、ポータルサーバ1が図12(B)の処理を実行することはない。
【0103】
図15は、メッセージボトルを用いてメッセージを受け渡す場合のプレイヤーの操作手順を示すフローチャートである。同図(A)は、第1のアバターがメッセージを書き込だメモを封入したボトルを放流するまたは街角におく手順を示したフローチャートである。まず、第1のアバターが店舗でメッセージを書き込むボトルとメモを購入する(S230)。そして、メモにメッセージおよびこのメッセージを読んでもらいたいアバターの属性を書き込んでボトルに封入する(S231)。そして、このボトルを流す場合には、ボトルを持って川や海へ移動し(S232)、ボトルを川または海に流す(S233)。これにより、ボトルは(サーバコンピュータの制御により)漂流し、どこかの岸に漂着する。なお、ボトルの漂流制御を行わず、所定の漂流ポイントから1のポイントが抽選されて、このポイントにボトルを配置する等してもよい。また、ボトルを流さない場合には、街角等の任意の場所に置くことができる(S234)。この場合、ボトルは移動せず誰かが拾い上げるまで同じ位置にあり、ボトルを置いたアバターが、誰が拾い上げるか見届けることができる。
【0104】
同図(B)は、第2のアバターを操作する端末装置において、第2のアバター(プレイヤー)がボトルを拾い上げる操作が行われたときに実行される動作を示すフローチャートである。第2のアバターが海岸または街角でボトルを拾う操作がされると(S150)、端末装置2は、ポータルサーバ1に対して拾い上げ動作情報を送信してこの拾い上げを許可するか否か、すなわち、既に(ポータルサーバ1から画像の更新情報を受信する前に)他のアバター(プレイヤー)が先にボトルを拾い上げているか否かを問い合わせる(S151)。
【0105】
ポータルサーバ1は、この捕獲動作情報を受信して図12(A)のS91〜S94の処理を実行する。すなわち、先にこのボトルを拾い上げているか否かをこのボトルのデータの取得中フラグがセットされているか否かに基づいて判断し(S91)、他の端末装置で取得中でない場合にはこの取得中フラグをセットしたのち(S92)、端末装置に対して取得許可情報を送信する(S93)。一方、既に他の端末装置が取得中であった場合には、端末装置に対して取得不許可情報を送信する(S94)。
【0106】
端末装置2は、ポータルサーバ1から情報を受信し(S152)、この受信した情報が取得許可情報であった場合には(S153でYES)、ステップS155以下の動作を実行する(後述)。一方、ポータルサーバ1から受信した情報が取得不許可情報であった場合には(S153でNO)、端末装置2は、アバターがボトルの拾い上げに失敗した画像(ボトルが手から滑り落ちた画像)を表示して(S154)動作を終了する。
【0107】
ステップS155以下の動作は以下のとおりである。端末装置2は、アバターがボトルの拾い上げに成功した画像を表示する(S155)。こののち、アバターによって、ボトルの蓋開け操作が行われるか(S156)、または、このボトルが再び海岸や街角に置かれるまで(S157)、待機する。
【0108】
ボトルの蓋開け操作が行われた場合(S156でYES)には、拾い上げたアバターの属性がこのボトルのメッセージに設定されている開蓋条件に合致するか否かによって決定される。この属性と開蓋条件との一致/不一致をステップS158で判定し、この条件が合致した場合には(S159でYES)、蓋開け成功処理を実行する(S160)。この蓋開け成功処理は、図13のメッセージ魚の釣り上げ処理とほぼ同様であり、S72の魚画像を表示する動作に代えて、ボトルの蓋が開き、中のメモに書き込まれているメッセージを表示する画像が表示される。
また、アバター(プレイヤー)がこのボトルを再び海岸や街角に置く動作をした場合には(S157でYES)、蓋開け失敗処理を実行して(S161)動作を終了する。
【0109】
ステップS161の蓋開け失敗処理は、ボトルの画像をアバターの足元の仮想社会に表示とともに、ポータルサーバ1に対して蓋開け失敗情報を送信する処理である。この蓋開け失敗情報を受信したポータルサーバ1は、メッセージ魚の場合と同様に図12(B)の処理を実行する。
【0110】
このように、メッセージボトルは、どのアバターでも道具なしで拾い上げることができる。また、拾い上げたのち、開蓋条件に合致する場合のみ蓋を開いてメッセージを読むことができる。
【0111】
また、メッセージボトルの場合、漂流しているか岸に漂着しているかで処理が異なるため、常に回遊しているメッセージ魚の場合の処理である図8のS9に代えて図16の処理を実行する。図16において、まずボトルが漂流中であるかを判断する(S100)。漂流中であるか否かは、データベースに登録されるボトルデータに設けられた漂着フラグによって判断する。漂着フラグは、ボトルが岸に漂着したとき、または、街角等に置かれたときセットされるフラグである。
【0112】
漂流中の場合、すなわち漂着フラグがリセットしているときは、このボトルの漂流位置を表す位置データを更新する(S101)。この位置データは、次のデータ更新時に各端末装置に配信される。そして、今回の移動によって岸に漂着したかを判断する(S102)。岸に漂着したか否かは、データベースのマップデータと今回更新された位置データを対比して判断する。漂着した場合には(S102でYES)、漂着フラグをセットして(S103)動作を終了する。この漂着フラグのセットは、次回のデータ更新時に各端末装置に配信される。一方、未だ岸に漂着していない場合には(S102でNO)、そのまま動作を終了する。
【0113】
なお、上述した実施形態及び変形例では、メッセージが対応付けて登録されるアイテムは、魚、蝶々及びボトルであるが、アイテムの種類はこれに限定されず、仮想社会に存在するアイテムであればよい。
【0114】
≪ロバの耳井戸≫
次に、図17,図18を参照してロバの耳井戸について説明する。上に述べたアバターの活動を介したコミュニケーション手段である「メッセージ魚」、「メッセージ蝶々」、「メッセージボトル」は、それぞれメッセージが書き込まれたオブジェクト(魚,蝶々,ボトル)を1人のアバターに捕獲してもらい、そのアバター(プレイヤーまたは端末装置)のみにメッセージを表示するものであったが、ロバの耳井戸は、適当なタイミングに間欠泉のように井戸からメッセージが吹き出し、そのとき井戸の周辺にいるアバターが読むことができるものである。
【0115】
図17(A)は、ネットワークゲームにおけるロバの耳井戸のメッセージの入力と出力の手順を示すフローチャートである。アバターが井戸端へ行き(S240)、メッセージを入力する(S241)。井戸へのメッセージの入力は井戸に向けて内緒話(王様の耳はロバの耳)を吹き込む動作を転用したもの(メタファ)であるが、このゲームでは、メッセージの入力は、井戸をクリックすることにより表示されるメッセージ入力ウィンドウに、メッセージをテキストで打ち込むことによって行われる。メッセージの入力は、多くのアバターによって複数回行われ、間欠的にランダムに選択されたメッセージが井戸から出力される(S242)。メッセージの出力は、井戸から声が聞こえてくるような態様で表示される吹き出しウィンドウ内に表示されることで行われる。なお、井戸に入力されるメッセージとして、端末装置2にマイクを設け、テキストデータに代えて実際に音声データが吹き込まれるようにしてもよい。
【0116】
なお、この井戸へのメッセージの入力は、上述したメッセージ魚,メッセージ蝶々,メッセージボトルと異なり無料であるため、同じアバターが何度も繰り返しメッセージを入力してしまうおそれがある。そこで、入力されたメッセージに録音時刻とアバターのIDを付加しておき、同じアバターが何度もメッセージを入力できない(たとえば1日1回程度)ようにしてもよい。
【0117】
図17(B)は、サーバデータベース11に登録される井戸メッセージデータの構成を示す図である。井戸メッセージデータは、この移動メッセージデータを識別するための情報であるメッセージID、この井戸メッセージデータが入力された井戸を識別するための情報である井戸ID、この井戸メッセージの録音時刻、表示可能フラグ、および、メッセージ本文を有している。表示可能フラグは、このメッセージが表示可能に選択された旨を示すフラグである(詳細は後述する)。
【0118】
このネットワークゲームの仮想社会には、メッセージを入力することができる井戸が複数存在しており、ゲーム進行管理部12は、メッセージの録音時刻および井戸IDに基づいて、間欠的にどのメッセージを出力するかを決定する。
【0119】
図18(A)は、井戸メッセージ入力時のコンピュータシステムの動作を示すフローチャートである。端末装置2において、アバターによって井戸がクリックされるとこの動作が実行される。アバターが移動クリックすると(S110)、メッセージの入力ウィンドウを表示する(S111)。この入力ウィンドウは、井戸からの吹き出しウィンドウの形状で表示される。アバター(プレイヤー)によってメッセージが入力されると(S112)、吹き出しウィンドウを井戸に吸い込まれるように消去し(S113)、井戸のID、録音時刻等の情報を添えてポータルサーバに送信する(S114)。
ポータルサーバ1は、端末装置2から送信されてきたメッセージを受信して(S115)、井戸メッセージデータとしてデータベースに登録する(S116)。
【0120】
同図(B)は、井戸メッセージ出力時のコンピュータシステムの動作を示すフローチャートである。ポータルサーバ1のゲーム進行管理部12は、定期的に井戸メッセージデータを選出する(S120)。この選出は、ランダムに行うが古いメッセージを優先的に出力するように録音時刻を参照して選出してもよい。メッセージが選出されると、保存時間の計時を開始するとともに、この井戸メッセージデータを表示可能に設定する、すなわち表示可能フラグをセットする(S121)。表示可能に設定されたメッセージは、次の定期的なデータ更新時に、このメッセージを出力する井戸と同じステージにいるアバターの端末装置に対して送信される。なお、井戸と同じステージにいるアバターではなく、井戸周辺の所定のエリア(井戸を表示画面に表示可能なエリア)に居るアバターを選出してもよい。そして、この選出されたメッセージについて、選出から一定の保存時間が経過するまで待機し(S122)、保存時間が経過すると(S122でYES)、この井戸メッセージデータ(表示可能 フラグがセットされている井戸メッセージデータ)を消去する(S
123)。保存時間は、概ね2時 間程度である。なお、上記一定期間内にこのステージ
移動してきたアバターがあった場合には、そのアバターの端末装置に対してもこの井戸メッセージは送信される。
【0121】
同図(C)は、井戸メッセージを受信した端末装置2の動作を示すフローチャートである。端末装置2では、井戸メッセージを受信すると保存時間の計時を開始し、保存時間が経過するまで、一定時間ごとに間欠的に井戸メッセージを表示する。ステップS130、S131の待機ルーチンで、表示時刻が到来するか(S130)、保存時間が経過するか(S131)を判断する。
【0122】
表示時刻が到来した場合には(S130でYES)、受信した井戸メッセージを井戸から吹き出しているような吹き出しウィンドウで表示する(メッセージデータが音声データの場合には再生する)(S132)。この表示は、井戸の上のオブジェクトとして表示するものであるため、同じステージであっても井戸の見えない位置にアバターがいる場合には、実際にモニタ26には表示されない。一定の表示時間(たとえば5分)が経過すると(S133)、このウィンドウ表示を消去して(S134)、上記待機ルーチンにもどる。
一方、保存時間が経過した場合には(S131でYES)、受信した井戸メッセージを消去して (S135)、動作を終了する。
【0123】
なお、井戸は仮想社会に複数配置されているが、選出されたメッセージが、いずれか1つの井戸 (一般的には録音された井戸)から吹き出し表示されるようにしてもよく、複数の井戸で同時に表示されてもよい。また、S120における井戸メッセージデータの選出は、全ての井戸の井戸メッセージデータの中から1または複数を選出してもよく、各井戸から入力されたメッセージの中からそれぞれ1または複数選出するようにしてもよい。また、定期的な選出の中に空選出(0個の選出)の回があってもよい。また、入力された井戸と異なる井戸から出力するべくメッセージを選出してもよい。なお、井戸は仮想社会にひとつだけ配置されていてもよい。
【0124】
なお、本実施形態(ロバの耳井戸)では、井戸メッセージが、所定の表示時刻が到来する毎に表示されるようになっているが、井戸メッセージの表示タイミングは、これに限定されない。例えば、アバターが井戸に対して特定の動作をしたとき、すなわち、端末装置2が、プレイヤーから特定の操作を受け付けたとき、井戸メッセージが表示されるようにしてもよい。たとえば、アバターが井戸を覗き込んだとき(プレイヤーが井戸をダブルクリックしたとき)、その操作のあった端末装置2だけで、井戸メッセージが表示されるようにしてもよい。この場合、図18(C)のS130は、アバターの覗き込み動作(プレイヤーによる特定操作)を判断する判定動作とすればよい。
【0125】
なお、本実施形態(ロバの耳井戸)は、井戸からメッセージが表示される構成であるが、メッセージが表示される仮想建造物は井戸でなくてもよく、例えばトイレ等であってもよい。また、仮想建造物でなくても湖や池等、または、電話機等の仮想オブジェクトであってもよい。
【0126】
実施形態(ロバの耳井戸、メッセージ魚)において、コンピュータシステムを構成するサーバは、ポータル機能を実行するものであり、ゲーム内容はこのポータル機能と関連づけられたものであるが、この構成に限定されない。本実施形態にかかるゲームは、ロールプレイングゲームや、アクションゲーム等の他の種類のゲームであってもよく、仮想社会内においてアイテムを表示可能に所有させたアバターを活動させることができるゲームであればよい。
【0127】
なお、コンピュータシステムのシステム構成はこれに限定されず、ポータルサーバを複数の装置で構成してもよい、また商品販売サーバとしての機能も備え、現実の商品をポータルサーバで販売することができてもよい。
【0128】
なお、「アバター」とは、一般的にゲームキャラクタを含まないが、本発明においてはプレイヤーの操作によって動作するゲームキャラクタを含む。
【符号の説明】
【0129】
1…ポータルサーバ
2…端末装置
11…サーバデータベース
12…ゲーム進行管理部
21…ローカルデータベース
25…ゲーム進行管理部
30…仮想社会記憶部
60…メッセージ記憶部
【技術分野】
【0001】
この発明は、複数のアバターが登場する仮想社会内で、アバター間でメッセージを交換するためのプログラムおよびこのプログラムを実行するコンピュータシステムに関する。
【背景技術】
【0002】
近年、例えばMMORPG(MMORPG:Massively Multiplayer Online Role-Playing Game)等のインターネットを介して多人数が参加するネットワークゲームが普及している(たとえば非特許文献1)。
【0003】
この種のネットワークゲームでは、複数のプレイヤーが、それぞれ端末装置を操作して仮想社会に自己のキャラクタであるアバターを登場させ、互いに会話をしたり、一緒にゲームをしたりすることができる。
【0004】
【非特許文献1】“ハンゲームガイド”、[online]、NHN Japan 株式会社、[平成19年2月9日検索]、インターネット<URL:http://www.hangame.co.jp/guide/index.asp?Content=avatar>
【発明の開示】
【発明が解決しようとする課題】
【0005】
従来、パーソナルコンピュータ,ネットワークを用いたコミュニケーション手段としては、メール,チャット等が知られている。これらは、特定の相手に向けたものであり、不特定の限られた人に向けたコミュニケーション手段は存在しなかった。また、従来より、公衆に向けてメッセージを発信する機能として掲示板が知られているが、この掲示板は、不特定多数の公衆に向けてメッセージを発信するものであり、掲示板にアクセスする人全てがメッセージを閲覧することができるものであり、やはり不特定の限られた人に向けてメッセージを発信できるものではなかった。
【0006】
また、上記ネットワークゲームにおいて、メッセージの受け渡しを直接的な目的としないアバターの活動の中でメッセージの受け渡しを実現するという、ゲーム的な要素を取り入れたコミュニケーション手段は存在しなかった。
この発明は、ネットワークゲームの仮想社会におけるアバターの活動をとおして、不特
定の限られた人に対してメッセージの受け渡しを実現するプログラムを提供することを目的とし、また、このプログラムを実行するコンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本願発明の第1の側面によって提供されるゲームプログラムは、複数の端末装置がネットワークで接続されたコンピュータシステムに、以下の手順を実行させることを特徴とする。
複数の端末装置によってそれぞれ操作される複数の仮想のキャラクタ(アバター)と、仮想オブジェクトと、を含む仮想社会を生成する仮想社会生成手順
仮想社会を各端末装置の表示部に表示させる表示手順
特定の端末装置から、仮想オブジェクトに対応づけたメッセージの入力操作を受け付けたときに、このメッセージを仮想オブジェクトに対応づけて登録するメッセージ登録手順
メッセージが登録された仮想オブジェクトを、複数のアバターのうちの1つである不特定アバターの取得動作に応じて、該不特定アバターに取得および占有させる取得手順
この不特定アバターによって仮想オブジェクトが占有されているとき、この不特定アバターを操作する端末装置にメッセージを出力可能にするメッセージ出力許可手順
不特定アバターを操作する端末装置からの操作により、取得動作に応じて不特定アバターに占有されている仮想アイテムの占有を解除して他の不特定アバターが取得可能な状態にもどす占有解除手順
【0008】
上記発明において、メッセージが登録された仮想オブジェクトを仮想社会内で移動させる移動手順を、コンピュータシステムに更に実行させてもよい。
【0009】
上記発明において、仮想社会生成手順は、属性が付与されたアバターを生成する手順を含み、メッセージ登録手順は、メッセージとともに属性を登録する手順を含み、取得手順は、仮想オブジェクトに対応付けて登録されている属性と一致する属性が付与された不特定アバターのみに仮想オブジェクトの取得を可能にする手順を含んでいてもよい。
【0010】
上記発明において、仮想アイテムの購入操作が行われた端末装置を特定の端末装置としてもよい。
【0011】
本願発明の第2の側面によって提供されるコンピュータシステムは、上記のプログラムを記憶する記憶部と、前記プログラムを実行するコンピュータと、を備えたことを特徴とする。
【発明の効果】
【0012】
この発明によれば、メッセージが登録された仮想オブジェクトが取得されたとき、その仮想オブジェクトを取得したアバターに対してメッセージを出力可能にすることにより、不特定の限定された人に対してメッセージを発信することが可能になる。また、仮想建造物や仮想オブジェクトに登録したメッセージが仮想建造物や仮想オブジェクトから出力される態様で出力されることにより、そのときその場に居合わせた不特定の限定された少数アバターに対してメッセージを伝えることができる。これにより、従来のメール,チャット,掲示板にはない、偶然性を用いた不特定の限定された人に対するメッセージの伝達が可能になる。
【0013】
この発明は、たとえば釣りや蝶々取り等の仮想社会内での(直接的なコミュニケーションではない)活動を通して、メッセージの受け渡しができるため、ネットワークゲームの趣向性を損なわずに他のプレイヤーとのコミュニケーションをとることが可能になる。
【図面の簡単な説明】
【0014】
【図1】この発明が適用されるコンピュータシステムで実行されるネットワークゲームのステージとなる仮想社会の一例を示す図
【図2】前記仮想社会の画面表示例を示す図
【図3】アバターの例を示す図
【図4】ゲームにおいてメッセージ魚へのメッセージの書き込み・捕の手順を示すフローチャート
【図5】前記ネットワークゲームを実行するコンピュータシステムの構成を示す図
【図6】ポータルサーバに設けられるサーバデータベースを示す図
【図7】ポータルサーバに設けられるサーバデータベースを示す図
【図8】ログイン時およびデータの定期更新時のコンピュータシステムの動作を示すフローチャート
【図9】アバターの動作制御処理を示すフローチャート
【図10】メッセージ登録時の動作を示すフローチャート
【図11】魚捕獲(釣り)動作時の端末装置の動作を示すフローチャート
【図12】魚捕獲(釣り)動作時のポータルサーバの動作を示すフローチャート
【図13】釣り上げ成功時のコンピュータシステムの動作を示すフローチャート
【図14】ゲームにおいてメッセージ蝶々へのメッセージの書き込み・捕獲の手順を示すフローチャート
【図15】ゲームにおいてメッセージボトルへのメッセージの書き込み・捕獲の手順を示すフローチャート
【図16】メッセージボトルの位置情報更新手順を示すフローチャート
【図17】ゲームにおいてロバの耳井戸へのメッセージの入力・出力の手順を示すフローチャート
【図18】ロバの耳井戸へのメッセージ入力・出力を実行するためのコンピュータシステムの処理手順を示すフローチャート
【発明を実施するための形態】
【0015】
<<ゲームの概要説明>>
まず、この発明が適用されたコンピュータシステムで展開されるオンラインゲームについて説明する。
このゲームは、ポータルサーバと、端末装置であるパーソナルコンピュータとをインターネット等のネットワークを介して接続したコンピュータシステムで実行される多人数同時参加型のネットワークゲームであり、ポータルサーバや端末装置の情報処理機能(特に画像処理機能)を用いて仮想的に創り出された仮想社会に、各端末装置の利用者であるプレイヤーが、その端末装置を介して操作する仮想のキャラクタであるアバターを登場させ、このアバターを仮想社会に住まわせたり、種々の活動をさせるゲームである。なお、この実施形態の説明では、プレイヤーの操作を、適宜アバターの活動として表現する場合がある。
【0016】
仮想社会は、複数のステージからなり、アバターは、1つのステージ内で移動可能であるとともに、各ステージ間を移動することもできる。各ステージは、懐かしい街、近代的な街、海岸、野原等それぞれ独自に特徴づけされている。
【0017】
本コンピュータシステムにおいて、ポータルサーバはポータルサイトを運営するとともに、このポータルサイトにログインした端末装置上で上記ゲームのゲーム画像を表示する。これによって、ポータル機能と連携したゲーム画像を表示することができ、興趣性の高いポータルサイトを提供することができる。例えば、ゲームの仮想社会の店舗やアイテムにリンクが設定されており、プレイヤーがマウスクリック等により店舗やアイテムを選択すると、ポータルサーバは、そのプレイヤーの端末装置をリンク先に接続する。また、プレイヤーが、ポータルサイトで検索を行うと、端末装置には、検索内容に対応する仮想社会の領域が検索結果として表示される。例えば、「ゲーム」で検索を行った場合に、ゲームに関連するサイトの一覧が表示されるとともに、仮想社会におけるゲームセンタ等が表示される。
【0018】
このネットワークゲームにおいて、アバターは、プレイヤーによる端末装置の操作に対応して、仮想社会内を移動する。また、アバターは、服や眼鏡等種々のアイテムを着用する。このアイテムも仮想社会内でアバターが着用する仮想のアイテムである。プレイヤーは、自己のアバターに種々のアイテムを着用させることにより、アバターを自分の気に入った外観で仮想社会で活動させることができる。プレイヤーは、これらのアイテムを、仮想社会内に設置されている店舗で購入したり、他のアバターから貰う・交換する等により、自己のアバターのために入手することができる。アイテムの購入には、この仮想社会内で通用する仮想通貨が使用される。
【0019】
また、このオンラインゲームにおいては、以下の種々の方法を用いてアバターがメッセージを発信することができる。
(1)メッセージ魚:メッセージを書き込んだ魚を川や海に放し、これを釣り上げた他のアバターがメッセージを読むことができるもの
(2)メッセージ蝶々:メッセージを書き込んだ蝶々を放し、これを捕獲した他のアバターがメッセージを読むことができるもの
(3)メッセージボトル:メッセージを書き込んだメモを入れたボトルを川や海に流し(または街角に置き)、漂着したボトルまたは街角に置かれたボトルを拾い上げた他のアバターがメッセージを読むことができるもの
(4)ロバの耳井戸:井戸に複数のメッセージが入力され、所定のタイミングにランダムに選択されたメッセージが井戸から吹き出し表示され、その場に居るアバターが見ることができるようにしたもの
これらのメッセージ発信手段は、それぞれ特定の相手(アバター)に向けたものではなく、いつ誰が読むか判らない偶然性を持ったメッセージ発信手段である。また、オンラインゲーム中のアバターの日常動作(たとえば釣りや虫取り等)を介してメッセージの受け渡しを可能にしたものである。
【0020】
<<ゲームの詳細説明>>
以下、図面を参照してゲームについて詳細に説明する。
前記ポータルサーバと複数の端末装置とで創り出される仮想社会は、複数のステージで構成される。各ステージは、たとえば家や店舗のある街、川が流れている野原、海岸等それぞれ異なる態様にされている。
【0021】
図1は、このうち街のレイアウトを俯瞰的に示す図である。この街には、電車の駅100や各種の商品を販売している店舗101や公園102等がレイアウトされている。この実施形態では、1つのステージは、200セル×200セルの40000セルで構成されている。
【0022】
プレイヤーがこのネットワークゲームにログインすると、そのプレイヤーのアバターが電車の駅100に立っているところからゲームがスタートする。プレイヤーは、自己のアバターをこの街の中で移動させて店舗101や公園102等を訪れさせることができる。また、自己のアバターを電車103に乗せて他のステージに移動させることもできる。
【0023】
図2は、図1に示したステージ「街」のモニタ表示例を示す図である。各端末装置のモニタ26には、図1に示した街の一部の風景がほぼ水平の視線で表示されるため、このような画面となる。この図は、図1の店舗101A(たばこや)付近の風景を示している。ここには、自己のアバター110および複数の他人アバター111が表示されている。プレイヤーは、画面上をマウスクリックすることで、自己のアバター110をそのマウスクリックの方向に移動(歩行)させることができる。また、プレイヤーが店舗101Aをマウスクリックすることにより、自己のアバター110をこの店舗101Aに入店させることができる。さらに、プレイヤーが電車103をクリックすることにより、自己のアバター110を電車103に乗せて、他のステージに移動させることができる。
【0024】
図3は、プレイヤーが操作する仮想キャラクタであるアバターの一例を示す図である。同図のアバターは男性のアバターを示している。アバターは、図2の自己のアバター110に示したような基本形状(素体)をしており、この素体120の上に、プレイヤーの操作により、各種のアイテムが付加されて同図のような外観のアバターが構成される。この図では、素体120に、カツラ(髪形)121、眼鏡122、Tシャツ123、ジャケット124、パンツ125、靴126のアイテムを着用させて、図示のような外観に仕上げられている。なお、これら各種アイテムは、上述したメッセージ魚、メッセージ蝶々、メッセージボトルと同様に、仮想社会内の店舗から購入されるものである。
【0025】
このオンラインゲームでは、上述したように、直接的にメッセージを発信するための活動でないアバターの活動を介して、他のアバターに対してメッセージを発信することができる。以下の実施形態では、魚アイテム(メッセージ魚)を用いたメッセージの発信について説明する。
【0026】
図4は、メッセージ魚を用いてメッセージを受け渡す場合のプレイヤーの操作手順を示すフローチャートである。同図(A)は、第1のアバターが魚にメッセージを書き込んで放流する手順を示したフローチャートである。まず、第1のアバターが店舗でメッセージを書き込むための魚を購入する (S201)。そして、この魚にメッセージおよびこのメッセージを読んでもらいたいアバターの属性を書き込む(S202)。そして、この魚を持って川や海へ移動し(S203)、この魚を放流する(S204)。これにより、魚は(サーバコンピュータの制御により)川や海等の水域を自由に回遊する。
【0027】
同図(B)は、第2のアバターが釣りをすることにより、魚を釣り上げてそこに書き込まれているメッセージを読む手順を示すフローチャートである。第2のアバターが、釣り竿を購入する等して、釣り竿を持って(S210)、川や海へ行く(S211)。そして、釣り糸を水中に下ろす(S212)。そうすると、近くに居る魚が食いつくので、引きを確認したときに(S213)、釣り糸を引き上げる(S214)。これにより、魚がつり上がる。そして、この魚に書き込まれているメッセージが表示される(S215)。なお、魚を釣り上げることができた場合に、即メッセージが表示されるのではなく、アバターが一端魚を持ち物として所持し、プレイヤーの表示操作があったときにメッセージが表示されてもよい。
【0028】
以下、上記のようなゲームの進行を実現するためのコンピュータシステムの動作について説明する。
【0029】
<<システム構成の説明>>
図5は、上記ネットワークゲームを実行するコンピュータシステムの構成を説明する図である。このコンピュータシステムは、ポータルサーバ1、複数の端末装置2がインターネット3を介して接続されて構成されている。ポータルサーバ1は、一般的なサーバコンピュータまたはワークステーションで構成すればよく、端末装置2は、一般的なパーソナルコンピュータで構成すればよいため、そのハードウェア構成の詳細説明は省略する。
【0030】
ポータルサーバ1は、仮想社会や複数のアバターのデータを蓄積記憶したサーバデータベース11(図6、図7参照)、このネットワークゲームの全体進行を制御管理するゲーム進行管理部12、店舗においてアバターに対するアイテムの販売およびアフィリエイトの発行を制御管理するアイテム販売管理部13、および、端末装置2等との通信を制御する通信制御部14を備えている。ゲーム進行管理部12は、ゲーム進行管理プログラムによるゲーム進行管理処理が、ポータルサーバ1のCPU等のハードウェア資源によって実現された機能部である。アイテム販売管理部13は、アイテム販売管理プログラムによるアイテム販売管理処理が、ポータルサーバ1のCPU等のハードウェア資源によって実現された機能部である。また、通信制御部14は、通信制御プログラムによる通信制御処理が、ポータルサーバ1のCPU、通信関連周辺機器等のハードウェア資源によって実現された機能部である。
【0031】
端末装置2は、自機においてネットワークゲームを進行させるためのデータを記憶するローカルデータベース21、モニタ26にゲーム画面を表示させる表示制御部22、端末装置2の利用者であるプレイヤーの操作を受け付ける操作管理部23、ポータルサーバ1等との通信を制御する通信制御部24、および、自機においてゲームの進行を制御するゲーム進行管理部25を備えている。表示制御部22にはモニタ26が接続される。表示制御部22は、表示制御プログラムによる表示制御処理が、端末装置2のCPU等のハードウェア資源によって実現された機能部である。操作管理部23は、操作管理プログラムによる操作管理処理が、端末装置2のCPUやマウス・キーボード等の周辺機器等のハードウェア資源によって実現された機能部である。また、通信制御部24は、通信制御プログラムによる通信制御処理が、周辺機器2のCPU、通信関連周辺機器等のハードウェア資源によって実現された機能部である。ゲーム進行管理部25は、ゲーム進行を制御するプログラムによるゲーム進行制御処理が、端末装置2のCPU等のハードウェア資源によって実現された機能部である。
【0032】
端末装置2において、このネットワークゲームは、インターネットブラウザで表示されるものとしてもよく、独立したアプリケーションプログラムで実行されるものとしてもよい。インターネットブラウザで表示されるものとした場合、ゲームプログラム(表示制御プログラム、操作管理プログラム、通信制御プログラム等)は、インターネットブラウザのプラグインとして提供される。これらのプログラムは、CD−ROM等のメディアを用いて端末装置2に予めインストールされていてもよいが、インターネットブラウザのプラグインとして提供される場合等は、端末装置2が最初にポータルサーバ1にログインしたときにポータルサーバ1から自動的にダウンロードされるようにしてもよい。また、ローカルデータベース21は、上記プログラムと同時に構築されるようにすればよい。ローカルデータベース21や各プログラムは、端末装置2がポータルサーバ1にログインする都度、最新のものがポータルサーバ1からダウンロードされて更新される。
【0033】
操作管理部23は、プレイヤーの操作を監視し、検出した操作内容で、自装置における自己のアバターのデータを更新するとともに、この操作内容を表す操作情報を通信制御部24を介してポータルサーバ1に送信する。ポータルサーバ1(ゲーム進行管理部12)は、各端末装置2から送られてきた操作情報に基づいて各プレイヤーのアバターを活動させるようにゲームの進行を管理する。このゲームの進行の管理は、仮想社会の状態を全て記憶するサーバデータベース11の内容を、そのときの仮想社会の状態に合うように更新することによって行われる。ポータルサーバ1のゲーム進行管理部12は、データベース11の更新情報を定期的に各端末装置2に送信する。各端末装置2(各ゲーム進行管理部25)は、ポータルサーバ1から送られてきた更新情報に基づいてローカルデータベース21を更新するとともに、これに合わせて画面表示を更新することによってゲームを進行させる。
【0034】
ポータルサーバ1のアイテム販売管理部13は、いずれかのプレイヤー(端末装置2)で操作されるアバターが仮想社会に設けられている店舗を訪問したときに機能する。アイテム販売管理部13は、店舗を訪問したアバターを操作する端末装置2に対してその店舗の販売アイテム情報を送信したり、アバター(プレイヤー)がアイテムを購入したときには、そのアイテムをそのプレイヤーの所有アイテムテーブルに登録し、所有仮想通貨からそのアイテムの価格分を減算する。
【0035】
図6、図7は、サーバデータベース11の構成を示す図である。サーバデータベース11は、仮想社会の構成を記憶する仮想社会データ記憶部30、複数のアバターについてのデータを記憶するアバターデータ記憶部40、この仮想社会で販売・所有・着用される複数のアイテムについてのデータを記憶するアイテムデータ記憶部50、および、アバターが発信したメッセージを記憶するメッセージデータ記憶部60を有している。
【0036】
仮想社会記憶部30は、複数のステージの各々の構成を記憶するステージデータ記憶部31、各ステージに立っている家や駅や公園等の建物のデータを記憶する建物データ記憶部32、店舗で販売されるアイテムを管理する販売アイテムデータ記憶部33を有している。アバターデータ記憶部40は、ポータルサーバ1に登録されている各アバター毎の情報を記憶するプレイヤーデータ記憶部41、アバターの素体画像を記憶するアバター素体画像データ記憶部42を有している。
【0037】
ステージデータ記憶部31は、各ステージごとに設定されたステージデータをステージ分記憶している。各ステージデータは、そのステージの名称(たとえば「懐かしい街」等)を示すステージ名称データ、そのステージにおける建物などの配置が書き込まれたマップデータおよびこのマップデータ上に配置される建物を指定する建物指定データ等を含んでいる。
【0038】
建物データ記憶部31は、各建物ごとに設定された建物データを各建物の分だけ記憶している。各建物データは、建物の名称(例えば、「○○デパート」等)を示す建物名称データ、その建物の外観の画像である建物画像データ、建物の種類データ(店舗、民家、入室可能か否か等)、入室可能な建物の場合には内部レイアウトデータ、さらに、アイテムを販売する店舗の場合には、販売アイテムを指定するアイテム指定データを含む。なお、建物データは、構造物だけに限らず道端の露店のようなものについても設定されている。
【0039】
販売アイテムデータ記憶部33は、この仮想社会のいずれかの店舗で販売されるアイテムごとに設けられる販売アイテムデータを記憶している。各販売アイテムデータは、そのアイテムをアイテムデータ記憶部50に記憶されているアイテムから指定するアイテム指定データおよびそのアイテムの価格を示す価格データを含んでいる。
【0040】
アイテムデータ記憶部50は、各アイテムごとに設定されたアイテムデータを記憶している。各アイテムデータは、そのアイテムを識別するためのアイテムID、アイテムの名称(「赤い傘」等)を示すアイテム名称データ、アイテムの外観等を表すアイテム画像データ、そのアイテムがアバターのどこに着用されるか等を指示するアイテム種類データ等を含んでいる。
【0041】
なお、このゲームでアバターが着用するアイテムは、衣類に限定されず、たとえば、釣り竿や虫取り網等の道具類も含まれる。このような道具類も店舗で販売される。
また、上述したメッセージ魚、メッセージ蝶々、メッセージボトルも店舗で販売されるアイテムの種類である。これら3種類の各アイテムは、それぞれ大きさ等が異なる更に複数種類のアイテムからなる。たとえば、メッセージ魚の場合、それぞれ大きさが異なる「ヒトコトイワシ」や「フタコトアジ」等のアイテムが存在する。これら「ヒトコトイワシ」、「フタコトアジ」はアイテム名称である。
【0042】
これらメッセージ魚、メッセージ蝶々、メッセージボトルは、店舗で販売されるときは通常のアイテムと同様であるが、アバターが、このアイテムを購入してメッセージを書き込んで手放す(放流する、放す、流す、置く等)ことにより、それぞれ上述の特徴をもったコミュニケーションアイテムとなり、サーバデータベースのメッセージデータ記憶部60(後述)に登録される。
【0043】
また、プレイヤーデータ記憶部41は、ポータルサーバ1に登録されているアバター(プレイヤー)毎に設定されたプレイヤーデータを記憶している。各プレイヤーデータは、そのプレイヤーのアバターの名称を示すアバター名称データ、そのプレイヤーが選択したアバターの素体の画像を指定する素体選択データ、このアバターの属性を示す属性データ、このアバターがどのステージの何処の座標に存在するかを示す位置データ、このアバターの動作(姿勢)を示す動作データ、このアバターが所有または着用しているアイテムが登録されるアイテムテーブル、および、仮想社会内で使用される仮想通貨の所持金額を表す所持金額データを含んでいる。
【0044】
アバター素体画像データ記憶部42は、プレイヤーデータの素体選択データによって選択される複数のアバター素体画像を記憶している。アバター素体画像は、たとえば、図2に示したアバター110等のような画像である。
【0045】
アバターの属性データは、このアバターまたはプレイヤーの属性を示すデータであり、図7(A)に示すように、年齢層、性別、趣味、地域等のカテゴリーのデータからなっている。この属性データは、プレイヤーにより、このネットワークゲームに参加登録するときに入力される情報であり、プレイヤー自身の属性が入力される場合、プレイヤーが操作する仮想のアバターに付与したい属性が入力される場合がある。
【0046】
図7(A)において、年齢層は、10代、20代、30代、40代、50代以上の5つの選択肢から1つが選択される。性別は、男/女からどちらかが選択される。趣味は、ゲーム、音楽、スポーツ、映画、ドライブ・ツーリング、読書から1または複数が選択される。地域は、47都道府県から1つが選択される。
なお、プレイヤーの属性を表すデータは、これらに限定されない。また、年齢層,趣味,地域の選択肢の設定態様も上記に限定されない。
【0047】
図7(B)は、メッセージデータ記憶部60のうち、魚データの記憶エリアを示した図である。魚データは、水中に放流されたメッセージ魚について登録されたデータであり、この魚を識別するための魚ID、サイズデータ、アイテムID、捕獲条件データ、位置情報、捕獲中フラグ、メッセージ本文等の内容で構成される。
【0048】
サイズデータは、この魚の大きさを表すデータである。このサイズデータによって、魚の外観上の大きさが決定されるとともに、書き込み(対応付けて登録)可能なメッセージの文字数が決定される。例えば、「ヒトコトイワシ」はサイズが5cmで、20文字までメッセージを登録することができ、「フタコトアジ」はサイズが10cmで、40文字までメッセージを登録することができる。アイテムIDは、アイテムデータ記憶部50に記憶されているアイテムデータを指定するIDである。このアイテムIDでアイテムデータを指定することにより、その指定されたアイテムデータに含まれるアイテム画像データを読み出してこのメッセージ魚の外観を作成することができる。捕獲条件データは、この魚を釣り上げることができるアバターの条件(属性)を指定するデータである。この捕獲条件データは、この魚にメッセージを書き込むプレイヤーが、このメッセージを読んでもらいたいアバター(プレイヤー)を絞り込むために、その属性を設定する。この捕獲条件データは、図7(A)に示した複数のカテゴリーの全部または一部について設定される。捕獲条件データが設定されていないメッセージ魚は、全てのアバターによって釣り上げられることができる。
【0049】
なお、プレイヤーデータにアバターの属性が設定されていない場合には、捕獲条件が設定されていないメッセージ魚、すなわち上記の全てのアバターによって釣り上げられるメッセージ魚のみ釣り上げることができる。
【0050】
位置情報は、この魚がどこを泳いでいるかを示すデータであり、ステージを示す情報とそのステージ内での座標からなる。魚の回遊は、プレイヤーが制御するのではなく、ポータルサーバ1のゲーム進行管理部12が、独自のアルゴリズムで回遊経路を決定する。ゲーム進行管理部12は、上記アルゴリズムで各魚の回遊経路を決定して、定期的に各魚の位置情報を更新する。
【0051】
なお、ゲーム進行管理部12が、魚の位置情報を更新せず、常に放流された位置をその魚の位置情報としてもよい。また、位置情報が魚データに含まれなくてもよい。この場合には、魚の釣り上げが魚の位置とは無関係に決定され、例えば、捕獲条件データとアバターの属性データと、魚サイズと釣竿の性能との一致だけで、魚の釣り上げの成否が決定される。
【0052】
捕獲中フラグは、いずれかの端末装置2において、この魚が釣り糸に掛かっていることを示すフラグである。このフラグがセットされていると、他の端末装置2ではこの魚を捕獲することができない。端末装置2におけるゲーム進行において、アバターが釣り糸を垂らした付近に魚がいると、その魚が釣り糸に掛かり、このことがポータルサーバ1に通知される。ポータルサーバ1は、この通知に対応して捕獲中フラグをセットする。しかし、魚が釣り糸に掛かっても、引き上げるのが遅れたり、上記捕獲条件が満たされなかった場合には、この魚は逃げてしまう。端末装置2から魚が逃げたことが通知されると、ポータルサーバ1は、この捕獲中フラグをリセットする。一方、端末装置2から、魚が逃れることなく釣り上げられたことが通知されると、メッセージ本文をその端末装置2に送信するとともに、この魚データをメッセージデータ記憶部60から消去する。
【0053】
メッセージ本文は、テキストデータからなる。文字数は、魚のサイズに応じて異なり、200文字〜400文字程度である。なお、この実施形態では、メッセージ魚に設定(対応付けて登録)するメッセージをテキストとしているが、メッセージはテキストに限定されない。たとえば、音声、静止画、動画など端末装置から出力可能なものであれば、どのようなものでもよい。
【0054】
ポータルサーバ1は、サーバデータベース11として、図6,図7(B)に示すデータ群を常時記憶している。端末装置2のローカルデータベース21は、サーバデータベースとほぼ同様の構成・内容を有している。サーバデータベース11とローカルデータベース21とで異なる点は、ローカルデータベース21が、他のプレイヤーが操作するアバター(他人アバター)のプレイヤーデータ(41)を持たない点程度である。ローカルデータベース21のうち、仮想社会データ(30)、アイテムデータ(50)の固定部分は、プログラムと一緒にインストールされる。そして、ゲームに進行に応じて更新される部分は、プレイヤーの操作によって端末装置2が、ポータルサーバ1にログインする都度、更新データとしてダウンロードされる。
【0055】
なお、上記ゲームにおいて、自己のアバターがステージを移動すると、移動先のステージに位置する他人アバターのプレイヤーデータ等がダウンロードされる。なお、このときに移動前のステージに位置していた他人アバターのプレイヤーデータは破棄される。
【0056】
また、自己のアバター,他人アバターは常に移動し、着用するアイテムや所持するアイテムが変更されることもあり、アバターの属性データも変更されこともある。このため、ポータルサーバ1は、各端末装置2からアバターの位置の変更や属性データの変更等のプレイヤーデータの変更を示す情報を受信したときに、サーバデータベース11のプレイヤーデータを更新し、この更新したデータを更新情報として定期的に各端末装置2に送信する。
【0057】
アバター(プレイヤー)が、メッセージ魚アイテムを購入して川や海に放流したとき、魚データが作成され、この魚データが各端末装置2からポータルサーバ1にアップロードされる。ポータルサーバ1は、この魚データをメッセージデータ記憶部60に登録し(メッセージを仮想オブジェクトに対応づけて登録し)、定期的なデータ更新時にこの魚データを各端末装置2にダウンロードする。
【0058】
この魚データの各端末装置2へのダウンロードは、トラフィックを軽減するため、魚ID、捕獲条件データ、サイズ、外観画像指定データ、位置情報のみをログイン時や定期的なデータ更新時等に行い、ある端末装置2から釣り上げられた旨の通知があったとき、その端末装置2のみにメッセージ本文をダウンロードする。
【0059】
もっとも、以下のような方式を採用してもよい。
(1)ログイン時等に、全ての端末装置2に全ての魚データ(メッセージ本文を含む)をダウンロードする。
(2)魚データの位置情報に基づき、その魚がどのステージにいるかを判断し、同じステージにいるアバターの端末装置2のみに、データをダウンロードする。
【0060】
魚データのメッセージ本文を、その端末装置に送信したのち、その魚データをメッセージデータ記憶部60から消去し、各端末装置2に対してその魚が釣り上げられた旨を通知する。
各端末装置2は、魚が釣り上げられた旨の通知を受信すると、既にダウンロードされているその魚の魚データを消去する。
【0061】
≪動作の説明≫
図8〜図13のフローチャートを参照して、図4に示したコンピュータシステムの動作について説明する。
図8(A)は、ログイン時の動作を示すフローチャートである。プレイヤーが端末装置2を用いて、ID,パスワードを入力する等のログイン操作を行うと(S1)、端末装置2は、このログイン操作情報をポータルサーバ1に送信する(S2)。
【0062】
ポータルサーバ1は、端末装置2からログイン操作情報を受信すると(S3)、(このログイン操作情報が正しいことを前提として)そのプレイヤーをログイン登録し、そのアバターを仮想社会に登場させるべく処理を行う(S4)。そして、このプレイヤーの操作する端末装置2に対して最新のデータを送信する(S5)。
【0063】
端末装置2は、ポータルサーバ1から送られてきたデータを受信し、このデータで自装置のローカルデータベース21を更新する(S6)。そして、このローカルデータベース21に書き込まれているデータに基づいて仮想社会をモニタ26に表示するとともに、この仮想社会にそのとき登場しているアバター(自己のアバターを含む)を表示して、この端末装置2においてゲームをスタートさせる(S7)。
【0064】
ゲームの進行は、複数の端末装置2から送信されてくる操作情報に基づいてポータルサーバ1のゲーム進行管理部12が管理しており、ログインした端末装置2では、ポータルサーバ1から送られてくる更新データに基づき、ゲーム進行管理部25がゲームの進行を管理する。
【0065】
図8(B)は、端末装置2におけるゲーム進行処理を示すフローチャートである。この処理は定期的に実行される。ポータルサーバ1のゲーム進行管理部12は、まず、サーバデータベース11のメッセージデータ記憶部60に登録されている魚データの位置を更新する(S9)。この魚データの位置は、端末装置2からの操作に依存しないため、ポータルサーバ1側で決定する。次に、サーバデータベース11の更新内容に基づき、ローカルデータベースを更新するための更新データを各端末装置2に対して定期的に送信する(S10)。この更新データには、上記魚データの位置情報や各アバターの位置や動作等を更新するためのデータが含まれる。端末装置2は、ポータルサーバ1から送られてきた更新データを受信して(S11)、ローカルデータベース21を更新するとともに(S12)、この更新データに基づいて、モニタ26の画面表示を更新する(S13)ことにより、ゲームを進行させる。
【0066】
図9は、プレイヤーによるアバターの動作制御操作に対応したコンピュータシステムの動作を示すフローチャートである。
同図(A)は、端末装置2の動作を示すフローチャートである。プレイヤーは、自己のアバターに何らかの動作をさせる場合、端末装置2のマウスやキーボードを操作してアバターがその動作を行うように指示する。たとえば、アバターを移動させる場合には、モニタ26の画面上において、移動させたい方向の適当な位置、または、入店させたい店舗や乗車させたい乗り物等をマウスでクリックする。また、釣り糸を海に垂らしたい場合には、釣り竿アイテムを右クリックしてプルダウンメニューから「下ろす」を選択する。プレイヤーにより動作の指示を受け付けたとき(S20)、この指示がアバターを他のステージに移動させる指示でない場合には(S21でNO)、端末装置2は、アバターの外観をその動作をしている状態に変化させるとともに(S22)、この動作情報をポータルサーバ1に送信する(S23)。たとえば、移動させたい方向の適当な位置や入店させたい店舗等がクリックされた場合、自己のアバターは同一ステージ内で移動するよう制御され、図1における電車103等の乗り物がクリックされた場合、自己のアバターは他のステージに移動するよう制御される。また、釣り糸を垂らす旨のメニューが選択された場合、アバターが装着しているアイテムである釣り竿を下にさげるよう形状を変化させる。また、釣り糸を引き上げる旨のメニューが選択された場合、アバターが装着しているアイテムである釣り竿を引き上げるよう形状を変化させる。
【0067】
ただし、ステップS20の動作制御操作が、アバターを他のステージに移動させる旨の操作であった場合には(S21でYES)、端末装置2は、このステージ移動操作情報をポータルサーバ1に送信する(S25)。その後、ポータルサーバ1から移動先の新たなステージのデータを受信して(S26)、このデータでローカルデータベース21を更新し(S27)、このステージの画像とアバターを表示してこのステージにおいてゲームを再開する(S28)。
【0068】
同図(B)は、端末装置2から、動作情報を受信したときのポータルサーバ1の動作を示すフローチャートである。ポータルサーバ1は、端末装置2が、同図(A)のステップS23で送信した動作情報を受信する(S31)。そして、この端末装置2に対応するプレイヤーデータ(位置データ、動作データ)をこの動作情報に基づいて更新する(S32)。この更新されたプレイヤーデータは、他の端末装置2に対しては、図8(B)に示した定期的なデータ更新時に送信される。
【0069】
同図(C)は、端末装置2から、ステージを移動する旨の操作情報を受信したときのポータルサーバ1の動作を示すフローチャートである。ポータルサーバ1は、端末装置2が、同図(A)のステップS25で送信したステージ移動情報を受信して(S34)、この端末装置2に対応するアバターデータの位置データや動作データをこのステージ移動情報に基づいて更新する(S35)。位置データは、新しいステージへ登場したときのデフォルトの位置に設定される。そして、この新たなステージの情報を端末装置2に対して送信する(S36)。このアバターの更新された位置データは、図8 (B)に示した定期的なデータ更新時に、他の各端末装置2に送信される。
【0070】
このように、端末装置2では、動作情報をポータルサーバ1に送信するとともに、(ポータルサーバからの更新データの受信を待たずに)自己のアバターの姿勢や位置を更新している。これにより、操作に対応した自己のアバターの姿勢や位置の更新が遅れないようにしている。なお、自己のアバターについても、ポータルサーバ1からの更新データの受信を待って移動させるようにしてもよい。
【0071】
図10は、端末装置2が行うメッセージ登録動作を示すフローチャートである。プレイヤーが店舗で魚を購入することによって、この処理がスタートする。プレイヤーが魚を購入すると(S40)、端末装置2は、この魚のメッセージ登録ウィンドウを表示する(S41)。このメッセージ登録ウィンドウには、捕獲条件入力部およびメッセージ本文入力部が設けられている。
【0072】
端末装置2は、まず捕獲条件の入力を受け付ける(S42)。捕獲条件は、上述したように図7 (A)に示すアバターの属性の全部または一部を指定するデータである。モニタ26に表示される入力ウィンドウには、例えば、図7(A)で示す情報が一覧表示され、この一覧の1カテゴリーから1選択肢を選択する操作をプレイヤーが行うことで捕獲条件が入力される。
【0073】
次に、端末装置2は、メッセージの入力を受け付ける(S43)。上述したように、入力を受け付けるメッセージの文字数は魚のサイズによって異なる。そして、アバターによってメッセージ魚の放流の動作が行われたとき(S44)、上記操作で生成されたメッセージ魚のデータ(メッセージデータ)を、ポータルサーバ1に送信して(S45)、動作を終了する。
【0074】
ここで、端末装置2からポータルサーバ1に送信されるメッセージデータは、アイテムID、サイズ、捕獲条件、メッセージ本文、放流位置等である。なお、これらのデータのうち、アイテムID、サイズは、アイテムデータから取得されて送信される。サイズについては、アイテムデータに含まれるアイテム種類データ(メッセージ魚では魚の種類を示す)から取得される。
【0075】
なお、プレイヤーの魚の購入後、即メッセージ登録ウィンドウが表示されなくてもよく、魚が一端アバターの持ち物として所持され、プレイヤーの表示操作を受け付けた場合に、メッセージ登録ウィンドウが表示されてもよい。
【0076】
ポータルサーバ1は、端末装置2から送信されてきたメッセージデータを受信する(S47)。そして、このメッセージデータを、サーバデータベースのメッセージデータ記憶部60に魚データとして登録する(S48)。すなわち、ポータルサーバ1は、受信したメッセージデータに魚IDを付して魚データを生成し、メッセージデータ記憶部60に登録する。この登録された魚データのID,位置データ,アイテムID,サイズデータ、捕獲条件及び位置情報は、図8(B)に示した定期的なデータ更新時に、他の各端末装置2に送信される。
【0077】
図11は、端末装置における魚捕獲処理動作すなわち釣り動作を示すフローチャートである。
プレイヤーが自己のアバターが所持している釣り糸を川や海に垂らしたとき(S49)、この動作がスタートする。まず、釣り糸を垂らした位置(ウキの位置)の情報を割り出す(S50)。そして、この位置情報に基づき付近に魚がいるか否かを検索する(S51)。この検索は、ポータルサーバ1からローカルデータベース21にダウンロードされている魚データの位置情報に基づいて判断する。付近に魚がいない場合には(S52でNO)、糸が引き上げられるまで(S53)、S50以下の動作を繰り返し実行する。アバターが釣り糸を移動させることがあるため、毎回位置情報は割り出される(S50)。
【0078】
一方、付近に魚がいる場合には、その魚と釣り糸(うき)との距離に応じた確率に基づいて、今回この魚が掛かる(食いつく)か否かを演算する(S54)。魚が掛からなかった場合には(S55でNO)、S50にもどって、S50以下の動作を再度実行する。したがって、付近に魚がいる場合には、その魚が遠くへ移動してしまわないかぎり、掛かるまで毎回S54の確率演算が実行される。
【0079】
ここで、上記魚と釣り糸(うき)との距離に基づく食いつきの確率は、魚とうきが同一セルにある場合には100%であり、1セルずれるごとに30%ずつ小さくなる。たとえば、うきが魚の隣のセルにある場合には確率70%となる。
【0080】
一方、魚が掛かったと判定された場合には(S55でYES)、捕獲中情報をポータルサーバ1に送信する(S56)。ポータルサーバ1では、他のアバターがこの魚を既に捕獲中か否かを判定し、他のアバターが捕獲中なければ捕獲許可情報を返信し、他のアバターが既に捕獲中の場合には捕獲不許可情報を返信してくる(図12(A)参照)。端末装置は、この捕獲許可/不許可情報を受信する(S57)。次に、この魚データのサイズおよび捕獲条件を読み出し、釣り竿の性能がこの魚のサイズに適合しているか、および、このアバターの属性が魚の捕獲条件に適合しているかを判定する(S58)。釣竿の性能と魚のサイズの適合を判断する理由は、釣竿の機能が複数ランク設定されており、釣竿のランク毎に釣り上げ可能な魚のサイズの限界値が設定されているからであり、このため、釣竿のランクによっては大きすぎで釣り上げることができない魚があるからである。なお、釣竿(アイテム)のID、このランク、及び上記魚サイズの限界値は、互いに対応付けてサーバデータベース11及びローカルデータベース21に記憶されている。こののち、画面のウキを動かしてプレイヤーに魚が掛かっている旨(引き)を表示する(S59)。
【0081】
メッセージ魚アイテム、釣り竿アイテムはともに店舗で販売されるアイテムであり、それぞれ価格の異なる複数種類がある。メッセージ魚は、価格の高いアイテムほど外観が大きく、書き込みのできるメッセージの文字数も多い。また、釣り竿アイテムは、価格の高いアイテムほど太く大きい魚を釣り上げることができる性能を有している。ステップS58では、釣り竿の太さが釣り上げようとしているメッセージ魚の大きさに適合しているか、すなわち、このメッセージ魚以上の大きさの魚を釣り上げ可能な太さであるかを判断し、適合しているときにYESの判断をする。
【0082】
なお、上記捕獲条件の適合/不適合の判定において、完全に適合していなくても、近似している場合には、ある程度の確率で適合と認めるようにしてもよい。すなわち、捕獲条件と属性が一致しないカテゴリーの選択肢リスト(図7(A)参照)において、捕獲条件と属性とが近い位置関係にあるとき、所定の確率で適合と判定するようにしてもよい。図7(A)に示す選択肢は、たとえば、年齢順(10代、20代、・・・)や地域順(北海道、青森、岩手、・・・)のように、近似するものから順にリスト化されている。したがって、捕獲条件と属性とが一致しない場合でも、図7(A)の選択肢リストにおける距離が近い場合には略一致と判断して、ある程度の確率で適合と判断する処理を適合判断の変形例とすることが可能である。
【0083】
この場合において、捕獲条件と属性との距離に応じて捕獲確率を決定してもよい。たとえば、捕獲条件が20代であった場合に、属性が20代(距離0)であれば捕獲確率100パーセント、属性が10代、30代(距離1)であれば捕獲確率50パーセント、属性が40代(距離2)であれば捕獲確率20パーセントとするなどである。
【0084】
なお、魚がかかるかどうかの判定方法は、上記に限定されない。すなわち、上記実施形態では、位置情報、捕獲条件、魚サイズに基づいて捕獲の成否を判定しているが、これらの条件の一部を用いてもよく、また、例えば魚データが魚種類を示すデータを含み、アバターが海で釣りをしている場合には、メッセージデータ記憶部60で記憶される海魚の魚でデータから抽選によって1の魚が選択されて掛かるようになっていてもよい。
後ろに下げました)
この引きに応じてプレイヤー(アバター)が、一定時間以内に釣り糸を引き上げたか否かを判断する(S60、S61)。一定時間以内に引き上げられなかった場合には(S60でNO、S61でYES)、魚が逃げた旨の処理を行って(S62)、動作をS50に戻す。
【0085】
また、引きが発生してから一定時間以内に釣り糸が引き上げられた場合には(S60でYES)、S57で受信した情報が捕獲許可情報であったか、および、S58で判定した釣り竿とサイズ、アバター属性と捕獲条件が適合しているかを判断し(S63)、この条件を満たした場合には(S63でYES)、釣り上げ処理(S64)を実行する。一方、S57で受信した情報が捕獲不許可情報であった場合またはS58の条件が適合していなかった場合には(S63でNO)、釣り糸を引き上げたが糸が切れて魚が逃げてしまった旨の処理を行って(S65)、動作を終了する。
【0086】
ここで、ステップS62の魚が逃げた旨の処理は、ウキの引き画像を停止するとともに、ポータルサーバ1に対して捕獲失敗情報を送信する処理である。また、ステップ65の糸が切れた旨の処理は、引き上げ途中で釣り糸の画像を消去してしまうとともに、ポータルサーバ1に対して捕獲失敗情報を送信する処理である。なお、切れてしまった釣り竿の糸は、次の使用時に自動的に復活する。
このように、この処理は、ステップS49で釣り糸を水中に垂らしたときスタートし、ステップS53またはステップS60で釣り糸を引き上げたことによって終了する。
【0087】
図12(A)は、端末装置2から捕獲中情報を受信したポータルサーバ1の動作を示すフローチャートである。端末装置から捕獲中情報を受信すると(S90:図11のS56に対応)、この捕獲中情報に含まれている魚IDに基づいてサーバデータベース11を検索し、この魚データの捕獲中フラグがセットされているか否かを判断する(S91)。他の端末装置において捕獲中でない場合にはこの捕獲中フラグがリセットされているため(S91でNO)、捕獲中フラグをセットしたのち(S92)、今回捕獲中情報を送信してきた端末装置に対して捕獲許可情報を送信する(S93)。一方、既に他の端末装置において捕獲中であった場合には捕獲中フラグがセットされているため(S91でYES)、今回捕獲中情報を送信してきた端末装置に対して捕獲不許可情報を送信する(S94)。
【0088】
同図(B)は、端末装置2から捕獲失敗情報を受信したポータルサーバ1の動作を示すフローチャートである。端末装置から捕獲失敗情報を受信すると(S95:図11のS62,S65に対応)、この捕獲中情報に含まれている魚IDに基づいてサーバデータベース11を検索し、この魚データの捕獲中フラグをリセットする(S96)。これにより、この魚が、再度捕獲可能になる。
【0089】
図13は、図11のS64の釣り上げ処理を示すフローチャートである。まず、ポータルサーバ1に対して捕獲成功情報を送信する(S70)。そして、これに対応してポータルサーバ1から、釣り上げた魚に書き込まれているメッセージ本文を受信する(S71)。次に、アバターの釣り上げ動作にしたがって、魚画像をモニタ26に表示し(S72)、この魚を所有アイテムとしてアイテムテーブルに登録する(S73)。次に、プレイヤー(アバター)によるメッセージ表示装置に対応して (S74)、メッセージ本文を表示する(S75)。プレイヤー(アバター)による表示消去操作があるまで(S76)、表示を継続し、消去操作があったとき(S76でYES)、表示を消去して (S77)、動作を終了する。
【0090】
ポータルサーバ1は、端末装置2から送信されてきた捕獲成功情報を受信して(S80)、この捕獲成功情報に含まれる魚IDで識別される魚データのメッセージ本文を読み出し(S81)、このメッセージ本文を端末装置2に対して送信する(S82)。こののち、この魚データを消去して(S83)、動作を終了する。この魚データの消去は、図8で示すS10によって、ポータルサーバ1から各端末装置2に通知され、この通知を受けた端末装置2はローカルデータベース21のメッセージデータ記憶部から対応する魚データを消去する。
【0091】
以上の処理により、釣り上げられた魚は、ポータルサーバが管理するメッセージから、アバターの所有するアイテムとなる。アバターは、この魚アイテムをクリックすることにより、その後何度でもメッセージを表示させることができる。また、このアイテムは他のアイテムと同様、売買,交換,捨てること等が可能である。
【0092】
≪他の実施形態≫
以上は、メッセージ魚について説明したが、次にメッセージ蝶々,メッセージボトルについて説明する。メッセージ蝶々,メッセージボトルは、それぞれメッセージ魚の変形例である。メッセージ蝶々,メッセージボトルは、それぞれ以下の点でメッセージ魚と異なっている。
【0093】
メッセージ魚は、川または海の水中を泳いでおり釣り上げるまで魚影としてしか見ることができないが、メッセージ蝶々は、全てのステージの空中を飛ぶことが可能であり、常に見ることができる。メッセージ魚は、選択条件として捕獲されるアバターの属性を設定可能であるが、メッセージ蝶々は、選択条件を設定できない。メッセージ魚は、魚が近くにいれば、アバターのスキルに関係なく釣り糸に掛かるが、メッセージ蝶々は、道具アイテムである虫取り網を上手く操作しないと蝶々を捕まえることができない。しかしながら、虫取り網を上手く操作することさえできれば、アバターはメッセージ蝶々を捕まえることができ、捕獲されるアバターの属性を選ばない。
なお、この実施形態では、蝶々を用いているが、空中を飛ぶ昆虫としては蝶々に限定されるものではなく、他の昆虫たとえはトンボなどを用いることができる。
【0094】
また、メッセージボトルは、街角に置かれていたり、海辺に打ち上げられていたりするものをアバターが拾い上げることができるため、取得(捕獲)にスキルは必要ないが、メッセージ魚と同様に、メッセージを読むことができるアバターの条件を設定することができる。この条件は、捕獲条件ではなく、捕獲した後にボトルの蓋を開けてメッセージを取り出すことができるための条件である。
【0095】
図14を参照して、メッセージ蝶々を用いてメッセージを受け渡す場合のプレイヤーの操作手順について説明する。
【0096】
同図(A)は、第1のアバターが蝶々にメッセージを書き込んで空中に放す手順を示したフローチャートである。まず、第1のアバターが店舗でメッセージを書き込むための蝶々を購入する(S220)。そして、この蝶々にメッセージを書き込む(S221)。そして、この蝶々を任意の場所で空中に放す(S222)。これにより、この蝶々は(ポータルサーバ1の制御により)自由に全てのステージを飛び回ることができる。
【0097】
同図(B)は、第2のアバターが虫取り網で虫取りをすることにより、蝶々を捕獲してそこに書き込まれているメッセージを読む手順を示すフローチャートである。第2のアバターが、虫取り網を持って(または虫取り網を購入して:S225)、町中や野原で蝶々を見つけ出す(S226)。そして、この蝶々を網の中に収めるように虫取り網を操作して蝶々を捕獲する(S227)。蝶々の捕獲は、アバター(プレイヤー)が虫取り網を振って蝶々を網の中に捕らえたとき、すなわち、アバターによって振られた虫取り網の軌跡上に蝶々が居た場合に成功する。蝶々を捕らえようとすれば、アバター(プレイヤー)は良いタイミングに良い位置に虫取り網を振らなければならないため、この蝶々の捕獲の成否にはアバター(プレイヤー)のスキルが反映される。なお、蝶々が捕獲されると、この蝶々に書き込まれているメッセージが表示される(S228)。
【0098】
なお、メッセージ蝶々は、空中を飛んでおり、常にアバター(プレイヤー)から見えているため、端末装置2は、ポータルサーバ1から通知された位置情報に基づいて蝶々を表示する処理を行う。
【0099】
同図(C)は、第2のアバター(プレイヤー)が蝶々の捕獲動作を行ったとき、すなわち、アバターが蝶々のいる場所に虫取り網を振ったときに実行される動作を示すフローチャートである。アバターが蝶々の捕獲動作を行うと、すなわちプレイヤーによる捕獲操作を受け付けると(S140)、端末装置2は、ポータルサーバ1に対して捕獲動作情報を送信して捕獲を許可するか否か、すなわち、既に(ポータルサーバ1から画像の更新情報を受信する前に)他のアバター(プレイヤー)が先に蝶々を捕獲しているか否かを問い合わせる(S141)。
【0100】
ポータルサーバ1は、この捕獲動作情報を受信して図12(A)のS91〜S94の処理を実行する。すなわち、先にこの蝶々を捕獲しているか否かをこの蝶々のデータの捕獲中フラグがセットされているか否かに基づいて判断し(S91)、他の端末装置で捕獲中でない場合にはこの捕獲中フラグをセットしたのち(S92)、端末装置に対して捕獲許可情報を送信する(S93)。一方、既に他の端末装置が捕獲中であった場合には、端末装置に対して捕獲不許可情報を送信する(S94)。
【0101】
端末装置2は、ポータルサーバ1から情報を受信し(S142)、この受信した情報が捕獲許可情報であった場合には(S143でYES)、捕獲成功処理を実行する(S144)。この捕獲成功処理は、図13のメッセージ魚の釣り上げ処理とほぼ同様であり、S72の魚画像を表示する動作に代えて、虫取り網の中に蝶々が捕獲されている画像を表示する。一方、ポータルサーバ1から受信した情報が捕獲不許可情報であった場合には(S143でNO)、端末装置2は、アバターが蝶々の捕獲を失敗した画像(蝶々が網から逃げた画像)を表示して(S145)動作を終了する。
【0102】
メッセージ蝶々には捕獲条件が設定されないため、メッセージ魚の捕獲条件とアバターの属性とが合致する否かの判定(図11のS58、S63)は行われない。また、端末装置2は、捕獲許可情報を受信した場合、例外なく捕獲成功処理に進み(S143参照)、一端捕獲した蝶々を取り逃がすことがないため、ポータルサーバ1が図12(B)の処理を実行することはない。
【0103】
図15は、メッセージボトルを用いてメッセージを受け渡す場合のプレイヤーの操作手順を示すフローチャートである。同図(A)は、第1のアバターがメッセージを書き込だメモを封入したボトルを放流するまたは街角におく手順を示したフローチャートである。まず、第1のアバターが店舗でメッセージを書き込むボトルとメモを購入する(S230)。そして、メモにメッセージおよびこのメッセージを読んでもらいたいアバターの属性を書き込んでボトルに封入する(S231)。そして、このボトルを流す場合には、ボトルを持って川や海へ移動し(S232)、ボトルを川または海に流す(S233)。これにより、ボトルは(サーバコンピュータの制御により)漂流し、どこかの岸に漂着する。なお、ボトルの漂流制御を行わず、所定の漂流ポイントから1のポイントが抽選されて、このポイントにボトルを配置する等してもよい。また、ボトルを流さない場合には、街角等の任意の場所に置くことができる(S234)。この場合、ボトルは移動せず誰かが拾い上げるまで同じ位置にあり、ボトルを置いたアバターが、誰が拾い上げるか見届けることができる。
【0104】
同図(B)は、第2のアバターを操作する端末装置において、第2のアバター(プレイヤー)がボトルを拾い上げる操作が行われたときに実行される動作を示すフローチャートである。第2のアバターが海岸または街角でボトルを拾う操作がされると(S150)、端末装置2は、ポータルサーバ1に対して拾い上げ動作情報を送信してこの拾い上げを許可するか否か、すなわち、既に(ポータルサーバ1から画像の更新情報を受信する前に)他のアバター(プレイヤー)が先にボトルを拾い上げているか否かを問い合わせる(S151)。
【0105】
ポータルサーバ1は、この捕獲動作情報を受信して図12(A)のS91〜S94の処理を実行する。すなわち、先にこのボトルを拾い上げているか否かをこのボトルのデータの取得中フラグがセットされているか否かに基づいて判断し(S91)、他の端末装置で取得中でない場合にはこの取得中フラグをセットしたのち(S92)、端末装置に対して取得許可情報を送信する(S93)。一方、既に他の端末装置が取得中であった場合には、端末装置に対して取得不許可情報を送信する(S94)。
【0106】
端末装置2は、ポータルサーバ1から情報を受信し(S152)、この受信した情報が取得許可情報であった場合には(S153でYES)、ステップS155以下の動作を実行する(後述)。一方、ポータルサーバ1から受信した情報が取得不許可情報であった場合には(S153でNO)、端末装置2は、アバターがボトルの拾い上げに失敗した画像(ボトルが手から滑り落ちた画像)を表示して(S154)動作を終了する。
【0107】
ステップS155以下の動作は以下のとおりである。端末装置2は、アバターがボトルの拾い上げに成功した画像を表示する(S155)。こののち、アバターによって、ボトルの蓋開け操作が行われるか(S156)、または、このボトルが再び海岸や街角に置かれるまで(S157)、待機する。
【0108】
ボトルの蓋開け操作が行われた場合(S156でYES)には、拾い上げたアバターの属性がこのボトルのメッセージに設定されている開蓋条件に合致するか否かによって決定される。この属性と開蓋条件との一致/不一致をステップS158で判定し、この条件が合致した場合には(S159でYES)、蓋開け成功処理を実行する(S160)。この蓋開け成功処理は、図13のメッセージ魚の釣り上げ処理とほぼ同様であり、S72の魚画像を表示する動作に代えて、ボトルの蓋が開き、中のメモに書き込まれているメッセージを表示する画像が表示される。
また、アバター(プレイヤー)がこのボトルを再び海岸や街角に置く動作をした場合には(S157でYES)、蓋開け失敗処理を実行して(S161)動作を終了する。
【0109】
ステップS161の蓋開け失敗処理は、ボトルの画像をアバターの足元の仮想社会に表示とともに、ポータルサーバ1に対して蓋開け失敗情報を送信する処理である。この蓋開け失敗情報を受信したポータルサーバ1は、メッセージ魚の場合と同様に図12(B)の処理を実行する。
【0110】
このように、メッセージボトルは、どのアバターでも道具なしで拾い上げることができる。また、拾い上げたのち、開蓋条件に合致する場合のみ蓋を開いてメッセージを読むことができる。
【0111】
また、メッセージボトルの場合、漂流しているか岸に漂着しているかで処理が異なるため、常に回遊しているメッセージ魚の場合の処理である図8のS9に代えて図16の処理を実行する。図16において、まずボトルが漂流中であるかを判断する(S100)。漂流中であるか否かは、データベースに登録されるボトルデータに設けられた漂着フラグによって判断する。漂着フラグは、ボトルが岸に漂着したとき、または、街角等に置かれたときセットされるフラグである。
【0112】
漂流中の場合、すなわち漂着フラグがリセットしているときは、このボトルの漂流位置を表す位置データを更新する(S101)。この位置データは、次のデータ更新時に各端末装置に配信される。そして、今回の移動によって岸に漂着したかを判断する(S102)。岸に漂着したか否かは、データベースのマップデータと今回更新された位置データを対比して判断する。漂着した場合には(S102でYES)、漂着フラグをセットして(S103)動作を終了する。この漂着フラグのセットは、次回のデータ更新時に各端末装置に配信される。一方、未だ岸に漂着していない場合には(S102でNO)、そのまま動作を終了する。
【0113】
なお、上述した実施形態及び変形例では、メッセージが対応付けて登録されるアイテムは、魚、蝶々及びボトルであるが、アイテムの種類はこれに限定されず、仮想社会に存在するアイテムであればよい。
【0114】
≪ロバの耳井戸≫
次に、図17,図18を参照してロバの耳井戸について説明する。上に述べたアバターの活動を介したコミュニケーション手段である「メッセージ魚」、「メッセージ蝶々」、「メッセージボトル」は、それぞれメッセージが書き込まれたオブジェクト(魚,蝶々,ボトル)を1人のアバターに捕獲してもらい、そのアバター(プレイヤーまたは端末装置)のみにメッセージを表示するものであったが、ロバの耳井戸は、適当なタイミングに間欠泉のように井戸からメッセージが吹き出し、そのとき井戸の周辺にいるアバターが読むことができるものである。
【0115】
図17(A)は、ネットワークゲームにおけるロバの耳井戸のメッセージの入力と出力の手順を示すフローチャートである。アバターが井戸端へ行き(S240)、メッセージを入力する(S241)。井戸へのメッセージの入力は井戸に向けて内緒話(王様の耳はロバの耳)を吹き込む動作を転用したもの(メタファ)であるが、このゲームでは、メッセージの入力は、井戸をクリックすることにより表示されるメッセージ入力ウィンドウに、メッセージをテキストで打ち込むことによって行われる。メッセージの入力は、多くのアバターによって複数回行われ、間欠的にランダムに選択されたメッセージが井戸から出力される(S242)。メッセージの出力は、井戸から声が聞こえてくるような態様で表示される吹き出しウィンドウ内に表示されることで行われる。なお、井戸に入力されるメッセージとして、端末装置2にマイクを設け、テキストデータに代えて実際に音声データが吹き込まれるようにしてもよい。
【0116】
なお、この井戸へのメッセージの入力は、上述したメッセージ魚,メッセージ蝶々,メッセージボトルと異なり無料であるため、同じアバターが何度も繰り返しメッセージを入力してしまうおそれがある。そこで、入力されたメッセージに録音時刻とアバターのIDを付加しておき、同じアバターが何度もメッセージを入力できない(たとえば1日1回程度)ようにしてもよい。
【0117】
図17(B)は、サーバデータベース11に登録される井戸メッセージデータの構成を示す図である。井戸メッセージデータは、この移動メッセージデータを識別するための情報であるメッセージID、この井戸メッセージデータが入力された井戸を識別するための情報である井戸ID、この井戸メッセージの録音時刻、表示可能フラグ、および、メッセージ本文を有している。表示可能フラグは、このメッセージが表示可能に選択された旨を示すフラグである(詳細は後述する)。
【0118】
このネットワークゲームの仮想社会には、メッセージを入力することができる井戸が複数存在しており、ゲーム進行管理部12は、メッセージの録音時刻および井戸IDに基づいて、間欠的にどのメッセージを出力するかを決定する。
【0119】
図18(A)は、井戸メッセージ入力時のコンピュータシステムの動作を示すフローチャートである。端末装置2において、アバターによって井戸がクリックされるとこの動作が実行される。アバターが移動クリックすると(S110)、メッセージの入力ウィンドウを表示する(S111)。この入力ウィンドウは、井戸からの吹き出しウィンドウの形状で表示される。アバター(プレイヤー)によってメッセージが入力されると(S112)、吹き出しウィンドウを井戸に吸い込まれるように消去し(S113)、井戸のID、録音時刻等の情報を添えてポータルサーバに送信する(S114)。
ポータルサーバ1は、端末装置2から送信されてきたメッセージを受信して(S115)、井戸メッセージデータとしてデータベースに登録する(S116)。
【0120】
同図(B)は、井戸メッセージ出力時のコンピュータシステムの動作を示すフローチャートである。ポータルサーバ1のゲーム進行管理部12は、定期的に井戸メッセージデータを選出する(S120)。この選出は、ランダムに行うが古いメッセージを優先的に出力するように録音時刻を参照して選出してもよい。メッセージが選出されると、保存時間の計時を開始するとともに、この井戸メッセージデータを表示可能に設定する、すなわち表示可能フラグをセットする(S121)。表示可能に設定されたメッセージは、次の定期的なデータ更新時に、このメッセージを出力する井戸と同じステージにいるアバターの端末装置に対して送信される。なお、井戸と同じステージにいるアバターではなく、井戸周辺の所定のエリア(井戸を表示画面に表示可能なエリア)に居るアバターを選出してもよい。そして、この選出されたメッセージについて、選出から一定の保存時間が経過するまで待機し(S122)、保存時間が経過すると(S122でYES)、この井戸メッセージデータ(表示可能 フラグがセットされている井戸メッセージデータ)を消去する(S
123)。保存時間は、概ね2時 間程度である。なお、上記一定期間内にこのステージ
移動してきたアバターがあった場合には、そのアバターの端末装置に対してもこの井戸メッセージは送信される。
【0121】
同図(C)は、井戸メッセージを受信した端末装置2の動作を示すフローチャートである。端末装置2では、井戸メッセージを受信すると保存時間の計時を開始し、保存時間が経過するまで、一定時間ごとに間欠的に井戸メッセージを表示する。ステップS130、S131の待機ルーチンで、表示時刻が到来するか(S130)、保存時間が経過するか(S131)を判断する。
【0122】
表示時刻が到来した場合には(S130でYES)、受信した井戸メッセージを井戸から吹き出しているような吹き出しウィンドウで表示する(メッセージデータが音声データの場合には再生する)(S132)。この表示は、井戸の上のオブジェクトとして表示するものであるため、同じステージであっても井戸の見えない位置にアバターがいる場合には、実際にモニタ26には表示されない。一定の表示時間(たとえば5分)が経過すると(S133)、このウィンドウ表示を消去して(S134)、上記待機ルーチンにもどる。
一方、保存時間が経過した場合には(S131でYES)、受信した井戸メッセージを消去して (S135)、動作を終了する。
【0123】
なお、井戸は仮想社会に複数配置されているが、選出されたメッセージが、いずれか1つの井戸 (一般的には録音された井戸)から吹き出し表示されるようにしてもよく、複数の井戸で同時に表示されてもよい。また、S120における井戸メッセージデータの選出は、全ての井戸の井戸メッセージデータの中から1または複数を選出してもよく、各井戸から入力されたメッセージの中からそれぞれ1または複数選出するようにしてもよい。また、定期的な選出の中に空選出(0個の選出)の回があってもよい。また、入力された井戸と異なる井戸から出力するべくメッセージを選出してもよい。なお、井戸は仮想社会にひとつだけ配置されていてもよい。
【0124】
なお、本実施形態(ロバの耳井戸)では、井戸メッセージが、所定の表示時刻が到来する毎に表示されるようになっているが、井戸メッセージの表示タイミングは、これに限定されない。例えば、アバターが井戸に対して特定の動作をしたとき、すなわち、端末装置2が、プレイヤーから特定の操作を受け付けたとき、井戸メッセージが表示されるようにしてもよい。たとえば、アバターが井戸を覗き込んだとき(プレイヤーが井戸をダブルクリックしたとき)、その操作のあった端末装置2だけで、井戸メッセージが表示されるようにしてもよい。この場合、図18(C)のS130は、アバターの覗き込み動作(プレイヤーによる特定操作)を判断する判定動作とすればよい。
【0125】
なお、本実施形態(ロバの耳井戸)は、井戸からメッセージが表示される構成であるが、メッセージが表示される仮想建造物は井戸でなくてもよく、例えばトイレ等であってもよい。また、仮想建造物でなくても湖や池等、または、電話機等の仮想オブジェクトであってもよい。
【0126】
実施形態(ロバの耳井戸、メッセージ魚)において、コンピュータシステムを構成するサーバは、ポータル機能を実行するものであり、ゲーム内容はこのポータル機能と関連づけられたものであるが、この構成に限定されない。本実施形態にかかるゲームは、ロールプレイングゲームや、アクションゲーム等の他の種類のゲームであってもよく、仮想社会内においてアイテムを表示可能に所有させたアバターを活動させることができるゲームであればよい。
【0127】
なお、コンピュータシステムのシステム構成はこれに限定されず、ポータルサーバを複数の装置で構成してもよい、また商品販売サーバとしての機能も備え、現実の商品をポータルサーバで販売することができてもよい。
【0128】
なお、「アバター」とは、一般的にゲームキャラクタを含まないが、本発明においてはプレイヤーの操作によって動作するゲームキャラクタを含む。
【符号の説明】
【0129】
1…ポータルサーバ
2…端末装置
11…サーバデータベース
12…ゲーム進行管理部
21…ローカルデータベース
25…ゲーム進行管理部
30…仮想社会記憶部
60…メッセージ記憶部
【特許請求の範囲】
【請求項1】
複数の端末装置がネットワークで接続されたコンピュータシステムに、
前記複数の端末装置によってそれぞれ操作される複数の仮想のキャラクタ(以下、アバターと呼ぶ)と、仮想オブジェクトと、を含む仮想社会を生成する仮想社会生成手順と、
前記仮想社会を、各端末装置の表示部に表示させる表示手順と、
特定の端末装置から、前記仮想オブジェクトに対応づけたメッセージの入力操作を受け付けたときに、このメッセージを前記仮想オブジェクトに対応づけて登録するメッセージ登録手順と、
前記メッセージが登録された仮想オブジェクトを、前記複数のアバターのうちの1つである不特定アバターの取得動作に応じて、該不特定アバターに取得および占有させる取得手順と、
この不特定アバターによって前記仮想オブジェクトが占有されているとき、この不特定アバターを操作する端末装置に前記メッセージを出力可能にするメッセージ出力許可手順と、
前記不特定アバターを操作する端末装置からの操作により、前記取得動作に応じて前記不特定アバターに占有されている前記仮想アイテムの占有を解除して他の不特定アバターが取得可能な状態にもどす占有解除手順と、
を実行させるプログラム。
【請求項2】
メッセージが登録された仮想オブジェクトを前記仮想社会内で移動させる移動手順を、
前記コンピュータシステムに更に実行させる請求項1に記載のプログラム。
【請求項3】
前記仮想社会構築手順は、属性が付与されたアバターを生成する手順を含み、
前記メッセージ登録手順は、メッセージとともに属性を登録する手順を含み、
前記取得手順は、前記仮想オブジェクトに対応付けて登録されている属性と一致する属性が付与された不特定アバターのみに当該仮想オブジェクトの取得を可能にする手順を含む
請求項1または請求項2に記載のプログラム。
【請求項4】
前記特定の端末装置は、前記仮想アイテムの購入操作が行われた端末装置である請求項1乃至請求項3のいずれかに記載のプログラム。
【請求項5】
請求項1乃至請求項4のいずれかに記載のプログラムを記憶する記憶部と、前記プログラムを実行するコンピュータと、を備えたコンピュータシステム。
【請求項1】
複数の端末装置がネットワークで接続されたコンピュータシステムに、
前記複数の端末装置によってそれぞれ操作される複数の仮想のキャラクタ(以下、アバターと呼ぶ)と、仮想オブジェクトと、を含む仮想社会を生成する仮想社会生成手順と、
前記仮想社会を、各端末装置の表示部に表示させる表示手順と、
特定の端末装置から、前記仮想オブジェクトに対応づけたメッセージの入力操作を受け付けたときに、このメッセージを前記仮想オブジェクトに対応づけて登録するメッセージ登録手順と、
前記メッセージが登録された仮想オブジェクトを、前記複数のアバターのうちの1つである不特定アバターの取得動作に応じて、該不特定アバターに取得および占有させる取得手順と、
この不特定アバターによって前記仮想オブジェクトが占有されているとき、この不特定アバターを操作する端末装置に前記メッセージを出力可能にするメッセージ出力許可手順と、
前記不特定アバターを操作する端末装置からの操作により、前記取得動作に応じて前記不特定アバターに占有されている前記仮想アイテムの占有を解除して他の不特定アバターが取得可能な状態にもどす占有解除手順と、
を実行させるプログラム。
【請求項2】
メッセージが登録された仮想オブジェクトを前記仮想社会内で移動させる移動手順を、
前記コンピュータシステムに更に実行させる請求項1に記載のプログラム。
【請求項3】
前記仮想社会構築手順は、属性が付与されたアバターを生成する手順を含み、
前記メッセージ登録手順は、メッセージとともに属性を登録する手順を含み、
前記取得手順は、前記仮想オブジェクトに対応付けて登録されている属性と一致する属性が付与された不特定アバターのみに当該仮想オブジェクトの取得を可能にする手順を含む
請求項1または請求項2に記載のプログラム。
【請求項4】
前記特定の端末装置は、前記仮想アイテムの購入操作が行われた端末装置である請求項1乃至請求項3のいずれかに記載のプログラム。
【請求項5】
請求項1乃至請求項4のいずれかに記載のプログラムを記憶する記憶部と、前記プログラムを実行するコンピュータと、を備えたコンピュータシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2013−81795(P2013−81795A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2012−275485(P2012−275485)
【出願日】平成24年12月18日(2012.12.18)
【分割の表示】特願2007−90259(P2007−90259)の分割
【原出願日】平成19年3月30日(2007.3.30)
【出願人】(000129149)株式会社カプコン (192)
【Fターム(参考)】
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願日】平成24年12月18日(2012.12.18)
【分割の表示】特願2007−90259(P2007−90259)の分割
【原出願日】平成19年3月30日(2007.3.30)
【出願人】(000129149)株式会社カプコン (192)
【Fターム(参考)】
[ Back to top ]