(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024070199
(43)【公開日】2024-05-22
(54)【発明の名称】ゲーム装置、ゲームシステム、及びゲームプログラム
(51)【国際特許分類】
A63F 13/213 20140101AFI20240515BHJP
A63F 13/428 20140101ALI20240515BHJP
G06F 3/01 20060101ALI20240515BHJP
【FI】
A63F13/213
A63F13/428
G06F3/01 510
G06F3/01 570
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023032306
(22)【出願日】2023-03-02
(31)【優先権主張番号】P 2022180227
(32)【優先日】2022-11-10
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】522440658
【氏名又は名称】株式会社1009
(74)【代理人】
【識別番号】100191189
【弁理士】
【氏名又は名称】浅野 哲平
(74)【代理人】
【識別番号】100199761
【弁理士】
【氏名又は名称】福屋 好泰
(72)【発明者】
【氏名】尾本 憲彦
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA64
5E555AA76
5E555BA01
5E555BA04
5E555BA20
5E555BB01
5E555BB04
5E555BB20
5E555BC04
5E555BD01
5E555BE09
5E555CA06
5E555CA12
5E555CA17
5E555CA21
5E555CA44
5E555CB66
5E555CC01
5E555DA01
5E555DB03
5E555DB41
5E555DB53
5E555DB56
5E555DB57
5E555DC09
5E555DC84
5E555DD06
5E555EA05
5E555EA07
5E555EA09
5E555FA00
(57)【要約】
【課題】製造コストを低減することができるゲーム装置、ゲームシステム、及びゲームプログラムを提供する。
【解決手段】ディスプレイを有し、体感ゲームに関する処理を実行する汎用コンピュータと、前記汎用コンピュータと通信可能なコントローラと、を備え、前記コントローラは、ユーザの動作を検出する検出部を備え、前記汎用コンピュータは、前記コントローラから受信した動作を前記体験ゲームにおけるキャラクターの動きに反映させる処理部を備える、ゲーム装置。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ディスプレイを有し、体感ゲームに関する処理を実行する汎用コンピュータと、
前記汎用コンピュータと通信可能なコントローラと、
を備え、
前記コントローラは、ユーザの動作を検出する検出部を備え、
前記汎用コンピュータは、前記コントローラから受信した動作を前記体験ゲームにおけるキャラクターの動きに反映させる処理部を備える、ゲーム装置。
【請求項2】
前記汎用コンピュータに接続され、前記ユーザに向かって光を照射する発光装置を備え、
前記コントローラは、前記発光装置を撮像し画像を生成する撮像部を備え、
前記画像における前記光の位置に基づいて、前記ディスプレイ内における、前記コントローラによって指し示されている位置座標を算出することを特徴とする、請求項1に記載のゲーム装置。
【請求項3】
請求項1または請求項2に記載のゲーム装置と、
前記キャラクターに付与される身体能力が数値化された身体能力値を有するNFTを提供するNFTプラットフォームと、
を備え、
前記汎用コンピュータの処理部は、前記NFTプラットフォームから取得した前記NFTの身体能力値を加味して、前記コントローラから受信した動作を前記キャラクターの動きに反映させることを特徴とする、ゲームシステム。
【請求項4】
体感ゲーム内のキャラクターに付与される身体能力が数値化された身体能力値を有するNFTを提供するNFTプラットフォームと通信可能なコンピュータに、
前記NFTプラットフォームから取得した前記NFTの身体能力値を読み込む読込ステップ、
コントローラが検出したユーザの動作を受信する受信ステップ、
前記読み込んだ身体能力値を加味して前記受信した動作をキャラクターの動作に反映させる反映ステップ、
を実行させるゲームプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム装置、ゲームシステム、及びゲームプログラムに関する。
【背景技術】
【0002】
近年、ユーザの動作を検知し、検知した動作に対応させてゲーム内のキャラクタを動作させるゲームシステムが知られている。例えば、特許文献1に記載のゲームシステムは、加速度センサを有するコントローラと、ゲーム装置本体と、を備えている。当該ゲーム装置本体は、コントローラから、加速度データを含む操作データを取得するコントローラ通信部と、加速度データに基づいて振り入力が行われたことを判定し、振り入力の判定に基づいてゲーム処理を行うCPUと、を備えている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1のゲームシステムは、その設置態様の一つとして、ゲーム装置本体が、表示装置であるテレビに接続される。このような設置態様のもと、ゲーム装置本体は、ゲーム処理に応じて生成した表示画像をテレビに表示させる。しかし、当該設置態様では、テレビにゲーム内容が表示され、且つ、テレビ前にはプレーヤが存在するため、プレーヤ以外の人物が放送番組を視聴することは困難であった。そのため、特許文献1のゲームシステムは、ゲーム装置本体がタッチパネルディスプレイを備えており、テレビに接続しない態様でもゲームを行うことができるよう構成されている。
【0005】
上記のように、特許文献1のゲームシステムは、ゲーム装置本体にタッチパネルディスプレイが設けられているだけでなく、処理能力の高いCPU等が備えられているため、システム全体としての製造コストが高くなる傾向がある。そこで、本願発明は、製造コストを低減することができるゲーム装置、ゲームシステム、及びゲームプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明のゲーム装置は、ディスプレイを有し、体感ゲームに関する処理を実行する汎用コンピュータと、前記汎用コンピュータと通信可能なコントローラと、を備え、前記コントローラは、ユーザの動作を検出する検出部を備え、前記汎用コンピュータは、前記コントローラから受信した動作を前記体験ゲームにおけるキャラクターの動きに反映させる処理部と、を備える、ことを特徴とする。
【0007】
また、本発明のゲーム装置は、前記汎用コンピュータに接続され、前記ユーザに向かって光を照射する発光装置を備え、前記コントローラは、前記発光装置を撮像し画像を生成する撮像部を備え、前記画像における前記光の位置に基づいて、前記ディスプレイ内における、前記コントローラによって指し示されている位置座標を算出することを特徴とする。
【0008】
本発明のゲームシステムは、上記のゲーム装置と、前記キャラクターに付与される身体能力が数値化された身体能力値を有するNFTを提供するNFTプラットフォームと、を備え、前記汎用コンピュータの処理部は、前記NFTプラットフォームから取得した前記NFTの身体能力値を加味して、前記コントローラから受信した動作を前記キャラクターの動きに反映させることを特徴とする。
【0009】
本発明のゲームプログラムは、体感ゲーム内のキャラクターに付与される身体能力が数値化された身体能力値を有するNFTを提供するNFTプラットフォームと通信可能なコンピュータに、前記NFTプラットフォームから取得した前記NFTの身体能力値を読み込む読込ステップ、コントローラが検出したユーザの動作を受信する受信ステップ、前記読み込んだ身体能力値を加味して前記受信した動作をキャラクターの動作に反映させる反映ステップ、を実行させる、ことを特徴とする。
【発明の効果】
【0010】
本発明のゲーム装置、ゲームシステム、及びゲームプログラムの提供方法は、製造コストを低減することができる。その結果、特許文献1等の体感ゲームのハードウェア本体の独占供給状態を解消することができる。
【図面の簡単な説明】
【0011】
【
図1】(a)本発明の第1実施形態に係るゲーム装置の概略外観図である。(b)当該ゲーム装置の概略構成図である。
【
図2】上記ゲーム装置が備えるコンピュータのハードウェアの概略構成図である。
【
図3】(a)上記ゲーム装置が備えるコントローラの外観平面図である。(b)当該コントローラの外観前面図、(c)当該コントローラの内部におけるモジュールの配置態様の概略図、(d)当該コントローラのハードウェアの概略構成図である。
【
図4】本発明の第2実施形態に係るゲームシステムの概略構成図である。
【
図5】(a)走力値30が付与された走力NFTを示す図、(b)走力値90が付与された走力NFTを示す図である。
【
図6】(a)体感ゲームのタイトル表示の一例を示す図、(b)キャラクターの設定画面の一例を示す図である。
【
図7】ゲーム装置が実行する設定処理のフロー図である。
【
図8】本発明の第3実施形態に係るオンラインゲームシステムの概略構成図である。
【
図9】第3実施形態における試合処理のフロー図である。
【
図10】(a)上記試合処理における通信態様を示す図、(b)当該試合処理における描画態様を示す図。
【
図11】NFTプラットフォームの構成を示す図である。
【
図12】身体能力値を変更する際の変更フローである。
【
図13】(a)キャラクターフィギュアの正面図、(b)キャラクターフィギュアの平面図。
【
図14】(a)変形例に係るコントローラの平面図、(b)コントローラの正面図、(c)コントローラの側面図、(d)コントローラのブロック図。
【発明を実施するための形態】
【0012】
[第1実施形態]
【0013】
本発明の第1実施形態に係るゲーム装置を図面に基づいて説明する。
【0014】
図1に示すように、第1実施形態に係るゲーム装置100は、ユーザの動きを検出し、当該検出した動きをゲームに反映させる、いわゆる体感ゲームを提供する装置であって、ユーザが使用する汎用コンピュータ10(以下、「ユーザコンピュータ10」という。)と、当該ユーザコンピュータ10と通信可能な入力装置20と、を備えている。
【0015】
ユーザコンピュータ10は、代表的には公知のタブレット端末であるが、タブレット端末に限定されず、スマートフォンであっても構わない。すなわち、ユーザコンピュータ10はスマートデバイスであっても構わない。また、ユーザコンピュータ10はスマートデバイスに限定されず、ディスプレイを有するノート型のパソコンやデスクトップ型のパソコンであっても構わない。以下、タブレット端末を例に、ユーザコンピュータ10を説明する。
【0016】
図2に示すように、ユーザコンピュータ10は、体感ゲームのアプリケーション(以下、「体感アプリ」という。)を記憶する記憶部として機能するメモリ11と、メモリ11に記憶された体感アプリを実行するCPU12と、を備えている。CPU12が当該体感アプリを実行することで、ユーザコンピュータ10は、体感ゲーム機本体として機能する。ユーザコンピュータ10は、その正面側にタッチパネルディスプレイ13を備えている。当該タッチパネルディスプレイ13は、ユーザに提示する画像を表示する表示部として機能し、且つユーザのタッチ入力を受け付けるタッチ入力受付部として機能する。また、ユーザコンピュータ10は、カメラ17を備えている。また、ユーザコンピュータ10は、その通信用コネクタに接続された機器とUSB規格に基づいて通信を行うUSB通信部として機能するUSBモジュール14と、ユーザコンピュータ10の近くで操作される入力装置20とBluetooth(登録商標)規格に基づいて通信を行う近距離無線通信部として機能するBluetoothモジュール15と、インターネット通信回線などのネットワーク上に設けられている他の装置と通信するネットワーク通信部として機能するネットワークモジュール16と、を備えており、タッチパネルディスプレイ13、これらのモジュール14,15,16、及びカメラ17は、CPU12と通信可能となるように設けられている。
【0017】
図1に示すように、本実施形態に係るゲーム装置100は、上記ユーザコンピュータ10と無線通信可能なコントローラ20を備えている。当該コントローラ20は、ユーザの動作をコンピュータ10に入力する入力装置として機能するものであり、
図3(a),(b)に示すように、ユーザが把持可能なサイズの柱状の筐体を有している。当該筐体の上面には、ジョイスティック21と複数のプッシュスイッチ22が設けられている。当該ジョイスティック21は、ユーザによって操作された方向に応じた信号を出力する。また、複数のプッシュスイッチ22の各々は、ON又はOFFの信号を出力する。
【0018】
図3(c)に示すように、コントローラ20内(筐体内)には、モーションセンサモジュール23が設けられている。モーションセンサモジュール23は、ユーザの動作を検出する動作検出部として機能するセンサモジュールであり、コントローラ20の中央部分に配置されている。当該モーションセンサモジュール23は代表的には加速度センサを備える。加速度センサは、ユーザによって操作されたコントローラ20の姿勢(傾き)や、コントローラ20の移動操作やスイング操作によって生じた加速度を検出し、検出した加速度に応じた信号を出力する。
【0019】
また、コントローラ20内(筐体内)には、イメージセンサモジュール24が設けられている。当該イメージセンサモジュール24は、コントローラ20の先端部に配置されており、コントローラ20の前方を撮像する撮像部として機能する。当該イメージセンサモジュール24は、コントローラ20の先端に設けられた窓24aおよびレンズ24bを介して光を受光するイメージセンサを備えている。当該イメージセンサモジュール24は、所定の周期で撮像を行い、各受光素子が受光した赤外線の光強度に応じた信号を出力する。
【0020】
図3(d)に示すように、上記ジョイスティック21、プッシュスイッチ22、モーションセンサモジュール23、及びイメージセンサモジュール24の各々は、その出力がマイコン25と電気的に接続されており、マイコン25は、これらのスイッチ21,22およびモジュール23,24から入力された信号に基づいて操作情報を生成する。操作情報は、ジョイスティック21およびプッシュスイッチ22からの入力に基づくスイッチ入力情報、及びモーションセンサモジュール23からの入力に基づく動作情報を含む。当該動作情報には、コントローラ20の姿勢に対応する値、コントローラ20の移動量に対応する値、スイング強度に対応する値が含まれる。このようにマイコン25は操作情報を生成する生成部として機能する。
【0021】
コントローラ20は、更に、ユーザコンピュータ10とBluetooth規格に基づいて無線通信を行う近距離無線通信部として機能するBluetoothモジュール26を備えている。当該Bluetoothモジュール26はマイコン25と電気的に接続されている。マイコン25は、Bluetoothモジュール26を介して、上記生成した操作情報を、ユーザコンピュータ10へと送信する。
【0022】
ここで、本実施形態のゲーム装置100は、
図1に示すように、ユーザコンピュータ10に取り付けられる発光装置30を備えている。発光装置30は、細長い棒状体の筐体と、当該筐体内に収容された複数の(本実施形態では2つの)赤外線LED31と、を備えている。当該筐体には、その中央部分に、ユーザコンピュータ10の通信コネクタに接続されるオス型の端子が突出するように設けられており、当該端子がユーザコンピュータ10に接続されることで、筐体がユーザコンピュータ10に沿って延在するように配置されることとなる。当該筐体の正面側は半透明に形成されており、筐体の両端部に赤外線LED31が内蔵されている。当該赤外線LED31は、オス型コネクタを介してユーザコンピュータ10から供給される電力によって発光する。赤外線LED31の光は、半透明の筐体正面を介して、ユーザコンピュータ10の正面でプレイするユーザに向けて出射される。
【0023】
図3(d)に示すように、コントローラ20のイメージセンサモジュール24は、各受光素子が受光した赤外線の光強度に応じた信号をマイコン25に入力する。マイコン25は、入力された信号に基づいて、イメージセンサモジュール24の画角、すなわち信号に基づいて生成される画像における赤外線LED31を検出し、検出した赤外線LED31の座標同士の間隔を算出する。そして、マイコン25は、算出した間隔に基づいて発光装置30とコントローラ20の距離を算出し、当該距離と赤外線LED31の座標に基づいて、コントローラ20が、ユーザコンピュータ10のタッチパネルディスプレイ13のどの位置を指し示しているかを算出し、算出した位置情報をユーザコンピュータ10に対して送信する。
【0024】
上記のように構成されるゲーム装置100は、発光装置30がユーザコンピュータ10に接続された場合に、その赤外線LED31が発光する。そして、ユーザがコントローラ20を操作すると、コントローラ20のマイコン25は、各スイッチ21,22やモーションセンサモジュール23から入力された信号に基づいて、当該操作に対応した操作情報を生成し、Bluetoothモジュール26を介して、操作情報をユーザコンピュータ10へと送信する。また、コントローラ20がコンピュータ10のタッチパネルディスプレイ13に向けられた場合には、コントローラ20のマイコン25は、検出した赤外線LED31の座標に基づいて位置情報を生成し、Bluetoothモジュール26を介して、位置情報をコンピュータ10へと送信する。ユーザコンピュータ10のCPU12は、Bluetoothモジュール15を介して取得した操作情報に基づいてユーザの動作を特定し、特定した動作を体感ゲームにおけるキャラクターの動きに反映させる。また、ユーザコンピュータ10のCPU12は、Bluetoothモジュール15を介して取得した位置情報に基づいて、コントローラ20が向けられている画面中の座標を特定し、特定した座標にポインタを表示させる。
【0025】
本実施形態に係るゲーム装置100は、ユーザが所有している汎用コンピュータ10を体感ゲーム機本体として利用することができるので、ゲーム装置100全体としての製造コストを低減させることができる。
【0026】
[第2実施形態]
【0027】
図4に示すように、第2実施形態に係るゲームシステム200は、上記第1実施形態と同様に体感ゲームを行うことができるゲーム装置100を備えており、当該ゲーム装置100は、第1実施形態と同様に構成されたユーザコンピュータ10、コントローラ20、及び発光装置30を備えている。しかし、本実施形態に係るゲームシステム200では、ゲーム装置100が、体感ゲーム内で使用するキャラクターの身体能力をカスタマイズすることが可能である点で第1実施形態と異なっている。以下、第1実施形態と同様の構成については説明を適宜省略することとし、異なる構成や処理を中心に説明することとする。
【0028】
本実施形態のゲームシステム200は、
図4に示すように、インターネット通信回線を介して、ゲーム装置100と通信可能なNFTプラットフォーム210を備えている。当該NFTプラットフォーム210はNFTを購入することができるNFTマーケットとして機能するものであり、ユーザが、当該NFTプラットフォーム210において提供される身体能力NFTを購入することで、当該身体能力NFTに基づいてキャラクターの身体能力をカスタマイズすることができる。
【0029】
ここで、NFTプラットフォーム210によって提供される身体能力NFTとは、キャラクターの身体能力に関するNFTであって、代表的には、走力NFT、跳躍力NFT、持久力NFTなどである。例えば、走力NFTは、キャラクターの走力に関する属性が付与されたNFTであり、その属性値として走力に関する値(以下、「走力値」という。)が定められている。走力値は1から100までの何れかの数値が定められる。
図5(a)に示す走力NFTは、走力値が30に設定されており、その属性および走力値に対応する画像を有している。また、
図5(b)に示す走力NFTは、走力値が90に設定されており、その属性および走力値に対応する画像を有している。他の身体能力NFTも同様に、身体能力に関する属性が付与されており、属性値としての身体能力値が1から100までの何れかの値に定められている。また、他の身体能力NFTは、当該身体能力および身体能力値に対応する画像コンテンツを有する。このような属性(身体能力の種類)および属性値(身体能力値)は後述するメタデータとしてNFTプラットフォーム210に記憶されており、画像コンテンツは対象データとしてNFTプラットフォーム210に記憶されている。
【0030】
ゲーム装置100が備えるユーザコンピュータ10には、上記NFTプラットフォーム210にアクセスするNFTアプリケーション(以下、「NFTアプリ」という。)と、身体能力NFTを購入するためのウォレットアプリケーション(以下、「ウォレットアプリ」という。)と、がインストールされており、ウォレットアプリの初期処理において秘密鍵が設定されている。ユーザは、ユーザコンピュータ10を操作して、NFTアプリを起動させてNFTプラットフォーム210にアクセスし、所望する身体能力NFTを選択し、ウォレットアプリを起動させて選択した身体能力NFTを購入する。当該購入された身体能力NFTに関する情報(身体能力値および画像コンテンツ)はウォレットアプリの秘密鍵を用いて参照可能に管理される。また、当該取引における取引履歴は、後述するように、NFTプラットフォーム210が備える複数のノードに設けられたブロックチェーンに記録されることとなる。
【0031】
上記のように取得した身体能力NFTは、体感アプリのプログラムにおけるキャラクターの設定処理において、キャラクターに反映される。キャラクターの設定処理は、体感アプリ起動後のタイトル表示処理から移行する。具体的には、タイトル表示処理は、体感アプリのタイトルを表示する処理であって、
図6(a)に示すように、タイトル画像221と、当該タイトル画像221上に重畳的に表示されたゲーム開始GUI222と、設定GUI223と、を表示する処理である。ゲーム開始GUI222は、体感ゲームの本編(本実施形態ではテニスの試合)の処理へと移行するGUIである。設定GUI223は、キャラクターの設定処理へと移行するGUIである。以下、キャラクターの設定処理のフローを
図7に基づいて説明する。
【0032】
設定処理は、NFTプラットフォーム210において購入した身体能力NFTをキャラクターの身体能力に設定する処理であって、
図7に示すように、取得処理s11、反映処理s12、及び表示処理s13を実行する。取得処理s11は、ウォレットを介して身体能力NFTに関する情報を取得する処理である。当該取得処理s11において身体能力NFTを取得すると、反映処理s12が実行される。反映処理s12は、身体能力NFTが有する身体能力値をキャラクターの身体能力に反映させる処理である。そして、表示処理s13において、
図6(b)に示すように、身体能力NFTが反映された身体能力が表示される。なお、キャラクターの身体能力は、予め初期値が定められており、身体能力NFTが購入されていない身体能力については、当該初期値が設定される。
【0033】
本実施形態のゲーム装置100は、そのユーザコンピュータ10が、身体能力NFTを販売するNFTプラットフォーム210に対して通信可能に設けられており、身体能力NFTを購入することができる。購入された身体能力NFTは、ユーザコンピュータ10が実行する体感アプリの設定処理において、キャラクターの身体能力として反映される。例えば、高い筋力値が付与された筋力NFTが身体能力に反映された場合において、スイング動作に関する操作情報を受信すると、当該スイング動作によって打たれたボールの移動量がより多く算出されることとなる。このように、ユーザコンピュータ10のCPU12は、コントローラ20から操作情報が入力された場合に、身体能力NFTによって付与された身体能力を加味して、当該操作情報をキャラクターの動作に反映することができるので、体感ゲームのゲーム性をより向上させることが可能となる。
【0034】
[第3実施形態]
【0035】
第3実施形態に係るオンラインゲームシステム300は、
図8に示すように、複数のゲーム装置100と、NFTプラットフォーム210と、を備えている。複数のゲーム装置100は、複数のユーザが個々に使用するゲーム装置100であって、第2実施形態と同様の構成を有している。NFTプラットフォーム210は、第2実施形態と同様に身体能力NFTを提供するものであり、複数のゲーム装置100の各々と通信可能に設けられている。ここで、本実施形態のオンラインゲームシステム300は、複数のゲーム装置100の各々と、インターネット通信回線を介して通信可能なゲームサーバ310を備えており、複数のゲーム装置100は、当該ゲームサーバ310を介して操作情報を相互に伝達することで、オンラインで体感ゲームを実施することが可能となっている。以下、本実施形態において、第1実施形態および第2実施形態と異なる構成を中心に説明し、上記第1実施形態および第2実施形態と同様の構成については適宜説明を省略する。
【0036】
ゲームサーバ310は、インターネット通信回線を介して各ゲーム装置100と通信するためのネットワークモジュールを備えている。当該ネットワークモジュールは、ゲームサーバ310に設けられているCPUと電気的に接続されており、各ゲーム装置100から受信した情報をCPUへと入力し、CPUから入力された情報を対応するゲーム装置100に対して送信する。当該CPUは、メモリに記憶されているプログラムを実行することで、後述する処理を実行する。
【0037】
ゲーム装置100各々のコンピュータ10のメモリ11には、同期型のオンラインゲームとしてプレイすることができる体感アプリが記憶されている。この同期型のオンラインゲームとは、各ゲーム装置100が検出した操作情報を、その都度、ゲームサーバ310を介して相互に送受信し、送受信したタイミングで同期をとってゲームを展開するオンラインゲームである。以下、同期型のオンラインゲームとしてプレイすることができる体感型のテニスアプリを例にして説明する。
【0038】
各ゲーム装置100のユーザコンピュータ10は、テニスアプリを起動すると、
図6(a)に示すように、当該アプリのタイトルを表示するタイトル表示処理を実行する。当該タイトル表示処理において、上記第2実施形態で説明したように、設定GUI223がユーザによって選択された場合には、
図7に示す設定処理が実行される。一方で、ゲーム開始GUI222が選択された場合には、ユーザコンピュータ10のCPU12は、身体能力取得処理、対戦相手決定処理、試合処理、及び結果表示処理をこの順に実行する。
【0039】
身体能力取得処理は、キャラクターに設定されている身体能力値を取得する処理である。なお、第2実施形態と同様に、キャラクターの身体能力は、予め初期値が定められており、設定処理により身体能力NFTが設定されていない身体能力については、当該初期値が設定される。
【0040】
対戦相手決定処理は、テニスの試合における対戦相手(試合相手)を決定する処理である。当該処理は、例えば、ゲームサーバ310にログインすることで、ゲームサーバ310によって対戦相手がランダムに選択される。他の決定態様としては、ゲームサーバ310にログインした後に、ゲームサーバ310から対戦可能なユーザ情報を取得して、当該ユーザ情報から選択したユーザを対戦相手として決定しても良い。対戦相手が決定されると、ゲームサーバ310は、対戦相手のゲーム装置100のアドレス情報を対応付けて管理する。また、ユーザコンピュータ10は、ゲームサーバ310を介して、自己のキャラクターの身体能力値を対戦相手に送信し、対戦相手のキャラクターの身体能力値を受信する。
【0041】
試合処理は、上記試合相手決定処理によって決定された試合相手と試合をする処理であって、
図9に示すように、操作情報取得処理s21、判定処理s22、及び描画処理s23を所定の周期で実行する。
【0042】
操作情報取得処理s21は、第1取得処理、送信処理、及び第2取得処理を含む。
図10(a)に示すように、第1取得処理は、ユーザのユーザコンピュータ10aのCPU12が、当該ユーザコンピュータ10aにペアリングされているコントローラ20aから操作情報(スイング操作)を取得する処理である。送信処理は、第1取得処理において取得した操作情報をゲームサーバ310に対して送信する処理である。ゲームサーバ310のCPUは、操作情報を受信すると、受信元のアドレス情報に基づいて対戦相手を特定し、特定した対戦相手のアドレスに対して操作情報を転送する。第2取得処理は、対戦相手の操作情報(左スイッチ操作)を受信する処理であって、ゲームサーバ310から送信された操作情報を、ネットワークモジュールを介して、取得する。
【0043】
判定処理s22は、ゲームの進行状況に応じた種々の判定を行う処理であり、上記取得処理s21において取得した操作情報およびキャラクターの身体能力に基づいた判定処理が含まれる。例えば、
図10(a)に示すように、第1取得処理において、操作情報としてスイング操作を取得した場合には、当該スイングタイミングと表示されているボールの位置座標に基づいて当たり判定が実施される。ここで、操作情報にはスイング強度に対応する値(スイング値)が含まれており、当該スイング値と身体能力における筋力値が加味されて当たり判定が実施される。例えばスイング値に筋力値を乗じることでボールに対して加えられる力を算出し、当該力の値に基づいて、打たれたボールの移動量が判定される。また、第2取得処理において、操作情報として左スイッチ操作を取得した場合には、所定の移動量に対して対戦相手の走力値を乗じて、キャラクターの移動量が判定される。当該判定処理s22の結果に基づいて、描画処理s23が実行される。
【0044】
結果表示処理は、上記試合の結果を表示する処理であり、結果を所定時間表示した後には、試合相手決定処理が実行されることとなる。
【0045】
本実施形態によれば、キャラクターの身体能力が、ゲームサーバ310を介して、対戦相手に送信され、当該身体能力が加味されてゲームが展開されることとなる。すなわち、身体能力NFTによってカスタマイズされた身体能力を有するユーザオリジナルのキャラクターを用いてオンラインゲームを実施することが可能となるので、対戦相手のバリエーションを増やすことが可能となる。
【0046】
<NFTプラットフォーム>
【0047】
上記第2実施形態および第3実施形態が有するNFTプラットフォーム210の構成について、説明する。
【0048】
NFTプラットフォーム210は、身体能力等に関するNFTを提供するプラットフォームであり、
図11に示すように、パブリックサブネットに設けられたwebサーバ211およびアプリケーションサーバ212(以下、「APサーバ212」という。)と、プライベートサブネットに設けられたデータベースサーバ213(以下、「DBサーバ213」という。)と、複数のノード214と、を備えている。
【0049】
webサーバ211は、クライアントである複数のゲーム装置100に対して、静的ページやAPサーバ212から転送された動的ページの情報を転送するサーバであり、各ゲーム装置100及びAPサーバ212と通信するためのネットワークモジュールと、プログラムが記憶されたメモリと、当該プログラムを実行することで、上記静的ページや動的ページを転送するための処理を行うCPUと、を備えている。
【0050】
APサーバ212は、ゲーム装置100からの情報をwebサーバ211から受信し、当該情報に基づいてDBサーバ213に対して情報の検索や更新をリクエストすると共に、DBサーバ213から受信したレスポンスに基づいて動的ページの情報を生成し、当該動的ページをwebサーバ211へと送信するサーバであり、webサーバ211及びDBサーバ213と通信するためのネットワークモジュールと、プログラムが記憶されたメモリと、当該プログラムを実行することで、上記リクエストや動的ページの生成に関する処理を行うCPUと、を備えている。
【0051】
DBサーバ213は、上記APサーバ212からのリクエストに従って処理を行い、その結果をAPサーバ212にレスポンスするサーバであり、APサーバ212と通信するためのネットワークモジュールと、プログラム、ユーザ情報、及び身体能力NFTに関する情報が記憶されたメモリと、当該プログラムを実行することで、上記処理を行うCPUと、を備えている。
【0052】
ユーザ情報は、代表的には、ユーザのアカウントID、パスワード、ユーザのアドレス情報、及び個人情報であり、これらの情報が互いに対応付けられて、ユーザ毎に記憶されている。このように、DBサーバ213は、ユーザ情報を記憶するユーザ情報記憶部として機能している。
【0053】
身体能力NFTに関する情報は、メタデータ、及びNFTの対象となるデータ(以下、「対象データ」という。)である。メタデータは、NFTの名称、NFTの説明、NFTの性質、及びNFTの対象データが記憶されているアドレスであり、これらの情報は、例えば、JSONファイルの形式で記憶されている。本実施形態では、NFTの性質において、当該身体能力NFTに付与された身体能力の種類および身体能力値、並びに当該身体能力NFTを他の身体能力NFTと識別するための識別情報が記憶されている。このように、DBサーバ213は、メタデータを記憶するメタデータ記憶部として機能している。
[メタデータAの例]
名称:走力カード60
説明:キャラクターの走力値が60になります。
性質:走力、60、S060
アドレス(URI):https://xxxxx/yyyyy/s60
[メタデータBの例]
名称:筋力カード90
説明:キャラクターの筋力が90になります。
性質:筋力、90、K090
アドレス(URI):https://xxxxx/yyyyy/k90
【0054】
対象データは、上記メタデータとして登録されているNFTの性質に対応する画像や動画などのデジタルデータである。このようにDBサーバ213は、対象データを記憶する対象データ記憶部として機能している。
【0055】
上記のように構成されているNFTプラットフォーム210にアクセスすることで、ユーザは、NFTを購入することができる。
(1)具体的には、ユーザは、ユーザコンピュータ10にインストールされているNFTアプリを起動する。ユーザコンピュータ10のCPU12は、ネットワークモジュール16を介して、上記NFTプラットフォーム210に対してアクセスし、購入可能な(販売中の)身体能力NFTのリストをリクエストする閲覧リクエストを送信する。
(2)NFTプラットフォーム210は、閲覧リクエストを受信すると、webサーバ211がAPサーバ212に対して閲覧リクエストを転送し、APサーバ212は閲覧リクエストに基づいて、DBサーバ213に対して身体能力NFTのリストの送信をリクエストする。
(3)DBサーバ213は、受信したリクエストに従って、メモリに記憶された販売中のメタデータおよび当該メタデータに対応する対象データを抽出し、APサーバ212に送信する。
(4)APサーバ212は、DBサーバ213から受信したメタデータ及び対象データに基づいて、身体能力NFTのリストページを生成し、当該リストページをwebサーバ211へと送信する。
(5)webサーバ211は、APサーバ212から受信したリストページを、上記ゲーム装置100へと送信する。
(6)ユーザコンピュータ10は、受信したリストページをタッチパネルディスプレイ13に表示する。
【0056】
(7)ユーザコンピュータ10のCPU12は、ユーザによるタッチパネルディスプレイ13の操作に基づいて身体能力NFTが選択されると、ウォレットアプリを起動して、当該身体能力NFTを購入する購入処理を実行する。ここで、APサーバ212は、購入処理における決済処理が完了すると、当該購入取引の取引履歴を複数のノード214が備えるブロックチェーンへと記憶させる。ブロックチェーンには、インデックスデータとして、取引履歴に加えて、当該身体能力NFTのトークンID、保有者情報、及びメタデータの場所を示すアドレス(トークンURI)が記憶される。
【0057】
以上、本発明の実施形態を説明したが、本発明は上記実施形態に限定されず、例えば、例えば下記のように変形した態様で実施されても構わない。
【0058】
上記のように、NFTプラットフォーム210において、身体能力NFTが管理され、販売される。ここで、身体能力NFTの属性値である身体能力値は、ユーザコンピュータ10やゲームサーバ310によって発行された変更リクエストに基づいて変更可能となっている。以下、
図12を参照しながら、ユーザコンピュータ10によって発行された変更リクエストに基づいて身体能力値を変更する変更フローについて説明する。
【0059】
ユーザコンピュータ10のCPUは、体感アプリを実行中に所定条件(以下、「変更リクエストの発行条件」ともいう。)が満たされた場合(s31:yes)に、変更リクエストをNFTプラットフォーム210に送信する送信処理(s32)を実行する。変更リクエストは、身体能力NFTの身体能力値の変更をリクエストする情報であり、指定情報および変更情報を含む。指定情報は変更対象となる身体能力NFTを指定するための情報であり、例えば、メタデータの性質項目に登録された識別情報である。変更情報は、変更後の身体能力値(絶対値)、又は、現時点の身体能力に対して加える増減値(相対値)である。
【0060】
NFTプラットフォーム210は、ユーザコンピュータ10から変更リクエストを受信する受信処理(s41)を実行し、当該変更リクエストによって指定された身体能力NFTの身体能力値を変更する変更処理(s42)を実行する。具体的には、変更リクエストは、NFTプラットフォーム210のWebサーバ211によって受信され、Webサーバ211からAPサーバ212に転送される。APサーバ212のCPUは、変更リクエストに含まれる指定情報に基づいて、DBサーバ213に対して抽出コマンドを送信する。当該抽出コマンドは、指定情報に対応する身体能力NFTのメタデータを抽出させるコマンドであり、DBサーバ213のCPUは指定情報を含むJSONファイルを検索し、検索されたJSONファイルのメタデータをAPサーバ212に送信する。APサーバ212のCPUは、DBサーバ213から受信したメタデータの性質項目に登録されている身体能力値に対して、変更リクエストに含まれる変更情報を適用してメタデータの性質項目に登録された身体能力値を更新し、更新したメタデータをDBサーバ213に送信して上記JSONファイルのメタデータを更新させる。これにより身体能力NFTに付与された身体能力値が変更される。
【0061】
NFTプラットフォーム210は、変更処理(s42)を実行した後に、通知処理(s43)を実行する。通知処理(s43)は、変更リクエストの送信元であるユーザコンピュータ10に対して、変更処理の実行結果を通知する処理であり、例えば、変更が成功したことを指標する変更成功通知、又は変更が失敗したことを指標する変更失敗通知をユーザコンピュータ10に送信する。
【0062】
ユーザコンピュータ10のCPUは、変更処理の実行結果を受信する受信処理(s33)を実行する。ここで、受信した実行結果が変更成功通知である場合には、ユーザコンピュータ10のCPUは更新処理(s34)を実行する。更新処理(s34)は、ユーザコンピュータ10のCPUが、ウォレットを起動して、変更リクエストによって変更された身体能力NFTの身体能力値を参照する処理である。
【0063】
ここで、上記したユーザコンピュータ10によって変更リクエストが発行される発行条件とは、ユーザコンピュータ10によって実行される体感アプリにおけるメインゲームにおいて良い結果を収めた場合である。例えば、テニスアプリにおける試合で勝利した場合やトーナメントで優勝した場合などである。この場合には試合やトーナメントにおいて使用された身体能力NFTを指定する指定情報、及び当該身体能力NFTの身体能力値を増加させる変更情報が変更リクエストに含められる。
【0064】
また、変更リクエストの他の発行条件は、体感アプリにおいて実行されるミニゲーム(サブゲーム)において特典が発生した場合や、ペナルティが発生した場合である。例えば、スゴロクなどのミニゲームにおいて、特典が発生した場合には、当該ユーザが所有する身体能力NFTの一部又は全部を指定する指定情報、及び指定された身体能力NFTの身体能力値を増加させる変更情報を含む変更リクエストが発行される。一方、ペナルティが発生した場合には、当該ユーザが所有する身体能力NFTの一部又は全部を指定する指定情報、及び指定された身体能力NFTの身体能力値を減少させる変更情報を含む変更リクエストが含められる。
【0065】
また、体感アプリの起動頻度やゲームサーバ310へのログイン頻度に基づいて変更リクエストが発行されても構わない。例えば、体感アプリの起動頻度が高い場合には、身体能力値を増加させる変更リクエストが発行される。一方で、体感アプリが一定期間起動されなかった場合には、身体能力値を減少させる変更リクエストが発行される。
【0066】
なお、身体能力値の最大値及び/又は最小値は、身体能力NFT毎に予め定められていることが好ましい。例えば、減少後の身体能力値の最小値は、当該身体能力NFTの身体能力値の初期値であることが好ましい。当該身体能力値の最大値及び/又は最小値は、メタデータの性質項目に記憶される。
【0067】
上記変更フローにおいて、変更リクエストは、ゲームサーバ310からNFTプラットフォーム210に対して送信されても構わない。例えば、ユーザコンピュータ10によって発行された変更リクエストがゲームサーバ310を介してNFTプラットフォーム210に送信されてもよい。また、ゲームサーバ310は、体感アプリにおけるユーザの対戦結果に基づいて、変更リクエストを発行しても構わない。例えば、対戦に勝ったユーザが使用する身体能力NFTの身体能力値を増加させる変更リクエストや、対戦に負けたユーザが使用する身体能力NFTの身体能力値を減少させる変更リクエストを発行する。このようにゲームサーバ310によって変更リクエストが発行される場合には、対戦ユーザの各々が使用するキャラクターの身体能力NFTに関する情報(識別情報および身体能力値)をゲームサーバ310に予め送信しておく必要がある。例えば、上記試合相手決定処理において、ユーザコンピュータ10のCPUは、キャラクターに設定された身体能力NFTに関する情報をゲームサーバ310に送信し、ゲームサーバ310が当該身体能力NFTに関する情報を記憶することで、当該情報に基づいて変更リクエストを生成することが可能となる。
【0068】
[第4実施形態]
第4実施形態に係るオンラインゲームシステムは、複数のゲーム装置100と、NFTプラットフォーム210と、ゲームサーバ310と、を備えている点で第3実施形態と共通している。しかし、第4実施形態のNFTプラットフォーム210は、身体能力NFTに加えて、アバターNFTおよびアイテムNFTをユーザに提供する点で第3実施形態とは異なっている。アバターNFTは、体感アプリで使用可能なキャラクターに関するNFTであり、例えば、小説、漫画、映画、アニメ、コンピュータゲーム、人形玩具などで登場する人物や動物に関する3Dモデルなどのモデルを対象データとするNFTである。アイテムNFTは、体感アプリで使用可能なアイテムに関する3Dモデルなどのモデルを対象データとするNFTである。当該アバターNFTおよびアイテムNFTは、身体能力NFTと同様に購入可能である。
【0069】
ここで、第4実施形態に係るオンラインゲームシステムは、アバターNFTに対応するキャラクターフィギュア、及びアイテムNFTに対応するアイテムフィギュアを備えている。キャラクターフィギュアを例に説明すると、
図13に示すように、キャラクターフィギュア40は、キャラクター本体部41と、土台部42と、を備えている。キャラクター本体部41は、キャラクターをかたどった部分である。土台部42は、キャラクター本体部41の下方に配置されており、キャラクター本体部41を支持する。本実施形態の土台部42は円板形状に形成されている。当該土台部42の上面にはシンボル43が設けられている。当該シンボル43は、例えば2次元シンボルであり、NFTプラットフォーム210におけるアバターNFTを販売ページのアドレスをシンボル化したものである。
【0070】
ユーザは、ユーザコンピュータ10を用いて、キャラクターフィギュア40のシンボル43をスキャンすることで、当該キャラクターフィギュア40のアバターNFTの販売ページに容易にアクセスすることができる。
【0071】
<変形例1>
上記実施形態では、体感アプリとして、テニスアプリを例に説明したが、卓球、ゴルフ、ボーリング、サッカー、野球などのスポーツの体感アプリであっても構わない。また、ボクシングなどの格闘の体感アプリであっても構わない。
【0072】
<変形例2>
ユーザが取得した身体能力NFTは、特定の体感ゲームのキャラクターに適用するだけでなく、複数種類の体感ゲームで用いられるキャラクターに横断的に適用することが可能である。すなわち、身体能力NFTは、複数種類の体感ゲームにおいて使用可能なNFTであって、当該NFTは、各体感ゲームで利用されるキャラクターに付与される身体能力の能力値が定められたメタデータと、当該能力値を指標する対象データと、を備えるNFTであればよい。
【0073】
<変形例3>
上記実施形態では、ユーザコンピュータ10に対して、発光装置30が直接的に接続されることで、発光装置30がユーザコンピュータ10に沿って延在するように配置されているが、例えば、発光装置30がケーブルを介してユーザコンピュータ10に接続されても構わない。また、発光装置30の配置態様は、ユーザコンピュータ10の前方に置いた配置態様など、ユーザの使用環境に応じて配置すれば良い。
【0074】
<変形例4>
上記第1実施形態ではコントローラ20内にイメージセンサモジュール24が設けられているが、当該イメージセンサモジュールは、発光装置内に設けられても構わない。以下、発光装置内にイメージセンサモジュールが設けられた変形例を説明する。
図14に示すように、本変形例のコントローラ20aは、ジョイスティック21、複数のプッシュスイッチ22、モーションセンサモジュール23、マイコン25、及びBluetoothモジュール26を備える点で第1実施形態のコントローラ20と共通しているが、その筐体の前面および筐体の側面に反射シート27が設けられている点で、第1実施形態のコントローラ20とは異なっている。反射シート27は、赤外線を再帰反射させるシート状又は板状の部材であり、筐体前面においては、窓24aと同程度の大きさで設けられている。また、筐体側面に設けられる反射シート27は、筐体の側面の前部および後部に設けられている。
【0075】
また、
図14に示すように、本変形例の発光装置30aは、その両端部に2つの赤外線LED31が内蔵されている点で第1実施形態の発光装置30と共通しているが、イメージセンサモジュール32が内蔵されている点で第1実施形態の発光装置30とは異なっている。当該イメージセンサモジュール32は、赤外線LED31の照射方向を撮像する撮像部として機能するものであり、発光装置30aの中央部分に設けられている。また、本変形例の発光装置30aはマイコン33を有している。マイコン33は、赤外線LED31およびイメージセンサモジュール32を制御する制御部として機能するものであり、所定レートで赤外線LED31を発光させ、当該発光と同期させてイメージセンサモジュール32に対して撮像コマンドを入力する。赤外線LED31から出力された赤外線は、コントローラ20aの反射シート27のいずれかに反射して、イメージセンサモジュール32の受光面に入光することとなる。そして、マイコン33は、イメージセンサモジュール32から出力された信号に基づいて、イメージセンサモジュール32の画角(イメージセンサモジュール32によって生成された画像)におけるコントローラ20aの位置(座標)を検出する。マイコン33は、所定のレートでコントローラ20aの位置(座標)を検出する。当該マイコン33は、ユーザコンピュータ10と有線通信するための通信モジュール34に接続されており、当該通信モジュール34を介して、検出した位置(座標)をユーザコンピュータ10へと入力する。
【0076】
ユーザコンピュータ10のCPUは、発光装置30aのマイコン33から入力された位置(座標)に基づいて、ユーザによるコントローラ20aのスイング動作やスイング軌道を特定する。
【0077】
<変形例5>
上記第3実施形態の対戦相手決定処理では、ゲームサーバ310にログインしたユーザが使用する身体能力値に基づいて、対戦相手の候補を提示しても構わない。例えば、ユーザコンピュータ10のCPUは、ゲームサーバ310にログインした場合に、使用するキャラクタに対して設定された各身体能力値をゲームサーバ310に送信する。ゲームサーバ310のCPUは、受信した身体能力値と身体能力値が近似しているログイン中のユーザを抽出し、抽出したユーザの情報を送信する。このように身体能力値が近似するユーザを提供する。
【0078】
<変形例6>
上記第2実施形態の設定処理において、身体能力NFTの使用に関しての総数制限及び/又は総和制限を設けても構わない。総数制限は、キャラクタに対して設定できる身体能力NFTの数に制限を設けることである。例えば、総数制限が”1”の場合には、キャラクターに対して設定できる身体能力NFTは1つとなり、総数制限が”2”の場合には、キャラクターに対して設定できる身体能力NFTは2つまでとなる。総和制限は、キャラクターに対して設定できる身体能力値の総和に制限を設けることである。例えば、総和制限が”90”の場合には、キャラクターに対して設定される身体能力NFTの身体能力値の総和が90になるまで、一又は複数の身体能力NFTをキャラクターに設定することができる。このような総数制限及び/又は総和制限は、体感アプリごとに定められるのが好ましい。
【0079】
<変形例7>
また、ユーザは、取得した身体能力NFTを用いたオリジナルのキャラクターを作ることもできる。例えばユーザーであるクリエイターAが、自己が保有する身体能力NFTやアイテム能力NFTと、自己が制作したアバタ-NFTを用いて、『西洋剣を自在に操る剣術をもったジャンプ力のある女性キャラA』を創作することができる。ここで、アイテム能力NFTとは、複数種類の体感ゲームにおいて使用可能なNFTであって、当該NFTは、各体感ゲームで利用されるラケットなどのスポーツアイテムや剣や銃などのゲームアイテムに付与されるアイテムの能力値が定められたメタデータと、当該能力値を指標する対象データと、を備えるNFTであればよい。
【符号の説明】
【0080】
10 ユーザコンピュータ(汎用コンピュータ)
20 コントローラ
23 モーションセンサモジュール(動作検出部)
24 イメージセンサモジュール(撮像部)
30 発光装置
100 ゲーム装置
200,300 ゲームシステム
210 NFTプラットフォーム
310 ゲームサーバ