(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022172782
(43)【公開日】2022-11-17
(54)【発明の名称】ゲームプログラム
(51)【国際特許分類】
A63F 13/80 20140101AFI20221110BHJP
A63F 13/53 20140101ALI20221110BHJP
A63F 13/69 20140101ALI20221110BHJP
A63F 13/537 20140101ALI20221110BHJP
A63F 13/426 20140101ALI20221110BHJP
【FI】
A63F13/80 E
A63F13/80 D
A63F13/53
A63F13/69
A63F13/537
A63F13/426
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021078983
(22)【出願日】2021-05-07
(71)【出願人】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100199565
【弁理士】
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】森 耕平
(72)【発明者】
【氏名】西尾 龍人
(57)【要約】
【課題】文字パズルゲームの興趣性を一層高めることを可能にする技術を提供する。
【解決手段】コンピュータによって実行されるプログラムであって、複数の文字を配列する配列オブジェクトを表示することと、配列オブジェクトにおけるユーザの操作に基づいて選択文字列を取得することと、取得された選択文字列がゲームに登録された登録文字列に含まれるか否かに応じて選択文字列が正解文字列であることを判定することと、を上記コンピュータに実行させるようにした。
【選択図】
図6
【特許請求の範囲】
【請求項1】
コンピュータによって実行されるゲームプログラムであって、
前記コンピュータに、
複数の文字を配列する配列オブジェクトを表示することと、
前記配列オブジェクトにおけるユーザの操作に基づいて選択文字列を取得することと、
前記取得された選択文字列がゲームに登録された登録文字列に含まれるか否かに応じて前記選択文字列が正解文字列であることを判定することと、
を実行させるゲームプログラム。
【請求項2】
前記選択文字列が正解文字列であることを判定したことに応答して正解数を取得することと、
前記正解数が前記ゲームに設定された所定の正解数と一致したことに応答して、前記ゲームを終了することと、
をさらに実行させる、
請求項1に記載のゲームプログラム。
【請求項3】
前記ゲームに設定された制限時間が経過したことに応答して前記ゲームを終了することをさらに実行させる、
請求項1に記載のゲームプログラム。
【請求項4】
前記所定の正解数に基づいて設定された獲得可能な1以上のアイテムを含むアイテムオブジェクトを表示することをさらに実行させ、
前記アイテムオブジェクトを表示することは、前記正解数に基づいて前記獲得可能な1以上のアイテムの表示態様を変えて表示することを含む、
請求項2に記載のゲームプログラム。
【請求項5】
前記登録文字列のうちの未正解文字列に関する情報を表示する1以上のタイミングを含む時間に関するインジケータを表示することをさらに実行させ、
前記インジケータを表示することは、前記1以上のタイミング毎に前記インジケータの表示態様を変えて表示することを含む、
請求項1から4の何れか1項に記載のゲームプログラム。
【請求項6】
テキスト情報を含むテキストオブジェクトを表示することをさらに実行させ、
前記テキスト情報は、前記未正解文字列に関する情報を含み、
前記テキストオブジェクトを表示することは、前記1以上のタイミング毎に、前記未正解文字列に関する情報を表示することを含む、
請求項5に記載のゲームプログラム。
【請求項7】
前記配列オブジェクトを表示することは、前記正解文字列に対応する文字の配列を識別可能に表示することを含む、
請求項1から6の何れか1項に記載のゲームプログラム。
【請求項8】
前記配列オブジェクトを表示することは、前記正解文字列に対応する文字の配列の先頭文字を識別可能に表示することを含む、
請求項7に記載のゲームプログラム。
【請求項9】
前記配列オブジェクトを表示することは、前記1以上のタイミング毎に、前記未正解文字列に関する情報に基づいて、前記未正解文字列の先頭文字に対応する文字を識別可能に表示することを含む、
請求項6に記載のゲームプログラム。
【請求項10】
前記ユーザの操作は、タップ操作を含み、
前記選択文字列を取得することは、タップ操作の1タッチ目の位置を取得することと、2タッチ目の位置を取得することと、前記1タッチ目の位置と前記2タッチ目の位置に基づいて前記選択文字列を取得することとを含む、
請求項1から9の何れか1項に記載のゲームプログラム。
【請求項11】
前記ユーザの操作は、スライド操作を含み、
前記選択文字列を取得することは、スライド操作の始点位置を取得することと、スライド操作の終点位置を取得することと、前記始点位置と前記終点位置に基づいて前記選択文字列を取得することとを含む、
請求項1から9の何れか1項に記載のゲームプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ゲームプログラムに関する。
【背景技術】
【0002】
スマートフォン等のコンピュータ端末において、ユーザがマス目に配置された文字の中から単語を探す単語パズル、マス目を埋めて単語を完成させるクロスワードパズル等の様々な文字パズルゲームが知られている。
【0003】
例えば、特許文献1には、文字パネルから文字列を特定し、特定した文字列に応じてゲームポイントを算出することが記載されている。特許文献2には、クロスワードパズルにおいてユーザの操作により回答のカギが選択されると、選択されたカギに対応する回答欄が強調表示されることが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第5615989号
【特許文献2】特開2004-16239号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
この発明の目的は、文字パズルゲームの興趣性を一層高めることを可能にする技術を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するためにこの発明の一態様は、コンピュータによって実行されるプログラムであって、複数の文字を配列する配列オブジェクトを表示することと、配列オブジェクトにおけるユーザの操作に基づいて選択文字列を取得することと、取得された選択文字列がゲームに登録された登録文字列に含まれるか否かに応じて選択文字列が正解文字列であることを判定することと、を上記コンピュータに実行させるようにしたものである。
【発明の効果】
【0007】
この発明の一態様に係るゲームプログラムは、文字パズルゲームの興趣性を一層高めることを可能にする。
【図面の簡単な説明】
【0008】
【
図1】
図1は、実施形態に係るゲームプログラムに関連するゲームシステムの全体構成の一例を示す図である。
【
図2】
図2は、
図1に示したゲームシステムにおけるサーバの機能構成の一例を示す図である。
【
図3】
図3は、
図1に示したゲームシステムにおけるユーザ端末の機能構成の一例を示す図である。
【
図4】
図4は、実施形態に係るユーザ端末が有する登録文字列テーブルを例示する図である。
【
図5】
図5は、実施形態に係るゲームプログラムによって実現されるユーザ端末に表示される画像の例を示す図である。
【
図6】
図6は、実施形態に係るユーザ端末の情報処理動作の一例を示すフローチャートである。
【
図7】
図7は、実施形態に係るユーザ端末の文字列取得動作の一例を示すフローチャートである。
【
図8】
図8は、実施形態に係るユーザ端末の文字列取得動作の別の例を示すフローチャートである。
【
図9】
図9は、実施形態に係るユーザ端末の正解判定動作の一例を示すフローチャートである。
【
図10】
図10は、実施形態に係るユーザ端末の表示変更動作の一例を示すフローチャートである。
【
図11】
図11は、実施形態に係るユーザ端末の文字列取得動作の一例を示す模式図である。
【
図12】
図12は、実施形態に係るユーザ端末の文字列取得動作の別の例を示す模式図である。
【
図13】
図13は、実施形態に係るゲームプログラムによって実現されるユーザ端末に表示される画像の例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照してこの発明に係わる実施形態を説明する。なお、以降、説明済みの要素と同一又は類似の要素には同一又は類似の符号を付し、重複する説明については基本的に省略する。例えば、複数の同一又は類似の要素が存在する場合に、各要素を区別せずに説明するために共通の符号を用いることがあり、各要素を区別して説明するために当該共通の符号に加えて枝番号を用いることもある。
【0010】
ゲームプログラムは、ゲームのプレイヤ(以下、「ユーザ」という)によって使用される端末装置(以下、「ユーザ端末」という)上でゲームを実現させるためのプログラムである。以下では、ゲームを実現させるためのプログラムを、一般的なコンピュータの機能を実現させるためのプログラムと区別して、ゲームプログラムと呼ぶ。
【0011】
ゲームプログラムによって実現されるゲームは、例えば、ロールプレイングゲーム(RPG)、アクションゲーム、アドベンチャーゲーム、シミュレーションゲーム、育成ゲーム、シューティングゲーム、スポーツゲーム、パズルゲーム等、あらゆる分野のゲームであってよい。ゲームプログラムによって実現されるゲームはまた、そのようなゲームの一部(ミニゲーム、クエスト、イベント等)であり得る。
【0012】
ゲームプログラムは、ゲーム空間内に種々のオブジェクトを配置し、ゲームを実現し得る。ゲーム空間は、ゲームプログラムによって実現される種々のオブジェクトを配置するための空間である。ゲーム空間は、3次元の空間であるものとして説明するが、2次元の空間であってもよい。ゲーム空間は、仮想的な種々のオブジェクトを配置するための仮想空間の一例である。仮想空間は、3次元の空間であってもよいし、2次元の空間であってもよい。
【0013】
種々のオブジェクトは、キャラクタのオブジェクトを含む。キャラクタは、人間や擬人化キャラクタ等のキャラクタに限られるものではなく、任意のキャラクタであってもよい。キャラクタのオブジェクトは、動くオブジェクトである。キャラクタのオブジェクトは、ユーザが操作可能なキャラクタのオブジェクトを含む。キャラクタのオブジェクトは、ユーザが操作不可能なNPC(Non Player Character)のオブジェクトを含む。種々のオブジェクトは、背景オブジェクトを含む。背景オブジェクトは、ゲームの背景を構成するオブジェクトである。背景オブジェクトは、ユーザが操作可能な背景オブジェクトを含む。背景オブジェクトは、ユーザが操作不可能であるが、キャラクタのオブジェクトが使用可能な背景のオブジェクトを含む。背景オブジェクトは、ユーザが操作不可能、かつ、キャラクタのオブジェクトが使用不可能な背景のオブジェクトを含む。種々のオブジェクトは、種々のUI(User Interface)オブジェクトを含む。UIオブジェクトは、ユーザの指示を入力可能にするオブジェクトを含む。UIオブジェクトは、ユーザへ情報を示すオブジェクトを含む。
【0014】
種々のオブジェクトは、配列オブジェクトを含む。配列オブジェクトは、複数の文字をグリッド状に配列するオブジェクトである。複数の文字の各々が配置される領域をパネル、又はマス目という。配列オブジェクトは、ユーザが操作不可能なオブジェクトを含む。種々のオブジェクトは、インジケータを含む。インジケータは、時間に関する情報を含むオブジェクトである。時間に関する情報は、制限時間、残り時間、ヒントを表示するヒントタイミング等を含む。ヒントは、ユーザによるゲームの回答を容易にする情報である。インジケータは、ユーザが操作不可能なオブジェクトを含む。種々のオブジェクトは、アイテムオブジェクトを含む。アイテムオブジェクトは、ゲームの進行に応じてユーザが獲得可能な1以上のアイテムを含むオブジェクトである。アイテムは、リワード又は報酬ともいう。アイテムオブジェクトは、ユーザが操作不可能なオブジェクトを含む。種々のオブジェクトは、テキストオブジェクトを含む。テキストオブジェクトは、テキスト情報を含むオブジェクトである。テキスト情報は、ゲームの進行に応じて表示されるテキスト情報を含む。テキスト情報は、例えば、問題文、ヒント、正解を示すメッセージ等である。問題文及び問題文の数は、ゲーム毎に設定され得る。テキストオブジェクトは、ユーザが操作不可能なオブジェクトを含む。種々のオブジェクトは、上述のオブジェクトの他、ゲームの進行に関連するゲーム進行オブジェクトを含む。
【0015】
ゲームプログラムは、1台のユーザ端末でローカルにゲームを実現させるゲームプログラム、ユーザ端末とサーバに協働してゲームを実現させるゲームプログラム、サーバ経由で又はサーバを介さず複数のユーザ端末に協働してゲームを実現させるゲームプログラム等であり得る。以下では単なる一例として、サーバがゲームプログラムを包括的に管理し、ユーザ端末からの要求に応じてゲームプログラム及び関連データ等を送信し、実際のゲーム進行は主にユーザ端末において実現されるゲームシステムについて説明する。また、以下では主に3次元(3D)のゲーム空間と3Dのオブジェクトで表現されるゲームに関して説明するが、これに限られるものではなく、本実施形態は2次元(2D)のゲーム空間と2Dのオブジェクトで表現されるゲームにも適用可能である。
【0016】
(1)構成
(1-1)ゲームシステム
図1は、第1の実施形態に係るゲームプログラムに関連するゲームシステム1の全体構成の一例を示す図である。
ゲームシステム1は、複数のユーザ端末100と、サーバ200とを含む。各ユーザ端末100は、サーバ200との間でネットワークNWを介して通信可能である。サーバ200には、任意の数のユーザ端末100が接続可能であるが、簡単のために1つのユーザ端末100についてのみ詳細な構成を図示し説明する。
【0017】
ネットワークNWは、例えばインターネットであり、LAN(Local Area Network)、WAN(Wide Area Network)、移動通信網、有線電話網、FTTH(Fiber To The Home)、CATV(Cable Television)網等のアクセス網を含み得る。
【0018】
ユーザ端末100は、ゲームをプレイするユーザによって使用される端末である。ユーザ端末100は、ゲームプログラムを実行することによりゲームを実現させ、ゲーム進行に応じた表示データに基づく画像を表示する。画像は、ゲーム空間に配置された複数のオブジェクトを描画した画像である。ユーザ端末100は、例えば、スマートフォン、タブレット端末、ノート型パーソナルコンピュータ等の携帯端末である。ユーザ端末100は、デスクトップ型パーソナルコンピュータのような据置型コンピュータであってもよい。ユーザ端末100はまた、ゲームプレイに適した専用のゲーム端末であってもよい。以下では一例としてユーザ端末100が、タッチスクリーンを備えるスマートフォンであるものとして説明する。
【0019】
サーバ200は、例えばゲーム開発業者等によって運営及び管理される装置である。サーバ200は、ゲームプログラム及びユーザ情報を包括的に管理し、ユーザ端末100におけるゲームの進行を支援する。サーバ200は、ワークステーションやパーソナルコンピュータ等の汎用コンピュータであってよい。例えばサーバ200は、ネットワークNWを介してユーザ端末100からユーザ情報や種々の要求を受け付け、ネットワークNWを介してユーザ端末100にゲームプログラムや関連データを送信する。サーバ200は、同時に複数のユーザ端末100との間で情報の送受信が可能であり、複数のユーザ端末100におけるゲームの進行を並行して支援し得る。
【0020】
ユーザ端末100は、サーバ200からゲームプログラム及び必要な設定データを一度に受信し、以後はサーバ200と通信することなくゲームを進行させてもよい。又はユーザ端末100は、ゲームの進行に応じて随時サーバ200と通信し、その都度必要なゲームプログラム又はデータをサーバ200から受信するようにしてもよい。
【0021】
(1-2)ハードウェア構成
(1-2-1)サーバ
図1に示すように、サーバ200は、ハードウェアとして、プロセッサ2001と、メモリ2002と、ストレージ2003と、通信インタフェース(通信I/F)2004と、入出力インタフェース(入出力I/F)2005とを備え、これらがバス2006を介して互いに電気的に接続される。
【0022】
プロセッサ2001は、サーバ200全体の動作を制御する。プロセッサ2001は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の汎用プロセッサを含む。プロセッサ2001は、汎用プロセッサに限らず、ASIC(Application Specific Integrated Circuit)又はFPGA(Field-Programmable Gate Array)等の専用プロセッサであってもよい。
【0023】
メモリ2002は、主記憶装置であり、ROM(Read Only Memory)及びRAM(Random Access Memory)等を含む。
【0024】
ストレージ2003は、補助記憶装置であり、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD:Solid State Drive)等の不揮発性記憶装置を含む。ストレージ2003は、プロセッサ2001により実行されるプログラムや、プログラムの実行に必要な設定データ等を記憶する。プログラムの一部は、ROMに記憶されてもよい。
【0025】
プロセッサ2001は、ストレージ2003からプログラムを読み出してメモリ2002に展開し、展開したプログラムを解釈及び実行することによって、後述する処理機能を実現し得る。
【0026】
通信インタフェース(通信I/F)2004は、ネットワークNWを介してユーザ端末100等の外部装置と通信するためのモジュールであり、送受信のための信号処理回路、光コネクタ等を含む。通信インタフェース2004は、例えば光通信モジュールを含んでもよい。
【0027】
入出力インタフェース(入出力I/F)2005は、キーボードやマウス等の入力装置を通じてオペレータが入力した操作データを取り込むとともに、出力データを液晶又は有機EL(Electro Luminescence)ディスプレイやスピーカ等の出力装置に出力する。
【0028】
(1-2-2)ユーザ端末
図1に示すように、ユーザ端末100は、ハードウェアとして、プロセッサ1001と、メモリ1002と、ストレージ1003と、センサ1004と、通信インタフェース(通信I/F)1005と、入出力インタフェース(入出力I/F)1006と、タッチスクリーン1007とを備え、これらがバス1008を介して互いに電気的に接続される。
【0029】
プロセッサ1001は、ユーザ端末100の全体の動作を制御する。プロセッサ1001は、例えば、CPU、MPU、GPU等の汎用プロセッサを含む。プロセッサ1001もまた、汎用プロセッサに限らず、ASIC又はFPGA等の専用プロセッサであってもよい。
【0030】
プロセッサ1001は、ストレージ1003からプログラムを読み出してメモリ1002に展開し、展開したプログラムを解釈及び実行することによって、後述する処理機能を実現し得る。
【0031】
メモリ1002は、主記憶装置であり、ROM及びRAM等を含む。
【0032】
ストレージ1003は、補助記憶装置であり、内蔵又は外付けの半導体メモリ(例えばフラッシュメモリ)等を含む。ストレージ1003は、プロセッサ1001により実行されるプログラムや、プログラムの実行に必要な設定データ等を記憶する。プログラムの一部は、ROMに記憶されてもよい。
【0033】
センサ1004は、例えば、イメージセンサ、加速度センサ、角速度センサ、地磁気センサ、GPSセンサ、近接センサ、環境光センサ等である。センサ1004は、感知された種々の情報を電気信号に変換し、出力する。
【0034】
通信インタフェース(通信I/F)1005は、ネットワークNWを介してサーバ200等の外部装置と通信するためのモジュールであり、送受信のための信号処理回路、アンテナ、LAN端子等を含む。通信インタフェース1005は、例えば、移動通信用のモジュール、無線/有線LAN用のモジュール、近距離無線通信用のモジュール等を含み得る。
【0035】
入出力インタフェース(入出力I/F)1006は、外部装置から入力データを取り込むとともに、出力データを外部装置に出力する。入出力インタフェース1006は、例えば、ユーザ端末100の物理ボタンや、ユーザ端末100に内蔵されたスピーカ、USB(Universal Serial Bus)ポート等を含み得る。
【0036】
タッチスクリーン1007は、入力部1071と、表示部1072とを備え、ユーザの入力操作を受け付けるとともにユーザに表示データに基づく画像を提示する機能を有する。
【0037】
入力部1071は、例えば静電容量式や抵抗膜式のタッチパネルである。入力部1071は、ユーザが指やタッチペン(スタイラスペン)で触れた接触位置を検知し、接触位置の座標情報を生成する。
【0038】
表示部1072は、例えば液晶ディスプレイや有機ELディスプレイであり、表示データに基づく種々の画像を表示する。
【0039】
ユーザ端末100は、入出力インタフェース1006を介して接続される、キーボード、マウス、コントローラ等の外部入力装置からユーザの操作を受け付けることもできる。ユーザ端末100は、入出力インタフェース1006を介して接続される、メモリカード等の外部記憶装置からゲームプログラム及び関連データを取得してもよい。ユーザ端末100は、入出力インタフェース1006を介して接続される、ディスプレイやスピーカ等の外部出力装置に表示情報を出力することもできる。ユーザ端末100は、入出力インタフェース1006を介して接続される、メモリカード等の外部記憶装置をストレージ1003として使用してもよい。ユーザ端末100はまた、センサ1004からの信号をユーザ操作として受け付けてもよい。
【0040】
(1-3)機能構成
(1-3-1)サーバ
図2は、
図1に示したゲームシステム1におけるサーバ200の機能構成の一例を示す図である。なお、一般的なコンピュータの機能構成及びゲームの実現に必要な公知の構成については、図示及び説明を省略する。
【0041】
サーバ200は、各ユーザ端末100と通信し、ユーザ端末100におけるゲームの進行を支援する機能を有する。例えば、サーバ200は、各ユーザ端末100からの要求に応じて、各ユーザ端末100にゲームプログラムや、ゲームプログラムの実行に必要な関連データ等を送信する機能を有する。
サーバ200は、制御部210と、記憶部220とを備える。
【0042】
記憶部220は、ストレージ2003により実現され得る。記憶部220は、ゲームプログラム記憶部221と、ゲーム情報記憶部222と、ユーザ情報データベース(DB)223とを備える。
【0043】
ゲームプログラム記憶部221は、ゲームプログラムを記憶する。
【0044】
ゲーム情報記憶部222は、ゲームプログラムを実行する際に参照される種々のゲーム情報を記憶する。
【0045】
ユーザ情報データベース(DB)223は、各ユーザ端末100に関連付けられるユーザに関する情報を記憶するデータベースであり、例えば、ユーザアカウント情報を記憶する。
【0046】
制御部210は、プロセッサ2001及びメモリ2002により実現され得る。制御部210は、サーバ200全体の機能を制御する。制御部210は、ゲームプログラム記憶部221に記憶されたゲームプログラムを実行することにより、受信制御部211、送信制御部212及びゲーム進行部213として機能し得る。
【0047】
受信制御部211は、各ユーザ端末100から、ユーザ情報、プログラム又は関連データの送信要求、各ユーザ端末100におけるゲームの進行状況に関する情報等を受け付ける。
【0048】
送信制御部212は、各ユーザ端末100に、要求されたプログラム又は関連データ、あるいは更新されたプログラム等を送信する。送信制御部212はまた、各ユーザ端末100にゲームの進行状況に関する情報の送信を要求し得る。
【0049】
ゲーム進行部213は、ゲームプログラムに記述されたコードに従って、ゲーム情報記憶部222に記憶されたゲーム情報及びユーザ情報データベース223に記憶されたアカウント情報を参照し、各ユーザ端末100におけるゲームの進行状況を管理する。ゲーム進行部213はまた、各ユーザ端末100からの情報収集の要否や、各ユーザ端末100へのデータ送信の要否を判定し得る。
【0050】
例えば、制御部210は、受信制御部211により、ユーザ端末100からゲームプログラムの送信要求を受け付け、ゲーム進行部213により、当該ユーザ端末100に送信すべきゲームプログラムと関連データを決定し、送信制御部212により、決定されたゲームプログラム及び関連データをユーザ端末100に送信する。
【0051】
(1-3-2)ユーザ端末
図3は、
図1に示したゲームシステム1において使用され得るユーザ端末100の機能構成の一例を示す図である。なお、一般的なコンピュータの機能構成及びゲームの実現に必要な公知の構成については、図示及び説明を省略する。
ユーザ端末100は、制御部110と、記憶部120とを含む。
【0052】
記憶部120は、ストレージ1003により実現され得る。記憶部120は、ゲームプログラム記憶部121と、ゲーム情報記憶部122とを含む。
【0053】
ゲームプログラム記憶部121は、ゲームプログラムを記憶する。
【0054】
ゲーム情報記憶部122は、ゲームプログラムを実行する際に参照される種々のゲーム情報を記憶する。ゲーム情報は、例えば、ゲーム空間に配置されるオブジェクトの情報を含む。オブジェクトの情報は、オブジェクトの位置情報を含み得る。ゲーム情報記憶部122は、オブジェクトデータ1221、登録文字列テーブル1222、制限時間情報1223、及びクリア条件情報1224を含む。ゲーム情報記憶部122は、ゲーム情報を表示する表示データを生成する際に参照される画像、音声及び音楽等の表示情報を記憶する。
【0055】
オブジェクトデータ1221は、配列オブジェクト、アイテムオブジェクト、インジケータ、テキストオブジェクト、及びゲーム進行オブジェクトを構成するデータである。
【0056】
登録文字列テーブル1222は、配列オブジェクトを規定するデータを格納するテーブルである。登録文字列テーブル1222は、配列オブジェクトのパネルに配置される文字列を含む。文字列は、様々な文字により構成された意味を有する単語である。文字は、仮名、漢字、アルファベット、及び記号等を含む。登録文字列テーブル1222に含まれる文字列は、ゲームに登録された登録文字列の一例である。登録文字列は、ゲームに含まれる各問題に対する答えに対応する文字列である。配列オブジェクトに配置される登録文字列は、問題毎に異なる。登録文字列テーブル1222の構成例については後述する。
【0057】
制限時間情報1223は、制限時間、残り時間、及びヒントタイミングに関するデータである。制限時間は、例えば、1分、2分、又は3分等の時間である。残り時間は、制限時間からユーザがゲームを開始してからの経過時間を引いた時間である。ヒントタイミングは、ヒントを表示する1以上のタイミングである。ヒントタイミングは、残り時間に関連したタイミングである。ヒントタイミングは、例えば、残り時間30秒、残り時間20秒、又は残り時間10秒等のタイミングである。制限時間は、ゲームに含まれる問題毎に設定されてもよい。制限時間は、ゲームプログラムに従い予め設定されてもよく、適宜更新されてもよい。
【0058】
クリア条件情報1224は、ゲームをクリアするためのクリア条件に関するデータである。クリア条件は、ユーザの正解数が所定の正解数に達したことを含む。所定の正解数は、例えば、配列オブジェクトに含まれる登録文字列の数に対応する。所定の正解数は、例えば、6又は7等である。所定の正解数が6である場合、配列オブジェクトに含まれる登録文字列の数は6である。所定の正解数は、ゲームに含まれる問題毎に設定されてもよい。所定の正解数は、ゲームプログラムに従い予め設定されてもよく、適宜更新されてもよい。なお、所定の正解数は、上述の例に限られず、配列オブジェクトに含まれる登録文字列の数より少なくてもよい。
【0059】
制御部110は、プロセッサ1001及びメモリ1002により実現され得る。制御部110は、ユーザ端末100全体の機能を制御する。制御部110は、ゲームプログラム記憶部121に記憶されたゲームプログラムを実行することにより、操作受付部111、ゲーム進行部112、仮想カメラ制御部113、表示制御部114、オブジェクト処理部115、文字列取得部116、正解処理部117、及び終了処理部118として機能し得る。
【0060】
操作受付部111は、入力部1071を介して入力されたユーザの操作を受け付ける。以下では、「ユーザの操作」という表記は、入力部1071を介して入力されたユーザの操作を指すものとする。ユーザの操作は、タッチ操作、タップ操作、スライド操作等の入力部1071を介した種々の種類の操作を含む。タッチ操作は、入力部1071において一点に接触する操作の例である。タップ操作は、入力部1071において一点に接触し、短時間で接触を解除する操作の例である。接触を解除する操作は、入力部1071において接触している指を離す操作の例である。接触を解除する操作は、ユーザの操作の終了に対応する。タップ操作は、入力部1071において一点に接触することで配列オブジェクト内の文字を選択する操作を含む。スライド操作は、入力部1071において一点の接触位置を時系列に移動させる操作の例である。スライド操作は、入力部1071において一点の接触位置を移動させることで配列オブジェクト内の複数の文字を選択する操作を含む。
【0061】
操作受付部111は、入力部1071による接触位置の検知に基づいて、ユーザの操作の開始を検知し得る。操作受付部111は、入力部1071による接触位置の検知から非検知への遷移に基づいて、ユーザの操作の終了を検知し得る。操作受付部111は、ユーザの操作の開始に対応する接触位置からユーザの操作の終了に対応する接触位置までの座標情報を入力部1071から連続的に取得する。操作受付部111は、ゲームのモードに応じて、座標情報をゲーム進行部112に送ることもあるし、仮想カメラ制御部113に送ることもあるし、文字列取得部116に送ることもある。
【0062】
操作受付部111は、ユーザの操作の開始に対応する接触位置からユーザの操作の終了に対応する接触位置までの座標情報に基づいて、ユーザの操作に関する情報を取得し得る。ユーザの操作に関する情報は、ユーザの操作を特定可能な情報である。ユーザの操作に関する情報は、ユーザの操作の種類を示す情報を含み得る。ユーザの操作に関する情報は、ユーザの操作の方向を示す情報を含み得る。例えば、ユーザの操作の方向は、上下左右の4方向、及び右上、右下、左上、左下の斜め4方向を含み得る。ユーザの操作に関する情報は、ユーザの操作の操作量を示す情報を含み得る。例えば、操作量は、ユーザの操作により接触位置の遷移した距離に基づく値である。ユーザの操作の操作量を示す情報は、ユーザの操作の開始に対応する接触位置とユーザの操作の終了に対応する接触位置との距離に基づく値を示す情報である。ユーザの操作の開始に対応する接触位置は、ユーザの操作開始位置ともいう。ユーザの操作の終了に対応する接触位置は、ユーザの操作終了位置、又は接触解除位置ともいう。
【0063】
なお、ユーザは、入力部1071への接触を解除することなく、互いに逆を向く2方向へのスライド操作を繰り返すこともあり得る。例えば、互いに逆を向く2方向は、上方向及び下方向である。例えば、互いに逆を向く2方向は、左方向及び右方向である。例えば、互いに逆を向く2方向は、右上方向及び左下方向である。例えば、互いに逆を向く2方向は、右下方向及び左上方向である。この例では、ユーザの操作の方向を示す情報は、時系列に沿った複数の方向を示す情報を含んでもよい。ユーザの操作の操作量を示す情報は、複数の方向のそれぞれの操作量を含んでもよい。操作受付部111は、ゲームのモードに応じて、ユーザの操作に関する情報をゲーム進行部112に送ることもあるし、仮想カメラ制御部113に送ることもあるし、文字列取得部116に送ることもある。
【0064】
ゲーム進行部112は、ゲームプログラムに記述されたコードに従って、ゲーム情報記憶部122に記憶されたゲーム情報を参照し、ゲーム空間にオブジェクトを配置してゲームを進行させる処理を行う。ゲーム進行部112は、操作受付部111からのユーザの操作に応じた座標情報及びユーザの操作に関する情報から特定されるユーザの指示をゲームの進行に反映し得る。
【0065】
仮想カメラ制御部113は、ゲーム進行部112の指示に基づいて、仮想カメラの撮影態様を制御し得る。仮想カメラは、ゲーム空間から画像を得るための仮想的なカメラである。仮想カメラ制御部113は、仮想カメラの撮影態様を制御する。仮想カメラ制御部113は、操作受付部111からのユーザの操作に応じた座標情報又はユーザの操作に関する情報から特定されるユーザの指示に基づいて、仮想カメラの撮影態様を制御し得る。操作受付部111からのユーザの操作に応じた座標情報又はユーザの操作に関する情報から特定されるユーザの指示に基づくことは、ユーザの操作に基づくことに対応する。
【0066】
表示制御部114は、画像を表示させる。例えば、表示制御部114は、ゲーム進行部112及び仮想カメラ制御部113と連携し、仮想カメラにより得られる画像の表示データを生成する。表示制御部114は、表示データを表示部1072に出力する。表示制御部114は、表示データに基づく画像を表示部1072に表示させる。表示制御部114は、オブジェクトデータ1221に記憶された種々のオブジェクトに基づく画像を表示部1072に表示させる。
【0067】
オブジェクト処理部115は、表示制御部114と連携し、オブジェクトデータ1221に基づき、種々のオブジェクトを表示部1072に表示させる。オブジェクト処理部115は、種々のオブジェクトの表示態様を変える。
【0068】
文字列取得部116は、操作受付部111と連携し、ユーザの操作に基づいて選択文字列を取得する。選択文字列は、配列オブジェクトにおけるユーザの操作に基づいて、ユーザにより選択された文字列である。
【0069】
正解処理部117は、登録文字列テーブル1222を参照し、選択文字列に基づいて正解を判定する。正解を判定することは、例えば、選択文字列が正解文字列であることを判定することである。正解文字列は、登録文字列テーブル1222に含まれる登録文字列と一致する選択文字列である。正解文字列は、登録文字列のうちユーザにより選択された文字列である。
【0070】
終了処理部118は、ゲーム進行部112と連携し、ゲームの終了を判定する。終了処理部118は、制限時間情報1223を参照し、ゲームの終了を判定する。ゲームの終了は、制限時間を経過することを含む。終了処理部118は、クリア条件情報1224を参照し、ゲームの終了を判定する。ゲームの終了は、クリア条件を満たすことを含む。
【0071】
(1-4)登録文字列テーブル1222の構成例
図4は、実施形態に係るユーザ端末100が有する登録文字列テーブル1222を例示する図である。
登録文字列テーブル1222は、ゲームに含まれる問題毎に生成される。ゲームに含まれる問題数は任意の数であってよい。登録文字列テーブル1222は、1以上の登録文字列及び正解フラグFを含む。登録文字列テーブル1222は、問題毎に設定された所定の正解数と同じ数の登録文字列を含む。問題毎に設定された所定の正解数は、ゲームに設定された所定の正解数の一例である。1以上の登録文字列のそれぞれは、連番「i(i=1~N(Nは登録文字列の総数))」と関連付けられている。正解フラグFは、正解処理部117により選択文字列が正解文字列であることが判定されたことに応答してセットされるフラグである。正解フラグFは、選択文字列と一致した登録文字列に対して「1」となり、選択文字列と一致しない登録文字列に対して「0」となる。登録文字列テーブル1222により、登録文字列のそれぞれは、対応する正解フラグFに関連付けられている。正解フラグFに「1」がセットされた登録文字列は、正解文字列の一例である。正解フラグFに「0」がセットされた登録文字列は、未正解文字列の一例である。
【0072】
図4の例では、登録文字列が所定の正解数分セットされる。例えば、ゲームに含まれる問題が「数字を探そう」である場合について説明する。所定の正解数は6であることを想定する。登録文字列テーブル1222は、「ONE」、「TWO」、「THREE」等の数字を示す単語6個を登録文字列として含む。6個の登録文字列のそれぞれについて連番「i」と正解フラグFが関連付けられている。登録文字列テーブル1222は、正解フラグFがセットされる毎に更新される。
【0073】
(2)画像例
表示部1072に表示される画像の一例について説明する。
図5は、ゲームプログラムによって実現されるユーザ端末100に表示される画像Im1の例を示す図である。
【0074】
表示部1072は、ゲーム開始時の画像Im1を表示する。画像Im1は、配列オブジェクトOb1、インジケータOb2、アイテムオブジェクトOb3、テキストオブジェクトOb4、及びゲーム進行オブジェクトOb5~Ob8を含む画像である。
【0075】
配列オブジェクトOb1は、各パネルに割り当てられた文字を含む。各パネルに割り当てられた文字は登録文字列を構成する。登録文字列は、上下左右、右上、右下、左上、左下の8方向のいずれかに並んだ1以上のパネルに割り当てられた文字により構成される。登録文字列は、配列オブジェクトOb1においてランダムに配置される。配列オブジェクトOb1は、所定の正解数分の登録文字列を含む。配列オブジェクトOb1において登録文字列が割り当てられていないパネルには、ランダムに選択された文字が割り当てられる。
【0076】
インジケータOb2は、残り時間の表示、及びヒントタイミングの表示を含む。残り時間の表示は、残り時間のカウントダウンを示す数字による表示、及び残り時間の減少に伴い変化する画像による表示の少なくとも1つを含む。残り時間の減少に伴い変化する画像は、例えば、経過時間を示す経過時間バーである。例えば、ヒントタイミングの表示は、残り時間がヒントタイミングに到達した場合に表示態様が変化する。
【0077】
アイテムオブジェクトOb3は、ユーザが獲得可能な1以上のアイテムを含む。ユーザが獲得可能な1以上のアイテムの数は、所定の正解数に基づいて設定され得る。例えば、所定の正解数が6である場合、アイテムオブジェクトOb3は6個のアイテムを含む。ユーザは、正解する毎に1つのアイテムを獲得できる。1以上のアイテムの各々は、正解数と関連付けられている。1以上のアイテムの各々は、正解数に基づいて表示態様が変えられる。アイテムオブジェクトOb3は、ユーザの正解数と同じ数のアイテムを識別可能に表示する。例えば、ユーザの正解数が「2」であれば、正解数「1」及び「2」に対応付けられたアイテムが獲得済みであることを示す態様で表示される。ユーザが獲得可能な1以上のアイテムの数は、正解数と同じでもよく、異なってもよい。例えば、ゲームプログラムは、ユーザの正解数が奇数の場合にアイテムを獲得できる設定をしてもよい。また、ユーザのゲームに関連するステータスに基づいて、獲得できるアイテムに重みづけを行ってもよい。
【0078】
テキストオブジェクトOb4は、ゲームの進行に応じて表示されるテキスト情報を含む。例えば、テキストオブジェクトOb4は、ゲーム開始時では問題文を含む。問題文は、例えば、「数字を探そう。」等である。テキストオブジェクトOb4は、ヒントタイミングではヒントを含む。ヒントは、登録文字列のうちの未正解登録文字列に関する情報の一例である。ヒントは、未正解文字列を示す情報、及び未正解文字列の文字数等のうち少なくとも1つを含む。ヒントは、例えば、「THREEが隠れているよ。」、「THREE 5文字が隠れているよ。」等である。テキストオブジェクトOb4は、正解判定時では正解を示すメッセージを含む。正解を示すメッセージは、例えば、「やったね。」等である。
【0079】
ゲーム進行オブジェクトOb5は、問題文を示すテキスト情報を含む。
ゲーム進行オブジェクトOb6は、正解数を示す情報を含む。
ゲーム進行オブジェクトOb7は、リタイアボタンを含む。ユーザによりリタイアボタンがタッチ操作されると、ゲーム進行部112は、ゲームの進行を中断する。
【0080】
ゲーム進行オブジェクトOb8は、キャラクタオブジェクトを含む。キャラクタオブジェクトは、ユーザが操作不可能なオブジェクトである。キャラクタオブジェクトは、他のオブジェクトの表示態様の変化に伴い、表示態様を変えて表示されてもよい。例えば、キャラクタオブジェクトは、正解判定時においてキャラクタの表情を変えて表示されてもよい。
【0081】
(3)動作
図6は、
図3に示したユーザ端末100の情報処理動作の一例を示すフローチャートである。
【0082】
以降の動作の前提として、ユーザ端末100の制御部110及び記憶部120の協働により、ゲームプログラムに記述されたコードに従ってゲームが進行され、表示データが生成されているものとする。以降の動作は、ユーザの操作によりゲームが開始されると実行される。ゲームは、一日一回等、所定時間が経過することでプレイできるものであってもよい。ゲーム進行部213は、ゲームの開始を指示するユーザの操作に応答してタイマを起動し、ゲームを開始してからの経過時間を計測する。ゲーム進行部213は、ゲームに設定された制限時間から経過時間を引いた残り時間を制限時間情報1223に保存する。ゲーム進行部213は、制限時間までのカウントダウンを開始してもよい。
【0083】
オブジェクト処理部115は、オブジェクトデータ1221に基づき、種々のオブジェクトを生成し、生成されたオブジェクトを表示部1072に表示する(ステップS1)。オブジェクトデータ1221は、問題毎に設定されたオブジェクトの情報を含む。ステップS1では、例えば、オブジェクト処理部115は、配列オブジェクト、インジケータ、アイテムオブジェクト、テキストオブジェクト、及びゲーム進行オブジェクトを表示部1072に表示する。例えば、配列オブジェクトは、問題毎に設定された登録文字列を含む。
【0084】
文字列取得部116は、表示部1072に表示された配列オブジェクトにおけるユーザの操作に基づいて選択文字列を取得する(ステップS2)。ステップS2では、例えば、文字列取得部116は、ユーザによるタップ操作又はスライド操作に基づいて選択文字列を取得する。
【0085】
正解処理部117は、登録文字列テーブル1222を参照し、文字列取得部116により取得された選択文字列に基づいて正解を判定する(ステップS3)。ステップS3では、例えば、正解処理部117は、選択文字列が登録文字列に含まれるか否かに応じて、選択文字列が正解文字列であることを判定する。
【0086】
終了処理部118は、ゲームの終了を判定する(ステップS4)。一例では、終了処理部118は、クリア条件情報1224を参照し、クリア条件を満たしたと判定したことに基づいてゲームを終了する。終了処理部118は、ユーザの正解数がゲームに設定された所定の正解数と一致したことに応答してゲームを終了する。別の例では、終了処理部118は、制限時間情報1223を参照し、ゲームに設定された制限時間が経過したことに応答してゲームを終了する。終了処理部118は、残り時間がゼロになったことに基づいてゲームを終了する。終了処理部118は、制限時間が経過していない場合でも、クリア条件を満たしたことに応答してゲームを終了してもよい。終了処理部118は、クリア条件を満たしていない場合でも、制限時間が経過したことに応答してゲームを終了してもよい。終了処理部118は、クリア条件を満たしたこと及び制限時間が経過したことの少なくとも一方に応答してゲームを終了してもよい。なお、オブジェクト処理部115は、終了処理部118によるクリア条件に基づく終了判定と、制限時間に基づく終了判定とで異なる終了通知オブジェクトを表示部1072に表示してもよい。終了通知オブジェクトは、例えば、「クリア」、又は「フィニッシュ」等のメッセージを含むオブジェクトである。
【0087】
終了処理部118によりゲームの終了が判定された場合(ステップS4:YES)、処理は終了する。終了処理部118によりゲームの終了が判定されない場合(ステップS4:NO)、処理はステップS4からステップS2へ戻る。なお、ユーザによりゲーム進行オブジェクトOb7がタッチ操作された場合には、ゲームがステップS1からステップS4のどの状態にあったとしても、終了処理部118はゲームを終了させる。このようにして、ユーザが任意にリタイアを選択することができる。
【0088】
図7は、
図6のステップS2に示した文字列取得動作の一例を示すフローチャートである。
文字列取得部116は、ユーザの操作がタップ操作であるか否かを判定する(ステップS201)。ステップS201では、例えば、文字列取得部116は、操作受付部111により取得されたユーザの操作に関する情報に基づいて、ユーザの操作がタップ操作であると判定する。文字列取得部116は、ユーザの操作開始位置とユーザの操作終了位置とが同じ位置である場合、ユーザの操作がタップ操作であると判定する。ユーザの操作開始位置とユーザの操作終了位置が同じ位置の場合、いずれかに対応する位置をユーザの操作位置という。
【0089】
文字列取得部116により、ユーザの操作がタップ操作であると判定された場合(ステップS201:YES)、処理は、ステップS201からステップS202へ遷移する。文字列取得部116により、ユーザの操作がタップ操作でないと判定された場合(ステップS201:NO)、処理は終了する。
【0090】
文字列取得部116は、ステップS201において取得されたユーザの操作位置に基づいて、タップ操作の1タッチ目の位置を取得する(ステップS202)。ステップS202では、例えば、文字列取得部116は、1タッチ目の位置に対応する配列オブジェクトのパネルの位置を取得する。1タッチ目の位置に対応する1つのパネルの位置は、1タッチ目のパネルともいう。1タッチ目の位置は、始点位置ともいう。1タッチ目のパネルに割り当てられた文字は先頭文字に対応する。
【0091】
文字列取得部116は、ユーザにより2タッチ目のタップ操作がされたか否かを判定する(ステップS203)。ステップS203では、例えば、文字列取得部116は、操作受付部111により取得されたユーザの操作に関する情報に基づいて、ユーザによりタップ操作がされたか否かを判定する。
【0092】
文字列取得部116により、ユーザによりタップ操作がされたと判定された場合(ステップS203:YES)、処理は、ステップS203からステップS204へ遷移する。文字列取得部116により、ユーザによりタップ操作がされていないと判定された場合(ステップS203:NO)、文字列取得部116は、ステップS203の処理を繰り返す。
【0093】
文字列取得部116は、ステップS203において取得されたユーザの操作位置に基づいて、タップ操作の2タッチ目の位置を取得する(ステップS204)。ステップS204では、例えば、文字列取得部116は、2タッチ目の位置に対応する配列オブジェクトのパネルの位置を取得する。2タッチ目の位置に対応する1つのパネルの位置は、2タッチ目のパネルともいう。2タッチ目の位置は、終点位置ともいう。2タッチ目のパネルに割り当てられた文字は、末尾文字に対応する。
【0094】
文字列取得部116は、1タッチ目のパネルから2タッチ目のパネルを結ぶパネル配列が直線状の配列であるか否かを判定する(ステップS205)。ステップS205では、例えば、文字列取得部116は、配列オブジェクトにおいて、1タッチ目のパネルを始点とし、2タッチ目のパネルを終点として結ぶパネル配列が、上下左右斜めの8方向のいずれかの方向に沿う直線状の配列であるか否かを判定する。
【0095】
文字列取得部116により、1タッチ目のパネルから2タッチ目のパネルを結ぶパネル配列が直線状の配列であると判定された場合(ステップS205:YES)、処理は、ステップS205からステップS206へ遷移する。文字列取得部116により、1タッチ目のパネルから2タッチ目のパネルを結ぶパネル配列が直線状の配列でないと判定された場合(ステップS205:NO)、処理は終了する。
【0096】
文字列取得部116は、1タッチ目の位置と2タッチ目の位置に基づいて選択文字列を取得する(ステップS206)。ステップS206では、例えば、文字列取得部116は、配列オブジェクトにおいて、1タッチ目のパネルから2タッチ目のパネルを結ぶ直線状のパネル配列に割り当てられた文字列を取得する。文字列取得部116は、1タッチ目のパネルに割り当てられた文字を先頭文字として取得する。文字列取得部116は、1タッチ目のパネルから2タッチ目のパネルを結ぶ方向に沿ってパネルに割り当てられた文字を順次取得する。文字列取得部116は、2タッチ目のパネルに割り当てられた文字を末尾文字として取得する。文字列取得部116は、先頭文字から末尾文字を結ぶ文字列を選択文字列として取得する。文字列取得部116は、選択文字列をゲーム情報記憶部122に保存する。
【0097】
なお、オブジェクト処理部115は、文字列取得部116による1タッチ目の位置の取得に基づいて、1タッチ目のパネルを識別可能な態様で表示してもよい。例えば、オブジェクト処理部115は、1タッチ目のパネルにタッチ位置を示す始点オブジェクトを重ねて表示してもよい。また、オブジェクト処理部115は、文字列取得部116による2タッチ目の位置の取得に基づいて、1タッチ目のパネルから2タッチ目のパネルを結ぶ直線状のパネル配列を識別可能な態様で表示してもよい。例えば、オブジェクト処理部115は、1タッチ目のパネルから2タッチ目のパネルを結ぶ直線状のパネル配列に選択文字列を示す選択文字列オブジェクトを重ねて表示してもよい。
【0098】
図8は、
図6のステップS2に示した文字列取得動作の別の例を示すフローチャートである。
文字列取得部116は、ユーザの操作がスライド操作であるか否かを判定する(ステップS211)。ステップS211では、例えば、文字列取得部116は、操作受付部111により取得されたユーザの操作に関する情報に基づいて、ユーザの操作がスライド操作であると判定する。文字列取得部116は、ユーザの操作開始位置から接触位置が移動された場合、ユーザの操作がスライド操作であると判定する。具体的には、文字列取得部116は、ユーザの操作開始位置に対応する配列オブジェクトにおけるパネルの位置から隣接するパネルの位置に接触位置が移動された場合、ユーザの操作がスライド操作であると判定する。ユーザの操作開始位置に対応するパネルに隣接するパネルは、隣接パネルともいう。
【0099】
文字列取得部116により、ユーザの操作がスライド操作であると判定された場合(ステップS211:YES)、処理は、ステップS211からステップS212へ遷移する。文字列取得部116により、ユーザの操作がスライド操作でないと判定された場合(ステップS211:NO)、処理は終了する。
【0100】
文字列取得部116は、ステップS211において取得されたユーザの操作開始位置に基づいて、スライド操作の始点位置を取得する(ステップS212)。ステップS212では、例えば、文字列取得部116は、始点位置に対応する配列オブジェクトのパネルの位置を取得する。始点位置に対応するパネルの位置は、始点パネルともいう。始点パネルに割り当てられた文字は先頭文字に対応する。
【0101】
文字列取得部116は、始点パネルと隣接パネルに基づいて、スライド操作の方向を決定する(ステップS213)。ステップS213では、例えば、文字列取得部116は、始点パネルと隣接パネルを結ぶパネル配列が、上下左右斜めの8方向のいずれの方向に沿う配列であるかを判定する。文字列取得部116は、始点パネルと隣接パネルを結ぶパネル配列の方向をスライド操作の方向として決定する。スライド操作の方向は、スライド方向ともいう。
【0102】
文字列取得部116は、ユーザの接触が解除されたか否かを判定する(ステップS214)。ステップS214では、例えば、文字列取得部116は、操作受付部111により取得されたユーザの接触を解除する操作の情報に基づいて、ユーザの接触が解除されたことを判定する。
【0103】
文字列取得部116により、ユーザによる接触が解除されたと判定された場合(ステップS214:YES)、処理は、ステップS214からステップS215へ遷移する。文字列取得部116により、ユーザによる接触が解除されていないと判定された場合(ステップS214:NO)、文字列取得部116は、ステップS214の処理を繰り返す。
【0104】
文字列取得部116は、ステップS214において取得されたユーザの接触解除位置に基づいて、スライド操作の終点位置を取得する(ステップS215)。ステップS215では、例えば、文字列取得部116は、終点位置に対応する配列オブジェクトのパネルの位置を取得する。終点位置に対応するパネルの位置は、終点パネルともいう。終点パネルに割り当てられた文字は末尾文字に対応する。
【0105】
文字列取得部116は、始点位置と終点位置に基づいて選択文字列を取得する(ステップS216)。ステップS216では、例えば、文字列取得部116は、配列オブジェクトにおいて、始点パネルから終点パネルを結ぶ直線状のパネル配列に割り当てられた文字列を取得する。文字列取得部116は、始点パネルに割り当てられた文字を先頭文字として取得する。文字列取得部116は、始点パネルから終点パネルまでのパネルに割り当てられた文字をステップS213において決定されたスライド方向に沿って順次取得する。文字列取得部116は、終点パネルに割り当てられた文字を末尾文字として取得する。文字列取得部116は、先頭文字から末尾文字を結ぶ文字列を選択文字列として取得する。文字列取得部116は、選択文字列をゲーム情報記憶部122に保存する。
【0106】
なお、文字列取得部116は、ステップS213において決定されたスライド方向におけるスライド操作の操作量に基づいて、選択文字列を取得してもよい。この場合、文字列取得部116は、ユーザの操作が始点パネルから終点パネルを結ぶ直線状のパネル配列から外れた場合でも、始点パネルから終点パネルまでのパネルに割り当てられた文字をスライド方向に沿って順次取得する。
【0107】
なお、文字列取得部116は、ユーザのスライド操作が、接触を解除することなく、スライド方向と逆の方向へ移動された場合、逆の方向へ移動された後の接触解除位置に基づいて、選択文字列を取得してもよい。
【0108】
なお、オブジェクト処理部115は、文字列取得部116による始点位置を取得に基づいて、始点パネルを識別可能な態様で表示してもよい。例えば、オブジェクト処理部115は、始点パネルにタッチ位置を示す始点オブジェクトを重ねて表示してもよい。また、オブジェクト処理部115は、文字列取得部116による接触解除位置の取得まで、スライド操作に基づいて、スライド操作の位置に対応するパネル配列を識別可能な態様で表示してもよい。例えば、オブジェクト処理部115は、始点パネルからスライド操作の位置に対応するパネル配列に選択文字列を示す選択文字列オブジェクトを重ねて表示してもよい。
【0109】
図9は、
図6のステップS3に示した正解判定動作の一例を示すフローチャートである。
正解処理部117は、ゲーム情報記憶部122から選択文字列を取得する(ステップS301)。
【0110】
正解処理部117は、登録文字列テーブル1222から登録文字列i(i=1~N(Nは登録文字列の総数))を取得する(ステップS302)。登録文字列iは、連番「i」と関連付けられた文字列である。ステップS302では、例えば、正解処理部117は、i=1から昇順で登録文字列iを取得する。
【0111】
正解処理部117は、選択文字列と登録文字列iを比較し、選択文字列が登録文字列iに一致するか否かを判定する(ステップS303)。正解処理部117により、選択文字列が登録文字列iに一致すると判定された場合(ステップS303:YES)、処理は、ステップS303からステップS305へ遷移する。正解処理部117により、選択文字列が登録文字列iに一致しないと判定された場合(ステップS303:NO)、処理は、ステップS303からステップS304へ遷移する。
【0112】
正解処理部117は、登録文字列iが登録文字列テーブル1222に登録された最終登録文字列(i=N)であるか否かを判定する(ステップS304)。正解処理部117により、登録文字列iが最終登録文字列であると判定された場合(ステップS304:YES)、処理は終了する。正解処理部117により、登録文字列iが最終登録文字列でないと判定された場合(ステップS304:NO)、処理は、ステップS304からステップS302へ戻る。この場合、正解処理部117は、登録文字列テーブル1222において登録文字列iに関連付けられた正解フラグFに「0」をセットする。正解処理部117は、登録文字列テーブル1222から次の登録文字列iを取得する。正解処理部117は、選択文字列が登録文字列iに一致するまでステップS302、ステップS303及びステップS304の処理を繰り返す。
【0113】
正解処理部117は、選択文字列が登録文字列iに一致すると判定されたことに応答して、選択文字列が正解文字列であることを判定する(ステップS305)。ステップS305では、例えば、正解処理部117は、登録文字列テーブル1222において登録文字列iに関連付けられた正解フラグFに「1」をセットする。選択文字列が登録文字列iに一致することは、選択文字列が登録文字列に含まれるか否かの一例である。
【0114】
正解処理部117は、選択文字列が正解文字列であることを判定したことに応答して正解数を取得する(ステップS306)。ステップS306では、例えば、正解処理部117は、登録文字列テーブル1222において登録文字列iに関連付けられた正解フラグFに「1」がセットされたことに応答して正解数をインクリメントする。正解処理部117は、インクリメントした正解数をゲーム情報記憶部122に保存する。
【0115】
オブジェクト処理部115は、正解処理部117による判定結果に基づいてオブジェクトの表示態様を変える(ステップS307)。ステップS307では、例えば、オブジェクト処理部115は、正解数に基づいてアイテムオブジェクトの表示態様を変える。オブジェクト処理部115は、正解数に基づいて1以上のアイテムの表示態様を変えて表示する。オブジェクト処理部115は、正解数と関連付けられたアイテムの表示態様を「獲得済み」を示す態様に変える。オブジェクト処理部115は、正解数と関連付けられたアイテムを他のアイテムと識別可能な態様で表示する。
【0116】
オブジェクト処理部115は、正解文字列に基づいて配列オブジェクトの表示態様を変える。オブジェクト処理部115は、正解文字列に対応する文字の配列を識別可能に表示する。オブジェクト処理部115は、正解文字列に対応する文字が配置されたパネルに正解文字列であることを示す正解文字列オブジェクトを重ねて表示する。正解文字列オブジェクトは、正解文字列を囲むオブジェクトである。正解文字列オブジェクトは、例えば楕円形である。正解文字列オブジェクトの形状は、上述の例に限られず、他の文字列と識別可能な形状であればよい。オブジェクト処理部115は、正解文字列に対応する文字の配列の先頭文字を識別可能に表示してもよい。正解文字列オブジェクトは、先頭文字を識別可能に表示する先頭文字オブジェクトを含んでもよい。先頭文字オブジェクトは、先頭文字を強調表示するオブジェクトである。先頭文字オブジェクトは、例えば、先頭文字を囲む円形である。先頭文字オブジェクトの形状は、上述の例に限られず、他の文字と識別可能な形状であればよい。先頭文字オブジェクトは、例えば、正解文字列の配列方向を識別可能な形状であってもよい。オブジェクト処理部115は、正解文字列オブジェクトを正解文字列毎に異なる態様で表示してもよい。例えば、オブジェクト処理部115は、正解文字列オブジェクトを正解文字列毎に異なる色又は形で表示してもよい。
【0117】
オブジェクト処理部115は、テキストオブジェクトの表示態様を変える。例えば、オブジェクト処理部115は、テキストオブジェクトとして正解を示すメッセージを表示する。
【0118】
なお、オブジェクト処理部115は、キャラクタオブジェクトの表示態様を変えてもよい。オブジェクト処理部115は、キャラクタオブジェクトの表情又は動きを変えてもよい。例えば、オブジェクト処理部115は、キャラクタオブジェクトの目の動きを変えて表示してもよい。
【0119】
例えば、配列オブジェクトから数字の英単語を探す問題を含むゲームにおいて、所定の正解数が6である場合について説明する。ユーザは、正解数と同じ数のアイテムを獲得可能である。ユーザの操作により選択された選択文字列が「ONE」である場合を想定する。
【0120】
図4に示すように、登録文字列テーブル1222は、「ONE」、「TWO」、及び「THREE」等の数字を示す6個の文字列を登録文字列として含む。正解処理部117は、ゲーム情報記憶部122から選択文字列「ONE」を取得する。正解処理部117は、登録文字列テーブル1222から登録文字列i(i=1)「ONE」を取得し、選択文字列「ONE」と比較する。正解処理部117は、選択文字列が登録文字列i(i=1)に一致すると判定し、選択文字列「ONE」を正解文字列であると判定する。正解処理部117は、登録文字列テーブル1222において登録文字列i(i=1)「ONE」に関連付けられた正解フラグFに「1」をセットする。正解処理部117は、正解数をインクリメントし、インクリメントした正解数をゲーム情報記憶部122に保存する。
【0121】
オブジェクト処理部115は、アイテムオブジェクトに含まれる正解数「1」に関連付けられたアイテムを「獲得済み」を示す表示態様に変える。オブジェクト処理部115は、正解数「1」に関連付けられたアイテムを正解数「2」から「6」に関連付けられたアイテムと異なる表示態様で表示する。例えば、オブジェクト処理部115は、正解数「1」に関連付けられたアイテムの明度又は輝度を変えてもよい。オブジェクト処理部115は、正解数「1」に関連付けられたアイテムに「GET!」等のテキストメッセージを重ねて表示してもよい。
【0122】
オブジェクト処理部115は、配列オブジェクトにおいて、正解文字列「ONE」が配置されたパネルに正解文字列オブジェクトを重ねて表示する。オブジェクト処理部115は、頭文字「O」に先頭文字オブジェクトを重ねて表示してもよい。
【0123】
オブジェクト処理部115は、テキストオブジェクトにおいて、「やったね」等の正解を示すメッセージを表示する。
【0124】
オブジェクト処理部115は、キャラクタオブジェクトにおいて、キャラクタの目の動きを変えて表示してもよい。
【0125】
図10は、
図3に示したユーザ端末100の表示変更動作の一例を示すフローチャートである。
【0126】
以降の動作の前提として、ユーザ端末100の制御部110及び記憶部120の協働により、ゲームプログラムに記述されたコードに従ってゲームが進行され、表示データが生成されているものとする。以降の動作は、
図6に示す情報処理動作と並行して実行されてもよい。以降の動作は、ユーザの操作によりゲームが開始されると実行される。ゲーム進行部213は、ゲームの開始を指示するユーザの操作に応答してタイマを起動し、ゲームを開始してからの経過時間を計測する。ゲーム進行部213は、ゲームに設定された制限時間から経過時間を引いた残り時間を制限時間情報1223に保存する。ゲーム進行部213は、制限時間までのカウントダウンを開始してもよい。
【0127】
オブジェクト処理部115は、制限時間情報1223を参照して、残り時間がヒントタイミングに到達したか否かを判定する(ステップS11)。ヒントタイミングは、1以上のタイミングを含む。
【0128】
オブジェクト処理部115により、残り時間がヒントタイミングに到達したと判定された場合(ステップS11:YES)、処理は、ステップS11からステップS12へ遷移する。オブジェクト処理部115により、残り時間がヒントタイミングに到達していないと判定された場合(ステップS11:NO)、処理は終了する。
【0129】
オブジェクト処理部115は、インジケータの表示態様を変えて表示する(ステップS12)。ステップS12では、例えば、オブジェクト処理部115は、残り時間がヒントタイミングに到達したと判定されたことに応答して、インジケータの表示を変える。オブジェクト処理部115は、ヒントタイミングの表示の表示態様を変える。オブジェクト処理部115は、ヒントタイミングの表示を強調表示に変える。強調表示は、ヒントタイミングの表示の明度又は輝度を上げる、又はサイズを拡大する等を含む。
【0130】
オブジェクト処理部115は、登録文字列テーブル1222を参照し、ヒントを取得する(ステップS13)。ヒントは、登録文字列のうち、正解処理部117により正解文字列と判断された登録文字列以外の登録文字列である。
【0131】
オブジェクト処理部115は、ヒントを表示する(ステップS14)。ステップS14では、例えば、オブジェクト処理部115は、ヒントに基づいてテキストオブジェクトの表示を変える。オブジェクト処理部115は、1以上のヒントの中からランダムに選択したヒントをテキストオブジェクトに表示する。なお、オブジェクト処理部115は、ヒントに文字数、又は難易度等に基づいて優先度を設定してもよい。この場合、オブジェクト処理部115は、優先度の高いヒントからテキストオブジェクトに表示してもよい。
【0132】
オブジェクト処理部115は、ステップS14において表示するヒントに基づいて、配列オブジェクトの表示態様を変える(ステップS15)。オブジェクト処理部115は、配列オブジェクトにおいてヒントに対応する未正解文字列の先頭文字に対応する文字を識別可能に表示する。ヒントに対応する未正解文字列は、ヒント文字列ともいう。ヒント文字列の先頭文字は、ヒント頭文字ともいう。ヒント頭文字に対応する文字は、配列オブジェクトに含まれるすべてのヒント頭文字に対応する文字を含む。オブジェクト処理部115は、配列オブジェクトにおいてヒント頭文字に対応する文字にヒント頭文字オブジェクトを重ねて表示する。ヒント頭文字オブジェクトは、ヒント頭文字を強調表示するオブジェクトである。ヒント頭文字オブジェクトは、例えばヒント頭文字を囲む円形である。ヒント頭文字オブジェクトの形状は、上述の例に限られず、他の文字と識別可能な形状であればよい。
【0133】
オブジェクト処理部115は、ステップS11からステップS15の処理を1以上のヒントタイミングについて実行する。オブジェクト処理部115は、1以上のヒントタイミング毎にインジケータの表示態様を変えて表示する。オブジェクト処理部115は、1以上のタイミング毎に、ヒントを取得する。オブジェクト処理部115は、1以上のタイミング毎に、ヒントを表示する。オブジェクト処理部115は、1以上のタイミング毎に、ヒントに基づいて、ヒント文字列の先頭文字に対応する文字を識別可能に表示する。
【0134】
例えば、配列オブジェクトから数字の英単語を探す問題を含むゲームにおいて、所定の正解数が6である場合について説明する。制限時間は、1分であり、ヒントタイミングは、残り時間30秒、残り時間20秒、及び残り時間10秒である。ユーザの操作により正解文字列「ONE」が選択済みである場合を想定する。
オブジェクト処理部115は、残り時間が30秒に到達したと判断したことに基づいて、インジケータのヒントタイミングの表示を強調表示に変える。オブジェクト処理部115は、残り時間30秒を示すヒントタイミングの表示の明度又は輝度、及びサイズの少なくとも1つを変える。例えば、オブジェクト処理部115は、残り時間30秒を示すヒントタイミングの表示の明度又は輝度を上げ、サイズを拡大する。オブジェクト処理部115は、残り時間30秒を示すヒントタイミングの表示を、上述の例に限らず、他のヒントタイミングと識別可能な態様に変えてもよい。
【0135】
オブジェクト処理部115は、登録文字列テーブル1222を参照し、登録文字列のうち、正解文字列「ONE」以外の未正解文字列に関する情報を取得する。オブジェクト処理部115は、複数の未正解文字列からランダムに抽出した未正解文字列に関する情報を取得する。例えば、オブジェクト処理部115は、未正解文字列「THREE」に関する情報をヒントとして取得する。
【0136】
オブジェクト処理部115は、「THREE」に関する情報をテキストオブジェクトに表示する。例えば、オブジェクト処理部115は、テキストオブジェクトに「THREEが隠れているよ。」等のテキストを表示する。
【0137】
オブジェクト処理部115は、配列オブジェクトにおいて、ヒント文字列「THREE」のヒント頭文字「T」が割り当てられた複数のパネルにヒント頭文字オブジェクトを重ねて表示する。
【0138】
オブジェクト処理部115は、以上の処理をヒントタイミング「残り時間20秒」、「残り時間10秒」についても同様に実行する。なお、ヒントタイミングの数及びタイミングは、上述の例に限られず、任意に設定可能である。
【0139】
なお、オブジェクト処理部115は、ヒントタイミングにおいてテキストオブジェクト及び配列オブジェクトの少なくとも1つの表示態様を変えてもよい。
【0140】
図6のステップS2に示した文字列取得動作の操作例について説明する。
図11は、
図7に示したタップ操作の場合の文字列取得動作の一例を示す模式図である。
図11は、配列オブジェクトOb1において「ONE」がユーザによって選択された場合の例を示す。
【0141】
図11に示す位置P1は、ユーザによるタップ操作の1タッチ目の位置を示す。位置P2は、ユーザによるタップ操作の2タッチ目の位置を示す。矢印Ar1は、1タッチ目のパネルから2タッチ目のパネルを結ぶパネル配列の方向を示す。文字列取得部116は、1タッチ目の位置P1に対応する配列オブジェクトのパネルの位置、及び2タッチ目の位置P2に対応する配列オブジェクトのパネルの位置を取得する。文字列取得部116は、1タッチ目のパネルから2タッチ目のパネルを結ぶパネル配列が下方向に沿う直線状の配列であると判定する。文字列取得部116は、1タッチ目のパネルから2タッチ目のパネルを結ぶ直線状のパネル配列に割り当てられた文字列「ONE」を選択文字列として取得する。
【0142】
図12は、
図8に示したスライド操作の場合の文字列取得動作の一例を示す模式図である。
図12は、配列オブジェクトOb1において「ONE」がユーザによって選択された場合の例を示す。
【0143】
図12に示す位置P3は、ユーザによるスライド操作の始点位置を示す。位置P4は、ユーザによるスライド操作の始点位置P3から移動された隣接パネルにおける接触位置を示す。位置P5は、ユーザによる接触が解除されたスライド操作の終点位置を示す。矢印Ar2は、スライド操作の始点位置P3から隣接パネルにおける接触位置P4を結ぶパネル配列の方向を示す。矢印Ar2は、スライド方向を示す。文字列取得部116は、スライド操作の始点位置P3と隣接パネルにおける接触位置P4に基づいて、スライド方向Ar2を決定する。なお、
図12に示すように、文字列取得部116は、ユーザのスライド操作に応じて、隣接パネルにおける接触位置として接触位置P4の他に破線の円で示す7つの接触位置を検知し得る。文字列取得部116は、始点位置P3を基準として、隣接パネルにおける接触位置に応じて、矢印Ar2及び破線の矢印で示した上下左右斜め8方向のいずれかの方向をスライド方向として決定する。
【0144】
文字列取得部116は、ユーザによる接触が解除された終点位置P5を取得する。文字列取得部116は、始点位置P3のパネルから終点位置P5のパネルをスライド方向Ar2に沿って結ぶパネル配列に割り当てられた文字列「ONE」を選択文字列として取得する。
【0145】
なお、文字列取得部116は、ユーザのスライド方向Ar2における操作量に基づいて選択文字列として取得してもよい。例えば、ユーザによるスライド操作が蛇行、又は接触の解除等によりスライド方向Ar2から外れた場合、文字列取得部116は、スライド方向Ar2における操作量に基づいて選択文字列として取得してもよい。
図12では、ユーザにより接触位置P4までスライド操作がされ、終点位置P5の左右に隣接するパネルに接触した後、終点位置P5に戻った場合、文字列取得部116は、スライド方向Ar2の操作量に基づいて文字列「ONE」を選択文字列として取得してもよい。
【0146】
なお、ユーザにより接触位置P4までスライド操作がされ、スライド方向Ar2に沿って終点位置P5を超えたパネルまでスライドされた後、スライド方向Ar2と逆方向にスライドされて終点位置P5で接触が解除された場合、文字列取得部116は、始点位置P3のパネルから終点位置P5のパネルに基づいて文字列「ONE」を選択文字列として取得してもよい。
【0147】
図13は、ゲームプログラムによって実現されるユーザ端末100に表示される画像Im2の例を示す図である。
【0148】
表示部1072は、ゲーム開始後の画像Im2を表示する。画像Im2は、配列オブジェクトOb1、インジケータOb2、アイテムオブジェクトOb3、テキストオブジェクトOb4、及びゲーム進行オブジェクトOb5~Ob8を含む画像である。ユーザにより正解文字列「ONE」及び「NINE」が選択され、正解数は2である場合を想定する。ヒントタイミングは、残り時間30秒、20秒、10秒である。画像Im2は、ゲーム開始後、ヒントタイミング「残り時間30秒」に到達した場合の画像を示す。
【0149】
配列オブジェクトOb1は、6個の登録文字列「ONE」、「TWO」、「THREE」、「FOUR」、「NINE」、及び「TEN」を含む。配列オブジェクトOb1において、正解文字列オブジェクトOb9が正解文字列「ONE」及び「NINE」が割り当てられたパネルに重ねて表示される。正解文字列オブジェクトは、先頭文字オブジェクトOb10を含む。正解文字列オブジェクトOb9は、正解文字列「ONE」と「NINE」とで異なる色で表示されてもよい。
【0150】
配列オブジェクトOb1において、ヒントである「THREE」の頭文字「T」が割り当てられたパネルにヒント頭文字オブジェクトOb11が重ねて表示される。ヒントは、未正解文字列「TWO」、「THREE」、「FOUR」、及び「TEN」の中からランダムに抽出された未正解文字列に対応する。
【0151】
配列オブジェクトOb1は、ユーザの操作に伴い、表示部1072の接触位置を示す選択文字列オブジェクトOb12を含んでもよい。選択文字列オブジェクトOb12は、ユーザの操作の始点位置を示す始点オブジェクトOb13を含んでもよい。
【0152】
インジケータOb2において、ヒントタイミング「残り時間30秒」の表示が他のヒントタイミングの表示より高い明度又は輝度で表示される。インジケータOb2において、経過時間バーが表示される。経過時間バーにおいて、経過時間と残り時間が識別可能に表示される。
図13において経過時間を示す部分が残り時間を示す部分より低い明度又は輝度で表示される。インジケータOb2は、残り時間のカウントダウンを示す数字による表示「00:30:00」を含む。
【0153】
アイテムオブジェクトOb3において、2個のアイテムが他の4個のアイテムより低い明度で表示され、2個のアイテムに「GET!」のテキストメッセージが重ねて表示される。
【0154】
テキストオブジェクトOb4において、ヒントである「THREE」に関する情報が表示される。テキストオブジェクトOb4において、「THREEが隠れているよ。」が表示される。テキストオブジェクトOb4において表示されるヒントは、配列オブジェクトOb1において表示されるヒント頭文字オブジェクトと連動して表示される。
【0155】
ゲーム進行オブジェクトOb5において、問題文「数字を探そう」が表示される。
【0156】
ゲーム進行オブジェクトOb6において、正解数と所定の正解数を示す「2/6」が表示される。
ゲーム進行オブジェクトOb7において、リタイアボタンが表示される。
ゲーム進行オブジェクトOb8において、キャラクタオブジェクトが表示される。
【0157】
(4)効果
以上詳述したように、ゲームプログラムは、コンピュータに配列オブジェクトにおけるユーザの操作に基づいて選択文字列を取得させ、取得された選択文字列が登録文字列に含まれるか否かに応じて選択文字列が正解文字列であることを判定させることができる。これにより、ゲームプログラムは、ユーザによる簡単な操作に基づいて、コンピュータに文字パズルゲームの正解判定をさせることができる。そのため、ユーザは、文字列の選択操作のみで文字パズルゲームをプレイすることができる。このように、ゲームプログラムは、文字パズルゲームの興趣性を一層高めることができる。
【0158】
ゲームプログラムは、コンピュータに正解数を取得させ、正解数がゲームに設定された所定の正解数と一致したことに応答して、ゲームを終了させることができる。これにより、ゲームプログラムは、ゲームに設定された制限時間にかかわらず、正解数に応じてコンピュータにゲームを終了させることができる。そのため、ユーザは、制限時間が経過する前でもゲームに設定された所定数の正解を見つけることでゲームを終了することができる。このように、ゲームプログラムは、ユーザがより早く所定数の正解を見つけることへの動機付けを生み出し、文字パズルゲームの興趣性を一層高めることができる。
【0159】
ゲームプログラムは、コンピュータにゲームに設定された制限時間が経過したことに応答してゲームを終了させることができる。これにより、ゲームプログラムは、ユーザの正解数にかかわらず、制限時間の経過によりコンピュータにゲームを終了させることができる。そのため、ユーザは、制限時間が経過するまでに正解を見つけ出すというスピード感を要求される。このように、ゲームプログラムは、ユーザが制限時間内に所定数の正解を見つけることへの動機付けを生み出し、文字パズルゲームの興趣性を一層高めることができる。また、ゲームプログラムは、制限時間の設定により、短時間で完結するゲームを提供することができる。そのため、ユーザは、隙間時間に気軽にゲームをプレイすることができる。このように、ゲームプログラムは、ユーザがゲームをプレイする機会を促し、文字パズルゲームの興趣性を一層高めることができる。
【0160】
ゲームプログラムは、コンピュータに所定の正解数に基づいて設定された獲得可能な1以上のアイテムを表示させ、ユーザの正解数に基づいて1以上のアイテムの表示態様を変えて表示させることができる。これにより、ゲームプログラムは、コンピュータにユーザが獲得したアイテムを視覚的に識別可能に表示させることができる。そのため、ユーザは、ユーザが獲得したアイテムと獲得できるアイテムを容易に認識することができる。また、ユーザは、次の正解で獲得できるアイテムを認識することもできる。このように、ゲームプログラムは、ユーザがアイテム獲得のために正解を見つけ出すことへの動機付けを生み出し、文字パズルゲームの興趣性を一層高めることができる。
【0161】
ゲームプログラムは、コンピュータに未正解文字列に関する情報を表示する1以上のタイミング(ヒントタイミング)をインジケータに表示させ、ヒントタイミング毎にインジケータの表示態様を変えて表示させることができる。これにより、ゲームプログラムは、ヒントタイミングと、ヒントタイミングに到達したことを視覚的に識別可能に表示させることができる。そのため、ユーザは、未正解文字列に関する情報(ヒント)が表示されるタイミングを容易に認識することができる。ユーザは、正解が分からない場合には、ヒントの表示を待って操作をすることもできる。また、ユーザは、ヒントタイミングに到達したことを容易に認識することができる。このように、ゲームプログラムは、ユーザにヒントが表示される期待感を生み出し、文字パズルゲームの興趣性を一層高めることができる。
【0162】
ゲームプログラムは、ヒントタイミング毎に、コンピュータに未正解文字列に関する情報(ヒント)を表示させることができる。これにより、ゲームプログラムは、ヒントタイミング毎に、コンピュータに、配列オブジェクトに含まれる文字列でまだユーザが見つけられていない文字列に関する情報を表示させることができる。そのため、ユーザは、ヒントを参照して正解文字列を探し出すことができる。このように、ゲームプログラムは、ユーザに正解文字列を見つけることを容易にし、文字パズルゲームの興趣性を一層高めることができる。
【0163】
ゲームプログラムは、コンピュータに正解文字列に対応する文字の配列を識別可能に表示させることができる。これにより、ユーザは、正解文字列とそれ以外の文字を容易に識別することができる。そのため、ユーザは、配列オブジェクトにおいて未正解文字列を見つけやすくなる。このように、ゲームプログラムは、ユーザに未正解文字列を見つけることを容易にし、文字パズルゲームの興趣性を一層高めることができる。
【0164】
ゲームプログラムは、コンピュータに正解文字列に対応する文字の配列の先頭文字を識別可能に表示させることができる。これにより、ユーザは、8方向に配列され得る正解文字列の先頭文字を容易に認識することができる。そのため、ユーザは、正解文字列を容易に確認することができ、まだ見つけていない未正解文字列をより見つけやすくなる。このように、ゲームプログラムは、ユーザに未正解文字列を見つけることを容易にし、文字パズルゲームの興趣性を一層高めることができる。
【0165】
ゲームプログラムは、ヒントタイミング毎に、コンピュータに未正解文字列の先頭文字に対応する文字を識別可能に表示させることができる。これにより、ゲームプログラムは、ヒントタイミング毎に、コンピュータに配列オブジェクトに含まれる文字列でまだユーザが見つけられていない文字列の先頭文字を識別可能に表示させることができる。そのため、ユーザは、未正解文字列の先頭文字(ヒント頭文字オブジェクト)を参照して正解文字列を探し出すことができる。また、ゲームプログラムは、ヒント頭文字が割り当てられたパネルが複数ある場合は、コンピュータに複数のパネルにヒント頭文字オブジェクトを表示させることができる。そのため、ユーザは、複数のヒント頭文字オブジェクトから正解文字列を見つける必要がある。このように、ゲームプログラムは、ユーザに正解文字列を見つけることを容易にしつつ、ユーザ自身で正解文字列を見つける動機付けを生み出し、文字パズルゲームの興趣性を一層高めることができる。
【0166】
ゲームプログラムは、コンピュータにユーザによるタップ操作の1タッチ目の位置と2タッチ目の位置に基づいて選択文字列を取得させることができる。これにより、ゲームプログラムは、ユーザの簡単な操作によっても選択文字列を取得させることができる。そのため、ユーザは、簡単な操作でゲームをプレイすることができる。このように、ゲームプログラムは、ユーザの操作を容易にし、文字パズルゲームの興趣性を一層高めることができる。
【0167】
ゲームプログラムは、コンピュータにスライド操作の始点位置と終点位置に基づいて選択文字列を取得させることができる。これにより、ゲームプログラムは、ユーザのスライド操作の方向がずれた場合でも選択文字列を取得させることができる。そのため、ユーザは、簡単な操作でゲームをプレイすることができる。このように、ゲームプログラムは、ユーザの操作を容易にし、文字パズルゲームの興趣性を一層高めることができる。
【0168】
なお、この発明は上述の実施形態に限定されるものではない。
【0169】
上述の実施形態では、オブジェクト処理部115は、配列オブジェクト以外に、インジケータ、アイテムオブジェクト、テキストオブジェクト、及びゲーム進行オブジェクトを表示する例について説明したが、これに限定されない。オブジェクト処理部115は、配列オブジェクト以外に、インジケータ、アイテムオブジェクト、テキストオブジェクト、及びゲーム進行オブジェクトの少なくとも何れか1つのオブジェクトを表示してもよい。
【0170】
上述の実施形態では、登録文字列テーブル1222に含まれる登録文字列の数は、ゲームに設定された所定の正解数と同じである場合を例にして説明したが、これに限定されない。登録文字列テーブル1222に含まれる登録文字列の数は、所定の正解数より多くてもよい。この場合、オブジェクト処理部は、登録文字列テーブル1222に含まれる登録文字列のすべてを配列オブジェクトに配列して表示部1072に表示してもよい。
【0171】
タッチパネルを入力部1071の例にして説明したが、これに限定されない。入力部1071は、複数のボタンを備えるコントローラであってもよい。
【0172】
例えば、サーバ200及びユーザ端末100の構成は、実施形態に係るゲームプログラムを実現可能な他の構成に置き換えられてもよい。サーバ200の構成及びユーザ端末100の構成は、省略され、複数の装置に分散配置され、類似の構成に置き換えられてもよい。サーバ200及びユーザ端末100の各機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
【0173】
さらに、フローチャートを用いて説明した処理の流れは、説明した手順に限定されるものではなく、いくつかのステップの順序が入れ替えられてもよいし、いくつかのステップが同時並行で実施されてもよい。また、以上で説明した一連の処理は、時間的に連続して実行される必要はなく、各ステップは任意のタイミングで実行されてもよい。
【0174】
上記各実施形態の処理の少なくとも一部は、例えば汎用のコンピュータに搭載されたプロセッサを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイル又は実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク(CD-ROM、CD-R、DVD等)、光磁気ディスク(MO等)、半導体メモリ等である。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネット等のネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
【0175】
なお、この発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【0176】
1…ゲームシステム、100…ユーザ端末、110…制御部、111…操作受付部、112…ゲーム進行部、113…仮想カメラ制御部、114…表示制御部、115…オブジェクト処理部、116…文字列取得部、117…正解処理部、118…終了処理部、120…記憶部、121…ゲームプログラム記憶部、122…ゲーム情報記憶部、135…オブジェクト処理部、200…随時サーバ、200…サーバ、210…制御部、211…受信制御部、212…送信制御部、213…ゲーム進行部、220…記憶部、221…ゲームプログラム記憶部、222…ゲーム情報記憶部、223…ユーザ情報データベース、1001…プロセッサ、1002…メモリ、1003…ストレージ、1004…センサ、1005…通信インタフェース、1006…入出力インタフェース、1007…タッチスクリーン、1008…バス、1071…入力部、1072…表示部、1221…オブジェクトデータ、1222…登録文字列テーブル、1223…制限時間情報、1224…クリア条件情報、2001…プロセッサ、2002…メモリ、2003…ストレージ、2004…通信インタフェース、2006…バス、NW…ネットワーク、Ob1…配列オブジェクト、Ob2…インジケータ、Ob3…アイテムオブジェクト、Ob4…テキストオブジェクト、Ob5…ゲーム進行オブジェクト、Ob6…ゲーム進行オブジェクト、Ob7…ゲーム進行オブジェクト、Ob8…ゲーム進行オブジェクト、Ob9…正解文字列オブジェクト、Ob10…先頭文字オブジェクト、Ob11…ヒント頭文字オブジェクト、Ob12…選択文字列オブジェクト、Ob13…始点オブジェクト。