以下、この技術的思想の実施の形態について図面を参照しながら詳細に説明する。以下の説明では、同一の要素には同一の符号を付し、重複する説明を適宜省略する。本開示において示される1以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなすものとする。
(システムの構成)
図1は、本実施の形態に従うシステム1の構成を示す図である。システム1は、例えば、現実世界で実施される所定のレースを、ユーザが使用する情報処理装置上において仮想オブジェクトを用いた仮想レースとして表示することが可能なものである。本明細書において、「所定のレース」とは、現実世界で実施されるレースであれば特に制限はされず、例えば、ボートレース(本番のレースや、展示レース)、競馬、競輪、オートレース、F1等のカーレース、ドローンレース、ドッグレース、マラソン、駅伝などが挙げられる。
図1に示すように、システム1は、各ユーザが使用する情報処理装置(第1コンピュータ)であるユーザ端末10A、ユーザ端末10B及びユーザ端末10C(以下、ユーザ端末10A、10B、10Cなどのユーザ端末を総称して「ユーザ端末10」とも称する)など複数のユーザ端末10と、第1サーバ装置(第2コンピュータ)20と、第2サーバ装置40と、ネットワーク30と、を含む。
ユーザ端末10Aとユーザ端末10Bとは、無線基地局31と通信することにより、ネットワーク30と接続する。ユーザ端末10Cは、家屋などの施設に設置される無線ルータ32と通信することにより、ネットワーク30と接続する。ユーザ端末10は、例えば、タッチスクリーンを備える携帯型端末であり、スマートフォン、ファブレット、タブレットなどでありうる。
ユーザ端末10は、例えば、アプリ等を配信するプラットフォームを介してインストールされたプログラム、又は、予めプリインストールされているウェブサイト閲覧用ソフトウエアなどを含むプログラムを実行する。ユーザ端末10は、上記プログラムの実行により、第1サーバ装置20と通信し、所定のレースに関連するデータやユーザに関連するデータ等を第1サーバ装置20との間で送受信することにより、ユーザ端末10上で仮想レースを表示することを可能とする。
第1サーバ装置20は、所定のレースに関連するデータを、第2サーバ装置40から受信する。第1サーバ装置20は、所定のレースに関連するデータを、適宜、ユーザ端末10へ送信する。第1サーバ装置20は、所定のレースに関連するデータや、各ユーザに関連するデータを記憶して管理する。
第1サーバ装置20は、ハードウェア構成として、通信IF(Interface)22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ(第2プロセッサ)29と、を備え、これらが通信バスを介して互いに接続されている。
通信IF22は、例えばLAN(Local Area Network)規格など各種の通信規格に対応しており、ユーザ端末10や第2サーバ装置40などとの間でデータを送受信するためのインタフェースとして機能する。
入出力IF23は、第1サーバ装置20への情報の入力を受け付けるとともに、第1サーバ装置20の外部へ情報を出力するためのインタフェースとして機能する。入出力IF23は、マウス、キーボード等の情報入力機器の接続を受け付ける入力受付部と、画像等を表示するためのディスプレイ等の情報出力機器の接続を受け付ける出力部とを含みうる。
メモリ25は、処理に使用されるデータ等を記憶するための記憶装置である。メモリ25は、例えば、プロセッサ29が処理を行う際に一時的に使用するための作業領域をプロセッサ29に提供する。メモリ25は、ROM(Read Only Memory)、RAM(Random
Access Memory)等の記憶装置を含んで構成されている。
ストレージ26は、プロセッサ29が読み込んで実行するための各種プログラム及びデータを記憶するための記憶装置である。ストレージ26が記憶する情報には、所定のレースに関連するデータや、各ユーザに関連するデータ等が含まれる。ストレージ26は、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶装置を含んで構成されうる。なお、ストレージは、サーバ装置に含まれる形態に限られず、クラウドサービスを利用することもできる 。
プロセッサ29は、ストレージ26に記憶されるプログラム等を読み込んで実行することにより、第1サーバ装置20の動作を制御する。プロセッサ29は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics
Processing Unit)等を含んで構成されうる。
第2サーバ装置40は、所定のレースに関連するデータを記憶して管理している。第2サーバ装置40は、例えば、所定のレースの開催者が管理するサーバ装置や、所定のレースに関する情報を外部へ発信する団体(レース専門誌の発行者など)が管理するサーバ装置である。第2サーバ装置40は、所定のレースに関連するデータを、適宜、第1サーバ装置20へ送信する。ある局面においては、第2サーバ装置40は、所定のレースに関連するデータをユーザ端末10へ送信してもよい。第2サーバ装置40のハードウェア構成は、矛盾の生じない範囲で、第1サーバ装置20と同様であってもよい。
(ユーザ端末)
図2は、ユーザ端末10の機能的な構成の一例を示すブロック図である。図2に示すように、ユーザ端末10は、アンテナ110と、無線通信IF120と、タッチスクリーン130と、入出力IF140と、記憶部150と、音声処理部160と、マイク161と、スピーカ162と、撮像部170と、制御部(第1プロセッサ)190と、を含む。
アンテナ110は、ユーザ端末10が発する信号を電波として空間へ放射する。また、アンテナ110は、空間から電波を受信して受信信号を無線通信IF120へ与える。
無線通信IF120は、ユーザ端末10が他の通信機器と通信するため、アンテナ110等を介して信号を送受信するための変復調処理などを行う。無線通信IF120は、チューナー、高周波回路などを含む無線通信用の通信モジュールであり、ユーザ端末10が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部190へ与える。
タッチスクリーン130は、ユーザからの入力を受け付けて、ユーザに対し情報をディスプレイ132に出力する。タッチスクリーン130は、ユーザの操作入力を受け付けるためのタッチパネル131と、ディスプレイ132と、を含む。タッチパネル131は、例えば、静電容量方式のものを用いることによって、ユーザの指などが接近したことを検出する。ディスプレイ132は、例えばLCD(Liquid Crystal Display)、有機EL(electroluminescence)その他の表示装置によって実現される。
入出力IF140は、ユーザ端末10への情報の入力を受け付けるとともに、ユーザ端末10の外部へ情報を出力するためのインタフェースとして機能する。
記憶部150は、フラッシュメモリ、HDD等により構成され、ユーザ端末10が使用するプログラム、及び、ユーザ端末10が第1サーバ装置20等から受信する各種データ等を記憶する。
音声処理部160は、音声信号の変復調を行う。音声処理部160は、マイク161から与えられる信号を変調して、変調後の信号を制御部190へ与える。また、音声処理部160は、音声信号をスピーカ162へ与える。音声処理部160は、例えば、音声処理用のプロセッサによって実現される。マイク161は、音声信号の入力を受け付けて制御部190へ出力するための音声入力部として機能する。スピーカ162は、音声信号を、ユーザ端末10の外部へ出力するための音声出力部として機能する。
撮像部170は、ユーザ端末10の周囲の現実画像を撮像するカメラである。撮像部170によって撮像された画像は、制御部190によって画像処理がなされ、ディスプレイ132へ出力される。
制御部190は、記憶部150に記憶されるプログラムを読み込んで実行することにより、ユーザ端末10の動作を制御する。制御部190は、例えば、アプリケーションプロセッサによって実現される。
制御部190がアプリケーションプログラム151を実行する処理について、より詳細に説明する。記憶部150は、アプリケーションプログラム151と、アプリケーション情報152と、ユーザ情報153と、を記憶する。
ユーザ端末10は、例えば、第1サーバ装置20からアプリケーションプログラム151をダウンロードして記憶部150に記憶させる。また、ユーザ端末10は、第1サーバ装置20と通信することで、アプリケーション情報152及びユーザ情報153等の各種のデータを第1サーバ装置20と送受信する。
アプリケーションプログラム151は、ユーザ端末10において仮想レースを表示するためのプログラムである。アプリケーション情報152は、アプリケーションプログラム151が参照する各種のデータを含む。アプリケーション情報152は、第1情報152A及びアクシデント情報152Bを含む。
第1情報152Aは、第1サーバ装置20や第2サーバ装置40から送信された所定のレースに関する情報である。第1情報152Aとしては、例えば、所定のレースの出場者または移動体(以下、「出場者等」とも称する)のレースタイムを示すレースタイム情報、所定のレースの実施中における出場者等の位置情報、当該位置情報に対応する時間情報等が含まれる。
本明細書において、「出場者」とは、人間だけでなく、馬や犬などの動物も含む概念である。また、「移動体」とは、所定のレースにおいて移動の主体となるものであり、出場者が乗る動物や機体、出場者が遠隔操縦する機体などである。マラソンやドッグレース等では、「出場者」と「移動体」は同一となる。
第1情報152Aとしては、上記の他にも、例えば、所定のレースの名称、開催日時、レース場データ、出場者データ、移動体データ、オッズ情報、レース予想、レース出走表、レース直前情報、ピットレポート、レース結果、レース動画、レース静止画、過去のレース情報、その他の所定のレースに関する情報誌や情報サイトに掲載されうるような情報などを含んでもよい。
アクシデント情報152Bは、所定のレースにおいて生じたアクシデントに関する情報である。アクシデント情報152Bは、所定のレースにおいてアクシデントが発生したことに応じて第1サーバ装置20から送信される情報であり、後述のアクシデント情報取得部196によって取得される。
アクシデント情報152Bは、例えば、所定のレースにおいてアクシデントが発生したことを示す発生情報、アクシデントの内容に関する詳細情報、ユーザへの注意喚起に関する情報等が含まれる。なお、アクシデントとは、例えば、失格や降着等のレースの順位に影響があるような出場者等のルール違反、出場者等のレースへの参加取り消し、レース開始時刻の変更、想定外の事故などである。注意喚起とは、例えば、アクシデントによる投票券の返金の有無等である。
ユーザ情報153は、ユーザ端末10のユーザについての情報を含む。ユーザ情報153は、例えば、ユーザを識別する情報、ユーザ端末10の位置情報、ユーザのレース購入履歴や的中率(例えば、ボートレースであれば購入した舟券の履歴と、購入した舟券の的中率)などを含んでもよい。
ユーザ情報153は、アプリケーションプログラム151を介したユーザの行動に関する行動情報153Aを含む。行動情報153Aには、例えば、後述の参加受付部197を介してユーザが賭博に使用した使用金額や、ユーザによるアプリケーションプログラム151の実行時間(例えば、ユーザのログイン時間)が含まれる。
行動情報153Aは、所定のタイミングにおいて、第1サーバ装置20から送信される情報であり、後述の行動情報取得部198によって取得される。所定のタイミングは、特に制限はされないが、例えば、ユーザが各種投票券を購入しようとするタイミング、第1サーバ装置20において各種投票券の購入に係る処理が完了したタイミング、ユーザ端末10が第1サーバ装置20との接続を開始したタイミング(ログインしたタイミング)、後述のアラート基準が満たされたタイミング等が挙げられる。なお、アプリケーションプログラム151の実行時間は、ユーザ端末10において管理されてもよい。
制御部190は、アプリケーションプログラム151を読み込んで実行することにより、操作入力受付部191と、送受信部192と、オブジェクト生成部193と、表示制御部194と、平坦面検出部195と、アクシデント情報取得部196と、参加受付部197と、行動情報取得部198と、の各機能を発揮する。
操作入力受付部191は、タッチスクリーン130の出力に基づいて、ユーザの操作入力を受け付ける。具体的には、操作入力受付部191は、ユーザの指などがタッチパネル131に接触または接近したことを、タッチスクリーン130を構成する面の横軸及び縦軸からなる座標系の座標として検出する。
操作入力受付部191は、タッチスクリーン130に対するユーザの操作を判別する。操作入力受付部191は、例えば、「接近操作」、「リリース操作」、「タップ操作」、「ダブルタップ操作」、「長押し操作(ロングタッチ操作)」、「ドラッグ操作(スワイプ操作)」、「ムーブ操作」、「フリック操作」、「ピンチイン操作」、「ピンチアウト操作」などのユーザの操作を判別する。
操作入力受付部191は、ユーザ端末10に搭載された加速度センサ等によって検出されるユーザ端末10の動きを、操作入力として受け付けてもよい。
送受信部192は、無線通信IF120及びネットワーク30を介して、第1サーバ装置20や第2サーバ装置40などの外部の通信機器と各種情報の送信および受信を行う。送受信部192は、例えば、第1サーバ装置20または第2サーバ装置40から第1情報152Aやアクシデント情報152B、行動情報153A等を受信する。また、送受信部192は、例えば、操作入力受付部191が受け付けた操作入力に応じた情報や、ユーザ情報153に記憶された情報等を第1サーバ装置20または第2サーバ装置40へと送信する。
オブジェクト生成部193は、所定のレースに関する第2情報をユーザに提示するための仮想オブジェクトを、第1情報に基づいて生成する。本明細書において、「第2情報」とは、例えば、第1情報152Aの少なくとも一部、又は、第1情報152Aから算出される情報である。ある局面において、「第2情報」は、テキストとして提示可能な情報でありうる。ある局面において、「第2情報」は、所定のレース中の出場者等の順位またはレース結果として出場者等の順位を示す順位情報でありうる。
オブジェクト生成部193は、仮想オブジェクトとして、レース場を表すレース場オブジェクトと、出場者等を表す移動オブジェクトと、を生成する。オブジェクト生成部193は、第2情報をテキスト表示するための仮想表示板を生成してもよい。オブジェクト生成部193は、上記の各オブジェクトの他にも、第2情報を画像表示するための仮想スクリーン、各種の建物オブジェクト、木などの景観を構成する景観オブジェクト、ユーザのアバターとなるオブジェクト等を生成してもよい。
表示制御部194は、撮像部70により撮像されたユーザ端末10の周囲の現実画像に、オブジェクト生成部193により生成された仮想オブジェクトを重畳させた画像(以下、「重畳画像」とも称する)を、ディスプレイ132上に表示させる。表示制御部194は、第1情報152Aに含まれるレースタイム情報に基づいて、レース場オブジェクト上において移動オブジェクトを移動させ、所定のレースを仮想的に再現した仮想レースをディスプレイ132上に表示させる。表示制御部194は、レースタイム情報に加えて、第1情報152Aに含まれる出場者等の位置情報、及び当該位置情報に対応する時間情報に基づいて、仮想レースを再現するものであることが好ましい。
また、表示制御部194は、現実世界における所定のレースの進行と略同時に仮想レースを表示可能であることが好ましい。すなわち、現実世界における所定のレースの進行と仮想レースの進行を略同期させて仮想レースを表示可能であることが好ましい。
表示制御部194は、操作入力受付部191が受け付けた操作入力に応じて、重畳画像における視点を変更可能であることが好ましい。表示制御部194は、操作入力受付部191が受け付けた操作入力に応じて、ディスプレイ132に各種のメニュー画面やGUI(Graphical User Interface)を表示させたり、ディスプレイ132の表示内容を変更したりする。
また、表示制御部194は、アラート条件が満たされた場合に、アラートを表示する。アラート条件は、現実世界における所定のレースにおいてアクシデントが発生したことを示す情報を第1サーバ装置20から受信すること、及びユーザ端末10(アプリケーションプログラム151)を介したユーザの行動がアラート基準を満たすことの少なくとも一方を含み、好ましくは両方を含む。
アラート基準は、特に制限はされないが、例えば、所定の第1期間において参加受付部197を介してユーザが賭博に使用した使用金額が所定の第1閾値を超えることや、所定の第2期間におけるユーザのアプリケーションプログラム151の実行時間が所定の第2閾値を超えることである。第1期間及び第2期間は、特に制限はされず、例えば、1日、2日、1週間、1月等の期間を適宜設定できる。第1期間及び第2期間は、同じであっても異なっていてもよい。第1閾値及び第2閾値は、特に制限はされず、全ユーザに一律の値を採用してもよいし、ユーザの年齢等の属性や過去の行動情報等に応じてユーザ毎に設定してもよいし、ユーザ自身によって設定可能にしてもよい。
アクシデントが発生したことを示す情報を受信した場合、表示制御部194は、例えば、アクシデントの発生を示す画像をディスプレイ132に表示する。また、受信した情報の内容に応じて、表示制御部194は、例えば、アクシデントの内容に関する情報及びアクシデントによるユーザへの注意喚起情報のうちの少なくとも一方、好ましくは両方をディスプレイ132に表示する。
また、アクシデントがルール違反である場合、表示制御部194は、仮想レースの表示中に、ルール違反をした出場者等に対応する移動オブジェクトの表示を変更する。移動オブジェクトの表示の変更としては、特に制限はされないが、例えば、「失格」等のテキスト画像の付加や、移動オブジェクトを非表示にすることが挙げられる。
また、表示制御部194は、仮想レースを表示している際に、出場者等の現在の順位を示す順位情報を表示しうる。出場者等がルール違反をした場合、表示制御部194は、例えば、順位情報に関連付けてアラートを表示する。
平坦面検出部195は、撮像部170により撮像された現実画像内における平坦面を検出する。平坦面の検出は、従来公知の画像認識技術によって実現される。例えば、平坦面検出部195が検出した平坦面を選択する操作をユーザが行った場合、当該平坦面にレース場オブジェクトが配置された重畳画像がディスプレイ132に表示される。
平坦面は、水平面であることが好ましい。また、平坦面とレース場オブジェクトを構成する底面とのなす角度は0度であってもよいが、鋭角であることが好ましく、例えば、15度~45度の範囲にすることができる。上記角度は、ユーザの操作を受け付けて調節する態様とすることもできる。また、現実世界の平坦面の一部に凸部がある場合や、当該平坦面に載置物がある場合であっても、当該凸部や当該載置物がレース場オブジェクトによって隠れる程度のサイズならば、レース場オブジェクトを配置可能は平坦面として検出してもよい。
アクシデント情報取得部196は、送受信部192を介して、第1サーバ装置20からアクシデント情報152Bを取得する。アクシデント情報152Bを取得したことに応じて、表示制御部194は、上述のようにアラートを表示する。
参加受付部197は、所定のレースに関する賭博への参加を受け付ける。具体的には、参加受付部197は、例えば、ボートレースにおける舟券の購入や、競馬における馬券の購入など、レースに関する各種投票券に関するユーザの購入指示を受け付ける。購入指示には、例えば、投票券の種別(例えば、複勝式、連勝単式、又は連勝複式等)、投票する出場者等(いわゆる買い目)、使用金額等に関する情報が含まれる。購入指示に関する情報は、送受信部192を介して、第1サーバ装置20に送信される。
行動情報取得部198は、送受信部192を介して、第1サーバ装置20から行動情報153Aを取得する。上述のように、取得した行動情報153Aがアラート基準を満たしている場合、表示制御部194は、アラートを表示する。
(第1サーバ装置)
図3は、第1サーバ装置20の機能的な構成を示すブロック図である。図3を参照して、第1サーバ装置20の詳細な構成を説明する。第1サーバ装置20は、プログラムに従って動作することにより、通信部220と、記憶部250と、制御部290としての機能を発揮する。
通信部220は、第1サーバ装置20がユーザ端末10や第2サーバ装置40などの外部の通信機器とネットワーク30を介して通信するためのインタフェースとして機能する。
記憶部250は、システム1を実現するための各種プログラム及びデータを記憶する。ある局面において、記憶部250は、プログラム251と、レース情報252と、ユーザ情報253とを記憶する。
プログラム251は、第1サーバ装置20がユーザ端末10や第2サーバ装置40と通信して、システム1を実現するためのプログラムである。プログラム251は、制御部290に実行されることにより、ユーザ端末10や第2サーバ装置40とデータを送受信する処理、ユーザ端末10のユーザが行った操作内容に応じた処理、レース情報252やユーザ情報253を更新する処理などを第1サーバ装置20に行わせる。
レース情報252は、所定のレースに関連する各種のデータを含む。レース情報252は、例えば、第1情報252Aと、アクシデント情報252Bと、を含む。第1情報252Aは、第1情報152Aの元となる情報であり、第1情報152Aは、第1情報252Aの一部でありうる。第1情報252Aは、例えば、第2サーバ装置40から取得された情報である。
アクシデント情報252Bは、アクシデント情報152Bの元となる情報であり、アクシデント情報152Bは、アクシデント情報252Bの一部でありうる。アクシデント情報252Bは、例えば、所定のレースにおいてアクシデントが発生したことに応じて、第2サーバ装置40から送信される情報である。
ユーザ情報253は、ユーザ端末10のユーザについての情報である。ユーザ情報253は、ユーザ管理テーブル253Aと、行動情報253Bと、を含む。ユーザ管理テーブル253Aは、例えば、ユーザを識別する情報、ユーザ端末10の位置情報、ユーザのレース購入履歴や的中率などをユーザ毎に記憶している。
行動情報253Bは、行動情報153Aの元となる情報であり、ユーザ毎に記憶されている。行動情報253Bは、ユーザの行動に応じて更新される。行動情報253Bに含まれるユーザによるアプリケーションプログラム151の実行時間は、例えば、ユーザ端末10と第1サーバ装置20との接続時間に応じて更新される。また、行動情報253Bに含まれるユーザが賭博に使用した使用金額は、例えば、後述の購入処理部294等による投票券の購入に係る処理が完了したことに応じて更新される。
制御部290は、プロセッサ29によって実現され、プログラム251を実行することにより、送受信部291、第1情報取得部292、アクシデント情報取得部293、購入処理部294、行動情報管理部295、データ管理部296、計時部297としての各機能を発揮する。
送受信部291は、通信部220及びネットワーク30を介して、ユーザ端末10や第2サーバ装置40などの外部の通信機器と各種情報の送信および受信を行う。送受信部291は、例えば、第1情報252A、アクシデント情報252Bの少なくとも一部、行動情報253Bの少なくとも一部をユーザ端末10へ送信する。また、送受信部291は、例えば、第1情報252A、アクシデント情報252B、及び行動情報253Bの一部を第2サーバ装置40から受信する。
第1情報取得部292は、送受信部291を介して、第1情報252Aを第2サーバ装置40から取得する。
アクシデント情報取得部293は、送受信部291を介して、第2サーバ装置40からアクシデント情報252Bを取得する。取得したアクシデント情報252Bの少なくとも一部は、送受信部291を介して、ユーザ端末10に送信される。
購入処理部294は、ユーザ端末10から送信された購入指示に関する情報に基づいて、投票券の購入処理を実行する。購入処理部294が購入処理を完了したことに応じて、行動情報253Bに含まれるユーザが賭博に使用した使用金額が更新されうる。なお、購入処理部294を、送受信部291を介して購入指示に関する情報を第2サーバ装置40に送信するものとし、投票券の購入処理は、第2サーバ装置40において実行してもよい。この場合、行動情報253Bに含まれる使用金額は、第2サーバ装置40から送信される情報に基づいて更新されうる。
行動情報管理部295は、ユーザ毎に行動情報253Bを管理する。行動情報管理部295は、例えば、購入処理部294等による購入処理の完了に応じて、該購入処理に要した使用金額を取得し、上述の第1期間においてユーザが賭博に使用した使用金額の累積額を管理する。累積額は、第1期間の終了とともにリセットされ、続いて次の第1期間における累積額の管理が開始される。
また、行動情報管理部295は、例えば、ユーザ端末10と第1サーバ装置20との接続時間を取得し、上述の第2期間におけるユーザによるアプリケーションプログラム151の実行時間の累積時間を管理する。累積時間は、第2期間の終了とともにリセットされ、続いて次の第2期間における累積時間の管理が開始される。
また、行動情報管理部295は、例えば、上述した所定のタイミングにて、行動情報253Bの少なくとも一部を、送受信部291を介してユーザ端末10に送信する。
データ管理部296は、第1情報取得部292、アクシデント情報取得部293、行動情報管理部295等における処理結果に従って、記憶部250に記憶される各種データを更新する処理を行う。計時部297は、時間を計測する処理を行う。計時部297によって計測される時間に基づいて、ユーザ端末10に表示される各種時間(例えば、レース開始までの時間など)が制御されうる。
(動作例)
次に、図4から図12を参照して、システム1における動作例について説明する。図4から図12を用いて説明する動作例は、ユーザ端末10がアクシデントの発生情報を受信するというアラート条件を満たした場合の例である。以下では、主に、所定のレースが賭博の対象となるボートレースである場合を例示して説明をするが、以下の説明は、所定のレースが他のレースであっても適用可能である。また、以下では、ユーザ端末10と第1サーバ装置20の間、及び第1サーバ装置20と第2サーバ装置40の間でデータの送受信を行うものとして説明をするが、ある局面においては、ユーザ端末10と第2サーバ装置40とで直接的にデータの送受信をするように構成してもよい。
図4は、現実世界のボートレース場の一例を示す模式図である。ボートレース場401には、2つのターンマーク403が設置されており、各ボートレーサーが乗るボート402a~402fによるレースが実施されている。レースが終了した場合、ボート402a~402fそれぞれのレースタイムを示すレースタイム情報が、第2サーバ装置40から第1サーバ装置20へと送信され、第1サーバ装置20からユーザ端末10へと送信される。
ボートレース場401には、撮像装置(カメラ)404a~404bが設けられている。撮像装置404aは、ボートレース場401の上方からボート402a~402fを視界に収める。撮像装置404bは、ボートレース場401の側方からボート402a~402fを視界に収める。撮像装置404a~404bによって撮像されたボート402a~402fの画像は、第2サーバ装置40へ送信される。第2サーバ装置40では、例えば、各画像の画像解析を行い、各画像の撮影時間におけるボート402a~402fそれぞれの位置を示す位置情報を算出する。算出された位置情報と、当該位置情報に対応する撮影時間に関する時間情報は、第1サーバ装置20へと送信され、第1サーバ装置20からユーザ端末10へと送信される。なお、位置情報の算出は、第1サーバ装置20において実施してもよい。
また、撮像装置404a~404bに代えて、又は加えて、ボート402a~402fに、GPSセンサ等の位置センサを設置してもよい。位置センサによって取得されたボート402a~402fの位置情報と、当該位置情報が取得された時間を示す時間情報とは、最終的にユーザ端末10へと送信される。
図5は、ユーザ端末10に表示される仮想オブジェクトの一例を示す模式図である。図5の例では、仮想オブジェクトとして、レース場オブジェクト501と、移動オブジェクト502a~502f(以下、まとめて「移動オブジェクト502」とも称する)と、2つのターンマークオブジェクト503と、仮想表示板505と、が示されている。
レース場オブジェクト501は、ボートレース場401を仮想的に表示したオブジェクトである。レース場オブジェクト501やターンマークオブジェクト503は、例えば、ボートレース場401のコース情報等のレース場・BR>Fータに基づいて作製されることが好ましく、ボートレース場401と対応する形状であることが好ましい。
移動オブジェクト502a~502fは、ボート402a~402fをそれぞれ仮想的に表示したオブジェクトであり、ボートを模した形状である。移動オブジェクト502a~502fは、レースタイム情報や、ボート402a~402fの位置情報および当該位置情報に対応する時間情報に基づいて、レース場オブジェクト501を移動する。すなわち、レース場オブジェクト501及び移動オブジェクト502a~502fによって、現実世界のレースが仮想的なレースとしてユーザ端末10上で表示される。
なお、ボート402a~402fの位置情報および時間情報がなくとも、レースタイム情報のみによって仮想レースを表示することも可能である。ただ、この場合、最終的な着順は現実世界のレースと同じものになるが、レース中の順位などのレース経過を再現することが困難である。
仮想表示板505は、テキスト情報を表示するオブジェクトである。仮想表示板505は、例えば、ボートレース場401において対応する存在のないオブジェクトである。仮想表示板505に表示するテキスト情報は、特に制限はされず、例えば、順位情報やオッズ情報等であってもよい。また、仮想表示板505に表示するテキスト情報は、ユーザの操作入力に基づいて変更可能であってもよい。
図6は、表示制御処理の一例を示すフローチャートである。なお、以下で説明する各フローチャートを構成する各処理の順序は、処理内容に矛盾や不整合が生じない範囲で順不同であり、並列的に実行されてもよい。また、各装置が実行する処理は、矛盾の生じない範囲で、他の装置によって実行されてもよい。
各フローチャートに示される処理は、制御部190がアプリケーションプログラム151を、制御部290がプログラム251をそれぞれ実行することにより実現される。まず、ステップS610において、制御部190は、カメラである撮像部170を起動する。撮像部170によって、ユーザ端末10の周囲の現実画像が撮像される。
ステップS620において、制御部190は、撮像部170によって撮像された画像内における平坦面を検出する。ステップS630において、制御部190は、検出した平坦面に仮想オブジェクトを配置する。
ここで、図7から図9を用いて、ステップS610、S620、及びS630の処理について具体的に説明する。図7は、撮像部170により撮像された現実画像の一例を示す模式図である。図7の例では、平坦なデスク701上に、キーボード702と、モニタ装置703と、が置かれている。
ステップS610において撮像部170が起動されると、ディスプレイ132上に、撮像部170によって撮像されている現実画像が表示される。次に、ステップS620において、制御部190は、撮像部170によって撮像された画像内、すなわちディスプレイ132に表示された画像内における平坦面を検出する。
図7では、領域704が平坦面として検出されている。領域704内にはキーボード702があるが、キーボード702はレース場オブジェクト501によって隠れる程度のサイズなので、制御部190は、領域704を平坦面として検出する。
図7に示す状態で、撮像部170によって撮像される位置を変更すれば、領域704の位置も変更されうる。領域704は、ディスプレイ132上において、例えば、所定の色を付加されて、他の部分とは区別可能に表示される。ユーザが領域704に対してタップ操作等を実行した場合、ステップS630において、制御部190は、領域704上にレース場オブジェクト501等の仮想オブジェクトを配置する。
図8は、現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図である。図8において、モニタ装置703を含むドットパターンを付した領域が現実画像であり、その他の領域は仮想オブジェクトが表示されている領域である。仮想オブジェクトが表示されていない領域には、例えば、広告画像を表示してもよい。
図8では、仮想オブジェクトとして、レース場オブジェクト501と、複数の移動オブジェクト502と、2つのターンマークオブジェクト503と、大型モニタオブジェクト506と、建物オブジェクト507a~507bと、その他の符号を付していない多数のオブジェクト(木オブジェクト、時計オブジェクト等)と、が表示されている。これらのオブジェクトは、例えば、第1サーバ装置20から受信した第1情報152Aに基づいて作製される。
図8は、領域704に含まれる平坦面と、レース場オブジェクト501を構成する底面とのなす角度が0度になるようにして、領域704上にレース場オブジェクト501を配置している。この場合、例えば、領域X1のような奥行方向にある領域や、移動オブジェクト502同士が重複して見づらくなることがある。また、大型モニタオブジェクト506の奥行方向側の領域などには、移動オブジェクト502が見えなくなる死角が生じうる。
しかし、図8に示す状態において、ユーザは、ディスプレイ132に表示される重畳画像の視点を変更可能である。例えば、ユーザがピンチイン操作やピンチアウト操作等の操作入力をした場合、撮像部170の視点位置がレース場オブジェクト501へ近づいたり遠ざかったりしうる。また、ユーザがユーザ端末10を持ったままディスプレイ132の奥行方向へ移動した場合や、手前方向に移動した場合も、撮像部170の視点位置がレース場オブジェクト501へ近づいたり遠ざかったりしうる。また、ユーザがディスプレイ132上の所定の位置を指定するような操作をした場合、視点位置が指定された位置へと移動しうる。このような視点変更によって、上述の視認性の問題は解消しうる。
また、平坦面とレース場オブジェクト501を構成する底面とのなす角度θが鋭角になるようにレース場オブジェクト501を配置することによっても、視認性に関する上述の問題を軽減しうる。
図9は、現実画像に仮想オブジェクトを重畳させて表示した画面の一例を示す模式図であり、図8に示すレース場オブジェクト501の別態様を示したものである。具体的には、図9は、所定のレースが競馬の場合の例である。
図9においても、モニタ装置703を含むドットパターンを付した領域が現実画像であり、その他の領域は仮想オブジェクトが表示されている領域である。図9では、仮想オブジェクトとして、レース場オブジェクト511と、複数の移動オブジェクト512と、大型モニタオブジェクト513と、池オブジェクト514と、複数の木オブジェクト515と、がディスプレイ132に表示されている。これらのオブジェクトも、例えば、第1サーバ装置20から受信した第1情報152Aに基づいて作製される。
レース場オブジェクト511、大型モニタオブジェクト513、池オブジェクト514、及び複数の木オブジェクト515は、例えば、現実世界における所定の競馬場のコース情報等のレース場データに基づいて作製されることが好ましい。複数の移動オブジェクト512は、例えば、競馬に出走する馬および騎手をそれぞれ仮想的に表示したオブジェクトである。
図6のフローチャートの説明に戻る。ステップS640において、制御部190は、現実世界のボートレース場401におけるボート402a~402fの位置情報を取得する。すなわち、現実世界においてボート402a~402fによるレースが開始された場合、制御部190は、第1サーバ装置20から、ボート402a~402fの位置情報および時間情報を取得する。位置情報および時間情報の取得方法は、図4を用いて説明したとおりである。
ステップS650において、制御部190は、ステップS640において取得した位置情報と移動オブジェクトとが連動するよう制御する。具体的には、時間情報と位置情報とを用いて、レース場オブジェクト501上におけるボート402a~402fそれぞれの動きが、ボートレース場401上における移動オブジェクト502a~502fと同様になるように制御する。
ステップS660において、制御部190は、アラート条件が満たされたことに応じて、アラート処理を実行する。アラート処理の詳細は、図10を用いて詳述する。なお、アラート条件が満たされない場合、ステップS660の処理は実行されない。
ステップS640、S650、及びS660の各処理は、少なくとも現実世界におけるレースの開始時点から終了時点まで繰り返されるが、現実世界におけるレースの開始前および終了後においても繰り返されてもよい。例えば、レース前における出場者等のレースへの参加取り消しやレース開始時刻の変更等があった場合、ステップS660の処理は、現実世界におけるレースの開始前に実行されうる。また、レース終了間際からレース終了後に出場者等のルール違反が判明した場合、ステップS660の処理は、現実世界におけるレースの終了後に実行されうる。
なお、仮想レースとして表示するレースが過去のレースである場合、仮想レースの開始前に、レースの開始から終了までのボート402a~402fの位置情報等をまとめて取得してもよい。また、位置情報等は取得せずに、レースタイム情報のみを取得して、仮想レースを表示してもよい。仮想レースとして表示するレースは、展示レースであってもよい。
図10は、上述のステップS660におけるアラート処理の一例を示すフローチャートである。ステップS661において、制御部190が、アクシデントの発生情報を受信した場合(ステップS661においてYes)、ステップS662へ進む。一方、ステップS661において、制御部190が、アクシデントの発生情報を受信しない場合(ステップS661においてNo)、処理を終了する。
ステップS662において、制御部190が、アクシデントの詳細情報を受信した場合(ステップS662においてYes)、ステップS663へ進む。ある局面において、制御部190は、アクシデントの発生情報とアクシデントの詳細情報を、略同時に受信する。
次に、ステップS663において、制御部190は、仮想レースの表示とともに、アラート及びアクシデントの詳細情報をディスプレイ132に表示させる。また、ステップS664において、制御部190は、仮想レースの表示とともに、注意喚起画像をディスプレイ132に表示させる。注意喚起の内容は、例えば、アクシデントの詳細情報の内容に基づいて制御部190が決定してもよいし、制御部290が決定し、制御部190へ送信してもよい。
また、ステップS665において、制御部190は、ルール違反をした出場者等に対応する移動オブジェクト502の表示を変更する。また、ステップS666において、制御部190は、仮想レースにおける現在の順位を示すために表示される順位情報に関連付けてアラートを表示し、終了する。
ここで、図11及び図12を用いて、ステップS663~S666の処理を具体的に説明する。図11は、アラート表示の一例を示す模式図であり、ステップS663における表示画面の一例である。
図11の例では、ディスプレイ132に仮想レースが表示されている。すなわち、レース場オブジェクト501上において、移動オブジェクト502a等が移動している。また、ディスプレイ132の中央部に、アラート画像1101と、詳細情報1102が表示されている。
アラート画像1101は、アクシデントの発生をユーザに報知するための画像であり、ステップS661においてアクシデントの発生情報を受信したことに基づいて表示される。アラート画像1101の形状、大きさ、及び表示位置は、特に制限されない。ユーザが認識し易くするという観点から、アラート画像1101の大きさは、例えば、移動オブジェクト502よりも大きいことが好ましく、アラート画像1101の表示位置は、例えば、ディスプレイ132の中央付近であることが好ましい。アラート画像1101は、「注意」等のテキスト画像であってもよい。
詳細情報1102は、アクシデントの詳細をユーザに報知するための画像であり、ステップS662においてアクシデントの詳細情報を受信したことに基づいて表示される。図11の例では、「3号艇 フライング」と表示されており、ルール違反をした出場者等と、ルール違反の内容が示されている。詳細情報1102には、例えば、ルール違反よるレースへの影響(例えば、失格など)が含まれてもよい。
詳細情報1102の大きさ、及び表示位置は、特に制限されない。ユーザが認識し易くするという観点から、詳細情報1102の大きさは、例えば、移動オブジェクト502よりも大きいことが好ましく、詳細情報1102の表示位置は、例えば、ディスプレイ132の中央付近であることが好ましい。また、詳細情報1102の表示位置は、アラート画像1101の近傍であることが好ましい。
なお、制御部190が、アクシデントの発生情報とアクシデントの詳細情報とを別々のタイミングで受信した場合、まず、アラート画像1101を表示し、アクシデントの詳細情報を受信したタイミングで、詳細情報1102を表示してもよい。このように構成した場合、アクシデントの発生をいち早くユーザに報知することができる。
また、アラート画像1101及び詳細情報1102は、表示開始からの所定の時間(例えば、数秒)の経過やユーザの操作入力に基づいて、ディスプレイ132の端部に移動させてもよいし、非表示にしてもよい。ディスプレイ132の中央付近にアラート画像1101等を表示すると、移動オブジェクト502がアラート画像1101の背後に隠れてしまって、仮想レースの観戦の邪魔になることもあるが、上記のように構成することで、仮想レースの観戦への影響を抑えることができる。また、同様の観点から、アラート画像1101及び詳細情報1102を、半透明にしてもよい。
図12は、アラート表示の一例を示す模式図であり、ステップS664~S666における表示画面の一例である。図12の例は、例えば、図11の表示画面から所定の時間が経過した後の表示画面であり、アラート画像1101及び詳細情報1102は非表示になっている。
図12の例では、注意喚起画像1201、付加画像1202、及び順位情報1203が表示されている。注意喚起画像1201に示される内容は、ルール違反の内容に応じて決定される。図12の例において、注意喚起画像1201には、ルール違反が発生したことによって投票券の返金の可能性があることが示されている。
付加画像1202は、ルール違反をした出場者等に対応する移動オブジェクト502に付加される。図12の例では、移動オブジェクト502cに「失格」と記された付加画像1202が付加されており、移動オブジェクト502cに対応する出場者等が失格になったことを示している。付加画像1202の付加は、ステップS665における表示変更の一例である。表示変更の例としては、特に制限はされず、例えば、付加画像1202の付加することに代えて、移動オブジェクト502cを非表示にしてもよい。
順位情報1203は、仮想レースにおける現在の順位を示すものである。順位情報1203は、仮想レースの表示中に表示されうるものであり、図11の例において表示されていてもよい。順位情報1203は、レース開始時から表示されていてもよいし、ユーザの操作入力等に応じて表示が開始されてもよい。
順位情報1203の3位の欄において、3号艇と示された横に、「失格」とのアラート表示がされており、3号艇が失格になったことを示している。順位情報1203に示される順位が変動しても、「失格」というアラート表示は、3号艇の横に表示される。なお、失格したことに応じて、3号艇(移動オブジェクト502c)の現在の位置情報に関係なく、順位情報1203の最下位の位置に3号艇を表示するようにしてもよい。
図10の説明に戻る。ステップS662において、制御部190が、アクシデントの詳細情報を受信しない場合(ステップS662においてNo)、ステップS667へ進む。ステップS667において、制御部190は、仮想レースの表示とともに、アラートをディスプレイ132に表示させる。ステップS667では、例えば、アラート画像1101は表示されるが、詳細情報1102は表示されない。
次に、ステップS668において、制御部190は、仮想レースの表示とともに、注意喚起画像をディスプレイ132に表示し、終了する。ステップS668では、ルール違反の内容が判明していないため、注意喚起の内容は一律となり、例えば、投票券の返金の可能性があることが示唆するものとなる。
なお、ステップS667又はS668の後に、制御部190がアクシデントの詳細情報を受信した場合、ステップS663~S666の少なくとも一部の処理が実行されてもよい。
次に、図13から図16を参照して、システム1における動作例の別例について説明する。図13から図16を用いて説明する動作例は、ユーザのアプリケーションプログラム151を介したユーザの行動がアラート基準を満たす、というアラート条件を満たした場合の例である。
図13は、アラート処理の一例を示すフローチャートである。具体的には、図13は、アラート基準を賭博におけるユーザの使用金額に関するものとした場合の例である。
まず、ステップS1310において、制御部190は、レースに関する賭博への参加を受け付ける。具体的には、制御部190は、ユーザの操作入力に基づいて、投票券の種別や買い目、使用金額等を含む購入指示を受け付ける。購入指示に関する情報は、制御部290に送信され、例えば、制御部290によって、投票券の購入処理がなされる。
次に、ステップS1320において、制御部190は、例えば、所定のタイミングにおいて、ユーザが投票券の購入に要した使用金額を制御部290から受信する。ステップS1320では、例えば、購入処理がなされる毎に該購入処理における使用金額を受信してもよいし、購入指示を受け付ける画面が表示される等のタイミングで第1期間における使用金額の累積額を受信してもよい。
また、ステップS1320では、第1期間における使用金額の累積額が第1閾値を超えたタイミングで累積額を受信してもよいし、累積額そのものではなく、累積額を超えたことを示す情報を受信してもよい。
第1期間における使用金額の累積額が第1閾値以下である場合(ステップS1330においてNo)、処理を終了する。一方で、第1期間における使用金額の累積額が第1閾値を超える場合(ステップS1330においてYes)、ステップS1340に進む。
次に、ステップS1340において、制御部190は、アラートを表示する。ステップS1340におけるアラートは、例えば、使用金額の累積額が第1閾値を超えたタイミングや、使用金額の累積額が第1閾値を超えた状態で購入指示を受け付ける画面が表示されたタイミングで表示される。
次に、ステップS1350において、制御部190は、第1期間の終了とともに、使用金額の累積額をリセットし、終了する。なお、第1期間の終了とともに、次の第1期間が開始され、次の第1期間における使用金額の管理が開始される。
図14は、アラート表示の一例を示す模式図であり、ステップS1340における表示画面の一例である。図14の例において、ディスプレイ132には、アラート画像1401が表示されている。アラート画像1401には、その日の使用金額の累積額が「〇円」(第1閾値)を超えたことと、のめり込みに注意する旨が示されている。
図14の例において、第1期間は1日間である。翌日になれば累積額はリセットされ、翌日において累積額が再び第1閾値を超えない限りは、アラート画像1401は表示されない。
また、第1期間とそれに対応する第1閾値は、複数設けてもよい。例えば、1日間に対応する第1閾値A、1週間に対応する第1閾値B、及び1月間に対応する第1閾値Cを設けて、1日間、1週間、及び1月間という期間のそれぞれで累積額を管理してもよい。
図15は、アラート処理の一例を示すフローチャートである。具体的には、図15は、アラート基準をユーザによるアプリケーションプログラム151の実行時間に関するものとした場合の例である。
まず、ステップS1510において、制御部190は、例えば、所定のタイミングにおいて、アプリケーションプログラム151の実行時間を制御部290から受信する。ステップS1510では、例えば、ユーザ端末10と第1サーバ装置20とが接続されている間の時間を示す情報を継続的に受信してもよい。また、第2期間における実行時間の累積時間が第2閾値を超えたタイミングで累積時間を受信してもよいし、累積時間そのものではなく、累積時間を超えたことを示す情報を受信してもよい。
第2期間における実行時間の累積時間が第2閾値以下である場合(ステップS1520においてNo)、処理を終了する。一方で、第2期間における実行時間の累積時間が第2閾値を超える場合(ステップS1520においてYes)、ステップS1530に進む。
次に、ステップS1530において、制御部190は、アラートを表示する。ステップS1530におけるアラートは、例えば、実行時間の累積時間が第1閾値を超えたタイミングや、実行時間の累積時間が第2閾値を超えた状態でアプリケーションプログラム151を開始したタイミングで表示される。
次に、ステップS1540において、制御部190は、第2期間の終了とともに、実行時間の累積時間をリセットし、終了する。なお、第2期間の終了とともに、次の第2期間が開始され、次の第2期間における実行時間の管理が開始される。
図16は、アラート表示の一例を示す模式図であり、ステップS1530における表示画面の一例である。図16の例において、ディスプレイ132には、アラート画像1601が表示されている。アラート画像1601には、その月の実行時間の累積時間が「〇時間」(第2閾値)を超えたことと、のめり込みに注意する旨が示されている。
図14の例において、第2期間は1月間である。翌月になれば累積時間はリセットされ、翌月において累積時間が再び第2閾値を超えない限りは、アラート画像1601は表示されない。また、第1期間と同様に、第2期間とそれに対応する第2閾値は、複数設けてもよい。
上記の実施形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
[付記事項]
本開示の内容を列記すると以下の通りである。
(項目1)
プロセッサ及び撮像部を備えた第1コンピュータにおいて実行されるプログラムであって、
前記プログラムは、前記プロセッサに、
現実世界における所定のレースに関する第1情報を第2コンピュータから受信するステップと、
前記第1情報に基づいて、レース場を表すレース場オブジェクトと、前記所定のレースの出場者又は移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記撮像部により撮像された前記第1コンピュータの周囲の現実画像に前記仮想オブジェクトを重畳させた重畳画像を表示するステップと、
アラート条件が満たされた場合に、アラートを表示するステップと、を実行させ、
前記重畳画像を表示するステップでは、前記第1情報に基づいて、前記レース場オブジェクト上において前記移動オブジェクトを移動させ、前記所定のレースを仮想的に表示し、
前記アラート条件は、現実世界における前記所定のレースにおいてアクシデントが生じたことを示すアクシデント情報を前記第2コンピュータから受信すること、及び前記第1コンピュータのユーザの前記第1コンピュータを介した行動がアラート基準を満たすことの少なくとも一方を含む、
プログラム。
これにより、現実世界のレースに連動した仮想オブジェクトを用いて現実世界のレースを仮想的なレースとして表示する際に、アクシデントの発生を認知し易くすること、及び、ユーザがレースに過度にのめり込むことを防止すること、の少なくとも一方が可能である。
(項目2)
前記アラートを表示するステップは、前記アクシデントの内容に関する情報及び前記アクシデントによる前記ユーザへの注意喚起情報のうちの少なくとも一方を表示することを含む、
項目1に記載のプログラム。
アクシデントの内容に関する情報を表示することにより、ユーザは、何が起きたのかを把握することができ、その後の仮想レースを十分に楽しむことが可能になる。また、ユーザへの注意喚起情報を表示することにより、例えば、ユーザが投票券を誤って破棄する等の事態が生じる可能性を低減できる。
(項目3)
前記アクシデントには、前記所定のレースにおける前記出場者又は前記移動体のルール違反が含まれ、
前記アクシデントが前記ルール違反である場合、前記アラートを表示するステップでは、さらに、前記所定のレースを仮想的に表示している際に前記ルール違反をした前記出場者又は前記移動体に対応する前記移動オブジェクトの表示を変更する、
項目1または項目2に記載のプログラム。
これにより、ルール違反をした出場者等に対応する移動オブジェクトを認識し易くなり、どの移動オブジェクトがルール違反をしたか分からずに混乱するという事態を防止でき、結果として、ユーザは、その後の仮想レースを十分に楽しむことができる。
(項目4)
前記変更が、前記所定のレースを仮想的に表示している際に前記ルール違反をした前記出場者又は前記移動体に対応する前記移動オブジェクトを非表示にすることである、
項目3に記載のプログラム。
これにより、仮想レースにおける見たままの順位がそのレースの実際の順位となるので、初心者であってもレース状況が分かり易くなる。
(項目5)
前記重畳画像を表示するステップは、さらに、前記所定のレースを仮想的に表示している際に、前記所定のレースにおける前記出場者又は前記移動体の順位を示す順位情報を表示することを含み、
前記アラートは、前記順位情報に関連付けて表示される、
項目1から項目4のいずれか一項に記載のプログラム。
これにより、順位情報を見て現在の順位を把握すると同時に、ルール違反をした出場者等をも簡単に把握できるようになり、ユーザの利便性を向上できる。
(項目6)
前記第1情報として、前記所定のレースの実施中における前記出場者又は前記移動体の位置情報と、前記位置情報に対応する時間情報と、を含み、
前記重畳画像を表示するステップでは、前記位置情報及び前記時間情報に基づいて、前記レース場オブジェクト上において前記移動オブジェクトを移動させ、現実世界における前記所定のレースの進行と略同時に前記所定のレースを仮想的に表示する、
項目1から項目5のいずれか一項に記載のプログラム。
これにより、アクシデントの発生や現在のレースの状況が分かり易い仮想レースを、実際のレースと同様に略リアルタイムで見ることが可能になる。
(項目7)
前記所定のレースは、賭博の対象となるレースであり、
前記プログラムは、前記プロセッサに、さらに、
前記ユーザによる前記賭博への参加を受け付けるステップと、
前記ユーザが前記賭博において使用した使用金額を取得するステップと、を実行させ、
前記アラート基準が、所定の第1期間における前記使用金額が所定の第1閾値を超えることである、
項目1から項目6のいずれか一項に記載のプログラム。
これにより、ユーザがレースに過度にのめり込むことを、より効果的に防止することができる。
(項目8)
前記プログラムは、前記プロセッサに、さらに、
前記ユーザの操作入力に基づいて前記第1コンピュータにおいて前記プログラムが実行された実行時間を取得するステップを実行させ、
前記アラート基準が、所定の第2期間における前記実行時間が所定の第2閾値を超えることである、
項目1から項目7に記載のプログラム。
これにより、ユーザがレースに過度にのめり込むことを、より効果的に防止することができる。
(項目9)
プロセッサ及び撮像部を備えた第1コンピュータにおいて実行される情報処理方法であって、
前記情報処理方法は、前記プロセッサに、
現実世界における所定のレースに関する第1情報を第2コンピュータから受信するステップと、
前記第1情報に基づいて、レース場を表すレース場オブジェクトと、前記所定のレースの出場者又は移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成するステップと、
前記撮像部により撮像された前記第1コンピュータの周囲の現実画像に前記仮想オブジェクトを重畳させた重畳画像を表示するステップと、
アラート条件が満たされた場合に、アラートを表示するステップと、を実行させることを含み、
前記重畳画像を表示するステップでは、前記第1情報に基づいて、前記レース場オブジェクト上において前記移動オブジェクトを移動させ、前記所定のレースを仮想的に表示し、
前記アラート条件は、現実世界における前記所定のレースにおいてアクシデントが生じたことを示すアクシデント情報を前記第2コンピュータから受信すること、及び前記第1コンピュータのユーザの前記第1コンピュータを介した行動がアラート基準を満たすことの少なくとも一方を含む、
情報処理方法。
これにより、現実世界のレースに連動した仮想オブジェクトを用いて現実世界のレースを仮想的なレースとして表示する際に、アクシデントの発生を認知し易くすること、及び、ユーザがレースに過度にのめり込むことを防止すること、の少なくとも一方が可能である。
(項目10)
プロセッサ及び撮像部を備えた情報処理装置であって、
前記プロセッサは、
現実世界における所定のレースに関する第1情報を第2コンピュータから受信し、
前記第1情報に基づいて、レース場を表すレース場オブジェクトと、前記所定のレースの出場者又は移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成し、
前記撮像部により撮像された前記情報処理装置の周囲の現実画像に前記仮想オブジェクトを重畳させた重畳画像を表示し、
アラート条件が満たされた場合に、アラートを表示するものであり、
前記重畳画像を表示することは、前記第1情報に基づいて、前記レース場オブジェクト上において前記移動オブジェクトを移動させ、前記所定のレースを仮想的に表示することを含み、
前記アラート条件は、現実世界における前記所定のレースにおいてアクシデントが生じたことを示すアクシデント情報を前記第2コンピュータから受信すること、及び前記情報処理装置のユーザの前記情報処理装置を介した行動がアラート基準を満たすことの少なくとも一方を含む、
情報処理装置。
これにより、現実世界のレースに連動した仮想オブジェクトを用いて現実世界のレースを仮想的なレースとして表示する際に、アクシデントの発生を認知し易くすること、及び、ユーザがレースに過度にのめり込むことを防止すること、の少なくとも一方が可能である。
(項目11)
第1プロセッサ及び撮像装置を備える第1コンピュータと、第2プロセッサを備え、前記第1コンピュータと通信接続可能な第2コンピュータと、を含むシステムあって、
前記第2プロセッサは、
現実世界における所定のレースに関する第1情報を取得し、
前記第1情報を前記第1コンピュータへ送信するものであり、
前記第1プロセッサは、
現実世界における所定のレースに関する第1情報を第2コンピュータから受信し、
前記第1情報に基づいて、レース場を表すレース場オブジェクトと、前記所定のレースの出場者又は移動体を表す移動オブジェクトと、を含む仮想オブジェクトを生成し、
前記撮像部により撮像された前記第1コンピュータの周囲の現実画像に前記仮想オブジェクトを重畳させた重畳画像を表示し、
アラート条件が満たされた場合に、アラートを表示するものであり、
前記重畳画像を表示することは、前記第1情報に基づいて、前記レース場オブジェクト上において前記移動オブジェクトを移動させ、前記所定のレースを仮想的に表示することを含み、
前記アラート条件は、現実世界における前記所定のレースにおいてアクシデントが生じたことを示すアクシデント情報を前記第2コンピュータから受信すること、及び前記第1コンピュータのユーザの前記第1コンピュータを介した行動がアラート基準を満たすことの少なくとも一方を含む、
システム。
これにより、現実世界のレースに連動した仮想オブジェクトを用いて現実世界のレースを仮想的なレースとして表示する際に、アクシデントの発生を認知し易くすること、及び、ユーザがレースに過度にのめり込むことを防止すること、の少なくとも一方が可能である。