(第1の実施形態)
以下、第1の実施形態について説明する。まず図1を参照して本開示の実施形態に係るシステム1の概要について説明する。システム1は、ネットワーク20を介して互いに通信可能に接続される、少なくとも一対の端末装置10を有する。図1には2つの端末装置10が示されているがシステム1が備える端末装置10の数はこれに限定されない。
ネットワーク20は、インターネット、少なくとも1つのWAN(Wide Area Network)、少なくとも1つのMAN(Metropolitan Area Network)、又はこれらの組み合わせを含む。ネットワーク20は、少なくとも1つの無線ネットワーク、少なくとも1つの光ネットワーク、又はこれらの組み合わせを含んでもよい。無線ネットワークは、例えば、アドホックネットワーク、セルラーネットワーク、無線LAN(Local Area Network)、衛星通信ネットワーク、又は地上マイクロ波ネットワークである。
本実施形態に係る端末装置10は、押操作を受け付ける操作対象161を有する操作部16を備える。端末装置10は、他の端末装置10と通信し、ユーザが他の端末装置10のユーザと交流するために押操作を行う第1の操作(以下、交流進行操作という)に関する第1の操作情報(以下、進行操作情報という)を他の端末装置10へ送り、他の端末装置10から送られる他の端末装置10における進行操作情報に対応する操作対象161を動作させる。端末装置10は、ユーザが交流の実施条件を設定するために操作対象161を回転させる第2の操作(以下、設定操作という)に応じて、実施条件を設定する。
本実施形態において、操作部16は、例えば図2に示すようなゲーム盤16aである。ゲーム盤16aは、盤面に、回転して複数の異なる態様を表す、操作対象161としてのマス目161aを備える。本実施形態において、交流は具体的には、ユーザと他の端末装置10のユーザ(以下、相手方という)とが交互に操作対象161を操作して行うゲームである。ゲームはオセロ(登録商標)等のリバーシゲームであり、相手方はゲームの対戦相手である。本実施形態における押操作は、端末装置10においてユーザがマス目161aの一端を指等で押してマス目161aを回転させる操作である。マス目161aは、X軸方向を回転軸として回転して複数の面を盤面上に表出させることが可能に構成されており、ユーザがマス目161aを一の面から他の面に回転させると、端末装置10が、回転が交流進行操作であるか、又は設定操作であるかを判断する。
ユーザによるマス目161aの操作が交流進行操作であると端末装置10が判断した場合、進行操作情報が、ゲームの対戦相手が使用する他の端末装置10に送信される。本実施形態において、進行操作情報は、ユーザが回転させたマス目161aのゲーム盤16aにおける位置を含む情報である。進行操作情報に基づき、他の端末装置10において、対応する位置のマス目161aが回転する。同様に、対戦相手が使用する端末装置10からも、対戦相手の交流進行操作に関する進行操作情報が送信される。ユーザが使用する端末装置10が対戦相手による進行操作情報を受信し、ゲーム盤16aのマス目161aが回転する。これにより、ユーザと対戦相手との双方の交流進行操作が、互いの端末装置10のゲーム盤16aの上に反映されてゲームが進行する。
一方、ユーザによるマス目161aの回転の操作が設定操作であると端末装置10が判断した場合は、端末装置10は、設定操作に応じてゲームの実施条件を設定する。実際のゲーム中と同様のマス目161aを回転させるという操作により、例えば端末装置10に別途設けられた他の入力装置を介して種々の実施条件を設定する場合と比較して、没入感の喪失を抑制することが可能となる。
次に、システム1が備える端末装置10の構成について詳細に説明する。図1に示すように、端末装置10は、制御部11と、記憶部12と、通信部13と、入出力部14と、検知部15と、操作部16とを備える。
制御部11には、少なくとも1つのプロセッサ、少なくとも1つの専用回路又はこれらの組み合わせが含まれる。プロセッサはCPU(Central Processing Unit)若しくはGPU(Graphics Processing Unit)等の汎用プロセッサ又は特定の処理に特化した専用プロセッサである。専用回路は例えば、FPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit)である。制御部11は端末装置10の各部を制御しながら、端末装置10の動作に関わる処理を実行する。
記憶部12には、少なくとも1つの半導体メモリ、少なくとも1つの磁気メモリ、少なくとも1つの光メモリ又はこれらのうち少なくとも2種類の組み合わせが含まれる。半導体メモリは例えばRAM(Random Access Memory)又はROM(Read Only Memory)である。RAMは例えばSRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)である。の略語である。ROMは例えばEEPROM(Electrically Erasable Programmable Read Only Memory)である。記憶部12は例えば主記憶装置、補助記憶装置又はキャッシュメモリとして機能する。記憶部12には端末装置10の動作に用いられる情報と、端末装置10の動作によって得られた情報とが記憶される。例えば記憶部12はシステムプログラム、アプリケーションプログラム、及びデータベース等を記憶してもよい。記憶部12に記憶された情報は通信部13を介してネットワーク20から取得される情報で更新可能であってもよい。
通信部13には、少なくとも1つの通信用インタフェースが含まれる。通信用インタフェースは、例えば、LTE(Long Term Evolution)、4G(4th Generation)規格、若しくは5G(5th Generation)規格等の移動通信規格に対応したインタフェース、Bluetooth(登録商標)等の近距離無線通信に対応したインタフェース、又はLANインタフェースである。通信部13は、端末装置10の動作に用いられる情報を受信し、また端末装置10の動作によって得られる情報を送信する。
入出力部14は、ユーザによる入力を検出し、入力情報を制御部11に送る入力インタフェースを含む。入力インタフェースは、たとえば、物理キー、静電容量キー、パネルディスプレイと一体的に設けられたタッチスクリーン、または音声入力を受け付けるマイクロフォン等であるが、これらに限られず、任意の入力部であってもよい。入出力部14は、制御部11が生成した情報又は記憶部12から読み出された情報を、ユーザに対して出力する出力インタフェースを含む。出力インタフェースは、例えば、情報を画像で出力するパネルディスプレイ、又は情報を音声で出力するスピーカ等であるが、これらに限られず、任意の出力部であってよい。入出力部14は、通信部13を介して取得した情報を、ユーザに対して音声又は画面表示等により通知することができる。入出力部14は、端末装置10に備えられる代わりに、外部の出力機器として端末装置10に接続されてもよい。
検知部15は、端末装置10の状態又は動作を検知する一以上のセンサ類、又はセンサ類とのインタフェースを有し、センサ類による検知結果を示す情報を制御部11へ送る。センサ類は、操作部16における操作対象161の状態を検知する各種センサ類を含む。センサ類は、例えば、ゲーム盤16aが備えるマス目161aの回転状態を検知する回転角センサである。
端末装置10の機能は、本実施形態に係る制御プログラムを制御部11に相当するプロセッサで実行することにより実現される。すなわち端末装置10の機能は、ソフトウェアにより実現される。制御プログラムは端末装置10の動作をコンピュータに実行させることで、コンピュータを端末装置10として機能させる。すなわちコンピュータは制御プログラムに従って端末装置10の動作を実行することにより端末装置10として機能する。
プログラムは、非一時的なコンピュータ読取り可能な媒体に記憶しておくことができる。非一時的なコンピュータ読取り可能な媒体は、例えば、磁気記録装置、光ディスク、光磁気記録媒体、又はROMである。プログラムの流通は、例えば、プログラムを記憶したDVD(Digital Versatile Disc)又はCD-ROM(Compact Disc Read Only Memory)などの可搬型媒体を販売、譲渡、又は貸与することによって行う。プログラムをサーバのストレージに格納しておき、サーバから他のコンピュータにプログラムを転送することにより、プログラムを流通させてもよい。プログラムをプログラムプロダクトとして提供してもよい。
コンピュータは、例えば、可搬型媒体に記憶されたプログラム又はサーバから転送されたプログラムを、一旦、主記憶装置に格納する。そして、コンピュータは、主記憶装置に格納されたプログラムをプロセッサで読み取り、読み取ったプログラムに従った処理をプロセッサで実行する。コンピュータは、可搬型媒体から直接プログラムを読み取り、プログラムに従った処理を実行してもよい。コンピュータは、コンピュータにサーバからプログラムが転送される度に、逐次、受け取ったプログラムに従った処理を実行してもよい。サーバからコンピュータへのプログラムの転送は行わず、実行指示及び結果取得のみによって機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって処理を実行してもよい。プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるものが含まれる。例えば、コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータは、「プログラムに準ずるもの」に該当する。
端末装置10の一部又は全ての機能が、制御部11としてのプログラマブル回路又は専用回路により実現されてもよい。すなわち、端末装置10の一部又は全ての機能が、ハードウェアにより実現されてもよい。
図2は、ゲーム盤16aの構成例を示す図である。図2に示すように、ゲーム盤16aは、XY平面上に配列された複数のマス目161aを有する。ゲーム盤16aの外形及びマス目161aの外形は図2で示すような正方形以外の矩形であってもよいし、多角形、円形等の任意の形であってもよい。
図3は、マス目161aの1つを取り出して示す立体斜視図である。マス目161aは、図3に示すように、X軸方向に高さを有する三角柱形状をなし、該三角柱が回転軸163を中心に矢印で示す方向に回転する。これにより、三角柱の側面であるマス目161aが、3種類の異なる態様をゲーム盤上に表すことができる。本実施形態では、図3で示す白色のコマを有するマス目161a、図示しない黒色のコマを有するマス目161a及びコマ無しのマス目161aが、3種類の異なる態様として表される。これにより端末装置10において、白色の陣が占めている態様、黒色の陣が占めている態様、どちらの陣によっても未だコマが置かれていない態様の三種類がそれぞれのマス目161aにより表現される。
図3に示すように、マス目161aの回転構造は、回転軸163を回転させるモータ162を含む。モータ162は例えば制御部11からの指示に応じて回転するステッピングモータである。各マス目161aは、ユーザの手動操作により回転し、また、対戦相手の進行操作情報に基づくモータ162の動作により、回転する。また、図3に示すように、マス目161aの回転角度を検知する検知部15が、例えば回転軸163の一方の端部に設けられる。検知部15は例えば回転角センサである。回転角は、例えば、マス目161aの任意の面がゲーム盤16aの盤面に表出した状態を基準とし、基準の状態から0~2πの範囲で回転した角度である。検知部15が検知する回転角の情報は、制御部11へ送られる。これにより制御部11は、回転角からマス目161aが現在表している態様を判別できる。例えば制御部11は、回転角が0のときコマを有しないマス目161aを、2/3πのとき白色のコマを有するマス目161aを、3/2πのとき黒色のコマを有するマス目161aの態様であることを判別する。制御部11は、検知した角度又は判別した態様と、マス目161aの位置とを対応付けて記憶部12に格納することができる。マス目161aの位置は、例えば、行列で示す情報である。
制御部11は、検知部15が検知した角度に基づいて回転回数を算出する。制御部11は、マス目161aが1態様変化させるように回転した場合、すなわち回転角が2/3πのとき回転回数を1回として算出する。制御部11は、検知部15が検知した角度を時間カウンタで計時した時間間隔で除して、マス目161aの回転速度を算出する。
図4のフローチャート図を参照して、本実施形態に係る端末装置10の動作について説明する。以下において、端末装置10は、外部の各装置との情報の送受信を、通信部13及びネットワーク20を介して行う。
ステップS1において、端末装置10の制御部11は、ユーザによる操作対象161への入力を受け付ける。具体的には、ユーザがマス目161aを回転させる操作の入力を受け付ける。具体的には制御部11は、検知部15が基準角度以上回転を検知したときに操作の入力を受け付ける。基準角度は予め任意に設定され、記憶部12に予め格納されている。例えば、基準角度は、ユーザによる誤操作によるマス目の初動と区別可能な程度に大きく、ゲーム進行のためのマス目161aの操作と区別可能な程度に小さい角度である。本実施形態では、検知部15としての回転角センサが回転を検知するが、これに限られず、例えばゲーム盤16aを撮影する、端末装置10の鉛直方向上方に設けられたカメラが撮影した画像を、制御部11が、任意の画像処理技術により処理し、マス目161aが回転したことを検知したときに、ユーザによる操作の入力を受け付けてもよい。
ステップS2において、制御部11は、ステップS1で受け付けた操作が第1の操作又は第2の操作のいずれであるかを判断する。
判断には任意の手法を採用することが可能である。例えば制御部11は、マス目161aの回転数、位置等を指定するための、記憶部12に予め格納したテキストメッセージを、入出力部14を介してユーザに対し表示し、その後のユーザによる操作に応じて判断してもよい。制御部11は、例えば「ゲームの設定をする場合はマス目をもう1回転させてください。ゲームを開始する場合はマス目をもう2回転させてください。」と入出力部14に表示させた後、ユーザによるマス目161aの回転数を検知部15により検知し、1回転させた場合は設定操作と判断し、2回転させた場合は交流進行操作と判断してもよい。あるいは、制御部11は、例えば「ゲームの設定をする場合は右下角のマス目をもう1回転させてください。ゲームをする場合は左下角のマス目をもう1回転させてください。」と入出力部14に表示させた後、ユーザが回転させたマス目161aの位置を検知部15により検知し、右下角のマス目161aを回転させた場合は設定操作と判断し、左下角のマス目161aを回転させた場合は交流進行操作と判断してもよい。
例えば制御部11は、端末装置10の設定条件を記憶部に記録して管理する外部のサーバ装置と通信し、サーバ装置からゲームの実施条件の設定のリクエストを受信した後のユーザの操作を、設定操作として判断してもよい。例えば制御部11は、実施条件の設定の完了・未完了の状態を示す情報を記憶部12から読み出して、実施条件の完了が確認される場合には、ステップS1で受け付けた操作が交流進行操作であると判断してもよい。
まず、ステップS2において制御部11が第2の操作として判断した場合について説明する。ステップS3において、制御部11は、ユーザの属性情報を取得する。属性情報はユーザの年齢、性別、所定の障害の有無又は程度、所定の怪我の有無又は程度等を含む。属性情報は、ユーザのIDに対応付けられて、端末装置10の記憶部12に格納される。
属性情報の取得には任意の手法が採用されてよい。制御部11は、属性情報を端末装置10の記憶部12から読み出すことで取得してもよいし、ユーザのIDと対応付けて属性情報を記憶部に格納している外部のサーバ装置から取得してもよい。制御部11は、入出力部14を介してユーザが入力した情報を属性情報として取得してもよい。
ステップS4において、制御部11は入出力部14から出力される音量を設定する。音量とはゲーム中に流れる音楽の音量、端末装置10が通話機能を備える場合の対戦相手の声の音量等である。制御部11は、検知部15が検知したマス目161aの回転数が大きい程、音量を大きく設定する。これに限られず、制御部11は、検知部15が検知したマス目161aの回転角度が大きい程、音量を大きく設定してもよいし、回転速度が速い程、音量を大きく設定してもよい。例えば制御部11は、記憶部12に予め格納した、回転数、回転角度、又は回転速度と、音量の程度とが関連付けられたテーブルを参照して音量を設定する。制御部11は、本実施形態ではユーザが回転を止めたときに音量の設定を完了する。反対方向に所定の角度回転させる等、任意の操作がされたときに制御部11は音量の設定を完了してもよい。制御部11は、設定された音量で出力するよう入出力部14を制御する。
制御部11は、ユーザの属性情報に応じて属性情報に応じて音量を設定する。例えば制御部11は、ユーザの属性情報が、聴覚障害があることを示す場合に、聴覚障害が無いことを示す場合と比較してユーザがマス目161aの回転を開始する前の基準の音量を自動的に大きく設定してもよい。例えば制御部11は、聴覚障害が無い場合と比較して、マス目161aの回転量、回転角度、又は回転速度に応じて音量の増減する程度を大きく設定してもよい。上述に限られず、制御部11は、属性情報が聴覚障害の程度を示す場合、程度が大きいほど音量を大きく設定してもよい。例えば制御部11は、記憶部12に予め格納した、聴力を数値化した値と設定する音量とが関連付けられたテーブルを参照して音量を設定する。例えば制御部11は、属性情報が示す年齢が、記憶部12に予め格納した所定の年齢以上である場合に、ユーザがマス目161aの回転を開始する前の基準の音量を自動的に大きく設定する。
次にステップS5において、制御部11は、相手方を設定する。例えば制御部11は、記憶部12に格納した、ゲームの対戦相手の候補者のIDとアクセス先を示すアクセス先情報とを対応付けた情報を参照し、対戦相手の候補を示す情報を、入出力部14を介してユーザに対し通知する。アクセス先情報は、対戦相手の端末装置10をネットワーク20上で識別するための情報である。例えば制御部11は、入出力部14を介して候補者の名前を読み上げる音声を出力してもよい。制御部11は、検知部15が検知したユーザによるマス目161aの回転数に応じて候補の対戦相手を示すIDの値をインクリメントする。これに限られず制御部11は、回転角度に応じて候補の対戦相手を示すIDの値をインクリメントしてもよいし、回転速度に応じて候補の対戦相手を示すIDの値をインクリメントしてもよい。本実施形態では、制御部11は、ユーザが回転を止めたときのIDの値を有する候補者を対戦相手として設定する。これに限られず、反対方向に所定の角度回転させる等、任意の操作がされたときに制御部11は対戦相手を設定してもよい。所定の角度はユーザによって自由に設定され、記憶部12に予め格納されていてよい。このようにしてユーザが対戦相手を選択することが可能となる。制御部11は、選択された対戦相手のIDに対応付けられたアクセス先に通信することで、端末装置10が対戦相手の端末装置10と接続できる。その後、制御部11の動作はステップS1に戻る。
制御部11は、ゲームのユーザ登録を行っているユーザのリストを記憶部に格納したサーバ装置から送信された、対戦相手の候補者のIDとアクセス先を示すアクセス先情報とを対応付けた情報を受信し、入出力部14から出力してもよい。制御部11は、出力を参照してユーザが選択した対戦相手を示す情報を、サーバ装置に送信する。これによりサーバ装置が、対戦相手とユーザとを対戦の組み合わせとして決定し、対戦相手のアクセス先を示す情報を端末装置10に送信する。端末装置10がアクセス先に通信することで、対戦相手の端末装置10と接続することが可能となる。
制御部11は、ユーザの属性情報に応じて対戦相手を設定してもよい。例えば制御部11は、記憶部12に格納された対戦相手の候補者の属性情報を読み出し、ユーザの属性情報が示す年齢と所定値以内の差分の年齢の候補者を特定し、入出力部14を介してユーザに対し通知してもよい。これによりユーザがマス目161aを回転させて対戦相手を選択するときに、自分と年齢が近い候補者の中から対戦相手を選択しやすくなる。
制御部11は、ユーザの属性情報に応じてマス目161aの回転の負荷を設定してもよい。この場合、通常、ユーザがマス目161aを回転させるときに負荷が付与されているものとする。負荷は、制御部11が、ユーザがマス目を回転させたことを検知部15が検知したときに、ユーザが回転させている方向と反対方向に回転軸163を駆動するようモータ162を制御することにより付与される。あるいは、回転軸163にゴム等の部材を当接させて摩擦を付与するためのアクチュエータを端末装置10に備え、これを制御部11が制御することにより、摩擦による負荷を付与してもよい。例えば制御部11は、ユーザの属性情報が、手に障害があることを示す場合に、障害が無いことを示す場合と比較してマス目161aの回転の負荷を小さく設定する。例えば制御部11は、属性情報が示すユーザの年齢が所定の年齢未満である場合に、該所定の年齢以上である場合と比較してマス目161aの回転の負荷を小さく設定する。例えば制御部11は、属性情報が示すユーザの年齢が所定の年齢以上である場合に、該所定の年齢未満である場合と比較してマス目161aの回転の負荷を小さく設定する。例えば、設定する負荷の大きさを規定するための情報とユーザの属性情報とが関連付けられたテーブルが、記憶部12に予め格納されており、制御部11が記憶部12を参照してテーブルを読み出すことで負荷を設定できる。
ステップS4及び5に示すように、制御部11は、設定操作に基づいて実施条件を設定する。
制御部11が設定操作に応じて行う設定は、上述に限られない。例えば制御部11は、ゲーム中に入出力部14に表示させるためのユーザ名を設定してもよい。この場合制御部11は、入出力部14に文字一覧を表示させ、マス目161aの回転に応じて文字を選択するカーソル位置が移動する表示を制御する。
制御部11は、実施条件を設定した後、実施条件の設定の完了・未完了の状態を示す情報を、設定の完了を示す情報に更新してもよい。制御部11は、更新した情報を記憶部12に格納する。当該情報は以下のステップS8で説明するゲーム終了時に、未完了の状態を示す情報へと初期化される。
次にステップS2において第1の操作として判断した場合について説明する。ステップS6において、制御部11は、第1の操作情報を相手方の端末装置10に送信する。制御部11は、ユーザが回転させたマス目161aの位置を示す情報を進行操作情報として生成し、送信する。マス目161aの位置は行列で表されてよい。進行操作情報は、検知部15が検知したマス目161aの回転角度をさらに含んでもよい。
制御部11は、上述の負荷を設定した場合には、例えばモータ162を制御して設定した程度で回転軸163を反対方向に回転させ、回転の負荷をかける。これにより交流進行操作によりマス目161aが回転するとき、設定した負荷が付与される。
ステップS7において、制御部11は、対戦相手の端末装置10から対戦相手の交流進行操作に係る進行操作情報を受信する。制御部11は、進行操作情報に基づき、対応する位置のマス目161aを回転させる。具体的には制御部11は、受信した交流進行操作が示す位置のマス目161aを回転させるよう、モータ162を制御する。
ステップS1からステップS8をくりかえすことで、途中でゲームの実施条件の設定を変更することが可能となる。ステップS8で終了するまで、ユーザと対戦相手との間のゲームが進行する。ゲームの間、制御部11は、検知部15の検知に基づき、ユーザのコマの色が対戦相手のコマの数より所定数多くなったこと、全体のマス目161aの数が所定の割合以上になったこと等を判断してよい。制御部11は、判断の結果に応じて、入出力部14を制御して音楽又は音声等を出力してもよい。
ステップS8において、制御部11はゲームが終了したか否かを判断する。例えば制御部11は、検知部15の検知に基づき、ゲーム盤16aのマス目161aが全て回転したことを判断した場合に、ゲームが終了したことを判断する。これに限られず、制御部11は、検知部15としてのカメラが撮影した画像を任意の画像処理技術により解析し、全てのマス目161aにコマが表出していることを判断したときに、ゲームが終了したことを判断してもよい。ゲームが終了していないことを判断した場合(ステップS8:NO)、制御部11の動作はステップS1に戻る。ゲームが終了したことを判断した場合(ステップS8:YES)、端末装置10の処理は終了する。
上述のように、本実施形態に係る端末装置10は、押操作を受け付ける操作対象161を有する操作部16と、通信部13と、通信部13により他の端末装置10と通信し、ユーザが他の端末装置10のユーザと交流するために押操作を行う第1の操作に関する第1の操作情報を他の端末装置10へ送り、当該他の端末装置10から送られる当該他の端末装置10における第1の操作情報に対応する操作対象161を動作させる制御部11と、を有する。制御部11は、ユーザが交流の実施条件を設定するために操作対象161に対し押操作を行う第2の操作に応じて、実施条件を設定する。上述のように、操作部16はゲーム盤16aであり、操作対象161はゲーム盤16aの盤面に、回転して複数の異なる態様を表すマス目161aである。ゲーム中と同様にゲーム盤16aのマス目161aを回転させる操作によりゲームの実施条件を設定することができるため、ユーザは対戦相手と遠隔であることを意識せずにゲームに集中できる。よって、ユーザの利便性を向上させつつ交流に際しての没入感喪失の抑制を可能にする技術を改善することが可能となる。
上述のように、本実施形態に係る端末装置10において、制御部11は、第2の操作によるマス目161aの回転数、回転角度、又は回転速度の少なくとも1つを含むマス目161aの回転状態に応じて実施条件を設定する。実施条件の設定のために、マス目161aの回転のみで自動的に第2の条件を設定できるため、例えば端末装置10のゲーム盤16a以外の場所に別途設けられた他の入力ボタン等を押圧する場合と比較して、ユーザがゲームの実施条件とゲームの進行との切り替えを意識せずにゲームに集中することができる。よって、ユーザの利便性を向上させつつ交流に際しての没入感喪失の抑制を可能にする技術を改善することが可能となる。
上述のように、本実施形態に係る端末装置10において、制御部11は、ユーザの属性に基づいて実施条件を設定する。ユーザの属性に応じて実施条件を適切に設定できるため、ユーザの利便性を向上させつつ交流に際しての没入感喪失の抑制を可能にする技術を改善することが可能となる。
上述のように、本実施形態に係る端末装置10において、ゲームの実施条件は端末装置10が出力する音量を含む。また、本実施形態に係る端末装置10において、ゲームの実施条件はゲームの対戦相手の選択を含む。本実施形態によれば、マス目161aを回転させる簡単な操作によりゲーム中の音量又は対戦相手を設定することができる。よって、ユーザの利便性を向上させつつ交流に際しての没入感喪失の抑制を可能にする技術を改善することが可能となる。
(変形例)
変形例では、端末装置10が投影部をさらに備えてもよい。投影部は例えば、制御部11の制御により、ユーザが回転させたマス目161a上のコマを含むゲーム盤16a上に色又は映像等を投影可能なプロジェクタである。本変形例では投影部はアームにより支持されて端末装置10の鉛直方向上方に設けられてよい。本変形例の場合、マス目161aが備える面は何もない一面を除いた、無色のコマをそれぞれ備える二面であってもよい。
本変形例に係る端末装置10の動作について説明する。ステップS1から5は上述の実施例と同様なので説明を省略する。
ステップS6において、制御部11は、第1の操作情報を対戦相手に送信する。このとき制御部11は、ユーザが回転させたコマにユーザの陣の色を投影するよう投影部を制御する。これによりユーザが、コマに自分の陣の色が付されていることを認識できる。
ステップS7において制御部11は、対戦相手の端末装置10から、対戦相手の交流進行操作に係る進行操作情報を受信し、対応する位置のマス目161aを回転させる。制御部11は、回転させたコマに対戦相手の陣の色を投影するよう投影部を制御する。これによりユーザが、回転されたコマに対戦相手の陣の色が付されていることを認識できる。制御部11は、投影部がコマに投影した色と表した態様と、マス目161aの位置とを対応付けて、マス目161aの色を示す情報として記憶部12に格納してよい。
制御部11は投影部を制御してゲームの戦況に応じた映像をゲーム盤16a上に表示してよい。例えば制御部11は、投影部により投影したマス目161aの色を示す情報に基づき、ユーザのコマの色が対戦相手のコマの数より所定数多くなったこと、全体のマス目161aの数が所定の割合以上になったこと等を判断し、判断の結果に応じて、投影部を制御して所定の光又は映像等をゲーム盤16a上に投影させてよい。例えばゲーム盤16a上のマス目161aの全てのうち、ユーザの陣の色のコマが表されたマス目161aの割合に応じた所定の映像等の情報が、予め記憶部12に格納されていてよい。
ステップS8の処理は上述の実施形態と同様であるため説明を省略する。
本変形例によれば、制御部11が投影部を制御して、任意の色又は模様等をマス目161aが備えるコマに投影できる。また、本変形例においては、投影部が映像を消去するのみでゲームのリセットをすることが可能となるので、ユーザが手軽にゲームを楽しむことができる。
(第2実施形態)
以下、第2の実施形態について説明する。本実施形態においては、操作部16は鍵盤楽器16bである。本実施形態において、交流は具体的には、ユーザと相手方とによる連弾演奏等であり、相手方は連弾相手である。これに限られず、相手方は鍵盤楽器16bの演奏を教授する講師又は鍵盤楽器16bの演奏を教わる生徒であってもよい。
図5は、鍵盤楽器16bの構成例を示す図である。図5に示すように、鍵盤楽器16bは操作対象161としての鍵盤161bを複数備える。ユーザが鍵盤161bに対し押操作を行うと、鍵盤161bのそれぞれに接続された検知部15が押操作を検知し、検知結果を制御部11に出力する。これにより制御部11は、上述の第1の実施形態と同様に、ユーザが押操作を行った鍵盤楽器16bにおける位置を含む進行操作情報を生成できる。本実施形態では検知部15は例えば鍵盤161bへの押操作の押圧力を検知する圧力センサ、又は鍵盤161bへの押操作による鍵盤161bの変位量を光、電流等により計測する変位計である。検知部15は、端末装置10の鉛直方向上方に設けられ、操作部16を撮影するカメラであってもよい。制御部11は、カメラが撮影した画像を任意の画像処理技術により解析して、ユーザが押操作を行った鍵盤161bの深度を読み取ることができてもよい。
制御部11は入出力部14を制御して、検知部15が検知した鍵盤161bの位置に応じた音程の音を出力する。鍵盤161bの位置と音程とは予め関連付けられたテーブルが記憶部12に格納されており、制御部11がテーブルを参照することで入出力部14を介して音を出力できる。
制御部11は、検知部15が検知した鍵盤161bに対する押操作の操作量が大きい程、大きい音量で音を出力するよう入出力部14を制御可能である。操作量と音量とを関連付けたテーブルが予め記憶部12に格納されており、制御部11はテーブルを参照することで、出力させる音の音量を決定できる。
鍵盤161bのそれぞれは、制御部11からの指示に応じて鍵盤161bを上下動させる駆動部を備える。駆動部はモータ、ソレノイド機器等である。各鍵盤161bは、ユーザの押操作により押し下げられ、また、上述の第1の実施形態と同様に、端末装置10が受信した連弾相手の進行操作情報に基づく駆動部の動作により、上下動する。
端末装置10は、投影部をさらに備えてもよい。投影部はプロジェクタ等を含み、鍵盤161bに映像等を投影可能である。制御部11は、ユーザ又は相手方が押操作を行うべき鍵盤161bの範囲に映像を投影するよう投影部を制御することができる。例えば、連弾曲の楽譜の内容に応じた、2人以上の演奏者がそれぞれ演奏する鍵盤161bの範囲を示す情報が予め記憶部12に格納され、制御部11が当該情報を参照することで、ユーザ又は相手方が押操作を行うべき鍵盤161bの範囲に映像を投影するよう投影部を制御できる。図5は、ユーザと2人の連弾相手とを含む3人で演奏される連弾曲において、それぞれが演奏すべき鍵盤161bの範囲を投影部が示した状況の例を示す図であり、Piano1がユーザが弾く範囲、Piano2及びPiano3が2人の相手方が弾く範囲である。
本実施形態に係る端末装置10の動作について図4を参照して説明する。以下、第1の実施形態と特に異なる部分についてのみ説明する。
ステップS1において、制御部11は、操作対象161としての鍵盤161bへのユーザによる入力を受け付ける。制御部11は、検知部15が任意に設定された基準圧力以上の圧力を検知したときに鍵盤161bに押操作を行う操作の入力を受け付ける。あるいは、制御部11は、操作部16を撮影することで得られる画像を画像処理することで鍵盤161bへの押操作を検知し、操作の入力を受け付けてもよい。
ステップS2での交流進行操作又は設定操作の判別において、制御部11は、ユーザが任意に設定される時間間隔内に複数回、鍵盤161bに対し押操作している、つまり演奏中である場合に交流進行操作であると判断する。進行操作情報の送信と、相手方の進行操作情報の受信後の鍵盤161bへの反映とが交互に行なわれ、遠隔で連弾している状況が実現される。あるいは制御部11は、ユーザに鍵盤161bの押操作、位置等の指定を促すためのメッセージを入出力部14による音声出力または画像出力によりユーザに対し通知し、その後のユーザによる操作に応じて判断してもよい。音声出力によるメッセージは、例えば「演奏の設定をする場合は鍵盤をもう1度押してください。演奏を開始する場合は鍵盤をもう2回押してください。」といったメッセージである。その場合、ユーザによる鍵盤161bの押操作回数に応じて設定操作又は交流進行操作が判別される。画像出力によるメッセージは、「演奏の設定をする場合はPiano1の範囲の鍵盤を押してください。演奏を開始する場合はPiano2の範囲の鍵盤を押してください。」といったメッセージである。画像出力は、例えば、鍵盤楽器16b上に画像を投影することでなされる。この場合、図5に示すような表示が鍵盤楽器16b上に表示される。制御部11は、この後、ユーザが押操作した鍵盤161bの位置を検知部15により検知し、Piano1と表示された範囲の鍵盤161bをユーザが押操作した場合は設定操作と判断し、Piano2と表示された範囲の鍵盤161bをユーザが押操作した場合は交流進行操作と判断する。
ステップS4において、制御部11は、例えば検知部15が検知した鍵盤161bの圧力が大きい程、音量を大きく設定する。ステップS5において、制御部11は、例えば検知部15が検知した鍵盤161bの押操作の回数が増えるごとに、候補の連弾相手を示すIDの値をインクリメントする。ステップS4及びステップS5における制御部11の他の動作は、第1の実施形態と同様である。
ステップS6において、制御部11は、第1の操作情報を相手方の端末装置10に送信する。制御部11は、ユーザが押操作をした鍵盤161bの位置を示す情報を進行操作情報として生成し、送信する。鍵盤161bの位置は行列で表されてよい。進行操作情報は、検知部15が検知した鍵盤161bの押操作に係る圧力、押操作された時間長さ等をさらに含んでもよい。
ステップS7において、制御部11は、相手方の端末装置10から、相手方の交流進行操作に係る進行操作情報を受信し、鍵盤161bのそれぞれに接続した駆動部を制御して、対応する位置の鍵盤161bを上下動させる。
ステップS8において、制御部11は、交流が終了したかを判断する。制御部11は例えば、ユーザの「終了します」という発声を入出力部14を介して受け付け、任意の音声処理技術により解析し、交流が終了したことを判断してもよい。例えば制御部11は、投影部を制御して、ユーザに演奏の終了を選択させるための、図5に示すような「Logout」の文字を操作部16の端部に表示させ、表示位置の範囲の鍵盤161bをユーザが押操作したことを検知部15が検知したときに、交流が終了したことを判断してよい。
本実施形態によれば、操作部16以外に別途装置を設ける必要なく、ユーザが離れたところにいる相手方と演奏の交流をすることが可能となる。ユーザが演奏の実施条件と演奏の進行との切り替えを意識せずに演奏に集中することができる。よって、ユーザの利便性を向上させつつ交流に際しての没入感喪失の抑制を可能にする技術を改善することが可能となる。
上述において、実施形態を諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形及び修正を行うことが容易であることに注意されたい。従って、これらの変形及び修正は本開示の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段、ステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。