JP2006279814A - 通信システム、サーバ、プログラムおよび通信方法 - Google Patents

通信システム、サーバ、プログラムおよび通信方法 Download PDF

Info

Publication number
JP2006279814A
JP2006279814A JP2005099056A JP2005099056A JP2006279814A JP 2006279814 A JP2006279814 A JP 2006279814A JP 2005099056 A JP2005099056 A JP 2005099056A JP 2005099056 A JP2005099056 A JP 2005099056A JP 2006279814 A JP2006279814 A JP 2006279814A
Authority
JP
Japan
Prior art keywords
user
list
server
communication
communication terminal
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.)
Pending
Application number
JP2005099056A
Other languages
English (en)
Inventor
Toshinori Asai
敏典 浅井
Atsushi Toda
淳 戸田
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.)
Dwango Co Ltd
Original Assignee
Dwango 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 Dwango Co Ltd filed Critical Dwango Co Ltd
Priority to JP2005099056A priority Critical patent/JP2006279814A/ja
Publication of JP2006279814A publication Critical patent/JP2006279814A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】 ユーザが通信を申し込みやすい相手を容易に探すことのできる通信システムを提供する。
【解決手段】 通信端末1は、他の通信端末と通信すると、その通信端末からユーザIDを受信し、そのユーザIDを含む通信者リスト52を作成する。通信端末がサーバに接続すると、通信者リストをユーザIDと共にサーバに送信する。サーバは、通信端末から受信した通信者リストとユーザIDを相互に関連付けて記憶する一方で、その通信者リスト内のユーザIDと、その通信者リスト内のユーザIDに関連付けられた他の通信者リスト内のユーザIDとを集めて候補者リスト60を作成し、通信端末に送る。通信端末は、候補者リストからユーザIDが選択されると、そのユーザIDを使用する他の通信端末とサーバを介して通信する。
【選択図】 図16

Description

この発明は、ネットワークゲームやオンラインチャットなど、サーバを介した通信端末間の通信に関する。
従来、通信ケーブル等を介して相互に接続することにより対戦ゲームを行うことができる携帯型ゲーム機が知られている。また、最近では、近距離無線通信機能を有する携帯型ゲーム機も市販されており、これを使用すれば、友人同士で気軽に対戦ゲームを楽しむことができる。しかし、このような対戦ゲームを行うのは大抵同じ相手となりがちで、飽きがきやすい。
近年では、インターネットの普及に伴い、多数のユーザが共通のサーバを介して各自の通信端末(ゲーム機、携帯電話機、パーソナルコンピュータなど)の間で通信を行うことによりプレイするネットワークゲームも普及している。ネットワークゲームには、不特定多数のユーザから対戦相手を探すことができるという、直接対戦形式のゲームにはないメリットがある。しかし、全く見知らぬ相手と対戦ゲームを行うことに抵抗を感じるユーザも少なくない。このようなユーザは、互いの通信端末をサーバを介さずに直接接続して対戦するような友人がいれば、通信端末をサーバに接続したときでも、まず、その友人にコンタクトを取ることが多い。このような友人関係をネットワークゲームの内容に反映するネットワークゲーム情報管理システムが公開されている(特許文献1を参照)。
特開2003−93745号公報
しかしながら、友人ユーザがサーバに接続していないときは、依然として見知らぬユーザにコンタクトを取らなければゲームをプレイすることができず、敷居の高さが残る。このような問題は、オンラインゲームに限らず、不特定多数のユーザの通信端末がサーバを介して相互に通信を行う他の任意のシステム(例えば、オンラインチャットシステムやファイル交換システム)でも起こりうる。このような通信システムでは、ユーザが友人以外のユーザに通信を申し込みやすくし、友人関係の幅を広げられるようにする工夫が求められている。
そこで、本発明は、ユーザが通信を申し込みやすい相手を容易に探せるようにする通信システム、サーバ、プログラムおよび通信方法を提供することを課題とする。
一つの側面において、本発明は、サーバと、サーバがアクセス可能な第1の記憶装置と、通信ネットワークを介してサーバに接続し、サーバを介して相互に通信することの可能な複数の通信端末とを備える通信システムに関する。一の通信端末がサーバに接続すると、サーバは、一以上のユーザIDを含む候補者リストを当該一の通信端末に送信し、当該一の通信端末は、候補者リスト中のユーザIDを指定する入力を受けると、当該指定されたユーザIDを使用する他の通信端末とサーバを介して通信する。通信端末の各々は、第2の記憶装置を有しており、他の通信端末と通信すると、当該他の通信端末からユーザIDを受信し、そのユーザIDを含む通信者リストを作成して第2の記憶装置に格納する。通信者リストの一例は、下記の実施形態における友人リストである。通信端末の各々は、サーバに接続すると、第2の記憶装置から通信者リストを読み取り、当該通信端末が使用するユーザIDと共にサーバに送信する。サーバは、一の通信端末から一の通信者リストおよび一のユーザIDを受信すると、当該一の通信者リストを当該一のユーザIDに関連付けて第1の記憶装置に格納する一方で、一の通信者リスト内のユーザIDと、一の通信者リスト内のユーザIDに関連付けられて第1の記憶装置に格納された他の通信者リスト内のユーザIDとを集めて候補者リストを作成する。
通信を希望するユーザの通信端末で作成された通信者リスト内のユーザIDは、そのユーザが過去に通信を行ったことのあるユーザのIDなので、そのユーザにとって通信を申し込みやすい。また、その通信者リスト内のユーザIDに関連付けられた他の通信者リスト内のユーザIDを使用するユーザも、共通のユーザと通信したことを話題にできる相手なので、全くつながりのないユーザに比べれば、通信を希望するユーザにとって通信を申し込みやすい。通信を希望するユーザの通信端末には、このようなユーザIDを集めた候補者リストが提供されるので、当該ユーザは、通信を申し込みやすい相手を容易に探すことができる。これにより、通信システムを利用するユーザの利便性が高まる。
サーバは、一の通信者リストから一のユーザIDを読み取り、当該一のユーザIDを使用する通信端末がサーバに接続中であるか否かを判断し、接続中であると判断したときに当該一のユーザIDを候補者IDに選定し、当該一のユーザIDに関連付けられて第1の記憶装置に格納された他の通信者リストからユーザIDを順次に読み取り、読み取った各ユーザIDを使用する通信端末がサーバに接続中であるか否かを判断し、接続中であると判断したときに当該ユーザIDを候補者IDに選定し、前記一の通信者リストから次のユーザIDを読み取る、という処理を繰り返して選定した候補者IDを集めて候補者リストを作成してもよい。
この構成では、サーバに通信端末を接続させているユーザのIDのみが候補者リストに登録されるので、オフラインのユーザIDを候補者IDとしてユーザに提供して、ユーザの時間を浪費させるようなことはない。
一の通信端末が作成した通信者リスト内では、ユーザIDの各々が、当該ユーザIDを使用する他の通信端末と前記一の通信端末との通信回数に関連付けて格納されていてもよい。サーバは、より多い通信回数に関連付けられたユーザIDほど先に一の通信者リストから読み取ってもよい。
通信回数の多いユーザIDや、そのようなユーザIDに関連付けられた通信者リスト内のユーザIDが優先的に候補者の選定対象とされるので、選定された候補者IDがユーザにとって実際に通信を申し込みやすい相手を表している可能性が高い。
通信端末の各々は、サーバを介することなく他の通信端末と直接通信を行うことが可能であってもよい。上記の通信回数は、この直接通信の回数であってもよい。
サーバを介さない直接通信を行ったことのあるユーザ同士は、現実に面識があり、したがって、通信を申し込みやすい関係にあると考えられる。上記の構成では、この直接通信の回数を重視した順序で候補者IDが選定されるので、選定された候補者IDがユーザにとって実際に通信を申し込みやすい相手を表している可能性が更に高まる。
一の通信端末が作成した通信者リスト内では、当該通信者リスト内の各ユーザIDが、当該ユーザIDを使用する他の通信端末と前記一の通信端末との最新通信日時に更に関連付けられていてもよい。サーバは、同じ通信回数に関連付けられた複数のユーザIDのうち、より新しい最新通信日時に関連付けられたユーザIDほど先に一の通信者リストから読み取ってもよい。
通信回数が同じなら、より新しい日時に通信を行っているユーザの方が通信を申し込みやすい相手と考えられる。上記の構成では、最新通信日時の新しいユーザIDが優先的に候補者IDとして選定されるので、選定された候補者IDがユーザにとって実際に通信を申し込みやすい相手を表している可能性がいっそう高まる。
サーバは、候補者リスト内のユーザIDの数が所定の上限に達したときに候補者リストの作成を終了してもよい。候補者リスト内の候補者IDの数を適当に制限することで、候補者リストが閲覧しやすくなり、サーバ、通信端末双方の処理負担が軽減される。
候補者リストでは、候補者IDが選定された順序で候補者IDが配列されていてもよい。候補者IDが選定された順序のまま候補者リストに候補者IDを格納することで、候補者IDを一時的に記憶するための記憶容量を抑えることができ、また、効率良く候補者リストを作成できる。また、候補者IDの配列順が、そのまま候補者IDの優先順位を表すので、優先順位を表すために特別なデータを用意する必要はない。したがって、候補者リストを記憶するための記憶容量を削減できる。
通信端末の各々は、表示装置を有していてもよい。通信端末は、サーバから候補者リストを受信すると、候補者IDが配列された順序で候補者IDを候補者リストから読み取り、当該候補者IDに対応する表記を当該順序で配列して表示装置上に表示してもよい。候補者IDに対応する表記の一例は、候補者IDに対応するユーザ名である。
この構成では、候補者IDをその配列順に読み取り、対応する表記をその配列順で表示するため、候補者IDや表記データを一時的に記憶するための記憶容量を抑えることができ、また、表示のための処理を効率良く実行できる。
候補者IDに対応する表記の配列順序は、任意の順序でソートできるようになっていてもよい。これにより、候補者IDの数が多い場合でも、所望の通信相手を容易に探索できるようになる。
別の側面において、本発明は、通信ネットワークを介して複数の通信端末が接続され、第1の記憶装置にアクセス可能なサーバに関する。これら複数の通信端末は、当該サーバを介して相互に通信することが可能である。通信端末の各々は、第2の記憶装置を有しており、他の通信端末と通信すると、当該他の通信端末からユーザIDを受信し、そのユーザIDを含む通信者リストを作成して第2の記憶装置に格納する。また、通信端末の各々は、サーバに接続すると、第2の記憶装置から通信者リストを読み取り、当該通信端末が使用するユーザIDと共にサーバに送信し、サーバから一以上のユーザIDを含む候補者リストを受信し、当該候補者リスト中のユーザIDを指定する入力を受けると、当該指定されたユーザIDを使用する他の通信端末とサーバを介して通信する。サーバは、一の通信端末から一の通信者リストおよび一のユーザIDを受信すると、当該一の通信者リストを当該一のユーザIDに関連付けて第1の記憶装置に格納する手段と、前記一の通信者リスト内のユーザIDと、前記一の通信者リスト内のユーザIDに関連付けられて第1の記憶装置に格納された他の通信者リスト内のユーザIDとを集めて候補者リストを作成する手段と、その候補者リストを前記一の通信端末に送信する手段とを備えている。
更に別の側面において、本発明は、通信ネットワークを介して複数の通信端末が接続され、第1の記憶装置にアクセス可能なサーバを制御するプログラムに関する。これら複数の通信端末は、サーバを介して相互に通信することが可能である。通信端末の各々は、第2の記憶装置を有しており、他の通信端末と通信すると、当該他の通信端末からユーザIDを受信し、そのユーザIDを含む通信者リストを作成して第2の記憶装置に格納する。また、通信端末の各々は、サーバに接続すると、第2の記憶装置から通信者リストを読み取り、当該通信端末が使用するユーザIDと共にサーバに送信し、サーバから一以上のユーザIDを含む候補者リストを受信し、当該候補者リスト中のユーザIDを指定する入力を受けると、当該指定されたユーザIDを使用する他の通信端末とサーバを介して通信する。このプロラムは、一の通信端末から一の通信者リストおよび一のユーザIDを受信すると、当該一の通信者リストを当該一のユーザIDに関連付けて第1の記憶装置に格納する一方で、前記一の通信者リスト内のユーザIDと、前記一の通信者リスト内のユーザIDに関連付けられて第1の記憶装置に格納された他の通信者リスト内のユーザIDとを集めて候補者リストを作成するステップと、その候補者リストを前記一の通信端末に送信するステップとをサーバに実行させる。
更に別の側面において、本発明は、サーバと、サーバがアクセス可能な第1の記憶装置と、第2の記憶装置を有し、通信ネットワークを介してサーバに接続する複数の通信端末とを備える通信システムにおいて、これら複数の通信端末間で通信を行う方法に関する。この通信方法は、一の通信端末が、他の通信端末と通信したときに、当該他の通信端末からユーザIDを受信するステップと、他の通信端末から受信したユーザIDを列挙する通信者リストを作成して第2の記憶装置に格納するステップと、通信端末が、通信ネットワークを介してサーバに接続したときに、第2の記憶装置から通信者リストを読み取り、当該通信端末が使用するユーザIDと共にサーバに送信するステップと、サーバが、一の通信端末から一の通信者リストおよび一のユーザIDを受信すると、当該一の通信者リストを当該一のユーザIDに関連付けて第1の記憶装置に格納する一方で、前記一の通信者リスト内のユーザIDと、前記一の通信者リスト内のユーザIDに関連付けられて第1の記憶装置に格納された他の通信者リスト内のユーザIDとを集めて候補者リストを作成するステップと、サーバが、一以上のユーザIDを含む候補者リストを前記一の通信端末に送信するステップと、前記一の通信端末が、候補者リスト中のユーザIDを指定する入力を受けて、当該指定されたユーザIDを使用する他の通信端末とサーバを介して通信するステップと、を備えている。
本発明によれば、ユーザが通信を申し込みやすい相手を容易に探せるようにする通信システム、サーバ、プログラム、および通信方法を提供し、通信システムを利用するユーザの利便性を高めることができる。
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
以下では、本発明に係る通信システムの一実施形態として、ネットワークゲームシステムを説明する。図1は、このネットワークゲームシステム100の構成を示す概略図である。ネットワークゲームシステム100は、複数の通信端末1と、通信ネットワーク2と、サーバ3から構成されている。通信端末1の各々は、通信ネットワーク2を介してサーバ3に接続し、サーバ3を介して他の通信端末と通信を行うことが可能である。ネットワークゲームシステム100では、このような通信を利用して、一の通信端末1を操作するユーザが他の通信端末1を操作するユーザと対戦プレイを楽しむことができるようになっている。
図2は、通信端末1間の通信の形態を説明するための概略図である。図2に示されるように、通信端末1は、サーバ3を介して他の通信端末1と通信できるほか、他の通信端末1と直接、通信を行うことも可能である。この直接通信は、例えば、通信端末1同士を通信ケーブルを用いて接続し、あるいは通信端末1間で無線通信を行うことにより実現することができる。したがって、複数のユーザが通信端末1を持ち寄って直接通信を行うことにより、サーバ3を介さずに対戦を行うことが可能である。
通信端末1は、サーバ3のクライアントとして動作する。通信端末1の例としては、携帯電話機や、通信機能を有するパーソナルコンピュータ、ゲーム機、PDA(Personal Data Assistant)などを挙げることができる。通信端末1は、携帯電話機などの移動体端末であってもよいし、デスクトップ型コンピュータなどの固定端末であってもよい。
図3は、通信端末1の構成を示すブロック図である。通信端末1は、CPU(Central Processing Unit:中央処理装置)10、RAM(Random Access Memory:ランダムアクセスメモリ)12、ストレージ部14、通信部16、入力装置20、および表示装置22を有する。これらの構成要素はバス24によって相互に接続されている。データおよび制御信号はバス24を通じてこれらの構成要素間を伝送される。
CPU10は、ゲームプログラムを実行して通信端末1の動作を制御する制御演算装置である。RAM12は、CPU10がゲームプログラムを実行するために使用する主記憶装置である。RAM12には、CPU10が実行するゲームプログラムおよびその実行に必要なデータが格納される。
ストレージ部14は、通信端末1の補助記憶装置であり、内蔵メモリ14aと、外付けメモリ15用の読み取り装置14bとを含んでいる。内蔵メモリ14aは、通信端末1の内部に固定された記憶装置であり、例えば、フラッシュメモリなどの不揮発性メモリや、ハードディスクドライブである。内蔵メモリ14aには、ユーザデータ51、友人リスト52および対戦履歴リスト53が格納される。これらのデータの詳細については、後述する。
読み取り装置14bは、通信端末1に着脱自在の外付けメモリ15からデータを読み取るための装置である。外付けメモリ15は、例えば、CD−ROM、DVD−ROM、その他のディスク媒体、または各種のカード型メモリである。
本実施形態では、ゲームプログラムが内蔵メモリ14aに格納されている。ゲームプログラムの実行時には、内蔵メモリ14aからRAM12にゲームプログラムが読み込まれる。ただし、ゲームプログラムは、外付けメモリ15に格納され、読み取り装置14bによってRAM12に読み込まれてもよい。
通信部16は、通信インターフェース17と個別通信部18を含んでいる。通信インターフェース17は、通信ネットワーク2に接続して、通信端末1とサーバ3との間の通信を制御する。通信インターフェース17と通信ネットワーク2との接続は、無線方式でも有線方式でもよい。個別通信部18は、他の通信端末1の個別通信部18と接続され、通信端末1間でのサーバ3を介さない直接の通信を制御する。個別通信部18同士の接続は、無線方式(例えば赤外線通信、無線LAN)でも有線方式(例えばケーブル接続)でもよい。
入力装置20は、通信端末1に命令およびデータを入力するために使用される。入力装置20は、ボタン、ダイヤル、キーボード、マウス、スタイラスなど、ユーザによって直接操作される装置であってもよいし、ユーザの発する音声を判別する音声認識装置であってもよい。
表示装置22は、CPU10の制御のもとで各種の情報を表示する。後述するように、サーバ3から受信する対戦候補者のリストも表示装置22上に表示される。
サーバ3は、クライアントである通信端末1にネットワークゲームサービスを提供するコンピュータシステムである。サーバ3は、単一のコンピュータから構成されていてもよいし、相互に連携して動作する複数のコンピュータから構成されていてもよい。
図4は、サーバ3の構成を示すブロック図である。サーバ3は、CPU30、RAM32、ハードディスクドライブ34、通信装置36、入力装置38、および表示装置40を有する。これらの構成要素はバス42によって相互に接続されている。データおよび制御信号はバス42を通じてこれらの構成要素間を伝送される。
CPU30は、サーバプログラムを実行してサーバ3の動作を制御する制御演算装置である。RAM32は、CPU30がサーバプログラムを実行するために使用する主記憶装置である。RAM32には、CPU30が実行するサーバプログラムおよびその実行に必要なデータが格納される。
ハードディスクドライブ34は、サーバ3の補助記憶装置である。ハードディスクドライブ34には、サーバプログラムのほかに、ユーザ情報データベース54および友人リスデータベース55が格納されている。これらのデータベース(以下、「DB」)の詳細は後述する。サーバの起動時には、ハードディスクドライブ34からRAM32にサーバプログラムが読み込まれ、CPU30によって実行される。
通信装置36は、通信ネットワーク2とサーバ3との間の通信を制御する。入力装置38は、サーバ3に命令およびデータを入力するために使用される。表示装置40は、CPU30の制御のもとで各種の情報を表示する。
図5は、通信端末1の内蔵メモリ14aに記憶されたユーザデータ51の構成を示す概略図である。ユーザデータ51は、通信端末1を操作するユーザに関する情報、すなわち、「ユーザID」、「ユーザ名」、「登録日時」および「最新対戦日時」を含んでいる。これらの情報は相互に関連付けられている。ユーザIDは、この通信端末1を操作するユーザに割り当てられた固有のID(Identification Data:識別データ)であり、ユーザ名は、ユーザがゲームプレイ中に使用する名前である。登録日時は、ユーザがサーバ3からユーザIDの発行を受けた日時であり、最新対戦日時は、ユーザが他のユーザと対戦を行った最新の日時である。
図6は、通信端末1の内蔵メモリ14aに記憶された友人リスト52の構成を示す概略図である。図6(a)に示されるように、友人リスト52は、順次に配列された複数の友人データ56から構成されている。これらの友人データ56は、優先順位の高い順に友人リスト52の先頭から並べられている。また、友人リスト52に格納できる友人データ56の数には上限が定められている。以下では、この上限をM(自然数)で表す。
図6(b)は、友人データの構成を概略的に示している。本実施形態では、過去に対戦をした相手ユーザを「友人」とみなし、その相手ユーザのID、その他の情報を集めて友人データ56を作成する。図6(b)に示されるように、友人データ56は、そのデータ項目として、「ユーザID」、「ユーザ名」、「最古対戦日時」、「最新対戦日時」、「直接対戦回数」、「直接対戦勝敗」、「サーバ対戦回数」、および「サーバ対戦勝敗」を含んでいる。これらの情報は相互に関連付けられている。ユーザIDおよびユーザ名は、あるユーザが通信端末1を操作して他のユーザ(すなわち、対戦者)と対戦を行ったときの当該対戦者のユーザIDおよびユーザ名である。最古対戦日時および最新対戦日時は、両ユーザが対戦した最も古い日時と最も新しい日時である。直接対戦回数は、両ユーザの通信端末1をサーバ3を介さずに直接接続して対戦を行った回数であり、直接対戦勝敗は、それらの対戦の勝敗結果を示すデータである。サーバ対戦回数は、両ユーザの通信端末1をサーバ3に接続して対戦を行った回数であり、サーバ対戦勝敗は、それらの対戦の勝敗結果を示すデータである。
友人リスト52内では、直接対戦回数が多い友人データ56ほど上位に配置される。この点については、後で詳細に説明する。なお、本明細書では、友人リスト52に登録された友人データ56内のユーザIDを使用するユーザのことを、「友人リスト52に登録されたユーザ」と述べることがある。
図7は、通信端末1の内蔵メモリ14aに記憶された対戦履歴リスト53の構成を示す概略図である。図7(a)に示されるように、対戦履歴リスト53は、複数の対戦履歴データ57から構成されている。なお、対戦履歴リスト53中の対戦履歴データ57の数には上限を設けてもよい。
図7(b)は、対戦履歴データ57の構成を概略的に示している。図7(b)に示されるように、対戦履歴データ57は、そのデータ項目として、「ユーザID」、「勝敗」、および「対戦形式」を含んでいる。これらの情報は相互に関連付けられている。ユーザIDは、ユーザが通信端末1を操作して他のユーザ(すなわち、対戦者)と対戦を行ったときの当該対戦者のユーザIDである。勝敗は、対戦の結果、すなわち勝ちまたは敗けのいずれかを示すデータである。対戦形式は、当該対戦が通信端末1をサーバ3を介さず直接接続して行う直接対戦か、通信端末1をサーバ3に接続して行うサーバ対戦のいずれかを示すデータである。
なお、通信端末1を複数のユーザで共用する場合、内蔵メモリ14aには複数のユーザデータ51、友人リスト52および対戦履歴リスト53が記憶されることになる。各ユーザのユーザデータ51、友人リスト52および対戦履歴リスト53は、当該ユーザのIDに関連付けて記憶される。ユーザデータ51、友人リスト52および対戦履歴リスト53は、一つのセーブデータとして記憶されていてもよい。
以下では、通信端末1およびサーバ3によって実行される処理を説明する。図8は、通信端末1上でのゲーム実行処理を示すフローチャートである。この処理は、通信端末1上で動作するゲームプログラムによって制御される。ゲームプログラムが実行されると、最初に、当該ゲームをプレイするユーザが新規のユーザ名を使用するか否かを照会する画面が表示装置22上に表示される(ステップS802)。ユーザが新規のユーザ名を使用することを選択すると(ステップS802にてYes)、ユーザ情報登録処理が実行される(ステップS804)。
図9は、ユーザ情報登録処理を示すフローチャートである。この図には、この処理に関連してサーバ3が実行する処理のフローも併せて示されている。この処理は、サーバ上で動作するサーバプログラムによって制御される。
通信端末1は、ユーザにユーザ名の入力を促す画面を表示して、ユーザ名の入力を受け付ける(ステップS902)。ユーザが入力装置20を操作してユーザ名を入力すると(ステップS904)、通信端末1は、入力されたユーザ名と共にID発行要求をサーバ3に送信する(ステップS906)。サーバ3は、ID発行要求とユーザ名を受信すると(ステップS922)、そのユーザ名に固有のユーザIDを発行し、その発行日時と共に通信端末1に送信する(ステップS924)。なお、サーバ3から通信端末1へデータ送信を行う際の通信端末1の特定は、通信端末1から送信された要求に含まれるIPアドレスを用いて行う。この点は、以下の処理においても同様である。
サーバ3は更に、当該ユーザ名およびユーザIDを相互に関連付けて、ハードディスクドライブ34内のユーザ情報データベース54に登録する(ステップS926)。図10は、ユーザ情報データベース54の構成を示す概略図である。図10(a)に示されるように、ユーザ情報データベース54は、ユーザデータ58を集積するデータベースである。図10(b)に示されるように、ユーザデータ58は、上述した通信端末1側のユーザデータ51と同じ情報を含んでいる。サーバ3は、ユーザIDおよびユーザ名と共にユーザIDを発行した日時を相互に関連付けてユーザデータ58を作成し、ユーザ情報データベース54内に格納する。ここで、ID発行日時は、ユーザデータ51における「登録日時」として記憶される。また、ここでは、ユーザデータ58内の最新対戦日時は空白とされる。サーバ3は、ユーザ情報データベース54内のユーザデータ58に自由にアクセスすることができる。
なお、通信端末1へのユーザIDの送信(ステップS904)とユーザ情報データベース54への登録(ステップS936)とは逆の順序で実行してもよいし、並列して実行してもよい。
通信端末1は、サーバ3からユーザIDを受信すると(ステップS908)、そのユーザIDを、ステップS904で入力されたユーザ名およびサーバ3から受信したID発行日時に関連付けてユーザデータ51を作成し、内蔵メモリ14aに記憶する(ステップS910)。ここでも、ID発行日時は、ユーザデータ51における「登録日時」として記憶され、また、ユーザデータ51内の「最新対戦日時」は空白とされる。
再び図8を参照する。ユーザが新規ユーザ名を使用しないことを選択すると(ステップS802にてNo)、通信端末1は、内蔵メモリ14a内のユーザデータ51から登録済みのユーザ名を読み取り、それらのユーザ名を画面に表示し、ユーザに以降のゲームプレイで使用するユーザ名の選択を促す(ステップS806)。ユーザが入力装置20を操作してユーザ名を選択し(ステップS808)、あるいはユーザデータ登録処理(ステップS804)が完了すると、通信端末1は、タイトル画面を表示し、命令の入力を待機する(ステップS810)。
タイトル画面には、ユーザがプレイ可能な幾つかのプレイモードを表すボタンが表示される。これらのプレイモードとしては、シングルプレイ、直接対戦およびサーバ対戦がある。シングルプレイは、ユーザが単独でゲームをプレイするモードである。直接対戦およびサーバ対戦は、ユーザ同士で対戦を行うプレイモードである。なお、これらの対戦は、3人以上のユーザが同時に参加して行われるものであってもよい。タイトル画面には、ゲームプログラムの終了を命令するための終了ボタンも表示される。ユーザは入力装置20を操作していずれかのボタンをクリックすることにより、そのボタンに対応したプレイモードの指定あるいはゲームプログラムの終了を通信端末1に命令することができる。
ゲームプログラムの終了が命令されると(ステップS812にてYes)、タイトル画面がクリアされ、ゲームプログラムが終了する。ゲームプログラムの終了が命令されず(ステップS812にてNo)、いずれかのプレイモードが指定されると(ステップS814)、そのプレイモードに対応した処理が実行される。以下では、各プレイモードに対応する処理を順次に説明する。
ステップS814にてシングルプレイモードが指定されると、通信端末1はシングルゲーム処理を実行する(ステップS816)。この場合、通信端末1は、他の通信端末1と通信を行わずに、スタンドアロンでシングルゲーム用のプログラムを実行する。
ステップS814にて直接対戦モードが指定されると、通信端末1は直接対戦処理を実行する(ステップS818)。直接対戦モードは、通信端末1が、個別通信部18を介して、他の通信端末1と直接の通信接続を確立していることが前提となる。以下では、一方の通信端末1を操作するユーザを単に「ユーザ」と呼び、他方の通信端末1を操作するユーザを「対戦者」と呼ぶことにする。
図11は、直接対戦処理を示すフローチャートである。この処理では、まず、通信端末1間の通信接続が確立されているか否かが確認される(ステップS1102)。通信接続が確立されていない場合、通信端末1はエラーメッセージを表示した後、タイトル画面を再び表示する。通信接続が確立されていれば、通信端末1間でユーザ名およびユーザIDの交換が行われる(ステップS1104)。通信端末1は、ステップS808で選択され、あるいはユーザデータ登録処理(S804)で入力されたユーザ名と、そのユーザ名に関連付けられたユーザIDをユーザデータ51から読み取り、対戦者の通信端末1に送信する。対戦者の通信端末側でも同様の処理が行われる。こうして、双方の通信端末1は、ユーザ名およびユーザIDを交換することになる。対戦者の通信端末1から受信したユーザ名およびユーザIDは、RAM12に格納されるが、必要に応じて内蔵メモリ14aに退避させてもよい。
次に、通信端末1は直接対戦ゲームを実行する(ステップS1106)。通信端末1は、対戦者の通信端末1から操作情報(対戦者がどのように通信端末1を操作したかに関する情報)を取得し、自身の操作情報と併せて所定の方法で処理し、直接対戦ゲームを進行させる。
直接対戦ゲームが終了すると、通信端末1は、内蔵メモリ14a内の各種の情報、すなわちユーザデータ51、友人リスト52、および対戦履歴リスト53を更新する(ステップS1108)。図12は、この情報更新処理を示すフローチャートである。この処理では、まず、ユーザデータ51が更新される(ステップS1201)。具体的には、ユーザデータ51内の最新対戦日時が今回の対戦日時に書き換えられる。
次に、通信端末1は、必要に応じて対戦者のユーザデータ51を友人リスト52に登録する。具体的には、まず、対戦者のユーザデータ51が友人リスト52にすでに登録されているか否かが判断される(ステップS1202)。通信端末1は、ステップS1104で受信した対戦者のユーザIDを友人リスト52内で検索し、当該ユーザIDが発見されないときは、対戦者のユーザデータが登録されていないと判断する(ステップS1202にてNo)。
この場合、通信端末1は、友人リスト52への登録ユーザ数が上限に達しているか否かを判断する(ステップS1204)。登録ユーザ数が上限に達している場合(ステップS1204にてYes)、優先順位の最も低い友人データが削除される(ステップS1206)。続いて、対戦者に関する友人データ56が作成される(ステップS1208)。登録ユーザ数が上限に達していないと判断されたときも(ステップS1204にてNo)、同様に、友人データ56が作成される。この友人データ56には、ステップS1104で取得した対戦者のユーザ名およびユーザIDがデータ項目「ユーザID」および「ユーザ名」として格納される。また、「最古対戦日時」および「最新対戦日時」には、今回の対戦の日時が格納される。「直接対戦回数」には「1」が格納される。また、「直接対戦勝ち数」には、ユーザが今回の対戦に勝利していれば「1」が、敗北していれば「0」が格納される。「サーバ対戦回数」および「サーバ対戦勝数」には「0」が格納される。
一方、ステップS1104で受信した対戦者のユーザIDが友人リスト52内で発見されたときは、対戦者のユーザデータが友人リスト52に登録されている判断される(ステップS1202にてNo)。この場合、通信端末1は、友人リスト52内において、ステップS1104で受信したユーザIDを含む友人データ56を友人リスト52から読み取り、その内容を更新する(ステップS1210)。具体的には、「最新対戦日時」が今回の対戦日時に書き換えられ、「直接対戦回数」が1だけ増分される。また、ユーザが今回の対戦に勝利していれば、「直接対戦勝数」も1だけ増分される。
続いて、通信端末1は、対戦履歴リスト53を更新する(ステップS1212)。通信端末1は、対戦者に関する対戦履歴データ57を作成し、対戦履歴リスト53に追加する。この対戦履歴データ57には、ステップS1104で取得した対戦者のユーザIDがデータ項目「ユーザID」として格納される。また、「勝敗」には今回の対戦結果を示すデータが格納され、「対戦形式」には直接対戦を示すデータが格納される。
次に、通信端末1は、直接対戦回数の多い順に友人リスト52内の友人データ56を並べ替える、すなわちソートする(ステップS1214)。同じ直接対戦回数を有する友人データ56が複数あるときは、サーバ対戦回数がより多い友人データ56ほど上位に配置される。また、直接対戦回数およびサーバ対戦回数が双方とも等しい友人データ56が複数あるときは、最新対戦日時がより新しい友人データ56ほど上位に配置される。なお、同じ直接対戦回数を有する友人データ56が複数あるときに、サーバ対戦回数よりも最新対戦日時を優先して順位を定めてもよい。この場合、同じ直接対戦回数を有する友人データ56のうち最新対戦日時がより新しい友人データ56ほど上位に配置され、直接対戦回数および最新対戦日時が等しい友人データ56については、サーバ対戦回数がより多い友人データ56ほど上位に配置される。
このほかのソート方法としては、次のような手法が考えられる。すなわち、通信端末1は、始めに対戦履歴リスト53を参照し、最新の所定数(例えば50)の対戦において直接対戦回数の多いユーザIDを含む友人データ56ほど友人リスト52内で上位に配置し、その後、上記の方法でソートを行う。この方法によれば、最新の対戦状況を友人データ56の優先順位(配列順)に、より反映しやすい。
再び図11を参照する。ユーザデータ51、友人リスト52および対戦履歴リスト53の更新が完了すると、通信端末1は、ユーザに対してゲームを再度プレイするか否かを照会する画面を表示する(ステップS1110)。ユーザが入力装置20を操作して再度のプレイを命令すると、ステップS1102以降の処理が再び実行される。一方、ユーザが再度のプレイを拒否する命令を通信端末1に入力すると、タイトル画面が表示される(ステップS810)。
次に、サーバ対戦に関する処理を説明する。ステップS814にてサーバ対戦モードが指定されると、通信端末1はサーバ対戦処理を実行する(ステップS820)。図13は、サーバ対戦処理を示すフローチャートである。この図には、通信端末1でのサーバ対戦処理に関連してサーバ3が実行する処理のフローも示されている。この処理は、サーバプログラムによって制御される。
通信端末1は、まず、通信ネットワーク2を介してサーバ3に接続し、対戦要求をサーバ3に送信する(ステップS1302)。この対戦要求は、ユーザIDと友人リスト52を伴っている。通信端末1は、現在使用中のユーザIDに関連付けられた友人リスト52を内蔵メモリ14aから読み取り、当該ユーザIDおよび対戦要求と共にサーバ3に送信する。なお、以下では、ユーザが通信端末1をサーバ3に接続させていることを、慣用的に「ユーザがサーバ3に接続している」などと表現することがある。
サーバ3は、対戦要求、ユーザIDおよび友人リスト52を通信端末1から受信すると(ステップS1322)、ハードディスクドライブ34内の友人リストデータベース55を更新する(ステップS1324)。図14は、友人リストデータベース55の構成を概略的に示している。友人リストデータベース55には、様々な通信端末1から送信された友人リスト52が蓄積されている。友人リスト52は、通信端末1から共に送信されたユーザIDに関連付けられて、友人リストデータベース55に格納される。
サーバ3は、通信端末1から対戦要求と共にユーザIDおよび友人リスト52を受信すると、当該ユーザIDに関連付けられた友人リスト52を友人リストデータベース55内で検索する。友人リスト52が発見されない場合、通信端末1から送信された友人リスト52を友人リストデータベース55に格納する。一方、友人リスト52が発見されたときは、その友人リスト52の内容を通信端末1から送信された友人リスト52の内容と一致させる。これは、友人リストデータベース55内の友人リスト52を通信端末1から送信された友人リスト52で上書きすることにより実行してもよい。このように、友人リストデータベース55内の友人リスト52は、通信端末1がサーバ3に接続したときに、通信端末1側の友人リスト52に同期される。
続いて、サーバ3は、対戦要求を発した通信端末1に提供すべき候補者リストを作成する(ステップS1326)。後述するように、サーバ3は、サーバ3に接続中のユーザのなかから所定の基準で対戦候補者を選定し、それらの対戦候補者に関する情報を列挙した候補者リストを作成して、対戦要求を発した通信端末1に提供する。
以下では、サーバ対戦モードを選択して通信端末1をサーバ3に接続させたユーザを「ユーザA」と表し、そのユーザAが使用する通信端末1を符号1Aで表す。上述のように、本実施形態では、ユーザAと対戦回数の多いユーザをユーザAの「友人」とみなす。以下では、この「友人」ユーザを符号FAで表す。友人ユーザFAにもユーザA以外に対戦回数の多いユーザがいれば、それはユーザAから見て「友人」の「友人」に当たる。以下では、この「友人の友人」ユーザを符号FFAで表す。
図15は、候補者リストの構成を概略的に示している。図15(a)に示されるように、候補者リスト60は、順次に配列された候補者データ61から構成される。図15(b)は、候補者データ61の構成を概略的に示している。候補者データ61中の「ユーザID」および「ユーザ名」は、サーバ3によって対戦候補者に選定されたユーザのユーザIDおよびユーザ名を示している。また、候補者データ61中の「友人ID」および「友人名」は、その対戦候補者が誰の「友人」であるかを示している。すなわち、対戦候補者が友人ユーザFAの友人ユーザFFAであれば、「友人ID」および「友人名」には友人ユーザFAのユーザIDおよびユーザ名が格納される。対戦候補者が友人ユーザFAの場合は、「友人ID」には友人本人であることを示す値(本実施形態では「0」)が格納され、「友人名」は空白となる。また、対戦候補者が友人ユーザでも友人の友人ユーザでもない一般ユーザの場合は、「友人ID」および「友人名」は双方とも空白となる。
候補者リスト60に登録される候補者データの数には上限が設けられている。以下では、この上限をN(自然数)で表す。サーバ3に接続中のユーザの総数が上限Nを超えている場合、一部のユーザしか候補者に選定されないことになる。候補者リストでは、優先順位の高い候補者データほど上位に配置される。本実施形態の特徴の一つは、この優先順位を決定するアルゴリズムにある。すなわち、サーバ3は、上述した友人ユーザおよび友人の友人ユーザを、その他の一般ユーザより優先して候補者に選定する。
以下では、図16を参照しながら、候補者リスト作成処理を具体的に説明する。図16は、候補者リスト作成処理を示すフローチャートである。候補者リスト60は、サーバ3のRAM32内に作成されるが、必要に応じてハードディスクドライブ34に退避させてもよい。
まず、サーバ3は、選定された候補者の数を表す変数「候補者カウント」に初期値である0をセットする(ステップS1602)。この「候補者カウント」は、候補者リスト60に列挙される候補者データ61の数が上限Nに達したか否かを判断するために使用される。
次に、サーバ3は、対戦要求と共に通信端末1Aから送信されたユーザID(ユーザAのID)に関連付けられた友人リスト52を友人リストデータベース55からRAM32に読み込む(ステップS1604)。なお、以下では、ユーザAの友人リスト52を符号52FLで、その友人リスト52FLに登録された友人ユーザFAの友人リスト52を符号52FFLで表し、両者を区別する。また、友人リスト52FLの第m位(mは自然数)に登録されている友人データを符号56で、その友人データ56内のユーザIDを使用する友人ユーザを符号FAでそれぞれ表す。
サーバ3は、友人リスト52FLの最上位に登録されている友人ユーザFAが現在、サーバ3に通信端末1を接続させているのであれば、友人ユーザFAを候補者に選定する。より具体的に説明すると、サーバ3は、まず、第1のポインタP1をRAM32内に作成し、友人リスト52における最上位の友人データ56の記憶位置をポインタP1にセットする(ステップS1606)。このポインタP1は、友人リスト52FL内の友人データ56を先頭から順に読み取るために使用される。
次に、サーバ3は、ポインタP1が示す位置に記憶された友人データ56(現在は、最上位の友人データ56)からユーザID(すなわち、友人ユーザFAのID)を読み取る(ステップS1608)。そして、サーバ3は、読み取ったユーザIDを使用してサーバ3に接続している通信端末1を探す(ステップS1610)。このような通信端末1が発見されないときは(ステップS1610にてNo)、後述するステップS1618の処理が実行される。一方、このような通信端末1が発見されたときは(ステップS1610にてYes)、サーバ3は、ポインタP1が示す位置に記憶された友人データ56(現在は、最上位の友人データ56)内のユーザIDおよびユーザ名を格納した候補者データ61を作成し、その候補者データ61を最上位に有する候補者リスト60を作成する(ステップS1612)。この候補者データ61内の「友人ID」には、候補者が友人ユーザであることを示す値「0」がセットされる。
この後、サーバ3は、選定済み候補者が一人増えたことを示すために、「候補者カウント」を1だけ増分する(ステップS1614)。続いて、サーバ3は、「候補者カウント」を上限Nと比較し、選定済みの候補者数が上限Nに達したか否かを判断する(ステップS1616)。「候補者カウント」がNに等しいときは(ステップS1616にてYes)、選定済み候補者数が上限Nに達したと判断され、候補者リストの作成が終了される。一方、「候補者カウント」がNに等しくなければ(ステップS1616にてNo)、サーバ3は、選定済み候補者数が上限Nに達していないと判断する。この場合、サーバ3は、上記の処理で候補者に選定するか否かが判断された友人ユーザ(現在は、友人ユーザFA)の友人リスト52FFLを参照し、その友人リスト52FFLに列挙されているユーザ、すなわち友人の友人ユーザFFAから候補者を選別する処理を実行する(ステップS1618)。
図17は、「友人の友人」選別処理を示すフローチャートである。サーバ3は、ステップS1608で取得した友人ユーザFA(現在は、友人ユーザFA)のIDに関連付けられた友人リスト52FFLを友人リストデータベース55からRAM32に読み込む(ステップS1702)。以下では、友人の友人リスト52FFLの第n位(nは自然数)に登録されている友人データを「友人の友人データ56FFLn」と表し、また、友人の友人データ56FFLn内のユーザIDを使用する友人の友人ユーザを符号FFAでそれぞれ表す。
サーバ3は、友人リスト52FFLの最上位に登録されているユーザ、すなわち友人の友人ユーザFFAが、現在、サーバ3に通信端末1を接続させているのであれば、友人の友人ユーザFFAを候補者に選定する。より具体的に説明すると、サーバ3は、まず、第2のポインタP2をRAM32内に作成し、友人の友人リスト52FFLにおいて最上位に配置された友人の友人データ56FFL1の記憶位置をポインタP2にセットする(ステップS1704)。このポインタP2は、友人リスト52FFL内の友人の友人データ56を先頭から順に読み取るために使用される。
次に、サーバ3は、ポインタP2が示す位置に記憶された友人の友人データ56(現在は、最上位の友人データ56FFL1)からユーザID(すなわち、友人の友人ユーザFFAのID)を読み取る(ステップS1706)。そして、サーバ3は、読み取ったユーザIDを使用してサーバ3に接続している通信端末1を探す(ステップS1708)。このような通信端末が発見されないときは(ステップS1708にてNo)、後述するステップS1722以降の処理が実行される。一方、このような通信端末1が発見されたときは(ステップS1708にてYes)、サーバ3は、ポインタP2が示す位置に記憶された友人の友人データ56(現在は、最上位の友人の友人データ56FFL1)内のユーザIDおよびユーザ名を含む候補者データ61を作成し、その候補者データ61を候補者リスト60に登録する(ステップS1710)。この段階では、候補者データ61内の「友人ID」および「友人名」は空白である。候補者リスト60に既に他の候補者データ61が登録されている場合、新しい候補者データ61は既存の最下位の候補者データ61の次の順位に配置される。
次に、サーバ3は、登録された候補者データ61内のユーザID、すなわち友人の友人ユーザFFAのIDが、ユーザAの友人リスト52内に存在するか否かを確認する(ステップS1712)。友人の友人ユーザFFAのIDがユーザAの友人リスト52内に存在する場合(ステップS1712にてYes)、そのユーザFFAは、ユーザAの「友人の友人」であると同時に、ユーザAの「友人」でもある。この場合、ステップS1710で登録された候補者データ61の「友人ID」には、候補者が友人ユーザであることを示す値「0」がセットされる(ステップS1714)。一方、友人の友人ユーザFFAのIDが友人リスト52A内に存在しない場合は(ステップS1712にてNo)、候補者データ61の「友人ID」および「友人名」に、友人ユーザFA(現在は、友人ユーザFA)のユーザIDおよびユーザ名がそれぞれセットされる(ステップS1716)。
この後、サーバ3は、選定済み候補者が一人増えたことを示すために、「候補者カウント」を1だけ増分する(ステップS1718)。続いて、サーバ3は、「候補者カウント」を上限Nと比較し、選定済みの候補者の数が上限Nに達したか否かを判断する(ステップS1720)。「候補者カウント」がNに等しいときは(ステップS1720にてYes)、サーバ3は、選定済み候補者数が上限Nに達したと判断され、候補者リストの作成が終了される。一方、「候補者カウント」がNに等しくなければ(ステップS1720にてNo)、サーバ3は、選定済み候補者数が上限Nに達していないと判断する。この場合、サーバ3は、友人の友人リスト52FFLに登録された全ての友人の友人データ56に対してステップS1706以降の処理を実行したか否かを判断する(ステップS1722)。未処理の友人の友人データ56が友人の友人リスト52FFLに残っている場合(ステップS1722にてNo)、サーバ3は、友人の友人リスト52FFL中の次の順位(ここでは、第2位)の友人データ56の記憶位置をポインタP2にセットする(ステップS1724)。その後、ステップS1706以降の処理が再び実行される。
一方、友人の友人リスト52FFL中に未処理の友人の友人データ56が存在しない場合は(ステップS1722にてYes)、サーバ3は、友人リスト52FLに登録された全ての友人データ56に対してステップS1608以降の処理を実行したか否かを判断する(ステップS1726)。未処理の友人データ56が友人リスト52FLに残っている場合(ステップS1726にてNo)、サーバ3は、友人リスト52FL中の次の順位の友人データ56の記憶位置をポインタP1にセットする(ステップS1728)。その後、ステップS1608以降の処理が再び実行される。
上述のように、友人リストおよび友人の友人リストに登録されたユーザから上記の手順で候補者を選別する途中で選定済み候補者の数が上限Nに達すると、そこで候補者リストの作成は終了する。しかし、これらのユーザの全てについて選別が終了し、なお選定済み候補者の数が上限Nに達していない可能性もある。この場合、サーバ3は、候補者数が上限Nに達するまで、サーバ3に通信端末1を接続させている他の一般ユーザを候補者に選定し、候補者データ61を作成して候補者リスト60に追加する(ステップS1730)。一般ユーザの候補者データ61内の「友人ID」および「友人名」は、いずれも空白にされる。一般ユーザから候補者を選別するアルゴリズムは任意である。
再び図13を参照する。サーバ3は、ステップS1326で作成した候補者リスト60を、通信端末1Aに送信する(ステップS1328)。通信端末1Aは、サーバ3から候補者リスト60を受信し、当該リスト60に列挙される候補者データ61からユーザ名を読み取り、表示装置22上に表示する(ステップS1304)。
図18は、対戦候補者たるこれらのユーザ名を示す候補者リスト画面の一例を示している。「ニックネーム」欄71には、サーバ3から受信した候補者リスト60内のユーザ名が、スクロール可能なリストとして表示される。ユーザは、入力装置20を操作してカーソル75を移動させることにより、「ニックネーム」欄71に列挙されるユーザ名を上下にスクロールさせることができる。この場合、後述する「誰の友達?」、「最終対戦日時・対戦形式」および「友情度」の表示もユーザ名と共にスクロールする。ユーザは、ユーザ名の一つにカーソル75を合わせ、入力装置20を所定の方法で操作する(例えば、所定のボタンを押す)ことにより、そのユーザ名を指定する入力を行うことができる。
「誰の友達?」欄72には、「ニックネーム」欄71内のユーザ名がどのユーザの「友人」であるかを示すため、候補者リスト60においてそのユーザ名に関連付けられた「友人名」が表示される。この「友人名」が空白であり、対応する「友人ID」が「0」の場合は、「ニックネーム」欄71内のユーザ名はユーザA自身の「友人」に該当するので、「誰の友達?」欄72には「自分」が表示される。「友人名」および「友人ID」が共に空白の場合は、「ニックネーム」欄71内のユーザ名がユーザAの「友人」でも「友人の友人」でもないことになり、そのことを示すため、「誰の友達?」欄72には「−−−」が表示される。
「最終対戦日時・対戦形式」欄73には、これらのユーザ名を使用するユーザと過去に対戦したことがあれば、最新の対戦日時と対戦形式が表示される。対戦形式の「リアル」は直接対戦を意味し、「オンライン」はサーバ対戦を意味する。
「友情度」欄74は、対戦候補者が友人ユーザであるか、友人の友人ユーザであるか、他の一般ユーザであるかを示す「友情度」が符号S,A,BおよびCとして表示される。「友情度」は、S,A,BおよびCの順に高い親密度を示す。具体的に述べると、「S」と「A」は友人ユーザを示している。「S」と「A」の違いは、直接対戦の経験の有無である。すなわち、Sは過去に直接対戦の経験がある友人ユーザを示し、Aはサーバ対戦の経験しかない友人ユーザを示している。Bは友人の友人ユーザを示し、「C」はその他の一般ユーザを示している。
通信端末1Aは、候補者データ61内の友人IDが「0」であれば、「友情度」を「S」または「A」に設定する。この場合、通信端末1Aは、候補者データ61内のユーザIDを読み取り、当該ユーザIDを含む友人データ56を友人リスト52内で検索する。そして、通信端末1Aは、検索された友人データ56内の直接対戦回数を参照して、友人ユーザの「友情度」が「S」に該当するか「A」に該当するかを判別する。このように、本実施形態では、直接対戦の経験のある友人ユーザを、より親密なユーザとして表示する。候補者データ61内の「友人ID」が「0」でも空白でもなければ、通信端末1Aは、当該候補者データ61内の「ユーザ名」を友人の友人ユーザと判断し、友情度「B」を割り当てて表示する。候補者データ61内の「友人ID」が空白のときは、通信端末1は、当該候補者データ61内の「ユーザ名」を一般ユーザの名称と判断し、友情度「C」を割り当てて表示する。
通信端末1は、候補者リスト60の候補者データ61をその配列順(優先順位)に従ってリスト先頭から順に読み取り、それらの候補者データ61に含まれる候補者のユーザ名を同じ順序で候補者リスト画面に表示する。したがって、友人リスト52FLの最上位に位置する友人ユーザFAがサーバ3に接続していれば、そのユーザ名が画面の最も上に表示される。友人ユーザFAのユーザ名の下には、友人ユーザFAの友人ユーザFFAのうちサーバ3に接続しているユーザが表示される。友人ユーザFAの友人ユーザ名の下には、友人リスト52FLの第2位に位置する友人ユーザFAがサーバ3に接続していれば、そのユーザ名が表示される。その他の一般ユーザの名称は、友人ユーザFAおよび友人の友人ユーザFFAの名称の下に表示される。
なお、候補者リスト画面の「ニックネーム」欄71に表示された候補者ユーザ名は、「誰の友達?」欄72、「最終対戦日時・対戦形式」欄73および「友情度」欄74内の項目をキーとしてソートすることができる。例えば、「誰の友達?」欄72の上に配置された文字列「誰の友達?」はクリッカブルになっており、カーソル75を合わせてクリックすると、「誰の友達?」欄72内のユーザ名が所定の順序で並べ替えられ、それに伴って他の欄内の表記も並び替えられる。他の欄73および74についても同様の操作を行うことにより、「最終対戦日時・対戦形式」や「友情度」に基づいて候補者ユーザ名をソートすることができる。このようなソートが可能なことで、候補者ユーザ名が多い場合でも、所望の対戦相手を容易に探索できるようになる。
再び図13を参照する。ユーザが入力装置20を操作して、画面上のユーザ名の一つを対戦希望者として指定すると(ステップS1306)、通信端末1Aは、その対戦希望者(ユーザB)のユーザIDを候補者データ61から読み取り、対戦申込要求およびユーザAのIDと共にサーバ3に送信する(ステップS1308)。サーバ3は、対戦申込要求を受信すると(ステップS1330)、対戦申込要求と共に受信した対戦希望者のユーザIDを使用してサーバ3に接続中の通信端末1Bに対戦申込通知を送信する(ステップS1332)。対戦申込通知は、対戦の申し込みを示すコードのほかに、対戦を申し込んでいる通信端末1Aで使用されるユーザAのユーザIDおよびユーザ名が含まれている。
通信端末1Bは、サーバ3からの対戦申込通知に応じて、対戦希望応答処理を実行する(ステップS1334)。図19は、対戦希望応答処理を示すフローチャートである。通信端末1Bは、サーバ3から対戦申込通知を受信すると(ステップS1902)、対戦を承諾するか否かを照会する画面を表示装置22上に表示する(ステップS1904)。この画面には、対戦を申し込んでいるユーザAのユーザIDおよびユーザ名が表示される。ユーザBが対戦承諾命令を通信端末1Bに入力すると(ステップS1906にてYes)、通信端末1Bは承諾通知をサーバ3に送信する(ステップS1908)。一方、ユーザBが対戦拒否命令を通信端末1Bに入力すると(ステップS1906にてNo)、通信端末1Bは拒否通知をサーバ3に送信する(ステップS1910)。
再び図13を参照する。サーバ3は、通信端末1Bから承諾通知または拒否通知のいずれかを受信し、その通知を通信端末1Aに転送する(ステップS1335)。通信端末1Aは、その通知を受信すると(ステップS1310)、通知の内容を確認し、対戦が承諾されたか否かを判断する(ステップS1312)。通知が対戦拒否を表すコードを含んでいる場合、通信端末1Aは対戦が拒否されたと判断し(ステップS1312にてNo)、対戦拒否を表すメッセージを画面に表示する(ステップS1313)。その後、通信端末1Aは、ステップS1302以降の処理を再び実行する。
一方、通知が対戦承諾を表すコードを含んでいる場合、通信端末1Aは対戦が承諾されたと判断し(ステップS1312にてYes)、サーバ3を介して通信端末1Bとの間でサーバ対戦ゲームを実行する(ステップS1314)。サーバ3も、通信端末1Bからの通知の内容を確認し(ステップS1336)、対戦が承諾された場合には、サーバ対戦を実行するための処理を行う(ステップS1338)。また、通信端末1Bでも、通信端末1Aと同じようにサーバ対戦ゲームが実行される。通信端末1Aは、サーバ3を介して通信端末1Bから操作情報(ユーザBがどのように通信端末1Bを操作したかに関する情報)を取得し、通信端末1Aの操作情報と併せて所定の方法で処理し、サーバ対戦ゲームを進行させる。同様に、通信端末1Bは、サーバ3を介して通信端末1Aから操作情報を取得し、通信端末1Bの操作情報と併せて所定の方法で処理し、サーバ対戦ゲームを進行させる。
サーバ対戦ゲームが終了すると、通信端末1Aおよび1Bは、内蔵メモリ14a内の各種の情報、すなわちユーザデータ51、友人リスト52、および対戦履歴リスト53をサーバ対戦の結果に応じて更新する(ステップS1316)。この手順は、図12を参照して説明したものと同様である。ただし、今回は、「直接対戦回数」および「直接対戦勝数」ではなく、「サーバ対戦回数」および「サーバ対戦勝数」が更新される。また、サーバ3も、ハードディスクドライブ34内の各種の情報、すなわちユーザ情報データベース54内のユーザデータ58、および友人リストデータベース55内の友人リスト52をサーバ対戦の結果に応じて更新する(ステップS1340)。
情報更新処理が完了すると、通信端末1Aおよび1Bは、ユーザに対してゲームを再度プレイするか否かを照会する画面を表示する(ステップS1318)。ユーザが入力装置20を操作して再度のプレイを命令すると、ステップS1302以降の処理が再び実行される。ユーザが再度のプレイを拒否すると、タイトル画面が表示される(ステップS810)。
以下では、本実施形態の利点を説明する。上述のように、本実施形態では、サーバ3が、サーバ対戦を希望するユーザの友人リストに登録された「友人ユーザ」、および当該「友人ユーザ」の友人リストに登録された「友人の友人ユーザ」を優先的に対戦候補者として選定し、その対戦候補者の情報をユーザの通信端末1に提供する。ユーザの友人リストに登録されている「友人ユーザ」は、ユーザと過去に対戦した経験のある者なので、多くの場合、対戦を申し込みやすいはずである。また、「友人ユーザ」の友人リストに登録された「友人の友人ユーザ」も、共通の「友人ユーザ」と対戦したという共通点があり、そのことを話題にできることから、他のユーザに比べて対戦を申し込みやすい。したがって、本実施形態のネットワークゲームシステム100では、ユーザが比較的気軽に対戦を申し込める相手を容易に探すことができ、ユーザにとって利便性が高い。
また、数多く対戦しているユーザは友人同士である可能性が高いことを考えれば、対戦回数の多いユーザを優先的に候補者に選定する本システム100は、ユーザにとって対戦を申し込みやすい候補者を確実に選定することができる。
特に、本システム100は、直接対戦の回数の多いユーザを優先的に候補者に選定するので、候補者がユーザにとって実際に対戦を申し込みやすい相手である可能性を更に高めることができる。直接対戦を行ったことのあるユーザ同士は、現実に面識があり、友人同士である確率も高い。したがって、これらのユーザは、対戦を申し込みやすい関係にあると考えられる。このようなユーザを優先的に候補者に選定することで、ユーザの友人関係を候補者リストに反映しやすくなる。この結果、ユーザは、親しみを覚える相手と容易に対戦することが可能となり、より面白みのあるゲームをプレイすることができる。
本システム100では、対戦回数が同じユーザなら、最新通信日時の新しいユーザが優先的に候補者として選定される。これにより、選定された候補者がユーザにとって実際に対戦を申し込みやすい相手である可能性をいっそう高めることができる。より新しい日時に対戦を行っているユーザの方が、お互いを記憶している可能性が高く、それだけ対戦を申し込みやすいと考えられるからである。
また、本システム100では、サーバ3に通信端末1を接続させているユーザのIDのみが候補者リスト60に登録されるので、オフラインのユーザを候補者に選定してユーザに時間を浪費させるようなことはない。
サーバ3は、候補者リスト60内の候補者データの数が上限に達したときに候補者リスト60の作成を終了する。サーバ3に接続中のユーザをすべて候補者リストに列挙しなくて良いので、サーバ3の処理負担を軽減できる。また、候補者リスト60のデータサイズが削減されるので、候補者リスト60に基づいて候補者ユーザ名を表示する通信端末1の処理負担も軽減される。また、通信端末1上に表示される候補者リスト画面が閲覧しやすくなるという利点もある。
本システム100は、候補者のIDが選定された順序のまま候補者リスト60に候補者データ61を格納することで、候補者データ61を一時的に記憶するための記憶容量を抑えることができ、また、効率良く候補者リスト60を作成できる。また、候補者データ61の配列順が、そのまま候補者データ61の優先順位を表すので、優先順位を表すために特別なデータを用意する必要はない。したがって、候補者リスト61を記憶するための記憶容量を削減できる。
本システム100では、候補者データ61をその配列順に読み取り、候補者データ61内のユーザ名を候補者データ61の配列順で表示する。このため、候補者データ61を一時的に記憶するための記憶容量を抑えることができ、また、候補者リスト画面の表示のための処理を効率良く実行できる。
候補者リスト画面では、対戦回数の多い候補者ほど上位に表示され、スクロールの必要なしに閲覧できるので、ユーザにとって対戦を申し込みやすい候補者をユーザが見つけやすい。更に、「友人ユーザ」がサーバ3に接続していなくても、「友人の友人ユーザ」が候補者に選定されうるので、選定候補者の人数が少ないという不都合も生じにくい。
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で様々な変形が可能である。例えば、上記実施形態では、サーバ3内のハードディスクドライブ34にユーザ情報DB54および友人リストDB55が格納されているが、これらのDBは、サーバ3がアクセス可能な別個のデータベースサーバに格納されていてもよい。
上記実施形態では、最初に直接対戦回数に基づいて友人リスト52がソートされるが、総対戦回数、すなわち直接対戦回数とサーバ対戦回数の合計に基づいて友人リスト52をソートしてもよい。総対戦回数が等しい複数の友人データ56に関しては、最新対戦日時がより新しい友人データ56ほど上位に配置してもよいし、直接対戦回数がより多い友人データ56ほど上位に配置してもよい。総対戦回数および最新対戦日時の双方が等しい友人データ56に関して、直接対戦回数がより多い友人データ56ほど上位に配置してもよい。また、総対戦回数および直接対戦回数の双方が等しい友人データ56に関して、最新対戦日時がより新しい友人データ56ほど上位に配置してもよい。
上記の実施形態は、本発明を、ネットワークゲームシステムに適用した例であるが、本発明は、このような例に限られるものではなく、サーバを介して通信端末間で通信を行う他の任意の通信システムにも適用することができる。このような通信システムの例としては、オンラインチャットシステムやファイル交換システムなどを挙げることができる。
上記実施形態では、通信部16が、サーバに接続するための通信装置(通信インターフェース17)と、他の通信端末1に接続するための通信装置(個別通信部18)とを有している。しかし、これらの通信装置は、両者の機能を兼ね備える単一の通信装置に置き換えてもよい。
ネットワークゲームシステムの構成を示す概略図である。 通信端末間の通信の形態を説明するための概略図である。 通信端末の構成を示すブロック図である。 サーバの構成を示すブロック図である。 通信端末に記憶されたユーザデータの構成を示す概略図である。 通信端末に記憶された友人リストの構成を示す概略図である。 通信端末に記憶された対戦履歴リストの構成を示す概略図である。 通信端末上でのゲーム実行処理を示すフローチャートである。 ユーザ情報登録処理を示すフローチャートである。 ユーザ情報データベースの構成を示す概略図である。 直接対戦処理を示すフローチャートである。 情報更新処理を示すフローチャートである。 サーバ対戦処理を示すフローチャートである。 友人リストデータベースの構成を概略的に示す図である。 候補者リストの構成を概略的に示す図である。 候補者リスト作成処理を示すフローチャートである。 「友人の友人」選別処理を示すフローチャートである。 候補者リスト画面を示す図である。 対戦希望応答処理を示すフローチャートである。
符号の説明
1…通信端末、2…通信ネットワーク、3…サーバ、34…ハードディスクドライブ、51…ユーザデータ、52…友人リスト(通信者リスト)、53…対戦履歴リスト、54…ユーザ情報データベース、55…友人リストデータベース、56…友人データ、57…対戦履歴データ、58…ユーザデータ、60…候補者リスト、61…候補者データ、100…ネットワークシステム。

Claims (17)

  1. サーバと、
    前記サーバがアクセス可能な第1の記憶装置と、
    通信ネットワークを介して前記サーバに接続し、当該サーバを介して相互に通信することの可能な複数の通信端末と、
    を備え、一の前記通信端末が前記サーバに接続すると、前記サーバは、一以上のユーザIDを含む候補者リストを前記一の通信端末に送信し、前記一の通信端末は、前記候補者リスト中のユーザIDを指定する入力を受けると、当該指定されたユーザIDを使用する他の前記通信端末と前記サーバを介して通信する通信システムであって、
    前記通信端末の各々は、第2の記憶装置を有しており、他の前記通信端末と通信すると、当該他の通信端末からユーザIDを受信し、当該ユーザIDを含む通信者リストを作成して前記第2の記憶装置に格納し、前記サーバに接続すると、前記第2の記憶装置から前記通信者リストを読み取り、当該通信端末が使用するユーザIDと共に前記サーバに送信し、
    前記サーバは、一の前記通信端末から一の前記通信者リストおよび一の前記ユーザIDを受信すると、当該一の通信者リストを当該一のユーザIDに関連付けて前記第1の記憶装置に格納する一方で、前記一の通信者リスト内のユーザIDと、前記一の通信者リスト内のユーザIDに関連付けられて前記第1の記憶装置に格納された他の前記通信者リスト内のユーザIDとを集めて前記候補者リストを作成する、
    通信システム。
  2. 前記サーバは、
    前記一の通信者リストから一のユーザIDを読み取り、
    当該一のユーザIDを使用する前記通信端末が前記サーバに接続中であるか否かを判断し、
    接続中であると判断したときに当該一のユーザIDを候補者IDに選定し、
    当該一のユーザIDに関連付けられて前記第1の記憶装置に格納された他の前記通信者リストからユーザIDを順次に読み取り、
    読み取った各ユーザIDを使用する前記通信端末が当該サーバに接続中であるか否かを判断し、
    接続中であると判断したときに当該ユーザIDを候補者IDに選定し、
    前記一の通信者リストから次のユーザIDを読み取る、
    という処理を繰り返して選定した前記候補者IDを集めて前記候補者リストを作成する、請求項1に記載の通信システム。
  3. 一の前記通信端末が作成した前記通信者リスト内では、前記ユーザIDの各々が、当該ユーザIDを使用する他の前記通信端末と前記一の通信端末との通信回数に関連付けて格納されており、
    前記サーバは、より多い前記通信回数に関連付けられた前記ユーザIDほど先に前記一の通信者リストから読み取る、
    請求項2に記載の通信システム。
  4. 前記通信端末の各々は、前記サーバを介することなく他の前記通信端末と直接通信を行うことが可能であり、前記通信回数は、この直接通信の回数である、請求項3に記載の通信システム。
  5. 一の前記通信端末が作成した前記通信者リスト内では、当該通信者リスト内の各ユーザIDが、当該ユーザIDを使用する他の前記通信端末と前記一の通信端末との最新通信日時に更に関連付けられており、
    前記サーバは、同じ前記通信回数に関連付けられた複数のユーザIDのうち、より新しい最新通信日時に関連付けられたユーザIDほど先に前記一の通信者リストから読み取る、
    請求項3または4に記載の通信システム。
  6. 前記サーバは、前記候補者リスト内のユーザIDの数が所定の上限に達したときに前記候補者リストの作成を終了する、請求項2〜5のいずれかに記載の通信システム。
  7. 前記候補者リストでは、前記候補者IDが選定された順序で前記候補者IDが配列されている、請求項2〜6のいずれかに記載の通信システム。
  8. 前記通信端末の各々は、表示装置を有しており、
    前記通信端末は、前記サーバから前記候補者リストを受信すると、前記候補者IDが配列された順序で前記候補者IDを前記候補者リストから読み取り、当該候補者IDに対応する表記を当該順序で配列して前記表示装置上に表示する、
    請求項7に記載の通信システム。
  9. 通信ネットワークを介して複数の通信端末が接続され、第1の記憶装置にアクセス可能なサーバであって、
    前記複数の通信端末は、当該サーバを介して相互に通信することが可能であり、
    前記通信端末の各々は、第2の記憶装置を有しており、他の前記通信端末と通信すると、当該他の通信端末からユーザIDを受信し、当該ユーザIDを含む通信者リストを作成して前記第2の記憶装置に格納し、前記サーバに接続すると、前記第2の記憶装置から前記通信者リストを読み取り、当該通信端末が使用するユーザIDと共に前記サーバに送信し、前記サーバから一以上のユーザIDを含む候補者リストを受信し、当該候補者リスト中のユーザIDを指定する入力を受けると、当該指定されたユーザIDを使用する他の前記通信端末と前記サーバを介して通信し、
    一の前記通信端末から一の前記通信者リストおよび一の前記ユーザIDを受信すると、当該一の通信者リストを当該一のユーザIDに関連付けて前記第1の記憶装置に格納する手段と、
    前記一の通信者リスト内のユーザIDと、前記一の通信者リスト内のユーザIDに関連付けられて前記第1の記憶装置に格納された他の前記通信者リスト内のユーザIDとを集めて前記候補者リストを作成する手段と、
    前記候補者リストを前記一の通信端末に送信する手段と、
    を備えるサーバ。
  10. 前記候補者リストを作成する手段は、
    前記一の通信者リストから一のユーザIDを読み取り、
    当該一のユーザIDを使用する前記通信端末が前記サーバに接続中であるか否かを判断し、
    接続中であると判断したときに当該一のユーザIDを候補者IDに選定し、
    当該一のユーザIDに関連付けられて前記第1の記憶装置に格納された他の前記通信者リストからユーザIDを順次に読み取り、
    読み取った各ユーザIDを使用する前記通信端末が当該サーバに接続中であるか否かを判断し、
    接続中であると判断したときに当該ユーザIDを候補者IDに選定し、
    前記一の通信者リストから次のユーザIDを読み取る、
    という処理を繰り返して選定した前記候補者IDを集めて前記候補者リストを作成する、請求項9に記載のサーバ。
  11. 一の前記通信端末が作成した前記通信者リスト内では、前記ユーザIDの各々が、当該ユーザIDを使用する他の前記通信端末と前記一の通信端末との通信回数に関連付けて格納されており、
    前記候補者リストを作成する手段は、より多い前記通信回数に関連付けられた前記ユーザIDほど先に前記一の通信者リストから読み取る、
    請求項10に記載のサーバ。
  12. 前記通信端末の各々は、前記サーバを介することなく他の前記通信端末と直接通信を行うことが可能であり、前記通信回数は、この直接通信の回数である、請求項11に記載のサーバ。
  13. 一の前記通信端末が作成した前記通信者リスト内では、当該通信者リスト内の各ユーザIDが、当該ユーザIDを使用する他の前記通信端末と前記一の通信端末との最新通信日時に更に関連付けられており、
    前記候補者リストを作成する手段は、同じ前記通信回数に関連付けられた複数のユーザIDのうち、より新しい最新通信日時に関連付けられたユーザIDほど先に前記一の通信者リストから読み取る、
    請求項11または12に記載のサーバ。
  14. 前記候補者リストを作成する手段は、前記候補者リスト内のユーザIDの数が所定の上限に達したときに前記候補者リストの作成を終了する、請求項10〜13のいずれかに記載のサーバ。
  15. 前記候補者リストでは、前記候補者IDが選定された順序で前記候補者IDが配列されている、請求項10〜14のいずれかに記載のサーバ。
  16. 通信ネットワークを介して複数の通信端末が接続され、第1の記憶装置にアクセス可能なサーバを制御するプログラムであって、
    前記複数の通信端末は、当該サーバを介して相互に通信することが可能であり、
    前記通信端末の各々は、第2の記憶装置を有しており、他の前記通信端末と通信すると、当該他の通信端末からユーザIDを受信し、当該ユーザIDを含む通信者リストを作成して前記第2の記憶装置に格納し、前記サーバに接続すると、前記第2の記憶装置から前記通信者リストを読み取り、当該通信端末が使用するユーザIDと共に前記サーバに送信し、前記サーバから一以上のユーザIDを含む候補者リストを受信し、当該候補者リスト中のユーザIDを指定する入力を受けると、当該指定されたユーザIDを使用する他の前記通信端末と前記サーバを介して通信し、
    一の前記通信端末から一の前記通信者リストおよび一の前記ユーザIDを受信すると、当該一の通信者リストを当該一のユーザIDに関連付けて前記第1の記憶装置に格納する一方で、前記一の通信者リスト内のユーザIDと、前記一の通信者リスト内のユーザIDに関連付けられて前記第1の記憶装置に格納された他の前記通信者リスト内のユーザIDとを集めて前記候補者リストを作成するステップと、
    前記候補者リストを前記一の通信端末に送信するステップと、
    をサーバに実行させるプログラム。
  17. サーバと、
    前記サーバがアクセス可能な第1の記憶装置と、
    第2の記憶装置を有し、通信ネットワークを介して前記サーバに接続する複数の通信端末と、
    を備える通信システムにおいて、前記複数の通信端末間で通信を行う方法であって、
    一の前記通信端末が、他の前記通信端末と通信したときに、当該他の通信端末からユーザIDを受信するステップと、
    前記他の通信端末から受信したユーザIDを列挙する通信者リストを作成して前記第2の記憶装置に格納するステップと、
    前記通信端末が、前記通信ネットワークを介して前記サーバに接続したときに、前記第2の記憶装置から前記通信者リストを読み取り、当該通信端末が使用するユーザIDと共に前記サーバに送信するステップと、
    前記サーバが、一の前記通信端末から一の前記通信者リストおよび一の前記ユーザIDを受信すると、当該一の通信者リストを当該一のユーザIDに関連付けて前記第1の記憶装置に格納する一方で、前記一の通信者リスト内のユーザIDと、前記一の通信者リスト内のユーザIDに関連付けられて前記第1の記憶装置に格納された他の前記通信者リスト内のユーザIDとを集めて前記候補者リストを作成するステップと、
    サーバが、一以上のユーザIDを含む候補者リストを前記一の通信端末に送信するステップと、
    前記一の通信端末が、前記候補者リスト中のユーザIDを指定する入力を受けて、当該指定されたユーザIDを使用する他の通信端末と前記サーバを介して通信するステップと、
    を備える通信方法。
JP2005099056A 2005-03-30 2005-03-30 通信システム、サーバ、プログラムおよび通信方法 Pending JP2006279814A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005099056A JP2006279814A (ja) 2005-03-30 2005-03-30 通信システム、サーバ、プログラムおよび通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005099056A JP2006279814A (ja) 2005-03-30 2005-03-30 通信システム、サーバ、プログラムおよび通信方法

Publications (1)

Publication Number Publication Date
JP2006279814A true JP2006279814A (ja) 2006-10-12

Family

ID=37214037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005099056A Pending JP2006279814A (ja) 2005-03-30 2005-03-30 通信システム、サーバ、プログラムおよび通信方法

Country Status (1)

Country Link
JP (1) JP2006279814A (ja)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009510A (ja) * 2007-06-29 2009-01-15 Square Enix Holdings Co Ltd サーバ装置、携帯電話機、対戦者選定システム及び方法、プログラム及び記録媒体
JP2009295067A (ja) * 2008-06-09 2009-12-17 Sony Corp 情報管理装置、通信処理装置、および方法、並びにプログラム
JP2010035740A (ja) * 2008-08-04 2010-02-18 Taito Corp ゲーム通信プレイにおけるマッチング相手検索システム
JP2011156390A (ja) * 2005-05-06 2011-08-18 Nintendo Co Ltd 通信ゲームシステム
JP4833351B2 (ja) * 2007-04-12 2011-12-07 ボンソク ヤン 登録された友達リストを移動するサイバーペットを媒介にして新しい友達をつくることができるインスタントメッセンジャーシステム、及びその提供方法
JP2013099437A (ja) * 2011-11-08 2013-05-23 Taito Corp ゲーム装置、ゲームプログラム
WO2013099336A1 (ja) * 2011-12-28 2013-07-04 株式会社コナミデジタルエンタテインメント ゲーム管理装置、ゲームシステム、ゲーム管理方法、プログラム及び記録媒体
JP2013138887A (ja) * 2013-03-12 2013-07-18 Konami Digital Entertainment Co Ltd ゲーム管理装置、ゲームシステム、ゲーム管理方法及びプログラム
JP2013138888A (ja) * 2013-03-12 2013-07-18 Konami Digital Entertainment Co Ltd ゲーム管理装置、ゲームシステム、ゲーム管理方法及びプログラム
JP2013138837A (ja) * 2012-10-26 2013-07-18 Konami Digital Entertainment Co Ltd ゲーム管理装置、ゲームシステム、ゲーム管理方法及びプログラム
WO2013121658A1 (ja) * 2012-02-17 2013-08-22 株式会社コナミデジタルエンタテインメント ゲーム装置,記録媒体およびゲーム管理方法
WO2013145473A1 (ja) * 2012-03-29 2013-10-03 株式会社コナミデジタルエンタテインメント サーバ装置、ゲームシステム、ゲーム制御方法、プログラム、ならびに、非一時的な記録媒体
JP2013242861A (ja) * 2012-04-27 2013-12-05 Internet Revolution:Kk 管理装置、その制御方法、及びプログラム
WO2014010276A1 (ja) * 2012-07-12 2014-01-16 株式会社コナミデジタルエンタテインメント 管理装置及びサービス提供システム
JP2014006888A (ja) * 2012-05-31 2014-01-16 Internet Revolution:Kk 管理装置、その制御方法及びプログラム、アプリケーションシステム、並びに識別情報関連付け方法
WO2014013756A1 (ja) * 2012-07-18 2014-01-23 株式会社コナミデジタルエンタテインメント 管理装置及びサービス提供システム
JP2015057117A (ja) * 2014-11-26 2015-03-26 グリー株式会社 プログラム、ゲームサーバ、及びゲームシステムの制御方法
JP2015060287A (ja) * 2013-09-17 2015-03-30 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
JP5704266B1 (ja) * 2014-01-31 2015-04-22 株式会社セガ ゲームサーバ装置およびゲームサーバプログラム
JP5724129B1 (ja) * 2014-07-29 2015-05-27 株式会社gloops 端末装置、端末装置のゲーム実行方法、ゲーム実行プログラム、ゲーム実行プログラム記録媒体、ゲームサーバ及びゲームシステム
US9050533B2 (en) 2005-05-06 2015-06-09 Nintendo Co., Ltd. Communication game system, game apparatus, server, storage medium storing a program, and game control method
JP2015150210A (ja) * 2014-02-14 2015-08-24 株式会社バイキング 遊技システム
US9669308B2 (en) 2013-07-31 2017-06-06 Gree, Inc. Non-transitory computer readable recording medium, game server, and control method
JP2018112788A (ja) * 2017-01-06 2018-07-19 任天堂株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
US10382891B2 (en) 2015-06-29 2019-08-13 Nintendo Co., Ltd. Server capable of performing authentication with simplified and secure scheme that users who operate terminals communicating data with each other satisfy prescribed relation, method of controlling server, non-transitory storage medium encoded with computer readable control program, and information processing system
JP2019191912A (ja) * 2018-04-25 2019-10-31 株式会社コロプラ プログラム、処理方法、および情報処理装置
JP2020108791A (ja) * 2012-08-06 2020-07-16 グリー株式会社 情報処理装置、制御方法及びプログラム
JP2020124539A (ja) * 2020-04-13 2020-08-20 グリー株式会社 ゲーム制御システム、ゲーム制御方法、通信端末及びゲーム制御プログラム

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9050536B2 (en) 2005-05-06 2015-06-09 Nintendo Co., Ltd. Communication game system, game apparatus, server, storage medium storing a program, and game control method
US9895614B2 (en) 2005-05-06 2018-02-20 Nintendo Co., Ltd. Communication game system, game apparatus, server, storage medium storing a program, and game control method
US9731205B2 (en) 2005-05-06 2017-08-15 Nintendo Co., Ltd. Communication game system, game apparatus, server, storage medium storing a program, and game control method
JP2011156390A (ja) * 2005-05-06 2011-08-18 Nintendo Co Ltd 通信ゲームシステム
JP2014057868A (ja) * 2005-05-06 2014-04-03 Nintendo Co Ltd 通信ゲームシステム
US9884256B2 (en) 2005-05-06 2018-02-06 Nintendo Co., Ltd. Communication game system, game apparatus, server, storage medium storing a program, and game control method
US9050533B2 (en) 2005-05-06 2015-06-09 Nintendo Co., Ltd. Communication game system, game apparatus, server, storage medium storing a program, and game control method
US9839850B2 (en) 2005-05-06 2017-12-12 Nintendo Co., Ltd. Communication game system, game apparatus, server, storage medium storing a program, and game control method
JP4833351B2 (ja) * 2007-04-12 2011-12-07 ボンソク ヤン 登録された友達リストを移動するサイバーペットを媒介にして新しい友達をつくることができるインスタントメッセンジャーシステム、及びその提供方法
JP2009009510A (ja) * 2007-06-29 2009-01-15 Square Enix Holdings Co Ltd サーバ装置、携帯電話機、対戦者選定システム及び方法、プログラム及び記録媒体
JP2009295067A (ja) * 2008-06-09 2009-12-17 Sony Corp 情報管理装置、通信処理装置、および方法、並びにプログラム
JP2010035740A (ja) * 2008-08-04 2010-02-18 Taito Corp ゲーム通信プレイにおけるマッチング相手検索システム
JP2013099437A (ja) * 2011-11-08 2013-05-23 Taito Corp ゲーム装置、ゲームプログラム
JP2013138729A (ja) * 2011-12-28 2013-07-18 Konami Digital Entertainment Co Ltd ゲーム管理装置、ゲーム管理方法及びプログラム
WO2013099336A1 (ja) * 2011-12-28 2013-07-04 株式会社コナミデジタルエンタテインメント ゲーム管理装置、ゲームシステム、ゲーム管理方法、プログラム及び記録媒体
WO2013121658A1 (ja) * 2012-02-17 2013-08-22 株式会社コナミデジタルエンタテインメント ゲーム装置,記録媒体およびゲーム管理方法
JP2013188456A (ja) * 2012-02-17 2013-09-26 Konami Digital Entertainment Co Ltd ゲーム装置,プログラムおよびゲーム管理方法
JP2013202342A (ja) * 2012-03-29 2013-10-07 Konami Digital Entertainment Co Ltd サーバ装置、ゲームシステム、ゲーム制御方法、ならびに、プログラム
WO2013145473A1 (ja) * 2012-03-29 2013-10-03 株式会社コナミデジタルエンタテインメント サーバ装置、ゲームシステム、ゲーム制御方法、プログラム、ならびに、非一時的な記録媒体
JP2013242861A (ja) * 2012-04-27 2013-12-05 Internet Revolution:Kk 管理装置、その制御方法、及びプログラム
JP2014006888A (ja) * 2012-05-31 2014-01-16 Internet Revolution:Kk 管理装置、その制御方法及びプログラム、アプリケーションシステム、並びに識別情報関連付け方法
JP2014032650A (ja) * 2012-07-12 2014-02-20 Konami Digital Entertainment Co Ltd 管理装置、サービス提供システム、管理装置の制御方法、及び、管理装置のプログラム。
WO2014010276A1 (ja) * 2012-07-12 2014-01-16 株式会社コナミデジタルエンタテインメント 管理装置及びサービス提供システム
WO2014013756A1 (ja) * 2012-07-18 2014-01-23 株式会社コナミデジタルエンタテインメント 管理装置及びサービス提供システム
JP2014038594A (ja) * 2012-07-18 2014-02-27 Konami Digital Entertainment Co Ltd 管理装置、サービス提供システム、管理装置の制御方法、及び、管理装置のプログラム。
JP2020108791A (ja) * 2012-08-06 2020-07-16 グリー株式会社 情報処理装置、制御方法及びプログラム
JP2013138837A (ja) * 2012-10-26 2013-07-18 Konami Digital Entertainment Co Ltd ゲーム管理装置、ゲームシステム、ゲーム管理方法及びプログラム
JP2013138888A (ja) * 2013-03-12 2013-07-18 Konami Digital Entertainment Co Ltd ゲーム管理装置、ゲームシステム、ゲーム管理方法及びプログラム
JP2013138887A (ja) * 2013-03-12 2013-07-18 Konami Digital Entertainment Co Ltd ゲーム管理装置、ゲームシステム、ゲーム管理方法及びプログラム
US10322340B2 (en) 2013-07-31 2019-06-18 Gree, Inc. Non-transitory computer readable recording medium, game server, and control method
US10918942B2 (en) 2013-07-31 2021-02-16 Gree, Inc. Non-transitory computer readable recording medium, game server, and control method
US9956484B2 (en) 2013-07-31 2018-05-01 Gree, Inc. Non-transitory computer readable recording medium, game server, and control method
US11806619B2 (en) 2013-07-31 2023-11-07 Gree, Inc. Non-transitory computer readable recording medium, game server, and control method
US11400369B2 (en) 2013-07-31 2022-08-02 Gree, Inc. Non-transitory computer readable recording medium, game server, and control method
US9669308B2 (en) 2013-07-31 2017-06-06 Gree, Inc. Non-transitory computer readable recording medium, game server, and control method
JP2015060287A (ja) * 2013-09-17 2015-03-30 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
JP5704266B1 (ja) * 2014-01-31 2015-04-22 株式会社セガ ゲームサーバ装置およびゲームサーバプログラム
JP2015150210A (ja) * 2014-02-14 2015-08-24 株式会社バイキング 遊技システム
JP5724129B1 (ja) * 2014-07-29 2015-05-27 株式会社gloops 端末装置、端末装置のゲーム実行方法、ゲーム実行プログラム、ゲーム実行プログラム記録媒体、ゲームサーバ及びゲームシステム
JP2015057117A (ja) * 2014-11-26 2015-03-26 グリー株式会社 プログラム、ゲームサーバ、及びゲームシステムの制御方法
US10382891B2 (en) 2015-06-29 2019-08-13 Nintendo Co., Ltd. Server capable of performing authentication with simplified and secure scheme that users who operate terminals communicating data with each other satisfy prescribed relation, method of controlling server, non-transitory storage medium encoded with computer readable control program, and information processing system
US10940394B2 (en) 2017-01-06 2021-03-09 Nintendo Co., Ltd. Information-processing device, information processing system, information-processing method, and storage medium
JP2018112788A (ja) * 2017-01-06 2018-07-19 任天堂株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP2019191912A (ja) * 2018-04-25 2019-10-31 株式会社コロプラ プログラム、処理方法、および情報処理装置
JP2020124539A (ja) * 2020-04-13 2020-08-20 グリー株式会社 ゲーム制御システム、ゲーム制御方法、通信端末及びゲーム制御プログラム
JP7077355B2 (ja) 2020-04-13 2022-05-30 グリー株式会社 ゲーム制御システム、ゲーム制御方法、通信端末及びゲーム制御プログラム
JP2022103289A (ja) * 2020-04-13 2022-07-07 グリー株式会社 ゲーム制御システム、ゲーム制御方法、通信端末及びゲーム制御プログラム
JP7359348B2 (ja) 2020-04-13 2023-10-11 グリー株式会社 ゲーム制御システム、ゲーム制御方法、通信端末及びゲーム制御プログラム

Similar Documents

Publication Publication Date Title
JP2006279814A (ja) 通信システム、サーバ、プログラムおよび通信方法
JP6043819B2 (ja) 構築方法、プログラム、情報処理システム及び情報処理装置
JP5580854B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
CN102890746A (zh) 信息处理装置、服务器及信息处理***
JP2007079745A (ja) ネットワーク接続装置、サーバ装置、端末装置、システム、受信方法、文字入力方法、送信方法、プログラムおよびコンピュータ読み取り可能な記録媒体
JP2005095599A (ja) 移動通信端末、ゲームサーバおよびゲーム用プログラム
JP2016212860A (ja) 検索サービスと接続されたメッセージサービスのためのメッセージサービス提供方法及び前記メッセージサービス提供方法を実行するメッセージサーバ及びユーザ端末
US20170024108A1 (en) Data processing device and method for providing content
JP2012226704A (ja) 歌唱情報処理装置及び歌唱情報処理プログラム
JP3659501B2 (ja) データ交換システム、データ交換装置、その制御方法及びプログラム
US9861900B2 (en) Game system and game device
JP6997247B2 (ja) 構築方法、プログラム、情報処理システム及び情報処理装置
JP5992085B2 (ja) 構築方法、プログラム、情報処理システム及び情報処理装置
JP3740502B2 (ja) チャット装置、チャット装置の制御方法、及びプログラム
US10413835B2 (en) Game system and game device
JP3531675B1 (ja) ゲーム装置、ゲーム装置の制御方法及びプログラム
KR20050099909A (ko) 채팅창 내에서 키워드를 이용한 정보검색이 가능한채팅서비스 제공방법 및 제공시스템, 채팅프로그램이기록된 기록매체
JP6508636B2 (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP4341329B2 (ja) 情報処理システム
JP5704369B2 (ja) カラオケ装置及びカラオケ用プログラム
JP6892947B1 (ja) サーバ装置
JP2013172944A (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム
JP4647580B2 (ja) カラオケ選曲支援方法
JP5360441B2 (ja) カラオケリモコン装置
JP2019088976A (ja) ゲーム制御装置、ゲーム制御方法、プログラム、ゲームシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070711

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071127