【文献】
小林亜令,"多芸な新画像形式「SVG」がケータイに載る モバイル版の登場で用途拡大",NE 日経エレクトロニクス9月23日号,日本,日経BP社,2002年 9月23日,第831号,p.169−178,(特に、第171−172,174頁)
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための最良の形態】
【0011】
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本実施形態における携帯電話機1(携帯端末)の構成を示すブロック図である。なお、本発明の携帯端末は、携帯電話機1だけでなく、その他の携帯機器に適用することも可能である。
【0012】
図1に示すように、携帯電話機1は、電話網やインターネットなどを含むネットワーク2を介して、他のモバイル端末3との通信(音声通話やデータ通信)、あるいは各種コンテンツを提供するサーバ4との通信が可能である。サーバ4は、携帯電話機1において実行可能なゲームプログラムを提供(ダウンロード)するサービスを提供する。
【0013】
図1に示すように、携帯電話機1には、制御部10、表示部11、入力部12、サウンド部13、通信部14、ROM15、RAM16、外部メディアスロット17、モーションセンサ19が設けられている。
【0014】
制御部10は、携帯電話機1全体の制御を司るもので、CPUによりROM15及びRAM16に記憶されたプログラムを実行することにより各種機能を実現する。制御部10は、RAM16に記憶されたゲームプログラム16aを実行することで、ゲームを実行させるゲームアプリケーション部20の機能を実現する。また、制御部10には、表示部11におけるディスプレイのサイズを示す画面サイズデータ22が設定されているものとする。
【0015】
ゲームアプリケーション部20には、言語設定部20a、ラインデータ初期化部20b、ラインデータ変換部20c、及びゲーム処理部20d、ライン描画部20eの各機能が設けられる。
【0016】
言語設定部20aは、ゲーム中で使用される文字の言語をユーザからの指定に応じて設定する。言語設定部20aは、ユーザから指定された言語を示す表示対象言語データ16bをRAM16に記憶させる。
【0017】
ラインデータ初期化部20bは、ライン描画部20eによってゲーム用の画面を表示するために用いられるゲーム用ラインデータを生成する(ラインデータ生成手段)。ラインデータ初期化部20bは、例えば予めゲームプログラム16aに設定されたゲーム画面中で表示されるオブジェクト(プレイヤキャラクタA、ターゲットアイテムB、妨害キャラクタCなど)に対するラインデータ(例えば、ラインの始点/終点の座標データ、ベクトルデータにより示す)を携帯電話機1のスペックに応じて変換することで自機において実行されるゲーム用のラインデータ(ゲーム画面ラインデータ16a1、キャラクタ用ラインデータ16a3)を生成する。例えば、ラインデータ初期化部20bは、画面サイズデータ22をもとにディスプレイサイズを判別し(画面サイズ判別手段)、このディスプレイサイズに応じて予め用意されたラインデータを変換する(変換手段)。また、ラインデータ初期化部20bは、ゲーム中で使用される文字の言語を例えばユーザ指定に応じて設定し(言語設定手段)、この設定した言語に応じてゲーム用の画面中で使用される文字を表すラインデータ(文字用ラインデータ16a2)を生成する(生成手段)。
【0018】
ラインデータ変換部20cは、ゲーム実行中にゲーム進行に合わせたゲーム画面を表示するために、例えば入力部12に設けられた所定のボタンやモーションセンサ19(入力手段)により入力されるデータに応じて、ラインデータ初期化部20bによって生成されたゲーム用ラインデータ(ゲーム画面ラインデータ16a1、文字用ラインデータ16a2、キャラクタ用ラインデータ16a3)による表示位置を変換する。
【0019】
ゲーム処理部20dは、入力部12に設けられた所定のボタンやモーションセンサ19(入力手段)により入力されるデータに応じてラインデータ変換部20cによりゲーム用ラインデータを変換させて、ディスプレイにゲーム画面を表示させながらゲームの進行を制御
する。
【0020】
ライン描画部20eは、ラインデータをもとにディスプレイにラインを描画するもので、ゲーム処理部20dの制御のもとで、各ゲーム用ラインデータをもとにディスプレイにラインを描画することによりゲーム用画面を表示させることができる。ライン描画部20eは、ラインデータをもとにラインを描画するだけで、ゲームアプリケーション部20により実行されるゲームに依存しないでゲーム用の画面を表示させることができる。
【0021】
表示部11は、制御部10の制御のもとで、ディスプレイにおいて映像、静止画像、テキストなどを表示させる。本実施形態における携帯電話機1においてゲームプログラム16aによりゲームを実行する場合には、ライン(例えば直線、単純な曲線)のみによってゲーム用の画面が表示される。
【0022】
入力部12は、ユーザからの入力操作を受け付けるもので、複数のボタンが設けられている。複数のボタンには、電話としての機能を実行するための複数の数字ボタン、発呼ボタン、切断ボタンなどの他、上下左右方向を指示するための十字ボタン、選択実行を指示するためのするための選択実行ボタン、各種機能に対応する機能ボタンなどが含まれる。ゲームを実行する場合には、例えば上下左右方向を指示するために十字ボタン、あるいは予め決められた所定の数字ボタンが操作されるものとする。
【0023】
サウンド部13は、制御部10の制御のもとで音声を出力させる。サウンド部13は、入力部12の操作に応じた操作音の他、ゲーム実行中には効果音やBGM音声などを出力する。
【0024】
通信部14は、制御部10の制御のもとで、ネットワーク2を通じて、モバイル端末3やサーバ4との通信を制御する。
【0025】
ROM15は、携帯電話機1に予め搭載された基本機能(音声通話等)を制御するためのプログラムやデータが記憶されている。
【0026】
RAM16は、通信部14によりダウンロードされたプログラムや各種データ、あるいは外部メディアスロット17を通じて外部メディア18から読み出されたプログラムやデータなどが記憶される。本実施形態では、サーバ4からダウンロードされたゲームプログラム16aが記憶される。ゲームプログラム16aには、ゲーム中にディスプレイにおいてゲーム画面を表示するためのゲーム画面ラインデータ16a1、文字用ラインデータ16a2、キャラクタ用ラインデータ16a3などが含まれる。また、RAM16には、ゲーム開始時によりユーザにより指定されたゲームで使用する言語を示す表示対象言語データ16bが記憶される。
【0027】
外部メディアスロット17は、外部メディア18を着脱させるためのユニットであり、制御部10による外部メディア18に対するデータの読み書きを仲介する。外部メディア18は、外部メディアスロット17に着脱自在に構成された記憶媒体である。外部メディア18を介して、他の情報機器との間でプログラムやデータを受けわたすことができる。
【0028】
モーションセンサ19は、携帯電話機1の姿勢を検知するセンサである。ゲーム実行中では、モーションセンサ19により検知された姿勢を示すデータは、ゲーム画面に表示されるラインの表示位置を変換するために利用される。
【0029】
次に、本実施形態における携帯電話機1により実行されるゲームの一例について説明する。
図2には、ゲーム実行時の基本画面の例を示している。
図2に示すように、本実施形態における携帯電話機1により実行されるゲームでは、ゲーム画面がライン描画部20eにより表示可能なラインのみによって生成されている。
【0030】
図2は、ボール状(画面中では円形)のプレイヤキャラクタAをボタンなどの操作によってゲームフィールド上で移動させながら、プレイヤキャラクタAの移動経路上に現れる星型(スター)のターゲットアイテムBを獲得していくゲーム用の画面例を示している。ゲーム経路(ゲームフィールド)には、ターゲットアイテムBだけでなく妨害キャラクタC(ウニウニ)が表示される。ゲームは、妨害キャラクタCを避けながらプレイヤキャラクタAを移動させて、制限時間内に予め決められた数のプレイヤキャラクタAを獲得できた場合にステージクリアとなる。
【0031】
また、ゲーム画面には、制限時間の残りを示す残り制限時間Dと、プレイヤキャラクタAに獲得したターゲットアイテムBの数を示すスター獲得数/総数Eが表示される。
【0032】
ゲーム画面中に表示されるオブジェクトA〜C、及びゲーム経路を表すラインは、ライン描画部20eにより表示されるラインデータの組み合わせにより表されている。また、残り制限時間Dとスター獲得数/総数Eを表す文字についても、予め用意されているフォントデータではなく、ライン描画部20eにより表示されるラインデータの組み合わせにより表されている。
【0033】
なお、
図2に示す例では、プレイヤキャラクタAを単純なライン(円形)によるオブジェクトとしているが、例えば
図3に示すように、予めプレイヤキャラクタとして使用するオブジェクトのキャラクタ用ラインデータ16a3を設定することにより、プレイヤキャラクタAのみ特別なオブジェクトとすることもできる。キャラクタ用ラインデータ16a3は、他のオブジェクトB,Cなどより複雑なプレイヤキャラクタAを例えば複数のラインの組み合わせによって表現する。
【0034】
キャラクタ用ラインデータ16a3は、例えばゲームプログラム16aにおいて設定されていても良いし、ゲームプログラム16aをサーバ4からダウンロードする場合に、予め用意された複数のキャラクタからユーザが何れかを選択することにより設定されるようにしても良い。
【0035】
図4には、ゲーム画面中に表示されるオブジェクトを直線のラインデータにより表す場合のデータ変換について示している。
例えば、
図4(a)に示すように、曲線を含むオブジェクトを表現する場合には、
図4(b)に示すように、複数の直線ラインの組み合わせにより表現するようにしても良い。直線ラインのみによってゲーム画面を表示することにより、ライン描画部20eは、直線のみが描画可能であれば良い。
図4(b)に示すように、例えば、各直線ラインの始点と終点の座標データをラインデータとすることにより、各ラインの始点と終点の座標を変換する演算のみで、
図4(c)に示すように、簡単にオブジェクトを変形することができる。
【0036】
図5には、ゲーム画面中に表示される文字をラインデータにより表現する場合のデータ変換について示している。
例えば、
図5(a)に示すように、一般のゲームのゲーム画面で使用されるフォントを、ライン描画部20eによって描画可能なラインの組み合わせによって表す。
図5(b)に示す例では、直線ラインのみによって漢字の文字「中文」を表現している。
【0037】
図6(a)には、各国の言語の文字をラインのみによって表示する例を示している。
図6(a)に示す例では、直線と単純な曲線の組み合わせにより文字を表現している。ライン描画部20eが曲線を描画可能であれば、
図6(b)に示すように、直線と曲線の組み合わせにより文字を表現することができる。
図6(b)に示す例では、日本語のカタカナを直線ラインのみによって表現している。
【0038】
次に、本実施形態における携帯電話機1において実行されるゲームアプリケーション処理の動作について、
図7に示すフローチャートを参照しながら説明する。
入力部12からゲーム開始が指示されると、制御部10は、ゲームプログラム16aを実行することによりゲームアプリケーション部20を起動する。
【0039】
まず、言語設定部20aは、ゲーム中で使用される文字の言語をユーザにより指定させるために、言語設定画面を表示部11のディスプレイにおいて表示させる(ステップA1)。言語設定画面では、複数の言語が一覧表示されているものとする。
【0040】
入力部12の所定のボタン操作によりユーザが何れかの言語を指定すると(ステップA2)、言語設定部20aは、この指定に応じて表示対象言語データ16bをRAM16に記憶させることにより表示対象言語を設定する(ステップA3)。
【0041】
次に、ラインデータ初期化部20bは、制御部10に設定された画面サイズデータ22を取得して(ステップA4)、ゲーム画面ラインデータ16a1を画面サイズデータ22が示す画面サイズに応じて変換する(ステップA5)。
【0042】
図8は、ゲーム画面ラインデータ16a1の画面サイズに応じた変換を説明するための図である。
図8(a)は、ゲームプログラム16aにおいて予め設定されているゲーム画面ラインデータ16a1により表示されるゲーム画面(標準の画面サイズ)の一例を示している。
図8(b)(c)(d)は、画面サイズが異なる種類の携帯電話機1を示している。
【0043】
例えば、
図8(b)に示す携帯電話機1は、標準の画面サイズより横長の画面サイズを有している。このため、
図8(b)の携帯電話機1により実行されるゲームアプリケーション部20は、ゲーム画面ラインデータ16a1を横長の画面に表示されるように変換する。
【0044】
図8(c)に示す携帯電話機1は、標準の画面サイズより小さい画面サイズを有している。このため、
図8(c)の携帯電話機1により実行されるゲームアプリケーション部20は、ゲーム画面ラインデータ16a1を標準よりも小さい画面に表示されるように変換する。
【0045】
また、
図8(d)に示す携帯電話機1は、ディスプレイの向きを90度変更することができる構造を有している。すなわち、ディスプレイの向きによって画面を横長あるいは縦長にすることができる。こうした機種に対応するために、ゲームアプリケーション部20には、ディスプレイの向きを検知して、その向きに応じてゲーム画面ラインデータ16a1を変換する機能を設けても良い。
【0046】
また、ラインデータ初期化部20bは、ユーザ指定により設定された表示対象言語データ16bが示す表示対象言語に応じて、ゲーム用の画面中で使用される文字を表すラインデータ(文字用ラインデータ16a2)を生成する。例えば、ゲームプログラム16aには、ゲーム中で使用される各文字に対するラインデータを各言語のそれぞれについて予め用意しておく。ラインデータ初期化部20bは、表示対象言語データ16bに対応する言語用のラインデータを、ゲーム画面中で使用する各文字のラインデータとして設定する。ラインデータは、データ量が少ないため、複数の言語について各文字のラインデータを用意していたとしても、メモリ容量が少なくても実装可能である。また、ラインデータ初期化部20bは、表示対象言語データ16bに応じて設定された文字用ラインデータ16a2を、ゲーム画面ラインデータ16a1と同様にして、画面サイズデータ22が示す画面サイズに応じて変換する(ステップA6)。
【0047】
なお、キャラクタ用ラインデータ16a3がゲームプログラム16aに設定されている場合には、キャラクタ用ラインデータ16a3についても同様にして、ディスプレイのサイズに応じて変換しておくものとする。
【0048】
こうして、ラインデータ初期化部20bによって、画面サイズデータ22が示す画面サイズに応じて、ゲーム画面を表示するために必要なゲーム画面ラインデータ16a1と文字用ラインデータ16a2(さらにはキャラクタ用ラインデータ16a3)が生成されると、ゲームを開始する(ステップA7)。ゲーム処理部20dは、ユーザ操作に応じて入力されるデータに応じてゲームを進行させる。
【0049】
ここで、ゲームアプリケーション部20により実行される具体的なゲームの内容について説明する。
図9には、ゲーム実行時の携帯電話機1の表示画面例を示している。
本実施形態におけるゲームアプリケーション部20により実行されるゲームは、ゲーム画面中に表示されるプレイヤキャラクタAを、ラインで表されているゲームフィールド上で回転させることによりターゲットアイテムBに誘導し、制限時間内に予め決められた数のターゲットアイテムBを回収させるゲームである。
【0050】
ゲームモードは、ステージを順にクリアしていく「ノーマルゲーム」の他、進行状況に応じて、クリアタイムを最短にすることを競う「タイムアタック」や、ユーザが好みのステージをデザインすることができる「ステージエディト」などを選択できるようにむしても良い。
【0051】
図9(a)に示す携帯電話機1では、例えば十字ボタン30、あるいは複数の数字ボタン32のうち左側に配置されている「4」ボタンと右側に配置されている「6」ボタンがゲームに使用されるものとする。十字ボタン30の左方向あるいは「4」ボタンが押された場合にはゲームフィールドを左回転させ、十字ボタン30の右方向あるいは「6」ボタンが押された場合にはゲームフィールドを右回転させる指示を入力することができる。
【0052】
図9(a)に示すゲーム画面では、ゲームフィールドを表す線が水平(平坦)となっている。この場合、ゲーム処理部20d、プレイヤキャラクタAを、その場で小さなバウンドを繰り返すように表示させる。また、ゲーム処理部20dは、妨害キャラクタCをゲーム画面中でランダムに移動させ、ターゲットアイテムBを適当なタイミングで発生させる。
【0053】
ここで、例えば十字ボタン30の右方向、あるいは「6」ボタンが押された場合(ステップA8、Yes)、ゲーム処理部20dは、ゲームフィールドを表すラインが右に傾斜し、プレイヤキャラクタAが傾斜に合わせて転がるように、ラインデータ変換部20cによってゲーム画面ラインデータ16a1を変換させ、この変換されたゲーム画面ラインデータ16a1をもとにゲーム画面を表示させる。
【0054】
ゲーム画面中では、プレイヤキャラクタAを常に画面の中央付近に表示し、ゲームフィールドを表すラインを変化させることにより、プレイヤキャラクタAがゲームフィールド上で転がっているように表示する。
【0055】
プレイヤキャラクタAがゲームフィールド上を転がり、ターゲットアイテムBに接触することにより回収することができる。ゲーム処理部20dは、プレイヤキャラクタAとターゲットアイテムBが接触すると、ターゲットアイテムBを回収されたことを表すように、
図9(b)に示すように、派手に飛び散るように表示する(ステップA10)。また、ゲーム処理部20dは、ターゲットアイテムBが回収されたことにより、スター獲得数/総数Eを表す文字を更新する。すなわち、
図9(a)(b)に示す例では、数字3の文字用ラインデータ16a2に代えて、数字4の文字用ラインデータ16a2による表示に切り替える。また、ゲーム処理部20dは、ゲームが開始されてからの経過時間を計時し、時間の経過に合わせて残り制限時間Dを表す文字の表示を切り替えている。
【0056】
同様にして、さらに十字ボタン30の右方向、あるいは「6」ボタンが押されると(ステップA8、Yes)、ゲーム処理部20dは、
図9(c)に示すように、さらにゲームフィールドを表すラインを右に傾斜させる。これにより、次のターゲットアイテムBの方向にプレイヤキャラクタAが誘導される。プレイヤキャラクタAがターゲットアイテムBに接触されると、ターゲットアイテムBが回収されてスター獲得数/総数Eが更新される(ステップA8〜A10)。
【0057】
以下、同様にして、次々とターゲットアイテムBが回収され、全て(総数(ノルマ))のターゲットアイテムBが回収されるとステージクリアとなる(ステップA11、Yes)。
【0058】
なお、プレイヤキャラクタAが移動中に妨害キャラクタCと接触した場合には、ゲーム処理部20dは、ペナルティとして、プレイヤキャラクタAの動きを一定時間、鈍くなったように表示させる。こうして、妨害キャラクタCを設けて難易度に変化を与えることによって、ゲーム性を向上させることができる。
【0059】
なお、前述した説明では、入力部12に設けられたボタン操作によりゲームを制御するとしているが、モーションセンサ19が設けられた携帯電話機1の場合には、モーションセンサ19により検出される携帯電話機1の姿勢に応じてゲーム画面を変換してゲームを制御することも可能である。
【0060】
図10には、モーションセンサ19からの入力に応じてゲーム画面を変化させる例を示している。
図10に示す例では、ディスプレイをユーザ側に向けた状態で、携帯電話機1を図中の矢印方向に回転させることにより姿勢を変化させるものとする。ゲーム処理部20dは、モーションセンサ19により検知される携帯電話機1の姿勢に応じて、ゲームフィールドの傾斜を変化させる。すなわち、ゲーム画面中の残り制限時間Dとスター獲得数/総数Eについては、携帯電話機1の姿勢に関係なく、常に垂直方向(重力方向)に合わせて表示し、ゲームフィールドを表すラインについては、携帯電話機1の姿勢の変化に合わせて傾斜させる。
【0061】
こうして、ボタン操作だけでなく、モーションセンサ19を用いることで操作性に変化を与えることが可能となる。
【0062】
なお、モーションセンサ19が設けられた携帯電話機1の場合には、ゲームをボタン操作により制御するか、モーションセンサ19を用いて制御するかをユーザが任意に選択できるようにしても良い。
【0063】
このようにして、本実施形態における携帯電話機1(ゲームプログラム16a)では、ライン描画部20eによって表示可能なラインのみによるゲーム画面を用いてゲームを実行することができる。ライン描画だけであれば、スペックに関係なく低機能な機種から最新式の高機能な機種まで様々な機種の携帯電話機1において同様にしてゲームを実行させることができる。
【0064】
さらに、ゲームで使用される文字についてもライン描画部20eによって表示可能なラインのみによって表示可能であり、ユーザにより指定された言語に応じたラインによる文字をゲーム画面で表示することができるので、携帯電話機1に予め搭載されている言語セットに関係なく、ゲームを実行することができる。
【0065】
従って、携帯電話機1のスペックや言語セットに応じた、それぞれの機種に対応したゲームプログラムを開発する必要がなく、ゲーム開発の負担を大幅に軽減することが可能となる。
【0066】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【0067】
また、実施形態に記載した手法は、コンピュータに実行させることができるプログラム(ソフトウエア手段)として、例えば磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD−ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ等)等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、コンピュータに実行させるソフトウエア手段(実行プログラムのみならずテーブルやデータ構造も含む)をコンピュータ内に構成させる設定プログラムをも含む。本装置を実現するコンピュータは、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、コンピュータ内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。