本開示に係るゲームシステムは、ユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
(ゲームシステム1のハードウェア構成)
図1は、ゲームシステム1のハードウェア構成を示す図である。ゲームシステム1は図示の通り、複数のユーザ端末100と、サーバ200とを含む。各ユーザ端末100は、サーバ200とネットワーク2を介して接続する。ネットワーク2は、インターネット及び図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(Long Term Evolution)、及び所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が挙げられる。
サーバ200(コンピュータ、情報処理装置)は、ワークステーション又はパーソナルコンピュータ等の汎用コンピュータであってよい。サーバ200は、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。サーバ200が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
ユーザ端末100(コンピュータ、情報処理装置)は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、又はタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末100は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末100は図示の通り、プロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15(表示部152)と、カメラ17と、測距センサ18とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末100は、タッチスクリーン15に代えて、又は、加えて、ユーザ端末100本体とは別に構成されたディスプレイ(表示部152)を接続可能な入出力IF14を備えていてもよい。
また、図1に示すように、ユーザ端末100は、1つ以上のコントローラ1020と通信可能に構成されることとしてもよい。コントローラ1020は、例えば、Bluetooth(登録商標)等の通信規格に従って、ユーザ端末100と通信を確立する。コントローラ1020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末100へ送信する。また、コントローラ1020は、加速度センサ、及び、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末100へ送信する。
なお、ユーザ端末100がカメラ17及び測距センサ18を備えることに代えて、又は、加えて、コントローラ1020がカメラ17及び測距センサ18を有していてもよい。
ユーザ端末100は、例えばゲーム開始時に、コントローラ1020を使用するユーザに、該ユーザの名前又はログインID等のユーザ識別情報を、該コントローラ1020を介して入力させることが望ましい。これにより、ユーザ端末100は、コントローラ1020とユーザとを紐付けることが可能となり、受信した出力値の送信元(コントローラ1020)に基づいて、該出力値がどのユーザのものであるかを特定することができる。
ユーザ端末100が複数のコントローラ1020と通信する場合、各コントローラ1020を各ユーザが把持することで、ネットワーク2を介してサーバ200などの他の装置と通信せずに、該1台のユーザ端末100でマルチプレイを実現することができる。また、各ユーザ端末100が無線LAN(Local Area Network)規格等の無線規格により互いに通信接続する(サーバ200を介さずに通信接続する)ことで、複数台のユーザ端末100によりローカルでマルチプレイを実現することもできる。1台のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、ユーザ端末100は、さらに、サーバ200が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末100は、サーバ200が備える後述する種々の機能を分散して備えていてもよい。
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末100はサーバ200と通信を行ってもよい。例えば、あるゲームにおける成績又は勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ200に送信してもよい。
また、コントローラ1020は、ユーザ端末100に着脱可能な構成であるとしてもよい。この場合、ユーザ端末100の筐体における少なくともいずれかの面に、コントローラ1020との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末100とコントローラ1020とが結合している場合は、ユーザ端末100とコントローラ1020とは、有線を介して信号を送受信する。
図1に示すように、ユーザ端末100は、外部のメモリカード等の記憶媒体1030の装着を、入出力IF14を介して受け付けてもよい。これにより、ユーザ端末100は、記憶媒体1030に記録されるプログラム及びデータを読み込むことができる。記憶媒体1030に記録されるプログラムは、例えばゲームプログラムである。
ユーザ端末100は、サーバ200等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末100のメモリ11に記憶してもよいし、記憶媒体1030から読み込むことにより取得したゲームプログラムをメモリ11に記憶してもよい。
以上で説明した通り、ユーザ端末100は、該ユーザ端末100に対して情報を入力する機構の一例として、通信IF13、入出力IF14、タッチスクリーン15、カメラ17、及び、測距センサ18を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
例えば、操作部が、カメラ17及び測距センサ18の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末100の近傍の物体1010を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体1010としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体1010の色、形状、動き、又は、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末100は、カメラ17の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
あるいは、操作部がタッチスクリーン15で構成される場合、ユーザ端末100は、タッチスクリーン15の入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、ユーザ端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
(各装置のハードウェア構成要素)
プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、サーバ200全体の動作を制御する。プロセッサ10及び20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、及びGPU(Graphics Processing Unit)を含む。
プロセッサ10は後述するストレージ12からプログラムを読み出し、後述するメモリ11に展開する。プロセッサ20は後述するストレージ22からプログラムを読み出し、後述するメモリ21に展開する。プロセッサ10及びプロセッサ20は展開したプログラムを実行する。
メモリ11及び21は主記憶装置である。メモリ11及び21は、ROM(Read Only Memory)及びRAM(Random Access Memory)等の記憶装置で構成される。メモリ11は、プロセッサ10が後述するストレージ12から読み出したプログラム及び各種データを一時的に記憶することにより、プロセッサ10に作業領域を提供する。メモリ11は、プロセッサ10がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ21は、プロセッサ20が後述するストレージ22から読み出した各種プログラム及びデータを一時的に記憶することにより、プロセッサ20に作業領域を提供する。メモリ21は、プロセッサ20がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
本実施形態においてプログラムとは、ゲームをユーザ端末100により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末100とサーバ200との協働により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末100の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報及びゲーム情報などのゲームに関するデータ、ならびに、ユーザ端末100とサーバ200との間又は複数のユーザ端末100間で送受信する指示又は通知を含んでいる。
ストレージ12及び22は補助記憶装置である。ストレージ12及び22は、フラッシュメモリ又はHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12及びストレージ22には、ゲームに関する各種データが格納される。
通信IF13は、ユーザ端末100における各種データの送受信を制御する。通信IF23は、サーバ200における各種データの送受信を制御する。通信IF13及び23は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、又は携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
入出力IF14は、ユーザ端末100がデータの入力を受け付けるためのインターフェースであり、またユーザ端末100がデータを出力するためのインターフェースである。入出力IF14は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14は、例えば、ユーザ端末100の物理ボタン、カメラ、マイク、又は、スピーカ等を含み得る。サーバ200の入出力IF24は、サーバ200がデータの入力を受け付けるためのインターフェースであり、またサーバ200がデータを出力するためのインターフェースである。入出力IF24は、例えば、マウス又はキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部152とを含み得る。
ユーザ端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152は、例えば液晶ディスプレイ、又は有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
入力部151は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、及びタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式又は抵抗膜方式等のどのような方式を採用したものであってもよい。
図示していないが、ユーザ端末100は、該ユーザ端末100の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、又は、角速度センサ等であってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部152に表示させる横画面表示としてもよい。このように、プロセッサ10は、ユーザ端末100の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
カメラ17は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
測距センサ18は、測定対象物までの距離を測定するセンサである。測距センサ18は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ18は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ18は、指向性を有する光を発する光源を有することとしてもよい。
ここで、ユーザ端末100が、カメラ17と測距センサ18とを用いて、ユーザ端末100の近傍の物体1010を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ17及び測距センサ18は、例えば、ユーザ端末100の筐体の側面に設けられてもよい。カメラ17の近傍に測距センサ18が設けられてもよい。カメラ17としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置及び可視光を遮断するフィルタ等が、カメラ17に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ17の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
プロセッサ10は、カメラ17の撮影画像に対して、例えば以下の(1)~(5)に示す処理のうち1つ以上の処理を行ってもよい。(1)プロセッサ10は、カメラ17の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ10は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。(2)また、プロセッサ10は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ10は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数(伸びている指の本数)を特定する。プロセッサ10はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば、プロセッサ10は、指の本数が5本である場合、ユーザが「パー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が0本である(指が検出されなかった)場合、ユーザが「グー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が2本である場合、ユーザが「チョキ」のジェスチャを行ったと判定する。(3)プロセッサ10は、カメラ17の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。(4)プロセッサ10は、カメラ17の撮影画像の画像認識結果、及び、測距センサ18の出力値等の少なくともいずれか1つに基づいて、ユーザ端末100の近傍の物体1010(ユーザの手など)とユーザ端末100との距離を検出する。例えば、プロセッサ10は、カメラ17の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末100の近傍(例えば所定値未満の距離)にあるのか、遠く(例えば所定値以上の距離)にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ10は、ユーザの手がユーザ端末100に接近しているのか遠ざかっているのかを検出してもよい。(5)カメラ17の撮影画像の画像認識結果等に基づいて、ユーザの手が検出されている状態で、ユーザ端末100とユーザの手との距離が変化していることが判明した場合、プロセッサ10は、ユーザが手をカメラ17の撮影方向において振っていると認識する。カメラ17の撮影範囲よりも指向性が強い測距センサ18において、物体が検出されたりされなかったりする場合に、プロセッサ10は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
このように、プロセッサ10は、カメラ17の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か(「グー」のジェスチャであるか、それ以外のジェスチャ(例えば「パー」)であるか)を検出する。また、プロセッサ10は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ10は、ユーザがこの手をユーザ端末100に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウス又はタッチスクリーンなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末100は、例えば、ユーザの手の移動に応じて、タッチスクリーン15においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末100は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、又は、タッチスクリーンに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末100は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作(またはドラッグ操作)に対応する操作として認識することもできる。また、ユーザ端末100は、カメラ17の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリック又はタッチスクリーンへのタップ操作に対応する操作として認識してもよい。
<ゲームシステム1の機能的構成>
図2は、ゲームシステム1に含まれるサーバ200およびユーザ端末100の機能的構成を示すブロック図である。サーバ200およびユーザ端末100のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
サーバ200は、各ユーザ端末100と通信して、ユーザ端末100がゲームを進行させるのを支援する機能を有する。サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、および入出力IF24等の協働によって、制御部210および記憶部230として機能する。
記憶部130および230は、それぞれ、ゲームプログラム131および231、ゲーム情報132および232、並びに、ユーザ情報133および233を格納する。ゲームプログラム131は、ユーザ端末100で実行するゲームプログラムである。ゲームプログラム231は、サーバ200で実行するゲームプログラムである。ゲーム情報132は、制御部110がゲームプログラム131を実行する際に参照するデータである。ゲーム情報232は、制御部210がゲームプログラム231を実行する際に参照するデータである。ユーザ情報133およびユーザ情報233は、ユーザのアカウントに関するデータである。記憶部230において、ゲーム情報232およびユーザ情報233は、ユーザ端末100ごとに格納されている。
(サーバ200の機能的構成)
制御部210は、記憶部230に格納されたゲームプログラム231を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ユーザ端末100に各種データおよびプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末100から受信する。
制御部210は、ゲームプログラム231の記述に応じて、進行支援部211、仮想通貨管理部212、報酬付与部213、抽選実行部214、および通信部215として機能する。制御部210は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
進行支援部211は、各ユーザ端末100と通信して、ユーザ端末100がゲームを進行させるのを支援する。
仮想通貨管理部212は、ゲームの各ユーザが保有等する仮想通貨を管理する。仮想通貨は、ゲーム媒体の一例である。ユーザ端末100は、仮想通貨を消費することにより、ユーザがゲームを有利に進めることができるようにする各種のゲーム処理を実行する。
仮想通貨は、一例として有償の仮想通貨と無償の仮想通貨とを含む。有償の仮想通貨は、仮想通貨を分類するための第1の態様の一例であり、無償の仮想通貨は、仮想通貨を分類するための第2の態様の一例である。ただし、仮想通貨は、有償か無償かに限らず、その他の基準によって分類するための複数の態様を有していてもよい。
有償の仮想通貨とは、購入代金の支払い(課金)と引き換えにユーザに付与される、当該購入代金に応じて単価に基づき算出される量の仮想通貨である。無償の仮想通貨とは、購入代金を支払うことなく、ユーザに付与される仮想通貨である。なお、無償の仮想通貨が購入代金を支払うことなく付与される例としては、例えば、ゲームにログインする、クエストをクリアする、イベントに参加する等といった、ゲームにおいて所定条件が満たされた場合に付与される例が挙げられる。
ユーザに付与された仮想通貨は、有償分と無償分とを区別して記憶部120に記憶される。ただし、仮想通貨は、有償であるか無償であるかに関わらず、ゲーム内で同一の価値を有し、同様に利用可能であってもよい。例えば、或るゲーム処理を1回実行させるために仮想通貨10個の支払いが必要であるとする。この場合、支払いに用いられる仮想通貨は、有償の仮想通貨10個であってもよいし、無償の仮想通貨10個であってもよいし、有償および無償を組み合わせた10個であってもよい。また、有償の仮想通貨および無償の仮想通貨のうち、何れが優先して消費されるかが定められていてもよい。また、仮想通貨は、有償であるか無償であるかに関わらず、ユーザに付与された順に消費されるよう定められていてもよい。
なお、本実施形態では、仮想通貨はダイヤであるものとして説明する。すなわち、本実施形態に係るゲームには、有償のダイヤと無償のダイヤとがある。ただし、仮想通貨はダイヤに限定されない。
報酬付与部213は、ゲームにおける所定条件が成立した場合に、各ユーザに報酬を付与する。抽選実行部214は、各ユーザに各種のゲーム媒体を付与するための抽選を実行する。
通信部215は、各ユーザ端末100を含む各種の外部装置に情報や信号を送信したり、外部装置から各種の情報や信号を受信したりする。なお、以降、通信部215以外の機能ブロックを主語として、「送信する」および「受信する」と記載する場合がある。これらの記載は、「該機能ブロックが、通信部215に指示し、データ等を送信させること」、および、「各機能ブロックが通信部215を介してデータなどを受信すること」を意味する。
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、仮想通貨管理部112、報酬付与部113、抽選実行部114、表示制御部115、および通信部116として機能する。制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部111は、タッチスクリーン15(入力部151)の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、操作受付部111は、ユーザの指などがタッチスクリーン15に接近したことを、タッチスクリーン15を構成する面の横軸及び縦軸からなる座標系の座標として検出する。例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
操作受付部111は、タッチスクリーン15に対するユーザの操作を判別する。操作受付部111は、例えば、(1)「接近操作」、(2)「リリース操作」、(3)「タップ操作」、(4)「ダブルタップ操作」、(5)「長押し操作(ロングタッチ操作)」、(6)「ドラッグ操作(スワイプ操作)」、(7)「ムーブ操作」、(8)「フリック操作」、その他のユーザの操作を判別する。操作受付部111が判別するユーザの操作は、上記に限られない。例えば、タッチスクリーン15が、ユーザがタッチスクリーン15に対して押下する圧力の大きさを検出可能な機構を有する場合、操作受付部111は、ユーザにより押下された圧力の大きさを判別する。
(1)「接近操作」とは、ユーザが指などをタッチスクリーン15に接近させる操作である。タッチスクリーン15は、ユーザの指などが接近したこと(ユーザの指などがタッチスクリーン15に接触したことを含む)をタッチスクリーン15により検出し、検出したタッチスクリーン15の座標に応じた信号を制御部110へ出力する。制御部110は、タッチスクリーン15へのユーザの指などの接近を検出しない状態から、接近を検出したときに、状態が「タッチオン状態」になったと判別する。
(2)「リリース操作」とは、ユーザがタッチスクリーン15を接近操作している状態を止める操作である。操作受付部111は、例えば、ユーザが指などをタッチスクリーン15に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。制御部110は、タッチスクリーン15へのユーザの指などの接近を検出している状態から、接近を検出しない状態になったときに、状態が「タッチオン状態」から「タッチオフ状態」になったと判別する。
(3)「タップ操作」とは、ユーザがタッチスクリーン15に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。操作受付部111は、接近操作が検出されない状態(ユーザの指などがタッチスクリーン15から離れており、タッチスクリーン15がユーザの指などの接近を検出していない状態)から、タッチスクリーン15の出力に基づいて、ユーザの指などが接近したことを検出した場合に、その検出した座標を「初期タッチ位置」として保持する。操作受付部111は、初期タッチ位置の座標と、リリース操作をした座標とがほぼ同一である場合(接近操作が検出された座標から一定範囲内の座標においてリリース操作の座標が検出された場合)に、ユーザの操作を「タップ操作」と判別する。
(4)「ダブルタップ操作」とは、ユーザがタップ操作を一定時間内に2回行う操作である。操作受付部111は、例えば、ユーザの操作をタップ操作と判別してから一定時間内に、タップ操作にかかる座標で再びタップ操作を判別した場合に、ユーザの操作を「ダブルタップ操作」と判別する。
(5)「長押し操作」とは、ユーザがタッチスクリーン15を押し続ける操作である。タッチスクリーン15は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」(「長押し操作」を、「ロングタッチ操作」と称することもある)と判別する。
(6)「ドラッグ操作」とは、ユーザがタッチスクリーン15に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。
(7)「ムーブ操作」とは、ユーザがタッチスクリーン15において、接近操作を維持しつつ、タッチスクリーン15に指などを接近させている位置を移動させてリリース操作を行う一連の操作をいう。
(8)「フリック操作」は、ユーザがムーブ操作を予め定められた時間よりも短い時間で行う操作をいう。フリック操作は、ユーザがタッチスクリーン15で指を弾くような操作である。
仮想通貨管理部112は、ゲームのユーザが保有等するダイヤを管理する。報酬付与部113は、ゲームにおける所定条件が成立した場合にユーザに報酬を付与する。抽選実行部114は、ユーザに各種のゲーム媒体を付与するための抽選を実行する。
表示制御部115は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部115は、各種オブジェクトのモーションを示すアニメーションを含むゲーム画面を、表示部152に表示してもよい。また、表示制御部115は、UI(User Interface)オブジェクトを、ゲーム画面に重畳して描画してもよい。
通信部116は、サーバ200を含む各種の外部装置に情報や信号を送信したり、外部装置から各種の情報や信号を受信したりする。なお、以降、通信部116以外の機能ブロックを主語として、「送信する」および「受信する」と記載する場合がある。これらの記載は、「該機能ブロックが、通信部116に指示し、データ等を送信させること」、および、「各機能ブロックが通信部116を介してデータなどを受信すること」を意味する。
図2に示すサーバ200およびユーザ端末100の機能は、一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置のいずれであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
(ゲーム概要)
ゲームシステム1に基づくゲームは、任意のゲームである。このゲームは、例えば、ユーザによって操作されるキャラクタと、ゲームシステム1または他のユーザによって制御される他のキャラクタ(第2キャラクタ、敵キャラクタ)とが戦闘するゲームである。ゲームシステム1に基づくゲームは、戦闘ゲームに限らず、スポーツゲームなどの任意のジャンルのゲームであってよい。ゲームシステム1は、特定のプレイ形態に限らず、あらゆるプレイ形態のゲームを実行するためのシステムであってもよい。例えば、単一のユーザによるシングルプレイゲーム、及び、複数のユーザによるマルチプレイゲーム、また、マルチプレイゲームの中でも、複数のユーザが対戦する対戦ゲーム、及び、複数のユーザが協力する協力プレイゲームなどであってもよい。
本ゲームでは、ユーザは、ユーザによる対価の支払いに基づいて、有償のダイヤ(以下、「有償ダイヤ」と記載)を入手できる。ユーザ端末100は、有償ダイヤを消費することによって、ユーザがゲームを有利に進めることができるようにする各種のゲーム処理を実行する。係る処理は、例えば、ユーザがゲームに使える各種のキャラクタをキャラクタ母集団の中から抽選により選択してユーザに付与するキャラクタ抽選などが挙げられる。ユーザは、自身のゲームプレイに基づいて、無償のダイヤ(以下、「無償ダイヤ」と記載)を取得することもできる。無償ダイヤも、有償ダイヤと同じように、各種のゲーム処理の実行に用いることができる。
本ゲームでは、異なるユーザが、自身が保有する有償ダイヤを無償ダイヤに変換して互いに贈与し合うことができる。以下では、3名のユーザA、B、およびCが、それぞれ自身のユーザ端末100を用いて、有償ダイヤを無償ダイヤに変換した上で互いに贈与したり受領したりする例を説明する。本開示では、ユーザA~Cが用いるユーザ端末100を、それぞれユーザ端末100A~100Cと表記する。
図3は、ある実施の形態に係るテーブル31を示す図である。テーブル31は、ユーザに関連付けられるダイヤの数量を管理するテーブルであり、ユーザ情報133およびユーザ情報233の一種として記憶部120および記憶部230に形成されている。本開示では、ユーザA~Cのそれぞれが保有等するダイヤを管理するテーブルを、テーブル31A~31Cと表記する。図3には、これらのうちテーブル31Aおよび31Bを図示する。テーブル31Aは、ユーザ端末100Aの記憶部130と、記憶部230とに形成されている。テーブル31Bは、ユーザ端末100Bの記憶部130と、記憶部230とに形成されている。テーブル31Cは、ユーザ端末100Cの記憶部130と、記憶部230とに形成されている。
テーブル31は、ユーザ欄、有償保有欄、無償保有欄、受領欄を有する。ユーザ欄は、ユーザ端末100を用いるユーザを識別するための識別子を記憶する。有償保有欄は、ユーザが保有する有償ダイヤの数量を格納する。無償保有欄は、ユーザが保有する無償ダイヤの数量を格納する。受領欄は、ユーザが他のユーザから受領した無償ダイヤの数量を格納する。図3では、テーブル31Aにおいて、ユーザ欄、有償保有欄、無償保有欄、受領欄に、それぞれ「A」、「80」、「20」、および「0」が格納される。テーブル31Bにおいて、ユーザ欄、有償保有欄、無償保有欄、受領欄に、それぞれ「B」、「0」、「0」、および「0」が格納される。
(処理フロー)
図4は、ある実施の形態に係るユーザ端末100Aが、ゲームプログラム131に基づいて実行する処理の流れと、サーバ200が、ゲームプログラム231に基づいて実行する処理の流れとを示すシーケンス図である。図4にてユーザ端末100Aが実行する処理として示す一連の処理の一部又は全部が、サーバ200によって実行されてもよい。また、図4にてサーバ200が実行する処理として示す一連の処理の一部又は全部が、ユーザ端末100Aによって実行されてもよい。
仮想通貨管理部112および仮想通貨管理部212は、ゲーム実行時のある時点において、ユーザA(第1ユーザ)が保有する有償ダイヤ(有償のゲーム媒体)の数量「80」を、テーブル31Aの有償保有欄に記憶済みである。ステップS1において、ユーザ端末100Aの操作受付部111は、ユーザAからユーザB(第2ユーザ)に有償ダイヤを無償ダイヤとして贈与するための贈与操作をユーザAから受け付ける。ここでは、ユーザが、贈与相手としてユーザBを選択し、かつ、贈与されるダイヤの数量として40個を選択したものとする。表示制御部115は、この操作に基づいて、図5に示すメッセージ41を表示部152に表示する。
図5は、ある実施の形態に係るメッセージ41を示す図である。メッセージ41は、他のユーザにダイヤを贈与することを説明するテキストと、贈与相手であるユーザBを表す情報「Bさん」と、ユーザBに贈与されるダイヤの数量を表す情報「40」とを含む。ユーザは、メッセージ41を視認してから、メッセージ41と共に表示されるOKボタンを押下する。
本開示のある局面において、ユーザ端末100は、第1ユーザが保有する有償のゲーム媒体である第1ゲーム媒体を無償のゲーム媒体である第2ゲーム媒体として、第1ユーザから第2ユーザに付与するステップを実行する。すなわち、ユーザAから贈与された有償ダイヤを、ユーザBは無償ダイヤとして受領する。
本開示のある局面において、サーバ200は、有償のゲーム媒体を利用可能なゲームを実行するためのサーバであって、第1ユーザが保有する有償のゲーム媒体である第1ゲーム媒体を無償のゲーム媒体である第2ゲーム媒体として、第1ユーザから第2ユーザに付与する手段(仮想通貨管理部212)を備える。
本開示のある局面において、第2ゲーム媒体の数量は前記第1ユーザに関連付けて記憶されない。
ステップS2において、仮想通貨管理部112は、贈与操作、すなわちOKボタンの押下に応答して、贈与情報をサーバ200へ送信する。贈与情報は、一例として、贈与操作を行ったユーザを示す情報、贈与相手を示す情報、贈与される有償ダイヤの数量を示す情報を含む。本実施形態の例では、それぞれ、「ユーザAのユーザID」、「ユーザBのユーザID」、「40」である。
図6は、ある実施の形態に係るテーブル31を示す図である。ステップS11において、仮想通貨管理部212は、贈与情報に基づいて、ユーザAが保有する有償ダイヤの数量を更新する。詳細には、図6に示すように、ユーザ端末100Aの有償保有欄に記憶される数量「80」を、この数量から贈与分の数量「40」を減算した数量「40」に更新する。
なお、図4には示していないが、仮想通貨管理部212は、ユーザAからユーザBに贈与されたダイヤの数量「40」を、図6に示すようにテーブル31Bの受領欄に記憶する。このように、ユーザAがユーザBに贈与した変換後の無償ダイヤの数量は、テーブル31Aで管理せず、一方で、ユーザBがユーザAから贈与された無償ダイヤの数量は、テーブル31Bで管理する。
ステップS12において、仮想通貨管理部212は、ステップS11の処理によりテーブル31Aに格納される情報を更新したことに基づく更新情報を生成する。図6の例において、該更新情報は、有償保有欄に格納されるダイヤの数量が「80」から「40」に更新されたことを示す情報を含む。仮想通貨管理部212は、該更新情報をユーザ端末100Aへ送信する。
なお、図4には示していないが、仮想通貨管理部212は、テーブル31Bに格納される情報を更新したことに基づく更新情報を生成する。図6の例において、該更新情報は、受領欄に格納されるダイヤの数量が「0」から「40」に更新されたことを示す情報を含む。仮想通貨管理部212は、該更新情報をユーザ端末100Bへ送信する。
ステップS3において、仮想通貨管理部112は、受信した更新情報に基づいて、保有する有償ダイヤの数量を更新する。詳細には、テーブル31Aの有償保有欄に記憶されるダイヤの数量「80」を「40」に更新する。
なお、図4には示していないが、ユーザ端末100Bの仮想通貨管理部112は、受信した更新情報に基づいて、贈与されたダイヤの数量を更新する。詳細には、テーブル31Bの受領欄に、ユーザAから贈与されたダイヤの数量「40」を記憶する。
このように、ユーザの操作(例えば、贈与操作)に基づいて、サーバ200で管理されるテーブル31におけるダイヤの数量が更新される。さらに、各ユーザ端末100で管理されるテーブル31におけるダイヤの数量が、サーバ200で管理される更新後のテーブル31に同期される。
以上の処理によって、本ゲームにおいて次のような利点が生ずる。本ゲームにおいて、他のユーザに贈与したゲーム媒体を根拠とする各種対応が可能になるという利点が生ずる。例えば、ユーザが保有する未消費の有償ダイヤに相当する金銭を返金する必要が生じた場合、返金処理が可能になる。具体的には、ユーザAがユーザBに贈与した有償ダイヤ(以下、「贈与ダイヤ」と記載する場合がある)は、無償ダイヤとしてユーザBに贈与されるため、返金義務が発生しないダイヤとなる。このため、ゲームシステム1は、ユーザAからユーザBへのダイヤの贈与が発生したとしても、返金処理においてその贈与を考慮する必要が無い。結果として、有償のゲーム媒体を新たな用途、すなわち贈与に用いることを可能としても、有償のゲーム媒体を贈与に用いない場合と同様にユーザAに対して返金することができる。なお、ゲームシステム1は、返金対象となった贈与ダイヤについて、返金後は、贈与ダイヤが消費された場合と同様に扱えばよい。贈与ダイヤが消費された場合の処理については後述する。
なお、ユーザAが保有する有償ダイヤが、より価値の低い無償ダイヤに変換されてユーザBに贈与されることから、ユーザBは無償ダイヤを贈与されたことで何か損をしたような気持ちになることが懸念される。しかし、こうしたダイヤの価値低減は、ユーザBにとってはユーザAからダイヤを貰うための手数料としての位置づけにあると言えるので、このような趣旨をユーザBに説明することによって、有償ダイヤが贈与時に無償ダイヤに変換されることへの納得感をユーザBに与えることができる。
(報酬付与)
本開示のある局面において、ユーザ端末100は、第2ユーザへの第2ゲーム媒体の付与に基づいて、第1ユーザに第1報酬を付与するステップを実行する。すなわち、ユーザBにダイヤを贈与したことに基づいて、ユーザ端末100は、ユーザAに報酬を付与する。
ステップS13において、ユーザAからユーザBにダイヤを贈与したことに基づいて、報酬付与部213は、ユーザAの報酬情報を更新する。報酬情報は、例えば、各ユーザに付与された報酬を示す情報を、各ユーザを示す情報に関連付けた情報である。報酬情報は、ユーザ情報233の一種として記憶部230に記憶される。ステップS14において、報酬付与部213は、ユーザAの報酬情報を更新したことに基づいて、ユーザ端末100Aに、報酬付与情報を送信する。報酬付与情報は、例えば、ユーザに付与された報酬を示す情報である。
ステップS4において、報酬付与部113は、受信した報酬付与情報に基づいて、ユーザAに報酬を付与する。報酬として、例えば、ゲームにおいて使用可能な各種のゲーム媒体(ゲームアイテム)が挙げられる。ユーザAに報酬を付与する条件として、(1)ユーザAとゲーム状況が近いユーザBにダイヤを贈与すること、(2)ゲームの上級者であるユーザAが、初心者であるユーザBにダイヤを贈与すること、(3)ユーザAと位置情報が近いユーザBにダイヤを贈与すること、などが挙げられる。このような報酬付与により、有償ダイヤを無償ダイヤに変換した上で他のユーザに贈与する行動を、ユーザAに促せる。結果、有償ダイヤを購入するための積極的な課金行動をユーザAに動機付けることができる。
図7は、ある実施の形態に係るテーブル31を示す図である。ユーザBが、ユーザAから受領した無償ダイヤを25個消費するための操作を受け付けたとする。この場合、ユーザ端末100Bの仮想通貨管理部112は、ユーザBが消費したダイヤの数量「25」を示す消費情報を、サーバ200へ送信する。仮想通貨管理部212は、受信した消費情報に基づいて、図7に示すように、テーブル31Bの受領欄に記録される「40」を、40から25を減算した値である「15」に更新する。
なお、消費情報は、ダイヤを消費することに起因して、ゲームシステム1にて実行される処理の実行命令を含んでいてもよい。該処理は、例えば、ユーザに各種のゲーム媒体を付与するための抽選処理であってもよい。
仮想通貨管理部212は、テーブル31Bに格納される情報を更新したことに基づく更新情報を生成する。図7の例において、該更新情報は、受領欄に格納されるダイヤの数量が「40」から「15」に更新されたことを示す情報を含む。仮想通貨管理部212は、該更新情報をユーザ端末100Bへ送信する。
ユーザ端末100Bの仮想通貨管理部112は、受信した更新情報に基づいて、ユーザAから受領したダイヤの数量を更新する。詳細には、テーブル31Bの受領欄に記憶されるダイヤの数量「40」を「15」に更新する。
このようにして、ユーザ端末100Bはダイヤの受領数をテーブル31Bにおいて管理する。一方、ユーザ端末100Aの仮想通貨管理部112は、ユーザBに付与したダイヤが消費されても、その情報をテーブル31Aに反映させない。言い換えれば、ユーザ端末100Aは、ユーザBが受領ダイヤを消費したことを把握せずに済むので、テーブル31Aにおけるダイヤ数量の管理を簡略化できる。
(無償ダイヤの受領)
図8は、ある実施の形態に係るユーザ端末100Aが、ゲームプログラム131に基づいて実行する処理の流れと、サーバ200が、ゲームプログラム231に基づいて実行する処理の流れとを示すシーケンス図である。図8にてユーザ端末100Aが実行する処理として示す一連の処理の一部又は全部が、サーバ200によって実行されてもよい。また、図8にてサーバ200が実行する処理として示す一連の処理の一部又は全部が、ユーザ端末100Aによって実行されてもよい。なお、本実施形態では、図8に示す各処理は、図4に示す各処理の後に実行されるものとして説明するが、図4に示す各処理と図8に示す各処理との順序は、この例に限定されない。
図9は、ある実施の形態に係るテーブル31を示す図である。図9では、テーブル31Aにおいて、ユーザ欄、有償保有欄、無償保有欄、受領欄に、それぞれ「A」、「40」、「20」、および「0」が格納される。テーブル31Cにおいて、ユーザ欄、有償保有欄、無償保有欄、受領欄に、それぞれ「C」、「200」、「0」、および「0」が格納される。
ユーザCが、ユーザAに有償ダイヤを100個贈与するための贈与操作を、ユーザ端末100Cに入力したとする。ユーザ端末100Cは、この操作に基づいて、贈与情報をサーバ200へ送信する。該贈与情報は、一例として、ユーザAのIDと、ユーザCのIDと、ユーザCが贈与するダイヤの数量「100」と、を含む。
本開示のある局面において、ユーザ端末100は、第3ユーザから第1ユーザへの有償のゲーム媒体を無償のゲーム媒体とした第3ゲーム媒体の付与を受け付けるステップと、第3ゲーム媒体の数量を、第1ユーザに関連付けて記憶するステップと、を実行する。本開示のある局面において、ユーザ端末100は、記憶するステップでは、第3ユーザと関連付けずに第3ゲーム媒体を記憶する。
図10は、ある実施の形態に係るテーブル31を示す図である。ステップS31において、仮想通貨管理部212は、贈与情報に基づいて、ユーザCがユーザAに贈与したダイヤの数量を、図10に示すようにユーザAに関連付けてテーブル31Aに記憶する。詳細には、ユーザCから受領したダイヤの数量「100」を、テーブル31Aの受領欄に記憶する。
また、仮想通貨管理部212は、ユーザCが保有する有償ダイヤの数量を更新する。詳細には、ユーザAへの100個の有償ダイヤの贈与に基づいて、テーブル31Cの有償保有欄に記憶されるダイヤの数量「200」を「100」に更新する。
ステップS32において、仮想通貨管理部212は、ステップS31の処理によりテーブル31Aに格納される情報を更新したことに基づく更新情報を生成する。図10の例において、該更新情報は、受領欄に格納されるダイヤの数量が「0」から「100」に更新されたことを示す情報を含む。仮想通貨管理部212は、該更新情報をユーザ端末100Aへ送信する。
なお、図8には示していないが、仮想通貨管理部212は、テーブル31Cに格納される情報を更新したことに基づく更新情報を生成する。図10の例において、該更新情報は、有償保有欄に格納されるダイヤの数量が「200」から「100」に更新されたことを示す情報を含む。仮想通貨管理部212は、該更新情報をユーザ端末100Cへ送信する。
ステップS21において、ユーザ端末100Aの仮想通貨管理部112は、受信した更新情報に基づいて、ユーザCから贈与したダイヤの数量を、図10に示すようにテーブル31Aに記憶する。仮想通貨管理部112は、ユーザCから受領したダイヤの数量「100」を、テーブル31Aの受領欄に記憶する。この情報は、ユーザAの識別子「A」が格納されるテーブル31Aに記憶されることで、ユーザAに関連付けられるのである。
図11は、ある実施の形態に係るメッセージ42を示す図である。ユーザ端末100Aの表示制御部115は、テーブル31を更新したことに基づいて、図11に示すメッセージ42を表示部152に表示する。メッセージ42は、ユーザC(第3ユーザ)からユーザAに100個のダイヤが贈与されたことを説明する情報を含む。これにより、ユーザAは、ユーザCから100個のダイヤが贈与されたことを認識することができる。表示制御部115は、例えば、操作受付部111がメッセージ42に含まれるOKボタンを選択する操作を受け付けた場合、メッセージ42を非表示とする。
なお、図8には示していないが、ユーザ端末100Cの仮想通貨管理部112は、ユーザAに贈与したダイヤの数量「100」をテーブル31Cに記憶することなく、ユーザAへのダイヤ贈与に基づいて、テーブル31Cの有償保有欄に記憶されるダイヤの数量を更新する。詳細には、有償保有欄に記憶される数量「200」を、200から100を減算した数量「100」に更新する。このようにして、ユーザ端末100Aはダイヤの受領数をテーブル31Aにおいて管理するが、ユーザ端末100Cは、ユーザAに付与したダイヤの数量をテーブル31Cにおいて管理しない。これにより、テーブル31Cにおけるダイヤ数量の管理を簡略化できる。
さらには、ユーザ端末100Aおよびサーバ200は、ユーザAのダイヤの受領数を、贈与元のユーザCと関連付けることなくそれ単独でテーブル31Aにおいて管理する。これにより、受領数を管理する手間を小さくできる。例えば、このあとユーザAがユーザBから無償ダイヤを受領した場合、その受領数を、テーブル31Aの受領欄に記憶される受領数量に加算するだけで、追加贈与によりユーザAに関連付けられる無償ダイヤの受領総数をテーブル31Aに正しく反映させることができる。
(報酬付与)
本開示のある局面において、ユーザ端末100は、第3媒体の付与の受け付けに基づいて、第1ユーザに第1報酬を付与するステップを実行する。すなわち、ユーザCからダイヤを贈与されたことに基づいて、ユーザ端末100は、ユーザAに報酬を付与する。
ステップS33において、ユーザCからユーザAにダイヤが贈与されたことに基づいて、報酬付与部213は、ユーザAの報酬情報を更新する。ステップS34において、報酬付与部213は、ユーザAの報酬情報を更新したことに基づいて、ユーザ端末100Aに、報酬付与情報を送信する。
ステップS22において、報酬付与部113は、受信した報酬付与情報に基づいて、報酬をユーザAに付与する。報酬は、例えばゲームにおいてユーザAが利用可能な各種のゲームアイテムであればよい。このような報酬付与によって、ユーザAは、ユーザCが保有する有償ダイヤを無償ダイヤよりも価値の高い有償ダイヤとしては受領できない代わりに、無償ダイヤと共に、変換による価値減を補填する報酬を取得する。これにより、有償ダイヤが無償ダイヤに変換された上で受領することへの納得感を、ユーザAに与えることができる。
図12は、ある実施の形態に係るゲーム画面を示す図である。表示制御部115は、ユーザCからユーザAにダイヤが贈与された後、ユーザAによる所定の操作に応答して、図12に示すゲーム画面を表示部152に表示する。図12のゲーム画面は、表示欄51~54を含む。表示欄51~53は、ユーザAが保有等するダイヤの数量が表示される領域である。表示欄54は、ユーザが選択可能なキャラクタ抽選の一覧が表示される領域である。
表示制御部115は、テーブル31Aに記憶される各ダイヤの数量を、対応する表示欄51~53のいずれかに表示する。すなわち、有償保有欄に記憶される有償ダイヤの数量「40」と、無償保有欄に記憶される無償ダイヤの数量「20」とを、それぞれ表示欄51および表示欄52に表示する。さらに、受領欄に記憶される無償ダイヤの数量「100」を表示欄53に表示する。
本開示のある局面において、ユーザ端末100は、第1ユーザが保有する無償のゲーム媒体である第4ゲーム媒体の数量を、第1ユーザに関連付けて記憶するステップを実行し、ゲームの表示画面内において、第3ゲーム媒体の数量の表示領域(表示欄52)と第4ゲーム媒体の数量の表示領域(表示欄53)とが少なくとも区別されている。例えば、表示欄52と表示欄53とが、図12のゲーム画面では互いに区別されている。ユーザAは、これらの各欄を視認することで、自身が保有する無償ダイヤの数量と、他のユーザから受領した無償ダイヤの数量とを、容易に見分けることができる。
表示欄54には、選択肢55および56が表示される。選択肢55は、常設抽選を実行するための項目であり、選択肢56は、期間限定抽選を実行するための項目である。常設抽選は、任意に期間中にいつでも実行できるキャラクタ抽選であり、期間限定抽選はある特定の期間内にのみ実行可能なキャラクタ抽選である。期間限定抽選は、ユーザAが他のユーザから受領したダイヤを用いないと実行できない抽選でもある。選択肢55および56には、対応する抽選を実行する場合に用いられるダイヤの数量を示すテキストを含む。表示欄54には、選択肢56に対応する抽選には受領ダイヤのみを使用できることを説明するテキストも表示される。ここでは、ユーザAが選択肢56を選択したものとする。
本開示のある局面において、ユーザ端末100は、第1ユーザが保有する無償のゲーム媒体である第4ゲーム媒体の数量を、第1ユーザに関連付けて記憶するステップと、第3ゲーム媒体の消費に基づいてゲーム処理を実行するステップと、を実行し、ゲーム処理は、第4ゲーム媒体の消費に基づいて実行できないゲーム処理である。すなわち、ステップS23において、抽選実行部114は、ユーザAの操作に応答して、ユーザAの受領ダイヤを25個消費することによって、期間限定抽選(ゲーム処理)を実行する。期間限定抽選は、ユーザAが保有する有償ダイヤまたは無償ダイヤを消費して実行することができない特別な抽選である。
詳細には、抽選実行部114は、ユーザAの操作に応答して、消費情報を生成する。該消費情報は、例えば、ユーザAがユーザCから受領したダイヤを25個消費することと、期間限定抽選を実行するための実行命令とを含む。ステップS24において、抽選実行部114は、消費情報をサーバ200へ送信する。
ステップS35において、抽選実行部214は、受信した消費情報に基づいて期間限定抽選を実行し、ユーザに付与するキャラクタを決定する。
ステップS34において、仮想通貨管理部212は、受信した消費情報に基づいて、テーブル31Aの受領欄に記憶される無償ダイヤの数量を図13に示すように更新する。
図13は、ある実施の形態に係るテーブル31を示す図である。本開示のある局面において、ユーザ端末100は、第3ゲーム媒体の数量は、第3ユーザから付与された無償のゲーム媒体のうちの未消費の無償のゲーム媒体の数量であり、第1ユーザにより第3ゲーム媒体が消費されたことに基づいて、第3ゲーム媒体の数量を更新するステップを実行する。すなわち、ステップS36において、図13に示すように、仮想通貨管理部212は、テーブル31Aの受領欄に記憶されるダイヤの数量を、更新前の「100」から「25」を減算した「75」に更新する。仮想通貨管理部212は、ステップS36の処理によりテーブル31Aに格納される情報を更新したことに基づく更新情報を生成する。該更新情報は、受領欄に格納されるダイヤの数量が「100」から「75」に更新されたことを示す情報を含む。ステップS37において、仮想通貨管理部212は、該更新情報を、期間限定抽選に実行の結果決定されたキャラクタを示すキャラクタ情報とともに、ユーザ端末100Aへ送信する。
ステップS25において、抽選実行部114は、抽選結果としてのキャラクタをユーザAに付与する。詳細には、抽選実行部114は、受信したキャラクタ情報が示すキャラクタを、ユーザAが獲得したキャラクタとして管理する。一例として、抽選実行部114は、受信したキャラクタ情報を、ユーザが獲得したキャラクタの情報としてゲーム情報132に追加する。
ステップS26において、仮想通貨管理部112は、更新情報に基づいて、ユーザCから受領した有償ダイヤの数量を更新する。詳細には、テーブル31Aの受領欄に記憶されるダイヤの数量「100」を「75」に更新する。
一方、仮想通貨管理部212は、期間限定抽選実行のために消費した受領ダイヤの数量「25」を、ユーザ端末100Cに通知しない。したがって、ユーザ端末100Cは、ユーザAがユーザCから受領した無償ダイヤを消費したとしても、消費されたダイヤの数量に基づいてテーブル31Cを更新することはない。
期間限定抽選では、常設抽選に比べて、レアリティの高いキャラクタが選択される確率が高いなど、ユーザAにとって有利な抽選である。このような期間限定抽選を、他のユーザから受領したダイヤでないと実行できないようにすることで、受領した無償ダイヤにはユーザA自身が取得した無償ダイヤには無い特別な価値があることを、ユーザAに理解させることができる。これにより、他のユーザから無償ダイヤを受領できることの喜びをユーザAに与えることができる。
抽選実行部214は、期間限定抽選による各キャラクタが選択される確率を、ユーザAへの期間限定抽選の提供を開始してからの経過時間に基づいて変動するようにしてもよい。例えば、特定のキャラクタが選択される確率を、抽選提供開始時点からの時間経過に従って低くする。これにより、期間限定抽選をできるだけ早く実行するように各ユーザを動機付けることができるので、受領ダイヤの早期消費を実現することができる。
(その他の例)
本開示のある局面において、ダイヤの贈与は、ユーザAが有償ダイヤを購入した時点でのみ実行可能としてもよい。例えば、ユーザAが有償ダイヤを購入した場合、課金処理の完了に続いて、購入した有償ダイヤの贈与をユーザに問い合わせるメッセージを表示部152に表示する。ユーザはこれを受けて、贈与先のユーザおよび贈与個数をタッチスクリーン15に入力する。仮想通貨管理部112は、これらの入力情報に基づいて、ユーザAが購入した有償ダイヤを無償ダイヤに変換して他のユーザに贈与する。本態様では、ユーザが保有する無償ダイヤを贈与する機会がユーザに与えられないので、ユーザが保有済みの無償ダイヤそのものの贈与を禁止することができる。さらには、ユーザAが他のユーザから受領した無償ダイヤをさらに他のユーザに贈与することをも禁止できる。
上述した例では、ゲームシステム1は、贈与操作、有償ダイヤを消費するための操作など、テーブル31に格納されるダイヤの数量が変更(更新)される操作を受け付けた場合、まずサーバ200で管理されるテーブル31を更新し、その後、各ユーザ端末100で管理されるテーブル31を、サーバ200で管理される、更新後のテーブル31に同期させていた。これに対し、ゲームシステム1は、ユーザ端末100で上記の操作を受け付けた場合、まず、該ユーザ端末100で管理されるテーブル31を更新し、その後、ユーザ端末100が更新情報をサーバ200へ送信することにより、サーバ200で管理されるテーブル31を更新(同期)してもよい。この例において、サーバ200は、テーブル31を更新した後、更新に関係するユーザ端末100に更新情報を送信し、該ユーザ端末100のテーブル31を更新させる。「更新に関係するユーザ端末100」とは、例えば、ダイヤの贈与相手のユーザ端末100である。
また、テーブル31は、各ユーザ端末100の記憶部130のみに形成され、サーバ200の記憶部230には形成されない構成であってもよい。この例において、各ユーザ端末100の仮想通貨管理部112は、テーブル31に格納されるダイヤの数量が変更(更新)される操作を受け付けた場合、自端末のテーブル31を更新し、更新情報をサーバ200へ送信してもよい。該更新情報は、一例として、ダイヤの数量の更新を示す情報に加え、あるユーザ端末100のユーザのユーザIDを含む。該ユーザIDは、例えば、贈与相手を示すユーザIDである。また、該ユーザIDは、例えば、消費したダイヤを贈与してくれたユーザを示すユーザIDである。サーバ200は、受信した更新情報に含まれるユーザIDが示すユーザを特定する。そして、サーバ200は、特定したユーザのユーザ端末100に更新情報を送信する。これにより、ダイヤの贈与数および受領数を、各ユーザ端末100において正確に把握することができる。
また、テーブル31は、サーバ200の記憶部230のみに形成され、各ユーザ端末100の記憶部130には形成されない構成であってもよい。この例において、サーバ200は、ユーザ端末100へ更新情報を送信しない。また、この例において、ユーザ端末100は、テーブル31に格納されるダイヤの数量が変更(更新)される操作を受け付けた場合、サーバ200からテーブル31をダウンロードすることにより、ダイヤの数量を認識する構成であってもよい。
本開示のある局面において、ユーザAは、ダイヤ購入に必要や金銭を課金することによって、課金した金銭に相当する数量のダイヤをユーザBに直接贈与することもできる。この際、ユーザAには、直接贈与のための課金金額から一定額割り引かれた金銭に相当する何らかのゲーム内価値が還元される。例えば、仮想通貨管理部112は、ユーザAが1000円を課金するための操作に応答して、1000円分の有償ダイヤをユーザBに贈与するための贈与情報をサーバ200へ送信する。仮想通貨管理部212は、受信した贈与情報に基づいて、1000円に相当する数量の有償ダイヤをユーザAではなくユーザBに関連付けることによってユーザBに付与する。詳細には、仮想通貨管理部212は、テーブル31Bの有償保有欄の数量を更新する。報酬付与部213は、このような贈与に基づいて、割引分の500円に相当するゲームアイテムを示す情報をユーザ端末100Aに送信する。報酬付与部113は、受信した情報に基づいて、ゲームアイテムをユーザAに付与する。一例として、報酬付与部113は、受信したゲームアイテムを示す情報を、ユーザが獲得したゲームアイテムの情報としてゲーム情報132に追加する。これにより、ユーザAは、実質的に500円の課金により1000円分のダイヤをユーザBに直接贈与することができるので、過去にユーザAが購入済みの有償ダイヤをユーザBに贈与する場合に比べてお得にダイヤを贈与できる。結果、ユーザBに有償ダイヤを直接贈与するための課金をするように、ユーザAを動機付けることができる。
本開示のある局面において、ユーザ端末100Aの仮想通貨管理部112は、ユーザBに贈与した変換後の無償ダイヤの数量を、贈与相手であるユーザBに関連付けて、テーブル31Aの受領欄に記憶してもよい。例えば、贈与ダイヤの数量「40」にユーザBの識別子「B」を関連付けて、テーブル31Aに記憶する。ユーザ端末100Bの仮想通貨管理部112は、ユーザAから受領した無償ダイヤの数量を、贈与元のユーザAに関連付けて、テーブル31Bの受領欄に記憶してもよい。例えば、受領ダイヤの数量「40」を、ユーザAの識別子「A」に関連付けて、テーブル31Bに記憶する。
〔ソフトウェアによる実現例〕
制御部110および210の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部110、もしくはその両方を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラム及び各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)又は記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下の通りである。
(項目1) ゲームプログラムを説明した。本開示のある局面によると、ゲームプログラム(131)は、有償のゲーム媒体(ダイヤ)を利用可能なゲームを実行するためのゲームプログラムである。ゲームプログラムは、第1ユーザが使用するコンピュータに、第1ユーザが保有する有償のゲーム媒体である第1ゲーム媒体を無償のゲーム媒体である第2ゲーム媒体として、第1ユーザから第2ユーザに付与するステップを実行させる。
(項目2) (項目1)において、ゲームプログラムは、コンピュータに、第3ユーザから第1ユーザへの有償のゲーム媒体を無償のゲーム媒体とした第3ゲーム媒体の付与を受け付けるステップと、第3ゲーム媒体の数量を、第1ユーザに関連付けて記憶するステップと、を実行させる。
(項目3) (項目2)において、記憶するステップでは、第3ユーザと関連付けずに第2ゲーム媒体を記憶する。
(項目4) (項目2)または(項目3)において、ゲームプログラムは、コンピュータに、第1ユーザが保有する無償のゲーム媒体である第4ゲーム媒体の数量を、第1ユーザに関連付けて記憶するステップと、第3ゲーム媒体の消費に基づいてゲーム処理を実行するステップと、を実行させ、ゲーム処理は、第4ゲーム媒体の消費に基づいて実行できないゲーム処理である。
(項目5) (項目2)から(項目4)のいずれかにおいて、ゲームプログラムは、コンピュータに、第1ユーザが保有する無償のゲーム媒体である第4ゲーム媒体の数量を、第1ユーザに関連付けて記憶するステップを実行させ、ゲームの表示画面内において、第3ゲーム媒体の数量の表示領域と第4ゲーム媒体の数量の表示領域とが少なくとも区別されている。
(項目6) (項目2)から(項目5)のいずれかにおいて、ゲームプログラムは、コンピュータに、第3ゲーム媒体の付与の受け付けに基づいて、第1ユーザに第1報酬を付与するステップを実行させる。
(項目7) (項目2)から(項目6)のいずれかにおいて、第3ゲーム媒体の数量は、第3ユーザから付与された無償のゲーム媒体のうちの未消費の無償のゲーム媒体の数量であり、第1ユーザにより第3ゲーム媒体が消費されたことに基づいて、第3ゲーム媒体の数量を更新するステップを実行させる。ゲーム
(項目8) (項目1)から(項目7)のいずれかにおいて、ゲームプログラムは、コンピュータに、第2ユーザへの第2ゲーム媒体の付与に基づいて、第1ユーザに第1報酬を付与するステップを実行させる。
(項目9) (項目1)から(項目8)のいずれかにおいて、第2ゲーム媒体の数量は第1ユーザに関連付けて記憶されない。
(項目10) サーバ装置を説明した。本開示のある局面によると、サーバ装置(サーバ200)は、有償のゲーム媒体(ダイヤ)を利用可能なゲームをユーザに実行させるためのサーバ装置である。サーバ装置は、第1ユーザが保有する有償のゲーム媒体を無償のゲーム媒体として、第1ユーザから第2ユーザに付与する手段を備える。
(項目10) 方法を説明した。本開示のある局面によると、方法は、第1ユーザが使用するコンピュータ(ユーザ端末100)が、有償のゲーム媒体を利用可能なゲームを実行するためのゲームプログラム(131)を実行する方法である。方法は、ゲームプログラムが、第1ユーザが保有する有償のゲーム媒体である第1ゲーム媒体を無償のゲーム媒体である第2ゲーム媒体として、第1ユーザから第2ユーザに付与するステップを含む。
(項目11) 第1ユーザが使用する情報処理装置を説明した。本開示のある局面によると、情報処理装置(ユーザ端末100)は、ゲームプログラム(131)を記憶するメモリ(11)と、ゲームプログラムを実行することにより、情報処理装置の動作を制御するプロセッサ(10)と、を備える。制御部は、第1ユーザが保有する有償のゲーム媒体である第1ゲーム媒体を無償のゲーム媒体である第2ゲーム媒体として、第1ユーザから第2ユーザに付与する。