JP6469784B1 - プログラム、方法、および情報処理装置 - Google Patents

プログラム、方法、および情報処理装置 Download PDF

Info

Publication number
JP6469784B1
JP6469784B1 JP2017170623A JP2017170623A JP6469784B1 JP 6469784 B1 JP6469784 B1 JP 6469784B1 JP 2017170623 A JP2017170623 A JP 2017170623A JP 2017170623 A JP2017170623 A JP 2017170623A JP 6469784 B1 JP6469784 B1 JP 6469784B1
Authority
JP
Japan
Prior art keywords
information
user
search
item
items
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017170623A
Other languages
English (en)
Other versions
JP2019046322A (ja
Inventor
杏奈 高林
杏奈 高林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Colopl Inc
Original Assignee
Colopl Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Colopl Inc filed Critical Colopl Inc
Priority to JP2017170623A priority Critical patent/JP6469784B1/ja
Application granted granted Critical
Publication of JP6469784B1 publication Critical patent/JP6469784B1/ja
Publication of JP2019046322A publication Critical patent/JP2019046322A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ユーザの情報検索に係る利便性を向上させるプログラム、方法及び情報処理装置を提供する。【解決手段】ゲームプログラムは、プロセッサに、文字列を入力するための入力操作を受け付けるステップ(S100)と、入力文字列に応じて、レコード群の各レコードに含まれている複数項目の情報から、1つ以上かつ全部でない項目を検索項目と決定するステップ(S104)と、入力文字列と適合する文字列が検索対象の情報に含まれているレコードをレコード群から抽出し、抽出結果を表示部に表示させるステップ(S112)と、を実行させる。【選択図】図5

Description

本開示は、情報を検索するためのプログラム、方法、および情報処理装置に関する。
従来から、多数のユーザが参加するゲームであって、ゲーム内でユーザ同士が関わりを持つゲームが提供されている。例えば、スポーツゲームまたはパズルゲーム等では、ユーザ間で協力プレイまたは対戦プレイなどが可能なゲームが多い。また、複数のユーザでグループを作成したり、互いをフォローしたりすることで、ゲームプレイが快適または有利になるように設計されているゲームも多数提供されている。
特開2015−156941号公報(2015年9月3日公開)
このように複数のユーザが関わり合うゲームでは、上述した協力プレイ、対戦プレイ、グループの作成、フォロー等の利用を支援するために、ユーザ検索機能が設けられていることが多い。従来のユーザ検索機能では、検索を行うユーザは検索対象とする検索項目を自身で決定して、該検索項目に合うキーワードを適切な入力欄に入力する必要があった。
一般的に、検索機能において検索項目が増加させて検索機能を充実させると、検索項目の選択欄、またはキーワードの入力欄等が増加してGUIが雑然としがちである。そのため、従来のユーザ検索機能では、検索機能を充実させるほど、かえってユーザの検索項目の決定およびキーワードの入力の手間または間違いが増える虞があった。
この問題はゲームでのユーザ検索に限らず、多項目の情報の中から任意の情報を検索する場合に共通の問題である。
本開示は、上述の問題を鑑みたものであり、その目的は、ユーザの情報検索に係る利便性を向上させることが可能なプログラム、方法、および情報処理装置を実現することにある。
本開示の一態様に係るプログラムは、プロセッサ、メモリ、ディスプレイ、およびユーザの入力操作を受け付ける操作部を備えるコンピュータにより実行されるプログラムである。プログラムは、プロセッサに、文字列を入力するための入力操作を受け付けるステップと、入力された文字列に応じて、レコード群の各レコードに含まれている複数項目の情報から、1つ以上かつ全部でない項目を検索項目と決定するステップと、入力された文字列と適合する文字列が検索項目の情報に含まれているレコードを、レコード群から抽出した結果をディスプレイに表示させるステップと、を実行させる。
本開示の一態様に係る方法は、プロセッサ、メモリ、ディスプレイ、およびユーザの入力操作を受け付ける操作部を備えるコンピュータがプログラムを実行する方法である。方法は、文字列を入力するための入力操作を受け付けるステップと、入力された文字列に応じて、レコード群の各レコードに含まれている複数項目の情報から、1つ以上かつ全部でない項目を検索項目と決定するステップと、入力された文字列と適合する文字列が検索項目の情報に含まれているレコードを、レコード群から抽出した結果をディスプレイに表示させるステップと、を含む。
本開示の一態様に係る情報処理装置は、プログラムを実行することにより、情報処理装置の動作を制御するプロセッサと、プログラムを記憶するメモリと、
画像を表示するディスプレイと、ユーザの入力操作を受け付けるように構成された操作部と、を備える。プロセッサは、文字列を入力するための入力操作を受け付けるステップと、入力された文字列に応じて、レコード群の各レコードに含まれている複数項目の情報から、1つ以上かつ全部でない項目を検索項目と決定するステップと、入力された文字列と適合する文字列が検索項目の情報に含まれているレコードを、レコード群から抽出した結果をディスプレイに表示させるステップと、を実行する。
本開示の一態様によれば、ユーザの情報検索に係る利便性を向上させることができる。
ゲームシステムのハードウェア構成を示す図である。 ユーザ端末およびサーバの機能的構成を示すブロック図である。 ユーザ情報のデータ構造の具体例を示す図である。 ユーザ検索画面の具体例を示す図である。 ユーザ検索処理の流れを示すフローチャートである。 ユーザ検索画面および検索結果画面の一例を示す図である。 ユーザ検索画面および検索結果画面の他の一例を示す図である。 ユーザ検索画面および検索結果画面の他の一例を示す図である。
〔実施形態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(表示部)と、カメラ17と、測距センサ18とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。また、図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が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ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が実現するゲームのジャンルは特に限定されない。例えば、ゲームはパズルゲーム、クイズゲーム、RPG(ロールプレイングゲーム)、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲームなどであってもよい。また、ゲームシステム1が実現するゲームの題材も特に限定されない。例えば、ゲームはテニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲームであってもよい。
また、ゲームシステム1は、特定のプレイ形態に限らず、あらゆるプレイ形態のゲームを実行するためのシステムであってもよい。例えば、単一のユーザによるシングルプレイゲーム、および、複数のユーザによるマルチプレイゲーム、また、マルチプレイゲームの中でも、複数のユーザが対戦する対戦ゲーム、および、複数のユーザが協力する協力プレイゲームなどであってもよい。
ゲームシステム1が実現するゲームは、1レコードに複数項目の情報が含まれているデータテーブル(レコード群)から、入力された文字列に合うレコードを検索して抽出する機能を有したゲームである。検索および抽出されるデータテーブルの種類、および検索対象となる情報の項目は特に限定されない。
例えば、本実施形態に係るゲームは、ユーザのアカウント情報を検索する機能(ユーザ検索機能)、ゲームのステージを検索する機能、ゲームのキャラクタを検索する機能、ゲーム内で結成するグループを検索する機能等を1つ以上有していてもよい。以降の説明では、一例として、本実施形態に係るゲームがユーザ検索機能を有している場合について説明する。
<ゲームシステム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は、ゲームプログラム131、ゲーム情報132、およびユーザ情報133を格納する。記憶部220は、ゲームプログラム131、ゲーム情報232、およびユーザ情報233を格納する。
ゲームプログラム131は、ユーザ端末100およびサーバ200で実行するゲームプログラムである。ゲーム情報132は、制御部110がゲームプログラム131を実行する際に参照するデータである。ゲーム情報232は、制御部210がゲームプログラム131を実行する際に参照するデータである。
ユーザ情報133およびユーザ情報233は、ユーザのアカウントに関する情報(アカウント情報)である。ユーザ情報133は、ユーザ端末100と対応付けられているアカウント情報である。本実施形態では、1台のユーザ端末100に、1つのアカウントが対応付けられている例について説明する。
ユーザ情報233は、各ユーザ端末100から収集されたユーザ情報133をまとめたデータである。したがって、ユーザ情報133とユーザ情報233とが含む情報の項目は同一である。
図3は、ユーザ情報233のデータ構造の一例を示す図である。ユーザ情報233は、アカウントに紐付けられた複数項目の情報を含む。図3の例では、ユーザ情報233は1つのアカウントに関する情報(すなわち、各ユーザ端末100におけるユーザ情報133)を、データテーブルの1レコードとして保持している。ユーザ情報233に含まれる情報は図3の例に限定されない。ユーザ情報233は少なくとも、アカウントを一意に特定する識別子と、他の1以上の項目の情報とを含んでいればよい。しかしながら、ユーザ情報233はユーザIDとユーザ名とを含んでいることが望ましい。
ユーザ情報233は例えば、「ユーザID」列と、「ユーザ名」列と、「レベル」列と、「リーダー」列と、「最終ログイン時刻」列と、「メッセージ」列を含む。ユーザ情報233は、「ユーザID」列の情報に、他の列の情報が対応付けられたデータである。
「ユーザID」列には、アカウントを一意に特定する識別子であるユーザ名を示す情報が格納される。本実施形態に係るゲームでは、ユーザIDは、ユーザ端末100等を介してユーザがアカウントを作成したときに、サーバ200またはユーザ端末100において自動的に設定される。本実施形態では、ユーザIDとして、アットマーク(@)から始まり、該アットマーク、アルファベット、および数字を組み合わせた合計13文字から成る識別子を採用した場合について説明する。
「ユーザ名」列には、アカウントの名称を示す情報が格納される。本実施形態に係るゲームでは、ユーザ名はユーザによってユーザ端末100等を介して設定される文字列である。ユーザ名は、ゲームのプレイ中に何度でも変更可能であってもよい。また、アカウントを作成したときに、ユーザがユーザ名を特に指定しなかった場合は、サーバ200またはユーザ端末100が、予め定められた標準名(デフォルトネーム)をユーザ名として設定してもよい。
「レベル」列には、ゲームにおけるアカウントのレベルを示す情報が格納される。レベルとは、該アカウントのゲームの進行度合いを示す指標値である。どのような条件でレベルが変化するのかは、ゲームの特徴に応じて適宜設計されてよい。例えば、ゲームのプレイ内容(例えばスコア等)に応じてアカウントに対し経験値が付与され、該経験値が一定値を超えた場合に、レベルを1増加させることとしてもよい。
「リーダー」列には、ゲームにおいて該アカウントが使用可能なキャラクタのうち、ユーザが代表として指定したキャラクタを特定する情報が格納される。なお、ゲームの性質に応じて、人または動物等のキャラクタの代わりに、アイテム、建物などを示す情報をこの列に格納してもよい。
「最終ログイン時刻」列には、各アカウントが最後にログインした時刻を示す情報が格納される。
「メッセージ」列には、ユーザが設定したメッセージの文字列を示す情報が格納される。ユーザは例えば、他のユーザへの挨拶または自己紹介などをメッセージとして設定しておくことができる。なお、「メッセージ」列に情報が格納されていないアカウントがあってもよい。図3における空欄は、「メッセージ」列に情報が格納されていないことを示している。
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム131を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ユーザ端末100に各種データおよびプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末100から受信する。ゲームがマルチプレイゲームである場合には、制御部210は、ユーザ端末100からマルチプレイの同期の要求を受信して、同期のためのデータをユーザ端末100に送信してもよい。
制御部210は、ゲームプログラム131の記述に応じて、送受信部211、サーバ処理部212、およびデータ管理部213として機能する。制御部210は、実行するゲームの性質に応じて、ユーザ端末100におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
送受信部211は、ユーザ端末100からデータおよびリクエストを受信する。送受信部211は、ユーザ端末100からの検索指示を受信する。詳しくは後述するが、検索指示はユーザ情報233の検索を指示するものであり、ユーザ情報233のうち、検索対象とする情報の項目(検索項目)と、検索条件または検索ワードとを示す情報を含む。
また、送受信部211は、ユーザ端末100に対しデータおよびリクエストを送信する。送受信部211は、サーバ処理部212の指示に従って、ユーザ情報233から抽出された各レコードの少なくとも一部の情報を、ユーザ端末100に送信する。
サーバ処理部212は、ゲームを提供するために必要な演算処理を行う。サーバ処理部212は送受信部211に対し、各種データの送信を指示する。サーバ処理部212は、データ管理部213に対し、ゲーム情報232またはユーザ情報233のレコードの追加、更新、または削除を指示する。
さらに、サーバ処理部212は、ユーザ端末100から受信した検索指示に従って、ユーザ情報233のレコードを検索する。より詳しくは、サーバ処理部212は、検索指示により指定された検索対象の項目(検索項目)を、検索指示により指定された検索条件または検索ワードで検索する。検索の結果、該当するレコードが1つ以上存在する場合、サーバ処理部212は該レコードを抽出し、抽出したレコードそれぞれの、少なくとも一部の情報を、送受信部211を介してユーザ端末100に送信する。
データ管理部213は、記憶部220に格納されているデータを管理する。データ管理部213は、サーバ処理部212からの指示に応じてゲーム情報232またはユーザ情報233のレコードを、追加、更新、または削除する。データ管理部213は、サーバ処理部212の指示に従って、ゲーム情報232およびユーザ情報233の少なくとも一方を記憶部220から読み出して、送受信部211を介してユーザ端末100に送信してもよい。データ管理部213は、サーバ処理部212の指示に従って、ゲームプログラム131のうち、あるユーザ端末100で実行する分のプログラムを記憶部220から読み出して、送受信部211を介し該ユーザ端末100に送信してもよい。
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じてサーバ200と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、ゲーム進行部112、画像生成部113、および表示制御部114として機能する。制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部111は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
ゲーム進行部112は、ゲームの進行に係る各種処理を実行する。例えば、ゲーム進行部112は、ゲームの進行に係る種々のパラメータの設定、演算処理、判定処理等を行う。また、ゲーム進行部112は、画像生成部113にゲーム画面の画像を生成させるよう指示する。ゲーム進行部112は、検索ワード特定部1121と、検索項目決定部1122と、検索指示部1123とを含む。
検索ワード特定部1121は、ユーザ検索を実行するときの検索ワードを特定する。検索ワード特定部1121は、タッチスクリーン15に表示されたソフトウェアキーボード等に対する入力操作を操作受付部111が受け付けた場合、該入力操作に応じて入力された文字列を特定し、該文字列を検索ワードとして特定する。
検索項目決定部1122は、ユーザ情報133に含まれる種々の項目の情報のうち、ユーザ検索を実行する際の検索項目を決定する。検索項目決定部1122は、ゲーム進行部112が取得した検索キーワードに応じて、ユーザ情報133に含まれる複数項目の情報から、1つ以上かつ全部でない項目を検索項目と決定する。
検索指示部1123は、検索項目決定部1122が決定した検索項目の情報を、検索ワード特定部1121が特定した検索ワードで検索する旨の指示(検索指示)を作成する。検索指示部1123は作成した検索指示を、サーバ200に送信する。
画像生成部113は、ゲーム進行部112の指示にしたがって、各種ゲーム画面の画像(以下、単にゲーム画面と称する)を生成する。例えば、画像生成部113はユーザ検索画面および検索結果画面を描画する。ユーザ検索画面および検索結果画面の詳細については後述する。画像生成部113は、UIオブジェクト等のオブジェクトを背景となる画像に重畳させてゲーム画面を生成してもよい。UIオブジェクトとは、ユーザが、ゲームの進行上必要な入力をユーザ端末100に対して行うためのツール、または、ゲームの進行中に出力される情報をユーザ端末100から得るためのツールである。UIオブジェクトは、例えば、数字および文字列等の入力欄(入力ボックス)、プルダウンメニュー、アイコン、ボタン、リストなどである。また、画像生成部113は、ゲーム進行部112の指示にしたがって、ゲーム画面に配置されるオブジェクトのアニメーション(動き)を生成してもよい。
表示制御部114は、タッチスクリーン15の表示部152に対して、上述の各部によって実行された処理結果が反映されたゲーム画面を出力する。例えば、表示制御部114は、ユーザ検索画面および検索結果画面を描画する。
なお、図2に示すサーバ200およびユーザ端末100の機能は一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
≪ユーザ検索画面≫
ユーザ端末100のゲーム進行部112は、ゲームプログラム131の記述に基づいて、画像生成部113に、ユーザ検索機能を実現するための画面(ユーザ検索画面)を生成するよう指示する。画像生成部113はゲーム進行部112の指示に従ってユーザ検索画面を生成し、表示制御部114は該ユーザ検索画面をタッチスクリーン15に表示させる。
ユーザ検索画面を表示するタイミングまたは表示する条件は、特に限定されない。例えば、ゲーム進行部112は、特定のゲーム画面において、特定の入力操作が行われた場合に、ユーザ検索画面を生成させてもよい。より具体的には、ゲーム進行部112は例えば、各種情報を提示するゲーム画面であるメニュー画面において、ユーザ検索画面に遷移するためのボタン等が押下された場合、ユーザ検索画面を生成するよう画像生成部113に指示してもよい。
図4は、タッチスクリーン15に表示されるユーザ検索画面の具体例を示す図である。ユーザ検索画面は、少なくとも、検索ボックス301と、検索ボタン302とを含んでいる。
検索ボックス301は、検索ワードの入力を受け付けるための入力欄である。操作受付部111が検索ボックス301に対する入力操作を受け付けた場合、ゲーム進行部112は、後述するソフトウェアキーボード334等、ユーザに文字入力を行わせるためのUIオブジェクトを生成するよう、画像生成部113に指示する。
検索ボタン302は、検索の実行指示を受け付けるためのボタンである。操作受付部111が検索ボタン302に対する入力操作を受け付けた場合、ゲーム進行部112の検索ワード特定部1121は、検索ボックス301に入力された文字列を検索ワードとして特定する。検索項目決定部1122は検索ワードに応じてユーザ情報233に含まれる情報のうち、検索対象の項目を決定する。そして、検索指示部1123は、特定された検索ワードおよび決定された検索項目でユーザ情報233を検索するよう、サーバ200に検索指示を送信する。
ユーザ検索画面には、おすすめユーザを一覧表示させるためのボタン312が含まれていてもよい。操作受付部111がボタン312に対する入力操作を受け付けた場合、ゲーム進行部112は、予め定められた条件でユーザ情報233を検索するようサーバ200に検索指示を送信する。ここで、予め定められた条件とは、例えばログイン時刻の遅い順(すなわち、最近ログインした順)、ユーザ端末100のユーザが所持するアカウントとレベルまたはゲームの進行度が近い順、等が挙げられる。
また、ユーザ検索画面の生成時に、自動的に所定数のユーザ情報233のレコードが抽出され、該レコードに含まれる情報のうち、少なくとも一部の情報が情報表示欄303にレコード毎に表示されていてもよい。換言すると、ゲーム進行部112は、画像生成部113にユーザ検索画面を生成させる前に、予め定められた条件に合致するユーザ情報233をサーバ200に検索させ、合致するレコードの情報を記載した情報表示欄303を含むユーザ検索画面を生成するよう、画像生成部113に指示してもよい。
≪検索処理の流れ≫
図5はユーザ端末100において実行される、ユーザ検索に係る処理(ユーザ検索処理)の流れを示すフローチャートである。
ステップS100において、ユーザ検索画面でユーザにより文字列を入力するための入力操作が行われると、操作受付部111は該入力操作を受け付ける。図4の例では、検索ボックス301に文字列を入力するための一連の操作が、該入力操作に相当する。
操作受付部111が文字列を入力するための入力操作を受け付けると、ステップS102において、検索ワード特定部1121は、入力された文字列(入力文字列)を検索ワードとして特定する。なお、検索ワード特定部1121は、入力文字列の全部ではなく一部分のみを検索ワードとして特定してもよい。
操作受付部111が文字列を入力するための入力操作を受け付けると、ステップS104において、検索項目決定部1122は、入力文字列に応じて、ユーザ情報233の各レコードに含まれている複数項目の情報から、検索項目を決定する。具体的には、検索項目決定部1122は、例えば入力文字列の文字数、または入力文字列に含まれている文字の内容(どのような文字が含まれているか)に応じて、検索項目を決定してもよい。検索項目の決定方法の具体例は後述する。
また、検索項目決定部1122は、検索項目を決定する際、1つ以上かつ全部でない項目の情報を検索対象の情報と決定する。これにより、ユーザ情報233の全項目の情報から、検索項目が絞り込まれる。なお、ステップS102の処理と、ステップS104の処理は同時または逆の順序で行われてもよい。
検索ワードと検索項目が決定されると、ステップS106において、検索指示部1123は、該検索ワードおよび該検索項目を示す情報を含んだ検索指示を作成し、サーバ200に送信する。サーバ200のサーバ処理部212は、送受信部211が受信した該検索指示に基づいて検索を実行する。より詳しくは、サーバ処理部212は、入力文字列と適合する文字列が検索項目の示す検索対象の情報に含まれているレコードを、ユーザ情報233から抽出する。サーバ処理部212は、抽出したレコードの少なくとも一部の情報をユーザ端末100に送信する。
ステップS108において、ユーザ端末100の制御部110は、検索によりレコードを抽出した結果を受信する。ステップS110において、画像生成部113は該抽出結果を示す画面(検索結果画面)、すなわち抽出したレコードの少なくとも一部の情報を含む画面を作成する。ステップS112において、表示制御部114は、画像生成部113が生成した該画面を、タッチスクリーン15の表示部152に表示させる。
以上説明したユーザ検索処理によれば、入力文字列に応じて、複数項目の情報から検索項目が絞り込まれる。したがって、ユーザは別途指定せずとも、入力文字列に応じた適切な検索対象の情報について検索した結果を得ることができる。したがって、ユーザの情報検索に係る利便性を向上させることができる。
また、一般的に、種々の検索機能において検索項目が増加すると、検索項目の選択欄(プルダウンメニュー等)、またはキーワードの入力欄(検索ボックス等)等のオブジェクトが増加してGUIが雑然としがちである。一方、上記ユーザ検索処理によれば、複数項目を検索可能とした場合でも、入力文字列に応じて検索項目を絞り込むため、上述のようなオブジェクトが増加しない。したがって、検索機能の充実化と、GUIの簡易化とを両立することができる。よって、ユーザの検索に係る手間または間違いを減らすことができる。
また、上記ユーザ検索処理によれば、単に検索ワードでユーザ情報233の全項目について検索を行うのではなく、入力文字列に応じて予め検索項目を絞る。これにより、検索対象とするのに不適切な項目を、自動的に検索から除外することができる。例えば、ユーザが短い検索ワードを入力した場合に、ユーザ情報233の全項目が検索され、不要と思われるレコードまで抽出されることを防ぐことができる。
≪検索結果の表示1≫
検索項目決定部1122は、図5のステップS104において、入力文字列の文字数ととり得る文字数の範囲が適合する情報の項目を、検索項目と決定してもよい。以下、文字数に応じて検索項目を決定する場合の、処理の流れおよび具体例を図6および図7を用いて説明する。
なお、以下の説明では、ユーザ情報233のうちユーザIDとユーザ名についてユーザ検索が可能であることとする。また、ユーザIDは上述のように13文字固定の情報であり、ユーザ名は12文字以下の情報であることとする。
図6および図7は、それぞれ、ユーザ検索画面および検索結果画面の一例を示す図である。図6および図7の状態(A)は、ユーザ検索画面を示す。図6および図7の状態(B)は、検索結果画面を示す。なお、図6および図7の各図に示す画面において、特に言及の無い部材については、図4の同部材番号のオブジェクトと同様の作用を持つ。
操作受付部111が検索ボックス301に対する入力操作を受け付けると、ゲーム進行部112は、図6の状態(A)に示すように、検索ボックス301に文字列を入力するための、ソフトウェアキーボード334を含むポップアップをユーザ検索画面に重畳表示するよう、画像生成部113に指示する。画像生成部113は該ポップアップを重畳させたユーザ検索画面を作成し、表示制御部114は該画面をタッチスクリーン15に表示させる。
ポップアップには、少なくとも文字入力を行うためのソフトウェアキーボード334と、入力文字列を確定する指示を受け付けるためのボタン(完了ボタン332)と、文字列の入力をキャンセルするためのボタン(キャンセルボタン333)とが含まれている。なお、ポップアップには、入力途中の文字列を随時表示するための表示欄331が含まれていてもよい。
操作受付部111は、ソフトウェアキーボード334に対する入力操作を受け付け、該内容を特定する。その後、操作受付部111が完了ボタン332を押下する入力操作を受け付けると、ゲーム進行部112の検索ワード特定部1121は、入力文字列が確定されたとして検索ワードを特定する。
図6の状態(A)で完了ボタン332が押下された場合、入力文字列は「やまだ」であり、検索ワード特定部1121は、「やまだ」を検索ワードとして特定する。検索項目決定部は、ユーザ情報233の検索可能な項目(すなわち、ユーザIDおよびユーザ名)のうち、入力文字列の文字数(図6の場合、3文字)と適合する文字数の範囲をもつ情報の項目を1つ以上特定し、該項目を検索項目とする。
同図の場合、ユーザIDは13文字で固定であるので、入力文字列の文字数と適合しない。一方、ユーザ名は1〜12文字の範囲をとり得るため、入力文字列の文字数と適合する。したがって、検索項目決定部1122は、ユーザ名を検索項目として決定する。
なお、図6の状態(A)において、検索項目決定部1122は、完了ボタン332が押下される前に、入力途中の文字列から随時検索項目の候補を特定してもよい。また、画像生成部113は特定された該検索項目の候補の項目名をポップアップまたはユーザ検索画面内の表示欄335に示した画面を作成してもよい。
検索ワードと検索項目が決定されると、検索指示部1123は検索指示を作成し、サーバ200へ送信する。そして、制御部110はサーバ200から検索結果、すなわち検索項目の情報が検索ワードと適合(一致または部分一致)するレコードの情報を受信する。
画像生成部113は、受信したレコードの情報に基づき、検索結果画面を生成する。具体的には、図6の状態(B)に示す検索結果画面を生成する。該画面には、検索結果として得られたレコードの情報が、表示欄311に一覧表示される。本図の場合、図3に示したユーザ情報233の「ユーザ名」を「やまだ」で検索した結果が表示される。具体的には、ユーザ名に「やまだ」が含まれるアカウント(ユーザ名がやまだ、やまだけ、おやまだ、の3アカウント)の情報が、検索結果画面に表示される。
なお、検索の結果、1レコードも適合するレコードが存在しなかった場合、表示欄311は表示されなくてもよい。一方、適合するレコードが多く、表示欄311が1画面に収まらない場合、画像生成部113は画面をスクロールする、または一覧表示のページを次のページに切替えるためのUIオブジェクトを含む検索結果画面を作成してもよい。また、画像生成部113は、検索結果画面に、検索の際の検索項目の項目名を表示した表示欄313を含んだ画面を作成してもよい。
図7の状態(A)は、図6の状態(A)と同様の画面で、入力文字列として「@AA1BB1CC1DD1」が入力された場合を示す。この場合、入力文字列の文字数は13文字であるので、検索項目決定部1122は、ユーザIDを検索項目として決定する。そして、検索ワード「@AA1BB1CC1DD1」で、ユーザIDを検索した結果得られたレコードの情報を含む、検索結果画面が生成される。
具体的には、図3においてユーザIDが「@AA1BB1CC1DD1」である、ユーザ名:やまだの1アカウントの情報が、検索結果画面に表示される。
このように、ユーザ情報233の検索可能な項目について、それぞれの項目に含まれる情報がとり得る文字数の範囲が異なるように設計しておく。そして、検索項目決定部1122は文字数に応じて検索項目を決定する。これにより、入力文字列がいずれの項目に注目したものか判別することができる。したがって、ユーザ端末100は適切な検索項目でサーバ200に検索を実行させることができる。これにより、ユーザの情報検索の利便性を向上させることができる。
なお、ユーザ情報233の各種情報のうち、ユーザIDおよびユーザ名以外の情報についても検索可能であってもよい。例えば、ユーザIDと、ユーザ名と、メッセージとからユーザ検索が可能であってもよい。
なお、ユーザ情報233の各項目の情報がとり得る文字数の範囲を重複させてもよい。例えば、ユーザIDのとり得る文字数を5〜13文字、ユーザ名のとり得る文字数を1〜10文字としてもよい。この場合、制御部110は予め、各項目を検索項目とする条件となる文字数の範囲を設定しておく。例えば、入力文字数が9文字以下の場合はユーザ名を検索項目と決定し、10文字以上の場合はユーザIDを検索項目と決定するよう、予め設定し該設定を記憶しておく。そして、検索項目決定部1122は、記憶された設定と、入力文字列の文字列とを比較することで、検索項目を決定すればよい。なお、該設定はユーザが自由に変更可能なものであってもよい。
〔実施形態2〕
本開示の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。
検索項目決定部1122は、図5のステップS104において、特定の文字が入力された文字列に含まれている場合、該特定の文字に対応付けられている項目を、検索項目として決定してもよい。換言すると、検索項目決定部1122は、入力文字列の内容から検索項目を決定してもよい。
この場合、制御部110は予め、各項目を検索項目とする条件となる、特定の文字を設定しておく。例えば、制御部110は、入力文字列がアットマークを含む場合はユーザIDを検索項目と決定し、アットマークを含まない場合は、ユーザ名を検索項目と決定するよう、予め設定し該設定を記憶しておく。なお、ユーザ名にのみ使用できる文字が存在する場合、該文字を「特定の文字」とし、入力文字列が該特定の文字を含む場合、ユーザ名を検索項目と決定することとしてもよい。
そして、検索項目決定部1122は、記憶された上記設定と、入力文字列の内容とを比較することで、検索項目を決定する。なお、該設定はユーザが自由に変更可能なものであってもよい。
≪検索結果の表示2≫
図8の状態(A)は、ユーザ検索画面のソフトウェアキーボード334で、「@EE」と入力された場合を示す。以下の説明では、図6および図7の例と同様に、ユーザ情報233のうちユーザIDとユーザ名についてユーザ検索が可能であることとする。また、ユーザIDにはアットマーク(@)という特定の文字が必ず含まれており、ユーザ名には@は含むことができないものとする。
検索項目決定部1122は、入力文字列「@EE」の内容に基づいて、検索項目を決定する。具体的には、検索項目決定部1122は、文字列「@EE」に含まれる文字それぞれについて、ユーザ情報233の検索可能な項目それぞれを検索項目とするための条件に合致するか判定する。この場合。@が、ユーザIDを検索項目とする条件となる「特定の文字」である。したがって、検索項目決定部1122は、ユーザIDを検索項目として決定する。なお、入力文字列が、複数の項目の、該項目を検索項目とするための条件を満たす場合、検索項目決定部1122は、該複数項目を検索項目として決定してもよい。
図8の状態(A)で完了ボタン332が押下されると、検索ワード「@EE」で、ユーザIDを検索した結果得られたレコードの情報を含む、検索結果画面が生成される。
具体的には、図8の状態(B)に示すような検索結果画面が生成される。図示の通り、ユーザIDに「@EE」を含むアカウントの情報が、検索結果画面に表示される。
一方、入力文字列として、例えば図6の状態(A)と同様に「やまだ」と入力した場合、この入力文字列に、ユーザIDを検索するための特定の文字(@)は含まれていない。したがって、検索項目決定部1122は、ユーザIDを検索項目から除外する。結果、図6の状態(A)および(B)と同様に、ユーザ名が検索項目として決定され、検索結果が検索結果画面に表示される。
このように、ユーザ情報233の検索可能な項目について、それぞれの項目に含まれる情報がとり得る文字の内容が異なるように設計しておく。そして、検索項目決定部1122は入力文字列の内容に応じて検索項目を決定する。これにより、入力文字列がいずれの項目に注目したものか判別することができる。したがって、ユーザ端末100は適切な検索項目でサーバ200に検索を実行させることができる。これにより、ユーザの情報検索の利便性を向上させることができる。
なお、本実施形態においても、ユーザ情報233の各種情報のうち、ユーザIDおよびユーザ名以外の情報についても検索可能であってもよい。例えば、ユーザIDと、ユーザ名と、メッセージとからユーザ検索が可能であってもよい。
〔変形例〕
上記各実施形態において、検索項目の個数は、ユーザ情報233の全項目を除けば何項目でも良いこととした。しかしながら、検索項目決定部1122は、検索項目を1つに決定することがより望ましい。これにより、検索項目をより絞り込むことができるため、ユーザは注目する情報をより簡単に見つけることができる。
本開示に係るプログラムは、情報の検索機能を実現するためのプログラムであればよい。換言すると、本開示に係るプログラムは、ゲームプログラムでなくてもよい。
ゲームシステム1において、ユーザ端末100の記憶部120はユーザ情報233を記憶していてもよい。この場合、サーバ200は各ユーザ端末100から収集したユーザ情報133の集合であるユーザ情報233を、所定のタイミングで各ユーザ端末100に送信しておく。そして、ユーザ端末100の制御部110は、自装置の記憶部120に記憶されたユーザ情報233に対し、検索を実行し、該検索の結果を含む検索結果画面を画像生成部113に作成させてもよい。これにより、検索を実行する際の、ユーザ端末100とサーバ200間の通信のやりとりを無くすことができる。
〔ソフトウェアによる実現例〕
ユーザ端末100およびサーバ200の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
後者の場合、ユーザ端末100およびサーバ200は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると、以下の通りである。
(項目1) プログラム(ゲームプログラム131)について説明した。本開示のある局面によると、プログラムは、プロセッサ(10、20)、メモリ(11、21)、ディスプレイ(表示部152等)、およびユーザの入力操作を受け付ける操作部(入力部151等)を備えるコンピュータにより実行されるプログラムである。プログラムは、プロセッサに、文字列を入力するための入力操作を受け付けるステップ(S100)と、入力された文字列に応じて、レコード群の各レコードに含まれている複数項目の情報から、1つ以上かつ全部でない項目を検索項目と決定するステップ(S104)と、前記入力された文字列と適合する文字列が前記検索項目の情報に含まれているレコードを、前記レコード群から抽出した結果を前記ディスプレイに表示させるステップ(S112)と、を実行させる。
前記の構成によれば、入力された文字列に応じて、複数項目から検索項目が絞り込まれる。したがって、ユーザは別途指定せずとも、入力した文字列に応じた適切な検索対象の情報について検索した結果を得ることができる。したがって、ユーザの情報検索に係る利便性が向上する。
(項目2) (項目1)において、複数項目の情報それぞれがとり得る文字数の範囲は項目ごとに異なっており、決定するステップでは、入力された文字列の文字数と前記文字数の範囲が適合する情報の項目を、検索項目と決定してもよい。
これにより、入力された文字列がいずれの項目に注目したものか判別することができる。したがって、適切な検索項目で情報を検索し、レコードを抽出することができる。これにより、ユーザの情報検索の利便性を向上させることができる。
(項目3) (項目1)において、前記決定するステップでは、特定の文字が前記入力された文字列に含まれている場合、該特定の文字に対応付けられている項目を、前記検索項目と決定してもよい。
これにより、入力された文字列の内容から、該文字列がいずれの項目に注目したものか判別することができる。したがって、適切な検索項目で情報を検索し、レコードを抽出することができる。これにより、ユーザの情報検索の利便性を向上させることができる。
(項目4) (項目1)から(項目3)までのいずれか1項目において、レコードには少なくとも、ユーザによって設定される文字列から成る情報と、コンピュータまたは他の装置によって設定される文字列から成る情報と、が含まれていてもよい。
前記の構成によれば、ユーザは任意の文字列を入力することで、自分が設定した情報と、コンピュータまたは他の装置によって設定された情報とを含むレコードを検索することができる。例えば、ユーザは自分が設定して覚えている文字列を入力することで、任意の情報を検索することができる。
(項目5) (項目4)において、プログラムは、複数のユーザが参加するゲームを実現するためのゲームプログラムであって、レコードは前記ユーザのアカウント情報であって、アカウント情報は、ユーザにより設定されたユーザ名と、ゲームのサーバによって設定されたユーザIDと、を少なくとも含んでいてもよい。
複数ユーザが参加するゲームでは、一般的に、ゲームの進行上、ユーザ同士が関わりあうことが多い。前記の構成によればゲーム内での、ユーザのアカウント検索の利便性が向上するため、ユーザが互いに、任意のユーザを容易に検索することができる。よって、ユーザ同士の交流を活性化することができる。
(項目6) (項目1)から(項目5)までのいずれか1項目において、決定するステップでは、複数項目の情報のうち1つの項目を、検索項目と決定してもよい。これにより、検索項目をより絞り込むことができるため、ユーザは注目する情報をより簡単に見つけることができる。
(項目7) (項目1)から(項目6)までのいずれか1項目において、表示させるステップでは、検索項目の項目名を、抽出した結果とともに前記ディスプレイに表示させてもよい。これにより、ユーザは何の項目について検索が実行されたかを容易に知ることができる。また、ユーザは意図した項目について検索できたか否かを確認することができる。
プロセッサ(10、20)、メモリ(11、21)、ディスプレイ(表示部152等)、およびユーザの入力操作を受け付ける操作部(入力部151等)を備えるコンピュータがプログラム(ゲームプログラム131)を実行する方法について説明した。方法は、文字列を入力するための入力操作を受け付けるステップ(S100)と、入力された文字列に応じて、レコード群の各レコードに含まれている複数項目の情報から、1つ以上かつ全部でない項目を検索項目と決定するステップ(S104)と、入力された文字列と適合する文字列が検索項目の情報に含まれているレコードを、レコード群から抽出した結果をディスプレイに表示させるステップ(S112)と、を含む。前記の構成によれば、(項目1)と同様の効果を奏する。
情報処理装置(ユーザ端末100)について説明した。情報処理装置は、プログラム(ゲームプログラム131)を実行することにより、情報処理装置の動作を制御するプロセッサ(10、20)と、プログラムを記憶するメモリ(11、21)と、画像を表示するディスプレイ(表示部152等)と、ユーザの入力操作を受け付けるように構成された操作部(入力部151等)と、を備える。プロセッサは、文字列を入力するための入力操作を受け付けるステップ(S100)と、入力された文字列に応じて、レコード群の各レコードに含まれている複数項目の情報から、1つ以上かつ全部でない項目を検索項目と決定するステップ(S104)と、入力された文字列と適合する文字列が検索項目に含まれているレコードを、レコード群から抽出した結果をディスプレイに表示させるステップ(S112)と、を実行する。前記の構成によれば、(項目1)と同様の効果を奏する。
1 ゲームシステム、2 ネットワーク、10,20 プロセッサ、11,21 メモリ、12,22 ストレージ、13,23 通信IF(操作部)、14,24 入出力IF(操作部)、15 タッチスクリーン(表示部、操作部)、17 カメラ(操作部)、18 測距センサ(操作部)、100 ユーザ端末(情報処理装置)、110,210 制御部、111 操作受付部、112 ゲーム進行部、1121 検索ワード特定部、1122 検索項目決定部、1123 検索指示部 113 画像生成部、114 表示制御部、120,220 記憶部、131 ゲームプログラム、132,232 ゲーム情報、133,233 ユーザ情報、151 入力部(操作部)、152 表示部、200 サーバ、301 検索ボックス、302 検索ボタン、1010 物体、1020 コントローラ(操作部)、1030 記憶媒体

Claims (8)

  1. プロセッサ、メモリ、ディスプレイ、およびユーザの入力操作を受け付ける操作部を備えるコンピュータにより実行されるプログラムであって、
    前記プログラムは、前記プロセッサに、
    文字列を入力するための入力操作を受け付けるステップと、
    複数項目の情報から成る1つの情報であるレコードを複数件含んでいるデータテーブルにおいて、入力された文字列に応じて、前記複数項目のうち、1つ以上かつ全部でない項目を検索項目と決定するステップと、
    前記レコードのうち、決定された前記検索項目の情報に、前記入力された文字列と適合する文字列が含まれているレコードを、前記データテーブルから抽出するステップと、
    前記抽出するステップにおいて抽出されたレコードの少なくとも一部の項目の情報を前記ディスプレイに表示させるステップと、を実行させ、
    前記レコードは、前記複数項目のうちの一項目の情報として、該レコードを一意に特定する識別子を含み、
    前記複数項目には、前記レコードにおいてそれぞれの項目の情報がとり得る文字数の範囲が設定されており、かつ、該文字数の範囲は項目ごとに異なっており、
    前記決定するステップでは、前記入力された文字列の文字数と前記文字数の範囲が適合する情報項目を、前記検索項目と決定する、プログラム。
  2. 前記決定するステップでは、特定の文字が前記入力された文字列に含まれている場合、該特定の文字に対応付けられている項目を、前記検索項目と決定する、請求項1に記載のプログラム。
  3. 前記レコードには少なくとも、
    前記ユーザによって設定される文字列から成る情報と、
    前記コンピュータまたは他の装置によって設定される文字列から成る情報と、が前記複数項目にそれぞれ一項目の情報として含まれており、
    前記ユーザによって設定される文字列から成る情報がとり得る文字数の範囲と、前記コンピュータまたは他の装置によって設定される文字列から成る情報がとり得る文字数の範囲と、は異なる、請求項1または2に記載のプログラム。
  4. 前記プログラムは、複数のユーザが参加するゲームを実現するためのゲームプログラムであって、
    前記レコードは一人の前記ユーザのアカウント情報であって、
    前記アカウント情報は、前記複数項目のうちのそれぞれ一項目の情報として、前記ユーザにより設定されたユーザ名と、前記ゲームのサーバによって設定された前記識別子であるユーザIDと、を少なくとも含む、請求項3に記載のプログラム。
  5. 前記決定するステップでは、前記複数項目の情報のうち1つの項目を、前記検索項目と決定する、請求項1〜4のいずれか1項に記載のプログラム。
  6. 前記表示させるステップでは、前記検索項目の項目名を、前記レコードの少なくとも一部の項目の情報とともに前記ディスプレイに表示させる、請求項1〜5のいずれか1項に記載のプログラム。
  7. プロセッサ、メモリ、ディスプレイ、およびユーザの入力操作を受け付ける操作部を備えるコンピュータがプログラムを実行する方法であって、
    前記方法は、
    文字列を入力するための入力操作を受け付けるステップと、
    複数項目の情報から成る1つの情報であるレコードを複数件含んでいるデータテーブルにおいて、入力された文字列に応じて、前記複数項目のうち、1つ以上かつ全部でない項目を検索項目と決定するステップと、
    前記レコードのうち、決定された前記検索項目の情報に、前記入力された文字列と適合する文字列が含まれているレコードを、前記データテーブルから抽出するステップと、
    前記抽出するステップにおいて抽出されたレコードの少なくとも一部の項目の情報を前記ディスプレイに表示させるステップと、を含み、
    前記レコードは、前記複数項目のうちの一項目の情報として、該レコードを一意に特定する識別子を含み、
    前記複数項目には、前記レコードにおいてそれぞれの項目の情報がとり得る文字数の範囲が設定されており、かつ、該文字数の範囲は項目ごとに異なっており、
    前記決定するステップでは、前記入力された文字列の文字数と前記文字数の範囲が適合する情報項目を、前記検索項目と決定する、方法。
  8. 情報処理装置であって、
    前記情報処理装置は、
    プログラムを実行することにより、前記情報処理装置の動作を制御するプロセッサと、
    前記プログラムを記憶するメモリと、
    画像を表示するディスプレイと、
    ユーザの入力操作を受け付けるように構成された操作部と、を備え、
    前記プロセッサは、
    複数項目の情報から成る1つの情報であるレコードを複数件含んでいるデータテーブルにおいて、入力された文字列に応じて、前記複数項目のうち、1つ以上かつ全部でない項目を検索項目と決定するステップと、
    前記レコードのうち、決定された前記検索項目の情報に、前記入力された文字列と適合する文字列が含まれているレコードを、前記データテーブルから抽出するステップと、
    前記抽出するステップにおいて抽出されたレコードの少なくとも一部の項目の情報を前記ディスプレイに表示させるステップと、を実行し、
    前記レコードは、前記複数項目のうちの一項目の情報として、該レコードを一意に特定する識別子を含み、
    前記複数項目には、前記レコードにおいてそれぞれの項目の情報がとり得る文字数の範囲が設定されており、かつ、該文字数の範囲は項目ごとに異なっており、
    前記決定するステップでは、前記入力された文字列の文字数と前記文字数の範囲が適合する情報項目を、前記検索項目と決定する、情報処理装置。
JP2017170623A 2017-09-05 2017-09-05 プログラム、方法、および情報処理装置 Active JP6469784B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017170623A JP6469784B1 (ja) 2017-09-05 2017-09-05 プログラム、方法、および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017170623A JP6469784B1 (ja) 2017-09-05 2017-09-05 プログラム、方法、および情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019005510A Division JP2019079562A (ja) 2019-01-16 2019-01-16 プログラム、方法、および情報処理装置

Publications (2)

Publication Number Publication Date
JP6469784B1 true JP6469784B1 (ja) 2019-02-13
JP2019046322A JP2019046322A (ja) 2019-03-22

Family

ID=65356150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017170623A Active JP6469784B1 (ja) 2017-09-05 2017-09-05 プログラム、方法、および情報処理装置

Country Status (1)

Country Link
JP (1) JP6469784B1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005025296A (ja) * 2003-06-30 2005-01-27 Casio Comput Co Ltd 情報表示制御装置、サーバ及びプログラム
JP2006116047A (ja) * 2004-10-21 2006-05-11 Konami Co Ltd ゲームシステム、ゲームサーバ装置及びその制御方法、並びにゲーム装置及びその制御方法
JP2007148775A (ja) * 2005-11-28 2007-06-14 Hitachi Ltd 駅名検索方法
JP2012118750A (ja) * 2010-11-30 2012-06-21 Ricoh Co Ltd 情報検索装置、検索入力方法、及び検索入力プログラム
JP2015156941A (ja) * 2014-02-24 2015-09-03 株式会社コロプラ クイズ形式のゲームを提供するゲームサーバ及びゲームサーバによるクイズ形式のゲームの制御方法
WO2016136626A1 (ja) * 2015-02-27 2016-09-01 ソニー株式会社 ユーザ管理サーバ、端末、情報表示システム、ユーザ管理方法、情報表示方法、プログラム及び情報記憶媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005025296A (ja) * 2003-06-30 2005-01-27 Casio Comput Co Ltd 情報表示制御装置、サーバ及びプログラム
JP2006116047A (ja) * 2004-10-21 2006-05-11 Konami Co Ltd ゲームシステム、ゲームサーバ装置及びその制御方法、並びにゲーム装置及びその制御方法
JP2007148775A (ja) * 2005-11-28 2007-06-14 Hitachi Ltd 駅名検索方法
JP2012118750A (ja) * 2010-11-30 2012-06-21 Ricoh Co Ltd 情報検索装置、検索入力方法、及び検索入力プログラム
JP2015156941A (ja) * 2014-02-24 2015-09-03 株式会社コロプラ クイズ形式のゲームを提供するゲームサーバ及びゲームサーバによるクイズ形式のゲームの制御方法
WO2016136626A1 (ja) * 2015-02-27 2016-09-01 ソニー株式会社 ユーザ管理サーバ、端末、情報表示システム、ユーザ管理方法、情報表示方法、プログラム及び情報記憶媒体

Also Published As

Publication number Publication date
JP2019046322A (ja) 2019-03-22

Similar Documents

Publication Publication Date Title
US20150128036A1 (en) Method, apparatus and electronic device for moving target element
JP6514376B1 (ja) ゲームプログラム、方法、及び情報処理装置
JP6472555B1 (ja) ゲームプログラム、方法、および情報処理装置
JP6612391B1 (ja) ゲームプログラム、方法、および情報処理装置
JP6513259B1 (ja) ゲームプログラム、方法、および情報処理装置
JP6498801B1 (ja) ゲームプログラム、方法、および情報処理装置
JP2019126741A (ja) ゲームプログラム、方法、及び情報処理装置
JP6522210B1 (ja) ゲームプログラム、方法、および情報処理装置
JP2023085442A (ja) プログラム
JP2020022574A (ja) ゲームプログラム、方法、および情報処理装置
JP2019205514A (ja) プログラム、方法、および情報端末装置
JP2020115942A (ja) ゲームプログラム、方法、および情報処理装置
JP6469784B1 (ja) プログラム、方法、および情報処理装置
JP6788644B2 (ja) ゲームプログラム、方法、および情報処理装置
JP7370721B2 (ja) ゲームプログラム、方法、および情報処理装置
JP6503118B1 (ja) ゲームプログラム、方法、および情報処理装置
JP2019079562A (ja) プログラム、方法、および情報処理装置
JP2020110449A (ja) ゲームプログラム、方法、および情報処理装置
JP6298915B1 (ja) ゲームプログラム、方法、および情報処理装置
JP7316988B2 (ja) ゲームプログラム、方法、および情報処理装置
JP7505903B2 (ja) プログラム
JP6826556B2 (ja) ゲームプログラム、方法、および情報処理装置
JP6307651B1 (ja) ゲームプログラム、方法、および、情報処理装置
JP2019209161A (ja) ゲームプログラム、方法、および情報処理装置
JP2018183566A (ja) ゲームプログラム、方法、および情報処理装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190116

R150 Certificate of patent or registration of utility model

Ref document number: 6469784

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250