(57)【要約】【課題】ゲームの興趣性を向上させる。【解決手段】ゲームプログラム（２３１）は、プロセッサ（２０）に、ゲームプログラムに基づくゲームにおいてユーザに関連付けられている１以上のフレンドユーザのうち、所定期間内にゲームにログインしたフレンドユーザの数に基づく値を、ユーザのスコアに加算するステップと、スコアに応じて、ユーザに付与する報酬を決定するステップと、を実行させ、加算するステップでは、フレンドユーザの属性に応じて重みを付けた値をスコアに加算する。【選択図】図７
2020110446.tif 000002
【特許請求の範囲】
【請求項１】
ゲームプログラムであって、
前記ゲームプログラムは、プロセッサおよびメモリを備えるコンピュータにより実行されるものであり、
前記ゲームプログラムは、前記プロセッサに、
前記ゲームプログラムに基づくゲームにおいてユーザに関連付けられている１以上のフレンドユーザのうち、所定期間内に前記ゲームにログインした前記フレンドユーザの数に基づく値を、前記ユーザのスコアに加算するステップと、
前記スコアに応じて、前記ユーザに付与する報酬を決定するステップと、を実行させ、
前記加算するステップでは、前記フレンドユーザの属性に応じて重みを付けた値を前記スコアに加算する、ゲームプログラム。
【請求項２】
前記加算するステップでは、ログインしたフレンドユーザ１人につき前記スコアに加算する値として、前記フレンドユーザの人数１人分に相当する基礎点と、該ログインしたフレンドユーザの属性に基づき決定された加点との合計値を算出する、請求項１に記載のゲームプログラム。
【請求項３】
前記メモリには、前記ユーザに関連付けられているフレンドユーザごとに、該フレンドユーザの種別が記憶されており、該種別には、少なくとも、前記ユーザと第１の条件を満たしたフレンドユーザに設定される第１種別と、前記ユーザと第２の条件を満たしたフレンドユーザに設定される第２種別とがあり、
前記加算するステップでは、前記第２種別のフレンドユーザの前記重みを、前記第１種別のフレンドユーザの前記重みよりも大きくする、請求項１または２に記載のゲームプログラム。
【請求項４】
前記ゲームプログラムは、前記プロセッサに、
前記ユーザと他のユーザとの間で、前記ゲームプログラムに基づく第１のコミュニケーションツールを介して通信されたことに基づいて、該他のユーザを、該ユーザの第１種別のフレンドユーザとして該ユーザに関連付けるステップと、
前記ユーザと前記他のユーザとの間で、第２のコミュニケーションツールを介して情報が送受信されたことに基づいて、該他のユーザを、該ユーザの第２種別のフレンドユーザとして該ユーザに関連付けるステップと、を実行させ、
前記第２種別のフレンドユーザを関連付けるステップでは、近距離通信にて前記情報の送受信が行われた場合、または、前記ゲームプログラムとは異なるプログラムによって前記情報の送受信が行われた場合に、前記他のユーザを、該ユーザの第２種別のフレンドユーザとして該ユーザに関連付ける、請求項３に記載のゲームプログラム。
【請求項５】
前記加算するステップでは、前記フレンドユーザが前記所定期間より前に最後にログインした日時から前記所定期間内にログインした日時までの経過時間である離脱期間が所定以上のフレンドユーザの前記重みを、前記離脱期間が前記所定未満のフレンドユーザの前記重みよりも大きくする、請求項１から４のいずれか１項に記載のゲームプログラム。
【請求項６】
前記メモリには、前記ユーザに関連付けられているフレンドユーザごとに、該フレンドユーザが前記ゲームを初めてログインした初回ログイン日が記憶されており、
前記加算するステップでは、前記所定期間内に前記ゲームに初めてログインしたフレンドユーザの前記重みを、前記所定期間よりも前に前記ゲームに初めてログインしたフレンドユーザの前記重みよりも大きくする、請求項１から５のいずれか１項に記載のゲームプログラム。
【請求項７】
前記メモリには、前記ユーザに関連付けられているフレンドユーザごとに、該フレンドユーザが前記ゲームをプレイした分量を示すプレイ履歴が記憶されており、
前記加算するステップでは、前記フレンドユーザが前記所定期間内にプレイした分量が多いほど、該フレンドユーザの前記重みを大きくする、請求項５または６に記載のゲームプログラム。
【請求項８】
前記メモリには、前記ユーザに関連付けられているフレンドユーザごとに、前記ユーザと該フレンドユーザとの協力プレイを経て上昇する、該フレンドユーザとの前記ゲームにおける親交の深さを示す親密度が記憶されており、
前記加算するステップでは、前記フレンドユーザとの親密度が高いほど、該フレンドユーザの前記重みを大きくする、請求項１から７のいずれか１項に記載のゲームプログラム。
【請求項９】
前記メモリには、前記ユーザに関連付けられているフレンドユーザごとに、該フレンドユーザが所属している所属グループが記憶されており、
前記加算するステップでは、前記所属グループが前記ユーザと一致するフレンドユーザの前記重みを、前記所属グループが前記ユーザと一致しないフレンドユーザの前記重みよりも大きくする、請求項１から８のいずれか１項に記載のゲームプログラム。
【請求項１０】
コンピュータがゲームプログラムを実行する方法であって、
前記コンピュータは、プロセッサおよびメモリを備え、
前記プロセッサが請求項１に記載の各ステップを実行する方法。
【請求項１１】
情報処理装置であって、
前記情報処理装置は、
請求項１に記載のゲームプログラムを記憶するメモリと、
該ゲームプログラムを実行することにより、情報処理装置の動作を制御するプロセッサとを備えている、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はゲームプログラム、ゲームプログラムを実行する方法および情報処理装置に関する。
【背景技術】
【０００２】
オンラインゲームでは、ユーザが、ユーザ端末を介して他のユーザと通信し、所定の手続きをすることで、該他のユーザを自分に関連付けて登録することができる機能が知られている。ユーザが自分に関連付けて登録した他のユーザは、いわゆる「フレンド」と呼ばれる。オンラインゲームは、例えば、特許文献１および２に記載されているように、互いにフレンド関係にあるユーザ同士が、ゲーム内の何らかの便益を享受できるように構成されていることが一般的である。
【０００３】
特許文献１には、他のユーザにメッセージを送信した結果、該他のユーザが再びゲームに参加した場合に、該メッセージを送信したユーザに報酬を付与することをコンピュータに実現させるゲームプログラムが開示されている。
【０００４】
特許文献２には、他のプレーヤのログイン履歴が条件を満たす場合に、他のプレーヤと関連付けられている一のプレーヤに特典を付与するサーバシステムが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１９８２９号公報（２０１６年２月４日公開）
【特許文献２】特開２０１３−１９８５４１号公報（２０１３年１０月３日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ゲームを提供する側には、ゲームをより多くのユーザにプレイしてもらいたいという要望がある。ゲームに頻繁にログインしているフレンド、いわゆる、アクティブなフレンドをたくさん登録しているユーザは、これらのアクティブなフレンドと盛んに交流してゲームを盛り上げていると考えられる。そこで、ゲームのプレイをユーザに促していくという観点から、他のユーザのプレイ促進に貢献しているユーザが恩恵を受ける仕組みを構築することが求められる。
【０００７】
本開示の一態様は、ユーザにゲームのプレイを促すことを目的とする。
【課題を解決するための手段】
【０００８】
本開示に係るゲームプログラムは、プロセッサおよびメモリを備えるコンピュータにより実行される。ゲームプログラムは、プロセッサに、ゲームプログラムに基づくゲームにおいてユーザに関連付けられている１以上のフレンドユーザのうち、所定期間内にゲームにログインしたフレンドユーザの数に基づく値を、ユーザのスコアに加算するステップと、スコアに応じて、ユーザに付与する報酬を決定するステップと、を実行させ、加算するステップでは、フレンドユーザの属性に応じて重みを付けた値をスコアに加算する。
【発明の効果】
【０００９】
本開示の一態様によれば、ゲームの興趣性を向上させる効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】ゲームシステムのハードウェア構成を示す図である。
【図２】ユーザ端末およびサーバの機能的構成を示すブロック図である。
【図３】表示部に表示されるパズル画面の具体例を示す図である。
【図４】フレンド情報のデータ構造の一例を示す図である。
【図５】イベント情報のデータ構造の一例を示す図である。
【図６】参照テーブルのデータ構造の一例を示す図である。
【図７】ゲームプログラムに基づいて、ゲームシステムにおいて実行される処理の流れを示すフローチャートである。
【図８】（Ａ）は、表示部に表示される申請画面の一例を示す図であり、（Ｂ）は、表示部に表示される承認画面の一例を示す図である。
【図９】（Ａ）は、表示部に表示されるコード表示画面の一例を示す図であり、（Ｂ）は、コード取得画面の一例を示す図である。
【図１０】ゲームプログラムに基づいて、ゲームシステムにおいて実行される処理の流れを示すフローチャートである。
【図１１】表示部に表示されるイベント画面の一例を示す図である。
【発明を実施するための形態】
【００１１】
〔実施形態１〕
本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
【００１２】
＜ゲームシステム１のハードウェア構成＞
図１は、ゲームシステム１のハードウェア構成を示す図である。ゲームシステム１は図示の通り、複数のユーザ端末１００と、サーバ２００とを含む。各ユーザ端末１００は、サーバ２００とネットワーク２を介して接続する。ネットワーク２は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂３Ｇ、４Ｇ移動通信システム、ＬＴＥ（Long Term Evolution）、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク（例えばWi-Fi（登録商標））等が挙げられる。
【００１３】
サーバ２００（コンピュータ、情報処理装置）は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってよい。サーバ２００は、プロセッサ２０と、メモリ２１と、ストレージ２２と、通信ＩＦ２３と、入出力ＩＦ２４とを備える。サーバ２００が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
【００１４】
ユーザ端末１００（コンピュータ、情報処理装置）は、スマートフォン、フィーチャーフォン、ＰＤＡ（Personal Digital Assistant）、またはタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末１００は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末１００は図示の通り、プロセッサ１０と、メモリ１１と、ストレージ１２と、通信インターフェース（ＩＦ）１３と、入出力ＩＦ１４と、タッチスクリーン１５（表示部）と、カメラ１７と、測距センサ１８とを備える。ユーザ端末１００が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末１００は、タッチスクリーン１５に代えて、または、加えて、ユーザ端末１００本体とは別に構成されたディスプレイ（表示部）を接続可能な入出力ＩＦ１４を備えていてもよい。
【００１５】
また、図１に示すように、ユーザ端末１００は、１つ以上のコントローラ１０２０と通信可能に構成されることとしてもよい。コントローラ１０２０は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信規格に従って、ユーザ端末１００と通信を確立する。コントローラ１０２０は、１つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末１００へ送信する。また、コントローラ１０２０は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末１００へ送信する。
【００１６】
なお、ユーザ端末１００がカメラ１７および測距センサ１８を備えることに代えて、または、加えて、コントローラ１０２０がカメラ１７および測距センサ１８を有していてもよい。
【００１７】
ユーザ端末１００は、例えばゲーム開始時に、コントローラ１０２０を使用するユーザに、該ユーザの名前またはログインＩＤ等のユーザ識別情報を、該コントローラ１０２０を介して入力させることが望ましい。これにより、ユーザ端末１００は、コントローラ１０２０とユーザとを紐付けることが可能となり、受信した出力値の送信元（コントローラ１０２０）に基づいて、該出力値がどのユーザのものであるかを特定することができる。
【００１８】
ユーザ端末１００が複数のコントローラ１０２０と通信する場合、各コントローラ１０２０を各ユーザが把持することで、ネットワーク２を介してサーバ２００などの他の装置と通信せずに、該１台のユーザ端末１００でマルチプレイを実現することができる。また、各ユーザ端末１００が無線ＬＡＮ（Local Area Network）規格等の無線規格により互いに通信接続する（サーバ２００を介さずに通信接続する）ことで、複数台のユーザ端末１００によりローカルでマルチプレイを実現することもできる。１台のユーザ端末１００によりローカルで上述のマルチプレイを実現する場合、ユーザ端末１００は、さらに、サーバ２００が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末１００によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末１００は、サーバ２００が備える後述する種々の機能を分散して備えていてもよい。
【００１９】
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末１００はサーバ２００と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ２００に送信してもよい。
【００２０】
また、コントローラ１０２０は、ユーザ端末１００に着脱可能な構成であるとしてもよい。この場合、ユーザ端末１００の筐体における少なくともいずれかの面に、コントローラ１０２０との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末１００とコントローラ１０２０とが結合している場合は、ユーザ端末１００とコントローラ１０２０とは、有線を介して信号を送受信する。
【００２１】
図１に示すように、ユーザ端末１００は、外部のメモリカード等の記憶媒体１０３０の装着を、入出力ＩＦ１４を介して受け付けてもよい。これにより、ユーザ端末１００は、記憶媒体１０３０に記録されるプログラム及びデータを読み込むことができる。記憶媒体１０３０に記録されるプログラムは、例えばゲームプログラムである。
【００２２】
ユーザ端末１００は、サーバ２００等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末１００のメモリ１１に記憶してもよいし、記憶媒体１０３０から読み込むことにより取得したゲームプログラムをメモリ１１に記憶してもよい。
【００２３】
以上で説明したとおり、ユーザ端末１００は、該ユーザ端末１００に対して情報を入力する機構の一例として、通信ＩＦ１３、入出力ＩＦ１４、タッチスクリーン１５、カメラ１７、および、測距センサ１８を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
【００２４】
例えば、操作部が、カメラ１７および測距センサ１８の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末１００の近傍の物体１０１０を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体１０１０としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体１０１０の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末１００は、カメラ１７の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ（ユーザの手の一連の動き）を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
【００２５】
あるいは、操作部がタッチスクリーン１５で構成される場合、ユーザ端末１００は、タッチスクリーン１５の入力部１５１に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信ＩＦ１３で構成される場合、ユーザ端末１００は、コントローラ１０２０から送信される信号（例えば、出力値）をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力ＩＦ１４で構成される場合、該入出力ＩＦ１４と接続されるコントローラ１０２０とは異なる入力装置（図示せず）から出力される信号をユーザの入力操作として特定し、受け付ける。
【００２６】
＜各装置のハードウェア構成要素＞
プロセッサ１０は、ユーザ端末１００全体の動作を制御する。プロセッサ２０は、サーバ２００全体の動作を制御する。プロセッサ１０および２０は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、およびＧＰＵ（Graphics Processing Unit）を含む。
【００２７】
プロセッサ１０は後述するストレージ１２からプログラムを読み出し、後述するメモリ１１に展開する。プロセッサ２０は後述するストレージ２２からプログラムを読み出し、後述するメモリ２１に展開する。プロセッサ１０およびプロセッサ２０は展開したプログラムを実行する。
【００２８】
メモリ１１および２１は主記憶装置である。メモリ１１および２１は、ＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）等の記憶装置で構成される。メモリ１１は、プロセッサ１０が後述するストレージ１２から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ１０に作業領域を提供する。メモリ１１は、プロセッサ１０がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ２１は、プロセッサ２０が後述するストレージ２２から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ２０に作業領域を提供する。メモリ２１は、プロセッサ２０がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
【００２９】
本実施形態においてプログラムとは、ゲームをユーザ端末１００により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末１００とサーバ２００との協働により実現するためのゲームプログラムであってもよい。なお、ユーザ端末１００とサーバ２００との協働により実現されるゲームは、一例として、ユーザ端末１００において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末１００の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報およびゲーム情報などのゲームに関するデータ、ならびに、ユーザ端末１００とサーバ２００との間または複数のユーザ端末１００間で送受信する指示または通知を含んでいる。
【００３０】
ストレージ１２および２２は補助記憶装置である。ストレージ１２および２２は、フラッシュメモリまたはＨＤＤ（Hard Disk Drive）等の記憶装置で構成される。ストレージ１２およびストレージ２２には、ゲームに関する各種データが格納される。
【００３１】
通信ＩＦ１３は、ユーザ端末１００における各種データの送受信を制御する。通信ＩＦ２３は、サーバ２００における各種データの送受信を制御する。通信ＩＦ１３および２３は例えば、無線ＬＡＮ（Local Area Network）を介する通信、有線ＬＡＮ、無線ＬＡＮ、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
【００３２】
入出力ＩＦ１４は、ユーザ端末１００がデータの入力を受け付けるためのインターフェースであり、またユーザ端末１００がデータを出力するためのインターフェースである。入出力ＩＦ１４は、ＵＳＢ（Universal Serial Bus）等を介してデータの入出力を行ってもよい。入出力ＩＦ１４は、例えば、ユーザ端末１００の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。サーバ２００の入出力ＩＦ２４は、サーバ２００がデータの入力を受け付けるためのインターフェースであり、またサーバ２００がデータを出力するためのインターフェースである。入出力ＩＦ２４は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
【００３３】
ユーザ端末１００のタッチスクリーン１５は、入力部１５１と表示部１５２とを組み合わせた電子部品である。入力部１５１は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部１５２は、例えば液晶ディスプレイ、または有機ＥＬ（Electro-Luminescence）ディスプレイ等によって構成される。
【００３４】
入力部１５１は、入力面に対しユーザの操作（主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作）が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部１５１は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
【００３５】
図示していないが、ユーザ端末１００は、該ユーザ端末１００の保持姿勢を特定するための１以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末１００がセンサを備えている場合、プロセッサ１０は、センサの出力からユーザ端末１００の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ１０は、ユーザ端末１００が縦向きに保持されているときには、縦長の画像を表示部１５２に表示させる縦画面表示としてもよい。一方、ユーザ端末１００が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ１０は、ユーザ端末１００の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
【００３６】
カメラ１７は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
【００３７】
測距センサ１８は、測定対象物までの距離を測定するセンサである。測距センサ１８は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ１８は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ１８は、指向性を有する光を発する光源を有することとしてもよい。
【００３８】
ここで、ユーザ端末１００が、カメラ１７と測距センサ１８とを用いて、ユーザ端末１００の近傍の物体１０１０を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ１７および測距センサ１８は、例えば、ユーザ端末１００の筐体の側面に設けられてもよい。カメラ１７の近傍に測距センサ１８が設けられてもよい。カメラ１７としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ１７に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ１７の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
【００３９】
プロセッサ１０は、カメラ１７の撮影画像に対して、例えば以下の（１）〜（５）に示す処理のうち１つ以上の処理を行ってもよい。（１）プロセッサ１０は、カメラ１７の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ１０は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。（２）また、プロセッサ１０は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ１０は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数（伸びている指の本数）を特定する。プロセッサ１０はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば、プロセッサ１０は、指の本数が５本である場合、ユーザが「パー」のジェスチャを行ったと判定する。また、プロセッサ１０は、指の本数が０本である（指が検出されなかった）場合、ユーザが「グー」のジェスチャを行ったと判定する。また、プロセッサ１０は、指の本数が２本である場合、ユーザが「チョキ」のジェスチャを行ったと判定する。（３）プロセッサ１０は、カメラ１７の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。（４）プロセッサ１０は、カメラ１７の撮影画像の画像認識結果、および、測距センサ１８の出力値等の少なくともいずれか１つに基づいて、ユーザ端末１００の近傍の物体１０１０（ユーザの手など）とユーザ端末１００との距離を検出する。例えば、プロセッサ１０は、カメラ１７の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末１００の近傍（例えば所定値未満の距離）にあるのか、遠く（例えば所定値以上の距離）にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ１０は、ユーザの手がユーザ端末１００に接近しているのか遠ざかっているのかを検出してもよい。（５）カメラ１７の撮影画像の画像認識結果等に基づいて、ユーザの手が検出されている状態で、ユーザ端末１００とユーザの手との距離が変化していることが判明した場合、プロセッサ１０は、ユーザが手をカメラ１７の撮影方向において振っていると認識する。カメラ１７の撮影範囲よりも指向性が強い測距センサ１８において、物体が検出されたりされなかったりする場合に、プロセッサ１０は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
【００４０】
このように、プロセッサ１０は、カメラ１７の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か（「グー」のジェスチャであるか、それ以外のジェスチャ（例えば「パー」）であるか）を検出する。また、プロセッサ１０は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ１０は、ユーザがこの手をユーザ端末１００に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末１００は、例えば、ユーザの手の移動に応じて、タッチスクリーン１５においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末１００は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末１００は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作（またはドラッグ操作）に対応する操作として認識することもできる。また、ユーザ端末１００は、カメラ１７の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
【００４１】
＜ゲーム概要＞
ゲームシステム１によって実行されるゲーム（以下、本ゲーム）は、特定のジャンルに限らず、あらゆるジャンルのゲームであってよい。例えば、テニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲーム、パズルゲーム、クイズゲーム、ＲＰＧ、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲームなどであってもよい。
【００４２】
本ゲームは、少なくとも、複数のユーザによるマルチプレイのゲームパートを含む。マルチプレイのゲームパートは、複数のユーザが対戦する対戦プレイパート、および、複数のユーザが協力する協力プレイパートなどであってもよい。本ゲームは、さらに、単一のユーザによるシングルプレイのゲームパートを含んでいてもよい。
【００４３】
本ゲームは、一例として、パズルゲームである。図３は、ユーザ端末１００の表示部１５２に表示されるパズル画面４００の一具体例を示す図である。
【００４４】
本パズルゲームは、一例として、以下のように進行する。図３に示すように、パズル画面４００において、パズル要素を配置する領域を含む盤面４０１に、例えばパズル要素４０２など、複数種類のパズル要素を配置する。そして、盤面４０１におけるパズル要素の配置が変更されることよって同一のパズル要素４０３が所定数以上連続して配置された場合に、該連続して配置されたパズル要素４０３の少なくとも１つを盤面４０１から除去する。そして、除去されたパズル要素に応じて成績を決定する。
【００４５】
本パズルゲームでは、一例として、ゲームシステム１は、射出台４０４から１つのパズル要素４０５を射出して盤面４０１に向かって移動させることにより、盤面４０１におけるパズル要素４０２の配置を変更させる。
【００４６】
本ゲームでは、一例として、ゲームシステム１は、所定数以上連続して配置された同一のパズル要素４０３を、盤面４０１から得点位置４０６に向かって落下させ、得点位置４０６に到達させたパズル要素を、表示部１５２に表示されたパズル画面４００の表示領域外に移動させることにより除去する。
【００４７】
とりわけ、本パズルゲームは、ユーザが、自身が所有する様々な種類のゲーム媒体を利用して進行させ、クリアまたは勝利を目指すゲームである。ゲーム媒体は、例えば、ゲーム内でカード、キャラクタ、アイテムなどの有形物を模すように構成されたデジタルデータであり、本実施形態では、一例として、ゲーム媒体は、キャラクタである。キャラクタは、例えば、抽選または配布などの処理を経てユーザに付与され、ユーザがゲーム内で利用可能に所有することができる。
【００４８】
さらに、本パズルゲームでは、盤面４０１に配置されるパズル要素は、ゲーム媒体としてユーザが所有し得るキャラクタに対応する。一例として、キャラクタを格納した風船がパズル要素として盤面４０１に配置される。本ゲームでは、盤面４０１に配置されるキャラクタの種類は、ユーザが所有している所有キャラクタの中から２種類以上選ばれる。
【００４９】
なお、盤面４０１には、キャラクタを格納する風船に加えて、パズルを有利に進めるためのアイテムが格納された風船、および、何も格納されていない空の風船などがパズル要素として配置されてもよい。
【００５０】
一例として、盤面４０１に配置される５種類のキャラクタのうち、少なくとも４種類が所有キャラクタから選ばれる。残りの１種類は、例えば、ユーザが所有しているか所有していないかに拘わらず、プレイされるステージのテーマに沿って選ばれてもよい。
【００５１】
本ゲームでは、ステージの成績は、少なくとも、除去されたキャラクタの数と、キャラクタごとに設定されているスコアとに基づいて決定される。スコアは、キャラクタの得点単価である。例えば、除去されたキャラクタのスコアと、除去されたキャラクタの数とに基づいて、加算される得点が決定され、ステージのプレイ終了時の合計得点に基づいて、そのステージの成績が決定される。
【００５２】
以上のとおり、本パズルゲームでは、ユーザは、パズルを解いてステージをクリアすることを楽しむことに加えて、所有キャラクタに設定されているスコアが上がるように所有キャラクタを育成することを楽しむこともできる。
【００５３】
さらに、本パズルゲームは、マルチプレイのゲームパートとして、フレンド関係にあるユーザ同士が、互いが所有するキャラクタを育成し合うゲームパートを含んでいてもよい。これにより、ユーザは、所有キャラクタを育成し合うことを通じて、パズルを有利に進めようと切磋琢磨し、フレンドとの交流を楽しむことができる。このように、フレンドとキャラクタを育成し合うゲームパートがあることにより、フレンドとの交流が楽しくなり、所有キャラクタが育成され、パズルを有利に進めることができ、また一層、フレンドとの交流が楽しくなる・・・というように、ユーザの利用を促進するための好循環を生むことができる。
【００５４】
＜ゲームシステム１の機能的構成＞
図２は、ゲームシステム１に含まれるサーバ２００およびユーザ端末１００の機能的構成を示すブロック図である。サーバ２００およびユーザ端末１００のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
【００５５】
ユーザ端末１００は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末１００は、プロセッサ１０、メモリ１１、ストレージ１２、通信ＩＦ１３、および入出力ＩＦ１４等の協働によって、制御部１１０および記憶部１２０として機能する。
【００５６】
サーバ２００は、各ユーザ端末１００と通信して、ユーザ端末１００がゲームを進行させるのを支援する機能を有する。ゲームがマルチプレイゲームである場合には、サーバ２００は、ゲームに参加する各ユーザ端末１００と通信して、ユーザ端末１００同士のやりとりを仲介する機能を有していてもよい。サーバ２００は、プロセッサ２０、メモリ２１、ストレージ２２、通信ＩＦ２３、および入出力ＩＦ２４等の協働によって、制御部２１０および記憶部２２０として機能する。
【００５７】
記憶部１２０および記憶部２２０は、ゲームプログラム、ゲーム情報１３２およびユーザ情報１３３を格納する。ゲームプログラム１３１は、ユーザ端末１００が実行するゲームプログラムである。ゲームプログラム２３１は、サーバ２００が実行するゲームプログラムである。ゲーム情報１３２は、制御部１１０および制御部２１０がゲームプログラムを実行する際に参照するデータである。ユーザ情報１３３は、ユーザのアカウントに関するデータである。記憶部２２０において、ゲーム情報１３２およびユーザ情報１３３は、ユーザ端末１００ごとに格納されている。
【００５８】
（サーバ２００の機能的構成）
制御部２１０は、記憶部２２０に格納されたゲームプログラム２３１を実行することにより、サーバ２００を統括的に制御する。例えば、制御部２１０は、ユーザ端末１００に各種データおよびプログラム等を送信する。制御部２１０は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末１００から受信する。ゲームがマルチプレイゲームである場合には、制御部２１０は、ユーザ端末１００からマルチプレイの同期の要求を受信して、同期のためのデータをユーザ端末１００に送信してもよい。
【００５９】
制御部２１０は、ゲームプログラム２３１の記述に応じて、進行支援部２１１、フレンド管理部２１２、イベント管理部２１３、スコア算出部２１４、および、報酬決定部２１５として機能する。制御部２１０は、実行するゲームの性質に応じて、ユーザ端末１００におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
【００６０】
進行支援部２１１は、ユーザ端末１００と通信し、ユーザ端末１００が、本ゲームに含まれる各種のプレイパートを進行させるための支援を行う。例えば、上述の各プレイパートのいずれが実行されているのかに応じて、そのときにユーザ端末１００が参照すべき情報を適宜提供する。一例として、ユーザ端末１００のパズル進行部１１１のリクエストに応答して、ユーザ端末１００におけるパズルの進行を支援する。
【００６１】
フレンド管理部２１２は、ユーザと他のユーザとを関連付ける処理を実行し、ユーザ間のフレンド関係を管理する。一例として、ユーザ端末１００のフレンド処理部１１２のリクエストに応答して、ユーザと他のユーザとをフレンドとして関連付けたり、該ユーザのフレンドに関して情報を提供したりする。
【００６２】
イベント管理部２１３は、イベントが実施されている期間中、ユーザ端末１００のイベント処理部１１３のリクエストに応答して、ユーザ端末１００におけるイベントに係る処理の実行を支援する。一例として、ユーザごとに、該ユーザのフレンドのログイン状況を管理し、ユーザ端末１００のリクエストに応えてフレンドのログイン状況について情報を提供する。
【００６３】
スコア算出部２１４は、イベント期間中に、ユーザが獲得するフレンドスコアを算出する。フレンドスコアとは、ユーザが、ゲーム内のユーザ間交流を活性化させるのに貢献している、すなわち、ゲームの利用促進に貢献している度合いを示す数値である。具体的には、フレンドスコアは、ユーザとフレンド関係にあるアクティブなユーザの人数に基づいて算出される。アクティブなユーザであるか否かは、一例として、イベント期間中にログインしたか否かで判定される。以下では、フレンドスコアを単にスコアと称する。
【００６４】
報酬決定部２１５は、ユーザについて算出されたフレンドスコアに基づいて、該ユーザに付与する報酬を決定する。本実施形態では、一例として、フレンドスコアの数値が高いほど、ゲームの利用促進に貢献している度合いが高いことを意味している。そのため、報酬決定部２１５は、ユーザのフレンドスコアが高いほど、ゲーム内での価値が高い報酬を該ユーザに付与することを決定する。
【００６５】
報酬は、ゲーム内価値を有するデジタルデータである。報酬としてのデジタルデータは、ゲーム内で利用可能なカード、キャラクタ、アイテム、仮想通貨、ダイヤ、チケットなどの有形物を模すように構成されていてもよいし、キャラクタに能力を備えさせる権利、制限されたクエストをプレイする権利、アイテムまたはカードを保有する保有上限を拡張する権利、各種のゲーム内価値と交換が可能なポイント、ユーザまたはキャラクタに設定されている各種のパラメータの増分など、無形の価値として構成されていてもよい。
【００６６】
なお、デジタルデータである報酬などのゲーム内価値をユーザに付与することは、一例として、ユーザに対応付けて管理されている、ゲーム内価値のステータスを、使用不可から使用可能に遷移させることであってもよい。あるいは、ゲーム内価値を、ユーザ識別情報またはユーザＩＤに対応付けて、ゲームシステム１に含まれる少なくともいずれかのメモリ（メモリ１１、メモリ２１）に記憶させることであってもよい。ゲーム内価値をユーザに保有させることおよび獲得させることは、上述のゲーム内価値をユーザに付与することと同義である。
【００６７】
（ユーザ端末１００の機能的構成）
制御部１１０は、記憶部１２０に格納されたゲームプログラム１３１を実行することにより、ユーザ端末１００を統括的に制御する。例えば、制御部１１０は、ゲームプログラム１３１およびユーザの操作にしたがって、ゲームを進行させる。また、制御部１１０は、ゲームを進行させている間、必要に応じて、サーバ２００と通信して、情報の送受信を行う。
【００６８】
制御部１１０は、ゲームプログラム１３１の記述に応じて、パズル進行部１１１、フレンド処理部１１２、および、イベント処理部１１３として機能する。
【００６９】
なお、制御部１１０は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
【００７０】
さらに、制御部１１０は、図示しない操作受付部、および、表示制御部などとしても機能する。操作受付部は、入力部１５１に対するユーザの入力操作を検知し受け付ける。例えば、操作受付部は、上述の入力操作の、入力部１５１における入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部は、例えば、タッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。表示制御部は、タッチスクリーン１５の表示部１５２に対して、制御部１１０の各部によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部は、制御部１１０の各部によって生成された映像を含むゲーム画面を表示部１５２に表示してもよい。また、表示制御部は、グラフィカルユーザインターフェース（以下、ＧＵＩ）を、該ゲーム画面に重畳して描画してもよい。
【００７１】
パズル進行部１１１は、進行支援部２１１と通信して、ユーザ端末１００においてパズルのゲームパートを進行させる。例えば、図３に示すパズル画面４００を表示部１５２に表示させて、入力部１５１を介してユーザの入力操作に応じてパズルのステージを進行させる。
【００７２】
フレンド処理部１１２は、フレンド管理部２１２を介して他のユーザ端末１００と通信し、ユーザが他のユーザと交流するための処理を実行する。他のユーザと交流するための処理としては、例えば、他のユーザに宛てて通知を送る処理、他のユーザから来た通知に応答する処理などがある。より具体的には、フレンド処理部１１２は、ユーザからの入力操作にしたがって、フレンドに協力を依頼したり、フレンドからの依頼に応えたり、本ゲームをまだプレイしたことがないユーザに本ゲームの招待状を送信したりする。
【００７３】
イベント処理部１１３は、本ゲーム内でイベントが開催された場合に、該イベントに係る処理を実行する。本実施形態では、一例として、イベント処理部１１３は、イベント管理部２１３と通信して、現時点のスコア、フレンドのログイン状況などを収集して、ユーザに対して提示する。また、イベント処理部１１３は、ユーザからの入力操作にしたがって、イベント期間内のログインを促すプッシュ通知を、フレンドに送信してもよい。
【００７４】
なお、図２に示すサーバ２００およびユーザ端末１００の機能は一例にすぎない。サーバ２００は、ユーザ端末１００が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末１００は、サーバ２００が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末１００およびサーバ２００以外の他の装置をゲームシステム１の構成要素とし、該他の装置にゲームシステム１における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末１００、サーバ２００、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
【００７５】
＜処理概要＞
本実施形態では、サーバ２００は、ゲームの利用を促進するために、ゲームプログラム２３１に基づいて、以下のステップを実行するように構成されている。具体的には、サーバ２００は、ゲームプログラムに基づくゲームにおいてユーザに関連付けられている１以上のフレンドユーザ（フレンド）のうち、所定期間内（イベント開催期間内）にゲームにログインしたフレンドユーザの数に基づく値（スコア加算値）を、ユーザのスコアに加算するステップと、スコアに応じて、ユーザに付与する報酬を決定するステップと、を実行する構成であり、加算するステップでは、フレンドユーザの属性に応じて重み（加点）を付けた値をスコアに加算する。
【００７６】
例えば、上述の加算するステップでは、ログインしたフレンドユーザ１人につきスコアに加算する値として、フレンドユーザの人数１人分に相当する基礎点と、該ログインしたフレンドユーザの属性に基づき決定された加点との合計値を算出してもよい。
【００７７】
サーバ２００が、ログインしたフレンドユーザの数に基づいてスコアを算出する方法について、以下で詳細に説明する。
【００７８】
＜データ構造＞
（フレンドテーブル）
図４は、フレンド情報のデータ構造の一例を示す図である。フレンド情報は、一例として、ユーザのフレンドを一元管理するためのフレンドテーブルである。フレンドテーブルは、サーバ２００において、ユーザごとに、記憶部２２０に記憶されている。ユーザ端末１００とサーバ２００とにおいて、フレンドテーブルは共有されており、記憶部２２０において、ユーザに関連付けられているフレンドテーブルと同じフレンドテーブルは、該ユーザが使用しているユーザ端末１００の記憶部１２０にも記憶されていてもよい。フレンドテーブルは、フレンド管理部２１２およびフレンド処理部１１２によって管理される。
【００７９】
フレンドテーブルは、一例として、ユーザＩＤ、ユーザ名、キャラクタ、フレンド種別、最終ログイン、初回ログイン日、招待状、進行度、ステージプレイ回数、親密度、所属グループの各項目を有する。
【００８０】
ユーザＩＤの項目には、フレンドになったユーザを一意に識別するための識別情報が格納されている。ユーザＩＤとユーザとは１対１で対応している。
【００８１】
ユーザ名の項目には、フレンドの名称が格納されている。ユーザ名は、本人およびその他のユーザが識別可能ように、一例として、仮名文字および英字などで構成されていることが好ましい。本実施形態では、一例として、ユーザ本人が、自分のユーザ名を設定する。したがって、異なるユーザが、それぞれ、同じ名前を付けることが考えられるが、ゲームシステム１においてこれを許容するか否かは適宜決定されればよい。
【００８２】
キャラクタの項目には、フレンドが指定したキャラクタのキャラクタ名が格納されている。本実施形態では、一例として、各ユーザは、所有するキャラクタの中からお気に入りの１体を指定することができる。指定されたキャラクタのアイコンは、該ユーザのアイコンとして、他のユーザに認識される。
【００８３】
フレンド種別の項目には、フレンドの種別が格納されている。本ゲームでは、具体的には、フレンドには２つの種類が設けられている。一例として、第１の種別は、ノーマルフレンドであり、第２の種別は、リアルフレンドである。
【００８４】
ノーマルフレンドは、ゲーム内の第１のコミュニケーションツールを介して、ユーザが他のユーザと所定の通信を行ったことに基づいて登録される種別のフレンドである。第１のコミュニケーションツールは、例えば、ユーザ端末１００のゲームプログラム１３１およびサーバ２００のゲームプログラム２３１である。具体的には、第１のコミュニケーションツールは、ユーザ端末１００のフレンド処理部１１２およびサーバ２００のフレンド管理部２１２である。フレンド管理部２１２は、各ユーザのユーザ端末１００のフレンド処理部１１２が、フレンド申請の処理と、フレンド承認の処理とを実行したことに基づいて、ユーザと他のユーザとを紐付けて、互いをノーマルフレンドとして登録する。
【００８５】
リアルフレンドは、本ゲームのゲームプログラムまたは本ゲームとは別のアプリケーションに基づく第２のコミュニケーションツールを介して、ユーザ同士が所定の情報を送受信し合ったことに基づいて登録される種別のフレンドである。例えば、第２のコミュニケーションツールは、本ゲーム内のツールであるか否かに拘わらず、近距離通信にて上述の所定の情報の送受信を実現するツールであってもよい。具体的には、ＱＲコード(登録商標)の表示および読み取りが、光による片方向通信として近距離通信に含まれる。また、近距離通信としては、Ｂｌｕｅｔｏｏｔｈ(登録商標)または赤外線による無線通信なども含まれる。あるいは、第２のコミュニケーションツールは、ゲームプログラム１３１およびゲームプログラム２３１とは異なるプログラムであってもよい。具体的には、第２のコミュニケーションツールは、ユーザ端末１００に備えられた、図示しない、メッセージ交換アプリなど各種のＳＮＳ（Social Networking Service）アプリケーション、電子メールアプリケーション、および、電話アプリケーションなど、宛先を指定して情報を交換できる手段であってもよい。すなわち、リアルフレンドは、近距離通信が可能な間柄、あるいは、本ゲームのコミュニケーションツールの他に互いに宛先を指定して情報を交換し合える手段を持っている間柄にあるユーザ同士がなることができる種別のフレンドである。
【００８６】
第２のコミュニケーションツールを介して各ユーザのユーザ端末１００が所定の情報を送受信すると、受信側のユーザ端末１００のフレンド処理部１１２が受信した所定の情報を取得して、送信元のユーザ端末１００のユーザを、リアルフレンドとして登録する。所定の情報には、送信元のユーザのユーザＩＤが少なくとも含まれている。受信側のユーザ端末１００において、送信元のユーザがリアルフレンドとして登録された結果は、サーバ２００のフレンド管理部２１２、および、フレンド管理部２１２を介して送信元のユーザ端末１００のフレンド処理部１１２にも通知されるので、ゲームシステム１の各装置間で、フレンドテーブルの同期は保たれている。
【００８７】
最終ログインの項目には、フレンドが本ゲームのアプリケーションを起動させて、最後にログインした時点から現在までの経過時間が格納されている。経過時間は、日、時間、分、および、秒のいずれの単位で表されてもよい。一例として、フレンドが最後にログインした時点から１５日が経過したとき、最終ログインは「１５日前」と記録されてもよいし、フレンドが最後にログインした時点から２４分が経過した時、最終ログインは「２４分前」と記録されてもよい。経過時間が１時間を超えてから、最終ログインの単位を分から時間に切り替えてもよいし、経過時間が１日を超えてから、単位を時間から日に切り替えてもよい。
【００８８】
なお、フレンドテーブルは、ログイン履歴の項目を有していてもよい。ログイン履歴の項目には、例えば、直近の数回分のログイン時点が格納されている。本実施形態では、一例として、少なくとも、フレンドが、イベント開催期間内に初めてログインした第１時点と、その１つ前、すなわち、イベントの開催期間より前に最後にログインされた第２時点とが記憶されていてもよい。
【００８９】
初回ログイン日の項目には、フレンドが本ゲームを初めて開始した日、すなわち、初めてログインした日が格納されている。
【００９０】
招待状の項目には、ユーザがフレンドに招待状を送ったか否かを示す情報が格納されている。図示の例では、該項目に「済」が格納されている場合、ユーザが該フレンドに招待状を送ったことを意味する。招待状とは、本ゲームをまだプレイしたことがない相手に対して送信される、本ゲームをプレイするように促す趣旨のメッセージである。フレンド処理部１１２は、招待状を送ることを指示する入力操作をユーザから受け付けると、招待状を生成し、例えば、上述の第２のコミュニケーションツールに出力する。ユーザは、ゲームプログラム１３１とは異なるコミュニケーションツールを介して、まだ本ゲームをプレイしたことがない相手に宛てて、招待状を送信する。例えば、招待状は、上述の第２のコミュニケーションツールを介して特定の相手に宛てて送信されてもよいし、短文投稿アプリなども含む各種のＳＮＳアプリケーションを介して、不特定多数の相手に発信されてもよい。招待状には、本ゲームのアプリケーションを提供するサーバ２００、とりわけ、招待状の送り主であるユーザのユーザＩＤにアクセスするためのＵＲＬが少なくとも含まれている。招待状をユーザ端末１００を介して受け取った相手のユーザは、該ＵＲＬを介してサーバ２００にアクセスすることにより、本ゲームに初めてログインし、招待状の送り主であるユーザとフレンドになった状態で本ゲームを開始することができる。なお、招待状を介してなるフレンドの種別は、ノーマルフレンドでも、リアルフレンドでもよく、招待状を送信するために使用されたコミュニケーションツールの性質に応じて適宜決定されてもよい。
【００９１】
進行度の項目には、フレンドのゲームの進み具合を示す情報が格納されている。本ゲームは一例として、パズルゲームであり、ステージごとに、パズルに関して出されたお題をクリアしたことによりステージをクリアするゲームである。したがって、例えば、進行度の項目には、フレンドがどのステージまでクリアしたのかを示す情報が格納される。
【００９２】
ステージプレイ回数の項目には、フレンドがステージをプレイした回数が格納されている。本実施形態では、一例として、当該回数の項目には、ステージをクリアして終了したか、できずに終了してしまったかに拘わらず、１つのステージをプレイした回数をカウントする。別の例では、当該項目には、ステージのクリア数が格納されていてもよい。本実施形態では、当該項目には、本ゲームがフレンドによって開始されて以来の総プレイ回数が格納されている。さらに、図示しないが、所定期間のプレイ回数が、総プレイ回数とは別に格納されていてもよい。この場合、当該項目において、総プレイ回数とは別に格納されるプレイ回数は、所定期間満了時にリセットされ、次の所定期間の開始日からまた新たにカウントされる。
【００９３】
親密度の項目には、ユーザとフレンドとの間の親密度が格納されている。親密度は、フレンド関係にある両ユーザの間の交流の多さを示す値である。親密度の値は、一例として、フレンド処理部１１２を介して、キャラクタを育成し合うゲームパートがプレイされる度に増分されてもよい。親密度が高いほど、そのフレンドとの間で、キャラクタを育成し合うゲームパートが多くプレイされているということになる。すなわち、親密度が高いほど、それだけ、そのフレンドとの交流が活発であり、そのフレンドと親密であるということが分かる。
【００９４】
所属グループの項目には、ユーザが所属するグループの識別情報が格納されている。本ゲームでは、一例として、ユーザをいくつかのグループに分類し、グループ内で協力して、グループ同士を競わせるイベント、および、グループ内でユーザ同士を競わせるイベントなどが開催されてもよい。ゲームシステム１において、ユーザが所属するグループを自分で指定できてもよいし、サーバ２００が所定の規則に基づいてユーザに所属させるグループを決定してもよい。
【００９５】
フレンド処理部１１２は、ユーザの入力操作にしたがって、ユーザと他のユーザとをフレンドとして関連付ける。具体的には、例えば、フレンドとなった該他のユーザについての情報を含むレコードを、図４に示すフレンドテーブルに登録する。
【００９６】
（イベントテーブル）
図５は、イベント情報のデータ構造の一例を示す図である。イベント情報は、一例として、ゲームシステム１が、本ゲーム内で開催するイベントにつき、ユーザがプレイするイベントの進捗を一元管理するためのイベントテーブルである。イベントテーブルは、サーバ２００において、ユーザごとに、記憶部２２０に記憶されている。ユーザ端末１００とサーバ２００とにおいて、イベントテーブルは共有されており、記憶部２２０において、ユーザに関連付けられているイベントテーブルと同じイベントテーブルは、該ユーザが使用しているユーザ端末１００の記憶部１２０にも記憶されていてもよい。イベントテーブルは、イベント管理部２１３およびイベント処理部１１３によって管理される。
【００９７】
イベントは、定期的にまたは不定期に、期間限定でユーザに提供されるゲームパートである。イベントは、例えば、特別なミッションを用意して、有効期間内にミッションをクリアすることにより獲得されるポイントの合計をユーザ間で競わせることなどが想定される。
【００９８】
本実施形態において、ゲームシステム１が提供するイベントは、一例として、ユーザのアクティブなフレンドの数に基づいて、ユーザにスコアを獲得させ、スコアが多いほどゲーム内価値が高い報酬をユーザに付与するものである。本イベントでは、所定期間内、すなわち、イベント開催期間においてログインしたフレンドがアクティブなフレンドとして判定される。このイベントによれば、アクティブなフレンドの人数に基づいて、ゲーム利用促進に対するユーザの貢献度が評価される。これは、アクティブなフレンドの人数が多いほど、他のユーザとの交流が活発で、ゲーム利用促進に貢献しているとの考えに基づいている。
【００９９】
イベントテーブルは、一例として、ユーザＩＤ、ユーザ名、期間内ログイン、離脱期間、勧誘通知、スコア加算値の各項目を有する。ユーザＩＤの項目には、フレンドの識別情報であるユーザＩＤが格納されている。ユーザ名の項目には、フレンド自身が設定したフレンドの名称が格納されている。
【０１００】
期間内ログインの項目には、イベントの開催期間内に該フレンドが本ゲームにログインしたか否かを示す情報が格納されている。図示の例では、該項目に「済」が格納されている場合、該フレンドが開催期間内にログインしたことを意味しており、「未」が格納されている場合、該フレンドが開催期間内にまだログインしていないことを意味している。
【０１０１】
イベント管理部２１３は、フレンドがログインしたとき、そのログイン時点がイベント開催期間内であれば、該項目に「済」のフラグを立てる。
【０１０２】
離脱期間の項目には、該フレンドが、イベントの開催期間より前に最後にログインした第２日時から、イベントの開催期間内に該フレンドがログインした第１日時までの経過時間、すなわち離脱期間が格納されている。離脱期間は、フレンドが、イベントの開催期間内に、どのくらいぶりにログインしたのかを示す。
【０１０３】
イベント管理部２１３は、例えば、フレンドがイベント開催期間に初めてログインしたとき、それまでの最終ログイン時点から、今回イベント開催期間に初めてログインした時点までの経過時間を離脱期間として取得し、離脱期間の項目に格納する。該経過時間が１日である場合、イベント管理部２１３は、該フレンドの離脱期間の項目に離脱期間が「１日」であることを示す値を格納してもよい。あるいは、イベント管理部２１３は、上述の経過時間が３０日以上であれば「長期」、３０日未満であれば「短期」を示すフラグを、該離脱期間の項目に格納してもよい。
【０１０４】
勧誘通知の項目には、イベントの開催期間内にユーザがフレンドに勧誘通知を送った否かを示す情報が格納されている。図示の例では、該項目に「済」が格納されている場合、ユーザが該フレンドに勧誘通知を送ったことを意味しており、「未」が格納されている場合、ユーザが該フレンドに勧誘通知を送っていないことを意味している。本実施形態では、イベント処理部１１３は、イベント開催期間内に、ユーザから入力操作にしたがって、開催期間内にまだログインをしていない一人のフレンドにつき、例えば１回、勧誘通知を送る機能を有する。勧誘通知は、開催期間内にログインしていないフレンドに対して送信される、本ゲームにログインするように促す趣旨のメッセージである。ユーザ端末１００のイベント処理部１１３は、勧誘通知を送ることを指示する入力操作をユーザから受け付けると、指定されたフレンド宛てに勧誘通知を送信するようにリクエストをサーバ２００のイベント管理部２１３に送信する。イベント管理部２１３は、該リクエストを受け付けて、指定されたフレンドのユーザ端末１００宛てに、勧誘通知を送信する。勧誘通知は、例えば、プッシュ通知である。フレンドのユーザ端末１００では、イベント処理部１１３は該勧誘通知を受信すると、本ゲームに関して新着メッセージを受信した旨を報知する。イベント処理部１１３は、音、振動、光などを図示しない出力制御部を介して出力させて新着メッセージの受信を報知してもよいし、表示制御部を介して、勧誘通知を受信した旨のメッセージまたは勧誘通知の内容そのものを表示部１５２にポップアップ表示させてもよい。
【０１０５】
スコア加算値の項目には、該フレンドがログインしたことによって、ユーザのスコアに加算される値が格納される。ユーザのスコアに加算される値のことを以下では、スコア加算値と称する。各フレンドの開催期間内のログイン状況に応じてフレンドごとに決定されたスコア加算値を合計することにより、ユーザのスコアが算定される。
【０１０６】
該項目に値が格納されていない場合、具体的には、図示の例では「−」が格納されている場合、フレンドが期間内にログインしていないことにより、該フレンドについては、ユーザがスコア加算値を獲得していないことを意味する。該項目に値が格納されている場合、フレンドが期間内にログインしていることに基づいて、該フレンドについて、ユーザがその値のスコア加算値を獲得したことを意味する。本実施形態では、一例として、基本的には、イベント管理部２１３は、１人のフレンドが期間内にログインした場合に、人数に相当するスコア加算値「１点」を、該フレンドにつきユーザに獲得させる。本実施形態では、人数に相当するスコア加算値を、基礎点と称する。本実施形態では、イベント管理部２１３は、基礎点に加えて、ログインしたフレンドの属性に応じたスコア加算値をユーザにさらに獲得させる。本実施形態では、フレンドの属性に応じたスコア加算値を、加点と称する。したがって、スコア加算値の項目には、該フレンドがログインしたことによって、ユーザのスコアに加算される値として、基礎点と加点との合計値が格納されている。イベント管理部２１３が、加点をどのように決定するのかについては、その具体例を後に詳述する。
【０１０７】
なお、イベント管理部２１３は、フレンドが期間内に初めてログインしたときに、スコア加算値を決定してスコア加算値の項目に格納し、フレンドの属性が変化したときに、スコア加算値を更新してもよい。あるいは、イベント管理部２１３は、イベントが終了したあと、イベント終了時点のフレンドの属性に応じて、各フレンドについてユーザに獲得させるスコア加算値を決定し、スコアを集計してもよい。
【０１０８】
（参照テーブル）
図６は、参照テーブルのデータ構造の一例を示す図である。参照テーブルは、スコア算出部２１４が、ログインしたフレンドの属性に基づいて、ユーザに獲得させる加点を決定するために参照するテーブルである。参照テーブルは、サーバ２００の記憶部２２０に記憶されている。ユーザ端末１００のイベント処理部１１３が加点を決定する機能を有している場合には、参照テーブルは、ユーザ端末１００の記憶部１２０に記憶されていてもよい。
【０１０９】
参照テーブルは、一例として、属性、および、加点の各項目を有する。
【０１１０】
属性の項目には、フレンドの各種の属性についての条件が定義されており、加点の項目には、該条件が満たされた場合にスコア加算値として加えられる加点が定義されている。
【０１１１】
フレンドによっては、複数の条件を満たす場合も想定される。本実施形態では、一例として、スコア算出部２１４は、満たした条件のそれぞれについてユーザに加点を獲得させる。別の例では、スコア算出部２１４は、満たした条件のうち、最も大きい値の加点をユーザに獲得させてもよい。
【０１１２】
スコア算出部２１４は、属性「フレンド種別」に関連して、リアルフレンドのスコア加算値の重みを、ノーマルフレンドの重みよりも大きくする。具体的には、スコア算出部２１４は、図６に示す参照テーブルを参照して、リアルフレンドについてのユーザの加点を、ノーマルフレンドについてのユーザの加点よりも大きくなるように決定する。
【０１１３】
これにより、ユーザは、スコアを効率よく上げようとして、近距離で交流ができる、もしくは、ゲーム外の通信手段を介して交流ができる間柄の知人にログインを勧めるように促される。そして、ゲーム内のツールを用いて気軽であるが限定的なつきあいのフレンドよりも、知人を勧誘する方が成功率は高いと考えられる。結果として、多くのユーザにゲームを利用させることができる。
【０１１４】
スコア算出部２１４は、属性「離脱期間」に関連して、イベント期間より前の最後のログイン時点からイベント期間内の例えば初回ログイン時点までの離脱期間が「３０日以上」の条件を満たすフレンドのスコア加算値の重みを、離脱期間が「３０日未満」の条件を満たすフレンドの重みよりも大きくする。具体的には、スコア算出部２１４は、イベントの前の最終ログイン時点から３０日以上経って久しぶりにイベント期間内に再ログインしたフレンドについてのユーザの加点を、３０日もの間をあけずに再ログインしたフレンドの加点よりも大きくなるように決定する。
【０１１５】
あるいは、図５に示すイベントテーブルにおいて、離脱期間の項目に、「長期」または「短期」を示すフラグが格納されている場合も想定される。この場合、スコア算出部２１４は、離脱期間の項目に長期のフラグが立っているフレンドの加点を、短期のフラグが立っているフレンドの加点よりも大きくなるように決定する。
【０１１６】
これにより、ユーザは、スコアを効率よく上げようとして、最終ログイン時点が３０日以上前の長期離脱中のフレンドにログインを勧めるように促される。長期離脱中のフレンドがゲームのプレイを再開するきっかけが増えるので、結果として、多くのユーザにゲームを利用させることができる。
【０１１７】
スコア算出部２１４は、属性「初回ログイン日」に関連して、ユーザが招待状を送信した相手であって、イベント開催期間中に初めてログインしたフレンドである、という条件を満たす新規参入のフレンドのスコア加算値の重みを、該条件を満たさないフレンドの重みよりも大きくする。具体的には、スコア算出部２１４は、参照テーブルを参照して、該条件を満たす新規参入のフレンドについてのユーザの加点を、該条件を満たさないフレンドについてのユーザの加点よりも大きくなるように決定する。
【０１１８】
これにより、ユーザは、スコアを効率よく上げようとして、これまで本ゲームをプレイしたことがない相手に招待状を送って本ゲームに誘うように促される。これまで本ゲームをプレイしたことがないユーザが新たに本ゲームをプレイするきっかけが増えるので、結果として、多くのユーザにゲームを利用させることができる。
【０１１９】
さらに、スコア算出部２１４は、長期離脱から復帰したフレンドおよび新規参入のフレンドが、イベント開催期間内に、所定の分量をプレイした場合には、値がさらに大きい加点をユーザに獲得させることが好ましい。
【０１２０】
本ゲームで提供されるコンテンツをある程度の分量プレイしたユーザは、アクティブなユーザとして定着する可能性が高い。よって、アクティブなユーザとしての見込みが高いフレンドに本ゲームを開始または再開させるきっかけを作ったユーザが高く評価されるような精度の良い評価の仕組みが構築される。また、ユーザは、スコアを効率よく上げようとして、自身が誘ったフレンドがアクティブなユーザとして定着するように交流するようになる。具体的には、ユーザが、所定の分量までプレイするように働きかけたり、サポートしたりするようになる。結果として、ゲームの利用が一層促進される。
【０１２１】
スコア算出部２１４は、フレンドが所定の分量をプレイしたか否かを、例えば、フレンドのプレイ履歴に基づいて判定してもよい。具体的には、スコア算出部２１４は、イベント開催期間内におけるステージのプレイ回数に基づいて判定してもよいし、期間内におけるステージのクリア回数に基づいて判定してもよいし、期間最終日にフレンドが到達した進行度に基づいて判定してもよいし、期間内のログイン回数に基づいて判定してもよいし、期間内の総プレイ時間に基づいて判定してもよい。
【０１２２】
本実施形態では、一例として、スコア算出部２１４は、イベント期間中、ステージプレイ回数が３０回以上のフレンドについてのユーザの加点を、３０回未満のフレンドについてのユーザの加点よりも大きくなるように決定する。
【０１２３】
スコア算出部２１４は、属性「親密度」に関連して、親密度が「５０以上」の条件を満たすフレンドのスコア加算値の重みを、「５０未満」の条件を満たすフレンドの重みよりも大きくする。具体的には、スコア算出部２１４は、参照テーブルを参照して、親密度が５０以上のフレンドについてのユーザの加点を、５０未満のフレンドについてのユーザの加点よりも大きくなるように決定する。
【０１２４】
これにより、ユーザは、スコアを効率よく上げようとして、各フレンドとの親密度を高めるためのゲームパート、例えば、互いの所有キャラクタを育成し合うゲームパートをプレイするように動機付けられる。育成し合うゲームパートのプレイが促されることにより、上述した、ユーザの利用を促進するための好循環がより強固になる。
【０１２５】
また、ユーザは、スコアを効率よく上げようとして、親密度が高いフレンドにログインを勧めるように促される。親密度が高く交流が盛んなフレンドを勧誘する方が、成功率は高いと考えられる。結果として、多くのユーザにゲームを利用させることができる。
【０１２６】
スコア算出部２１４は、属性「所属グループ」に関連して、ユーザと同じグループに所属している、すなわち、所属グループが一致しているという条件を満たすフレンドのスコア加算値の重みを、所属グループが一致していないフレンドの重みよりも大きくする。具体的には、スコア算出部２１４は、参照テーブルを参照して、ユーザと同じグループに所属するフレンドについてのユーザの加点を、ユーザと異なるグループに所属するまたはグループに所属していないフレンドについてのユーザの加点よりも大きくなるように決定する。
【０１２７】
これにより、ユーザは、スコアを効率よく上げようとして、同じグループ内のフレンドにログインを勧めるように促される。同グループに所属してプレイをしているフレンドを勧誘する方が、成功率は高いと考えられる。グループに限定のコミュニケーションツールが提供されたり、グループで協力して目的を達成するようなイベントが提供されたりすることで、グループ内のユーザ同士が、より良好な関係を築いていると考えられるからである。結果として、多くのユーザにゲームを利用させることができる。
【０１２８】
以上のとおり、スコア算出部２１４が、フレンドの属性に応じて、ユーザに獲得させるスコア加算値に重みを付けることによって、ゲームの利用促進に対するユーザの貢献度をより精度よく評価することができる。
【０１２９】
なお、図６に示す参照テーブルにおいて定義された条件は一例にすぎない。条件に用いられる閾値は、様々な値を取り得る。また、参照テーブルにおいて閾値に基づいて条件を設けることに代えて、フレンドの属性の値と獲得される加点とが比例の関係になるように、加点を決定するための関数が定義されてもよい。例えば、スコア算出部２１４は、期間内のプレイの分量が多いほど、加点が多くなるように、ユーザに獲得させる加点を算出してもよい。より具体的には、スコア算出部２１４は、フレンドの期間内のステージプレイ回数が多いほど、加点が多くなるように、加点を算出してもよい。また、スコア算出部２１４は、フレンドとの親密度が高いほど、加点が多くなるように、加点を算出してもよい。
【０１３０】
＜処理フロー＞
図７は、ゲームシステム１の装置、例えば、サーバ２００が実行する処理の流れを示すフローチャートである。図７に示す処理は、サーバ２００が、イベント期間内にユーザに獲得させるスコアを、ユーザごとに算出、報酬を決定するための処理である。スコアを算出する処理は、ユーザのフレンドについてログイン状況に変化がある度に実行されてもよいが、図７に示す例では、イベント期間終了後、確定したログイン状況に基づいて、ある１人のユーザについて、スコアを算出する場合について説明する。サーバ２００は、すべてのユーザについて、以下の処理を繰り返す。図７に示す一連の処理は、まず、サーバ２００が、例えば、図４に示す該１人のユーザのフレンドテーブルと、図５に示す該ユーザのイベントテーブルとを記憶部２２０から読み出したことにより開始される。
【０１３１】
ステップＳ１０１では、スコア算出部２１４は、イベントテーブルから１人のフレンドのレコードを読み出す。
【０１３２】
ステップＳ１０２では、スコア算出部２１４は、期間内ログインの項目に基づいて、該フレンドがイベント期間内にログインしたか否かを判定する。スコア算出部２１４は、該項目のフラグが「済」を示す場合、該フレンドが期間内にログインしたと判定し、ステップＳ１０２のＹＥＳからステップＳ１０３に進む。一方、スコア算出部２１４は、フラグが「未」を示す場合、該フレンドが期間内にログインしなかったと判定し、ステップＳ１０２のＮＯからステップＳ１０６に進む。
【０１３３】
ステップＳ１０３では、スコア算出部２１４は、該フレンドにつき、ユーザに獲得させるスコアに加算する基礎点を計上する。ここでは、スコア算出部２１４は、フレンドがログインした場合の基礎点、一例として、１点を計上する。
【０１３４】
ステップＳ１０４では、スコア算出部２１４は、該フレンドの属性に応じて、加点を決定する。一例として、スコア算出部２１４は、図４に示すフレンドテーブルから該フレンドのレコードを読み出し、該レコードの内容に基づいて該フレンドの属性を判断する。スコア算出部２１４は、図６に示す参照テーブルを参照し、フレンドの属性がどの条件を満足するのかに応じて加点を決定する。一例として、スコア算出部２１４は、満足されたすべての条件に対応付けて定義されたそれぞれの加点を合計して、該フレンドについての加点を決定する。フレンドがどのような属性の場合にどのような加点が付くのかについては、図６に基づいて既に説明したのでここでは説明を繰り返さない。
【０１３５】
ステップＳ１０５では、スコア算出部２１４は、ステップＳ１０３で計上した基礎点と、ステップＳ１０４で決定した加点とを合計して、該フレンドにつき、ユーザに獲得させるスコア加算値を算出する。スコア算出部２１４は、算出したスコア加算値を、ユーザのスコアに加算する。なお、スコア算出部２１４は、算出したスコア加算値を、図５に示すイベントテーブルにおいて、該フレンドのレコードのスコア加算値の項目に一旦格納し、フレンドごとにこれを繰り返して、最後に合計値を求めることにより、ユーザのスコアを確定させてもよい。
【０１３６】
ステップＳ１０６では、スコア算出部２１４は、上述のフレンドにつき、ユーザに獲得させるスコアに加算する基礎点を計上する。ここでは、スコア算出部２１４は、フレンドがログインしなかった場合の基礎点、一例として、０点を計上する。
【０１３７】
ステップＳ１０７では、スコア算出部２１４は、ユーザのすべてのフレンドについて、スコア加算値を求め、スコアに加算したか否かを判定する。まだスコア加算値を求めていないフレンドのレコードが残っている場合には、スコア算出部２１４は、ステップＳ１０７のＮＯからステップＳ１０１に戻る。そして、該未処理のフレンドのレコードについて、上述の処理を繰り返す。一方、ユーザのすべてのフレンドについてスコア加算値を求めて、それらをスコアに加算した場合には、スコア算出部２１４は、ステップＳ１０７のＹＥＳからステップＳ１０８に進む。
【０１３８】
ステップＳ１０８では、スコア算出部２１４は、ステップＳ１０７までの処理によって確定したユーザのスコアを報酬決定部２１５に出力する。スコア算出部２１４は、各フレンドにつき求められたスコア加算値を、図５のイベントテーブルから読み出して、合計し、ここでスコアを確定させてもよい。
【０１３９】
ステップＳ１０９では、報酬決定部２１５は、確定したスコアに基づいて、ユーザに付与する報酬を決定する。一例として、本実施形態では、報酬決定部２１５は、スコアが高いほど、すなわち、期間内にログインしたフレンドを多く持つユーザほど、ゲーム内での価値が高い報酬をユーザに付与する。ゲーム内で価値が高いとは、報酬の分量が多いこと、報酬の質が高いこと、および、その両方が当てはまることを意味する。報酬の質が高いとは、例えば、該報酬がユーザのゲーム進行に有利もたらすとき、その有利な効果の程度が高いことを意味する。
【０１４０】
ステップＳ１１０では、報酬決定部２１５は、決定した報酬をユーザに付与する。
【０１４１】
上述の構成および方法によれば、所定期間内にログインしたフレンドを多く持つユーザほど、ゲーム内価値が高い報酬を獲得することができる。ユーザが、ログインしているフレンドを多く持つということは、該ユーザが、それだけの数のフレンドと交流して、ゲームを盛り上げ、フレンドのプレイ促進に貢献していることを意味する。したがって、多くのユーザのゲームの利用を促進することに貢献したユーザを評価し、そのようなユーザが恩恵を受ける仕組みを構築することができる。
【０１４２】
このような仕組みが構築されれば、ユーザは、さらに多くのユーザとフレンドとなり、交流を活性化させるように促され、ゲームの利用促進に一層貢献するという好循環が生まれる。結果として、多くのユーザにゲームのプレイを促すことができるという効果を奏する。
【０１４３】
＜フレンド登録機能＞
本実施形態では、一例として、フレンドの登録機能は、以下のようにしてユーザに提供されてもよい。
【０１４４】
図８の（Ａ）および（Ｂ）は、ユーザ端末１００の表示部１５２に表示されるゲーム画面の具体例を示す図である。同図に示される２つのゲーム画面は、ノーマルフレンドを登録するための登録画面である。
【０１４５】
フレンド処理部１１２は、ユーザの入力操作にしたがい、図示しない表示制御部を制御して、以下の登録画面を生成し、表示部１５２に表示させる。
【０１４６】
図８の（Ａ）は、フレンドになっていない他のユーザに対して、フレンドになって欲しいことを伝える申請通知を送信するための申請画面５００の一例を示す図である。
【０１４７】
申請画面５００は、ユーザが他のユーザに対して申請通知を送信するために必要な各種のＵＩ部品を含む。具体的には、申請画面５００は、フレンドの候補となる他のユーザの情報をユーザに提示するための候補情報５０１と、ユーザがフレンドになりたい他のユーザ宛てに申請通知を送信するための申請ボタン５０２とを含む。
【０１４８】
候補情報５０１は、候補となる他のユーザに関連付けられている各種の情報を含む。例えば、候補情報５０１は、ユーザ名、該他のユーザが指定しているキャラクタのアイコンおよび該キャラクタのレベル、最終ログインなどの各種の情報を含む。ユーザは、これらの情報を確認して、フレンドになりたい相手を選定することができる。
【０１４９】
ユーザは、フレンドになりたい相手を特定したら、該相手の候補情報５０１に付随して配置されている申請ボタン５０２を操作して、該相手に申請通知を送信することができる。サーバ２００のフレンド管理部２１２は、申請元のユーザ端末１００から、申請通知の送信を要求するリクエストを受け付けて、申請元のユーザの情報とともに申請通知を申請先のユーザ端末１００に送信する。
【０１５０】
図８の（Ｂ）は、申請通知の送信元である他のユーザに対して、フレンドになることを承認する承認通知を送信するための承認画面５５０の一例を示す図である。
【０１５１】
承認画面５５０は、ユーザが他のユーザに対して承認通知を送信するために必要な各種のＵＩ部品を含む。具体的には、承認画面５５０は、申請通知の送信元である他のユーザの情報をユーザに提示するための申請元情報５５１と、ユーザがフレンドになってもよいと考える他のユーザ宛てに承認通知を送信するための承認ボタン５５２とを含む。
【０１５２】
申請元情報５５１は、申請通知を送信してきた他のユーザに関連付けられている各種の情報を含む。申請元情報５５１は、候補情報５０１と同様の項目を含んでいてもよい。ユーザは、これらの情報を確認して、フレンドになる相手を選定することができる。
【０１５３】
ユーザは、フレンドになりたい相手を特定したら、該相手の申請元情報５５１に付随して配置されている承認ボタン５５２を操作して、該相手に承認通知を送信することができる。サーバ２００のフレンド管理部２１２は、申請先のユーザ端末１００から、承認通知の送信を要求するリクエストを受け付けると、申請元のユーザと、申請先のユーザとをノーマルフレンドとして対応付けて、それぞれのフレンドテーブルに登録する。また、フレンド管理部２１２は、承認通知を申請元のユーザ端末１００に送信する。フレンド処理部１１２は、例えば、プッシュ通知にて、フレンド申請が承認された旨のメッセージを表示部１５２に表示させてもよい。
【０１５４】
以上のように、ユーザは、申請画面５００および承認画面５５０を介して、ゲーム内で、簡単に、ノーマルフレンドを増やしていくことができる。
【０１５５】
図９の（Ａ）および（Ｂ）は、ユーザ端末１００の表示部１５２に表示されるゲーム画面の具体例を示す図である。同図に示される２つのゲーム画面は、リアルフレンドを登録するための登録画面である。
【０１５６】
フレンド処理部１１２は、ユーザの入力操作にしたがい、図示しない表示制御部を制御して、以下の登録画面を生成し、表示部１５２に表示させる。
【０１５７】
図９の（Ａ）は、ユーザの識別情報およびその他の各種の情報を、他のユーザのユーザ端末１００に読み取らせるためのコードを表示させるコード表示画面６００の一例を示す図である。
【０１５８】
コード表示画面６００には、ユーザ自身の情報を含むコード６０１が配置される。コード６０１は、一例として、ＱＲコード(登録商標)であり、コード６０１には、ユーザ自身のユーザＩＤが少なくとも含まれており、その他、発行時点での最終ログインなどユーザの各種の情報が含まれていてもよい。
【０１５９】
図９の（Ｂ）は、他のユーザのユーザ端末１００に表示されているコードを、ユーザ自身のユーザ端末１００に読み取らせるためのコード取得画面６５０の一例を示す図である。
【０１６０】
コード取得画面６５０には、ユーザ端末１００に備えられているカメラ機能によって撮像されたライブビュー画像６５１を表示するための表示領域が配置される。ユーザは、ライブビュー画像６５１を確認しながら、他のユーザのユーザ端末１００に表示されているコード６０１が、上述の表示領域に適正に配置されるように、自身または他のユーザのユーザ端末１００の位置を調節することができる。
【０１６１】
フレンド処理部１１２は、コード６０１が表示領域に適正に配置されたことによりコード６０１を読み取ると、相手のユーザのユーザＩＤおよびその他の情報を取得して、該相手のユーザをリアルフレンドとして登録する。具体的には、フレンド処理部１１２は、読み取った相手のユーザの情報を、フレンドテーブルに登録する。フレンド処理部１１２は、サーバ２００に対して、コード６０１の読み取りにより、コード６０１の発行元であるユーザをリアルフレンドとして登録した旨をフィードバックする。サーバ２００のフレンド管理部２１２は、コード６０１の発行元のユーザと、コード６０１を読み取ったユーザとをリアルフレンドとして関連付けるとともに、その結果を、コード６０１の発行元のユーザ端末１００に通知する。
【０１６２】
以上のように、ユーザは、コード表示画面６００およびコード取得画面６５０を介して、そばにいる他のユーザと近距離通信を実施することにより、リアルフレンドを増やしていくことができる。
【０１６３】
図１０は、サーバ２００が実行する処理の流れを示すフローチャートである。図１０に示す処理は、サーバ２００が、ユーザＡのユーザ端末Ａと、ユーザＢのユーザ端末Ｂとの情報の送受信を仲介して、ユーザＡとユーザＢとをフレンドとして関連付けるための処理である。
【０１６４】
ステップＳ２０１では、フレンド管理部２１２は、ユーザＡのユーザ端末Ａからの申請通知を受信した、ユーザＢのユーザ端末Ｂから、承認通知を受信したか否かを判定する。フレンド管理部２１２は、承認通知を受信した場合、ステップＳ２０１のＹＥＳからステップＳ２０２に進む。フレンド管理部２１２は、承認通知を受信しないうちは、ステップＳ２０２の処理を実行せずに、ステップＳ２０１のＮＯからステップＳ２０３以降に進む。
【０１６５】
ステップＳ２０２では、フレンド管理部２１２は、ユーザＡとユーザＢとをノーマルフレンドとして関連付ける。
【０１６６】
ステップＳ２０３では、フレンド管理部２１２は、ユーザ端末Ａに発行させた、ユーザＡの情報を含むコードを、ユーザ端末Ｂが読み取ったか否かを判定する。例えば、フレンド管理部２１２は、ユーザ端末ＢがユーザＡのコードを読み取ったか否かを、ユーザ端末Ｂから送信された読取完了通知に基づいて判定してもよい。フレンド管理部２１２は、読取完了通知を受信した場合、ステップＳ２０３のＹＥＳからステップＳ２０４に進む。フレンド管理部２１２は、読取完了通知を受信しないうちは、ステップＳ２０４の処理を実行せずに、一連の処理を終了する。
【０１６７】
＜進捗提示機能および勧誘通知機能＞
本実施形態では、一例として、イベントの進捗を提示する機能、および、勧誘通知をフレンドに通知する機能は、以下のようにしてユーザに提供されてもよい。
【０１６８】
図１１は、ユーザ端末１００の表示部１５２に表示されるゲーム画面の具体例を示す図である。同図に示されるゲーム画面は、イベント期間中の進捗状況をユーザに提示するためのイベント画面である。
【０１６９】
イベント処理部１１３は、ユーザの入力操作にしたがい、図示しない表示制御部を制御して、イベント画面７００を生成し、表示部１５２に表示させる。
【０１７０】
イベント画面７００は、ユーザがイベントの進捗を確認するために必要な各種のＵＩ部品を含む。具体的には、イベント画面７００は、ユーザがこれまでに獲得したスコア７０１と、フレンドの情報７０２、７０３と、フレンド宛てに勧誘通知を送信するための勧誘ボタン７０４とを含む。フレンドの情報は、ノーマルフレンドとリアルフレンドとを区別して表示してもよいし、図示のように、ノーマルフレンドの情報７０２と、リアルフレンドの情報７０３とをともに一覧表示してもよい。
【０１７１】
フレンドの情報７０２、７０３は、該フレンドが、イベント期間内に１度でもログインしたか否かを示す情報を含んでいることが好ましい。これにより、ユーザは、該フレンドに対して、期間内ログインを促すための働きかけを行うことができる。具体的には、ユーザは、勧誘ボタン７０４を介して、勧誘通知をまたログインしていないフレンドに送信することができる。イベント管理部２１３は、イベント処理部１１３から勧誘通知の送信を要求するリクエストを受け付けると、指定されたフレンドのユーザ端末１００に勧誘通知を送信する。
【０１７２】
〔変形例〕
図６に示す参照テーブルにおいて、加点に代えて、基礎点に掛ける倍率が定義されていてもよい。この場合、スコア算出部２１４は、フレンドの属性が満たした条件に関連付けられている倍率の中で、最も高い倍率を基礎点に掛けることにより、該フレンドについて、ユーザに獲得させるスコア加算値を算出する。
【０１７３】
イベント管理部２１３は、フレンドが長期離脱から復帰したユーザか否かを、該フレンドの、イベント期間より前の最後のログイン時点がイベントが開始された時点からどれだけの時間離れているのかに基づいて判断してもよい。
【０１７４】
例えば、イベント管理部２１３は、イベント期間より前の最後のログイン時点が、イベント開始時点より３０日以上前になっているフレンドの離脱期間を「長期」と判定し、離脱期間が「長期」と判定されたフレンドを長期離脱から復帰したユーザであると判断する。
【０１７５】
上述の構成によれば、フレンドがイベント期間内にログインした時点がいつであるのかに関係なく、フレンドのイベント期間より前の最後のログイン時点を特定するだけで、該フレンドの離脱期間が長期であるか短期であるのかを判定できる。すなわち、フレンドの属性が条件を満たすか否かの判定を行う処理を簡素化することができる。
【０１７６】
〔ソフトウェアによる実現例〕
制御部２１０の制御ブロック（特に、進行支援部２１１、フレンド管理部２１２およびイベント管理部２１３）、ならびに、制御部１１０の制御ブロック（特に、パズル進行部１１１、フレンド処理部１１２およびイベント処理部１１３）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１７７】
後者の場合、制御部２１０または制御部１１０、もしくはその両方の機能を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１７８】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１７９】
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
【０１８０】
（項目１）  ゲームプログラム（１３１、２３１）について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ（１０、２０）およびメモリ（１１、２１）を備えるコンピュータ（ユーザ端末１００およびサーバ２００の少なくとも一方）により実行される。ゲームプログラムは、プロセッサに、  ゲームプログラムに基づくゲームにおいてユーザに関連付けられている１以上のフレンドユーザ（フレンド）のうち、所定期間（イベント開催期間）内にゲームにログインしたフレンドユーザの数に基づく値（スコア加算値）を、ユーザのスコアに加算するステップ（Ｓ１０５）と、スコアに応じて、ユーザに付与する報酬を決定するステップ（Ｓ１０８）と、を実行させ、加算するステップでは、フレンドユーザの属性に応じて重み（加点）を付けた値（基礎点および加点）をスコアに加算する（Ｓ１０３〜Ｓ１０４）。これにより、ユーザのゲームの利用を促進することができるという効果を奏する。
【０１８１】
（項目２）  （項目１）において、加算するステップでは、ログインしたフレンドユーザ１人につきスコアに加算する値として、フレンドユーザの人数１人分に相当する基礎点と、該ログインしたフレンドユーザの属性に基づき決定された加点との合計値を算出してもよい。
【０１８２】
これにより、アクティブなフレンドを多く持っているユーザほど、ゲームの利用促進に対する貢献度が高いユーザであることを評価できる。その上、ユーザは、特定の属性を持つフレンドがログインするように働きかけることを促される。結果として、ユーザのゲームの利用を促進することができるという効果を奏する。
【０１８３】
（項目３）  （項目１）または（項目２）において、メモリには、ユーザに関連付けられているフレンドユーザごとに、該フレンドユーザの種別が記憶されており、該種別には、少なくとも、ユーザと第１の条件を満たしたフレンドユーザに設定される第１種別（ノーマルフレンド）と、ユーザと第２の条件を満たしたフレンドユーザに設定される第２種別（リアルフレンド）とがあり、加算するステップでは、第２種別のフレンドユーザの重みを、第１種別のフレンドユーザの重みよりも大きくしてもよい。
【０１８４】
（項目４）  （項目３）において、ゲームプログラムは、プロセッサに、ユーザと他のユーザとの間で、ゲームプログラムに基づく第１のコミュニケーションツールを介して通信されたことに基づいて、該他のユーザを、該ユーザの第１種別のフレンドユーザとして該ユーザに関連付けるステップ（Ｓ２０２）と、ユーザと他のユーザとの間で、第２のコミュニケーションツールを介して情報が送受信されたことに基づいて、該他のユーザを、該ユーザの第２種別のフレンドユーザとして該ユーザに関連付けるステップ（Ｓ２０４）と、を実行させ、第２種別のフレンドユーザを関連付けるステップでは、近距離通信にて情報の送受信（コードの表示および読取）が行われた場合、または、ゲームプログラムとは異なるプログラムによって情報の送受信が行われた場合に、他のユーザを、該ユーザの第２種別のフレンドユーザとして該ユーザに関連付けてもよい。
【０１８５】
（項目５）  （項目１）から（項目４）までのいずれか１項目において、加算するステップでは、フレンドユーザが所定期間より前に最後にログインした日時から所定期間内にログインした日時までの経過時間である離脱期間が所定以上のフレンドユーザの重みを、離脱期間が所定未満のフレンドユーザの重みよりも大きくしてもよい。
【０１８６】
（項目６）  （項目１）から（項目５）までのいずれか１項目において、メモリには、ユーザに関連付けられているフレンドユーザごとに、該フレンドユーザがゲームを初めてログインした初回ログイン日が記憶されており、加算するステップでは、所定期間内にゲームに初めてログインしたフレンドユーザの重みを、所定期間よりも前にゲームに初めてログインしたフレンドユーザの重みよりも大きくしてもよい。
【０１８７】
（項目７）  （項目５）または（項目６）において、メモリには、ユーザに関連付けられているフレンドユーザごとに、該フレンドユーザがゲームをプレイした分量を示すプレイ履歴が記憶されており、加算するステップでは、フレンドユーザが所定期間内にプレイした分量が多いほど、該フレンドユーザの重みを大きくしてもよい。
【０１８８】
（項目８）  （項目１）から（項目７）までのいずれか１項目において、メモリには、ユーザに関連付けられているフレンドユーザごとに、ユーザと該フレンドユーザとの協力プレイを経て上昇する、該フレンドユーザとのゲームにおける親交の深さを示す親密度が記憶されており、加算するステップでは、フレンドユーザとの親密度が高いほど、該フレンドユーザの重みを大きくしてもよい。
【０１８９】
（項目９）  （項目１）から（項目８）までのいずれか１項目において、メモリには、ユーザに関連付けられているフレンドユーザごとに、該フレンドユーザが所属している所属グループが記憶されており、加算するステップでは、所属グループがユーザと一致するフレンドユーザの重みを、所属グループがユーザと一致しないフレンドユーザの重みよりも大きくしてもよい。
【０１９０】
（項目１０）  ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサおよびメモリを備えるコンピュータにより実行される。該方法は、プロセッサが（項目１）に記載の各ステップを実行する方法である。（項目１０）に係る方法は、（項目１）に係るゲームプログラムと同様の作用効果を奏する。
【０１９１】
（項目１１）  情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、（項目１）に係るゲームプログラムを記憶するメモリ（メモリ２１、記憶部２２０）と、該ゲームプログラムを実行することにより、情報処理装置（サーバ２００）の動作を制御するプロセッサ（プロセッサ２０、制御部２１０）とを備える。（項目１１）に係る情報処理装置は、（項目１）に係るゲームプログラムと同様の作用効果を奏する。
【符号の説明】
【０１９２】
１  ゲームシステム、２  ネットワーク、１０，２０  プロセッサ、１１，２１  メモリ、１２，２２  ストレージ、１３，２３  通信ＩＦ（操作部）、１４，２４  入出力ＩＦ（操作部）、１５  タッチスクリーン（表示部、操作部）、１７  カメラ（操作部）、１８  測距センサ（操作部）、１００  ユーザ端末（情報処理装置）、１１０，２１０  制御部、１１１  パズル進行部、１１２  フレンド処理部、１１３  イベント処理部、１２０，２２０  記憶部、１３１，２３１  ゲームプログラム、１３２  ゲーム情報、１３３  ユーザ情報、１５１  入力部（操作部）、１５２  表示部、２００  サーバ（情報処理装置）、２１１  進行支援部、２１２  フレンド管理部、２１３  イベント管理部、１０１０  物体、１０２０  コントローラ（操作部）、１０３０  記憶媒体
【図１】
2020110446.tif 000003
【図２】
2020110446.tif 000004
【図３】
2020110446.tif 000005
【図４】
2020110446.tif 000006
【図５】
2020110446.tif 000007
【図６】
2020110446.tif 000008
【図７】
2020110446.tif 000009
【図８】
2020110446.tif 000010
【図９】
2020110446.tif 000011
【図１０】
2020110446.tif 000012
【図１１】
2020110446.tif 000013