説明

プログラム、情報記憶媒体、ゲーム機

【課題】言葉を用いたパズルゲームにおいて、プレーヤの探究心を満たすことができる言葉のパズルゲームのプログラム、情報記憶媒体、ゲーム機を提供する。
【解決手段】本実施形態では、辞書に登録されていると判定されたプレーヤが作成した文字列、つまり作成文字列を、検索エンジンを用いて検索する機能、所与のデータベースを用いて詳細情報を取得できる機能を設ける。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、ゲーム機に関する。
【背景技術】
【0002】
従来から、プレーヤが複数の文字の集合から文字を選択し、選択した文字をマスに置いて言葉を作る言葉のパズルゲームが知られている(例えば、特許文献1参照)。このような言葉のパズルゲームは、限られた文字の集合から言葉を作ることや、偶然できた言葉を発見できることに面白味がある。
【特許文献1】特開2002−253840号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
さて、このような言葉のパズルゲームでは、プレーヤが作成した言葉について、プレーヤはより深く探究したい場合がある。特に、プレーヤが意図せずに偶然できた言葉が、プレーヤの知らない言葉である場合には、その言葉についてプレーヤは探究心が湧く場合が多い。
【0004】
本発明は、従来の課題に鑑みたものであり、その目的は、プレーヤの探究心を満たすことができる言葉のパズルゲームのプログラム、情報記憶媒体、ゲーム機を提供することにある。
【課題を解決するための手段】
【0005】
(1)本発明は、
ゲーム機のためのプログラムであって、
登録文字列によって構成される辞書データを記憶する記憶部と、
プレーヤからの入力情報に基づき、ゲーム空間における予め用意された複数の文字から文字を選択して構成される生成文字列が、辞書データに登録されている登録文字列に合致するか否かを判定するゲーム演算を行うゲーム演算部と、
検索エンジン及び所与のデータベースの少なくとも一方を用いて前記生成文字列の詳細情報を取得する詳細情報取得部と、
前記生成文字列に関連付けて前記詳細情報を表示部に表示させる処理を行う表示制御部として、コンピュータを機能させることを特徴とするプログラムに関する。
【0006】
本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成するゲーム機に関係する。
【0007】
本発明によれば、予め用意された複数の文字から文字を選択して構成される生成文字列について、詳細情報が表示されるので、プレーヤは生成文字列の意味をより深く理解することができる。
【0008】
(2)また、本発明のプログラム、情報記憶媒体、ゲーム機は、
前記詳細情報取得部が、
プレーヤからの入力情報に基づき選択された検索エンジン及び所与のデータベースの少なくとも一方を用いて前記生成文字列の詳細情報を取得するようにしてもよい。
【0009】
本発明によれば、プレーヤが検索エンジン及び所与のデータベースを選択することによって、プレーヤ自身が知りたい詳細情報を簡易に適切に取得することができる。
【0010】
(3)また、本発明のプログラム、情報記憶媒体、ゲーム機は、
前記表示制御部が、
前記生成文字列に対応する複数種類の詳細情報のうちプレーヤからの入力情報に基づき選択された種類の詳細情報を表示させる処理を行うようにしてもよい。
【0011】
本発明によれば、プレーヤが求めている適切な詳細情報を表示させることができる。
【0012】
(4)また、本発明のプログラム、情報記憶媒体、ゲーム機は、
前記詳細情報取得部が、
ゲーム機の特定機能が有効である場合には、常に当該特定機能に応じた特定の検索エンジン及び当該特定機能に応じた特定のデータベースの少なくとも一方を用いて、前記生成文字列の詳細情報を取得する処理を行うようにしてもよい。
【0013】
本発明によれば、例えば、公序良俗に反するような反社会的有害情報の閲覧を制限する特定の機能が有効に設定されている場合には、公序良俗に反しない安全な検索エンジン、データベースを用いて詳細情報を取得することができる。
【0014】
(5)また、本発明のプログラム、情報記憶媒体、ゲーム機は、
前記生成文字列の詳細情報を、前記生成文字列と同一の登録文字列に対応づけて前記辞書データに登録する辞書データ制御部として、コンピュータを更に機能させ、
前記表示制御部が、
プレーヤからの入力情報に基づいて、前記詳細情報を表示させるようにしてもよい。
【0015】
本発明によれば、取得した詳細情報が保存されるので、プレーヤは、何度も詳細情報を閲覧することができる。
【0016】
(6)また、本発明のプログラム、情報記憶媒体、ゲーム機は、
前記表示制御部が、
進行中のゲームの中断時、進行中のゲームの終了時の少なくとも1つのタイミングで、前記詳細情報を表示させるようにしてもよい。
【0017】
進行中のゲームの中断時とは、進行中のゲームを一時停止(ポーズ)の状態時や、制限時間のカウントを一時停止する場合や、プレーヤからの入力情報に基づき詳細情報を表示する指示入力を受け付けた場合等である。
【0018】
本発明によれば、プレーヤはゲームプレイに集中することができ、進行中のゲームの中断時、進行中のゲームの終了時に、生成文字列の詳細情報をじっくり読むことができる。
【0019】
(7)また、本発明のプログラム、情報記憶媒体、ゲーム機は、
前記詳細情報取得部が、
辞書データに登録されている登録文字列に合致すると判定された前記生成文字列に限って、前記生成文字列の詳細情報を取得するようにしてもよい。
【0020】
辞書に登録されている文字列を生成することができたときに限って、生成文字列の詳細情報が表示されるので、プレーヤは辞書に登録されていると判定された言葉について深く理解することができる。
【発明を実施するための最良の形態】
【0021】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0022】
1.構成
(1)ゲーム機の構成
図1に本実施形態のゲーム機(画像生成装置)の機能ブロック図の例を示す。なお本実施形態のゲーム機は図1の構成要素(各部)の一部を省略した構成としてもよい。
【0023】
操作部160は、プレーヤがオブジェクト(文字、プレーヤキャラクタ、移動体)の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【0024】
操作部160は、加速度センサや撮像部、或いは角速度を検出するジャイロセンサを備えた入力機器によってプレーヤからの入力データ(操作データ)を入力できるものでもよい。例えば、入力装置は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力装置には、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける(プレーヤが手に装着する)グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力装置には、入力装置と一体化されているゲーム装置、携帯型ゲーム装置、携帯電話なども含まれる。
【0025】
例えば、入力機器に備えられた加速度センサは、3軸(X軸、Y軸、Z軸)の加速度を検出する。すなわち、加速度センサは、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサは、5msec毎に加速度を検出している。また、加速度センサは、1軸、2軸、6軸の加速度を検出するものであってもよい。なお、加速度センサから検出された加速度は、入力機器の通信部によって本体装置に送信される。
【0026】
また、入力機器に備えられた撮像部は、赤外線フィルタ、レンズ、撮像素子(イメージセンサ)、画像処理回路を含む。赤外線フィルタは、入力装置の前方に配置され、表示部190に関連付けられて配置されている光源から入射する光から赤外線のみを通過させる。レンズは、赤外線フィルタを透過した赤外線を集光して撮像素子へ出射する。撮像素子は、例えば、CMOSセンサやCCDのような固体撮像素子であり、レンズが集光した赤外線を撮像して撮像画像を生成する。撮像素子で生成された撮像画像は、画像処理回路で処理される。例えば、撮像素子から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報(特定位置)を検出する。なお、光源が複数存在する場合には、撮像画像上の位置情報を検出する。また、検出した撮像画像上の位置情報は、入力機器の通信部によって、本体装置に送信される。
【0027】
また、操作部160は、液晶ディスプレイとプレーヤの接触位置を検出するためのタッチパネルとが蓄層されたタッチパネル型ディスプレイを含む。つまり、タッチパネル型ディスプレイは、タッチペンやプレーヤの指等によって接触された操作情報(接触操作情報)を入力できものであってもよい。
【0028】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
【0029】
例えば、辞書データ記憶部176は、複数の登録文字列によって構成される辞書データを記憶する。また、辞書データ記憶部176は、登録文字列に対応づけて、漢字表記、英語表記、英訳表記、意味、禁止フラグの値、音声データ等を記憶することができる。また、登録文字列に対応づけて、検索エンジン(サーチエンジン)を用いて検索(サーチ)した意味内容、所与のデータベースに登録されている内容、画像、音データ等を記憶することができる。なお、本実施形態の登録文字列は日本語の平仮名表記の文字列であるが、漢字と平仮名が含む文字列、漢字、英語や、ドイツ語、フランス語、ハングル文字など外国語で表記される文字列であってもよい。
【0030】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。
【0031】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0032】
通信部196は外部(例えば他のゲーム機)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0033】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体180や記憶部170に記憶してもよい。このようにプログラムやデータを受信してゲーム機を機能させる場合も本発明の範囲内に含む。
【0034】
処理部100(プロセッサ)は、操作部160からの入力情報(操作情報)やプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、文字、マス、キャラクタなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【0035】
この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0036】
処理部100は、ゲーム演算部110、通信制御部111、辞書データ制御部112、表示制御部116、詳細情報取得部117、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
【0037】
ゲーム演算部110は、プレーヤからの入力情報に基づきゲーム空間における予め用意された複数の文字(選択文字群)を選択して構成される生成文字列が、辞書データに登録されている登録文字列に合致するか否かを判定するゲーム演算を行う。
【0038】
ここで、予め用意された複数の文字とは、例えば、全ての平仮名で構成される複数の文字であってもよいし、数や種類を制限した平仮名で構成される複数の文字としてもよい。具体的には、平仮名のうち、「あいうえおかきくけこ」の10種類の平仮名からなる10文字の文字群に制限してもよいし、「あいうえおかきくけこ」の10種類の平仮名のうち「あ」の文字を10文字、「い〜こ」を各1文字に制限し、合計19の文字数からなる文字群に制限してもよい。また文字群は平仮名に限らずアルファベット、片仮名、数字、漢字、記号等を含むようにしてもよい。
【0039】
本実施形態のゲーム演算部110は、文字列判定部110aと、クリア条件判定部110bとを含む。例えば、文字列判定部110aは、プレーヤからの入力情報に基づきゲーム空間における選択文字群から選択された選択文字を文字入力領域(マス)に存在する文字列の全部又は一部に付加して文字列を生成し、生成された生成文字列が、辞書データに登録されている登録文字列に合致するか否かを判定する。
【0040】
また、クリア条件判定部110bは、ゲームステージ毎に応じたクリア条件を満たすか否かを判定する処理を行う。例えば、辞書データに登録されている登録文字列を所定数(例えば20個)作成することをクリア条件とすることができる。
【0041】
通信制御部111は、ゲーム機(端末)からネットワークを介してデータを送受信する処理を行う。また、通信制御部111は、パケットを生成する処理、受信したパケットを記憶部170に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部196の制御処理等を行う。また、アプリケーションレベルの通信を実現するためには、アプリケーションの種類を特定するポート番号を用いて、TCPパケットやUDPパケットを生成する。TCPパケットや、UDPパケットを生成する場合には、送信元のIPアドレス及び送信元のポート番号、送信先のIPアドレス及び送信先のポート番号を含むネットワークに必要なヘッダーとともに、実際に送りたいデータをペイロードに含ませるようにして生成する。
【0042】
通信制御部111は、サーバから送信された文字列を含むデータを、ネットワークを介して受信する処理を行う。また、他のゲーム機とネットワークを介してデータを送受信する処理を行う。また、本実施形態の通信制御部111は、サーバから送信された特定文字列(差別用語、放送禁止用語、法律上使用が禁止されている用語)の使用を制限する命令を含むデータを、ネットワークを介して受信する処理を行う。
【0043】
通信制御部111が、自機の辞書データに登録されている登録文字列を、ネットワークを介して他のゲーム機に送信する処理を行い、他のゲーム機から送信された他のゲーム機の辞書データに登録されている登録文字列を、ネットワークを介して受信する処理を行ってもよい。
【0044】
辞書データ制御部112は、サーバから受信した文字列を辞書データに登録する処理を行う。また、辞書データ制御部112は、サーバから特定文字列の使用を制限する命令を含むデータを受信した場合には、特定文字列の使用を制限する処理を行うようにしてもよい。
【0045】
また、辞書データ制御部112は、プレーヤが入力した文字列が辞書データに登録されているか否かを判断し、文字列が辞書データに登録されていない場合には、所定条件を満たす場合に限って、文字列を前記辞書データに登録する処理を行うようにしてもよい。かかる場合、文字列の文字数が所定範囲の文字数である場合に、所定条件を満たすと判断するようにしてもよい。また、文字列に特定文字列が含まれていない場合に、所定条件を満たすと判断するようにしてもよい。
【0046】
辞書データ制御部112が、他のゲーム機から送信された登録文字列を受信した場合には、自機の辞書データに受信した登録文字列を登録する処理を行うようにしてもよい。
【0047】
また、辞書データ制御部112は、生成文字列の詳細情報を、生成文字列と同一の登録文字列に対応づけて辞書データに登録するようにしてもよい。また、プレーヤからの入力情報に基づき、登録文字列に対応づけて登録されている詳細情報を削除するようにしてもよい。また、既に詳細情報が登録されている場合には、取得した最新の詳細情報を上書きして保存するようにしてもよい。
【0048】
表示制御部116は、種々のデータを表示部190に表示する処理を行う。特に本実施形態の表示制御部116は、後述する詳細情報取得部117において取得した詳細情報を表示部に表示させる処理を行う。
【0049】
表示制御部116は、生成文字列に対応する複数種類の詳細情報のうちプレーヤからの入力情報に基づき選択された種類の詳細情報を表示させる処理を行うようにしてもよい。
【0050】
表示制御部116は、生成文字列に関連付けて詳細情報を表示部に表示させる処理を行う。かかる場合には、プレーヤからの入力情報に基づいて、詳細情報を表示させるようにしてもよい。
【0051】
また、表示制御部116は、進行中のゲームの中断時、進行中のゲームの終了時の少なくとも1つのタイミングで、前記詳細情報を表示させるようにしてもよい。
【0052】
詳細情報取得部117は、検索エンジン及び所与のデータベースの少なくとも一方を用いて生成文字列の詳細情報を取得する。係る場合には、生成文字列が辞書データに登録されている登録文字列に合致するかに関わらず、生成文字列の詳細情報を取得するようにしてもよいし、所定条件を満たす場合に限って、生成文字列の詳細情報を取得するようにしてもよい。例えば、辞書データに登録されている登録文字列に合致すると判定された生成文字列に限って、生成文字列の詳細情報を取得するようにしてもよい。
【0053】
また、詳細情報取得部117は、プレーヤからの入力情報に基づき選択された検索エンジン及び所与のデータベースの少なくとも一方を用いて生成文字列の詳細情報を取得してもよい。
【0054】
また、詳細情報取得部117は、ゲーム機の特定機能が有効である場合には、常に当該特定機能に応じた特定の検索エンジン及び当該特定機能に応じた特定のデータベースの少なくとも一方を用いて、生成文字列の詳細情報を取得してもよい。
【0055】
なお、処理部100は、オブジェクト空間設定部、移動・動作処理部、仮想カメラ制御部を含むものであってもよい。
【0056】
オブジェクト空間設定部は、文字、マス、キャラクタなどの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義であり、例えば、ワールド座標系でのX、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0057】
移動・動作処理部は、オブジェクト(文字、マス、キャラクタ、移動体等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)、物理法則などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツ(マス)の位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0058】
仮想カメラ制御部は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、ワールド座標系における仮想カメラの位置(X、Y、Z)又は回転角度(例えば、X、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。
【0059】
例えば仮想カメラによりオブジェクト(例えばキャラクタ、文字、マス)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【0060】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。
【0061】
描画部120が生成する画像は、いわゆる2次元画像であってもよいし、いわゆる3次元画像であってもよい。
【0062】
ここで2次元画像を生成する場合には、描画部120は、まずオブジェクト(マスや文字オブジェクト、スプライトを含む)の2次元の位置座標に基づいて、オブジェクトを描画する処理を行う。かかる場合には、予めオブジェクトに設定された優先度が低いオブジェクトから順に描画して、オブジェクト同士が重なる場合には、優先度の高いオブジェクトを上書きして描画するようにしてもよい。
【0063】
また、3次元画像を生成する場合には、次のように処理を行う。まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0064】
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換(カメラ座標変換)、クリッピング処理、透視変換(投影変換)、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。
【0065】
そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0066】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0067】
そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0068】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、オブジェクトデータ記憶部に保存される。
【0069】
テクスチャマッピングは、記憶部170のテクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0070】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0071】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。
【0072】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0073】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0074】
なお、本実施形態のゲーム機は、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0075】
(2)サーバの構成
図2は、本実施形態のサーバの機能ブロック図の例である。なお本実施形態のサーバは図2の構成要素(各部)の一部を省略した構成としてもよい。
【0076】
操作部260は、管理者(操作者)が操作データを入力するためのものであり、その機能は、キーボード、マウス、レバー、ボタン、スティック、マイク、タッチパネル型ディスプレイなどの入力機器により実現できる。
【0077】
記憶部270は、処理部200や通信部296などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。また、ゲームシステムで使用するデータベースに格納されるデータが記憶される。特に、本実施形態の記憶部270では、ゲーム機がサーバにアクセスするためのユーザID(ログインID)、及び、パスワード等のユーザ管理情報を記憶してもよい。
【0078】
また、辞書データ記憶部274は、登録文字列によって構成される辞書データを記憶する。例えば、サーバの辞書データ記憶部274は、ゲーム機の辞書データ記憶部176と同様に、録文字列に対応づけて、漢字表記、英語表記、英訳表記、意味、禁止フラグの値、音声データ等を記憶することができる。また、登録文字列に対応づけて、検索エンジン(サーチエンジン)を用いて検索(サーチ)した意味内容、所与のデータベースに登録されている内容、画像、音データ等を記憶することができる。なお、本実施形態の登録文字列は日本語の平仮名表記の文字列であるが、漢字と平仮名が含む文字列、漢字、英語や、ドイツ語、フランス語、ハングル文字など外国語で表記される文字列であってもよい。
【0079】
通信部296は外部(例えば、ゲーム機、端末、他のサーバや他のゲームシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0080】
処理部200(プロセッサ)は、情報記憶媒体に記憶されるプログラム等に基づいて、所与の処理を行う。具体的には、ゲーム機(端末)からの要求に応じて所与のサービスを提供する処理を行う。
【0081】
また、処理部200は記憶部270内の主記憶部272をワーク領域として各種処理を行う。処理部200の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0082】
特に、本実施形態のサーバの処理部200は、受け付け部210、通信制御部212、辞書データ制御部213、検索処理部214、判断部215、複合語生成部216、略語生成部217を含む。なお、これらの一部を省略する構成としてもよい。
【0083】
受け付け部210は、管理者から入力された文字列を受け付ける処理を行う。
【0084】
通信制御部212は、サーバ、他のゲーム機からネットワークを介してデータを送受信する処理を行う。また、通信制御部212は、送信するパケットを生成する処理、受信したパケットを記憶部270に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部296の制御処理等を行う。また、アプリケーションレベルの通信を実現するためには、アプリケーションの種類を特定するポート番号を用いて、TCPパケットやUDPパケットを生成する。TCPパケットや、UDPパケットを生成する場合には、送信元のIPアドレス及び送信元のポート番号、送信先のIPアドレス及び送信先のポート番号を含むネットワークに必要なヘッダーとともに、実際に送りたいデータをペイロードに含ませるようにして生成する。
【0085】
特に本実施形態の通信制御部212は、辞書データに新たに登録された文字列、複合語、略語を含むデータを、ネットワークを介してゲーム機に送信する処理を行う。また、通信制御部212は、特定文字列の使用を制限する命令を含むデータを、ネットワークを介してゲーム機に送信する処理を行うようにしてもよい。
【0086】
辞書データ制御部213は、受け付けた文字列が辞書データに登録されているか否かを判断し、文字列が辞書データに登録されていないと判断される場合には、文字列を辞書データに登録する処理を行う。また、辞書データ制御部213は、文字列の文字数が所定範囲の文字数である場合に、文字列を辞書データに登録する処理を行うようにしてもよい。また、辞書データ制御部213は、文字列の検索結果のヒット数がしきい値以上である場合に、文字列を辞書データに登録する処理を行う。
【0087】
辞書データ制御部213は、文字列が所与のデータベースに登録されている場合に、文字列を辞書データに登録する処理を行うようにしてもよい。また、辞書データ制御部213が、文字列が所与のデータベースに登録されていると共に、文字列の検索結果のヒット数がデータベースに応じて設定されたしきい値以上である場合に、文字列を辞書データに登録する処理を行うようにしてもよい。
【0088】
辞書データ制御部213は、複合語が辞書データに登録されているか否かを判断し、複合語が辞書データに登録されていないと判断される場合には、複合語を辞書データに登録する処理を行うようにしてもよい。
【0089】
辞書データ制御部213が、略語が辞書データに登録されているか否かを判断し、略語が辞書データに登録されていないと判断される場合には、略語を辞書データに登録する処理を行うようにしてもよい。
【0090】
検索処理部214は、文字列(複合語、略語等の文字列も含む)を検索エンジンを用いて検索する処理を行う。
【0091】
判断部215は、文字列が所与のデータベースに登録されているか否かを判断する。
【0092】
複合語生成部216は、辞書データに登録されている複数の登録文字列を組み合わせて複合語を生成する。
【0093】
略語生成部217は、辞書データに登録されている登録文字列の略語を生成する。
【0094】
また、処理部200は、ネットワーク設定部、認証部、プレーヤ情報設定部を含むようにしてもよい。
【0095】
ネットワーク設定部は、ネットワークシステムで必要となる情報を取得し、管理する処理等を行う。通信制御部は、他のゲーム機に送信するパケットを生成する処理、パケット送信先のゲーム機のネットワークアドレスを指定する処理、受信したパケットを記憶部270に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部296の制御処理等を行う。
【0096】
また、ネットワーク設定部は、ゲームシステムで必要となる情報を取得し、管理する処理等を行う。特に、本実施形態のネットワーク設定部は、ゲームシステムに登録されている各ゲーム機に個別に付与される識別情報と、識別情報に対応付けられたパケットの宛先情報と管理する。ここで、識別情報とは、オンラインゲームに参加できるゲーム機を識別するために個別に付与されたデータである。例えば、ゲーム機を識別するためのゲーム機毎に異なる固有のIDとすることができる。IDは、数字やアルファベットの組み合わせからなるシリアル番号とすることができる。本実施形態のネットワーク設定部は、識別情報に基づいて、ゲーム機を特定することができる。
【0097】
認証部は、ゲーム機又は端末からサーバに対してアクセスの要求がある場合にユーザ認証の処理を行う。具体的には、ゲーム機又は端末からサーバにアクセスされた場合において、サーバが受け付けたユーザID(ログインID)とユーザIDに対応付けられるパスワードとが、記憶部270に記憶されたユーザ情報テーブルのユーザID及びパスワードと一致するか否かを判断する。
【0098】
プレーヤ情報設定部は、ゲーム機の識別情報、プレーヤの識別情報、及び当該プレーヤの宛先情報とそれぞれ対応づけてプレーヤ情報テーブルに設定する処理を行う。
【0099】
2.本実施形態の手法
(1)概要
図3は、本実施形態のゲーム機の表示画面の一例である。本実施形態では、プレーヤからの操作情報に基づいて、複数の文字からなる選択文字群から文字を選択すると共に選択した文字を配置するマス(場所)を決定する。
【0100】
そして、本実施形態では、プレーヤが指示したマスに隣接する1又は複数の文字とプレーヤが選択文字群から選択した選択文字とからなる生成文字列が、辞書(辞書データ、辞書データベース)に登録されている言葉(登録文字列)であるか否かを判断する処理を行う。そして、辞書に登録されている言葉であると判定された場合に、プレーヤが選択した選択文字を、指示したマスに配置する処理(選択文字を指示したマスに埋める処理)を行う。
【0101】
一方、辞書に登録されていない言葉であると判定されると、プレーヤが選択した選択文字を指示したマスに配置しないように制御している。かかる場合には、プレーヤに選択文字を指示したマスに配置できない(言葉になっていない)ことを忠告するメッセージを表示し、プレーヤに再度、選択文字群から異なる文字を選択させたり、異なるマスを指示するよう促している。
【0102】
このように、本実施形態は、プレーヤが選択文字群から文字を選択すると共に適切なマスを指示することによって、言葉を作るゲームのプログラム(ゲーム機、ゲームシステム)である。そして、最終的にクリア条件を満たした場合にゲームをクリアする処理を行う。例えば、ステージで用意された全てのマスを埋めることをクリア条件にしたり、辞書に収録されている文字列を所定数以上作成することをクリア条件とすることができる。
【0103】
また、本実施形態では、難易度に応じて、選択文字群、マス、クリア条件の少なくとも1つが異なる複数のステージを用意している。ステージの種類によっては図3に示すように制限時間を設けるようにしている。
【0104】
なお、本実施形態では、辞書(辞書データ、辞書データベース)に登録されている言葉(登録文字列)であると判定された生成文字列(以下「作成文字列」という。)は、プレーヤの操作によって表記形(例えば、漢字表記、英語表記)、意味内容を表示する処理を行っている。例えば、図3に示すように作成文字列の漢字表記、意味内容を表示画面の上段に表示させたり、図4に示すように、画面の下段の領域A2(第2ディスプレイでもよい)に、作成文字列の一覧が表示され、いずれかの作成文字列が指示されると、画面の上段の領域A1(第1ディスプレイでもよい)に、その作成文字列の表記形や意味内容を表示させる。
【0105】
また、ゲーム機に内蔵される辞書は、予めメモリ(記憶部)に記憶されている。辞書には、言葉に対応付けて、意味(用例)が記憶されている。例えば、言葉は名詞、動詞、形容詞、慣用句、歴史上の人物、都市名、国名等が登録されている。
【0106】
また、本実施形態では、各ステージにおけるマスを、図3に示すように、格子状のマスによって形成している。マスの数や配置位置はステージ毎に異ならせている。
【0107】
また、本実施形態では、縦、横において連続するマス数の上限数は所定数に設定している。例えば連続するマス数の上限数を9文字以下、又は、13文字以下に制限している。したがって、辞書に登録される言葉の文字数も、連続するマス数の上限数に応じて、9文字以下、又は、13文字以下になるように制限している。さらに、本実施形態では2文字以上の言葉を作成することをルールとしている。単に1文字からなる言葉を作成できるとすると、言葉を作るというゲームが成立しなくなるからである。したがって、本実施形態では、所定範囲の文字数に制限した言葉を辞書に登録している。例えば、2文字以上9文字以下の言葉を辞書に登録している。
【0108】
また、本実施形態では、平仮名表記によってマスに文字を埋めているので、辞書に登録されている言葉は、平仮名表記における文字数を所定範囲に制限している。
【0109】
また、本実施形態では、通常の辞書と同じように、同じ発音の言葉であっても(ひらがな表記が同じであっても)、意味が異なる場合には、意味内容に対応付けて文字列を辞書に収録している。例えば、「雨」と「飴」は意味が異なるが、同じ発音である「あめ」(同じひらがな表記)である。したがって、「雨」と「飴」はそれぞれ異なる文字列として辞書に登録されている。
【0110】
したがって、本実施形態では、プレーヤが作成した作成文字列が「あめ」である場合には、所与のアルゴリズムに基づいて、「雨」、「飴」等の同一の発音(同一の平仮名表記)である言葉のうちいずれかの言葉を選択してプレーヤが作成した言葉を決定している。例えば、
また、本実施形態では、選択文字群を、文字を埋めることができる空きマスの数以上の文字数で構成している。またゲームのステージの難易度において、選択文字群として用意される文字数や文字の種類を異ならせている。例えば、難易度の低いステージでは、「あ」〜「ん」の52種類の平仮名で構成される文字群に制限し、難易度の高いステージでは「がぎぐげご」等の濁音の平仮名で構成される文字群に制限してもよい。
【0111】
図5は、辞書(辞書データベース)の一例を示す図である。例えば、辞書は、ID(識別情報)に対応づけて、平仮名表記の言葉と、漢字、英語等の一般的な表記形、そして意味内容、そして禁止フラグが設定されている。なお、辞書には、IDに対応づけて、英語表記(和英表記)、言葉に関する音声データ、画像データを記録してもよい。例えば、言葉が題名「ほたるの光」である場合には、「ほたるの光」の曲データを記録してもよい。
【0112】
(2)ゲーム機の辞書データを制御する手法
さて、言葉というものは、時代とともに変化する。例えば、新語・流行語が生まれたり、新たな都市が誕生する等、社会の変化に応じて言葉も変化する。
【0113】
したがって、本実施形態の言葉のパズルゲームにおいても、現代で用いられる言葉が登録されていること、つまり、時代に応じた適切な言葉が辞書に登録されていることが望ましい。例えば、プレーヤが、長い時間をかけて作成しようと試みた言葉が流行語であるがために、辞書に登録されておらず言葉を作ることができないことになれば、プレーヤに不満を与えることになる。
【0114】
一方、プレーヤ自身の判断に委ねて、新しい言葉を自由に登録できてしまうと、ゲームが破綻するおそれがある。例えば、簡易な連続する文字列「ああ」、「いい」のように、単純に同じ文字を連続させた文字列が登録されてしまうと、言葉を作るというゲームの難易度が大きく変化し、プレーヤが試行錯誤して言葉を作るという面白みがなくなってしまう。
【0115】
そこで、本実施形態では、辞書サーバを設け、辞書サーバから配信されるデータに基づいて、ゲーム機の辞書を制御する処理を行う(更新、登録、削除等の処理を行う)。つまり、本実施形態では、ゲーム機の辞書が、辞書サーバの管理のもと、時代の変化、社会状況に応じた現代で用いられる言葉が収録されるように制御することを特徴とするものである。
【0116】
図6は、本実施形態のゲームシステムの一例である。本実施形態のゲームシステムは、ゲーム機がインターネットを介して辞書サーバと接続されており、各ゲーム機は辞書サーバとデータの送受信を行うことができる。
【0117】
そして、辞書サーバは、ゲーム機の要求に応じて、辞書データ(辞書に関するデータ)を送信する処理を行っている。例えば、最新の辞書データをゲーム機に送信する処理を行う。かかる場合には、ゲーム機側では、受信した最新の辞書データを、自機の辞書データに上書き保存する処理を行う。
【0118】
また、辞書データは、バージョン情報(更新情報)を記録して、ゲーム機の辞書データのバーションと最新の辞書のバーションとの差分データを、ゲーム機に送信するようにしてもよい。そして、ゲーム機の辞書データにサーバから受信した差分データを追加させて、最新のバーションの辞書に更新する処理を行うようにする。
【0119】
なお、ゲーム機の処理としては、所定周期で辞書サーバに辞書データを要求する処理を行い、辞書サーバから最新の辞書データを取得する処理を行う。例えば、1週間に1回のタイミングで、サーバにアクセスして最新の辞書データをダウンロードする。このようにすれば、時代の変化に対応した辞書を用いてゲームプレイを行うことができる。
【0120】
(3)サーバの辞書に新たな言葉を追加する手法
本実施形態の辞書サーバは、管理者が文字列を入力することによって、辞書に新たな言葉を追加する処理を行っている。
【0121】
ここで、新たな言葉を追加する場合には、その言葉が現代社会において使用されている「言葉」であることが条件になる。本実施形態のゲームは言葉のパズルゲームであり、プレーヤが言葉を作成することに意義を有するものであるので、辞書に収録される言葉もプレーヤが作成される可能性の高い言葉であることが望ましいからである。
【0122】
本実施形態では、管理者が入力した文字列が言葉であるか否かの判断処理は、例えば、管理者が入力した文字列が、所与のデータベースに登録(格納)されているか否かによって判断するここで、所与のデータベースは、言葉に対応づけて、その意味内容が関連づけて登録されているデータベースのことをいう。例えば、国語辞典データベースや百科事典データベース、現代用語辞典データベースや、専門的な数学用語辞典データベース、建築用語辞典データベース等である。また、データベースは、インターネットを介して接続される外部のデータベースであってもよいし、イントラネットで接続されるデータベースであってもよい。また辞書サーバに内部に設定されたデータベースであってもよい。
【0123】
例えば、不特定多数の者が、Webブラウザを利用してWebサーバ上のハイパーテキスト文書を自由に書き込み、編集ができるシステム(例えばWiki)によって構築された百科事典データベースは、社会変化に応じた最新の言葉が書き込まれる可能性が高い。したがって、このような百科事典データベースを用いて、管理者が入力された文字列が言葉であるか否かの判断を行ってもよい。
【0124】
また、本実施形態では、管理者が入力した文字列が言葉か否かの判断を、検索エンジンを用いて判断してもよい。例えば、管理者が入力した文字列をキーワードとして検索エンジンを用いて検索し、検索結果として得られるヒット数が所定数以上(例えば、1万件以上)である場合には、社会的に通用される言葉とみなして辞書に登録する処理を行う。つまり、検索エンジンのヒット数が所定数以上であれば、世の中で使用されている言葉であるか否かのおおよその目安を判断できる。したがって、本実施形態では、検索エンジンを用いて、言葉であるか否かの線引きを行っている。
【0125】
なお、検索エンジンとは、WWW(World Wide Web)などで公開されている情報を蓄積しているシステム(装置、サーバ)であって、端末(ゲーム機も含む)からの要求に応じてキーワードに基づく検索処理を行うシステムである。検索エンジンは、アプリケーションプログラムによって逐次情報を蓄積しているロボット型検索エンジンや、人手によってカテゴリー別に応じて情報を蓄積するディレクトリ型検索エンジンなどがある。本実施形態では、いずれの種類の検索エンジンを用いてもよい。また、検索エンジンは、一般的に使われるWeb検索を行うことができる検索エンジンだけでなく、画像検索、動画検索、音声検索、ブログ検索など、種々の検索エンジンであってもよい。
【0126】
また、本実施形態では、上述したデータベースを利用すると共に、検索エンジンを利用して、管理者が入力した文字列が言葉であるか否かを判断してもよい。
【0127】
例えば、図7に示すように、管理者が入力した文字列が百科事典データベースに登録されている場合には、さらに、当該文字列が検索エンジンにおいて1万件以上である条件を満たす場合に、言葉として判定し辞書に登録する。つまり、データベースの種類に応じて、検索エンジンの検索結果のヒット数のしきい値を設定し、言葉であるか否かの判断を行う。
【0128】
このようにすれば、例えば、建築用語や数学用語など、専門的な用語においても、言葉であるか否かの判断を適切に行うことができる。すなわち、建築用語などの専門用語は、一般的にWeb上で公開される機会が少ない。しかしながら、専門的な用語ではあっても、知識としては有用な言葉であり、例えばヒット数が少なくても辞書に登録することがゲームとして有意義である。そこで、本実施形態では、図7に示すように、データベースの種類に対応づけて、予めヒット数のしきい値を設定し、言葉であるか否かの判断を行っている。
【0129】
つまり、管理者が入力した文字列が言葉であるか否かの判定は、予め用意された複数のデータベースのうち、いずれかのデータベースに登録されているか否かを判断する処理を行う。ここで、いずれのデータベースにも登録されていないと判断される場合には、言葉ではないと判定する。一方、いずれかのデータベースに登録されていると判断された場合には、管理者が入力した文字列を検索エンジンにおいて検索する処理を行い、データベースに対応するヒット数のしきい値以上のヒット数を得られた場合には、言葉であると判定し、データベースに対応するヒット数のしきい値以上でない場合には、言葉ではないと判定する。なお、複数のデータベースに登録されていると判定される場合には、検索結果のヒット数が、複数のデータベースそれぞれに対応するしきい値のうち、最低値のしきい値以上である場合に、言葉であると判断する。
【0130】
例えば、「赤」という文字列が、百科事典データベースに登録されていると判断された場合には、検索エンジンにおいて、検索エンジンにおいて検索した結果、ヒット数がしきい値の1万件以上である場合には、「赤」を言葉であると判断する。
【0131】
また、「テイラー展開」という文字列が、百科事典データベース、国語事典データベース、建築用語事典データベースのいずれにも登録されていない場合であって、数学用語事典データベースに登録されていると判断された場合には、検索エンジンにおいて検索した結果、ヒット数がしきい値の100件以上である場合に、言葉であると判断する。
【0132】
なお、所与のデータベースに登録されているか否かの判断処理や、検索エンジンのキーワードとして検索する処理においては、管理者が入力した文字列の表記に従うことに注意する。つまり、管理者が入力した文字列が、例えば漢字表記である場合には、その表記にしたがって、所与のデータベースに登録されているか否かの判断処理や、検索エンジンのキーワードとして検索する処理を行う。平仮名表記にして検索すると異なる意味の結果が表示されてしまう恐れがあるからである。例えば、漢字表記の「飴」と入力された場合には、平仮名表記の「あめ」ではなく、漢字表記の「飴」で、データベースに登録されているか否かの判断処理や、検索処理を行う。
【0133】
また、管理者が入力した文字列が言葉であると判定した際には、文字列を辞書に登録する際に、併せて、検索エンジンの検索結果(例えば最も上位にランキングされたWebページの内容)や、データベースに登録されている意味内容を、辞書データのID(文字列)に対応づけて登録してもよい。このようにすれば、言葉だけの追加だけでなく、意味内容も充実させた辞書を作成することができる。
【0134】
(4)複合語を辞書に登録する手法
なお、本実施形態では、辞書に登録されている複数の言葉を組み合わせた複合語を辞書に登録するようにしてもよい。例えば、辞書に「オレンジ」及び、「ジュース」が登録されていても、複合語である「オレンジジュース」が登録されていない場合がある。「オレンジジュース」がプレーヤが作成する可能性のある言葉である場合には、「オレンジジュース」を辞書に登録することが望ましい。
【0135】
したがって、本実施形態では、複数の言葉を組み合わせた複合語が、管理者から入力された文字列と同様に、言葉であるか否かの判断を行い、言葉であると判定される場合に、辞書に登録する処理を行う。例えば、複合語を、検索エンジンの対象として指定して、そのヒット数が所定数以上の場合には、複合語を辞書に登録するようにしてもよい。例えば、「オレンジジュース」の検索結果が、1万件以上を超えている場合には、登録を行うようにしてもよい。また、所与のデータベースに登録されている複合語も辞書に登録するようにしてもよい。
【0136】
なお、複合語を生成する場合には、図6に示すように、辞書に登録されている言葉の表記形をそれぞれ組み合わせて生成する。また、複数の言葉の組み合わせは、順番が異なる場合も考慮して複合語を生成する。例えば、サーバの辞書に「赤」と「飴」が格納されている場合には、それぞれを組み合わせた「赤飴」の複合語と、「飴赤」の複合語を生成し、言葉か否かを判定する。
【0137】
また、組み合わせた複合語の平仮名表記の文字数は、ゲームで使用する文字列の文字数の所定範囲内(2文字以上9文字以下)であることを条件としている。
【0138】
(5)略語を辞書に登録する手法
また、本実施形態では、辞書に登録されている言葉を略した略語を辞書に登録するようにしてもよい。例えば、「シャープペンシル」を略した「シャーペン」という言葉を、プレーヤが作成する可能性が高い場合には辞書に登録することが望ましい。
【0139】
そこで、本実施形態では、辞書に登録されている言葉の略語を生成し、略語を検索エンジンの検索対象として指定し、そのヒット数が所定数以上である場合に、略語を辞書に登録するようにしている。また、所与のデータベースに登録されている略語も辞書に登録するようにしてもよい。
【0140】
本実施形態では、略語は次のように生成している。例えば、辞書に登録されている言葉を、複数の文字数になるように複数分割(例えば2分割)を行い、分割された文字群の各頭文字(1又は複数の文字)を取得し、各頭文字を繋げた文字列を略語として生成する。
【0141】
例えば、「シャープペンシル」を「シャープ」と「ペンシル」に分割した場合であって、分割された文字群の各頭文字を、例えば「シャープ」は「シャー」を頭文字とし、「ペンシル」の「ペン」を頭文字として取得した場合には、各頭文字を繋げて「シャーペン」という略語を生成することができる。
【0142】
(6)プレーヤからの入力情報に基づいて、辞書に言葉を登録する手法
また、本実施形態では、所定条件を満たす場合には、プレーヤからの入力情報に基づいて、辞書に言葉を登録するようにしてもよい。
【0143】
本来ならば、プレーヤが自由に言葉を追加できるとすると、ゲームの難易度が変化したり、ゲームバランスを損なう恐れがあるので好ましくない。しかし、プレーヤは好きな言葉を辞書に登録したいと思う場合がある。そこで、本実施形態では、所定条件を定め、所定条件を満たす場合に限ってプレーヤが辞書に言葉を登録できるようにしている。
【0144】
例えば、本実施形態では、所定数以上、例えば平仮名表記の4文字以上の文字列に限って、プレーヤが登録できるようにしている。例えば、2文字、3文字の文字列からなる言葉をプレーヤが言葉を登録できるとすると、ゲームの難易度に影響を及ぼす恐れがあるが、4文字以上の文字列であれば、ゲームの難易度に与える影響は少ないと考えられるからである。また、同一文字による連続した文字列(例えば、「ああああ」)についても、ゲームの難易度に影響を及ぼす可能性が高いので、辞書への登録はできないように制御している。
【0145】
(7)言葉の使用を制限する機能
本実施形態では、特定の文字列の使用を制限する処理を行っている。例えば、ゲーム秩序を乱すような差別する言葉、公序良俗に反する言葉についてはゲーム中でプレーヤが作成できる作成文字列の対象にしない方が望ましい。
【0146】
ここで、特定の文字列の使用を制限する処理とは、例えば、プレーヤからの入力に基づき特定の文字列を辞書に登録することを禁止する処理や、辞書に登録されている特定の文字列を削除(記憶領域から抹消)する処理である。また、ゲーム中で、プレーヤが言葉として作成することができない文字列に設定する処理も含む。例えば、辞書に登録されている特定の文字列に対応する禁止フラグに基づいて、言葉(登録文字列)の使用制限の有無を判断している。
【0147】
本実施形態では、まず、辞書サーバが、特定文字列の使用を制限する命令をゲーム機に送信する処理を行う。例えば、特定文字列に対応するIDに禁止フラグの値に1を付加したデータをゲーム機に送信する。そして、ゲーム機において、かかるデータを受信した場合には、ゲーム機の辞書において、IDに対応する禁止フラグを1に設定する。そして、ゲーム機でゲーム演算を行う場合には、禁止フラグが1に設定された文字列が生成された場合には、この生成文字列は言葉として作成できない、つまり作成文字列の対象外にする制御を行う。なお、プレーヤは作成を試みた言葉が特定文字列、例えば差別用語であることを認識していない場合があるので、何らかの警告をするようにしてもよい。
【0148】
また本実施形態では、プレーヤからの入力に基づき、辞書に言葉を登録する際には、次の制御を行う。つまり、プレーヤから入力された文字列が、特定文字列である場合には、使用できない文字列であるため、登録できない旨の警告を行う。例えば、プレーヤから入力された文字列が、既に辞書に登録さている禁止フラグが1に設定された特定文字列である場合には、所定条件を満たさない旨の警告を行うようにする。
【0149】
また、時代の変化に応じて、使用が制限されていた言葉が、社会的に問題なく使用されることになる場合がある。かかる場合には、使用制限を解除する処理を行うようにしてもよい。例えば、サーバが、特定文字列の使用を制限する命令を撤回する命令をゲーム機に送信する。具体的には、特定文字列に対応するIDに禁止フラグの値に0(零)を付加したデータをゲーム機に送信する。そして、ゲーム機側では、受信したデータのIDに対応する禁止フラグの値を零に設定する。そしてゲーム機においては、禁止フラグの値が零である場合には、プレーヤが作成することができる言葉の対象の文字列として制御を行う。
【0150】
なお、特定文字列を含む文字列、特定文字列の一部の文字を他の文字に置換した文字列も、使用を制限する対象の文字列としてもよい。例えば、「きちがい」という文字列が差別用語(特定文字列の一例)である場合には、「きちがい」という文字列だけでなく、「あきちがい」という「あ」を付加した文字列についても使用制限をするようにしてもよい。
【0151】
(8)詳細情報の表示
また、本実施形態では、辞書に登録されていると判定されたプレーヤが作成した作成文字列の詳細情報を、所与のデータベースや、検索エンジンを用いて取得して表示する機能を有する。詳細情報とは、作成文字列に関する情報であり、例えば、作成文字列の意味内容、画像データや音声データ、英語(和英)データとすることができる。
【0152】
このようにすれば、プレーヤは作成文字列について深く意味内容を理解することができる。また、インターネットに接続されているWebブラウザを利用してWebサーバ上のハイパーテキスト文書を自由に書き込み、編集ができるシステム(例えばWiki)によって構築された百科事典データベースや、インターネットに接続されている検索エンジンを用いて作成文字列の詳細情報を取得することによって、プレーヤに時代の変化に応じた最新の情報を提供することができる。
【0153】
例えば、図8に示すように、表示画面の第2の領域A2(第2のディスプレイ)において、プレーヤがゲーム中に作成した作成文字列の一覧が表示される。そして、プレーヤが作成文字列を指示して、項目(百科事典、画像検索、Web検索)をチェックして「詳細」を指示した場合に、表示画面の第1の領域A1(第1のディスプレイ)において、詳細情報を表示する。
【0154】
例えば、表示領域A10に作成文字列の意味が表示されるだけでなく、百科辞典データベースに登録されている作成文字列の意味内容を表示領域A11に表示し、作成文字列を画像検索エンジンを用いて検索した検索結果を表示領域A12に表示し、作成文字列をWeb検索エンジンを用いて検索した検索結果を表示領域A13に表示する。
【0155】
より具体的に説明すると、作成文字列が「かば」(漢字表記が「河馬」)である場合には、表示領域A11に、百科辞典のデータベースに登録されている作成文字列「河馬」の意味を表示させる。また、「河馬」をキーワードとして、検索エンジンによる画像検索を行った検索結果(例えばランキングの最上位の画像)を領域A12に表示させる。また、「河馬」をキーワードとして、Web検索エンジンによる検索を行った検索結果(例えばランキングの最上位のWebページの情報)を領域A12に表示させる。なお、本実施形態では、チェックされた項目に関する情報を表示させるようにしている。
【0156】
また、本実施形態では、Web検索エンジンや、画像検索エンジンの検索結果のうち、ランキングの最上位の情報を詳細情報として表示させてもよいし、検索結果一覧を表示させて、プレーヤからの入力情報に基づき選択されたURLのWebページの情報を、詳細情報として表示させるようにしてもよい。
【0157】
また、本実施形態では、詳細情報のデータ容量に応じて表示制御を行うようにしてもよい。例えば、Web検索のランキングの最上位のWebページの情報を取得した場合や、百科事典データベースに登録されている意味を取得した場合には、取得した情報の容量が所定容量(例えば、1キロバイト)以内か否かを判断し、所定容量以内であると判断される場合に、取得した情報を表示させる。なお、所定容量は、検索する対象に応じて設定する。
【0158】
また、予め詳細情報のデータ容量をプレーヤが選択できるようにしてもよい。例えば、詳細情報のデータ容量を200バイト、1キロバイトのうちいずれかの所定容量を選択できるように制御し、選択された所定容量以内の情報を表示させるようにしてもよい。
【0159】
また、百科事典データベースの内容が予想できる場合には、プレーヤが予めデータベースを選択できるように制御してもよい。例えば、第1の百科事典データベースでは端的な意味内容を取得でき、第2の百科事典データベースでは深い意味内容を取得できる場合には、予めプレーヤが第1の百科事典データベース、第2の百科事典データベースのいずれかを選択できるように制御し、選択された百科事典データベースを用いて百科事典データベースに登録されている意味内容を取得する。
【0160】
なお、本実施形態では、進行中のゲームの中断時、進行中のゲームの終了時に、プレーヤが作成した作成文字列の詳細情報を取得し、表示画面に詳細情報を表示している。
【0161】
例えば、図3に示すように、ゲーム中において作成文字列の一覧表示の指示入力を検知すると進行中のゲームを中断(一時停止)させて、図8に示すように、ゲーム中に作成された作成文字列の一覧と共に詳細情報の取得の指示入力を受け付けるようにし、詳細情報を取得して表示する処理を行う。このようにすれば、プレーヤは作成文字列の意味についてじっくり理解することができる。
【0162】
また、本実施形態では、プレーヤが作成した作成文字列の詳細情報を記憶領域に保存してもよい。例えば、一度作成した作成文字列「かば(河馬)」を検索した検索結果の画像や、百科辞典データベースで検索した「かば(河馬)」に関する意味内容を記憶領域に保存する。そして、表示画面において、過去に検索した言葉に対応して詳細情報を再度閲覧できたり、異なるステージにおいて、再度「かば(河馬)」を作成された場合には、かば(河馬)に関する画像や詳細情報を再び表示させるようにしてもよい。このようにすれば、プレーヤは言葉の知識を何度も繰り返し理解することができ、また、友人や知り合いにも見せ合うことができ、さらにゲームの面白みを与えることができる。
【0163】
なお、記憶領域の空き容量に応じて、プレーヤからの操作データに基づいて既に保存されている作成文字列の詳細情報を削除する処理を行うようにしてもよい。また、同一の言葉について、既に詳細情報が記憶されている場合には、最新の情報を上書きして詳細情報を記憶領域に保存するようにしてもよい。
【0164】
本実施形態では、ゲーム機において、公序良俗に反するような反社会的な有害情報を含むWebページの閲覧を排除するための特定の設定がなされている場合には、(例えば、ペアレンタルコントロールが有効に設定されている場合には)、特定の検索エンジンを用いて、詳細情報を表示するように制御してもよい。例えば、ゲーム機のペアレンタルコントロールが有効に設定されている場合には、子供用の検索エンジンを用いたり、子供用の学習用データベースを用いて詳細情報を表示させる。このようにすれば、有害な情報を排除して、作成文字列の意味を理解することができる。
【0165】
なお、本実施形態では、プレーヤが作成した作成文字列を検索エンジンを用いて検索して検索結果を取得する場合や、所与のデータベースに登録されている作成文字列に対応する情報を取得する場合には、完全一致、前方一致、後方一致等の種々の文字列検索手法によって取得する。
【0166】
ここで完全一致とは、文字列検索手法のひとつで、検索語(例えば、作成文字列)と完全に一致する単語やフレーズを探す手法であり、また、前方一致とは、文字列検索手法のひとつで、文字列の先頭が検索語に一致する単語やフレーズを探す手法であり、また、後方一致とは、文字列検索手法のひとつで、文字列の後方が検索語に一致する単語やフレーズを探す手法である。
【0167】
例えば、プレーヤの操作データに基づいて、完全一致、前方一致、後方一致のいずれかの文字列検索手法が選択され、選択された文字列検索手法によって、作成文字列を検索エンジンを用いて検索し検索結果を取得するようにしてもよい。このようにすれば、プレーヤの入力に適した検索結果を抽出することができる。
【0168】
同様に、プレーヤの操作データに基づいて、完全一致、前方一致、後方一致のいずれかの文字列検索手法が選択され、選択された文字列検索手法によって、所与のデータベース(百科事典データベース等)にアクセスして作成文字列に対応する情報(意味等)を取得するようにしてもよい。
【0169】
また、本実施形態では、AND検索(論理積)や、OR検索(論理和)によって、複数の作成文字列を検索エンジンを用いて検索するようにしてもよい。
【0170】
例えば、プレーヤからの入力情報に基づき選択された複数の作成文字列である「河馬」と「動物園」とをキーワードとしてAND検索を行い、検索結果のランキングの最上位の情報を取得して表示する処理を行う。
【0171】
このようにすれば、プレーヤが「河馬」という言葉を作るだけでなく、AND検索条件に追加される検索キーワード(例えば、「動物園」)を作成しようとする動機が生じることになる。つまり、言葉を単に作るだけでなく、検索するためのキーワードを作るという動機をプレーヤに与えることができ、ゲームの面白味を増大させることができる。
【0172】
また、本実施形態では、所定条件を満たした場合に、作成文字列の詳細情報を取得する機能を有効にしてもよい。
【0173】
例えば、ステージにおいて、言葉を作ることによって蓄積される得点が、予め設定された目標得点より上回った場合に、詳細情報を取得できるようにしてもよい。例えば、本実施形態では、ゲーム開始時に得点は0点に設定され、言葉を作るたびに所定の点数(例えば、20点)が得点に加算される。また、1つのマスに選択文字群から選択された文字を置くことによって、2以上の言葉を連鎖的に作成できた場合には、1つの言葉につき高得点(例えば、100点)が得点に加算される。したがって、得点が、目標得点を超えるようにゲームをプレイするという動機をプレーヤに更に与えることができる。
【0174】
また、所定数以上(例えば50以上)のステージ、或いは全ステージをクリアできた場合に、特典として、作成文字列の詳細情報を取得し表示する機能を有効にできるようにしてもよい。
【0175】
(9)本実施形態の処理
次に、辞書サーバに新たな文字列を追加する例を図9のフローチャートを用いて説明する。まず、管理者が入力した文字列を受け付ける処理を行う(ステップS10)。次に、受け付けた文字列が既に辞書に登録されているか否かを判断する(ステップS11)。受け付けた文字列が辞書に既に登録されていない場合には(ステップ11のNo)、次に、文字列の文字数(例えば、ひらがな表記の文字列の文字数)が所定範囲内(例えば、2文字以上9文字以下)であるか否かを判断する(ステップS12)。文字数が所定範囲内であると判断されると(ステップS12のYes)、文字列が所与のデータベース(例えば、百科事典データベース)に登録されているか否かを判断する(ステップS13)。
【0176】
文字列が所与のデータベースに登録されている場合には(ステップS13のYes)、文字列を検索する処理を行う(ステップS14)。
【0177】
そして、検索結果のヒット数が所定数以上(例えば、1万件以上)であるか否かを判断する(ステップS15)。ヒット数が所定数以上である場合には(ステップS15のYes)、辞書に文字列を登録する処理を行う(ステップS16)。
【0178】
なお、受け付けた文字列が辞書に既に登録されている場合(ステップS11のYes)、文字数が所定範囲内でない場合(ステップS12のNo)、文字列が所与のデータベースに登録されていない場合には(ステップS13のNo)、検索結果のヒット数が所定数以上でない場合には(ステップS15のNo)処理を終了する。
【図面の簡単な説明】
【0179】
【図1】本実施形態のゲーム機の機能ブロック図。
【図2】本実施形態のサーバの機能ブロック図。
【図3】本実施形態の概要を説明するための図。
【図4】本実施形態の概要を説明するための図。
【図5】本実施形態の辞書データの一例。
【図6】本実施形態のゲームシステムの一例。
【図7】本実施形態のヒット数のしきい値を説明するための図。
【図8】本実施形態の詳細情報を取得する手法についての説明図。
【図9】本実施形態のフローチャート図。
【符号の説明】
【0180】
100 処理部、110 ゲーム演算部、
110a 文字列判定部、110b クリア条件判定部、
111 通信制御部、112 辞書データ制御部、
116 表示制御部、
117 詳細情報取得部、
120 描画部、130 音生成部、160 操作部、170 記憶部、
172 主記憶部、174 描画バッファ、
176 辞書データ記憶部、
180 情報記憶媒体、190 表示部、
192 音出力部、196 通信部、
200 処理部、
210 受け付け部、211 判断部、
212 通信制御部、213 辞書データ制御部、
214 検索処理部、215 データベース判断部、
216 複合語生成部、217 略語生成部、
260 操作部、
270 記憶部、272 主記憶部、274 辞書データ記憶部、
280 情報記憶媒体、296 通信部

【特許請求の範囲】
【請求項1】
ゲーム機のためのプログラムであって、
登録文字列によって構成される辞書データを記憶する記憶部と、
プレーヤからの入力情報に基づき、ゲーム空間における予め用意された複数の文字から文字を選択して構成される生成文字列が、辞書データに登録されている登録文字列に合致するか否かを判定するゲーム演算を行うゲーム演算部と、
検索エンジン及び所与のデータベースの少なくとも一方を用いて前記生成文字列の詳細情報を取得する詳細情報取得部と、
前記生成文字列に関連付けて前記詳細情報を表示部に表示させる処理を行う表示制御部として、コンピュータを機能させることを特徴とするプログラム。
【請求項2】
請求項1において、
前記詳細情報取得部が、
プレーヤからの入力情報に基づき選択された検索エンジン及び所与のデータベースの少なくとも一方を用いて前記生成文字列の詳細情報を取得することを特徴とするプログラム。
【請求項3】
請求項1又は2において、
前記表示制御部が、
前記生成文字列に対応する複数種類の詳細情報のうちプレーヤからの入力情報に基づき選択された種類の詳細情報を表示させる処理を行うことを特徴とするプログラム。
【請求項4】
請求項1〜3のいずれかにおいて、
前記詳細情報取得部が、
ゲーム機の特定機能が有効である場合には、常に当該特定機能に応じた特定の検索エンジン及び当該特定機能に応じた特定のデータベースの少なくとも一方を用いて、前記生成文字列の詳細情報を取得する処理を行うことを特徴とするプログラム。
【請求項5】
請求項1〜4のいずれかにおいて、
前記生成文字列の詳細情報を、前記生成文字列と同一の登録文字列に対応づけて前記辞書データに登録する辞書データ制御部として、コンピュータを更に機能させ、
前記表示制御部が、
プレーヤからの入力情報に基づいて、前記詳細情報を表示させることを特徴とするプログラム。
【請求項6】
請求項1〜5のいずれかにおいて、
前記表示制御部が、
進行中のゲームの中断時、進行中のゲームの終了時の少なくとも1つのタイミングで、前記詳細情報を表示させることを特徴とするプログラム。
【請求項7】
請求項1〜6のいずれかにおいて、
前記詳細情報取得部が、
辞書データに登録されている登録文字列に合致すると判定された前記生成文字列に限って、前記生成文字列の詳細情報を取得することを特徴とするプログラム。
【請求項8】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項1〜7のいずれかに記載のプログラムを記憶していることを特徴とする情報記憶媒体。
【請求項9】
登録文字列によって構成される辞書データを記憶する記憶部と、
プレーヤからの入力情報に基づき、ゲーム空間における予め用意された複数の文字から文字を選択して構成される生成文字列が、辞書データに登録されている登録文字列に合致するか否かを判定するゲーム演算を行うゲーム演算部と、
検索エンジン及び所与のデータベースの少なくとも一方を用いて前記生成文字列の詳細情報を取得する詳細情報取得部と、
前記生成文字列に関連付けて前記詳細情報を表示部に表示させる処理を行う表示制御部とを含むことを特徴とするゲーム機。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−201758(P2009−201758A)
【公開日】平成21年9月10日(2009.9.10)
【国際特許分類】
【出願番号】特願2008−47617(P2008−47617)
【出願日】平成20年2月28日(2008.2.28)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】