〔実施形態1〕
本開示に係るゲームシステムは、ユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
(ゲームシステム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は、例えば、マウス又はキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
ユーザ端末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は、ゲームに参加する各ユーザ端末100と通信して、ユーザ端末100同士のやりとりを仲介する機能を有していてもよい。サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、及び入出力IF24等の協働によって、制御部210及び記憶部220として機能する。
記憶部120及び記憶部220は、ゲームプログラム131、ゲーム情報132及びユーザ情報133を格納する。ゲームプログラム131は、ユーザ端末100及びサーバ200で実行するゲームプログラムである。ゲーム情報132は、制御部110及び制御部210がゲームプログラム131を実行する際に参照するデータである。ユーザ情報133は、ユーザのアカウントに関するデータである。記憶部220において、ゲーム情報132及びユーザ情報133は、ユーザ端末100ごとに格納されている。
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム131を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ユーザ端末100に各種データ及びプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部又は全部をユーザ端末100から受信する。ゲームがマルチプレイゲームである場合には、制御部210は、ユーザ端末100からマルチプレイの同期の要求を受信して、同期のためのデータをユーザ端末100に送信してもよい。
制御部210は、ゲームプログラム131の記述に応じて、ユーザ選択部211、レア度選択部212、武器提供部213、優先度設定部214、および通信部215として機能する。制御部210は、実行するゲームの性質に応じて、ユーザ端末100におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能する。
ユーザ選択部211は、一群のユーザの中から複数のユーザを選択する。レア度選択部212は、複数のレア度の中から、複数のユーザのそれぞれに関連付けるレア度を選択する。レア度の詳細は後述する。武器提供部213は、選択されたレア度の武器をユーザに提供する。優先度設定部214は、複数のユーザのそれぞれにレア度が関連付けられた場合、各ユーザに設定される各レア度に対応する優先度を再設定する。優先度の詳細は後述する。通信部215は、ユーザ端末100との間で各種のデータ、信号、および情報を送受信する。
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、表示制御部112、および通信部113として機能する。制御部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は、タッチスクリーン15の表示部152に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部112は、各種オブジェクトのモーションを示すアニメーションを含むゲーム画面を、表示部152に表示してもよい。また、表示制御部112は、UI(User Interface)オブジェクトを、ゲーム画面に重畳して描画してもよい。
通信部113は、サーバ200との間で各種のデータ、信号、および情報を送受信する。
図2に示すサーバ200およびユーザ端末100の機能は、一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
(ゲーム概要)
ゲームシステム1に基づくゲームは、ユーザによって操作されるキャラクタ(第1キャラクタ、武器)が登場する任意のゲームである。このゲームは、例えば、ユーザによって操作されるキャラクタと、ゲームシステム1によって制御される他のキャラクタ(第2キャラクタ、武器)とが戦闘するゲームである。ユーザは、複数の異なるキャラクタを保有することができる。ユーザは、保有するキャラクタ群のうち少なくとも1つのキャラクタを選択して、ゲーム中に利用することができる。
図3は、実施形態1に係るゲーム画面301を示す図である。表示制御部112は、ゲームのプレイ中に、味方キャラクタ31A〜31Dが敵キャラクタ41と戦闘するゲーム画面301を、例えば図3に示すように表示部152に表示する。ゲーム画面301は、味方キャラクタ31A〜31Dおよび敵キャラクタ41を少なくとも含む。ゲーム画面301は、4名のユーザA〜Dが協力してマルチプレイするゲームステージを示す。ユーザAは、マルチプレイのホストであり、ユーザB〜Dは、マルチプレイのゲストである。味方キャラクタ31A〜31Dは、ユーザA〜Dにそれぞれ関連付けられる。ユーザA〜Dは、味方キャラクタ31A〜31Aをそれぞれ操作することによって、味方キャラクタ31A〜31Dを敵キャラクタ41と戦闘させる。
ゲームシステム1は、マルチプレイに参加するユーザA〜Dに、マルチプレイに利用可能な武器を提供する。図3では、味方キャラクタ31A〜31Dは、同一の武器51を所持しており、それぞれが武器51を用いて敵キャラクタ41を攻撃する。
ゲームシステム1に基づくゲームは、特定のジャンルのゲームに限らず、あらゆるジャンルのゲームであり得る。ゲームシステム1に基づくゲームは、例えば、テニス、卓球、ドッジボール、野球、サッカー、およびホッケーなどのスポーツを題材としたスポーツゲームであってもよい。あるいは、パズルゲーム、クイズゲーム、RPG、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、およびアクションゲームなどであってもよい。
ゲームシステム1に基づくゲームは、特定のプレイ形態に対応したゲームに限らず、あらゆるプレイ形態に対応したゲームであり得る。ゲームシステム1に基づくゲームは、例えば、単一のユーザがプレイするシングルプレイゲーム、および、複数のユーザがプレイするマルチプレイゲームであり得る。ゲームシステム1に基づくゲームは、複数のユーザが対戦する対戦ゲーム、および、複数のユーザが協力する協力プレイゲームなどでもあり得る。
ゲームにおいて、マルチプレイ時に利用可能な各武器は、複数のレア度(希少度、選択対象)のうちその武器に固有のレア度を有する。複数のレア度は、ゲームにおいて利用される要素である。レア度は、ゲームにおける武器の希少性を表す一種のゲームパラメータである。武器のレア度が高いほど、ゲームにおけるその武器の希少性が高いことを意味する。複数のレア度は、Sレア(第1希少度)、Aレア(第2希少度)、Bレア(第3希少度)、およびCレア(第4希少度)の何れかに分類される。BレアはCレアよりも高いレア度であり、AレアはBレアよりも高いレア度であり、SレアはAレアよりも高いレア度である。武器のレア度がより高いほど、ゲームにおける武器の価値はより高い。例えば、武器のレア度がより高いほど、武器の性能はより高い。
ゲームにおいて、各レア度に、固有の確率が設定されている。あるレア度に設定される確率は、1回のマルチプレイ時に、そのレア度の武器がユーザに提供される確率である。武器のレア度が高いほど、マルチプレイ時にその武器が提供される確率は低い。言い換えれば、武器のレア度が高いほど、ゲームのマルチプレイ時にその武器がユーザAに提供される可能性は低い。
本開示では、各レア度に設定される確率は、0以上かつ1未満のいずれかの値を取る。本開示では、一例として、Sレア、Aレア、Bレア、およびCレアに、0.1、0.2、0,3、および0.4の確率がそれぞれ設定される。各レア度に設定される確率に100を掛けた値は、その確率に対応する百分率に一致する。したがって、Sレア、Aレア、Bレア、およびCレアの各武器は、1回のマルチプレイ時に、それぞれ10%、20%、30、および40%の確率で各ユーザに提供される。
(マルチプレイの開始)
図4は、実施形態1に係るゲーム画面302を示す図である。表示制御部112は、ユーザAによる所定の操作が受け付けられた場合、ユーザAにマルチプレイの開始を確認するゲーム画面302を、例えば図4に示すように表示部152に表示する。ゲーム画面302は、メッセージ61、ボタン62、ボタン63、およびパネル64を含む。
メッセージ61は、ゲーム画面302に対するユーザAの操作を通じてユーザAがマルチプレイを開始できることをユーザAに説明するテキストを含む。ボタン62には、マルチプレイを開始させる機能が設定されている。サーバ200は、ボタン62に対するタップ操作が受け付けられた場合、ユーザAにマルチプレイに対応したステージをプレイさせるためのゲーム処理を開始する。ボタン63には、マルチプレイをキャンセルする機能が設定されている。ゲームシステム1は、ボタン63に対するタップ操作が受け付けられた場合、マルチプレイをキャンセルする。
パネル64は、マルチプレイに関する情報をユーザに通知するための領域である。パネル64を通じて通知される情報は、例えば、規定回数のマルチステージをユーザAがプレイした場合に、あるレア度の武器がユーザAに提供される回数の期待値である。図4では、表示制御部112は、ユーザAが10回のマルチステージをプレイした場合に、各レア度の武器が提供される回数の期待値を、各レア度に関連付けてパネル64に表示する。表示制御部112は、詳細には、ユーザAがマルチプレに対応したステージを10回プレイした場合に、Sレア、Aレア、Bレア、およびCレアの各武器が提供される回数の期待値として、それぞれ1回、2回、3回、および4回をパネル64に表示する。これらの期待値は、各レア度に設定される確率に応じた値である。
以下の例では、ユーザは、ボタン62に対するタップ操作を入力する。表示制御部112は、ボタン62に対するタップ操作が受け付けられた場合、マルチプレイが開始されることをユーザAに通知する特別な演出をゲーム画面302に施すことができる。通信部113は、ボタン62に対するタップ操作が受け付けられた場合、マルチプレイの開始をサーバ200に要求する要求情報をサーバ200に送信する。サーバ200において、通信部215は、ユーザ端末100から送信された要求情報を受信する。サーバ200は、要求情報が受信された場合、マルチプレイを開始するための各種の処理を実行する。
(優先度)
ゲームシステム1において、一群のユーザのそれぞれに対して、複数のレア度のそれぞれに対応する優先度が設定される。一群のユーザとは、ゲームシステム1に基づくゲームをプレイするためのアカウントをゲームシステム1に登録した各ユーザのことである。詳細には、一群のユーザのそれぞれに、Sレア、Aレア、Bレア、およびCレアに対応する各優先度が設定される。
サーバ200は、複数のレア度に設定される各確率と、マルチステージをプレイする複数のユーザにそれぞれ設定される各レア度に対応する各優先度とに基づいて、マルチプレイ時に各ユーザに提供する武器のレア度を選択する。優先度は、1回のマルチプレイ時にどのレア度の武器を各ユーザに提供するのかを決定する際に用いられるパラメータである。ゲームシステム1は、複数のレア度のそれぞれについて、マルチプレイに参加する複数のユーザのそれぞれに設定される同一のレア度の各優先度の合計を特定し、最も低い合計に対応するレア度を有する武器を、各ユーザに共通に提供する。詳しくは後述するが、マルチプレイに参加する各ユーザに設定される、提供された武器のレア度に対応する各優先度は、マルチプレイのたびに再設定される。
図5は、実施形態1に係るサーバ200が、ゲームプログラム131に基づいて実行する処理の流れを示すフローチャートである。図6は、実施形態1に係る複数のテーブル71を示す図である。複数のテーブル71は、一群のユーザと1対1の関係で対応している。複数のテーブル71のそれぞれは、一群のユーザのそれぞれに設定される複数のレア度のそれぞれに対応する各優先度を格納している。複数のテーブル71は、ユーザ情報133の一種として、記憶部220に記憶されている。図6には、全てのテーブル71のうち、ユーザA〜Gにそれぞれ対応するテーブル71A〜71Gのみを図示している。テーブル71A〜71Gは、対応するユーザA〜Gに設定される各レア度の各優先度を格納している。図6には示さないが、ユーザA〜G以外の他のユーザ(例えば、ユーザF〜ユーザNなど)に対応するテーブル71も、記憶部220に記憶されている。
ステップS1において、ユーザ選択部211は、一群のユーザの中から、マルチプレイに参加する複数のユーザを選択する。ユーザ選択部211は、ユーザAがマルチプレイのホストであることに基づいて、少なくともユーザAを含む4名のユーザを選択する。ユーザ選択部211は、例えば、ユーザAを選択すると共に、一群のユーザの中から残り3名のユーザを抽選によってランダムに選択する。ユーザ選択部211は、あるいは、ユーザAを選択すると共に、一群のユーザの中から残りの3名のユーザを、所定の規則に従って選択する。ここでは、ユーザA〜Dが選択されたものとする。
図7は、実施形態1に係る優先度の一覧を示す図である。レア度選択部212は、選択されたユーザA〜Dのそれぞれに設定されるSレア、Aレア、Bレア、およびCレアのそれぞれに対応する各優先度を、図6に示すテーブル71A〜71Dから取得する。図7に、取得された各優先度の一覧を示す。レア度選択部212は、図7に示す各優先度を用いることによって、ユーザA〜Dに提供される武器のレア度を選択する。
ステップS2において、レア度選択部212は、複数のレア度のそれぞれについて、ユーザA〜Dのそれぞれに設定される当該レア度に対応する各優先度に対応する基準優先度を、特定する。レア度選択部212は、まず、ユーザA〜Dに設定されるSレアの各優先度を合算することによって、Sレアの基準優先度として8を特定する。レア度選択部212は、さらに、ユーザA〜Dに設定されるAレアの各優先度を合算することによって、Aレアの基準優先度として−0.2を特定する。レア度選択部212は、さらに、ユーザA〜Dに設定されるBレアの各優先度を合算することによって、Bレアの基準優先度として2を特定する。レア度選択部212は、さらに、ユーザA〜Dに設定されるCレアの各優先度を合算することによって、Cレアの基準優先度として1.5を特定する。
ステップS3において、レア度選択部212は、特定した複数の基準優先度を比較することによって、複数の基準優先度の中から少なくとも1つの基準優先度(第1基準優先度)を決定する。ここでは、レア度選択部212は、複数の基準優先度のうち最も小さい基準優先度を、複数の基準優先度の中から決定する。各基準優先度として特定された8、−0.2、2、および1.5の中では、−2が最も小さい。したがって、レア度選択部212は、複数の基準優先度の中から、−2を決定する。このように、ステップS3では、複数の基準優先度が比較されることによって、1つの基準優先度が決定される。
ステップS4において、レア度選択部212は、複数のレア度の中から、決定された−2に対応するAレア(第1選択対象、第1レア度)を選択する。ステップS5において、レア度選択部212は、選択されたAレアをユーザA〜Dのそれぞれに関連付ける。ステップS6において、武器提供部213は、複数の武器(アイテム)の中から、ユーザA〜Dに関連付けられたAレアに対応する1つの武器(第1アイテム)を選択し、選択された武器をユーザA〜Dに関連付けることによってユーザA〜Dに提供する。武器の選択手法は、任意の手法でよい。ここではAレアの武器52が選択されたものとする。通信部215は、ユーザA〜Dに関連付けられた武器52に関する情報を、ユーザA〜Dが所持する各ユーザ端末100に送信する。ユーザ端末100の通信部113は、送信された情報を受信する。
図8は、実施形態1に係るゲーム画面303を示す図である。ユーザAのユーザ端末100において、表示制御部112は、武器52に関する情報をサーバ200から受信した場合、マルチプレイ用にユーザAに提供された武器52をユーザAに通知するためのゲーム画面303を、例えば図8に示すように表示部152に表示する。ゲーム画面303は、メッセージ65および武器52を含む。メッセージ65は、提供された武器52が有するレア度をユーザに説明するテキストを含む。ユーザAは、ゲーム画面303を視認することによって、今回のマルチプレイ時にAレアの武器52を利用することを認識する。
ゲームシステム1は、ゲーム画面303の表示後、マルチプレイに対応したゲームステージをユーザA〜Dにプレイさせる。今回のマルチプレイ時に、ユーザA〜Dによって操作される味方キャラクタ31A〜31Dのすべてが、同一の武器52を用いて敵キャラクタ41と戦闘する。ゲームシステム1は、ユーザA〜Dが敵キャラクタ41に勝利した場合、報酬をユーザA〜Dに付与する。ゲームシステム1は、例えば、マルチプレイ用にユーザA〜Dに提供された武器52を、ユーザA〜Dがシングルプレイ時に利用できる武器として、ユーザA〜Dに付与する。提供される武器のレア度が高いほど、ユーザAに付与される報酬(武器)の価値はより高い。したがって、マルチプレイ時に、より高いレア度の武器が提供されることは、ユーザA〜Dにとってより価値が高い。
(優先度の再設定)
ステップS7において、優先度設定部214は、選択されたAレアに設定される確率の逆数を特定する。Aレアに設定される確率は0.2であるため、逆数として5が特定される。ステップS8において、優先度設定部214は、特定した逆数である10を中央値とした正規分布に従う乱数(正規乱数)を生成する。優先度設定部214は、詳細には、Aレアに設定される確率の逆数を中央値として含む複数のパラメータの中からいずれかのパラメータが選択される確率が、Aレアに設定される確率の逆数が選択される確率を最大値として正規分布するように、複数のパラメータの中からいずれか1つを選択する。ここでは6が生成されたものとする。
ステップS9において、優先度設定部214は、生成された12を、ユーザA〜Dのそれぞれに設定されるAレアの各優先度に加算することによって、ユーザA〜Dのそれぞれに設定されるAレアの優先度を、5.8、7、6、および5に再設定する。ステップS10において、優先度設定部214は、ユーザA〜Dのそれぞれに設定される複数のレア度のそれぞれに対応する各優先度を、同一の減算値だけ一律に減算する。ここでは、減算値は1であるとする。優先度設定部214は、ユーザAに設定されるSレア、Aレア、Bレア、およびCレアの各優先度からそれぞれ1を減算する。これにより、優先度設定部214は、ユーザAに設定されるSレア、Aレア、Bレア、およびCレアの各優先度を、それぞれ6、4.8、0、および−1に再設定する。優先度設定部214は、再設定後の各優先度をテーブル71Aに書き込むことによって、テーブル71Aを更新する。
優先度設定部214は、さらに、ユーザB〜Cにそれぞれ設定されるSレア、Aレア、Bレア、およびCレアの各優先度からそれぞれ1を減算する。これにより、優先度設定部214は、ユーザBに設定されるSレア、Aレア、Bレア、およびCレアの各優先度を更新する。優先度設定部214は、再設定後の各優先度をテーブル71B〜71Dに書き込むことによって、テーブル71B〜71Dを更新する。
図9は、実施形態1に係る複数のテーブル71を示す図である。優先度設定部214は、今回のマルチプレイ時にAレアが選択された場合、テーブル71A〜71Dに格納されるSレア、Aレア、Bレア、およびCレアの各優先度を、図9に示すように更新する。ユーザEおよびFはマルチプレイに参加していないため、優先度設定部214は、テーブル71Eおよび71Fに格納される各優先度は更新していない。レア度選択部212は、マルチプレイに対応するステージをユーザAが次にプレイする場合、図9に示すテーブル71Aに格納される各優先度を少なくとも用いることによって、ユーザAを含む4名のユーザが次のマルチプレイ時に利用する武器のレア度を選択する。
ゲームシステム1は、今回のマルチプレイが終了した後、ボタン62に対するユーザのタップ操作が再び受け付けられた場合、マルチプレイを開始するための処理を再び実行する。この場合、ユーザ選択部211は、一群のユーザの中から、ユーザAを含む4人のユーザを選択する。ユーザ選択部211は、例えば、ユーザA以外の3名のユーザを、一群のユーザの中から抽選によってランダムに選択する。これにより、ユーザ選択部211は、マルチプレイごとに、マルチプレイに参加する4名のユーザの組み合わせを異ならせることができる。ここでは、ユーザA,E〜Gが選択されたものとする。
図10は、実施形態1に係る優先度の一覧を示す図である。レア度選択部212は、選択された各ユーザに対応する最新の各テーブル71から、各ユーザに設定される複数のレア度に対応する各優先度を取得する。レア度選択部212は、詳細には、ユーザA、E、およびFに設定される各優先度を、図9に示すテーブル71A、71E、および71Fから取得する。レア度選択部212は、さらに、ユーザGに設定される各レア度の優先度を、ユーザGに対応する図示しないテーブル71Gから取得する。図10に、取得された優先度の一覧を示す。今回のマルチプレイには、ユーザB〜Dは参加しない。したがって、図7に示す一覧とは異なり、図10に示す一覧には、ユーザB〜Dのそれぞれに設定される各優先度が含まれていない。
レア度選択部212は、複数のレア度のそれぞれについて、ユーザA,E〜Gのそれぞれに設定される当該レア度の優先度を合算することによって、当該レア度に対応する基準優先度を特定する。ここでは、レア度選択部212は、Sレア、Aレア、Bレア、およびCレアに対応する基準優先度として、それぞれ23、14.2、3.5、および−3.8を特定する。レア度選択部212は、生成された最も小さい基準優先度である−3.8に対応するCレアを選択し、ユーザA,E〜Gに関連付ける。レア度選択部212は、複数のCレアの武器の中から、Cレアの武器53を選択し、ユーザA,E〜Gに提供する。これにより、ユーザA,E〜Gは、マルチプレイ時に武器53を利用する。
優先度設定部214は、選択されたCレアに設定される確率の逆数を特定する。Cレアに設定される確率は0.4であるため、逆数として2.5が特定される。優先度設定部214は、特定した逆数である2.5を中央値とした正規分布に従う乱数(正規乱数)を生成する。ここでは乱数として2が生成されたものとする。優先度設定部214は、ユーザA,E〜Gのそれぞれに設定されるCレアの各優先度にそれぞれ2を加算することによって、ユーザA,E〜Gのそれぞれに設定されるCレアの各優先度を再設定する。
優先度設定部214は、乱数の加算後、ユーザA,E〜Gのそれぞれに設定される複数のレア度のそれぞれに対応する各優先度から、同一の減算値を減算する。これにより、優先度設定部214は、ユーザA,E〜Gのそれぞれに設定される各優先度を再設定する。優先度設定部214は、再設定後の各優先度を、テーブル71A,71E〜71Gに書き込むことによって、テーブル71A,71E〜71Gを更新する。
図11は、実施形態1に係る複数のテーブル71を示す図である。優先度設定部214は、武器53がユーザA,E〜Gに関連付けられた場合、テーブル71A,71E〜71Gに格納される各優先度を、図11に示すように更新する。今回のマルチプレイにはユーザB〜Dが参加していないので、テーブル71B〜71Dに格納される各優先度は、更新されていない。
以上のように、サーバ200は、複数のレア度に設定される確率に基づく単純な抽選によっていずれかのレア度を選択するのではなく、マルチプレイに参加する複数のユーザに設定される各優先度から特定されたレア度ごとの各基準優先度を比較することによって、いずれかのレア度を選択する。選択されたレア度に対応して複数のユーザに設定される各優先度は、選択されたレア度が複数のユーザに関連付けられるたびに、確率とは異なり再設定される。これにより、サーバ200は、複数のユーザに共通して関連付けられるレア度のバリエーションを、増やすことができる。
図7〜図11に示すように、マルチプレイが実行されるたびに、マルチプレイに参加する複数のユーザに設定されるSレア、Aレア、Bレア、およびCレアに対応する各優先度が、再設定される。多くの場合、各優先度は、マルチプレイの参加前の値とは異なる値に更新される。あるレア度に設定される確率が小さいほど、そのレア度が選択された場合に、マルチプレイに参加した複数のユーザに設定されるそのレア度に対応する各優先度に、より大きい値が加算される。再設定時に優先度に加算される値は、一定範囲に含まれる複数の値から抽選によってランダムに選択される値であるため、再設定される優先度はランダム性を有する。したがって、本実施形態のある局面において、レア度選択部212は、複数のレア度の中からいずれかのレア度を抽選によってランダムに選択していると言える。
(各レア度の武器の選択間隔)
図12は、実施形態1に係る複数のヒストグラムを示す図である。図12に示すヒストグラムは、本開示の手法によってSレア、Aレア、Bレア、およびCレアからいずれかを選択する処理を所定回数実行した場合に、あるレア度が選択されてから次に同一のレア度が選択されるまでに必要な処理の実行回数(以下、間隔)と、所定回数の処理中に出現する各間隔の出現回数との関係を示す。各ヒストグラムにおいて、横軸が間隔を示し、縦軸が出願回数を示す。図12(A)〜(D)は、それぞれ、Sレア、Aレア、Bレア、およびCレアに対応するヒストグラムを示す。
図12に示すように、本開示の手法によれば、Sレアが一度選択されてから次に選択されるまでの間に実行される選択処理の回数は、9回を中心として、ほぼ釣り鐘状に分布する。したがって、1回Sレアが選択された後、次にSレアが選択されるのは、それから9回後の選択処理時の場合である可能性が最も高い。本開示によれば、Sレアが選択される際の間隔は、9回が最も多く、間隔がより小さくまたはより大きくなるほど、その出現回数はより少なくなる。これにより、マルチプレイ時に同一のユーザAにSレアの武器を連続して提供し難くすることができる。さらには、同一のユーザにSレアの武器が提供されない場合が極端に長く続くことを防止することもできる。
ユーザAは、パネル64の表示内容に基づいて、Sレアの武器が提供されるのは、10回のマルチプレイのうち1回であると理解する。ユーザは、この理解に基づいて、一度Sレアの武器が提供された場合、次にSレアの武器が提供されるのは9回後のマルチプレイ時になることを直感的に期待する。本開示の手法によれば、このようなユーザの直感的な期待に合致した周期で、Sレアの武器をユーザAに提供できる。言い換えれば、Aレアが選択される確率に応じた適切な周期で、Aレアの武器を、ユーザA〜Dが参加するマルチプレイにおいてユーザA〜Dに提供される武器として選択できる。これにより、ゲームシステム1は、マルチプレイにおける武器選択の不公平感を各ユーザに与えずに済むので、ゲームに対する各ユーザの満足感を向上させることができる。さらに、ゲームの運営者は、ゲームを通じて各ユーザが享受するゲーム体験をユーザごとに統一化しやすいので、ゲームをより適切に運営することができる。
ユーザAに設定される、最も低い確率に対応するSレアの優先度は、ユーザAがマルチステージをプレイするたびに、一定の減算値だけ必ず減少する。したがって、ユーザAがマルチプレイを繰り返した場合、例えそれぞれのマルチプレイ時にSレアの武器が提供されなくても、ユーザAに設定されるSレアの優先度は確実に低下してゆく。これにより、ユーザAがある程度の回数のマルチプレイを繰り返せば、ユーザAに設定されるSレアの優先度が十分に小さくなって、Sレアの武器がいずれは提供される結果となる。このように、ゲームシステム1に基づくゲームでは、ユーザAがマルチプレイをいくら繰り返してもSレアの武器が提供されない事態を、避けることができる。これにより、ゲームシステム1は、ユーザAに不満を与えずに済むので、ゲームに対するユーザAの満足度を高められる。
〔実施形態2〕
本実施形態では、ゲームシステム1は、10名のユーザが参加するマルチプレイに対応したゲームステージを、ユーザAを含む10名のユーザにプレイさせる。本実施形態では、ゲームシステム1は、10名のユーザにそれぞれ個別に異なる武器を提供し得る。ゲームシステム1は、詳細には、1名のユーザにAレアの武器を提供し、2名のユーザにAレアの武器を提供し、3名のユーザにBレアの武器を提供し、4名のユーザにCレアの武器を提供する。このように、複数のユーザのそれぞれについて、提供される武器のレア度が異なったり、あるいは同一であったりする。本実施形態でも、あるレア度の武器が各ユーザに提供される確率は、実施形態1と同一である。
図13は、実施形態2に係るサーバ200が、ゲームプログラム131に基づいて実行する処理の流れを示すフローチャートである。本実施形態でも、ゲームシステム1は、ボタン62に対するユーザのタップ操作が再び受け付けられた場合、マルチプレイを開始するための処理を実行する。ステップS11において、レア度選択部212は、一群のユーザの中から、マルチプレイに参加する複数のユーザを選択する。選択の手法は実施形態1と同一である。ここでは、10名のユーザA〜Jが選択されたものとする。
図14は、実施形態2に係る優先度の一覧を示す図である。レア度選択部212は、ユーザA〜Fのそれぞれに設定されるSレア、Aレア、Bレア、およびCレアのそれぞれに対応する各優先度を、図6に示すテーブル71A〜71Fから取得する。優先度設定部214は、ユーザH〜Jに設定される各レア度の優先度を、ユーザH〜Jに対応する図示しないテーブル71H〜71Jから取得する。図14に、取得された各優先度の一覧を示す。レア度選択部212は、図14に示す各優先度を用いることによって、ユーザA〜Jのそれぞれに提供される各武器の各レア度を選択する。
ステップS12において、レア度選択部212は、複数のレア度のそれぞれについて、ユーザA〜Jのそれぞれに設定される当該レア度に対応する各優先度を比較することによって、複数の優先度の中から最も小さい優先度(第1優先度)を決定する。ステップS13において、レア度選択部212は、複数のレア度のそれぞれについて、ユーザA〜Jの中から、決定された優先度が設定されるユーザを選択する。ステップS14において、レア度選択部212は、複数のレア度のそれぞれについて、決定された優先度に対応するレア度を、選択されたユーザに関連付ける。ステップS15において、武器提供部213は、ユーザA〜Jのそれぞれについて、ユーザに関連付けられたレア度の武器を選択し、ユーザに関連付けることによって、選択された武器をユーザに提供する。
サーバ200は、レア度の選択、第1優先度の決定、ユーザの選択、ユーザに対するレア度の関連付け、およびユーザへの武器の提供を、マルチプレイに参加するユーザの人数だけ繰り返す。したがって、サーバ200は、これらの一連の処理を合計で10回実行する。レア度選択部212は、その際、Sレアを合計で1回選択し、Aレアを合計で2回選択し、Bレアを合計で3回選択し、Cレアを合計で4回選択する。
レア度選択部212は、まず、複数のレア度の中からいずれか1つを選択する。優先度設定部214は、例えば、いずれか1つのレア度を抽選によってランダムに選択する。ここではSレアが選択されたものとする。レア度選択部212は、ユーザA〜Jのそれぞれに設定される、選択されたSレアに対応する各優先度を比較することによって、複数のSレアの優先度の中から最も小さい優先度を特定する。ここでは−1が特定される。レア度選択部212は、ユーザA〜Jの中から、特定された−1が設定されるユーザCを選択する。レア度選択部212は、選択されたユーザCにSレアを関連付ける。武器提供部213は、複数のSレアの武器の中から1つのSレアの武器を選択し、ユーザCに関連付ける。ここでは、Sレアの武器52が選択されたものとする。これにより、1回目の一連の処理が終了する。
レア度選択部212は、次に、未選択のレア度の中からいずれか1つを選択する。Sレアは選択済みであるため、レア度選択部212は、Aレア、Bレア、Cレアの中から1つを選択する。ここではCレアが選択されたものとする。レア度選択部212は、未選択のユーザA,B,D〜Hのそれぞれに設定されるCレアの各優先度を比較することによって、複数のCレアの各優先度の中から最も小さい優先度を決定する。ここでは−2.5が決定される。レア度選択部212は、ユーザB〜Jの中から、決定された−2.5が設定されるユーザJを選択する。レア度選択部212は、選択されたユーザJにCレアを関連付ける。武器提供部213は、複数のCレアの武器の中から1つのCレアの武器を選択し、ユーザJに関連付ける。ここでは、Cレアの武器54が選択されたものとする。これにより、2回目の一連の処理が終了する。
サーバ200は、3回目〜10回目の一連の処理も同様に実行する。レア度選択部212は、レア度の各選択時に、Aレアが2回選択されるまではAレアを選択対象に含め、Bレアが3回選択されるまではBレアを選択対象に含め、Cレアが4回選択されるまではCレアを選択対象に含める。レア度選択部212は、例えばSレアが1回、Aレアが2回、Cレアが2回選択された場合、6回目のレア度の選択時には、残り3回選択可能なBレアと、残り2回選択可能なCレアのうち、いずれかを選択する。
レア度選択部212は、上述した一連の処理を10回実行した結果、SレアをユーザCに関連付け、AレアをユーザDおよびGに関連付け、BレアをユーザA、H、およびJに関連付け、CレアをユーザB、E、F、およびIに関連付ける。
(優先度の再設定)
ステップS16において、優先度設定部214は、ユーザA〜Jのそれぞれについて、ユーザに関連付けられたレア度に設定される確率の逆数を特定する。例えば、ユーザCに関連付けられたSレアに設定される確率は0.1であるため、ユーザCに対応する逆数として10が特定される。また、ユーザJに関連付けられたCレアに設定される確率は0.4であるため、ユーザJに対応する逆数として2.5が特定される。ここでは、ユーザごとの逆数が、合計で10個特定される。ステップS17において、優先度設定部214は、ユーザA〜Jのそれぞれについて、ユーザに対応する逆数を中央値とした正規分布に従う乱数(正規乱数)を生成する。乱数の生成手法は実施形態1と同一であるため、詳細な説明を繰り返さない。ここでは、ユーザごとの乱数が、合計で10個生成される。
ステップS18において、優先度設定部214は、ユーザA〜Jのそれぞれについて、ユーザに対応する乱数を、ユーザに設定される、ユーザに関連付けられたレア度の優先度に加算することによって、優先度を再設定する。優先度設定部214は、例えば、ユーザCに設定されるSレアの優先度に、ユーザCに対応する乱数を加算し、ユーザJに設定されるCレアの各優先度に、ユーザJに対応する乱数を加算する。優先度設定部214は、各乱数を各優先度に加算することによって、各ユーザに関連付けられたレア度の優先度を再設定する。
ステップS19において、優先度設定部214は、ユーザA〜Jのそれぞれに設定される複数のレア度のそれぞれに対応する各優先度を、同一の減算値だけ一律に減算する。ここでは、減算値は1であるとする。優先度設定部214は、例えば、ユーザAに設定されるSレア、Aレア、Bレア、およびCレアの各優先度からそれぞれ1を減算する。優先度設定部214は、再設定後の各優先度をテーブル71Aに書き込むことによって、テーブル71Aを更新する。優先度設定部214は、さらに、ユーザB〜Jにそれぞれ設定されるSレア、Aレア、Bレア、およびCレアの各優先度からそれぞれ1を減算する。優先度設定部214は、ユーザB〜Jに設定されるSレア、Aレア、Bレア、およびCレアの各優先度を再設定する。優先度設定部214は、再設定後の各優先度をテーブル71B〜71Jに書き込むことによって、テーブル71B〜71Jを更新する。
図15は、実施形態2に係る複数のテーブル71を示す図である。優先度設定部214は、マルチプレイが実行された場合、テーブル71A〜71Fに格納されるSレア、Aレア、Bレア、およびCレアの各優先度を、図15に示すように更新する。このとき、図示しないテーブル71G〜71Jに格納されるSレア、Aレア、Bレア、およびCレアの各優先度も、更新されている。レア度選択部212は、マルチプレイに対応するステージをユーザAが次にプレイする場合、図15に示すテーブル71Aに格納される各優先度を少なくとも用いることによって、ユーザAが次のマルチプレイに参加する際にユーザAに提供される武器のレア度を選択する。
ゲームシステム1は、今回のマルチプレイが終了した後、ボタン62に対するユーザのタップ操作が再び受け付けられた場合、マルチプレイを開始するための処理を再び実行する。この場合、ユーザ選択部211は、一群のユーザの中から、ユーザAを含む10人のユーザを選択する。レア度選択部212は、例えば、ユーザA以外の9名のユーザを、一群のユーザの中からランダムに選択する。これにより、レア度選択部212は、マルチプレイごとに、マルチプレイに参加する10名のユーザの組み合わせを異ならせることができる。ここでは、ユーザA,F〜Nが選択されたものとする。
図16は、実施形態2に係る優先度の一覧を示す図である。レア度選択部212は、選択された各ユーザに対応する最新の各テーブル71から、各ユーザに設定される複数のレア度に対応する各優先度を取得する。レア度選択部212は、ユーザAおよびFに設定される各優先度を、図15に示すテーブル71Aおよび71Fから取得する。レア度選択部212は、ユーザG〜Pに設定される各レア度の優先度を、ユーザG〜Pに対応する図示しないテーブル71G〜71Pから取得する。図16に、取得された優先度の一覧を示す。今回のマルチプレイには、ユーザB〜Eは参加しない。したがって、図14に示す一覧とは異なり、図16に示す一覧には、ユーザB〜Eのそれぞれに設定される各優先度が含まれていない。
レア度選択部212は、レア度の選択、第1優先度の決定、ユーザの選択、およびユーザに対するレア度の関連付け、およびユーザへの武器の提供を、マルチプレイに参加するユーザA,F〜Nの人数だけ繰り返す。レア度選択部212は、まず、複数のレア度の中からいずれか1つを選択する。ここではAレアが選択されたものとする。レア度選択部212は、ユーザA,F〜Nのそれぞれに設定される、選択されたSレアの各優先度を比較することによって、複数の優先度の中から、最も小さい優先度を特定する。ここでは−2.5が特定される。レア度選択部212は、ユーザA,F〜Nの中から、特定された−2.5が設定されるユーザJを選択する。レア度選択部212は、選択されたユーザJに、Aレアを関連付ける。武器提供部213は、複数のAレアの武器の中から1つのAレアの武器を選択し、ユーザJに関連付ける。これにより、1回目の一連の処理が終了する。
レア度選択部212は、次に、未選択のレア度の中から、いずれか1つを選択する。Aレアはあと1回選択可能であるため、レア度選択部212は、Sレア、Aレア、Bレア、Cレアの中から1つを選択する。ここではBレアが選択されたものとする。レア度選択部212は、未選択のユーザA,G〜Lのそれぞれに設定されるBレアの各優先度を比較することによって、複数の優先度の中から、最も小さい優先度を特定する。ここでは−2.2が特定される。レア度選択部212は、ユーザA,G〜Lの中から、特定された−2.2が設定されるユーザKを選択する。レア度選択部212は、選択されたユーザKにBレアを関連付ける。武器提供部213は、複数のBレアの武器の中から1つのBレアの武器を選択し、ユーザKに関連付ける。これにより、2回目の一連の処理が終了する。
レア度選択部212は、3回目〜10回目の一連の処理も、同様に実行する。これにより、レア度選択部212は、10名のユーザA,F〜Lに、いずれかのレア度の武器を提供する。優先度設定部214は、武器の提供後、ユーザA,F〜Lに設定される各優先度を再設定する。
図17は、実施形態2に係る複数のテーブル71を示す図である。優先度設定部214は、今回のマルチプレイ用の各武器が10名のユーザに提供された場合、テーブル71A、71F、および71Gに格納される各優先度を、図17に示すように更新する。今回のマルチプレイにはユーザB〜Eが参加していないので、ユーザB〜Eのそれぞれに対応するテーブル71B〜71Eに格納される各優先度は、更新されていない。
以上のように、サーバ200は、複数のレア度に設定される確率に基づく単純な抽選によっていずれかのレア度を選択するのではなく、マルチプレイに参加する複数のユーザに設定される各優先度をレア度数ごとに比較することによって、いずれかのレア度を選択する。ユーザごとに設定される、ユーザに関連付けられたレア度の優先度は、レア度がユーザに関連付けられるたびに、確率とは異なり再設定される。これにより、サーバ200は、各ユーザに関連付けられるレア度のバリエーションを増やすことができる。
図14〜図17に示すように、マルチプレイが実行されるたびに、マルチプレイに参加する複数のユーザに設定されるSレア、Aレア、Bレア、およびCレアに対応する各優先度が、再設定される。多くの場合、各優先度は、マルチプレイの参加前の値とは異なる値に更新される。あるレア度に設定される確率が小さいほど、そのレア度があるユーザに関連付けられた場合に、そのユーザにそのレア度に対応する各優先度に、より大きい値が加算される。再設定時に優先度に加算される値は、一定範囲に含まれる複数の値から抽選によってランダムに選択される値であるため、再設定される優先度はランダム性を有する。したがって、本実施形態のある局面において、レア度選択部212は、複数のユーザの中から、あるレア度が関連付けられるユーザを抽選によってランダムに選択していると言える。さらには、本実施形態のある局面において、レア度選択部212は、複数のレア度の中から、あるユーザに関連付けられるレア度を抽選によってランダムに選択している共言える。
実施形態2においても、レア度が選択されてから次に同一のレア度が選択されるまでに必要な処理の実行回数と、所定回数の処理中に出現する各間隔の出現回数との関係は、図12に示すヒストグラムと同様である。
(変形例)
実施形態1では、レア度選択部212は、複数のレア度に対応する基準優先度の中に、最も小さい基準優先度が複数存在する場合、最も小さい基準優先度に対応する複数のレア度をまず選択する。レア度選択部212は、選択された複数のレア度の中から、いずれか1つのレア度を、所定の規則に従って選択するか、または抽選によってランダムに選択する。レア度選択部212は、例えば、いずれか1つのレア度を同一の確率でランダムに選択する。レア度選択部212は、あるいは、選択された複数のレア度に設定される各確率の比率に応じていずれかのレア度が選択されるように、いずれかのレア度を選択する。
実施形態2では、レア度選択部212は、10名のユーザのそれぞれに設定される、選択されたレア度の各優先度の中に、最も小さい優先度が複数存在する場合、最も小さい優先度が設定される複数のレア度をまず選択する。レア度選択部212は、選択された複数のユーザ中から、いずれか1名のユーザを、所定の規則に従って選択するか、または抽選によってランダムに選択する。
優先度設定部214は、複数のレア度に対応する各優先度を初期化することができる。初期化のタイミングは、例えば、まだ一度もマルチプレイに参加したことのないユーザが、マルチプレイに参加するユーザとして選択された時点である。優先度設定部214は、例えば、Bレア、Aレア、Sレアの各優先度としていずれもゼロを、マルチプレイに初めて参加するユーザに対応するテーブル71に格納することによって、各優先度を初期化する。
武器提供部213は、複数の武器の中から、抽選によって、複数のユーザに関連付けられたレア度数に対応する1つの武器キャラクタを、ランダムに選択することができる。武器提供部213は、複数の武器の中から1つの武器を選択する処理に、上述したレア度の選択処理と同一の処理を適用することもできる。
複数のレア度には、確率を含む各種の第1パラメータが設定され得る。優先度設定部214は、選択されたレア度に設定される少なくともいずれかの第1パラメータに基づいて、選択されたレア度の優先度を再設定することもできる。上述した確率は、第1パラメータの一例である。確率を含む様々な第1パラメータの少なくともいずれかに基づいて優先度が再設定されるので、複数のユーザに対するレア度の関連づけパターンのバリエーションを増やすことができる。
優先度設定部214は、選択された優先度に設定される確率に対応する任意の第2パラメータに基づいて、選択された優先度を再設定することもできる。上述した確率の逆数は、第2パラメータの一例である。
優先度設定部214は、選択されたレア度に設定される第1パラメータが小さいほど、選択されたレア度の優先度を低くすることによって、優先度を再設定することもできる。優先度を低くすることは、優先度の値を大きくすることと同義である。これにより、一度選択されたレア度が同じユーザに対して続けて選択される可能性を下げることができる。確率の逆数に基づいて優先度を再設定することは、第1パラメータが小さいほど、選択されたレア度に設定される優先度を低くすることの一例である。
優先度設定部214は、第1パラメータに応じて値が定まる第2パラメータを基準値とした確率分布に従う乱数を生成し、生成した乱数に基づいて、選択されたレア度の優先度を再設定することもできる。第1パラメータの値が小さいほど、第2パラメータの値が大きくなってもよい。上述した確率の逆数は、第2パラメータの一例である。上述した逆数を中央値とした正規分布は、第2パラメータを基準値とした確率分布の一例である。上述した乱数を優先度に加算することは、乱数に基づいて優先度を再設定することの一例である。
優先度設定部214は、各ユーザの優先度に定数を加算することによって、各ユーザの優先度を再設定することもできる。複数のユーザがランダムに選択される場合、マルチプレイごとにレア度の選択に用いられる複数の優先度の組み合わせがランダムに変化するので、定数を各優先度に加算する場合であっても、ユーザごとに選択されるレア度のランダム性を担保できる。
優先度設定部214は、複数のレア度に設定される各優先度を、同一の第3パラメータだけ一律に変更することもできる。優先度設定部214は、例えば、複数のユーザに設定される複数のレア度に対応する各優先度を、同一の第3パラメータだけ一律に増加させてもよい。上述した減算値は、第3パラメータの一例である。上述した減算値を各優先度から一律に減算することは、各優先度を同一の第3パラメータだけ変更することの一例である。
実施形態1では、レア度選択部212は、複数の基準優先度の中から、第1条件を満たす基準優先度を決定することもできる。レア度選択部212は、例えば、複数の基準優先度のうち最も大きい優先度を、複数の基準優先度の中から決定することもできる。実施形態2では、レア度選択部212は、複数の優先度の中から、第1条件を満たす優先度を決定することもできる。レア度選択部212は、例えば、複数の優先度のうち最も大きい優先度を、複数の優先度の中から決定することもできる。
レア度選択部212は、任意の複数の選択対象の中から第1選択対象を選択することもできる。上述した複数のレア度は、複数の選択対象の一例である。複数の選択対象は、例えば、ゲームにおいて利用可能な複数のキャラクタ、または、ゲームにおいて利用可能な複数のアイテムでもあり得る。レア度選択部212は、例えば、複数のユーザのそれぞれに設定される、ゲームにおいて利用可能な複数の味方キャラクタに対応する各優先度に基づいて各基準優先度を特定し、各基準優先度を比較することによって、1つの基準優先度を決定する。レア度選択部212は、複数の味方キャラクタの中から、決定された基準優先度に対応する味方キャラクタを選択し、複数のユーザに提供する。
各選択対象は、選択された選択対象に応じた報酬を複数のユーザが後で獲得できる権利であってもよい。この場合、サーバ200は、複数の権利の中から選択された権利を複数のユーザに関連付けることによって、選択された権利を複数のユーザに提供する。ユーザ端末100は、複数のユーザが例えばマルチプレイのステージをクリアした場合、選択された権利に対応する報酬を複数のユーザに提供する。
実施形態1では、選択対象は、例えば、複数のユーザがプレイ可能なマルチプレイに対応したステージ、または、敵キャラクタ41がマルチプレイの開始時点で有する状態でもよい。実施形態2では、選択対象は、例えば、マルチプレイに対応したステージにおいてユーザが有する役割、マルチプレイにおけるユーザの攻撃順序でもよい。実施形態2では、ゲームがカードゲームである場合、選択対象はユーザに配布されるカードでもよい。
本開示に係るプログラムは、ゲームプログラム131以外の任意のプログラムとしても実現される。本開示に係る複数の選択対象は、ゲームプログラム131に基づくゲーム以外に使用される要素であってもよい。複数のレア度は、複数の選択対象の一例である。
〔ソフトウェアによる実現例〕
制御部110および210の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部110、もしくはその両方を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラム及び各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)又は記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下の通りである。
(項目1) ゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(20)を備えるコンピュータ(サーバ200)により実行される。プログラムは、プロセッサに、一群のユーザの中から、複数のユーザを選択するステップ(S1)と、複数の選択対象のそれぞれについて、複数のユーザのそれぞれに設定される選択対象に対応する各優先度に基づいて、選択対象に対応する基準優先度を特定するステップ(S2)と、特定された各基準優先度が互いに比較されることによって、各基準優先度の中から第1基準優先度を決定するステップ(S3)と、複数の選択対象の中から、第1基準優先度に対応する第1選択対象を選択するステップ(S4)と、第1選択対象を、複数のユーザのそれぞれに関連付けるステップ(S5)と、複数のユーザのそれぞれについて、ユーザに設定される第1選択対象に対応する優先度を再設定するステップ(S9)とを実行させる。
(項目2) ゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(20)を備えるコンピュータ(サーバ200)により実行される。プログラムは、プロセッサに、一群のユーザの中から、複数のユーザを選択するステップ(S11)と、複数の選択対象のそれぞれについて、複数のユーザのそれぞれに設定される選択対象に対応する各優先度が比較されることによって、第1優先度を特定するステップ(S12)と、複数の選択対象のそれぞれについて、複数のユーザの中から、第1優先度が設定されたユーザを選択するステップ(S13)と、複数の選択対象のそれぞれについて、第1優先度に対応する第1選択対象を、第1優先度が設定されたユーザに関連付けるステップ(S14)と、複数のユーザのそれぞれについて、ユーザに設定される第1選択対象に対応する優先度を再設定するステップ(S17)とを実行させる。
(項目3) (項目1)または(項目2)において、複数の選択対象は、ゲームに使用される要素である。
(項目4) (項目1)〜(項目3)のいずれかにおいて、複数の選択対象に、それぞれ第1パラメータが設定されており、優先度を再設定するステップにおいて、複数のユーザのそれぞれについて、第1選択対象に設定される第1パラメータに基づいて、ユーザに設定される第1選択対象に対応する優先度を再設定する。
(項目5) (項目4)において、第1パラメータは、複数の選択対象の中から選択対象が選択される確率でり、再設定するステップにおいて、複数のユーザのそれぞれについて、第1選択対象に設定される第1パラメータが小さいほど、ユーザに設定される第1選択対象に対応する優先度を低くする。
(項目6) (項目4)または(項目5)において、再設定するステップにおいて、複数のユーザのそれぞれについて、第1パラメータに応じて値が定まる第2パラメータを基準値とした確率分布に従う乱数を生成し、生成した乱数に基づいて、ユーザに設定された第1選択対象に対応する優先度を再設定する。
(項目7) (項目6)において、第1パラメータの値が小さいほど、第2パラメータの値が大きくなり、確率分布は、第2パラメータを中央値とした正規分布である。
(項目8) (項目7)において、第1パラメータは、複数の選択対象の中から選択対象が選択される確率であり、第2パラメータは、確率の逆数である。
(項目9) (項目1)〜(項目8)のいずれかにおいて、プログラムは、プロセッサに、複数のユーザのそれぞれについて、ユーザに設定される複数の選択対象のそれぞれに対応する各優先度を、同一の第3パラメータだけ一律に変更するステップをさらに実行させる。
(項目10) (項目1)を前提とする(項目2)において、複数の選択対象は、それぞれがゲームにおけるアイテムの希少性を表す複数のレア度であり、第1選択対象を選択するステップにおいて、複数のレア度の中から、第1基準優先度に対応する第1レア度を選択し、プログラムは、プロセッサに、複数のアイテムの中から、第1レア度に応じた第1アイテムを選択するステップと、第1アイテムを、複数のユーザのそれぞれに関連付けるステップとを実行させる。
(項目11) (項目2)を前提とする(項目3)において、複数の選択対象は、それぞれがゲームにおけるアイテムの希少性を表す複数のレア度であり、第1選択対象を関連付けるステップにおいて、複数のレア度のそれぞれについて、第1優先度に対応する第1レア度を、第1優先度が設定されたユーザに関連付け、プログラムは、プロセッサに、複数のユーザのそれぞれについて、複数のアイテムの中から、第1レア度に応じた第1アイテムを選択するステップと、複数のユーザのそれぞれについて、第1アイテムを、第1優先度が設定されたユーザに関連付けるステップとを実行させる。
(項目12) ゲームプログラム(131)を実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(20)を備えるコンピュータ(サーバ200)により実行される。方法は、プロセッサが、一群のユーザの中から、複数のユーザを選択するステップ(S1)と、複数の選択対象のそれぞれについて、複数のユーザのそれぞれに設定される選択対象に対応する各優先度に基づいて、選択対象に対応する基準優先度を特定するステップ(S2)と、特定された各基準優先度が互いに比較されることによって、複数の比較対象の中から第1基準優先度を決定するステップと、複数の選択対象の中から、第1基準優先度に対応する第1選択対象を選択するステップと、第1選択対象を、複数のユーザのそれぞれに関連付けるステップと、複数のユーザのそれぞれについて、ユーザに設定される第1選択対象に対応する優先度を再設定するステップと含む。
(項目13) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、ゲームプログラム(131)を記憶する記憶部(220)と、ゲームプログラムを実行することにより、情報処理装置(サーバ200)の動作を制御する制御部(210)とを備える。制御部は、一群のユーザの中から、複数のユーザを選択し、複数の選択対象のそれぞれについて、複数のユーザのそれぞれに設定される選択対象に対応する各優先度に基づいて、選択対象に対応する基準優先度を特定し、特定された各基準優先度が互いに比較されることによって、各基準優先度の中から第1基準優先度を決定し、複数の選択対象の中から、第1基準優先度に対応する第1選択対象を選択し、第1選択対象を、複数のユーザのそれぞれに関連付け、複数のユーザのそれぞれについて、ユーザに設定される第1選択対象に対応する優先度を再設定する。
(項目15) ゲームプログラム(131)を実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(20)を備えるコンピュータ(サーバ200)により実行される。方法は、プロセッサが、一群のユーザの中から、複数のユーザを選択するステップ(S11)と、複数の選択対象のそれぞれについて、複数のユーザのそれぞれに設定される選択対象に対応する各優先度が比較されることによって、第1優先度を特定するステップ(S12)と、複数の選択対象のそれぞれについて、複数のユーザの中から、第1優先度が設定されたユーザを選択するステップ(S13)と、複数の選択対象のそれぞれについて、第1優先度に対応する第1選択対象を、第1優先度が設定されたユーザに関連付けるステップ(S14)と、複数のユーザのそれぞれについて、ユーザに設定される第1選択対象に対応する優先度を再設定するステップ(S17)とを含む。
(項目16) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、ゲームプログラム(131)を記憶する記憶部(220)と、ゲームプログラムを実行することにより、情報処理装置(サーバ200)の動作を制御する制御部(210)とを備える。制御部は、一群のユーザの中から、複数のユーザを選択し、複数の選択対象のそれぞれについて、複数のユーザのそれぞれに設定される選択対象に対応する各優先度が比較されることによって、第1優先度を特定し、複数の選択対象のそれぞれについて、複数のユーザの中から、第1優先度が設定されたユーザを選択し、複数の選択対象のそれぞれについて、第1優先度に対応する第1選択対象を、第1優先度が設定されたユーザに関連付け、複数のユーザのそれぞれについて、ユーザに設定される第1選択対象に対応する優先度を再設定する。