(57)【特許請求の範囲】
【請求項１】
複数のゲーム端末でゲーム世界を再現すべくゲーム世界データを前記複数のゲーム端末に送信するゲーム管理装置であって、
前記複数のゲーム端末のそれぞれについての送信状態情報を記憶する送信状態情報記憶手段、
前記複数のゲーム端末のいずれか１つから前記ゲーム世界の変化要求を受信したとき前記ゲーム世界データに変化を加える変化手段、
前記変化手段によって前記ゲーム世界データが変化されたとき、変化されたゲーム世界データを前記送信状態情報がアイドル状態に設定されたゲーム端末に即時送信する第１送信手段、
前記変化手段によって前記ゲーム世界データが変化されたとき、前記送信状態情報が送信済み状態に設定されたゲーム端末の前記送信状態情報を送信予約状態に設定する第１送信予約設定手段、
前記第１送信手段による即時送信が行われたゲーム端末の前記送信状態情報を送信済み状態に設定する第１送信済み状態設定手段、
所定期間が経過する毎に前記送信状態情報が前記送信予約状態に設定されたゲーム端末を検出する検出手段、
前記検出手段によって検出されたゲーム端末に前記変化手段によって変化されたゲーム世界データを送信する第２送信手段、
前記第２送信手段による送信が行われたゲーム端末の前記送信状態情報を送信済み状態に設定する第２送信済み状態設定手段、および
前記第２送信手段による送信が行われたゲーム端末以外のゲーム端末の前記送信状態情報をアイドル状態に設定するアイドル状態設定手段を備えることを特徴とする、ゲーム管理装置。
【請求項２】
前記複数のゲーム端末の各々は前記ゲーム世界の一部である部分ゲーム世界をゲーム世界データに基づいて再現し、
前記変化要求によって変化が生じる部分ゲーム世界を再現するゲーム端末を特定する第１特定手段をさらに備え、
前記第１送信手段は、前記第１特定手段によって特定されたゲーム端末のうち前記送信状態情報がアイドル状態に設定されたゲーム端末にゲーム世界データを即時送信し、
前記第１送信予約設定手段は、前記第１特定手段によって特定されたゲーム端末のうち前記送信状態情報が送信済み状態に設定されたゲーム端末の前記送信状態情報を送信予約状態に設定する、請求項１記載のゲーム管理装置。
【請求項３】
前記複数のゲーム端末の各々で再現される部分ゲーム世界のサイズ情報を保持する保持手段をさらに備え、
前記第１特定手段は前記変化要求によって変化が生じる部分ゲーム世界を再現するゲーム端末を前記サイズ情報に基づいて特定する、請求項２記載のゲーム管理装置。
【請求項４】
前記複数のゲーム端末のいずれか１つから前記部分ゲーム世界のサイズ変更要求を受信したとき前記サイズ情報を変更する変更手段をさらに備える、請求項３記載のゲーム管理装置。
【請求項５】
前記ゲーム世界は前記複数のゲーム端末によって個別に操作される複数のプレイヤキャラクタが登場する世界であり、
前記複数のゲーム端末の各々は自分のプレイヤキャラクタが存在するゲーム世界をゲーム世界データに基づいて再現し、
前記自分のプレイヤキャラクタの存在地点と前記変化要求によって変化が生じるゲーム世界の変化地点との距離が所定距離以下であるゲーム端末を特定する第２特定手段、および
前記送信状態情報がアイドル状態に設定されたゲーム端末のうち前記第２特定手段によって特定されなかったゲーム端末の前記送信状態情報を送信予約状態に設定する第２送信予約設定手段をさらに備え、
前記第１送信手段は、前記送信状態情報がアイドル状態に設定されたゲーム端末のうち前記第２特定手段によって特定されたゲーム端末にゲーム世界データを即時送信する、請求項１ないし４のいずれかに記載のゲーム管理装置。
【請求項６】
前記変化手段によって前記ゲーム世界データが変化されたときに、前記変化要求を送信したゲーム端末に変化されたゲーム世界データを即時送信する第３送信手段をさらに備える、請求項１ないし５のいずれかに記載のゲーム管理装置。
【請求項７】
複数のゲーム端末でゲーム世界を再現すべくゲーム世界データを前記複数のゲーム端末に送信するゲーム管理装置で実行されるゲームプログラムであって、
前記複数のゲーム端末のいずれか１つから前記ゲーム世界の変化要求を受信したとき前記ゲーム世界データに変化を加える変化ステップ、
前記変化ステップによって前記ゲーム世界データが変化されたとき、変化されたゲーム世界データを送信状態情報がアイドル状態に設定されたゲーム端末に即時送信する第１送信ステップ、
前記変化ステップによって前記ゲーム世界データが変化されたとき、前記送信状態情報が送信済み状態に設定されたゲーム端末の前記送信状態情報を送信予約状態に設定する第１送信予約設定ステップ、
前記第１送信ステップによる即時送信が行われたゲーム端末の前記送信状態情報を送信済み状態に設定する第１送信済み状態設定ステップ、
所定期間が経過する毎に前記送信状態情報が前記送信予約状態に設定されたゲーム端末を検出する検出ステップ、
前記検出ステップによって検出されたゲーム端末に前記変化ステップによって変化されたゲーム世界データを送信する第２送信ステップ、
前記第２送信ステップによる送信が行われたゲーム端末の前記送信状態情報を送信済み状態に設定する第２送信済み状態設定ステップ、および
前記第２送信ステップによる送信が行われたゲーム端末以外のゲーム端末の前記送信状態情報をアイドル状態に設定するアイドル状態設定ステップを備えることを特徴とする、ゲームプログラム。
【請求項８】
ゲーム世界データをゲーム管理装置から複数のゲーム端末に送信するゲームシステムであって、
前記ゲーム管理装置は、
前記複数のゲーム端末のそれぞれについての送信状態情報を記憶する送信状態情報記憶手段、
前記複数のゲーム端末のいずれか１つから前記ゲーム世界の変化要求を受信したとき前記ゲーム世界データに変化を加える変化手段、
前記変化手段によって前記ゲーム世界データが変化されたとき、変化されたゲーム世界データを前記送信状態情報がアイドル状態に設定されたゲーム端末に即時送信する第１送信手段、
前記変化手段によって前記ゲーム世界データが変化されたとき、前記送信状態情報が送信済み状態に設定されたゲーム端末の前記送信状態情報を送信予約状態に設定する第１送信予約設定手段、
前記第１送信手段による即時送信が行われたゲーム端末の前記送信状態情報を送信済み状態に設定する第１送信済み状態設定手段、
所定期間が経過する毎に前記送信状態情報が前記送信予約状態に設定されたゲーム端末を検出する検出手段、
前記検出手段によって検出されたゲーム端末に前記変化手段によって変化されたゲーム世界データを送信する第２送信手段、
前記第２送信手段による送信が行われたゲーム端末の前記送信状態情報を送信済み状態に設定する第２送信済み状態設定手段、および
前記第２送信手段による送信が行われたゲーム端末以外のゲーム端末の前記送信状態情報をアイドル状態に設定するアイドル状態設定手段を備え、
前記複数のゲーム端末の各々は、
前記ゲーム世界の変化を指示する指示キー、
前記指示キーの操作に応答して前記変化要求を前記ゲーム管理装置に送信する変化要求送信手段、および
前記ゲーム管理装置から前記ゲーム世界データを受信したとき前記ゲーム世界データに基づくゲーム世界を再現する再現手段を備えることを特徴とする、ゲームシステム。
【請求項９】
前記ゲーム管理装置と前記ゲーム端末との間の通信を汎用パケット通信網によって行うようにした、請求項８記載のゲームシステム。
【請求項１０】
複数のゲーム端末によって個別に操作される複数のプレイヤキャラクタが登場するゲーム世界を前記複数のゲーム端末の各々で再現すべくゲーム世界データを前記複数のゲーム端末に送信するゲーム管理装置であって、
前記複数のゲーム端末のいずれか１つから前記ゲーム世界の変化要求を受信したとき前記ゲーム世界データに変化を加える変化手段、
自分のプレイヤキャラクタの存在地点と前記変化要求によって変化が生じるゲーム世界の変化地点との距離が所定距離以下であるゲーム端末を特定する特定手段、
前記変化手段によって前記ゲーム世界データが変化されたときに、変化されたゲーム世界データを前記特定手段によって特定されたゲーム端末に即時送信する第１送信手段、
前記変化手段によって前記ゲーム世界データが変化されたときに、前記特定手段によって特定されなかったゲーム端末について送信予約を設定する送信予約設定手段、
所定期間が経過する毎に前記送信予約が設定されたゲーム端末を検出する検出手段、および
前記検出手段によって検出されたゲーム端末に前記変化手段によって変化されたゲーム世界データを送信する第２送信手段を備えることを特徴とする、ゲーム管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ゲーム管理装置，ゲームプログラムまたはゲームシステムに関し、特にたとえば、ゲーム世界データをゲーム端末に送信する、ゲーム管理装置，ゲームプログラムまたはゲームシステムに関する。
【０００２】
【従来技術】
従来のゲームシステムとして、プレイヤがゲーム端末を操作してゲームサーバにアクセスしたときに、ゲームサーバからゲーム端末にゲーム世界データを提供するゲームシステムが存在する。ゲームサーバには、ゲームマップ，プレイヤキャラクタの座標値や属性値，敵キャラクタやアイテムのようなノンプレイヤキャラクタの座標値および属性値などが記憶され、これらのデータが必要に応じてゲーム端末に送信される。これによって、共通のゲーム世界が複数のゲーム端末に再現され、複数のプレイヤによってゲームを進行することができる。
【０００３】
このようなゲームシステムにおいては、あるゲーム端末においてキー操作が行われると、操作情報が当該ゲーム端末からゲームサーバに送信され、ゲームサーバによってゲーム世界が変更される。ゲームサーバは、変更されたゲーム世界のデータを複数のゲーム端末に送信し、これによってゲーム端末上のゲーム世界も変更される。
【０００４】
たとえば、プレイヤキャラクタの移動操作が行われると、ゲームサーバは当該操作情報に応答してプレイヤキャラクタを移動させる。操作元のゲーム端末には移動後のプレイヤキャラクタが中心に位置するゲーム世界の地形データが送信され、他のゲーム端末には移動後のプレイヤキャラクタの位置データが送信される。また、敵キャラクタの出現／消滅，アイテムの出現／消滅，扉の開閉，建物の倒壊などが発生したときは、変更後の状態を示すキャラクタデータまたは地形データが各々のゲーム端末に送信される。
【０００５】
【発明が解決しようとする課題】
しかし、従来技術では、ゲーム世界の全領域のデータを全てのゲーム端末に送信するため、ゲーム世界に変化が生じる毎に各ゲーム端末への送信処理が必要となっていた。すると、ゲーム世界が大きい場合や参加プレイヤが多い場合に通信量が増大し、ゲームサーバや通信回線に大きな負担がかかるという問題があった。また、ゲームサーバの性能または通信回線量が不十分な場合は、レスポンスが悪くなりゲーム性を損なうことになっていた。さらに、ゲーム端末の処理性能が低い場合は、通信時間の増大によってゲーム処理が遅延することとなり、ゲーム端末の記憶容量が小さい場合は、ゲーム世界の全領域の情報を記憶できないためにゲームに参加できないおそれもあった。さらにまた、通信時間に応じた課金および通信データ量に応じた課金のいずれの場合も、プレイヤの料金負担が大きくなるという問題があった。この問題は、通信データ量に応じた課金の場合に特に問題になる。
【０００６】
それゆえに、この発明の主たる目的は、快適にゲームを行うことができる、ゲーム管理装置，ゲームプログラムまたはゲームシステムを提供することである。
【０００７】
この発明の他の目的は、通信データ量の増大を抑えることができる、ゲーム管理装置，ゲームプログラムまたはゲームシステムを提供することである。
【００１８】
第１の発明（請求項１に記載の発明）は、複数のゲーム端末(30)でゲーム世界を再現すべくゲーム世界データを複数のゲーム端末に送信するゲーム管理装置(20)であって、複数のゲーム端末のそれぞれについての送信状態情報を記憶する送信状態情報記憶手段(24)、複数のゲーム端末のいずれか１つからゲーム世界の変化要求を受信したときゲーム世界データに変化を加える変化手段(S83)、変化手段によってゲーム世界データが変化されたとき、変化されたゲーム世界データを送信状態情報がアイドル状態に設定されたゲーム端末に即時送信する第１送信手段(S93)、変化手段によってゲーム世界データが変化されたとき、送信状態情報が送信済み状態に設定されたゲーム端末の送信状態情報を送信予約状態に設定する第１送信予約設定手段(S133)、第１送信手段による即時送信が行われたゲーム端末の送信状態情報を送信済み状態に設定する第１送信済み状態設定手段(S95)、所定期間が経過する毎に送信状態情報が送信予約状態に設定されたゲーム端末を検出する検出手段(S25)、検出手段によって検出されたゲーム端末に変化手段によって変化されたゲーム世界データを送信する第２送信手段(S27)、第２送信手段による送信が行われたゲーム端末の送信状態情報を送信済み状態に設定する第２送信済み状態設定手段(S29)、および第２送信手段による送信が行われたゲーム端末以外のゲーム端末の送信状態情報をアイドル状態に設定するアイドル状態設定手段(S33)を備えることを特徴とする、ゲーム管理装置である。
【００１９】
好ましくは、複数のゲーム端末の各々はゲーム世界の一部である部分ゲーム世界をゲーム世界データに基づいて再現する。また、ゲーム管理装置は、変化要求によって変化が生じる部分ゲーム世界を再現するゲーム端末を特定する第１特定手段(S125)をさらに備える。さらに、第１送信手段は、第１特定手段によって特定されたゲーム端末のうち送信状態情報がアイドル状態に設定されたゲーム端末にゲーム世界データを即時送信し、第１送信予約設定手段は、第１特定手段によって特定されたゲーム端末のうち送信状態情報が送信済み状態に設定されたゲーム端末の送信状態情報を送信予約状態に設定する。
【００２０】
好ましくは、ゲーム管理装置は、複数のゲーム端末の各々で再現される部分ゲーム世界のサイズ情報を保持する保持手段(24)をさらに備え、第１特定手段は変化要求によって変化が生じる部分ゲーム世界を再現するゲーム端末をサイズ情報に基づいて特定する。
【００２１】
さらに好ましくは、ゲーム管理装置は、複数のゲーム端末のいずれか１つから部分ゲーム世界のサイズ変更要求を受信したときサイズ情報を変更する変更手段(S101)をさらに備える。
【００２２】
好ましくは、ゲーム世界は複数のゲーム端末によって個別に操作される複数のプレイヤキャラクタが登場する世界であり、複数のゲーム端末の各々は自分のプレイヤキャラクタが存在するゲーム世界をゲーム世界データに基づいて再現する。このとき、ゲーム管理装置は、自分のプレイヤキャラクタの存在地点と変化要求によって変化が生じるゲーム世界の変化地点との距離が所定距離以下であるゲーム端末を特定する第２特定手段(S130)、および送信状態情報がアイドル状態に設定されたゲーム端末のうち第２特定手段によって特定されなかったゲーム端末の送信状態情報を送信予約状態に設定する第２送信予約設定手段(S133)をさらに備える。また、第１送信手段は、送信状態情報がアイドル状態に設定されたゲーム端末のうち第２特定手段によって特定されたゲーム端末にゲーム世界データを即時送信する。
【００２３】
ゲーム管理装置は、好ましくは、変化手段によってゲーム世界データが変化されたときに、変化要求を送信したゲーム端末に変化されたゲーム世界データを即時送信する第３送信手段(S87)をさらに備える。
【００２４】
第２の発明（請求項７に記載の発明）は、複数のゲーム端末(30)でゲーム世界を再現すべくゲーム世界データを複数のゲーム端末に送信するゲーム管理装置(20)で実行されるゲームプログラムであって、複数のゲーム端末のいずれか１つからゲーム世界の変化要求を受信したときゲーム世界データに変化を加える変化ステップ(S83)、変化ステップによってゲーム世界データが変化されたとき、変化されたゲーム世界データを送信状態情報がアイドル状態に設定されたゲーム端末に即時送信する第１送信ステップ(S93)、変化ステップによってゲーム世界データが変化されたとき、送信状態情報が送信済み状態に設定されたゲーム端末の送信状態情報を送信予約状態に設定する第１送信予約設定ステップ(S133)、第１送信ステップによる即時送信が行われたゲーム端末の送信状態情報を送信済み状態に設定する第１送信済み状態設定ステップ(S95)、所定期間が経過する毎に送信状態情報が送信予約状態に設定されたゲーム端末を検出する検出ステップ(S25)、検出ステップによって検出されたゲーム端末に変化ステップによって変化されたゲーム世界データを送信する第２送信ステップ(S27)、第２送信ステップによる送信が行われたゲーム端末の送信状態情報を送信済み状態に設定する第２送信済み状態設定ステップ(S29)、および第２送信ステップによる送信が行われたゲーム端末以外のゲーム端末の送信状態情報をアイドル状態に設定するアイドル状態設定ステップ(S33)を備えることを特徴とする、ゲームプログラムである。
【００２５】
第３の発明（請求項８に記載の発明）は、ゲーム世界データをゲーム管理装置(20)から複数のゲーム端末(30)に送信するゲームシステム(10)である。ゲーム管理装置は、複数のゲーム端末のそれぞれについての送信状態情報を記憶する送信状態情報記憶手段(24)、複数のゲーム端末のいずれか１つからゲーム世界の変化要求を受信したとき前記ゲーム世界データに変化を加える変化手段(S83)、変化手段によってゲーム世界データが変化されたとき、変化されたゲーム世界データを送信状態情報がアイドル状態に設定されたゲーム端末に即時送信する第１送信手段(S93)、変化手段によってゲーム世界データが変化されたとき、送信状態情報が送信済み状態に設定されたゲーム端末の送信状態情報を送信予約状態に設定する第１送信予約設定手段(S133)、第１送信手段による即時送信が行われたゲーム端末の送信状態情報を送信済み状態に設定する第１送信済み状態設定手段(S95)、所定期間が経過する毎に送信状態情報が送信予約状態に設定されたゲーム端末を検出する検出手段(S25)、検出手段によって検出されたゲーム端末に変化手段によって変化されたゲーム世界データを送信する第２送信手段(S27)、第２送信手段による送信が行われたゲーム端末の送信状態情報を送信済み状態に設定する第２送信済み状態設定手段(S29)、および第２送信手段による送信が行われたゲーム端末以外のゲーム端末の送信状態情報をアイドル状態に設定するアイドル状態設定手段(S33)を備える。複数のゲーム端末の各々は、ゲーム世界の変化を指示する指示キー(40c)、指示キーの操作に応答して変化要求をゲーム管理装置に送信する変化要求送信手段(S225)、およびゲーム管理装置からゲーム世界データを受信したときゲーム世界データに基づくゲーム世界を再現する再現手段(S203)を備える。
【００２６】
好ましくは、ゲーム管理装置とゲーム端末との間の通信は、汎用パケット通信網(40)によって行われる。
【００２７】
第４の発明（請求項１０に記載の発明）は、複数のゲーム端末(30)によって個別に操作される複数のプレイヤキャラクタが登場するゲーム世界を複数のゲーム端末の各々で再現すべくゲーム世界データを複数のゲーム端末に送信するゲーム管理装置(20)であって、複数のゲーム端末のいずれか１つからゲーム世界の変化要求を受信したときゲーム世界データに変化を加える変化手段(S83)、自分のプレイヤキャラクタの存在地点と変化要求によって変化が生じるゲーム世界の変化地点との距離が所定距離以下であるゲーム端末を特定する特定手段(S130)、変化手段によってゲーム世界データが変化されたときに、変化されたゲーム世界データを特定手段によって特定されたゲーム端末に即時送信する第１送信手段(S93)、変化手段によってゲーム世界データが変化されたときに、特定手段によって特定されなかったゲーム端末について送信予約を設定する送信予約設定手段(S133)、所定期間が経過する毎に送信予約が設定されたゲーム端末を検出する検出手段(S25)、および検出手段によって検出されたゲーム端末に変化手段によって変化されたゲーム世界データを送信する第２送信手段(S27)を備えることを特徴とする、ゲーム管理装置である。
【００３７】
請求項１，請求項７および請求項８に記載の発明によれば、各ゲーム端末への送信は所定期間内で１回に制限されるので、ゲーム世界の変化が頻繁に行われる場合であっても通信量を抑えることができる。また、ゲーム世界の変化の頻度が高くない場合（所定期間内に１回の場合）には、変化されたゲーム世界データは各ゲーム端末に即時送信されるので応答性が良い。すなわち、本発明は通信量の抑制と応答性の両立を図ることができる。
【００３８】
請求項２に記載の発明によれば、変化されたゲーム世界データを、変化が生じる部分ゲーム世界を再現するゲーム端末にのみ送信するので、不必要な通信を避けて通信量を抑えることができる。また、所定期間内におけるゲーム世界の最初の変化について即時送信されるが、自己の部分ゲーム世界外での変化は無視されるので、自己の部分ゲーム世界内での最初の変化について即時送信されることとなって応答性が良い。
【００３９】
請求項３に記載の発明によれば、各ゲーム端末（各プレイヤ）によって異なるサイズの部分ゲーム世界を設定できる。これによって、通信料金は高いが広い視野が確保される場合と、狭い視野しか確保できないが通信料金を低く抑えられる場合とを、プレイヤごとに設定することができる。
【００４０】
請求項４に記載の発明によれば、各ゲーム端末からサイズ情報の変更要求を出すことができるので、プレイヤがサイズを変更する自由度が高い。
【００４１】
請求項５に記載の発明によれば、プレイヤキャラクタから距離が離れたゲーム世界の情報は即時送信されず、後続の定期送信でおこなわれる。プレイヤキャラクタから離れたゲーム世界の情報は即時送信の必要性が低いので、後続の定期送信でおこなうこととしてもゲーム性が低下せず、かつ、通信量を抑制することができる。
【００４２】
請求項６に記載の発明によれば、変化要求を送信したゲーム端末にゲーム世界データを即時送信するので、変化要求に対する応答性が良い。
【００４３】
請求項１０に記載の発明によれば、プレイヤキャラクタの周辺（所定距離以下）のゲーム世界の情報は即時送信され、所定距離より離れたゲーム世界の情報は後続の定期送信でおこなわれる。これは、プレイヤキャラクタの周辺とそれ以外とで情報の重要性に差があることを考慮したものである。すなわち、プレイヤキャラクタの周辺の情報は即時に送信され表示される必要があるのに対し、離れた場所の情報はその必要がない。これによって、ゲーム性を損なうことなく通信料を抑えることができる。
【００４４】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００４５】
【実施例】
図１を参照して、この実施例のネットワークゲームシステム１０は、常に通信ネットワーク４０に有線接続されるゲームサーバ２０と、必要に応じて通信ネットワーク４０に無線接続される複数の携帯通信端末３０，３０，…とを含む。ゲームサーバ２０に登録済みのプレイヤが自分の携帯通信端末３０を操作してゲームサーバ２０にログインすると、ゲームサーバ２０は、ログインしたプレイヤの携帯通信端末３０にゲームを提供する。これによって、ログインしたプレイヤ間でのゲームが可能となる。
【００４６】
ゲームサーバ２０および携帯通信端末３０はゲーム事業者によって提供される。通信ネットワーク４０は、ゲーム事業者によって特別のネットワークが提供されてもよいが、通信事業者によって提供される既存のネットワーク（汎用ネットワーク）を利用するのが好ましい。ゲーム事業者は、固定料金（月額固定等）または従量制のゲーム料金を各プレイヤに課金するが、プレイヤがゲーム料金を気にせずにゲームプレイをすることができるように固定料金にするのが好ましい。通信事業者は、データ通信量または通信時間に応じた通信料金を各プレイヤに課金する。なお、通信事業者による課金は、通信時間に応じた課金でも良いが、データ通信量に応じた課金をする場合に本発明の効果がより発揮される。すなわち、本発明のゲームシステムは、データ通信量に応じて課金されるパケット通信ネットワークを利用するのが好ましい。
【００４７】
ゲームサーバ２０は、図２に示すようにＣＰＵ２２およびメモリ２４を備え、メモリ２４には、図３に示すようにプログラム格納領域２４ａ，地形マトリクス格納領域２４ｂ，キャラクタマトリクス格納領域２４ｃ，キャラクタデータ格納領域２４ｄおよびワーク領域２４ｅが形成される。プログラム格納領域２４ａはゲームプログラムを格納する。地形マトリクス格納領域２４ｂはゲームを行う仮想空間の地形を示すマトリクスデータを格納し、キャラクタマトリクス格納領域２４ｃは仮想空間に登場するキャラクタを示すマトリクスデータを格納する。また、キャラクタデータ格納領域２４ｄは、各々のプレイヤによって操作されるキャラクタ１，２，３…のデータ（キャラクタデータ）を格納する。さらに、ワーク領域２４ｅは、後述する送信リストなどを格納する。
【００４８】
なお、メモリ２４としては、ハードディスクや不揮発性メモリ（たとえばＥＥＰＲＯＭやフラッシュメモリ）のような着脱不可能に装置内部に設けられる記憶媒体のほか、光磁気ディスクやメモリカードのような着脱自在な記憶媒体を用いてもよい。
【００４９】
プログラム格納領域２４ａに格納されたゲームプログラムは、図１６〜図２３に示すフロー図に従う処理を実行する。
【００５０】
地形マトリクス格納領域２４ｂに格納されたマトリクスデータは、仮想空間全域の地形（地図）を示すデータである。仮想空間は水平方向および垂直方向のいずれにおいてもｎブロックに分割され、各々のブロックには座標（Ｘ１，Ｙ１）〜（Ｘｎ，Ｙｎ）が割り当てられる。地形マトリクスは、各ブロックの座標データと各ブロックに再現すべきグラフィックデータの識別番号（グラフィック番号）とによって表される。
【００５１】
キャラクタマトリクス格納領域２４ｃに格納されたマトリクスデータは、仮想空間に登場するキャラクタを示すデータである。地形マトリクスと同様に、仮想空間が水平方向および垂直方向においてｎブロックに分割され、座標（Ｘ１，Ｙ１）〜（Ｘｎ，Ｙｎ）が各々のブロックに割り当てられる。ただし、キャラクタは全ての座標に存在する訳ではない。このため、キャラクタが存在するブロックは座標データとグラフィック番号とによって表されるが、キャラクタが存在しないブロックは座標データのみによって表される。
【００５２】
同じキャラクタであっても、キャラクタの向きが異なれば（前向き，後ろ向き，右向き，左向き）、表示態様は異なる。また、ログアウト中のキャラクタについては、眠った状態で仮想空間に表示される。このようにキャラクタについては複数の表示態様があるため、表示態様を識別するために、拡張子が各々のグラフィック番号に付加される。たとえば、キャラクタが前向きであれば“ｆ”が付加され、キャラクタが後ろ向きであれば“ｂ”が付加され、キャラクタが右向きであれば“ｒ”が付加され、キャラクタが左向きであれば“ｌ”が付加され、そしてキャラクタが眠った状態であれば“ｓ”が付加される。なお、各々のキャラクタの座標および向きは位置情報によって特定され、ログイン／ログアウトはステータス情報によって特定される。
【００５３】
キャラクタデータ格納領域２４ｄに格納されたキャラクタデータは、キャラクタＩＤ，名前，ＩＰアドレス，個人情報，位置情報，マップサイズ情報，ステータス情報および送信状態情報からなる。キャラクタＩＤは各々のキャラクタに割り当てられた固有の識別子であり、名前は各々のキャラクタに割り当てられた固有のキャラクタ名である。ＩＰアドレスは、キャラクタを操作するプレイヤ（携帯通信端末３０）に割り当てられた固有のアドレスであり、ログインが完了した携帯通信端末３０にマップデータなどを送信するときに用いられる。
【００５４】
個人情報は、キャラクタの性別，キャラクタの年齢，キャラクタの職業，キャラクタのグラフィック番号，キャラクタが持っている能力，キャラクタの持ち物（アイテム）およびキャラクタが各プレイヤに向けて発するメッセージを含む。位置情報は、キャラクタが仮想空間のどのブロック（座標）に存在し、どの方向を向いているかを示す情報であり、マップサイズ情報は、サイズ１（＝サイズ大）およびサイズ２（＝サイズ小）のいずれの仮想空間をプレイヤの携帯通信端末３０に表示すべきかを示す情報であり、ステータス情報は、プレイヤがログイン／ログアウトのいずれの状態にあるかを示す情報である。送信状態情報は、プレイヤの通信端末３０に対する送信状態を示す情報であり、“送信予約”，“送信済み”および“アイドル”のいずれかの状態を示す。
【００５５】
なお、ゲームに参加したいプレイヤはゲームサーバ２０への事前登録が必要であり、この登録時に任意のキャラクタデータがプレイヤによって作成される。
【００５６】
ワーク領域２４ｅに格納された送信リストは、マップデータを送信すべきプレイヤを列挙したリストである。仮想空間を更新する必要のある携帯通信端末３０は、ログイン要求，ログアウト要求，移動要求などを与えたプレイヤのキャラクタと別のキャラクタとの相対位置、ならびに表示する仮想空間のサイズ（マップサイズ）によって異なる。このため、各々のキャラクタの位置情報およびマップサイズ情報に基づいて、仮想空間を更新する必要のあるプレイヤが送信リストに列挙される。
【００５７】
地形マトリクス領域２４ｂおよびキャラクタマトリクス領域２４ｃからは、列挙された各々のプレイヤのキャラクタを中心とする一部の地形マトリクスおよびキャラクタマトリクスが切り出される。マップサイズ情報が“サイズ１”を示すキャラクタについては、１１ブロック×１１ブロックの地形マトリクスおよびキャラクタマトリクスが切り出され、マップサイズ情報が“サイズ２”を示すキャラクタについては、７ブロック×７ブロックの地形マトリクスおよびキャラクタマトリクスが切り出される。そして、切り出された地形マトリクスおよびキャラクタマトリクスとキャラクタが存在する座標（＝マトリクスの中心座標）を示す位置情報とが、マップデータとして各々のプレイヤの携帯通信端末３０に送信される。
【００５８】
携帯通信端末３０は、図４に示すように細長い楕円形状に形成された本体３２を含む。本体３２の上面にはアンテナ３４が突出し、本体３２の前面には、通話用スピーカ３６，ディスプレイ３８，ゲームキー４０，電話キー４２および通話用マイク４４が配置される。ゲームキー４０としては、自分のキャラクタの振る舞い，メニュー画面の表示，メニュー項目の選択などを制御するためのＡボタン４０ａおよびＢボタン４０ｂと、自分のキャラクタまたはメニュー画面上のカーソルを移動させるための十字キー４０ｃとが存在する。また、電話キー４２としては、フックキー４２ａ，ホールドキー４２ｂ，“０”〜“９”を示す数字キー４２ｃ，＊キー４２ｄ，＃キー４２ｅ，マナーキー４２ｆおよび音声メモキー４２ｇが存在する。なお、数字キー４２ｃ，＊キー４２ｄおよび＃キー４２ｅには、アルファベットや平仮名などが割り当てられ、これによってメールの作成が可能となる。
【００５９】
本体３２の内部は、図５に示すように構成される。アンテナ３４は通信回路４４に接続され、通話用スピーカ３６および通話用マイク４２は音声変換回路４６に接続される。通信回路４４および音声変換回路４６は互いに接続され、いずれもＣＰＵ４８によって制御される。ＣＰＵ４８にはまた、ゲームキー４０，電話キー４２，ディスプレイ３８，振動モータ５２，呼び出し用スピーカ５４およびＥＥＰＲＯＭやフラッシュメモリのような不揮発性のメモリ５０が接続される。振動モータ５２はメールまたは着呼信号の受信時に本体３２を振動させ、呼び出し用スピーカ５４はメールまたは着呼信号の受信時に呼び出し音を出力する。なお、呼び出し用スピーカ５４は本体３２の背面に設けられる。
【００６０】
メモリ５０には、図６に示すようにプログラム格納領域５０ａ，グラフィックデータ格納領域５０ｂ，ワーク領域５０ｃおよび表示領域５０ｄが形成される。プログラム格納領域５０ａは、プレイヤがキャラクタデータを登録したときにゲームサーバ２０から受信したゲームプログラムを格納する。グラフィックデータ格納領域５０ｂは、ログインしたときにゲームサーバ２０から受信したグラフィックデータを格納する。ワーク領域５０ｃは、ログイン中にゲームサーバ２０から受信したマップデータを格納する。
【００６１】
なお、プログラム格納領域５０ａは不揮発性メモリに形成する必要があるが、グラフィックデータ格納領域５０ｂ，ワーク領域５０ｃおよび表示領域５０ｄは、揮発性のＲＡＭに形成するようにしてもよい。また、グラフィックデータは、ゲームサーバ２０への登録時にゲームプログラムとともに受信してもよいが、この場合、グラフィックデータ格納領域５０ｂは不揮発性メモリに形成する必要がある。
【００６２】
プログラム格納領域５０ａに格納されたゲームプログラムは、図２４〜図３０に示すフロー図に従う処理を実行する。
【００６３】
グラフィックデータ格納領域５０ｂに格納されたグラフィックデータは、“木”，“岩”，“芝生”などの仮想空間を形成するオブジェクトの画像データと仮想空間に登場するキャラクタの画像データとを含み、各々の画像データには互いに異なるグラフィック番号が割り当てられる。キャラクタについては、上述のように前向き，後ろ向き，右向き，左向きおよび睡眠中の５つの状態があり、それぞれの状態を示す画像データがグラフィックデータ格納領域５０ｂに用意されている。各々の画像データには共通のグラフィック番号が割り当てられるが、グラフィック番号に付加される拡張子は互いに異なる。
【００６４】
ワーク領域５０ｃに格納されたマップデータは、自分のキャラクタの存在位置を示す位置情報と自分が選択したマップサイズに従うサイズの地形マトリクスおよびキャラクタマトリクスとからなる。図７に示すように、位置情報は、自分のキャラクタが位置する座標（Ｘｃ，Ｙｃ）によって表される。また、地形マトリクスは、仮想空間を形成する各ブロックの座標（Ｘ１，Ｙ１）〜（Ｘｓ，Ｙｓ）と各ブロックで再現される地形のグラフィック番号とによって表される。キャラクタマトリクスは、仮想空間を形成する各ブロックの座標（Ｘ１，Ｙ１）〜（Ｘｓ，Ｙｓ）とキャラクタを再現すべきブロックに割り当てられたグラフィック番号とによって表される。サイズ１が選択されたときはｓ＝１１であり、サイズ２が選択されたときはｓ＝７である。
【００６５】
このようなマップデータとグラフィックデータ格納領域５０ｂのグラフィックデータとに基づいて、図８に示すサイズ１またはサイズ２の仮想空間データ（ゲーム画面データ）が作成される。サイズ１の仮想空間データの水平ブロック数および垂直ブロック数は“１１”であり、サイズ２の仮想空間データの水平ブロック数および垂直ブロック数は“７”である。このような仮想空間データが表示領域５０ｄに格納され、これに基づく仮想空間（ゲーム画面）がディスプレイ３８に表示される。“サイズ１”が選択されたときは９ブロック×９ブロックの仮想空間がディスプレイ３８に表示され、“サイズ２”が選択されたときは５ブロック×５ブロックの仮想空間がディスプレイ３８に表示される。つまり、表示用の仮想空間データは、表示領域５０ｄに格納される仮想空間データよりも上下左右にそれぞれ１ブロック分狭い。これによって、マップデータが更新される前のスクロール処理が適切に行われる。
【００６６】
図８を参照して、地形は“岩”，“木”，“石畳”などによって表現され、このような地形の上に“ピエロ”，“魔導師”，“山男”などのキャラクタが登場する。ログイン中のキャラクタは立ち上がり、仮想空間を歩き回っている。一方、ログアウト中のキャラクタはログアウト直前に存在していた場所で眠っている。つまり、この実施例では、ゲームサーバ２０に登録されているキャラクタは、プレイヤがゲームサーバ２０にログインしているかどうかに関係なく、全て仮想空間に再現される。
【００６７】
ログアウト中の携帯通信端末３０のディスプレイ３８には、図９に示すようなスタートメニュー画面が表示されており、ここで“ゲーム”が選択されると、スタートメニュー画面が図１０に示すゲームメニュー画面に更新される。図１０によれば、画面上側にタイトル“Online Game”が表示され、画面下側に“ゲームを開始する”のメニュー項目とカーソルとが表示される。プレイヤがＡボタン４０ａによって“ゲームを開始する”を選択すると、ログイン要求が携帯通信端末３０からゲームサーバ２０に送信される。ゲームサーバ２０は、ログイン要求を送信したプレイヤのキャラクタデータを図３に示すキャラクタデータ格納領域２４ｄから検出し、検出したキャラクタデータに含まれるステータス情報を“ログアウト”から“ログイン”に更新する。
【００６８】
さらに、各々のキャラクタデータに含まれる位置情報，マップサイズ情報，ステータス情報および送信状態情報に基づいて、今回のログインによって画面を更新する必要のあるプレイヤを送信リストにリストアップし、リストアップされたプレイヤについて個別にマップデータを作成する。作成されたマップデータは、リストアップされた各プレイヤの携帯通信端末３０に個別に送信され、マップデータを受信した携帯通信端末３０は、このマップデータに基づくゲーム画面をディスプレイ３８に表示する。今回ログインした携帯通信端末３０の表示は、図１０に示すゲームメニュー画面から図１１または図１２に示すゲーム画面に更新される。既にログイン中の携帯通信端末３０では、ゲーム画面に表示されている睡眠中のキャラクタが立ち上がる。
【００６９】
ログインしたプレイヤが十字キー４０ｃを操作すると、移動要求がゲームサーバ２０に送信される。ゲームサーバ２０は、移動要求が与えられたとき、要求元のプレイヤのキャラクタデータをキャラクタデータ格納領域２４ｄから検出し、検出したキャラクタデータに含まれる位置情報を更新する。さらに、上述と同様に、ゲーム画面を更新する必要のあるプレイヤをリストアップし、リストアップされたプレイヤ毎に異なるマップデータを作成し、そして作成したマップデータを各プレイヤの携帯通信端末３０に送信する。これによって、マップデータを受信した携帯通信端末３０のディスプレイ３８の表示が、このマップデータに基づいて更新される。つまり、十字キー４０ｃを操作したプレイヤのキャラクタが、マップデータを受信した各々の携帯通信端末３０のゲーム画面上を移動する。
【００７０】
図１２に示す表示状態でプレイヤがＢボタン４０ｂを操作すると、図１３に示すシステムメニュー画面がディスプレイ３８に多重表示される。図１３によれば、“画面サイズ変更”，“その他設定”および“ゲーム終了”の３つのメニュー項目がディスプレイ３８に表示される。
【００７１】
ここで、プレイヤが十字キー４０ｃおよびＡボタン４０ａによって“画面サイズ変更”を選択すると、図１４に示すサイズメニュー画面がディスプレイ３８に表示される。現時点の画面サイズはサイズ２（＝サイズ小）であるため、プレイヤが十字キー４０ｃおよびＡボタン４０ａによって“大”を選択すると、サイズ変更要求がゲームサーバ２０に送信される。ゲームサーバ２０はこのとき、図３に示すキャラクタデータ格納領域２４ｄから要求元のキャラクタデータを検出し、検出したキャラクタデータに含まれるマップサイズ情報を“サイズ２”から“サイズ１”に更新する。さらに、更新後のマップサイズ情報に基づいてマップデータを作成し、作成したマップデータを要求元の携帯通信端末３０に返送する。携帯通信端末３０は、受信したマップデータに基づいてゲーム画面データを作成し、これによって図１１に示すゲーム画面がディスプレイ３８に表示される。
【００７２】
図１３に示すシステムメニュー画面が表示されているときに、カーソルが“ゲーム終了”に合わせられ、Ａボタン４０ａが押されると、ログアウト要求がゲームサーバ２０に送信される。ゲームサーバ２０は、要求元のプレイヤのキャラクタデータをキャラクタデータ格納領域２４ｄから検出し、検出したキャラクタデータに含まれるステータス情報を更新する。さらに、上述と同様に、ゲーム画面を更新する必要のあるプレイヤをリストアップし、リストアップされたプレイヤ毎に異なるマップデータを作成し、そして作成したマップデータを各プレイヤの携帯通信端末３０に送信する。マップデータを受信した携帯通信端末３０の表示はこのマップデータに基づいて更新され、ゲーム画面上ではログアウトしたプレイヤのキャラクタが睡眠状態に変化する。一方、ログアウト要求を送信した携帯通信端末３０の表示は、図１３に示すゲーム画面から図９に示すスタートメニュー画面に更新される。
【００７３】
ゲームサーバ２０に設けられたＣＰＵ２２の処理を、図１６〜図２３を参照して説明する。
【００７４】
図１６を参照して、ＣＰＵ２２は、まずステップＳ１で送信時刻になったかどうか判断する。送信時刻は１秒毎に到来し、送信時刻に達していなければそのままステップＳ５に進むが、送信時刻以降であればステップＳ３で定期送信処理を実行してからステップＳ５に進む。ステップＳ５，Ｓ９，Ｓ１３およびＳ１７では、携帯通信端末３０からどのような要求が与えられたかを判別する。ログイン要求が与えられたときは、ステップＳ５でＹＥＳと判断し、ステップＳ７でログイン処理を行う。ログアウト要求が与えられたときは、ステップＳ９でＹＥＳと判断し、ステップＳ１１でログアウト処理を行う。移動要求が与えられたときは、ステップＳ１３でＹＥＳと判断し、ステップＳ１５で移動処理を行う。サイズ変更要求が与えられたときは、ステップＳ１７でＹＥＳと判断し、ステップＳ１９でサイズ変更処理を行う。ステップＳ７，Ｓ１１，Ｓ１５またはＳ１９の処理を終えると、ステップＳ１に戻る。
【００７５】
ステップＳ３における定期送信処理は、図１７に示すサブルーチンに従う。まずステップＳ２１でキャラクタ番号ｉを“１”にセットし、ステップＳ２３で図３に示すキャラクタデータ格納領域２４ｄからキャラクタｉの送信状態情報を検出し、そしてステップＳ２５およびＳ３１で当該送信状態情報の内容を判別する。送信状態情報が“送信予約”を示すときは、ステップＳ２５からステップＳ２７に進み、キャラクタｉの携帯通信端末３０にマップデータを送信する。具体的には、図３に示すキャラクタｉデータに含まれる位置情報およびマップサイズ情報に基づいてマップデータを作成し、作成したマップデータをキャラクタｉの携帯通信端末３０に送信する。続くステップＳ２９ではキャラクタｉデータに含まれる送信状態情報を“送信済み”に設定し、設定が完了するとステップＳ３５に進む。
【００７６】
ステップＳ２３で検出された送信状態情報が“送信済み”を示していれば、ステップＳ３１からステップＳ３３に進み、キャラクタｉデータに含まれる送信状態情報を“アイドル”に設定する。設定が完了すると、ステップＳ３５に進む。ステップＳ２３で検出された送信状態情報が“アイドル”を示すときは、そのままステップＳ３５に進む。
【００７７】
ステップＳ３５ではキャラクタ番号ｉをインクリメントし、ステップＳ３７ではキャラクタ番号ｉが最大キャラクタ番号ｉｍａｘに達したかどうか判断する。ここでｉ≦ｉｍａｘであればステップＳ２３〜Ｓ３５の処理を繰り返すが、ｉ＞ｉｍａｘであれば上階層のルーチンに復帰する。
【００７８】
ステップＳ７におけるログイン処理は、図１８に示すサブルーチンに従う。まずステップＳ４１で、ログイン要求に含まれるキャラクタＩＤに基づいて要求元のキャラクタデータを図３に示すキャラクタデータ格納領域２４ｄから検出し、検出したキャラクタデータに含まれるステータス情報を“ログアウト”から“ログイン”に更新する。ステータス情報の更新が完了すると、ステップＳ４３でログイン許可を要求元の携帯通信端末３０に送信し、ステップＳ４５で図３に示すキャラクタマトリクス格納領域２４ｃに形成されたキャラクタマトリクスを更新する。具体的には、要求元のキャラクタデータから位置情報を検出し、キャラクタマトリクスから当該位置情報が示す座標のグラフィック番号を検出し、そして検出したグラフィック番号に割り当てられた拡張子を“ｓ”から“ｆ”，“ｂ”，“ｒ”および“ｌ”のいずれか１つに更新する。
【００７９】
ステップＳ４７では、要求元のキャラクタデータに含まれる位置情報およびマップサイズ情報に基づいてマップデータを作成し、作成したマップデータを要求元の携帯通信端末３０に送信する。送信が完了すると、ステップＳ４９で要求元のキャラクタデータに含まれる送信状態情報を“送信済み”に設定する。ステップＳ５１ではマップデータを更新すべきプレイヤをリストアップし、続くステップＳ５３ではリストアップされたプレイヤの携帯通信端末３０にマップデータを送信する。つまり、リストアップされた各々のプレイヤについて、位置情報およびマップサイズ情報の検出処理，検出した位置情報およびマップサイズ情報に基づくマップデータの作成処理および作成したマップデータの送信処理を行う。送信が完了するとステップＳ５５に進み、送信先のプレイヤのキャラクタデータに含まれる送信状態情報を“送信済み”に更新する。処理が完了すると上階層のルーチンに復帰する。
【００８０】
図１６に示すステップＳ１１のログアウト処理は、図１９に示すサブルーチンに従う。まずステップＳ６１で、ログアウト要求に含まれるキャラクタＩＤに基づいて要求元のキャラクタデータをキャラクタデータ格納領域２４ｄから検出し、検出したキャラクタデータに含まれるステータス情報を“ログイン”から“ログアウト”に更新する。続いて、ステップＳ６３でログアウト通知（終了通知）を要求元の携帯通信端末３０に送信し、ステップＳ６５でキャラクタマトリクス格納領域２４ｃに形成されたキャラクタマトリクスを更新する。つまり、要求元のキャラクタデータから位置情報を検出し、検出した位置情報に基づいてキャラクタマトリクスから要求元のキャラクタのグラフィック番号を検出し、そして検出したグラフィック番号の拡張子を“ｓ”に更新する。更新処理が完了すると、ステップＳ６７〜Ｓ７１で上述のステップＳ５１〜Ｓ５５と同様の処理を行い、その後に上階層のルーチンに復帰する。
【００８１】
図１６に示すステップＳ１５の移動処理は、図２０に示すサブルーチンに従う。まずステップＳ８１で要求元のキャラクタが移動可能であるかどうか判断する。要求元のキャラクタが移動しようとする位置（移動先座標）に別のキャラクタが先に移動した場合、要求元のキャラクタは移動できない。このため、まずステップＳ８１で移動が可能であるかどうかを判断する。具体的には、キャラクタマトリクス上の移動先座標にグラフィック番号が割り当てられているかどうか判断する。グラフィック番号が割り当てられていれば、ステップＳ９７で要求元の携帯通信端末３０にマップデータを送信し、ステップＳ９９で要求元のキャラクタデータに含まれる送信状態情報を“送信済み”に更新する。更新が完了すると上階層のルーチンに復帰する。この場合、マップデータには、要求元のキャラクタの現在位置を示す位置情報が含まれる。
【００８２】
移動先座標にグラフィック番号が割り当てられていなければ、ステップＳ８１でＹＥＳと判断し、ステップＳ８３およびＳ８５で要求元のキャラクタの位置情報およびキャラクタマトリクスを更新する。具体的には、移動要求に含まれるキャラクタＩＤに基づいて要求元のキャラクタデータをキャラクタデータ格納領域２４ｄから検出し、検出したキャラクタデータに含まれる位置情報（座標または向き）を移動要求に従って更新する。さらに、更新前の位置情報に基づいて要求元のキャラクタのグラフィック番号をキャラクタマトリクスから検出し、そして検出したグラフィック番号の割り当て先または検出したグラフィック番号の拡張子を移動要求に従って更新する。ステップＳ８７〜Ｓ９５では図１８に示すステップＳ４７〜Ｓ５５と同様の処理を行い、処理が完了すると上階層のルーチンに復帰する。
【００８３】
図１６に示すステップＳ１９のサイズ変更処理は、図２１に示すサブルーチンに従う。まずステップＳ１０１で、サイズ変更要求に含まれるキャラクタＩＤに基づいて要求元のキャラクタデータをキャラクタデータ格納領域２４ｄから検出し、検出したキャラクタデータに含まれるマップサイズ情報を特定し、そして特定したマップサイズ情報を更新する。現時点のマップサイズ情報が“サイズ１”であれば“サイズ２”に更新し、現時点のマップサイズ情報が“サイズ２”であれば“サイズ１”に更新する。ステップＳ１０３では更新後のマップサイズに従うマップデータを要求元に送信する。具体的には、要求元のキャラクタデータから位置情報を検出し、検出した位置情報と更新されたマップサイズ情報に基づいてマップデータを作成し、そして作成したマップデータを要求元に送信する。ステップＳ１０５では要求元のキャラクタデータの送信状態情報を“送信済み”に設定し、その後上階層のルーチンに復帰する。
【００８４】
ステップＳ５１，Ｓ６７またはＳ９１におけるリストアップ処理は、図２２および図２３に示すサブルーチンに従う。まず、ステップＳ１１１でワーク領域２４ｅに形成された送信リストの内容をクリアする。ステップＳ１１３では、ログイン要求，ログアウト要求または移動要求を送信したプレイヤのキャラクタデータ（キャラクタｎデータ）をキャラクタデータ格納領域２４ｄから特定し、特定したキャラクタデータから位置情報を検出する。
【００８５】
続いて、ステップＳ１１５でキャラクタ番号ｉを“１”にセットし、ステップＳ１１７でキャラクタｉデータ（キャラクタデータ格納領域２４ｄから特定）からステータス情報を検出し、そしてステップＳ１１９でキャラクタｉがログイン状態およびログアウト状態のいずれであるかを判別する。ログアウト状態であればそのままステップＳ１３５に進む。これに対して、ログイン状態であれば、ステップＳ１２１でキャラクタｉデータから位置情報およびマップサイズ情報を検出し、ステップＳ１２３でキャラクタｉの位置情報とキャラクタｎの位置情報とにノルム計算を施す。具体的には、キャラクタｉの位置座標とキャラクタｎの位置座標から、キャラクタｉおよびｎの間の距離を求める。
【００８６】
ノルム計算が完了するとステップＳ１２５に進み、キャラクタｉの視界にキャラクタｎが存在するかどうかを判断する。具体的には、ノルム計算の結果とキャラクタｉのマップサイズ情報とに基づいて、キャラクタｉのマップサイズの範囲内にキャラクタｎの座標が含まれるかどうかを判断する。そして、ＮＯであればステップＳ１３５に、ＹＥＳであればステップＳ１２７にそれぞれ進む。
【００８７】
ステップＳ１２７ではキャラクタｉデータから送信状態情報を検出し、ステップＳ１２９では当該送信状態情報が“アイドル”を示すかどうかを、ステップＳ１３０ではキャラクタｉおよびｎの間の距離（ノルム）が所定値以下であるかどうかを、それぞれ判断する。ステップＳ１２９およびＳ１３０の両方でＹＥＳと判断されると、ステップＳ１３１でキャラクタｉをワーク領域２４ｅの送信リストに追加してからステップＳ１３５に進む。一方、ステップＳ１２９およびＳ１３０のいずれか一方でもＮＯと判断されると、ステップＳ１３３でキャラクタｉデータの送信状態情報を“送信予約”に設定してステップＳ１３５に進む。
【００８８】
ステップＳ１３５ではキャラクタ番号ｉをインクリメントし、続くステップＳ１３７ではインクリメントされたキャラクタ番号ｉを最大キャラクタ番号ｉｍａｘと比較する。ここで、ｉ≦ｉｍａｘであれば、ステップＳ１１７〜Ｓ１３５の処理を繰り返すが、ｉ＞ｉｍａｘであれば、ステップＳ１３９で送信リストからキャラクタｎを削除した後に上階層のルーチンに復帰する。
【００８９】
次に、携帯通信端末３０に設けられたＣＰＵ４８の処理を図２４〜図３０に示すフロー図に従って説明する。
【００９０】
ＣＰＵ４８はまず、ステップＳ１４１で外部からの信号受信の有無を判別し、ステップＳ１４３でプレイヤによるキー操作の有無を判別する。外部から信号を受信したときはステップＳ１４１からステップＳ１５１に進み、受信した信号がメール信号であるか通話のための着呼信号であるかを判別する。受信信号がメール信号であれば、ステップＳ１５３におけるメール処理を経てステップＳ１４１に戻る。一方、受信信号が着呼信号であればステップＳ１５５で通話処理を行い、通話が完了するとステップＳ１４１に戻る。
【００９１】
プレイヤが図９に示すメニュー画面から“ゲーム”以外の項目を選択すると、ステップＳ１４３でＮＯと判断し、ステップＳ１５７で対応する処理を行ってからステップＳ１４１に戻る。これに対して、プレイヤが図９に示すメニュー画面から“ゲーム”を選択し、さらに図１０に示すゲームメニュー画面から“ゲームを開始する”を選択すると、ステップＳ１４５，Ｓ１４７およびＳ１４９でログイン処理，ゲーム処理およびログアウト処理を行ってからステップＳ１４１に戻る。
【００９２】
ステップＳ１４５におけるログイン処理は、図２５に示すサブルーチンに従う。まずステップＳ１６１で初期化を行い、ステップＳ１６３で自分のキャラクタＩＤを含むログイン要求をゲームサーバ２０に送信する。ログイン要求に対して、ゲームサーバ２０は、ログイン許可およびマップデータを返送する（ステップＳ４３，Ｓ４７）。このため、携帯通信端末３０側ではステップＳ１６５およびＳ１６７でログイン許可の有無およびマップデータの受信の有無を判別し、マップデータの受信に応答してステップＳ１６９に進む。ステップＳ１６９では、受信したマップデータとグラフィックデータ格納領域５０ｂに格納されたグラフィックデータとに基づいて図１１または図１２に示すような仮想空間（ゲーム画面）をディスプレイ３８に表示する。表示処理が完了すると、上階層のルーチンに復帰する。
【００９３】
ステップＳ１４７におけるゲーム処理は、図２６に示すサブルーチンに従う。まずステップＳ１７１でマップ更新処理を行い、続いてステップＳ１７３およびＳ１７９で十字キー４０ｃの操作の有無およびＢボタン４０ｂの操作の有無をそれぞれ判別する。十字キー４０ｃが操作されたときはステップＳ１７７で移動処理を行い、処理を終えるとステップＳ１７１に戻る。
【００９４】
Ｂボタン４０ｂが操作されたときは、ステップＳ１７９でＹＥＳと判断し、ステップＳ１８１で図１３に示すシステムメニュー画面をディスプレイ３８に表示する。ここでプレイヤが十字キー４０ｃによってカーソルを“画面サイズ変更”にセットし、Ａボタン４０ａを押すと、ステップＳ１８３でＹＥＳと判断し、ステップＳ１８５でサイズ変更処理を行う。処理が完了すると、ステップＳ１７１に戻る。プレイヤが十字キー４０ｃによってカーソルを“その他設定処理”にセットし、Ａボタン４０ａを押すと、ステップＳ１８７でＹＥＳと判断し、ステップＳ１８９におけるその他設定処理を経てステップＳ１７１に戻る。
【００９５】
プレイヤがＢボタン４０ｂを押すと、ステップＳ１９１でＹＥＳと判断し、ステップＳ１９３でシステムメニュー画面を消去してからステップＳ１７１に戻る。プレイヤが十字キー４０ｃによってカーソルを“ゲーム終了”にセットし、Ａボタン４０ａを押すと、ステップＳ１９５でＹＥＳと判断し、上階層のルーチンに復帰する。プレイヤがいずれのキー操作もしない間は、ステップＳ１９７でマップ更新処理を行い、ステップＳ１８３に戻る。これによって、システムメニュー画面が表示されている間も、別のキャラクタはゲーム画面上を移動する。
【００９６】
ステップＳ１７１およびＳ１９７におけるマップ更新処理は、図２７に示すサブルーチンに従う。まずステップＳ２０１で新規のマップデータを受信したかどうかを判別し、ＮＯであればそのまま上階層のルーチンに復帰するが、ＹＥＳであれば、ステップＳ２０３でゲーム画面を更新する。つまり、図６に示すワーク領域５０ｃに格納されたマップデータを今回受信したマップデータによって更新する。表示領域５０ｄには、更新されたマップデータとグラフィックデータ格納領域５０ｂに格納されたグラフィックデータに基づいて作成されたゲーム画面データが展開され、これによってディスプレイ３８のゲーム画面が更新される。このような更新処理を終えると、上階層のルーチンに復帰する。
【００９７】
ステップＳ１７７における移動処理は、図２９に示すサブルーチンに従う。まず所望の移動先に移動できるかどうかをステップＳ２２１で判断する。具体的には、図７に示す地形マトリクスを参照して、“岩”や“木”のような障害物のグラフィック番号が移動先座標に存在するかどうか判断する。このようなグラフィック番号が存在するときは、当該座標に移動できないため、ステップＳ２２１でＮＯと判断し、そのまま上階層のルーチンに復帰する。
【００９８】
一方、移動先座標に障害物のグラフィック番号が存在しなければ、ステップＳ２２１でＹＥＳと判断し、ステップＳ２２３で前半０．５ブロックの画面スクロールを開始する。移動先が上であれば下方向への画面スクロールを開始し、移動先が下であれば上方向への画面スクロールを開始し、移動先が左であれば右方向への画面スクロールを開始し、そして移動先が右であれば左方向への画面スクロールを開始する。ステップＳ２２５以降の処理が行われる間、表示画面は、０．０→０．１→０．２→０．３→０．４→０．５の要領で所望の方向に０．１ブロックずつスクロールされる。
【００９９】
ステップＳ２２５では、自分のキャラクタＩＤと移動先情報（上，下，右，左のいずれか）とを含む移動要求をゲームサーバ２０に送信する。ゲームサーバ２０では、当該移動要求に従う移動が可能かどうかの判別処理（Ｓ８１）および判別結果に従う内容のマップデータの返送処理（Ｓ８７またはＳ９７）が行われる。つまり、移動が可能であれば、要求元のキャラクタの位置情報が更新され、更新された位置情報を含むマップデータが返送される。ゲームサーバ２０からマップデータを受信すると、ステップＳ２２７からステップＳ２２９に進み、受信したマップデータに含まれる位置情報が更新されているかどうか判断する。
【０１００】
ここでＮＯであれば、自分のキャラクタの移動は失敗したとみなし、ステップＳ２３１で画面表示をスクロール前の状態に戻す。このとき、表示画面は、０．５→０．４→０．３→０．２→０．１→０．０の要領で所望の方向と逆方向に０．１ブロックずつスクロールされる。一方、ステップＳ２２９でＹＥＳと判断されると、ステップＳ２３３で後半０．５ブロックの画面スクロールを行う。ゲームサーバ２０から受信したマップデータのマトリクスは移動先座標を中心とするマトリクスであるため、表示画面は、−０．５→−０．４→−０．３→−０．２→−０．１→０．０の要領で所望の方向に０．１ブロックずつスクロールされる。ステップＳ２３１またはＳ２３３の処理を終えると、上階層のルーチンに復帰する。
【０１０１】
ステップＳ１８５におけるサイズ変更処理は、図３０に示すサブルーチンに従う。まずステップＳ２４１で所望のサイズ情報を取り込み、ステップＳ２４３でサイズ変更が生じたかどうかを判別する。サイズ１のゲーム画面が表示されている状態で“大”が選択されるか、サイズ２のゲーム画面が表示されている状態で“小”が選択されたときは、サイズ変更が生じていないため、そのまま上階層のルーチンに復帰する。これに対して、サイズ１のゲーム画面が表示されている状態で“小”が選択されるか、サイズ２のゲーム画面が表示されている状態で“大”が選択されたときは、サイズ変更が生じているため、ステップＳ２４５で自分のキャラクタＩＤを含むサイズ変更要求をゲームサーバ２０に送信する。
【０１０２】
ゲームサーバ２０はサイズ変更要求に対してマップデータを返送するため（ステップＳ１０３）、ステップＳ２４７ではマップデータの受信の有無を判別する。マップデータを受信するとステップＳ２４９に進み、ゲーム画面を更新する。つまり、図６に示すワーク領域５０ｃに格納されたマップデータを今回受信したマップデータによって更新する。表示領域５０ｄには、更新されたマップデータとグラフィックデータ格納領域５０ｂのグラフィックデータとに基づいて作成されたゲーム画面データが展開され、これによってディスプレイ３８のゲーム画面が更新される。更新処理を終えると、上階層のルーチンに復帰する。
【０１０３】
図２４に示すステップＳ１４９のログアウト処理は、図２８に示すサブルーチンに従う。まずステップＳ２１１で自分のキャラクタＩＤを含むログアウト要求をゲームサーバ２０に送信する。ゲームサーバ２０はログアウト要求に対してログアウト通知を送信するため（ステップＳ６３）、ステップＳ２１３ではログアウト通知の有無を判別する。ログアウト通知を受信するとステップＳ２１５でゲーム終了処理を行い、その後に上階層のルーチンに復帰する。
【０１０４】
図１５を参照して、ゲームサーバ２０と複数の携帯通信端末３０との間の通信動作について説明する。図１５では、各々の携帯通信端末にＡ，ＢおよびＣの符号を割り当てる。また、携帯通信端末Ａ，ＢおよびＣは互いに近接し、いずれの端末の視界にも他の端末のプレイヤキャラクタが存在するものとする。
【０１０５】
なお、図１５の右端に示されているのは、ゲームサーバ２０のメモリ２４（キャラクタデータ格納領域）に記憶されている各端末について送信状態情報の推移を示すものである。ここで、“送信済み”は、前回の定期通信タイミングから現在までに当該端末にゲームサーバからマップデータの送信があったことを示す。また、“送信予約”は、次回の定期通信タイミングで当該端末にマップデータを送信すべきことを示す。さらに、“アイドル”は、前回の定期通信タイミングから現在までに当該端末にゲームサーバからマップデータの送信がないことを示す。
【０１０６】
携帯通信端末Ａ，ＢおよびＣの送信状態情報が“送信済み”，“送信済み”および“送信予約”に設定されている状態で送信時刻ｎになると、ゲームサーバ２０から携帯通信端末Ｃ（“送信予約”に設定されている端末）にマップデータが送信され（Ｓ２７）、携帯通信端末Ｃの送信状態情報が“送信予約”から“送信済み”に更新される（Ｓ２９）。一方、携帯通信端末ＡおよびＢ（“送信予約”に設定されていない端末）にはマップデータは送信されず、かつ、携帯通信端末ＡおよびＢの送信状態情報は“送信済み”から“アイドル”に設定される（Ｓ３３）。これによって、携帯通信端末ＡおよびＢは即時送信が可能な状態となる。
【０１０７】
送信時刻ｎの後に携帯通信端末Ａからゲームサーバ２０に対して移動要求が送信されると、ゲームサーバ２０から携帯通信端末Ａに対してマップデータが返送され（Ｓ８７）、携帯通信端末Ａの送信状態情報が“送信済み”に更新される（Ｓ８９）。さらに、送信状態情報が“アイドル”を示す携帯通信端末Ｂが送信リストに追加され（Ｓ１３１）、マップデータが携帯通信端末Ｂに送信される（Ｓ９３）。携帯通信端末Ｂの送信状態情報は、“送信済み”に更新される（Ｓ９５）。また、携帯通信端末Ｃの送信状態情報は、“送信予約”に更新される（Ｓ１３３）。
【０１０８】
上述のように、移動要求を送信した端末（携帯通信端末Ａ）には、マップデータが即時に送信される。これは、移動操作（キー操作）に対するレスポンスを良くするためである。また、送信状態情報が“アイドル”である端末（携帯通信端末Ｂ）にも、マップデータが即時送信される。一方、送信状態情報が“送信済み”である端末（携帯通信端末Ｃ）には、即時送信されず、次回の定期通信タイミング（時刻ｎ＋１）で送信すべく“送信予約”に設定される。このように、所定期間内に既に送信があった端末（時刻ｎに送信があった携帯通信端末Ｃ）には即時送信がされないので、通信の頻度が制限されて通信量を抑えることができる。
【０１０９】
携帯通信端末Ａからゲームサーバ２０に対して再度移動要求が送信されると、ゲームサーバ２０から携帯通信端末Ａに対してマップデータが返送される（Ｓ８７）。このとき、携帯通信端末Ａの送信状態情報は“送信済み”となっているが、マップデータは即時送信される。このように、移動要求を送信した端末には、送信状態情報に関わらず、マップデータが即時に送信される。携帯通信端末Ａの送信状態情報は、“送信済み”を維持する（Ｓ８９）。携帯通信端末Ｂの送信状態情報は“送信済み”を示し、携帯通信端末Ｃの送信状態情報は“送信予約”を示すため、これらの端末は送信リストに追加されず、マップデータが送信されることはない。ただし、携帯通信端末ＢおよびＣの送信状態情報は、“送信予約”に設定される（Ｓ１３３）。
【０１１０】
時刻ｎから時刻ｎ＋１の間に、携帯通信端末Ａからの移動要求は２回あるが、携帯通信端末Ｃに対しては、１回目の移動要求後のマップデータは送信されず、２回目の移動要求後のマップデータのみが送信されることになるので、通信量を抑えることができる。ここで、携帯通信端末Ｃのプレイヤは、携帯通信端末Ａの１回目の移動を知ることができないが、時刻ｎ＋１において、その時点での（時刻ｎ＋１での）携帯通信端末Ａの位置を知ることができるので十分である。すなわち、定期通信タイミングの中間地点においては、各端末間の情報は整合性がとれない状態があるが、定期通信タイミングの時点において整合性がとれるのでゲーム進行上大きな問題にはならない。
【０１１１】
送信時刻ｎ＋１に達すると、送信状態情報が“送信予約”を示す携帯通信端末ＢおよびＣに対してマップデータが送信され（Ｓ２７）、これらの送信状態情報が“送信済み”に更新される（Ｓ２９）。一方、携帯通信端末Ａについては、送信状態情報が“送信済み”から“アイドル”に更新される（Ｓ３３）。時刻ｎ＋１の後に携帯通信端末Ｂから移動要求が発せられると、ゲームサーバ２０から携帯通信端末Ｂに対してマップデータが返送される（Ｓ８７）。携帯通信端末Ｂの送信状態情報は“送信済み”を維持する。
【０１１２】
また、アイドル状態の携帯通信端末Ａが送信リストに追加され（Ｓ１３１）、マップデータが携帯通信端末Ａに送信され（Ｓ９３）、そして携帯通信端末Ａの送信状態情報が“送信済み”に更新される。送信済み状態の携帯通信端末Ｃについては、マップデータが送信されることなく送信状態情報が“送信予約”に更新される（Ｓ１３３）。
【０１１３】
携帯通信端末Ｃから移動要求が発せられると、ゲームサーバ２０から携帯通信端末Ｃに対してマップデータが返送され（Ｓ８７）、携帯通信端末Ｃの送信状態情報が“送信済み”に更新される（ＳＳ８９）。また、送信済み状態の携帯通信端末ＡおよびＢについては、マップデータの送信は行われず、送信状態情報が“送信予約”に更新される（Ｓ１３３）。
【０１１４】
送信時刻ｎ+２に達すると、送信予約状態の携帯通信端末ＡおよびＢに対してマップデータが送信され（Ｓ２７）、携帯通信端末ＡおよびＢの送信状態情報が“送信済み”に更新される（Ｓ２９）。送信済み状態の携帯通信端末Ｃについては、送信状態情報が“アイドル”に更新される（Ｓ３３）。
【０１１５】
このように、定期送信処理では、マップデータは送信状態情報が“送信予約”を示す携帯通信端末に送信され、送信状態情報は“送信済み”に更新される。他の携帯通信端末に対するマップデータの送信は行われず、送信状態情報は“アイドル”に設定される。
【０１１６】
リストアップ処理では、マップデータを即時送信すべき端末を選抜する処理が行われる。具体的には、送信状態情報が“アイドル”を示す携帯通信端末が送信リストに追加され、当該携帯通信端末に対してマップデータが送信される。送信が完了すると、送信状態情報は“送信済み”に更新される。他の携帯通信端末は送信リストに追加されず、送信状態情報は“送信予約”に設定される。
【０１１７】
したがって、定期送信処理によるマップデータの送信およびリストアップ処理に基づくマップデータの送信は、相補的に行われる。
【０１１８】
なお、この実施例では、定期送信処理，ログイン処理，ログアウト処理，移動処理およびサイズ変更処理のすべてを１つのゲームサーバによって行うようにしているが、互いに距離を隔てた複数のサーバによって上述の処理を分担するようにしてもよい。この場合、互いに異なる位置に設置された複数のサーバによってゲームサーバが形成される。
【０１１９】
また、この実施例では、ゲームの具体的な内容や種類が詳しく説明されていないが、仮想空間に登場するキャラクタをプレイヤによって自在に制御できるものは、すべて“ゲーム”の概念に含まれると考えられる。
【０１２０】
さらに、この実施例では、地形マトリクスおよびキャラクタマトリクスの両方を含むマップデータを各々の携帯通信端末に送信するようにしているが、全領域の地形マトリクスを携帯通信端末側に予め用意させるようにすれば、マップデータから地形マトリクスを省くことができる。
【０１２１】
さらにまた、この実施例では、各々の携帯通信端末で再現されるゲーム世界のサイズを“大”および“小”の中からしか選択できないが、プレイヤによって任意のサイズを設定できるようにしてもよい。
【０１２２】
さらにまた、この実施例では、ゲームサーバが、指定されたサイズと各プレイヤキャラクタの座標とに基づいて各端末に送信すべきマップデータの領域（視野領域）を決定したが、この処理を各端末で行うようにしてもよい。この場合、視野領域の情報（たとえば、視野領域の右上座標と左下座標）を各端末からゲームサーバに送信する必要がある。
【０１２３】
また、この実施例では、移動時，ログイン時およびログアウト時にしかキャラクタの状態変化が発生しないため、移動要求，ログイン要求またはログアウト要求が与えられたときにリストアップ処理およびマップデータ送信処理が行われる。しかし、キャラクタの状態変化の態様として、扉が開くなどの地形キャラクタの変化がある場合には、地形キャラクタの変化に応答してリストアップ処理およびマップデータ送信処理を行う必要がある。
【図面の簡単な説明】
【図１】この発明の一実施例を示す図解図である。
【図２】ゲームサーバの構成の一例を示すブロック図である。
【図３】ゲームサーバに設けられたメモリのマッピング状態を示す図解図である。
【図４】携帯通信端末の一例を示す外観図である。
【図５】携帯通信端末の構成の一例を示すブロック図である。
【図６】携帯通信端末に設けられたメモリのマッピング状態を示す図解図である。
【図７】マップデータの構造を示す図解図である。
【図８】仮想空間の一例を示す図解図である。
【図９】携帯通信端末に表示されるスタートメニュー画面の一例を示す図解図である。
【図１０】携帯通信端末に表示されるゲームメニュー画面の一例を示す図解図である。
【図１１】携帯通信端末に表示される仮想空間の一例を示す図解図である。
【図１２】携帯通信端末に表示される仮想空間の他の一例を示す図解図である。
【図１３】携帯通信端末に表示される仮想空間およびシステムメニュー画面の一例を示す図解図である。
【図１４】携帯通信端末に表示される仮想空間およびサイズメニュー画面の一例を示す図解図である。
【図１５】ゲームサーバと複数の携帯通信端末との間で行われるデータ通信処理の一例を示すタイミング図である。
【図１６】ゲームサーバの処理の一部を示すフロー図である。
【図１７】ゲームサーバの処理の他の一部を示すフロー図である。
【図１８】ゲームサーバの処理のその他の一部を示すフロー図である。
【図１９】ゲームサーバの処理のさらにその他の一部を示すフロー図である。
【図２０】ゲームサーバの処理の他の一部を示すフロー図である。
【図２１】ゲームサーバの処理のその他の一部を示すフロー図である。
【図２２】ゲームサーバの処理のさらにその他の一部を示すフロー図である。
【図２３】ゲームサーバの処理の他の一部を示すフロー図である。
【図２４】携帯通信端末の処理の一部を示すフロー図である。
【図２５】携帯通信端末の処理の他の一部を示すフロー図である。
【図２６】携帯通信端末の処理のその他の一部を示すフロー図である。
【図２７】携帯通信端末の処理のさらにその他の一部を示すフロー図である。
【図２８】携帯通信端末の処理の他の一部を示すフロー図である。
【図２９】携帯通信端末の処理のその他の一部を示すフロー図である。
【図３０】携帯通信端末の処理のさらにその他の一部を示すフロー図である。
【符号の説明】
１０…ネットワークシステム
２０…ゲームサーバ
２２，４８…ＣＰＵ
２４，５０…メモリ
３０…携帯通信端末
３８…ディスプレイ
【図１】
0004922513.tif 000002
【図２】
0004922513.tif 000003
【図３】
0004922513.tif 000004
【図４】
0004922513.tif 000005
【図５】
0004922513.tif 000006
【図６】
0004922513.tif 000007
【図７】
0004922513.tif 000008
【図８】
0004922513.tif 000009
【図９】
0004922513.tif 000010
【図１０】
0004922513.tif 000011
【図１１】
0004922513.tif 000012
【図１２】
0004922513.tif 000013
【図１３】
0004922513.tif 000014
【図１４】
0004922513.tif 000015
【図１５】
0004922513.tif 000016
【図１６】
0004922513.tif 000017
【図１７】
0004922513.tif 000018
【図１８】
0004922513.tif 000019
【図１９】
0004922513.tif 000020
【図２０】
0004922513.tif 000021
【図２１】
0004922513.tif 000022
【図２２】
0004922513.tif 000023
【図２３】
0004922513.tif 000024
【図２４】
0004922513.tif 000025
【図２５】
0004922513.tif 000026
【図２６】
0004922513.tif 000027
【図２７】
0004922513.tif 000028
【図２８】
0004922513.tif 000029
【図２９】
0004922513.tif 000030
【図３０】
0004922513.tif 000031