図面 (/)

技術 プログラム、処理方法、および情報端末装置

出願人 株式会社コロプラ
発明者 上山真一
出願日 2017年9月28日 (2年1ヶ月経過) 出願番号 2017-189005
公開日 2019年4月25日 (6ヶ月経過) 公開番号 2019-066958
状態 特許登録済
技術分野 デジタル計算機のユーザインターフェイス 電子ゲーム機 イメージ処理・作成 位置入力装置
主要キーワード 接近操作 方向区分 レーティング値 形状条件 Y座標 操作時処理 装着対象物 情報出力機器
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年4月25日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

記憶容量および制御負担が増大してしまうことを防止できる技術を提供する。

解決手段

スワイプ操作におけるタッチ座標を1/30秒毎にフレーム領域に記憶し、最初のタッチ座標から各タッチ座標までの直線距離閾値を超えたときにその超えたタッチ座標をチェックポイント座標として格納した後フレーム領域を初期化する。記憶されているチェックポイント座標と次に記憶されたチェックポイント座標とにより定まる方向ベクトルを特定し、予め複数に区分された方向領域の何れに方向ベクトルが属するか判定して属する方向区分を格納するとともに方向領域の差分を算出して格納する。格納されたチェックポイント座標や方向差分などに基づいて予め定められた形状に対応付けられた形状条件を満たすか否かを判定することにより、スワイプ操作が当該予め定められた形状に属するかの判別を行い、判別された形状に応じたゲーム処理を行う。

概要

背景

従来、入力装置としてタッチパネルを用いた情報処理装置の一例として、タッチパネル等へのタッチ操作により描かれた軌跡ゲーム操作として用いるゲーム装置があった。より具体的には、ゲーム操作に用いる図形を特定するためのデータを予め記憶しておき、当該データとタッチ操作により描かれた軌跡とのパターンマッチングを行って類似度を算出し、描かれた軌跡に最も近い図形を特定し、当該図形に対応したゲーム処理を行うものがあった(特許文献1)。

概要

記憶容量および制御負担が増大してしまうことを防止できる技術を提供する。スワイプ操作におけるタッチ座標を1/30秒毎にフレーム領域に記憶し、最初のタッチ座標から各タッチ座標までの直線距離閾値を超えたときにその超えたタッチ座標をチェックポイント座標として格納した後フレーム領域を初期化する。記憶されているチェックポイント座標と次に記憶されたチェックポイント座標とにより定まる方向ベクトルを特定し、予め複数に区分された方向領域の何れに方向ベクトルが属するか判定して属する方向区分を格納するとともに方向領域の差分を算出して格納する。格納されたチェックポイント座標や方向差分などに基づいて予め定められた形状に対応付けられた形状条件を満たすか否かを判定することにより、スワイプ操作が当該予め定められた形状に属するかの判別を行い、判別された形状に応じたゲーム処理を行う。

目的

本開示は、記憶容量および制御負担が増大してしまうことを防止できる技術を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

プロセッサメモリタッチ操作受け付ける入力部、および表示部を備えるコンピュータにおいて実行されるプログラムであって、前記プログラムは、前記プロセッサに、前記入力部に対するスワイプ操作を受け付けている場合に、予め定められた記憶条件成立する毎に当該スワイプ操作におけるタッチ操作の位置を前記メモリに記憶する第1の記憶ステップと、前記第1の記憶ステップにより記憶された位置と前回記憶された位置とにより定まる方向を特定する特定ステップと、予め複数に区分された方向区分のうち、前記特定ステップにより特定された方向が属する方向区分を前記メモリに記憶する第2の記憶ステップと、前記スワイプ操作を受け付けることにより前記メモリに記憶された位置と方向区分とに基づいて予め定められた形状に対応付けられた形状条件を満たすか否かを判定することにより、前記スワイプ操作が当該予め定められた形状に属するかの判別を行う判別ステップと、前記判別ステップの判別結果に応じた処理を実行する実行ステップとを実行させる、プログラム。

請求項2

前記形状条件は、前記スワイプ操作の終了位置が当該スワイプ操作の開始位置から予め定められた範囲内の位置であることにより成立する条件を含む、請求項1に記載のプログラム。

請求項3

前記形状条件は、前記第2の記憶ステップにより記憶された方向区分が前回記憶された方向区分と同じである割合が予め定められた割合未満であることにより成立する条件を含む、請求項1または請求項2に記載のプログラム。

請求項4

前記メモリに記憶する位置は、前記入力部の入力面におけるX軸方向の座標位置とY軸方向の座標位置とを含み、前記形状条件は、前記スワイプ操作の前記X軸方向における最小値から最大値までの距離および前記Y軸方向における最小値から最大値までの距離各々が予め定められた距離以上であることにより成立する条件を含む、請求項1〜請求項3に記載のプログラム。

請求項5

前記メモリに記憶する位置は、前記入力部の入力面におけるX軸方向の座標位置とY軸方向の座標位置とを含み、前記予め定められた形状は、円形状を含み、前記円形状に対応付けられた形状条件は、前記スワイプ操作の終了位置が当該スワイプ操作の開始位置から予め定められた範囲内の位置であり、前記第2の記憶ステップにより記憶された方向区分が前回記憶された方向区分と同じである割合が予め定められた割合未満であり、前記スワイプ操作の前記X軸方向における最小値から最大値までの距離および前記Y軸方向における最小値から最大値までの距離各々が予め定められた距離以上であることにより成立する条件を含み、前記判別ステップは、前記スワイプ操作を受け付けることにより前記メモリに記憶された位置と方向区分とに基づいて前記円形状に対応付けられた形状条件を満たすと判定することにより、前記スワイプ操作が前記円形状に属する旨の判別を行う、請求項1に記載のプログラム。

請求項6

前記形状条件は、複数種類の形状各々に対応付けられた条件であり、前記実行ステップは、前記複数種類の形状のうち前記判別ステップにより判別された形状に応じて異なる処理を実行する、請求項1〜請求項5のいずれかに記載のプログラム。

請求項7

前記複数種類の形状のうちの第1の形状および第2の形状各々に対応付けられた形状条件は、ともに、前記スワイプ操作の終了位置が当該スワイプ操作の開始位置から予め定められた範囲内の位置であることにより成立する条件を含む、請求項6に記載のプログラム。

請求項8

前記判別ステップは、前記スワイプ操作を受け付けている場合であっても当該スワイプ操作におけるタッチ操作の位置が予め定められた時間に亘り変化していないときには前記判別を行わない、請求項1〜請求項7のいずれかに記載のプログラム。

請求項9

前記判別ステップは、前記スワイプ操作を受け付けている場合であっても当該スワイプ操作を受け付けることにより記憶された位置の個数閾値を超えたときには前記判別を行わない、請求項1〜請求項8のいずれかに記載のプログラム。

請求項10

前記記憶条件は、前記スワイプ操作におけるタッチ操作の移動距離が閾値を超える毎に成立する条件を含む、請求項1〜請求項9のいずれかに記載のプログラム。

請求項11

前記予め複数に区分された方向区分は、前記入力部の入力面におけるX軸の正方向を包含する第1の方向区分と、前記X軸の負方向を包含する第2の方向区分と、Y軸の正方向を包含する第3の方向区分と、前記Y軸の負方向を包含する第4の方向区分と、前記第1の方向区分と前記第3の方向区分との間の方向を包含する第5の方向区分と、前記第3の方向区分と前記第2の方向区分との間の方向を包含する第6の方向区分と、前記第3の方向区分と前記第4の方向区分との間の方向を包含する第7の方向区分と、前記第4の方向区分と前記第1の方向区分との間の方向を包含する第8の方向区分とを含む、請求項1〜請求項10のいずれかに記載のプログラム。

請求項12

プロセッサ、メモリ、タッチ操作を受け付ける入力部、および表示部を備えるコンピュータにより実行される処理方法であって、前記入力部に対するスワイプ操作を受け付けている場合に、予め定められた記憶条件が成立する毎に当該スワイプ操作におけるタッチ操作の位置を前記メモリに記憶する第1の記憶ステップと、前記第1の記憶ステップにより記憶された位置と前回記憶された位置とにより定まる方向を特定する特定ステップと、予め複数に区分された方向区分のうち、前記特定ステップにより特定された方向が属する方向区分を前記メモリに記憶する第2の記憶ステップと、前記スワイプ操作を受け付けることにより前記メモリに記憶された位置と方向区分とに基づいて予め定められた形状に対応付けられた形状条件を満たすか否かを判定することにより、前記スワイプ操作が当該予め定められた形状に属するかの判別を行う判別ステップと、前記判別ステップの判別結果に応じた処理を実行する実行ステップとを備える、処理方法。

請求項13

プロセッサ、メモリ、タッチ操作を受け付ける入力部、および表示部を備える情報端末装置であって、前記入力部に対するスワイプ操作を受け付けている場合に、予め定められた記憶条件が成立する毎に当該スワイプ操作におけるタッチ操作の位置を前記メモリに記憶する第1の記憶手段と、前記第1の記憶手段により記憶された位置と前回記憶された位置とにより定まる方向を特定する特定手段と、予め複数に区分された方向区分のうち、前記特定手段により特定された方向が属する方向区分を前記メモリに記憶する第2の記憶手段と、前記スワイプ操作を受け付けることにより前記メモリに記憶された位置と方向区分とに基づいて予め定められた形状に対応付けられた形状条件を満たすか否かを判定することにより、前記スワイプ操作が当該予め定められた形状に属するかの判別を行う判別手段と、前記判別手段の判別結果に応じた処理を実行する実行手段とを備える、情報端末装置。

技術分野

0001

本開示は、プログラム処理方法、および情報端末装置に関する。

背景技術

0002

従来、入力装置としてタッチパネルを用いた情報処理装置の一例として、タッチパネル等へのタッチ操作により描かれた軌跡ゲーム操作として用いるゲーム装置があった。より具体的には、ゲーム操作に用いる図形を特定するためのデータを予め記憶しておき、当該データとタッチ操作により描かれた軌跡とのパターンマッチングを行って類似度を算出し、描かれた軌跡に最も近い図形を特定し、当該図形に対応したゲーム処理を行うものがあった(特許文献1)。

先行技術

0003

特開2006−288532号公報

発明が解決しようとする課題

0004

しかしながら、従来の情報処理装置においてパターンマッチングに用いるデータ量は、図形の数が多くなることや複雑な図形になる程、膨大になる虞があった。また、パターンマッチングは、類似度により図形を特定するため、用意されているすべての図形に対して行う必要がある。このため、処理負担が増大してしまう虞があった。

0005

本開示は、記憶容量および制御負担が増大してしまうことを防止できる技術を提供することを目的とする。

課題を解決するための手段

0006

本開示に示す一実施形態のある局面によれば、プロセッサメモリ、タッチ操作を受け付ける入力部、および表示部を備えるコンピュータにおいて実行されるプログラムであって、前記プログラムは、前記プロセッサに、前記入力部に対するスワイプ操作を受け付けている場合に、予め定められた記憶条件成立する毎に当該スワイプ操作におけるタッチ操作の位置を前記メモリに記憶する第1の記憶ステップと、前記第1の記憶ステップにより記憶された位置と前回記憶された位置とにより定まる方向を特定する特定ステップと、予め複数に区分された方向区分のうち、前記特定ステップにより特定された方向が属する方向区分を前記メモリに記憶する第2の記憶ステップと、前記スワイプ操作を受け付けることにより前記メモリに記憶された位置と方向区分とに基づいて予め定められた形状に対応付けられた形状条件を満たすか否かを判定することにより、前記スワイプ操作が当該予め定められた形状に属するかの判別を行う判別ステップと、前記判別ステップの判別結果に応じた処理を実行する実行ステップとを実行させる。

0007

一実施形態のある局面によれば、プロセッサ、メモリ、タッチ操作を受け付ける入力部、および表示部を備えるコンピュータにより実行される処理方法であって、前記入力部に対するスワイプ操作を受け付けている場合に、予め定められた記憶条件が成立する毎に当該スワイプ操作におけるタッチ操作の位置を前記メモリに記憶する第1の記憶ステップと、前記第1の記憶ステップにより記憶された位置と前回記憶された位置とにより定まる方向を特定する特定ステップと、予め複数に区分された方向区分のうち、前記特定ステップにより特定された方向が属する方向区分を前記メモリに記憶する第2の記憶ステップと、前記スワイプ操作を受け付けることにより前記メモリに記憶された位置と方向区分とに基づいて予め定められた形状に対応付けられた形状条件を満たすか否かを判定することにより、前記スワイプ操作が当該予め定められた形状に属するかの判別を行う判別ステップと、前記判別ステップの判別結果に応じた処理を実行する実行ステップとを備える。

0008

一実施形態のある局面によれば、プロセッサ、メモリ、タッチ操作を受け付ける入力部、および表示部を備える情報処理装置であって、前記入力部に対するスワイプ操作を受け付けている場合に、予め定められた記憶条件が成立する毎に当該スワイプ操作におけるタッチ操作の位置を前記メモリに記憶する第1の記憶手段と、前記第1の記憶手段により記憶された位置と前回記憶された位置とにより定まる方向を特定する特定手段と、予め複数に区分された方向区分のうち、前記特定手段により特定された方向が属する方向区分を前記メモリに記憶する第2の記憶手段と、前記スワイプ操作を受け付けることにより前記メモリに記憶された位置と方向区分とに基づいて予め定められた形状に対応付けられた形状条件を満たすか否かを判定することにより、前記スワイプ操作が当該予め定められた形状に属するかの判別を行う判別手段と、前記判別手段の判別結果に応じた処理を実行する実行手段とを備える。

発明の効果

0009

一実施形態によると、スワイプ操作により描かれた形状を特定可能にしつつ、記憶容量および制御負担が増大してしまうことを防止できる。

図面の簡単な説明

0010

実施の形態のゲーム配信システム1の構成を示す図である。
携帯端末10の構成を示すブロック図である。
(A)はサーバ20の機能的な構成を示すブロック図であり、(B)はマッチング部の機能的な構成を示すブロック図である。
ユーザがゲームをプレイする進行状況を管理するためのテーブルのデータ構造を示す図である。
図形入力操作時処理を説明するためのフローチャートである。
チェックポイント格納処理を説明するためのフローチャートである。
図形入力操作により描かれた軌跡Tを解析する場合の動作説明図であり、(A)はスワイプ操作により描いた軌跡を示す図であり、(B)は軌跡に対応するチェックポイントの座標を示す図であり、(C)はチェックポイント間の方向ベクトルを示す図であり、(D)は方向領域毎に予め定められた方向値を示す図である。
軌跡Tの解析結果に基づきフレーム領域およびチェックポイント領域各々に格納されるデータを説明するための図である。
図形判定処理を説明するためのフローチャートである。

実施例

0011

以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。

0012

本実施形態において、ユーザは、例えばスマートフォンなどの、タッチスクリーンを搭載した情報処理装置を操作して、ゲームサーバと、スマートフォンとの間でゲームに関するデータを送受信しながらゲームを進行させる。ゲームは、ユーザが一人でプレイするシングルプレイと、ユーザが他のユーザとともにプレイするマルチプレイとに対応する。

0013

図1は、本実施の形態のゲーム配信システム1の構成を示す図である。図1に示すように、ゲーム配信システム1は、ユーザが使用する情報処理装置と、サーバ20とを含み、これらの装置がネットワーク80によって互いに通信可能に接続されている。

0014

図1の例では、ユーザが使用する情報処理装置として、携帯端末10A、携帯端末10Bおよび携帯端末10C(以下、携帯端末10A、10B、10Cなどの携帯端末を総称して「携帯端末10」と記載することもある)など複数の携帯端末を示している。携帯端末10Aと携帯端末10Bとは、無線基地局81と通信することにより、ネットワーク80と接続する。携帯端末10Cは、家屋などの施設に設置される無線ルータ82と通信することにより、ネットワーク80と接続する。携帯端末10は、タッチスクリーンを備える端末であり、例えば、スマートフォン、ファブレットタブレットなどである。

0015

携帯端末10は、ゲームプログラムを実行することにより、ゲームプログラムに応じたゲームをプレイする環境をユーザに対して提供する。携帯端末10は、例えば、アプリ等を配信するプラットフォームを介してゲームプログラムをインストールする。携帯端末10は、携帯端末10にインストールされたゲームプログラム、または、予めプリインストールされているゲームプログラムを実行することで、ユーザによるゲームのプレイを可能とする。携帯端末10は、ゲームプログラムを読み込んで実行することにより、携帯端末10と、サーバ20とを通信接続して、ゲームの進行に応じてゲームに関連するデータを携帯端末10とサーバ20との間で送受信する。

0016

サーバ20は、ゲームのプレイに必要なデータを、適宜、携帯端末10へ送信することで、携帯端末10でのゲームのプレイを進行させる。サーバ20は、ゲームをプレイする各ユーザの、ゲームに関連する各種データを管理する。サーバ20は、携帯端末10と通信し、各ユーザのゲームの進行に応じて、画像、音声テキストデータその他のデータを携帯端末10へ送信する。

0017

例えば、サーバ20は、各ユーザがゲームのストーリーを進行させた進行状況、ゲーム内に登場するゲームキャラクタのうち各ユーザが使用可能なゲームキャラクタの情報、ゲームキャラクタの能力を示すパラメータ、ゲームキャラクタが使用する道具の性能を示すパラメータその他の各種データを管理する。また、サーバ20は、ゲームの運営者がユーザに対してキャンペーン、ゲームの進行における不具合の発生、不具合の解消その他のゲームの運営に関連する情報等をユーザに通知する処理を行う。

0018

ゲームプログラムは、ユーザがゲームをプレイするモードとして、一人のユーザがプレイする場合(シングルプレイ)と、複数人のユーザが協同してプレイする場合(マルチプレイ)とに対応している。例えば、ゲーム配信システム1において、サーバ20が、マルチプレイに参加するユーザを特定して各ユーザの各携帯端末10と通信すること等により、マルチプレイでゲームをプレイする環境を各ユーザに提供する。

0019

ゲーム配信システム1は、マルチプレイに対応することにより、例えば、テニスゲームであれば、各ユーザでチーム結成してダブルス試合を行うことを可能とする。また、ゲーム配信システム1は、サッカーゲームであれば、各ユーザが同一のサッカーチームメンバーとなって試合を行うことを可能とする。また、ゲーム配信システム1は、アクションゲームであれば、各ユーザでチームを結成して、クエストモードなど比較的強力なキャラクタ対戦するゲームモードを複数のユーザがプレイすることを可能とする。また、ゲーム配信システム1は、マルチプレイに対応することにより、ユーザ同士が対戦することを可能とする。

0020

<構成>
サーバ20のハードウェアの構成を説明する。サーバ20は、通信IF(Interface)22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備え、これらが通信バスを介して互いに接続する。

0021

通信IF22は、例えばLAN(Local Area Network)規格など各種の通信規格に対応しており、携帯端末10など外部の通信機器との間でデータを送受信するためのインタフェースとして機能する。

0022

入出力IF23は、サーバ20への情報の入力を受け付けるとともに、サーバ20の外部へ情報を出力するためのインタフェースとして機能する。入出力IF23は、マウスキーボード等の情報入力機器の接続を受け付ける入力受付部と、画像等を表示するためのディスプレイ等の情報出力機器の接続を受け付ける出力部とを含む。

0023

メモリ25は、処理に使用されるデータ等を記憶するための記憶装置である。メモリ25は、例えば、プロセッサ29が処理を行う際に一時的に使用するための作業領域をプロセッサ29に提供する。メモリ25は、ROM(Read Only Memory)、RAM(Random Access Memory)等の記憶装置を含んで構成されている。

0024

ストレージ26は、プロセッサ29が読み込んで実行するための各種プログラムおよびデータを記憶するための記憶装置である。ストレージ26が記憶する情報は、ゲームプログラム、ゲームプログラムに関連する情報、ゲームプログラムをプレイするユーザの情報その他の情報を含む。ストレージ26は、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶装置を含んで構成されている。

0025

プロセッサ29は、ストレージ26に記憶されるプログラム等を読み込んで実行することにより、サーバ20の動作を制御する。プロセッサ29は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を含んで構成される。

0026

図2は、携帯端末10の構成を示すブロック図である。図2を参照して、携帯端末10は、アンテナ110と、無線通信IF120と、タッチスクリーン130と、入出力IF140と、記憶部150と、音声処理部160と、マイク170と、スピーカ180と、制御部190とを含む。

0027

アンテナ110は、携帯端末10が発する信号を電波として空間へ放射する。また、アンテナ110は、空間から電波を受信して受信信号を無線通信IF120へ与える。

0028

無線通信IF120は、携帯端末10が他の通信機器と通信するため、アンテナ110等を介して信号を送受信するための変復調処理などを行う。無線通信IF120は、チューナー高周波回路などを含む無線通信用通信モジュールであり、携帯端末10が送受信する無線信号の変復調周波数変換を行い、受信信号を制御部190へ与える。

0029

タッチスクリーン130は、ユーザからの入力を受け付けて、ユーザに対し情報をディスプレイ132に出力する。タッチスクリーン130は、ユーザの入力操作を受け付けるための部材(タッチパネル131)を含む。また、タッチスクリーン130は、メニュー画面や、ゲームの進行を画面に表示するための部材(ディスプレイ132)を含む。タッチパネル131は、例えば静電容量方式のものを用いることによって、ユーザの指などが接近したことを検出する。ディスプレイ132は、例えばLCD(Liquid Crystal Display)、有機EL(electroluminescence)その他の表示装置によって実現される。

0030

入出力IF140は、携帯端末10への情報の入力を受け付けるとともに、携帯端末10の外部へ情報を出力するためのインタフェースとして機能する。

0031

記憶部150は、フラッシュメモリ、RAM(Random Access Memory)等により構成され、携帯端末10が使用するプログラム、および、携帯端末10がサーバ20から受信する各種データ等を記憶する。

0032

音声処理部160は、音声信号の変復調を行う。音声処理部160は、マイク170から与えられる信号を変調して、変調後の信号を制御部190へ与える。また、音声処理部160は、音声信号をスピーカ180へ与える。音声処理部160は、例えば、音声処理用のプロセッサによって実現される。マイク170は、音声信号の入力を受け付けて制御部190へ出力するための音声入力部として機能する。スピーカ180は、音声信号を、携帯端末10の外部へ出力するための音声出力部として機能する。

0033

制御部190は、記憶部150に記憶されるプログラムを読み込んで実行することにより、携帯端末10の動作を制御する。制御部190は、例えば、アプリケーションプロセッサによって実現される。

0034

携帯端末10がゲームプログラム151を実行する処理について、より詳細に説明する。ある局面において、記憶部150は、ゲームプログラム151と、ゲーム情報152と、ユーザ情報153とを記憶する。携帯端末10は、例えば、サーバ20からゲームプログラムをダウンロードして記憶部150に記憶させる。また、携帯端末10は、ゲームの進行に伴いサーバ20と通信することで、ゲーム情報152およびユーザ情報153等の各種のデータをサーバ20と送受信する。

0035

ゲームプログラム151は、携帯端末10においてゲームを進行させるためのプログラムである。ゲーム情報152は、ゲームプログラム151が参照する各種のデータを含む。ゲーム情報152は、例えば、ゲームにおいて仮想空間に配置するオブジェクトの情報、オブジェクトに対応付けられた効果の情報(ゲームキャラクタに設定されるスキルの情報などを含む)などを含む。ユーザ情報153は、ゲームをプレイするユーザについての情報を含む。ユーザ情報153は、例えば、ゲームをプレイする携帯端末10のユーザを識別する情報、マルチプレイ時に協同してゲームをプレイする他のユーザを識別する情報その他の情報を含む。

0036

制御部190は、ゲームプログラム151を読み込んで実行することにより、入力操作受付部191と、ゲーム進行処理部192と、移動操作検出部193と、カメラ配置制御部194と、オブジェクト制御部195と、表示制御部196と、の各機能を発揮する。

0037

入力操作受付部191は、タッチスクリーン130の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、入力操作受付部191は、ユーザの指などがタッチパネル131に接近したことを、タッチスクリーン130を構成する面の横軸および縦軸からなる座標系の座標として検出する。

0038

入力操作受付部191は、タッチスクリーン130に対するユーザの操作を判別する。入力操作受付部191は、例えば、(1)「接近操作」、(2)「リリース操作」、(3)「タップ操作」、(4)「ダブルタップ操作」、(5)「長押し操作(ロングタッチ操作)」、(6)「スワイプ操作(ドラッグ操作)」、(7)「ムーブ操作」、(8)「フリック操作」、その他のユーザの操作を判別する。入力操作受付部191が判別するユーザの操作は、上記に限られない。例えば、タッチパネル131が、ユーザがタッチパネル131に対して押下する圧力の大きさを検出可能な機構を有する場合、入力操作受付部191は、ユーザが押下した圧力の大きさを判別する。また、制御部190は、タッチスクリーン130へのユーザの指などの接近を検出している状態を、「タッチオン状態」と判別する。制御部190は、タッチスクリーン130へのユーザの指などの接近を検出しない状態を、「タッチオフ状態」と判別する。制御部190は、タッチスクリーン130が逐次出力するユーザの指などの接近位置を示す座標を、「タッチナウ」の座標として受け付ける。

0039

ここで、(1)「接近操作」とは、ユーザが指などをタッチスクリーン130に接近させる操作である。タッチスクリーン130は、ユーザの指などが接近したこと(ユーザの指などがタッチスクリーン130に接触したことを含む)をタッチパネル131により検出し、検出したタッチスクリーン130の座標に応じた信号を制御部190へ出力する。制御部190は、タッチスクリーン130へのユーザの指などの接近を検出しない状態から、接近を検出したときに、状態が「タッチオン状態」になったと判別する。

0040

(2)「リリース操作」とは、ユーザがタッチスクリーン130に指などを接近させることで操作する状態を止める操作である。入力操作受付部191は、例えば、ユーザが指などをタッチスクリーン130に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。制御部190は、タッチスクリーン130へのユーザの指などの接近を検出している状態から、接近を検出しない状態になったときに、状態が「タッチオン状態」から「タッチオフ状態」になったと判別する。

0041

(3)「タップ操作」とは、ユーザがタッチスクリーン130に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。入力操作受付部191は、接近操作が検出されない状態(ユーザの指などがタッチパネル131から離れており、タッチパネル131がユーザの指などの接近を検出していない状態)から、タッチスクリーン130の出力に基づいて、ユーザの指などが接近したことを検出した場合に、その検出した座標を「初期タッチ位置」として保持する。入力操作受付部191は、初期タッチ位置の座標と、リリース操作をする直前に(タッチオフ状態が検出される直前に)タッチスクリーン130により検出されている座標とがほぼ同一である場合(接近操作が検出された座標から一定範囲内の座標においてリリース操作にかかる座標が検出された場合)に、ユーザの操作を「タップ操作」と判別する。

0042

(4)「ダブルタップ操作」とは、ユーザがタップ操作を一定時間内に2回行う操作である。入力操作受付部191は、例えば、ユーザの操作をタップ操作と判別してから一定時間内に、タップ操作にかかる座標で再びタップ操作を判別した場合に、ユーザの操作を「ダブルタップ操作」と判別する。

0043

(5)「長押し操作」とは、ユーザがタッチスクリーン130を押し続ける操作である。タッチスクリーン130は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」(「長押し操作」を、「ロングタッチ操作」と称することもある)と判別する。

0044

(6)「スワイプ操作」とは、ユーザがタッチスクリーン130に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。入力操作受付部191は、タッチスクリーン130の出力に基づいて、ユーザの指などが接近したことを検出した後、検出が維持されたまま、検出位置(タッチ位置)が移動している場合に、ユーザの操作を「スワイプ操作」であると判別する。また、入力操作受付部191は、ゲームの進行に応じて制御される図形入力モードにおいて、ユーザがスワイプ操作により図形入力操作を行った場合に、タッチスクリーン130の検出結果に基づいて当該図形入力操作により描かれた図形(形状)を判定する。

0045

(7)「ムーブ操作」とは、ユーザがタッチスクリーン130において、接近操作を維持しつつ、タッチスクリーン130に指などを接近させている位置を移動させてリリース操作を行う一連の操作をいう。

0046

(8)「フリック操作」は、ユーザがムーブ操作を予め定められた時間よりも短い時間で行う操作をいう。フリック操作は、ユーザがタッチスクリーン130で指を弾くような操作である。制御部190は、例えば、ユーザがムーブ操作を行う時間と比較するための複数の閾値を保持し、ユーザがタッチスクリーン130において指などを接近させている位置を一定距離移動させるまでの時間が第1の閾値よりも短い場合(比較的素早く指を弾く場合)は、フリック操作が「強フリック」であると判定し、第1の閾値よりも大きく第2の閾値(第2の閾値を、第1の閾値よりも大きく設定する)よりも小さい場合に、フリック操作が「弱フリック」であると判定することとしてもよい。

0047

ゲーム進行処理部192は、ユーザの操作に応じて、各種のプログラムを呼び出す等によりゲームを進行させる処理を行う。例えば、ゲーム進行処理部192は、サーバ20と通信し、ゲームの進行に応じてサーバ20へデータを送信する処理、サーバ20からゲームに関連するデータを受信する処理、ゲームの進行に応じてユーザに報酬を付与する処理、時間の経過を計測する処理その他の処理を行う。

0048

移動操作検出部193は、タッチスクリーン130に対するユーザの入力操作に基づいて、ゲームに登場するキャラクタ(以下、「ゲームキャラクタ」と称することもある)を移動させる入力操作の操作内容を検出する。例えば、ゲームプログラム151がスポーツゲームである場合、移動操作検出部193は、ユーザの入力操作に基づいて、ゲームキャラクタを移動させる方向を検出する。このように、移動操作検出部193は、ユーザがゲームキャラクタの移動方向を指定する入力操作を受け付ける。

0049

具体的には、移動操作検出部193は、タッチスクリーン130からユーザの指が離れた状態から、ユーザが指をタッチスクリーン130に接近させて、入力操作受付部191がタッチパネル131にユーザの指が接近したことを検出した座標を初期タッチ位置として、ユーザがスワイプ操作を行った場合に、初期タッチ位置の座標とタッチスクリーン130の検出結果とに基づいて、ゲームキャラクタの移動方向を検出する。

0050

カメラ配置制御部194は、仮想空間に配置される各オブジェクトを、どのようにユーザに見せるかを決定する。具体的には、カメラ配置制御部194は、制御部190がゲームプログラム151を読み込んで実行することで生成される仮想空間において、仮想カメラの配置(カメラワーク)を制御する。制御部190は、仮想空間における仮想カメラの撮影画像をディスプレイ132に表示することで、ユーザに対しゲームのプレイ環境を提供する。

0051

オブジェクト制御部195は、携帯端末10がゲームプログラム151を実行することにより進行されるゲームに登場する各種オブジェクト、および、入力操作受付部191が受け付けたユーザの操作内容に基づいて生成される各種オブジェクト(例えば、GUI(Graphical User Interface)画面など)の生成、変形、移動などの処理を制御する。オブジェクト制御部195は、例えば、ユーザがゲームキャラクタを移動させるためのタッチスクリーン130に対する入力操作に基づいて、ゲームキャラクタの移動方向を示すオブジェクトを生成し、生成したオブジェクトを変形する。

0052

表示制御部196は、仮想カメラのカメラワークに従った画像をディスプレイ132に出力する。表示制御部196は、仮想空間内における仮想カメラの配置に応じて、ディスプレイ132の表示内容を決定し、決定した表示内容に従う画像、テキスト等の各種の情報をディスプレイ132に出力する。

0053

図3は、サーバ20の機能的な構成を示すブロック図である。図3を参照して、サーバ20の詳細な構成を説明する。サーバ20は、プログラムに従って動作することにより、通信部220と、記憶部250と、制御部290としての機能を発揮する。

0054

通信部220は、サーバ20が携帯端末10などの外部の通信機器と通信するためのインタフェースとして機能する。

0055

記憶部250は、携帯端末10においてユーザがゲームを進行させるための各種プログラムおよびデータを記憶する。ある局面において、記憶部250は、ゲームプログラム251と、ゲーム情報252と、ユーザ情報253とを記憶する。

0056

ゲームプログラム251は、サーバ20が携帯端末10と通信して、携帯端末10においてゲームを進行させるためのプログラムである。ゲームプログラム251は、ゲームを進行させるための各種データであるゲーム情報252およびユーザ情報253等を参照して、ユーザの入力操作に応じてゲームを進行させる。ゲームプログラム251は、制御部290に実行されることにより、携帯端末10とデータを送受信する処理、携帯端末10のユーザが行った操作内容に応じてゲームを進行させる処理、ゲームをプレイするユーザの情報を更新する処理その他の処理をサーバ20に行わせる。

0057

ゲーム情報252は、ゲームプログラム251が参照する各種のデータを含む。ゲーム情報252は、オブジェクト管理テーブル252Aと、パッシブスキル管理テーブル252Bと、アクティブスキル管理テーブル252Cとを含む。

0058

オブジェクト管理テーブル252Aは、ゲームの仮想空間内に配置されるオブジェクトの設定を示す。携帯端末10は、ゲームプログラム151を実行することにより、仮想空間内に配置されるオブジェクトを、仮想空間内に配置される仮想カメラによって撮影した画像をディスプレイ132に表示することでゲームを進行させる。

0059

ここで、オブジェクトとしては、例えば、ユーザが操作するゲームキャラクタを示すオブジェクト、ゲームキャラクタが装着する装着対象物を示すオブジェクトなど様々なものがある。制御部190は、ユーザがタッチスクリーン130に対して予め定められた入力操作を行うこと、ゲームの進行に伴い一定の条件を満たすこと、その他の様々な事象の発生を契機として、オブジェクトに対応付けられた処理を行う。

0060

例えば、あるオブジェクトに対してユーザがタッチスクリーン130に対して接近操作を行うことで、制御部190は、オブジェクトを、ユーザによって選択された状態とする。また、例えば、制御部190は、ユーザによるスワイプ操作を受け付けることで、ユーザが移動対象とするオブジェクトを、ユーザの入力操作に応じて移動させる等の処理を行う。また、例えば、制御部190は、ユーザがオブジェクトに対して行うタッチ操作を受け付けることで、ユーザに対し、ゲームを有利に進めるための報酬を付与する等の処理を行う。

0061

パッシブスキル管理テーブル252Bは、オブジェクトを識別する情報と、オブジェクトに対応付けられたパッシブスキルの情報とが対応付けられている。ここで、パッシブスキルとは、例えば、ゲームにおいて予め定められた条件が満たされたときに発動され、ユーザがゲームを有利に進行させることができるものである。例えば、パッシブスキルが発動した場合に、ゲームキャラクタの移動速度が向上する等の、ゲームを有利に進行させられる効果を発揮させる。

0062

アクティブスキル管理テーブル252Cは、オブジェクトを識別する情報と、オブジェクトに対応付けられたアクティブスキルの情報とが対応付けられている。ここで、アクティブスキルとは、例えば、ゲームにおいて予め定められた条件が満たされたときに発動可能な状態となり、ユーザから、スキルを発動させるための入力操作を受け付けることにより、ユーザがゲームを有利に進行させることができるものである。

0063

ユーザ情報253は、ゲームをプレイするユーザについての情報である。ユーザ情報253は、ユーザ管理テーブル253Aを含む。ユーザ管理テーブル253Aは、各ユーザを識別する情報と、ユーザがゲームを進行させた度合いを示す情報と、ユーザがゲーム内で保有するアイテム、ゲームキャラクタ、ゲームキャラクタが使用する装着物等の情報その他の情報を含む。

0064

制御部290は、記憶部250に記憶されるゲームプログラム251を実行することにより、送受信部291、サーバ処理部292、データ管理部293、マッチング部294、計測部295としての機能を発揮する。

0065

送受信部291は、ゲームプログラム151を実行する携帯端末10から、各種情報を受信し、携帯端末10に対し、各種情報を送信する。携帯端末10とサーバ20とは、ユーザに関連付けられるオブジェクトを仮想空間に配置する要求、オブジェクトを削除する要求、オブジェクトを移動させる要求、ユーザが獲得する報酬に応じて各種パラメータを更新する要求、ゲームを進行させるための画像、音声その他のデータ、サーバ20から携帯端末10へ送信される通知などの情報を送受信する。

0066

サーバ処理部292は、サーバ20全体の動作を制御し、各種のプログラムを呼び出す等によりゲームの進行に必要な処理を行う。サーバ処理部292は、例えば、携帯端末10から受信した情報に基づいて、ゲーム情報252、ユーザ情報253などのデータを更新し、携帯端末10に各種データを送信することでゲームを進行させる。

0067

データ管理部293は、サーバ処理部292の処理結果に従って、記憶部250に記憶される各種データを更新する処理、データベースレコードを追加/更新/削除する処理などを行う。

0068

マッチング部294は、複数のユーザを関連付けるための一連の処理を行う。マッチング部294は、例えば、ユーザがマルチプレイを行うための入力操作を行った場合に、ゲームを協同してプレイさせるユーザ同士を関連付ける処理などを行う。

0069

計測部295は、時間を計測する処理を行う。計測部295は、例えば、仮想空間に配置される各オブジェクトについて時間の経過を計測する。また、計測部295は、ゲームが進行している時間を計測する。サーバ20は、携帯端末10から、携帯端末10においてゲームプログラム151を実行して計測される各種の計測結果の情報を受信し、受信した情報と、計測部295の計測結果とを照合することで、携帯端末10とサーバ20とで、各種の時間に関する情報を同期させる。

0070

<構成のまとめ>
以上のように、実施の形態のゲーム配信システム1の構成を説明してきた。本実施形態において、ゲームプログラム151は、例えば、スポーツゲームその他のゲームであり、仮想空間内の仮想カメラの配置に応じた画面をタッチスクリーン130に表示させることでゲームを進行させる。

0071

例えば、ゲームプログラム151がスポーツゲーム(テニスゲーム、サッカーゲーム、野球ゲームその他のスポーツ題材としたゲーム)である場合、ゲーム進行処理部192は、ユーザの操作に応じて、例えば試合を進めるなどのストーリーを進行させる。ゲーム進行処理部192は、画像、テキストなどディスプレイ132に表示するデータを決定する処理、スポーツの対戦相手の選択をユーザから受け付ける処理、ユーザの操作に応じてスポーツの試合を進める処理などの基本的な処理を行う。

0072

<データ構造>
図4は、ユーザがゲームをプレイする進行状況を管理するためのテーブルのデータ構造を示す図である。図4に示すように、ユーザ管理テーブル253Aは、各ユーザのゲームプレイの進行状況を管理するためのプレイ進行状況256を含む。ゲームプレイの進行状況とは、例えば、各ユーザがゲームプレイにより蓄積した経験値、ユーザが使用可能なゲームキャラクタなどを含む。

0073

図4に示すように、プレイ進行状況256の各レコードは、獲得経験値/レベル256Aと、使用可能キャラクタ256Bと、仮想通貨保有量256Cと、保有装備アイテム256Dと、保有消費アイテム256Eと、対戦プレイランク/レーティング256Fと、トーナメント履歴256Gとを含む。

0074

獲得経験値/レベル256Aは、各ユーザがクエストをクリアする等により獲得した経験値の累計値、および、当該経験値の累計値により定まるレベル値を含む。ゲームプログラム251は、例えば、ユーザが一定のレベルに達する都度、ユーザがプレイ可能な項目(例えば、一定レベル以上であればプレイ可能なクエスト、一定レベル以上であれば使用可能なシステム、アイテムなど)を含む。例えば、経験値の累計が一定の閾値を超える都度、ユーザのレベルが上昇する。

0075

使用可能キャラクタ256Bは、ユーザが使用可能なキャラクタを示す。ゲームプログラム251は、ユーザに対し、複数のゲームキャラクタを提供しており、ユーザがクエストを進行させる、ユーザが抽選をするための入力操作をすることで抽選の結果としてゲームキャラクタを獲得する、その他の処理により、ユーザが使用可能なキャラクタのリストを更新する。なお、図4の例では図示していないが、ユーザが使用可能なキャラクタのうち、任意のゲームキャラクタを特定したパーティ編成を保持することとしてもよい。

0076

仮想通貨保有量256Cは、ユーザが保有している仮想通貨の保有量を示す。仮想通貨は、例えば、ゲーム内で消費されるアイテムを入手するため、抽選を行うためその他の操作を行うために使用することができる。ゲーム進行処理部192は、仮想通貨を使用してアイテムを購入する、抽選を行う等の入力操作を受け付けて、仮想通貨の保有量を変動させる。ここで、ゲームプログラム251は、仮想通貨を有償でユーザに提供した量と、無償でユーザに提供した量とをそれぞれ管理することとしてもよい。これら仮想通貨には、使用可能な有効期限(例えば、有償の仮想通貨について、仮想通貨の購入時点から6か月以内など)を設定することとしてもよい。

0077

保有装備アイテム256Dは、キャラクタと関連づけられるアイテムとして、キャラクタに装備させることが可能なアイテムを示す。キャラクタに装備させることが可能なアイテムとは、例えば、アクションゲームであれば、キャラクタに装備させることが可能な武器防具アクセサリその他のアイテムである。また、キャラクタに装備させることが可能なアイテムとは、スポーツゲームであれば、キャラクタに関連付けることが可能なラケットバットシューズウェアその他のアイテムである。これらキャラクタが装備可能なアイテムは、クエストの進行、抽選、その他の処理によって、ユーザに付与される。

0078

保有消費アイテム256Eは、ユーザがゲームプレイ時に使用することで、ゲームプレイ時に一定の効果を発揮させるアイテムを示す。これらアイテムは、ユーザが使用するための入力操作をすることで消費される。ゲームプレイ時に一定の効果を発揮させるアイテムとは、例えば、アイテムの使用開始から一定時間(例えば30分間)、クエストのクリア時等に獲得される経験値、キャラクタを成長させるために消費されるアイテム等の獲得量が一定以上増加するもの(例えば、獲得量が2倍以上となる)などがある。

0079

対戦プレイランク/レーティング256Fは、ゲームプログラム251が提供するユーザ間の対戦プレイの、各ユーザの習熟度を示す。図示するように、対戦プレイランク/レーティング256Fは、対戦プレイにおけるユーザの習熟度として、レーティングシステムにおけるレーティング値ランキングを含む。

0080

トーナメント履歴256Gは、ゲームプログラム251が提供するトーナメントによる対戦プレイの結果に応じて更新される各ユーザのトーナメント履歴を示す。トーナメント履歴256Gは、ユーザが参加中のトーナメントにおける勝利数、および当該トーナメントにおいて対戦したユーザ・参加したユーザ等を特定可能なトーナメント履歴を記憶する。

0081

<動作>
携帯端末10の制御部190は、記憶部150に格納されているゲームプログラム151を実行することにより、サーバ20と通信しつつユーザにゲームのプレイ環境を提供する処理を行う。ゲームプログラム151は、図形入力操作時処理のプログラムモジュールを含む。携帯端末10の入力操作受付部191は、ゲームの進行に応じて制御される図形入力モードにおいて図形入力操作時処理を実行する。これにより、ユーザからのスワイプ操作による図形入力操作を受け付けて、描かれた図形を読み取り当該図形に応じた処理が行われる。

0082

図形入力操作時処理では、判定対象となる図形を複雑な図形ではなく簡単な図形(例えば、〇、△、□、×など)に絞るとともに、図形に応じて定められて形状条件を満たすか否かをプログラムで判定して図形を特定する。これにより、パターンマッチングに用いる膨大なデータを記憶させる必要がないため記憶容量を低減できる。また、判定対象となるすべての図形との類似度を算出する必要がないため処理負担が増大してしまうことを防止できる。さらに、判定対象を簡単な図形に絞ることによって、より一層シンプルなプログラムにより図形判定を行うことができるため、コストを抑えつつ改修や応用を容易に行うことができる。また、簡単な図形を描くスワイプ操作は、何らかの図形を描く点において単なる「スワイプ操作」よりも難易度が高く、ユーザの熟練度や癖などに大きく左右される「フリック操作」よりも難易度が低いといえる。これにより、難易度の面において新たな位置付けとなる図形入力操作をゲーム操作に採用することができるため、ゲーム操作に対する興趣を向上させることができる。以下に、図形入力操作時処理の一例について具体的に説明する。

0083

図5は、図形入力操作時処理を説明するためのフローチャートである。図形入力操作時処理では、まず、ステップS1においてチェックポイント格納処理を実行する。図6は、チェックポイント格納処理を説明するためのフローチャートである。図6を参照して、ステップS8においては、ユーザがタッチスクリーン130に対してタッチ操作しているか否かを判定する。ステップS8においてタッチ操作していると判定されたときには、ステップS9においてユーザの指などがタッチスクリーン130に接触していないタッチオフ状態から接触したタッチオン状態となった初期タッチ操作(スワイプ操作の開始)であるか否かを判定する。

0084

初期タッチ操作であると判定したときには、スワイプ操作の開始時であるため、ステップS10においてタッチ操作されている座標位置であるタッチ座標をフレーム領域およびチェックポイント領域に格納して、ステップS11へ移行する。フレーム領域およびチェックポイント領域は、各々、記憶部150のユーザ情報153に設けられている。フレーム領域は、1/30秒毎のタッチ座標などを格納するための領域である。チェックポイント領域は、図形判定に用いるチェックポイント座標などを格納する領域である。

0085

ここで、図7および図8を参照しつつ処理内容を具体的に説明する。図7は、図形入力操作により描かれた軌跡Tを解析する場合の動作説明図である。図8は、軌跡Tの解析結果に基づきフレーム領域およびチェックポイント領域各々に格納されるデータを説明するための図である。図7(A)に示す軌跡Tが描かれた場合(破線矢印に示すように時計回り方向に描かれた円)、ステップS10においては、初期タッチ位置となるタッチ座標(x0,y0)(図7(B)参照)を、チェックポイント領域のNo.1に格納する(図8(A)参照)。

0086

一方、ステップS9において初期タッチ操作であると判定されなかったときには、ステップS11に移行する。ステップS11においては、タッチ座標が前回格納されてから1/30秒経過したか否かを判定する。ステップS11において1/30秒経過していると判定されなかったときには、ステップS8に移行する。ステップS8→S11→S8のループ巡回途中で1/30秒経過していると判定されたときには、ステップS12へ移行する。

0087

ステップS12おいては、現在のタッチ座標をフレーム領域に格納する。また、ステップS12においては、前回のチェックポイントから現在のタッチ座標までの距離を算出してフレーム領域に格納する。ステップS13においては、前回のチェックポイントからの距離が予め定められた閾値以上となっているか否か判定する。閾値以上となっていると判定されなかったときには、ステップS14において前回のチェックポイント格納から所定時間(例えば1/5秒)経過したか否か判定する。ユーザが普通にスワイプ操作を行っている場合には、ステップS14において所定時間が経過したと判定されることはない。この点に着目し、ステップS14を行うことにより、所定時間経過しているか否かに応じてスワイプ操作を途中で止めているか否かを判定することができる。

0088

ステップS14において所定時間が経過したと判定されたときには、ステップS19において停止フラグをセットし、チェックポイント格納処理を終了する。これにより、ステップS14で説明したように、スワイプ操作を途中で止めているような場合には、その時点で処理を終了させるため、処理負担を軽減できる。一方、ステップS14において所定時間経過していると判定されなかったときには、ステップS8へ移行する。このため、入力操作受付部191は、ステップS8→S11→S8のループを巡回し、1/30秒経過する毎にS11でYESと判定してステップS12においてタッチ座標・距離をフレーム領域に格納する。図8(B)は、fp[0]〜fp[3]各々に対応して、タッチ座標として(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)が格納され、前回のチェックポイント座標(x0,y0)からfp[3]のタッチ座標(x4,y4)までの距離dが閾値以上となった場合を示している。

0089

ステップS13において閾値以上となっていると判定されたときには、ステップS15において、格納されているチェックポイント数が所定数(例えば5秒間に亘りスワイプ操作をし続けると記憶されるチェックポイント数(150個))に到達したか否かを判定する。ユーザによるスワイプ操作の軌跡があまりにも長い場合にはチェックポイント数が所定数に到達したと判定され(ステップS15においてYES)、ステップS19において停止フラグをセットする。これにより、スワイプ操作を延々と続けているような場合にもその時点で処理を終了させるため、処理負担を軽減できる。

0090

一方、ステップS15においてチェックポイント数が所定数に到達していると判定されなかったときには、ステップS16において、今回のタッチ座標をチェックポイント領域に格納する。例えば、タッチ座標が図7(A)に示す軌跡Tのうちのタッチ座標(x4,y4)に到達し、前回のチェックポイント座標(x0,y0)からの距離が閾値以上となった場合、ステップS16においては、図8(B)に示すようにタッチ座標(x4,y4)をチェックポイント領域のNo.2に格納する。また、ステップS17においては、フレーム領域のデータを初期化する。これにより、タッチ座標(x4,y4)に到達するまでの間においてフレーム領域に記憶されるタッチ座標(例えば、(x1,y1)〜(x3,y3)は、図形判定に用いないため、記憶容量および制御負担を軽減できる。

0091

次に、ステップS18においては、前回のチェックポイント座標と今回のチェックポイント座標とを結ぶ方向ベクトルを特定して、当該方向ベクトルが属する方向領域の方向値および方向値の差分である方向差分をチェックポイント領域に格納する。図8(B)の例では、今回のチェックポイント座標(x4,y4)と前回のチェックポイント座標(x0,y0)とから方向ベクトル((y4−y0)/(x4−x0))を特定する(図7(C)の方向ベクトルV1)。また、特定した方向ベクトルから、予め8つに分けられた方向領域に対応する方向値を算出して格納し、ステップS8へ移行する。方向領域としては、図7(D)に示すように、Y軸の正方向(図7において垂直上向き)を包含する方向領域0、X軸の正方向(図7において水平右向き)を包含する方向領域2、Y軸の負方向(図7において垂直下向き)を包含する方向領域4、X軸の負方向(図7において水平左向き)を包含する方向領域6、これら各々の方向領域の間の方向(図7において斜め向き)を包含する方向領域1、3、5、7が定められている。方向領域0〜7は、各々、45度ずつに均等に分割された領域である。これにより、ステップS18において特定される方向ベクトルが垂直方向に近いのか、水平方向に近いのか、斜め方向に近いのかといったように、方向ベクトルを大まかな方向領域のいずれかに振り分けることができる。

0092

方向値の具体的な算出方法については、例えば、特定した方向ベクトルにarctanを用いて角度を算出し、整数除算を考慮して当該角度に22.5度を加算し、その値を45で整数除算し、さらに8で割った余り剰余)で求めるようにしてもよい。このようにして算出される結果は、例えば方向領域0に属する方向ベクトルから方向値として「0」が算出され、方向領域1に属する方向ベクトルから方向値として「1」が算出される。その他の方向領域2〜7に属する場合においても同様に、方向値として「2」〜「7」のいずれかが算出される。図7(C)の方向ベクトルV1から方向値として方向領域6に対応する「6」が算出された場合、図8(B)に示すように、方向値として「6」が格納される。

0093

また、タッチ座標が図7(A)に示す軌跡Tのうちのタッチ座標(x8,y8)に到達し、前回のチェックポイント座標(x4,y4)からの距離hが閾値以上となった場合、ステップS16において、図8(C)に示すようにタッチ座標(x8,y8)をチェックポイント領域のNo.3に格納する。また、ステップS18においては、今回のチェックポイント座標(x8,y8)と前回のチェックポイント座標(x4,y4)とから方向ベクトル((y8−y4)/(x8−x4))を特定し(図7(C)の方向ベクトルV2)、方向ベクトルV2から方向値として方向領域0に対応する「0」を算出して格納する。

0094

さらに、前回のチェックポイントの方向値が格納されているときに、ステップS18においては、今回のチェックポイントの方向値から前回のチェックポイントの方向値を減算することにより方向差分を算出して格納する。図8(C)に示すように、チェックポイントNo.3に方向値として0が格納されるとともに、方向差分として−6(=0−6)が格納される。

0095

このようにステップS8〜S18の処理を繰り返し実行することにより、1/30秒毎にタッチ座標および前回のチェックポイント座標からの距離をフレーム領域に格納するとともに、前回のチェックポイント座標からの距離が閾値以上となったタッチ座標を今回のチェックポイント座標とし、当該チェックポイント座標の方向値および方向差分とともにチェックポイント領域に格納する。その結果、図7(A)に示す軌跡Tとなる図形入力操作を受け付けた場合には、図7(B)に示すタッチ座標がチェックポイント座標として格納されるとともに、図7(C)に示す方向ベクトルV1〜V7各々から方向値と方向差分が算出されて格納される(例えば図8(D)および(E)参照)。

0096

ステップS8においてタッチ操作されていると判定されなかったときには、ステップS20において、スワイプ操作を終了させた場合であって、当該終了したスワイプ操作の最終タッチ位置の座標がチェックポイント領域に格納済みであるか否かを判定する。ステップS20において格納済みであると判定された場合、ステップS24に移行する。一方、ステップS20において格納済みであると判定されなかった場合、ステップS21において、フレーム領域に格納されているスワイプ操作の最終タッチ座標(最後に格納されたタッチ座標)をチェックポイント領域に格納する。この処理は、前述のステップS16により最後に格納されたチェックポイントを少し通り過ぎて(閾値には到達していない位置で)ユーザがスワイプ操作を終了した場合に、その通り過ぎた後のスワイプ操作の最終タッチ座標をチェックポイントとして格納するための処理である。例えば、図7(B)におけるタッチ座標(x28,y28)が、前回のチェックポイント座標(x24,y24)からの距離が閾値を超えていない位置であっても、ステップS21において、タッチ座標(x28,y28)がチェックポイント座標として格納される。これにより、スワイプ操作による最終のタッチ座標を図形判定に用いることができるため、精度を向上させることができる。

0097

ステップS22においては、フレーム領域を初期化する。続いて、ステップS23においては、ステップS18と同様に、前回のチェックポイント座標と今回のチェックポイント座標とを結ぶ方向ベクトルを特定して方向値および方向差分をチェックポイント領域に格納してステップS24へ移行する。これにより、図7(B)におけるチェックポイント座標(x28,y28)が仮にチェックポイント座標として格納されていない場合であっても、当該チェックポイント座標(x28,y28)とともに方向値および方向差分を格納することができる。

0098

ステップS24においては、スワイプ操作の終了から所定時間が経過したか否かを判定する。所定時間とは、例えば1秒程度の時間であり、ユーザがスワイプ操作による入力を完了したか否かを判定するための時間である。ステップS24において所定時間が経過していると判定されなかった場合、ステップS8に移行する。これにより、所定時間が経過するまでにスワイプ操作が再開されると、それまでになされていたスワイプ操作に続くスワイプ操作であるとみなし、ステップS8においてYESと判定されてステップS9において当該スワイプ操作開始時のタッチ座標をチェックポイント領域に格納され、ステップS11以降の処理が再開される。これにより、×形状など一で描けない図形ついても特定可能となる。一方、ステップS24においてスワイプ操作の終了から所定時間が経過したと判定された場合、チェックポイント格納処理を終了する。

0099

図5戻り、ステップS2において停止フラグがセットされているか否かを判定する。停止フラグがセットされていると判定されたときには、ステップS6において、スワイプ操作により描かれた図形を判別不能である旨を報知する。このように停止フラグがセットされているときには、図柄判定などを行うことなく図形入力操作時処理を終了できるため、処理負担を軽減できる。ステップS6における報知は、携帯端末10におけるディスプレイ132またはスピーカ182により行うものであってもよく、またディスプレイ132とスピーカ180との両方により行うものであってもよい。

0100

ステップS2において停止フラグがセットされていると判定されなかったときには、ステップS3において図形判定処理を実行する。図形判定処理では、ユーザがスワイプ操作により描いた軌跡からチェックポイント領域に格納したデータに基づいて、当該軌跡が円形か、四角形か、三角形か、×形状かの四種類の図形のいずれかに該当するかを判定する。

0101

図9は、図形判定処理を説明するためのフローチャートである。まず、ステップS25においては、スワイプ操作の始点と終点との距離が所定範囲内であるか否か判定する。具体的には、チェックポイント領域に最初に格納されたチェックポイント座標と、最後に格納されたチェックポイント座標との距離が所定範囲内であるか否かを判定する。ステップS25により、描かれた図形が閉じた図形である可能性が高いか否かを判別できる。所定範囲は、大まかに円や四角形などの閉じた形状を大まかに描いたとしても、そのときの始点と終点とが収まる範囲であればよく、たとえば、タッチスクリーン130上において1cmに相当する範囲以内などに定められているものであってもよい。

0102

ステップS25において所定範囲内であると判定されたときには、ステップS26において同一方向の連続頻度が第1頻度(例えば、10%)未満であるか否かを判定する。同一方向の判定は、図8の「方向差分」のエリアに記憶されている値が0であるか否かで判定する。0の場合には前回の方向値と同じであるため前回の方向ベクトルと同一の方向領域に属する方向ベクトルであることを特定でき、0以外の場合には前回の方向ベクトルとは異なる方向領域に属する方向ベクトルであることを特定できる。同一方向の連続頻度は、例えば、(方向差分が0である個数)/(方向差分の全個数)により算出される。ステップS26により、描かれた図形が直線部分の少ない図形である可能性が高いか否かを判別できる。図7(A)の円形の軌跡Tの場合には、大部分が曲線であるため、図8に示すように方向差分が0となる箇所が存在せず同一方向の連続頻度がゼロ%となっている。

0103

ステップS26において同一方向の連続頻度が第1頻度未満であると判定されたときには、ステップS27において、X座標およびY座標各々の「最大値最小値」が所定値(例えば、タッチスクリーン130上において2cmに相当する値)以上であるか否かを判定する。ステップS27により、描かれた図形が上下左右方向においてある程度の大きさ(広さ)を有している図形であるか否かを判別できる。ステップS27において所定値以上であると判定されたときには、ステップS28において円形フラグをセットし、図形判定処理を終了する。このように、図形判定処理では、図7および図8に示されるように、スワイプ操作の始点と終点とが近接しており(S25でYES)、かつ、同一方向の連続頻度が少なく(S26でYES)、さらに、ある程度の大きさを有していることなどの円形の形状条件を満たすことにより、スワイプ操作により描かれた図形が円形であると判断する。なお、ステップS27において所定値以上であると判定されなかったときには、ステップS34へ移行する。

0104

一方、ステップS26において同一方向の連続頻度が第1頻度未満であると判定されなかったときには、ステップS29において、同一方向の連続頻度が第2頻度(例えば、70%)以上であるか否かを判定する。例えば、三角形や四角形などの軌跡の場合には、大部分が直線であるため、方向差分が0となる箇所が多くなる。なお、第2頻度は、第1頻度よりも高い頻度であれば、第1頻度および第2頻度は例示する値に限るものではない。

0105

ステップS29において同一方向の連続頻度が第2頻度以上であると判定されなかったときには、ステップS34へ移行する。一方、ステップS29において同一方向の連続頻度が第2頻度以上であると判定されたときには、ステップS30において、方向が異なる箇所が3箇所であるか否かを判定する。方向が異なる箇所の判定は、図8に示した「方向差分」の値で判定する。「1」以上の値の方向差分が3つ格納されている場合には、ステップS30によりYESと判定し、ステップS31において四角形フラグをセットして図形判定処理を終了する。このように、図形判定処理では、スワイプ操作の始点と終点とが近接しており(S25でYES)、かつ、同一方向の連続頻度が多く(S29でYES)、さらに、方向差分が3箇所において異なることなどの四角形の形状条件を満たすことにより、スワイプ操作により描かれた図形が四角形であると判断する。

0106

一方、ステップS30において方向が異なる箇所が3箇所であると判定されなかったときには、ステップS32において、方向が異なる個所が2箇所であるか否か判定する。「1」以上の値の方向差分が2つ格納されている場合には、ステップS32によりYESと判定し、ステップS33において、三角形フラグをセットして図形判定処理を終了する。このように、図形判定処理では、スワイプ操作の始点と終点とが近接しており(S25でYES)、かつ、同一方向の連続頻度が多く(S29でYES)、さらに、方向差分が2箇所において異なることなどの三角形の形状条件を満たすことにより、スワイプ操作により描かれた図形が三角形であると判断する。

0107

また、図形判定処理では、ステップS25を行うことにより、円形、三角形、および四角形各々に共通する形状条件を満たしているか否かを一度に判定することができる。同様に、ステップS26およびステップS29を行うことにより、三角形、および四角形各々に共通する形状条件を満たしているか否かを一度に判定することができる。これにより、複数種類の図形判別を可能としつつ、図形判定処理のプログラムをよりシンプルにすることができる。

0108

ステップS32において方向が異なる個所が2箇所であると判定されなかったときには、NO)、5つ以上の角を有するような複雑な図形である可能性が高いため、ステップS34において対応図形なしフラグをセットして図形判定処理を終了する。

0109

一方、ステップS25においてスワイプ操作の始点と終点が所定範囲内であると判定されなかったときには、ステップS35において同一方向の連続頻度が第3頻度(例えば、90%)以上であるか否かを判定する。第3頻度は、第1頻度および第2頻度よりも高い頻度であれば、例示した値に限るものではない。ステップS35において同一方向の連続頻度が第3頻度以上であると判定されたときには、ステップS36において、方向が異なる個所が1箇所であるか否かを判定する。「1」以上の値の方向差分が1つ格納されている場合には、2本の直線である可能性が高い。この場合には、ステップS36によりYESと判定し、ステップS37においてチェックポイント座標から特定される2本の直線がその途中で交差しているか否かを判定する。ステップS37において直線が途中で交差していると判定されたときには、×形状フラグをセットして図形判定処理を終了する。このように、図形判定処理では、スワイプ操作の始点と終点とが近接しておらず(S25でNO)、かつ、同一方向の連続頻度が非常に多く(S35でYES)、さらに、方向差分が1箇所において異なり(S36でYES)、直線が途中で交差している(S37でYES)ことなどの×形状の形状条件を満たすことにより、スワイプ操作により描かれた図形が×形状であると判断する。一方、ステップS35〜ステップS37のいずれかにおいてNOと判定されたときには、判定対象としてない複雑な図形である可能性が高いため、ステップS34において対応図形なしフラグをセットして図形判定処理を終了する。

0110

図5に戻り、ステップS4においては、対応図形なしフラグがセットされているか否かを判定する。セットされていると判定されたときには、ステップS6において、判別不能である旨を報知する。ステップS4において対応図形なしフラグがセットされていると判定されなかったときには、ステップS5において、図形対応処理を行う。

0111

ステップS5における図形対応処理は、前述したステップS28、ステップS31、ステップS33、あるいはステップS38によりセットされた図形フラグに対応する処理である。図形フラグに対応する処理としては、例えば、図形フラグに応じて異なる態様でキャラクタを動作させる処理、図形フラグに応じて異なる技(魔法などを含む)を発生させる処理、図形フラグに応じて異なるアイテムを獲得させる処理など、図形フラグに応じて異なる処理を実行するものであればどのようなものであってもよい。これにより、図形入力モードにおいてどのような図形を入力するかといった面白さをユーザに提供することができる。なお、ステップS5またはステップS6の処理の後においては、今回のスワイプ操作に対応する処理が終了しているため、セットされているフラグがクリアされるとともに図8において示すデータもクリアされる。

0112

<変形例>
以上説明した実施形態の変形例を以下に列挙する。

0113

(1) 上記実施形態では、スワイプ操作による操作方向を特定し、図5のステップS5においては、形状のみならず操作方向に応じて異なる処理を実行するようにしてもよい。例えば、円形状を、時計回りで描いたときと、反時計回りで描いたときとで異なる処理を実行するようにしてもよい。操作方向は、例えば、格納されている方向差分のうち正数の方向差分が多い場合に時計回り方向であることを特定でき、負数の方向差分が多い場合に反時計回り方向であることを特定できる。これにより、ゲーム操作のバリエーション豊富にすることができ興趣を向上させることができる。例えば、次のような構成を備えるものであってもよい。方向領域0〜7各々に対して、当該方向領域を特定するための数値が方向領域0から予め定められた回転方向(時計回り)に向かうにしたがって大きくなるように割り振られており、チェックポイント座標に対応して記憶する方向差分の値に応じてスワイプ操作の態様(操作方向)を判定するものであってもよい。

0114

(2) 上記実施形態では、図6のステップS18、S23において方向ベクトルから方向値を算出する例について説明したが、これに限らず、例えば、方向領域0〜7各々に対応する方向値を特定するためのテーブルを予め記憶し、方向ベクトルから求められる角度から図7(D)のいずれの方向領域に属するかを特定することにより、当該方向領域に対応する方向値を特定するものであってもよい。

0115

(3) 上記実施形態では、図9のステップS27の判定条件を円形状の形状条件のみに適用している例について説明したが、これに限らず、四角形状、三角形状、および×形状すべてに共通する形状条件としてもよい。ステップS27の判定条件をすべての形状条件に適用することにより、大きく図形が描かれることが条件となる。その結果、図形判定に用いるチェックポイント座標などのデータが多くなり、図形判定の精度を向上させることができる。

0116

(4) 上記実施形態では、円形状の形状条件として図9のステップS25、S26、S27を例示したが、これに替えてあるいは加えて、方向差分の値が「1」以外の値である頻度が所定頻度未満であることを円形状の形状条件としてもよい。円形状の場合には、緩やか曲線が描かれるはずであり、そのため方向差分の値が大きくなる箇所が少ない。この点に着目して、方向差分の値が「1」以外の値である頻度が所定頻度未満であることを円形状の形状条件として、図形判定の精度を向上させるようにしてもよい。なお、形状条件の一例については、図9を用いて説明したが、図9に例示したものに替えてあるいは加えて適宜他の条件を採用してもよい。

0117

(5) 上記実施形態では、図6などで示したように、チェックポイント座標が格納されるときに、方向値と方向差分とを算出して格納する例について説明したが、これに限らず、図9における図形判定処理を実行するときにまとめて方向値および方向差分とを算出して格納するものであってもよい。これにより、処理負担をタイミング的に分散させることができる。

0118

(6)図7(D)に示した方向領域の数0〜7、ステップS11で計時する時間、ステップS13で判定する距離の閾値、ステップS14で判定する所定時間の長さ、ステップS15で判定する所定数の数、ステップS25で判定する所定範囲の距離、ステップS26で判定する第1頻度の値、ステップS27で判定する所定値の値、およびステップS35で判定する第2頻度の値のうちの何れか1つまたは2つ以上について、変更調整できるように制御してもよい。その変更調整は、ユーザの操作で行なってもよく、あるいは人工知能等を利用してユーザ毎に最適となるように機械学習して自動調整してもよい。

0119

(7) 判定可能な図形を一筆書きの図形に限定してもよい。その場合には、前述のステップS24、S35〜S38などの処理を省くことができ、記憶容量および制御負担をより一層減少させることができる。

0120

(8) 上記実施形態では、入力操作受付部191は、タッチスクリーン130の出力に基づいて、ユーザが行う入力操作を受け付けるものとして説明したが、タッチスクリーンに限らず、タッチパッドその他のポインティングデバイスによりユーザの入力操作を受け付けることとしてもよい。

0121

(9) 上記実施形態では、ゲームプログラムの例において、ユーザの入力操作に応じて図形を特定し、特定した図形に応じてゲーム制御を行う例を主に説明したが、その他のプログラムにおいても上記の図形判定処理を行い、判別された図形に応じた処理を行うこととしてもよい。例えば、プログラムが、タップ操作、フリック操作に応じて、オブジェクトに対する処理等を行うとともに、図形判定処理で判別された図形の形状を入力手段として、ユーザが円形状の図形(図形「○」)を入力した場合と、矩形上の図形(図形「□」)を入力した場合とで異なる処理を行うようにすることもできる。

0122

今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。

0123

10携帯端末、20サーバ、22通信IF、23入出力IF、25メモリ、26ストレージ、29プロセッサ、80ネットワーク、81無線基地局、82無線ルータ、110アンテナ、120無線通信IF、130タッチスクリーン、131タッチパネル、132ディスプレイ、150 記憶部、151ゲームプログラム、160音声処理部、170マイク、180スピーカ、190 制御部、191入力操作受付部、192ゲーム進行処理部、193移動操作検出部、194カメラ配置制御部、195オブジェクト制御部、196表示制御部、220 通信部、250 記憶部、251 ゲームプログラム、252ゲーム情報、253ユーザ情報、290 制御部、291送受信部、292サーバ処理部、293データ管理部、294マッチング部、295計測部。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ