以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
(1)第1実施形態
(1.1)ゲームシステム1の概略
第1実施形態では、ユーザは、特典を得るためサブゲームをプレイする。ここで、特典とは、ユーザがメインゲーム又はサブゲームで使用できるアイテムを意味する。第1の実施形態では、サブゲームは、複数のマスからなる通常エリアを複数有するとともに、通常エリアでは付与されない特典が付与される複数のマスからなるボーナスエリアとを有する、いわゆるすごろくゲームである。通常エリアは、例えば、コマの初期配置である「S」マス(即ち、スタートマス)、特別移動ポイントをインクリメントする「M」マス、他のエリアにコマを移動させる「W」マス等のマスを有する。特別移動ポイントは、次にコマを移動させる移動先エリアを決定するために参照されるポイントである。
サーバ3は、携帯端末2からのサブゲームの選択指示に応じて、サブゲームを開始する。サーバ3は、ユーザが最初にサブゲームを始める場合、ユーザのコマを通常エリアのスタートマスに配置する。サーバ3は、サブゲームにおいて、サイコロを振る処理を実行し、出た目の数だけユーザのコマを移動する。そして、サーバ3は、ユーザのコマを「M」マスに移動させると、そのユーザの特別移動ポイントをインクリメントする。サーバ3は、ユーザのコマを「W」マスに移動させたときに、そのユーザの特別移動ポイントが第1閾値以下の場合は、所定の確率に基づいて、複数の通常エリアのうちの他の通常エリア又はボーナスエリアのスタートマスにユーザのコマを移動させ、そのユーザの特別移動ポイントが第1閾値より大きい場合は、ボーナスエリアのスタートマスに移動させる。これにより、ユーザにとって意外性があり、繰り返しゲームをプレイしてもらうためのユーザの継続意欲を維持・向上させることが可能となる。
(1.2)ゲームシステム1の構成
図1は、ゲームシステム1の概略構成の一例を示す図である。
ゲームシステム1は、少なくとも一台の携帯端末2と、サーバ3とを備える。携帯端末2とサーバ3とは、通信ネットワークを介して相互に接続され、例えば、基地局4、移動体通信網5、ゲートウェイ6、及びインターネット7を介して相互に接続される。携帯端末2で実行されるプログラム(例えば、閲覧プログラム)と、サーバ3で実行されるプログラム(例えば、ゲームプログラム)とは、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol, HTTP)等の通信プロトコルを用いて通信を行う。
(1.2.1)携帯端末2の構成
図2は、携帯端末2の概略構成の一例を示す図である。
携帯端末2は、基地局4、移動体通信網5、ゲートウェイ6、及びインターネット7を介してサーバ3に接続し、サーバ3と通信を行う。携帯端末2は、ユーザによる操作部23(ボタン等)の操作に応じて、ゲームの進行をサーバ3に要求する。また、携帯端末2は、サーバ3からゲームの進行に係る表示データを受信して表示する。そのために、携帯端末2は、端末通信部21と、端末記憶部22と、操作部23と、表示部24と、端末処理部25とを備える。
なお、本実施形態では、携帯端末2として、多機能携帯電話(所謂「スマートフォン」)を想定するが、本発明はこれに限定されるものではない。携帯端末2は、本発明が適用可能であればよく、例えば、携帯電話(所謂「フィーチャーフォン」)、携帯情報端末(Personal Digital Assistant, PDA)、携帯ゲーム機、携帯音楽プレーヤ、タブレットPC等でもよい。
端末通信部21は、所定の周波数帯を感受帯域とするアンテナを含む、通信インターフェース回路を備え、携帯端末2を無線通信ネットワークに接続する。端末通信部21は、基地局4により割り当てられるチャネルを介して、基地局4との間でWCDMA(Wideband Code Division Multiple Access)(登録商標)方式等による無線信号回線を確立し、基地局4との間で通信を行う。端末通信部21は、端末処理部25から供給されたデータをサーバ3等に送信する。また、端末通信部21は、サーバ3等から受信したデータを端末処理部25に供給する。
端末記憶部22は、例えば、半導体メモリ、磁気ディスク装置、又は光ディスク装置のうちの少なくともいずれか一つを備える。端末記憶部22は、端末処理部25での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、端末記憶部22は、ドライバプログラムとして、操作部23を制御する入力デバイスドライバプログラム、表示部24を制御する出力デバイスドライバプログラム等を記憶する。また、端末記憶部22は、アプリケーションプログラムとして、ゲームの進行に係る表示データの取得及び表示を行うプログラム等を記憶する。また、端末記憶部22は、データとして、ゲームの進行に係る表示データ、映像データ、画像データ等を記憶する。さらに、端末記憶部22は、所定の処理に係る一時的なデータを一時的に記憶してもよい。
操作部23は、携帯端末2の操作が可能であればどのようなデバイスでもよく、例えば、タッチパッド、キーボード等である。ユーザは、操作部23を用いて、文字、数字等を入力することができる。操作部23は、ユーザにより操作されると、その操作に対応する信号を発生する。発生した信号は、ユーザの指示として、端末処理部25に供給される。
表示部24も、映像、画像等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ、有機EL(Electro−Luminescence)ディスプレイ等である。表示部24は、端末処理部25から供給された映像データに応じた映像、画像データに応じた画像等を表示する。
端末処理部25は、一又は複数個のプロセッサ及びその周辺回路を備える。端末処理部25は、携帯端末2の全体的な動作を統括的に制御するものであり、例えば、CPU(Central Processing Unit)である。端末処理部25は、携帯端末2の各種処理が端末記憶部22に記憶されているプログラム、操作部23の操作等に応じて適切な手順で実行されるように、端末通信部21、表示部24等の動作を制御する。端末処理部25は、端末記憶部22に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、端末処理部25は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
端末処理部25は、閲覧実行部251を備える。閲覧実行部251は、端末処理部25が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、閲覧実行部251は、ファームウェアとして携帯端末2に実装されてもよい。
閲覧実行部251は、ゲームの進行に係る表示データの取得及び表示を行う。即ち、閲覧実行部251は、ユーザからの指示に応じてゲームの進行を要求するゲーム進行要求等を、端末通信部21を介してサーバ3に送信する。また、閲覧実行部251は、ゲーム進行要求等に対する処理結果に対応する表示データを、サーバ3から端末通信部21を介して受信する。閲覧実行部251は、受信した表示データに基づいて描画データを作成する。即ち、閲覧実行部251は、受信した表示データを解析して制御データ及び内容データを特定し、特定した制御データに従って同じく特定した内容データをレイアウトし、描画データを作成する。そして、閲覧実行部251は、作成した描画データを表示部24に出力する。なお、内容データにはアニメーションのデータが含まれる。閲覧実行部251は、内容データにアニメーションのデータが含まれる場合は、そのアニメーションを含む描画データを生成し、生成した描画データを表示部24に出力する。
(1.2.2)サーバ3の構成
図3(a)は、サーバ3の概略構成の一例を示す図である。
サーバ3は、携帯端末2からの要求に応じて、ゲームを進行する。また、サーバ3は、ゲームの進行に係る表示データを生成して携帯端末2に送信する。そのために、サーバ3は、サーバ通信部31と、サーバ記憶部32と、サーバ処理部33とを備える。
サーバ通信部31は、携帯端末2の表示部24に表示するための表示データを出力する出力部の一例であり、サーバ3をインターネット7に接続するための通信インターフェース回路を備え、インターネット7との間で通信を行う。サーバ通信部31は、携帯端末2等から受信したデータを、サーバ処理部33に供給する。また、サーバ通信部31は、サーバ処理部33から供給されたデータを、携帯端末2等に送信する。
サーバ記憶部32は、例えば、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくともいずれか一つを備える。サーバ記憶部32は、サーバ処理部33での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、サーバ記憶部32は、アプリケーションプログラムとして、メインゲーム、サブゲーム等を行い、その結果に係る表示データを生成するゲームプログラム等を記憶する。また、サーバ記憶部32は、データとして、ユーザを管理するユーザ管理テーブル(図3(b))、各種エリアを管理するエリア管理テーブル(図3(c))等を記憶する。さらに、サーバ記憶部32は、当選するとボーナスエリアに、当選しないと他の通常エリアに移動させる抽選の当選確率として、1〜100%のうちのいずれかの値(例えば、20%の場合は、20)等を記憶する。さらに、サーバ記憶部32は、所定の処理に係る一時的なデータを一時的に記憶してもよい。
図3(b)は、ユーザ管理テーブルのデータ構造の一例を示す図である。
ユーザ管理テーブルは、各ユーザについて、当該ユーザの識別子(ID)、名前、アイテムID、エリアID、コマ位置、サイコロ数、体力ポイント、及び特別移動ポイント等を記憶する。アイテムIDは、当該ユーザが有する、すごろくゲーム又はメインゲームで使用可能なアイテムを識別するための識別子(ID)である。
エリアIDは、当該ユーザのコマが現在位置するエリアを識別するための識別子(ID)である。エリアには、通常エリア、ボーナスエリア及び特別ボーナスエリアがあり、各リアは、複数のマスからなる。通常エリアは、第1種別のエリアの一例である。ボーナスエリアは、第1種別とは異なる第2種別のエリアの一例であり、通常エリアで付与される特典の種類とは異なる種類の特典が付与されるエリアである。例えば、通常エリアでは、所定種類のキャラクタのカードが付与される場合、ボーナスエリアでは、通常エリアでは付与されない種類のキャラクタのカードが付与される。特別ボーナスエリアは、第1種別及び第2種別とは異なる第3種別のエリアの一例であり、通常エリア及びボーナスエリアで付与される特典よりも希少性が高い特典が付与されるエリアである。例えば、通常エリアでは、キャラクタのカードのうち、レア度9までのカードしか付与されず、ボーナスエリアでは、同じくレア度9までのカードしか付与されない。付与される特典が1〜10までのレア度を有するゲームで使用されるカードであり、カードのレア度が高いほど希少性が高いものとする。一方、特別ボーナスエリアでは、最高レア度であるレア度10のカードが付与される。
コマ位置は、当該ユーザのコマのマップ上の現在位置を示す情報である。マップとは、各種エリアの複数のマスをレイアウトして作成された描画データである。サイコロ数は、サイコロを転がしてユーザのコマのマップ上の位置を進める数を決定し、決定した数だけユーザのコマのマップ上の位置を進めるサイコロ処理が実行されるごとにデクリメント(−1)され、一定時間(例えば、五分)が経過する度にインクリメント(+1)されるパラメータである。体力ポイントは、対戦(バトル)を開始したときに、敵キャラクタから攻撃を受けると減少するパラメータである。特別移動ポイントは、ユーザのコマが通常エリア、ボーナスエリア又は特別ボーナスエリアのいずれかのエリアに移動する際の判断に用いられるパラメータである。
図3(c)は、エリア管理テーブルのデータ構造の一例を示す図である。
エリア管理テーブルは、各エリアについて、当該エリアのID、エリア種別、移動先エリア、各マスにおけるイベント種別等を記憶する。エリア種別は、当該エリアが通常エリア、ボーナスエリア、又は特別ボーナスエリアのうちのいずれのエリアであるかを示すパラメータである。各マスにおけるイベント種別は、各マス(例えば、マス1、マス2…)に対応付けられたイベント種別(S、M、W、R、D、I…)を表すパラメータである。イベント種別の詳細については後述する。移動先エリアは、次に移動するエリアIDをエリア種別毎に表すパラメータである。例えば、エリア1の移動先エリアとして、エリア種別が「通常」ならエリア4、「ボーナス」ならエリア2、「特別ボーナス」ならエリア3が設定されている。エリア4は、エリア1とエリア種別が同じ「通常」であるから、エリア4は、エリア1の続きであることを示す。エリア2の移動先エリアとして、エリア種別が「通常」ならエリア4が設定されているが、エリア種別が「ボーナス」及び「特別ボーナス」の移動先エリアは設定されていない。これは、エリア2の移動先エリアは、エリア種別が「通常」であるエリア4しかないことを表す。
サーバ処理部33は、一又は複数個のプロセッサ及びその周辺回路を備える。サーバ処理部33は、サーバ3の全体的な動作を統括的に制御するものであり、例えば、CPUである。サーバ処理部33は、サーバ3の各種処理がサーバ記憶部32に記憶されているプログラム等に応じて適切な手順で実行されるように、サーバ通信部31等の動作を制御する。サーバ処理部33は、サーバ記憶部32に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、サーバ処理部33は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
(1.2.2.1)サーバ処理部33の機能
図4(a)〜(d)及び図5(a)〜(d)は、サーバ3により作成される表示データに基づく携帯端末2の表示画面の一例を示す図である。
図4(a)は、すごろくゲームを開始したときに表示される初期マップ画面400の一例を示す図である。
初期マップ画面400は、サーバ3がすごろくゲーム開始時に生成する初期マップ表示データに基づいて表示される。初期マップ画面400は、通常エリアを表し、初期マップ画面400には、マップウィンドウ401、サイコロを振ることができる回数を示すサイコロ数の表示ウィンドウ402、「サイコロ」ボタン411、「終了する」ボタン412が表示されている。マップウィンドウ401には、複数のマスと、進行方向を示す複数の矢印と、ユーザのコマ410とが表示されている。初期マップ画面400では、ユーザのコマ410は、マス403に位置する。携帯端末2は、「サイコロ」ボタン411が押下されると、サイコロを転がしてコマを進めることを指示するサイコロ指示を含むゲーム進行要求を、端末通信部21を介してサーバ3に送信する。携帯端末2は、「終了する」ボタン412が押下されると、サブゲームを終了することを指示する終了指示を含むゲーム進行要求を、端末通信部21を介してサーバ3に送信する。初期マップ画面400では、サイコロ数の表示ウィンドウ402において、サイコロ数が4であることが表示されている。
以下に、通常エリアの複数のマスについて説明する。サーバ3は、サイコロを転がしてコマ410を進める数を決定するサイコロ処理を実行し、コマ410をサイコロ処理により出た目の数だけ矢印方向に移動したマスに停止させる。サーバ3はコマ410を停止させたマスのイベント種別に応じてイベント処理を実行する。
通常エリアのイベント種別には、以下の種別がある。イベント種別「S」403は、スタート地点のマス(即ち、スタートマス)を示す。イベント種別「D」404は、サイコロ数をインクリメント(+1)するマスを示す。イベント種別「N」405は、通常のマスを示す。サーバ3は、コマ410が通常のマスに止まってもイベントは何も実行しない。サーバ3は、マップの2周目にコマ410が「S」403に止まった場合も「N」405と同様、イベントを何も実行しない。イベント種別「I」406は、すごろくゲームで使用できるアイテムを獲得できるマスを示す。すごろくゲームで使用できるアイテムとして、例えば、サイコロ数をインクリメント(+1)するアイテム、体力ポイントを増加するアイテム、対戦で用いられるカード等がある。
イベント種別「B」407は、サーバ3が制御する敵キャラクタとの対戦を開始するマスを示す。サーバ3は、コマ410をイベント種別「B」に停止させたときに、ランダムに選択した敵キャラクタとユーザの対戦の制御を開始する。サーバ3は、選択した敵キャラクタの強さに関するパラメータ(例えば、攻撃力、守備力、体力等)とユーザのキャラクタの強さに関するパラメータ(例えば、攻撃力、守備力、体力等)に応じて対戦の勝敗を判定する。ユーザのキャラクタが対戦に勝利すると、サーバ3はすごろくゲームで使用できるアイテム、又は、メインゲームで使用できるアイテムをユーザに付与する。イベント種別「M」408は、ユーザの特別移動ポイントをインクリメント(+1)するマスを示す。
イベント種別「W」409は、ユーザの特別移動ポイントに応じてコマ410を移動させるエリア種別を決定し、決定したエリア種別(「特別ボーナス」、「ボーナス」、又は「通常」)のエリアのスタートマスに移動させるマスを示す。サーバ3は、コマ410を「W」マスに停止させたときにユーザの特別移動ポイントが第1閾値(例えば、0)以下である場合、サーバ記憶部32に記憶された当選確率で当選か否かを決定する抽選を実施する。そして、サーバ3は、抽選の結果、当選しなかった場合、コマ410を移動先させるエリア種別を「通常」エリアに決定する。一方、サーバ3は、特別移動ポイントが第1閾値以下であり、かつ、抽選の結果、当選となった場合、又は、特別移動ポイントが第1閾値より大きく、かつ、第1閾値より大きい第2閾値(例えば、4)以下である場合に、コマ410を移動させるエリア種別を「ボーナスエリア」に決定する。また、サーバ3は、特別移動ポイントが第2閾値より大きい場合、コマ410を移動させるエリア種別を「特別ボーナス」に決定する。
図4(b)は、初期マップ画面400で「サイコロ」ボタン411が押下されたときに表示される、マップ画面420の一例を示す図である。
携帯端末2は、操作部23を介して初期マップ画面400における「サイコロ」ボタン411が押下されると、端末通信部21を介してサーバ3にサイコロ指示を含むゲーム進行要求を送信する。サーバ3は、サーバ通信部31を介してゲーム進行要求を受信すると、ゲーム進行要求に含まれてサイコロ指示に従って、サイコロ処理を実行し、マップ画面420を表示するためのマップ表示データを生成して、サーバ通信部31を介して携帯端末2に送信する。携帯端末2は、端末通信部21を介してマップ表示データを受信すると、受信したマップ表示データに基づいてマップ画面420を表示部24に表示する。マップ画面420は、サイコロ処理において6が出た場合の例を示す。この場合、コマ424はマス403から6マス先の位置にあるコマ424に移動される。サーバ3は、コマ424を移動させたマス423のイベント種別が「N」であるため、何もイベントを実行しない。サイコロ数の表示ウィンドウ422は、サイコロ数の表示ウィンドウ402に表示されたサイコロ数4から1を引いた3を表示する。なお、サーバ3が生成するマップ表示データの内容データには、サイコロを転がす動きと、コマ424がマス403からマス423に移動する動きとを表すアニメーションデータが含まれ、携帯端末2は、初期マップ画面400からマップ画面420へ遷移するアニメーションを送信する。
図4(c)は、マップ画面420で「サイコロ」ボタン425が押下されたときに表示される、マップ画面430の一例を示す図である。
マップ画面430は、マップ画面420と同様に表示される。マップ画面430は、サイコロ処理において4が出た場合の例を示す。この場合、コマ434はマス423から4マス先の位置にあるコマ433に移動される。サーバ3は、コマ434を移動させたマス433のイベント種別が「M」であるため、ユーザの特別移動ポイントをインクリメント(+1)する。サイコロ数の表示ウィンドウ432は、サイコロ数の表示ウィンドウ422に表示されたサイコロ数3から1を引いた2を表示する。
図4(d)は、マップ画面430で「サイコロ」ボタン435が押下されたときに表示されるマップ画面440の一例を示す図である。
マップ画面440は、マップ画面420と同様に表示される。マップ画面440は、サイコロ処理において2が出た場合の例を示す。この場合、コマ444はマス433から2マス先の位置にあるコマ443に移動される。サイコロ数の表示ウィンドウ442は、サイコロ数の表示ウィンドウ432に表示されたサイコロ数2から1を引いた1を表示する。サーバ3は、コマ444を移動させたマス443のイベント種別が「W」であるため、コマ444を他のエリアのスタートマスにワープさせる。この例では、マップ画面430のイベント種別「M」のマス433で、ユーザの特別移動ポイントが1になっているため、サーバ3は、コマ444をボーナスエリアのスタートマスに移動させる。
図5(a)は、マップ画面440からボーナスエリアに移動したときに表示されるマップ画面500の一例を示す図である。
マップ画面500は、ボーナスエリアを表す。以下に、ボーナスエリアの複数のマスについて説明する。イベント種別「S」503及びイベント種別「N」505は、通常エリアのイベント種別「S」403及びイベント種別「N」405と同様である。イベント種別「R」504は、通常エリアでは、付与されないアイテムを付与するマスを示す。イベント種別イベント種別「B」506は、通常エリアの敵キャラクタよりも強い敵キャラクタと対戦を開始するマスを示す。ユーザが対戦に勝利すると、サーバ3は、敵キャラクタの強さに応じてアイテムをユーザに付与する。イベント種別「W」507は、コマを次の通常エリアのスタートマスに移動させるマスを示す。
なお、ボーナスエリアに移動した場合のマップ表示データの内容データには、サイコロを転がす動きと、図4(d)のコマ444がマス433からマス443に移動する動きと、図5(a)のコマ508がマス443からマス503に移動する動きとを表すアニメーションデータが含まれ、携帯端末2は、マップ画面430からマップ440を経てマップ500へ遷移するアニメーションを表示する。
図5(b)は、マップ画面440から特別ボーナスエリアに移動したときに表示されるマップ画面520の一例を示す図である。
マップ画面520は、特別ボーナスエリアを表す。以下に、特別ボーナスエリアの複数のマスについて説明する。イベント種別「S」523、イベント種別「N」525、及びイベント種別「W」526は、ボーナスエリアのイベント種別「S」503、イベント種別「N」505、及びイベント種別「W」507と同様である。イベント種別「R」524は、通常エリア及びボーナスエリアで付与されるアイテムよりも希少性が高いアイテムをユーザに付与するマスを示す。
サーバ3は、例えば、図4(d)に示すようにコマ444をイベント種別「W」のマス443に停止させたときに特別移動ポイントが5になっている場合、特別ボーナスエリアのスタートマス523にコマ444を移動させる。なお、特別ボーナスエリアに移動した場合のマップ表示データの内容データには、サイコロを転がす動きと、図4(d)のコマ444がマス433からマス443に移動する動きと、図5(b)のコマ527がマス443からマス523に移動する動きとを表すアニメーションデータが含まれ、携帯端末2は、マップ画面430からマップ440を経てマップ520へ遷移するアニメーションを表示する。
図5(c)は、マップ画面440から次の通常エリアに移動したときに表示されるマップ画面530の一例を示す図である。
マップ画面530は、図4(a)〜(d)に示す通常エリアの続きである次の通常エリアを表す。サーバ3は、例えば、図4(d)に示すようにコマ444がイベント種別「W」のマス443に停止させたときに特別移動ポイントが0になっている場合、抽選を行う。そして、サーバ3は、抽選の結果、当選しなかった場合、コマ444を次の通常エリアのスタートマス533に移動させる。
図5(d)は、警告画面540の一例を示す図である。
サーバ3は、サーバ通信部31を介してサイコロ指示を含むゲーム進行要求を受信したときに、ユーザのサイコロ数が0である場合、サイコロ処理を実行できない旨を通知するための警告表示データを生成し、サーバ通信部31を介して携帯端末2に送信する。携帯端末2は、端末通信部21を介して警告表示データを受信すると、受信した警告表示データに基づいて警告画面540を表示部24に表示する。警告画面540には、警告メッセージ541、ユーザのサイコロ数の表示ウィンドウ542が表示される。サイコロ数の表示ウィンドウ542は、サイコロ数が0であることを表示する。ユーザは、サイコロ数が1以上になるまで一定期間(例えば、五分)待ってから、すごろくゲームを再度プレイすることができる。なお、ユーザがサイコロ数を回復させるアイテムを使用することにより、一定期間待たずにサイコロ数を増大させ、すごろくゲームを再度プレイできるようにしてもよい。
(1.2.2.2)サーバ処理部33の構成
以上の機能を実現するために、サーバ処理部33は、制御部331と、メインゲーム処理部332と、サブゲーム処理部333を備える。サブゲーム処理部333は、サイコロ処理部334、イベント種別特定部335、計数部336、移動制御部337、イベント制御部338、及び表示データ生成部339を備える。これらの各部は、サーバ処理部33が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとしてサーバ3に実装されてもよい。
以下、制御部331による処理について説明する。
制御部331は、携帯端末2からサーバ通信部31を介して、ユーザ認証要求を受信した場合に、受信したユーザ認証要求を解析してユーザID及びパスワードを特定する。制御部331は、特定したユーザID及びパスワードをパラメータとして、ユーザ認証部(不図示)に処理の実行を指示する。あるいは、ユーザ認証は、携帯端末固有のIDにより認証してもよい。
また、制御部331は、携帯端末2からサーバ通信部31を介して受信したゲーム進行要求に含まれる指示をメインゲーム処理部332又はサブゲーム処理部333に通知する。ゲーム進行要求に含まれる指示には、前述したサイコロ指示及び終了指示以外に、メインゲームを進行させるためのメインゲーム指示と、サブゲームの開始を指示するサブゲーム指示とがある。
また、制御部331は、メインゲーム処理部332又はサブゲーム処理部333から通知された表示データを、サーバ通信部31を介して携帯端末2に送信する。
メインゲーム処理部332は、制御部331から通知されたメインゲーム指示に従って、メインゲームの進行を制御する。メインゲーム処理部332は、メインゲームで使用する画面を表示するためのメインゲーム表示データを生成し、制御部331に通知する。ユーザは、サブゲームで獲得した、アイテムをメインゲームで使用できる。メインゲームは、どのようなゲームでもよく、例えば、デッキを用いたカードバトルゲームでもよい。
以下、サブゲーム処理部333による処理について説明する。
サブゲーム処理部333は、制御部331から通知されたサブゲーム開始指示、サイコロ指示及び終了指示に従って、サブゲームの進行を制御する。サブゲーム処理部333は、制御部331からサブゲーム開始指示が通知されると、表示データ生成部339に初期マップ表示データを生成させ、表示データ生成部339が生成した初期マップ表示データを、サーバ通信部31を介して携帯端末2に送信する。サブゲーム処理部333は、制御部331からサイコロ指示が通知されたときにユーザのサイコロ数が0である場合、表示データ生成部339に警告表示データを生成させ、表示データ生成部339が生成した警告表示データを、サーバ通信部31を介して携帯端末2に送信する。なお、サイコロ数は、一定期間(例えば、五分)経過毎にインクリメント(+1)するため、ユーザは、一定期間経過後にすごろくゲームをプレイすることができる。一方、サブゲーム処理部333は、制御部331からサイコロ指示が通知されたときにユーザのサイコロ数が0より大きい場合、サイコロ処理を制御する。サブゲーム処理部333は、制御部331から終了指示が通知された場合、表示データ生成部339にサブゲーム終了画面を表示するための終了表示データを生成させ、表示データ生成部339が生成した終了表示データを、サーバ通信部31を介して携帯端末2に送信する。
以下、サイコロ処理部334による処理について説明する。
サイコロ処理部334は、サイコロを振って、例えば、1〜6の目を出す処理を実行し、出た目の数だけユーザのコマを移動する。即ち、サイコロ処理部334は、ユーザ管理テーブルにおいてユーザ認証により認証成功となったユーザIDに対応するサイコロ数をデクリメント(−1)する。サイコロ処理部334は、ユーザ管理テーブルからそのユーザIDに対応するエリアID及びコマ位置を読み出す。サイコロ処理部334は、エリア管理テーブルからそのユーザIDに対応するその読み出したエリアIDに対応するエリアにおいて、その読み出したコマ位置からサイコロの出た目の数だけユーザのコマを移動させた位置を特定する。サイコロ処理部334は、ユーザ管理テーブルのコマ位置を、その特定した位置に更新する。なお、サイコロを振って1〜6の目を出す処理は、例えば、乱数発生等の周知の方法により実現できる。
イベント種別特定部335は、エリア管理テーブルにおいて、ユーザ管理テーブルに記憶されたエリアID及びサイコロ処理部334により更新されたコマ位置に記憶されたイベント種別を特定する。
計数部336は、イベント種別特定部335により特定されたイベント種別が「M」である場合、ユーザ管理テーブルの特別移動ポイントをインクリメント(+1)する。
移動制御部337は、通常エリア内とボーナスエリア及び特別ボーナスエリア内とで異なる移動制御を行う。まず、通常エリア内の移動制御を説明する。移動制御部337は、イベント種別特定部335により特定されたイベント種別が「W」である場合、ユーザ管理テーブルの特別移動ポイントに応じてコマを移動させるエリア種別を決定する。移動制御部337は、ユーザ管理テーブルのエリアIDを読み出し、読み出したエリアID及び決定したエリア種別により、エリア管理テーブルを参照して、移動先エリアのエリアIDを特定する。移動制御部337は、ユーザ管理テーブルのエリアID及びコマ位置を、特定した移動先エリアのエリアID及びスタートマスに更新する。
移動制御部337は、特別移動ポイントが第1閾値以下である場合、サーバ記憶部32に記憶された当選確率で当選か否かを決定する抽選を実施し、抽選の結果、当選となった場合、コマを移動させるエリア種別を「ボーナス」に決定し、抽選の結果、当選しなかった場合、コマを移動させるエリア種別を「通常」に決定する。移動制御部337は、例えば、0〜100までの範囲内で発生させた乱数がサーバ記憶部32に記憶された当選確率に対応する範囲(例えば、20%の場合は0〜20)に含まれるか否かにより、当選か否かを決定する方法により実現できる。
一方、移動制御部337は、特別移動ポイントが第1閾値より大きく、且つ第2閾値以下である場合、コマを移動させるエリア種別を「ボーナス」に決定する。
また、移動制御部337は、特別移動ポイントが第2閾値より大きい場合、コマを移動させるエリア種別を「特別ボーナス」に決定する。
移動制御部337は、特別移動ポイントが第1閾値より大きい場合で、かつ、コマを移動させるエリア種別を「ボーナス」又は「特別ボーナス」に決定したときは、ユーザ管理テーブルの特別移動ポイントを0に初期化し、「通常」に決定したときは初期化しない。
次に、ボーナスエリア内の移動制御について説明する。移動制御部337は、イベント種別特定部335により特定されたイベント種別が「W」である場合、コマを移動させるエリア種別を「通常」に決定する。移動制御部337は、ユーザ管理テーブルのエリアIDを読み出し、読み出したエリアID及び決定したエリア種別「通常」により、エリア管理テーブルを参照して、移動先エリアのエリアIDを特定する。移動制御部337は、ユーザ管理テーブルのエリアID及びコマ位置を、特定した移動先エリア、即ち、次の通常エリアのエリアID及びスタートマスに更新する。なお、移動制御部337は、ユーザ管理テーブルのエリアID及びコマ位置を、次の通常エリアのエリアID及びスタートマスに代えて、移動元の通常エリアのエリアID及びイベント種別「W」であるマスに更新してもよい。なお、特別ボーナスエリア内の移動制御もボーナスエリア内の移動制御と同様である。
イベント制御部338は、イベント種別特定部335により特定されたイベント種別が「M」及び「W」以外のイベント種別である場合、イベント種別に応じたイベントを実行する。例えば、イベント制御部338は、特定されたイベント種別が「R」である場合、通常のエリアでは獲得できないアイテムをユーザに付与する。即ち、イベント制御部338は、付与するアイテムをユーザ管理テーブルのアイテムIDに追加する。イベント制御部338は、特別ボーナスエリアにおいて特定されたイベント種別が「R」である場合、通常エリアの「I」及びボーナスエリアの「R」で付与されるアイテムよりも希少性が高いアイテムをユーザに付与する。
表示データ生成部339は、初期マップ表示データ、マップ表示データ、警告表示データ及び終了表示データを生成し、生成した各表示データを制御部331に通知する。
(1.3)ゲームシステム1の動作
図6は、ゲームシステム1による動作シーケンスの一例を示す図である。
なお、以下に説明する動作シーケンスは、予め端末記憶部22及びサーバ記憶部32に記憶されているプログラムに基づいて、主に端末処理部25及びサーバ処理部33により、携帯端末2及びサーバ3の各要素と協働して実行される。
まず、携帯端末2の操作部23を介してユーザにより入力されたユーザIDパスワードをユーザ認証要求として、端末通信部21を介してサーバ3に送信する(ステップS600)。
サーバ3の制御部331は、サーバ通信部31を介してユーザ認証要求を受信した場合に、受信したユーザ認証要求を解析してユーザID及びパスワードを特定する。そして、制御部331は、特定したユーザID及びパスワードをパラメータとして、ユーザ認証部(不図示)に処理の実行を指示する(ステップS602)。
ユーザ認証部による認証が成功すると、制御部331は、メインゲーム指示をメインゲーム処理部332に通知する。メインゲーム処理部332は、メインゲーム表示データを生成し(ステップS604)、生成したメインゲーム表示データを制御部331に通知する。
制御部331は、メインゲーム処理部332からメインゲーム表示データが通知されると、通知されたメインゲーム表示データを、サーバ通信部31を介して、携帯端末2に送信する(ステップS606)。
サーバ3から端末通信部21を介して、メインゲーム表示データを受信すると、携帯端末2の閲覧実行部251は、受信したメインゲーム表示データに基づいて描画データを生成する。また、閲覧実行部251は、作成した描画データを表示部24に出力し、メインゲーム画面を表示させる(ステップS608)。
次に、操作部23を介して、ユーザからサブゲーム開始指示を受け付けると、閲覧実行部251は、そのサブゲーム開始指示及びユーザIDを含むゲーム進行要求を、端末通信部21を介して、サーバ3に送信する(ステップS610)。
携帯端末2からサーバ通信部31を介して、サブゲーム開始指示を含むゲーム進行要求を受信すると、制御部331は、受信したゲーム進行要求に含まれるサブゲーム開始指示をサブゲーム処理部333に通知する。サブゲーム処理部333は、制御部331からサブゲーム開始指示が通知されると、表示データ生成部339に、初期マップ表示データを生成させる(ステップS612)。
表示データ生成部339は、生成した初期マップデータを制御部331に通知する。制御部331は、表示データ生成部339から通知された初期マップ表示データを、サーバ通信部31を介して携帯端末2に送信する(ステップS614)。
サーバ3から端末通信部21を介して、初期マップ表示データを受信すると、携帯端末2の閲覧実行部251は、受信した初期マップ表示データに基づいて描画データを作成する。また、閲覧実行部251は、作成した描画データを表示部24に出力し、初期マップ画面を表示させる(ステップS616)。
次に、操作部23を介して、ユーザからの指示を受け付けると、閲覧実行部251は、その指示及びユーザIDを含むゲーム進行要求を、端末通信部21を介してサーバ3に送信する(ステップS618)。
携帯端末2からサーバ通信部31を介して、ゲーム進行要求を受信すると、制御部331は、受信したゲーム進行要求に含まれる指示をサブゲーム処理部333に通知する。ゲーム進行要求に含まれる指示を通知されたサブゲーム処理部333は、通知された指示に従って、サブゲーム進行処理を実行する(ステップS620)。
図7は、ゲームシステム1によるサブゲーム進行処理のフローの一例を示す図である。
サブゲーム処理部333は、ユーザ管理テーブルのサイコロ数が0より大きいか否か判定する(ステップS700)。
表示データ生成部339は、サイコロ数が0の場合(ステップS700−No)、警告表示データを生成し(ステップS702)、生成した警告表示データを制御部331に通知し(ステップS704)、サブゲーム進行処理のフローを終了する。
一方、サブゲーム処理部333は、サイコロ数が0より大きい場合(ステップS700−Yes)、サブゲーム処理部333は、ゲーム進行要求に含まれる指示がサイコロ指示であるか否かを判定する(ステップS706)。
表示データ生成部339は、ゲーム進行要求に含まれる指示がサイコロ指示でない場合(即ち、終了指示の場合)(ステップS708−No)、終了表示データを生成し(ステップS710)、生成した終了表示データを制御部331に通知し(ステップS712)、サブゲーム進行処理のフローを終了する。
一方、サイコロ処理部334は、ゲーム進行要求に含まれる指示がサイコロ指示である場合(ステップS708−Yes)、サイコロを振る処理により、例えば、1〜6の目を出す(ステップS714)。
次に、サイコロ処理部334は、ユーザ管理テーブルにおいてユーザ認証により認証成功となったユーザIDに対応するサイコロ数をデクリメント(−1)する(ステップS716)。
次に、サイコロ処理部334は、ユーザ管理テーブルからそのユーザIDに対応するエリアID及びコマ位置を読み出す。サイコロ処理部334は、エリア管理テーブルからそのユーザIDに対応するその読み出したエリアIDに対応するエリアにおいて、その読み出したコマ位置からサイコロの出た目の数だけユーザのコマを移動させた位置を特定する。サイコロ処理部334は、ユーザ管理テーブルのコマ位置を、その特定した位置に更新する(ステップS718)。
次に、サブゲーム処理部333は、エリア管理テーブルを参照し、ユーザ管理テーブルのそのユーザについてのエリアIDに対応するエリア種別が通常エリアであるか否かを判定する(ステップS720)。
サブゲーム処理部333は、判定したエリア種別が通常エリアである場合(ステップS720−Yes)、通常エリア進行処理を実行する(ステップS724)。
図8は、ゲームシステム1による通常エリア進行処理のフローの一例を示す図である。
まず、イベント種別特定部335は、エリア管理テーブルにおいて、ユーザ管理テーブルに記憶されたエリアID及びサイコロ処理部334により更新されたコマ位置に記憶されたイベント種別を特定する(ステップS800)。
次に、イベント種別特定部335は、特定したイベント種別が「M」であるか否かを判定する(ステップS802)。
特定したイベントが「M」である場合(ステップS802−Yes)、計数部336は、ユーザ管理テーブルのそのユーザについての特別移動ポイントをインクリメント(+1)し(ステップS804)、通常エリア進行処理のフローを終了する。
一方、イベント種別特定部335は、特定したイベントが「M」でない場合(ステップS802−No)、特定したイベント種別が「W」であるか否かを判定する(ステップS806)。特定したイベントが「W」である場合(ステップS806−Yes)、移動制御部337は、ユーザ管理テーブルのそのユーザについて特別移動ポイントが第2閾値より大きいか否かを判定する(ステップS808)。
移動制御部337は、特別移動ポイントが第2閾値より大きい場合(ステップS808−Yes)、ユーザのコマを移動させるエリア種別を「特別ボーナス」に決定し(ステップS810)、ユーザ管理テーブルの特別移動ポイントを0に初期化し(ステップS812)、処理をステップS828に移す。
一方、移動制御部337は、特別移動ポイントが第2閾値以下である場合(ステップS808−No)、特別移動ポイントが第1閾値より大きいか否か判定する(ステップS814)。
移動制御部337は、特別移動ポイントが第1閾値より大きい場合(ステップS814−Yes)、ユーザのコマを移動させるエリア種別を「ボーナス」に決定し(ステップS816)、ユーザ管理テーブルの特別移動ポイントを0に初期化し(ステップS818)、処理を828に移す。
一方、移動制御部337は、特別移動ポイントが第1閾値以下である場合(ステップS814−No)、当選確率で当選か否かを決定する抽選を実行する(ステップS820)。
移動制御部337は、抽選の結果、当選となったか否か判定する(ステップS822)。
移動制御部337は、抽選の結果、当選となった場合(ステップS822−Yes)、ユーザのコマを移動させるエリア種別を「ボーナス」に決定し(ステップS824)、処理をステップS828に移す。
一方、移動制御部337は、抽選の結果、当選しなかった場合(ステップS822−No)、ユーザのコマを移動させるエリア種別を「通常」に決定する(ステップS826)。
ステップS828において、移動制御部337は、ユーザ管理テーブルのエリアIDを読み出し、読み出したエリアID及びステップS810、ステップS816、ステップS824、又はステップS826で決定したエリア種別により、エリア管理テーブルを参照して、移動先エリアのエリアIDを特定する。移動制御部337は、ユーザ管理テーブルのエリアID及びコマ位置を、特定した移動先エリアのエリアID及びスタートマスに更新して、コマを移動させ(ステップS828)、通常エリア進行処理のフローを終了する。
一方、イベント制御部338は、ステップS800で特定したイベント種別が「M」、及び「W」とは異なるイベント種別の場合(ステップS806−No)、イベント種別に応じたイベントを実行し(ステップS830)、通常エリア進行処理のフローを終了する。
図8の通常エリア進行処理のフローにより、アイテム等の特典を獲得できなくても特別移動ポイントがインクリメントされれば、次回サブゲームをプレイした場合に、通常エリアでは付与されないアイテム又は希少性が高いアイテムを獲得するチャンスが大きくなっている。したがって、ユーザの再度サブゲームをプレイしたいというゲームの継続意欲を維持・向上させることができる。
逆に、移動制御部337がコマを移動させるエリア種別を「ボーナス」又は「特別ボーナス」に決定した場合、特別移動ポイントを初期化することで、ユーザは長時間サブゲームをプレイしてもボーナスエリアに連続して移動することはできない。したがって、ユーザは、通常エリアでは付与されない又は希少性が高いアイテムを常に獲得できるわけではない。そのため、通常エリアでは付与されないアイテム又は希少性が高いアイテムが極端に多く流通し、メインゲーム又はサブゲームの興趣を損ねることがない。
図7に戻り、サブゲーム処理部333は、特定したエリア種別が通常エリア以外(即ち、ボーナスエリア又は特別ボーナスエリア)である場合(ステップS720−No)、ボーナスエリア進行処理を実行する(ステップS722)。ボーナスエリア進行処理は、ボーナスエリア又は特別ボーナスエリア内におけるマスのイベント種別に応じたイベントを実行する処理である。
図9は、ボーナスエリア進行処理のフローの一例を示す図である。
まず、イベント種別特定部335は、エリア管理テーブルにおいて、ユーザ管理テーブルに記憶されたエリアID及びサイコロ処理部334により更新されたコマ位置に記憶されたイベント種別を特定する(ステップS900)。
次に、イベント種別特定部335は、特定したイベント種別が「R」であるか否かを判定する(ステップS902)。
イベント制御部338は、特定したイベント種別が「R」である場合(ステップS902−Yes)、通常エリアのイベント種別「I」マスでは、獲得できないアイテムをユーザ管理テーブルのそのユーザについてのアイテムIDに追加し(ステップS904)、ボーナスエリア進行処理のフローを終了する。なお、イベント制御部338は、イベント種別が「R」である場合、そのエリアが特別ボーナスエリアであるときは、通常エリアで付与されるアイテム及びボーナスエリアで付与されるアイテムよりも希少性が高いアイテムをユーザに付与する。
一方、イベント種別特定部335は、特定したイベントが「R」でない場合(ステップS902−No)、特定したイベント種別が「W」であるか否かを判定する(ステップS906)。
次に、移動制御部337は、特定したイベント種別が「W」である場合(ステップS906−Yes)、ユーザのコマを移動させるエリア種別を「通常」に決定する。移動制御部337は、ユーザ管理テーブルのエリアIDを読み出し、読み出したエリアID及び決定したエリア種別「通常」により、エリア管理テーブルを参照して、移動先エリアのエリアIDを特定する。移動制御部337は、ユーザ管理テーブルのエリアID及びコマ位置を、特定した移動先エリアのエリアID及びスタートマスに更新して、コマを移動させ(ステップS908)、ボーナスエリア進行処理のフローを終了する。
一方、イベント制御部338は、ステップS900において、特定したイベント種別が「R」、及び「W」以外のイベント種別である場合(ステップS906−No)、イベント種別に応じたイベントを実行し(ステップS910)、ボーナスエリア進行処理のフローを終了する。
図9のボーナスエリア進行処理のフローにより、ユーザは通常エリアでは付与されないアイテム又は希少性が高いアイテムを獲得することができ、高揚感をユーザに与えることができる。さらに、通常エリアでは付与されないアイテム又は獲得した希少性が高いアイテムを使用することにより、ユーザはゲームをプレイするというゲームの継続意欲を維持・向上させることができる。
図7に戻り、表示データ生成部339は、ステップS714〜722の処理に対応するマップ表示データを生成し(ステップS726)、生成したマップ表示データを制御部331に通知し(ステップS728)、サブゲーム進行処理のフローを終了する。
図6に戻り、制御部331は、表示データ生成部339から通知された表示データを、サーバ通信部31を介して携帯端末2に送信する(ステップS622)。
携帯端末2の閲覧実行部251は、サーバ3から端末通信部21を介して表示データを受信すると、受信した表示データに基づいて描画データし、作成した描画データを表示部24に出力する(ステップS624)。
なお、この後、携帯端末2のユーザにより操作部23を介して、終了が指示されるまで、携帯端末2及びサーバ3は、ステップS618〜624の処理を繰り返す。
以上説明してきたように、サーバ3は、コマを停止させたマスのイベント種別が「W」である場合、特別移動ポイントに基づいて、コマの移動先のエリア種別を決定する。これにより、ユーザは、どのエリアに移動するかを予測することができず、ユーザにとって意外性があり、繰り返しゲームをプレイしてもらうためのゲームの継続意欲を維持・向上させることが可能となる。
(2)第2実施形態
(2.1)ゲームシステム1’の概略
第2実施形態では、サーバ3’のサイコロ処理部334’は、ユーザのコマを移動させると、サーバ記憶部32’にその移動履歴を記憶する。そして、サーバ3の計数部336’は、現在時刻から遡って所定時間内に同じマスに同一グループの他のユーザの履歴がある場合、両方のユーザの特別移動ポイントをインクリメントする。なお、グループとは、ゲームにおけるメッセージ送受信機能等を用いて情報を共有する、特定の協力関係が構築された複数ユーザの集まりであり、例えば、互いにフレンド関係にある複数ユーザから構成される。これにより、同一グループでサブゲームのプレイするユーザが多いほど特別移動ポイントを多くすることができ、通常エリアでは付与されないアイテム又は希少性が高いアイテムを獲得できるチャンスが大きくなる。したがって、ユーザのゲームの継続意欲を維持・向上させることができる。
(2.2)ゲームシステム1’の機能
図10(a)は、現在時刻より1分前のユーザ1のマップ画面1000の一例を示す図である。マップ画面1000では、ユーザ1のコマ1004は、マス1003に位置する。
図10(b)は、現在時刻より1分前のユーザ2のマップ画面1010の一例を示す図である。マップ画面1010の通常エリアは、ユーザ1のコマ1004が存在する通常エリアと同じエリアである。ユーザ2は、ユーザ1と同一のグループに属している。マップ画面1010では、ユーザ2のコマ1014は、マス1013に位置する。
図10(c)は、現在時刻のユーザ1のマップ画面1020の一例を示す図である。マップ画面1020は、ユーザ1が、マップ画面1000の状態からサイコロ処理を1回実行し、6の目が出た場合の画面である。マップ画面1020では、ユーザ1のコマ1024は、マス1003から6つ進んだマス1023に位置する。
図10(d)は、現在時刻のユーザ2のマップ画面1030の一例を示す図である。マップ画面1030は、ユーザ2が、マップ画面1010からサイコロ処理を1回実行し、6の目が出た場合の画面である。マップ画面表示1030では、ユーザ2のコマ1034は、マス1013から6つ進んだマス1033に位置する。
図10(a)〜(d)に示すように、ユーザ2のコマ1034が、ユーザ2と同一のグループに属するユーザ1のコマ1004が現在時刻から遡って所定時間内(例えば、10分以内)に止まっていたマス1003と同じマス1033に止まった場合、サーバ3は、両方のユーザ(ユーザ1及びユーザ2)の特別移動ポイントをインクリメントする。なお、図10(a)〜(d)は、各ユーザと同一のグループに所属している他のユーザのコマを表示しない例を示しているが、各ユーザが所属するグループと同一のグループに所属する他のユーザのコマをリアルタイムに表示してもよい。これにより、各ユーザは、同一グループに所属している他のユーザのコマの位置を確認でき、他のユーザのコマと同じマスに、各ユーザのコマを停止させようとする意欲をユーザに与えることができ、ゲームの継続意欲を維持・向上させることができる。
(2.3)ゲームシステム1’の構成
以上の機能を実現するために、ゲームシステム1’は、少なくとも一台の携帯端末2と、サーバ3’とを備える。サーバ3’は、サーバ通信部31と、サーバ記憶部32’と、サーバ処理部33’とを備える。サーバ処理部33’は、制御部331と、メインゲーム処理部332と、サブゲーム処理部333と、サイコロ処理部334’と、イベント種別特定部335’と、計数部336’と、移動制御部337と、イベント制御部338と、表示データ生成部339とを備える。携帯端末2、サーバ通信部31、制御部331、メインゲーム処理部332、サブゲーム処理部333、 移動制御部337、イベント制御部338、及び表示データ生成部339は、第1実施形態のものと同様であるため、以下では説明を省略する。
サーバ記憶部32’は、第1実施形態と同様のテーブルを記憶し、さらに、ユーザの移動履歴を管理する移動履歴管理テーブル(図11(b))及びグループを管理するグループ管理テーブル(図11(c))を記憶する。
図11(a)は、サーバ記憶部32’に記憶されるユーザ管理テーブルのデータ構造の一例を示す図である。図11(a)に示すように、第2実施形態におけるユーザ管理テーブルには、第1実施形態におけるユーザ管理テーブルの各要素に加えて、グループIDが追加される。グループIDは、そのユーザが属するグループを識別する識別子(ID)である。
図11(b)は、サーバ記憶部32’に記憶される移動履歴管理テーブルのデータ構造の一例を示す図である。移動履歴管理テーブルは、各ユーザについて、当該ユーザの識別子(ID)、当該ユーザが属するグループのグループID、当該ユーザのコマが存在していたエリアのエリアID、当該ユーザのコマが止まっていたマスの位置、当該ユーザのコマが当該マスに止まった日付、当該ユーザのコマが当該マスに止まった時刻等を記憶する。
図11(c)は、サーバ記憶部32’に記憶されるグループ管理テーブルのデータ構造の一例を示す図である。グループ管理テーブルは、各グループについて、当該グループのグループID、グループ名、グループに所属するユーザのユーザID等を記憶する。グループに所属できるユーザの数は、何名でもよい。また、一人のユーザが複数のグループに所属していてもよい。
サイコロ処理部334’は、第1実施形態の構成に加えて、ユーザのコマを移動させた後に、ユーザのマス移動履歴を移動履歴管理テーブルに出力する。即ち、サイコロ処理部334’は、ユーザ管理テーブルを参照し、そのユーザIDを有するユーザが所属するグループのグループIDを特定する。さらに、サイコロ処理部334’は、現在日付及び現在時刻を取得する。サイコロ処理部334’は、ユーザIDと、特定したグループIDと、ユーザのコマが存在するエリアのエリアIDと、ユーザのコマが止まったマスの位置と、取得した現在日付及び現在時刻とを相互に関連付けて、移動履歴として移動履歴管理テーブルに記憶する。なお、グループIDを特定する際に、ユーザ管理テーブルを参照してグループIDを特定することに代えて、グループ管理テーブルを参照してグループIDを特定してもよい。
計数部336’は、ユーザ管理テーブルを参照して、そのユーザが属するグループのグループID、ユーザのコマが存在するエリアのエリアID、ユーザのコマが止まったマスの位置を特定する。計数部336’は、移動履歴管理テーブルを参照して、特定したグループID、エリアID、及びマスの位置をキーとして、現在時刻から遡って所定時間内に同じマスに同一グループのユーザの履歴があるか否かを判定する。計数部336’は、対応する履歴がある場合、両方のユーザに特別移動ポイントをインクリメント(+1)する。
(2.4)ゲームシステム1’の動作
図12は、移動履歴判定処理のフローの一例を示す図である。
図12において実行される移動履歴判定処理は、図8のステップS800に示す通常エリアにおけるイベント種別特定処理、及び、図9のステップS900に示す通常エリア以外のエリアにおけるイベント種別特定処理に代えて、イベント種別特定部335’及び計数部336’により実行される。なお、サイコロ処理部334’は、図7に示すステップS718において、ユーザのコマを移動させたときに、サーバ記憶部32’の移動履歴管理テーブルに移動履歴を記憶しているものとする。
イベント種別特定部335’は、図8のステップS800又は図9のステップS900と同様にイベント種別を特定する(ステップS1200)。
次に、イベント種別特定部335’は、特定したイベント種別が「M」又は「W」であるか否かを判定する(ステップS1202)。
イベント種別特定部335’は、特定したイベント種別が「M」又は「W」である場合(ステップS1202−Yes)、移動履歴判定処理のフローを終了する。
一方、イベント種別特定部335’は、特定したイベント種別が「M」及び「W」とは異なる場合(ステップS1202−No)、計数部336’は、ユーザ管理テーブルを参照して、そのユーザが属するグループのグループID、ユーザのコマが存在するエリアのエリアID、ユーザのコマが止まったマスの位置を特定する。計数部336’は、移動履歴管理テーブルを参照して、特定したグループID、エリアID、及びマスの位置をキーとして、現在時刻から遡って所定時間内に同じマスに同一グループのユーザの履歴があるか否かを判定する(ステップS1204)。
計数部336’は、対応する履歴がある場合(ステップS1204−Yes)、両方のユーザに特別移動ポイントをインクリメント(+1)し(ステップS1206)、移動履歴判定処理のフローを終了する。
一方、計数部336’は、対応する履歴がない場合(ステップS1204−No)、移動履歴判定処理のフローを終了する。
なお、計数部336’は、特別移動ポイントをインクリメントすることに代えて又は加えて、サイコロ数、又は体力ポイントを増大してもよいし、アイテムを付与してもよい。また、特別移動ポイントのインクリメント等は、必ず発生させてもよいし、所定の確率で発生させてもよい。
また、計数部336’は、両方のユーザに特別移動ポイントを付与することに代えて、片方のユーザ(先のユーザ又は後のユーザ)だけにポイントを付与してもよい。ユーザのコマを移動させたマスのイベント種別が「M」及び「W」である場合も特別移動ポイントをインクリメントしてもよい。
図12の移動履歴判定フローにより、同一グループでサブゲームのプレイするユーザが多いほど各ユーザは特別移動ポイントをインクリメントでき、ボーナスエリア又は特別ボーナスエリアに移動する確率が高くなる。したがって、ユーザは、通常エリアでは付与されない又は希少性が高いアイテムを獲得できるチャンスが大きくなるため、ユーザのゲームの継続意欲を維持・向上させることができる。
(3)その他の実施形態
なお、本発明は、第1及び第2実施形態に限定されるものではない。例えば、第1及び第2実施形態では、本発明をすごろくゲームに適用したが、本発明は、すごろくゲームに限らず、マップ上を移動する仕組みを有するゲーム又はサービス(例えば、RPGゲーム、ユーザのアバターによるソーシャルゲームサービス、遊技機等)に適用することができる。
また、ユーザのコマのマップ上の位置を進める数を決定する処理は、サイコロ処理に限定されない。例えば、ルーレット、スロット等の他の方法により数を決定する処理を用いてもよい。また、マップ上のコマの位置を進める数も1〜6に限定されることなく、他の数でもよい。
また、第1及び第2実施形態において、移動制御部337の抽選で用いられる当選確率を増大させるイベント種別「M’」のマスを追加してもよい。その場合、サーバ記憶部32又は32’は、当選するとボーナスエリアに、当選確率として、1〜100%のいずれかの値(例えば、20%の場合は、20)をユーザ毎にユーザ管理テーブルに記憶する。次に、イベント制御部338は、イベント種別特定部335又は335’により、特定されたイベント種別が「M’」である場合、ユーザ管理テーブルに記憶された当選確率を所定値(例えば、5%)増大させる。例えば、当選確率が20%であり、所定値が5%である場合、イベント種別特定部335又は335’は、コマをイベント種別「M’」であるマスに移動させたときは、ユーザ管理テーブルの当選確率を20%に5%を足した25%に更新する。なお、移動制御部337は、ユーザのコマをボーナスエリアに移動させた場合、ユーザ管理テーブルに記憶された当選確率を初期化する(例えば、当選確率を20%に戻す)。また、イベント制御部338は、サーバ3がコマをイベント種別「M」のマスに移動させたとき、特別移動ポイントをインクリメントすることに代えて、当選確率を増大させてもよい。
ユーザのコマがイベント種別「M’」のマスに移動した後、ユーザのコマがイベント種別「W」のマスに移動した場合、ユーザのコマがボーナスエリアに移動する確率が高くなるので、ユーザのコマがボーナスエリアに移動するという期待感をユーザに与えることができる。したがって、ゲームの継続意欲を維持・向上させることができる。
また、第1及び第2実施形態において、イベント種別「M」のマスをボーナスエリア及び特別ボーナスエリアにも設けてもよい。その場合、移動制御部337は、通常エリア内とボーナスエリア及び特別ボーナスエリア内とで異なる移動制御を行わず、ボーナスエリア及び特別ボーナスエリア内でも通常エリア内と同じ移動制御を行う。即ち、計数部336又は336’は、ボーナスエリア及び特別ボーナスエリア内においても、ユーザのコマをイベント種別が「M」であるマスに移動させると、そのユーザの特別移動ポイントをインクリメントする。移動制御部337は、ボーナスエリア及び特別ボーナスエリア内においても、そのユーザの特別移動ポイントが第2閾値より大きい場合、コマを移動させるエリア種別を「特別ボーナス」に決定する。移動制御部337は、そのユーザの特別移動ポイントが第1閾値より大きい第2閾値以下である場合、コマを移動させるエリア種別を「ボーナス」に決定する。移動制御部337は、そのユーザの特別移動ポイントが第1閾値以下である場合、当選確率に応じて、コマを移動させるエリア種別を「ボーナス」又は「特別ボーナス」に決定する。したがって、サーバ3は、コマをボーナスエリア又は特別ボーナスエリアに連続して移動させる可能性があり、通常エリアでは付与されないアイテム又は希少性が高いアイテムを獲得できる可能性が高くなるため、ユーザのゲームの継続意欲を維持・向上させることができる。
また、サーバ3を省略し、携帯端末2がサーバ3の機能を有してもよい。その場合、携帯端末2から端末通信部21及びサーバ通信部31を介してサーバ3に送信していたデータを、端末通信部21及びサーバ通信部31を介さずにサーバ3の機能を有した端末処理部25に供給する。さらに、サーバ3からサーバ通信部31及び端末通信部21を介して携帯端末2に送信していたデータも、サーバ通信部31及び端末通信部21を介さず、サーバ3の機能を有する端末処理部25に供給する。この場合、端末表示部24が出力部の一例として利用される。これにより、本発明を家庭用テレビゲーム機に適用してもよい。
なお、第1及び第2実施形態において、特別ボーナスエリアを省略し、通常エリアとボーナスエリアのみにしてもよい。この場合、ボーナスエリアを通常エリアで付与されない特典が付与されるエリアではなく、特別ボーナスエリアと同様に通常エリアで付与される特典よりも希少性が高い特典が付与されるエリアとしてもよい。また、特別移動ポイントのインクリメントを省略してもよい。
また、第2実施形態において、ユーザがコマをイベント種別「M」であるマスに停止した場合、そのユーザの特別移動ポイントのインクリメントを省略してもよい。
また、サーバ3は、特別移動ポイントが所定値よりも大きくなった時点で、即座にコマをボーナスエリアに移動させてもよい。これにより、ユーザは、より早く特典を得ることができるため、ユーザのサブゲーム継続意欲を維持・向上させることができる。
また、コマがイベント種別「W」のマスに停止した場合のコマの移動先は、通常エリア、ボーナスエリア及び特別ボーナスエリアに限定されない。例えば、すごろくゲームは、通常エリア及び対戦する敵キャラクタが通常エリアにおいて対戦する敵キャラクタより強いバトルエリアを有し、サーバ3は、コマがイベント種別「W」であるマスに停止した場合、コマの移動先を通常エリア及びバトルエリアのいずれかから選択してもよい。
また、端末処理部25及びサーバ処理部33が備える各機能をコンピュータに実現させるためのコンピュータプログラムは、磁気記録媒体、光記録媒体等のコンピュータにより読み取り可能な記録媒体に記録された形で提供されてもよい。
当業者は、本発明の精神及び範囲から外れることなく、様々な変更、置換、及び修正をこれに加えることが可能であることを理解されたい。