(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-12
(45)【発行日】2023-07-21
(54)【発明の名称】情報処理システム、情報処理プログラム、情報処理装置、および情報処理方法
(51)【国際特許分類】
A63F 13/75 20140101AFI20230713BHJP
A63F 13/35 20140101ALI20230713BHJP
A63F 13/63 20140101ALI20230713BHJP
【FI】
A63F13/75
A63F13/35
A63F13/63
(21)【出願番号】P 2020067262
(22)【出願日】2020-04-03
【審査請求日】2022-01-27
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】有山 祐平
(72)【発明者】
【氏名】中野 史弥
【審査官】西村 民男
(56)【参考文献】
【文献】特開2016-10452(JP,A)
【文献】特開2015-144724(JP,A)
【文献】特開2009-207730(JP,A)
【文献】特開2008-289593(JP,A)
【文献】特開2004-329697(JP,A)
【文献】特開2003-323586(JP,A)
【文献】特開平9-120433(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24,13/00-13/98
G06V 10/70,30/10
(57)【特許請求の範囲】
【請求項1】
表示装置に表示される
複数種類の模様が
それぞれ対応付けられたパーツを、ユーザの配置操作に応じて仮想空間に配置する配置手段と、
前記ユーザの配置操作に応じて前記仮想空間に配置された複数のパーツの配置位置および当該パーツに対応付けられた前記模様を要素とするユーザ配置パターンが、複数のパーツの前記模様により形成される集合模様に
、配置された前記パーツの位置関係が所定の位置関係であって、かつ、配置された前記パーツに対応付けられた前記模様のそれぞれが当該配置された前記パーツの位置に対応する対応模様であるときに形成される特定模様が含まれる
、特定パターンであるか否かを判定する判定手段と、
前記ユーザ配置パターンが前記特定パターンであると判定されなかった場合は、前記ユーザ配置パターンを表す配置情報に他のユーザがアクセス可能にする一方、前記ユーザ配置パターンが前記特定パターンであると判定された場合は、前記配置情報に他のユーザがアクセスすることを制限するアクセス制御手段とを備える、情報処理システム。
【請求項2】
前記仮想空間における前記パーツの配置方向を回転させる回転手段をさらに備え、
前記判定手段は、前記複数のパーツの前記配置位置、前記模様、及び、前記配置方向を要素とする前記ユーザ配置パターンが、前記特定パターンか否かを判定する、請求項1に記載の情報処理システム。
【請求項3】
前記特定模様は、特定の図形であり、
前記判定手段は、前記ユーザ配置パターンから、複数の前記パーツの模様によって形成される前記特定の図形に対応する特定図形パターンを検出した場合、前記ユーザ配置パターンが前記特定パターンであると判定する、請求項1又は2に記載の情報処理システム。
【請求項4】
前記判定手段は、前記ユーザ配置パターンに含まれる複数のパーツについて、前記特定図形パターンに定められた例外エリアに所定の模様が存在する場合、当該複数のパーツを前記特定図形パターンとして検出しない、請求項3に記載の情報処理システム。
【請求項5】
前記特定模様は、複数の文字からなる特定の文字列であり、
前記判定手段は、前記ユーザ配置パターンから、複数の前記パーツの模様によって形成される一つの文字に対応する文字配置パターンを検出し、前記ユーザ配置パターンに複数の前記文字配置パターンが含まれる場合において、当該複数の文字配置パターンが示す文字列が前記特定の文字列であるときに、前記ユーザ配置パターンが前記特定パターンであると判定する、請求項1から4の何れかに記載の情報処理システム。
【請求項6】
前記判定手段は、前記ユーザ配置パターンに含まれる複数のパーツについて、前記文字配置パターンごとに定められた例外エリアに所定の模様が含まれる場合、当該複数のパーツを前記文字配置パターンとして検出しない、請求項5に記載の情報処理システム。
【請求項7】
前記文字配置パターンには、第1文字に対応する第1文字配置パターンと、第2文字に対応する第2文字配置パターンとが含まれ、
前記第2文字配置パターンを構成する複数の前記パーツの模様の長さの合計は、前記第1文字配置パターンを構成する複数の前記パーツの模様の長さの合計よりも長く、
前記判定手段は、前記ユーザ配置パターンに、前記第1文字としても前記第2文字としても形成され得る1つの文字に対応する特定文字配置パターンが含まれる場合、前記第1文字配置パターンよりも前記第2文字配置パターンを優先的に検出して、前記特定文字配置パターンを前記第2文字配置パターンとして認識し、前記第2文字配置パターンを含む複数の前記文字配置パターンが示す文字列が前記特定の文字列であるときに、前記ユーザ配置パターンが前記特定パターンであると判定する、請求項5又は6に記載の情報処理システム。
【請求項8】
前記文字配置パターンには、第1文字に対応する第1文字配置パターンと、第2文字に対応する第2文字配置パターンとが含まれ、
前記パーツの模様は線状の模様であり、
前記模様が前記パーツの端に到達している数を、当該パーツの接続数として、前記第2文字配置パターンを構成する前記パーツの接続数の合計は、前記第1文字配置パターンを構成する前記パーツの接続数の合計よりも多く、
前記判定手段は、前記ユーザ配置パターンに、前記第1文字としても前記第2文字としても形成され得る1つの文字に対応する特定文字配置パターンが含まれる場合、前記第1文字配置パターンよりも前記第2文字配置パターンを優先的に検出して、前記特定文字配置パターンを前記第2文字配置パターンとして認識し、前記第2文字配置パターンを含む複数の前記文字配置パターンが示す文字列が前記特定の文字列であるときに、前記ユーザ配置パターンが前記特定パターンであると判定する、請求項5又は6に記載の情報処理システム。
【請求項9】
前記判定手段は、前記ユーザ配置パターンに含まれる前記パーツが、第1の位置に配置された文字配置パターンとしても、前記第1の位置よりも前記仮想空間の基準位置に近い第2の位置に配置された文字配置パターンとしても構成され得る場合、当該パーツを前記第2の位置に配置された文字配置パターンを構成するものとして優先的に認識し、当該第2の位置に配置された文字配置パターンを含む複数の前記文字配置パターンが示す文字列が前記特定の文字列であるときに、前記ユーザ配置パターンが前記特定パターンであると判定する、請求項5から8の何れかに記載の情報処理システム。
【請求項10】
前記基準位置は、前記仮想空間の左側の位置である、請求項9に記載の情報処理システム。
【請求項11】
前記パーツの各々は、複数の模様種別のうちの少なくとも1つと対応付けられ、
前記判定手段は、同一の模様種別が対応付けられた前記パーツからなる部分集合模様ごとに、前記特定
模様を含む特定パターンか否かを判定する、請求項1から10の何れかに記載の情報処理システム。
【請求項12】
前記パーツの各々は、前記複数の模様種別として、複数の線種別のうちの1つと対応付けられる、請求項11に記載の情報処理システム。
【請求項13】
前記パーツは、四角形であり、
前記配置手段は、前記四角形の前記パーツを前記仮想空間に複数並べて配置する、請求項1から12の何れかに記載の情報処理システム。
【請求項14】
前記パーツは、少なくとも、
対応する2辺を接続する線分を前記模様として有する第1パーツ、
隣接する2辺を接続する線分を前記模様として有する第2パーツ、及び、
3辺を接続する線分を前記模様として有する第3パーツ、を有する、請求項13に記載の情報処理システム。
【請求項15】
前記情報処理システムは、ユーザ端末とサーバとを含み、
前記アクセス制御手段は、前記ユーザ端末から前記サーバへの前記配置情報のアップロードを禁止することにより、前記配置情報に他のユーザがアクセスすることを制限する、請求項1から14の何れかに記載の情報処理システム。
【請求項16】
前記ユーザ端末は、前記判定手段を備え、
前記アクセス制御手段は、前記ユーザ端末において前記ユーザ配置パターンが前記特定パターンでないと判定された場合に、前記配置情報を前記ユーザ端末から前記サーバにアップロードする、請求項15に記載の情報処理システム。
【請求項17】
前記情報処理システムは、ユーザ端末とサーバとを含み、
前記アクセス制御手段は、前記ユーザ配置パターンが前記特定パターンであると判定された場合、前記ユーザ端末から前記サーバにアップロードされた前記配置情報に他のユーザがアクセスすることを制限する、請求項1から14の何れかに記載の情報処理システム。
【請求項18】
前記複数種類の模様は、隣接するパーツに対応付けられた模様とつながる模様を含み、
前記特定模様は、配置された前記パーツに対応付けられた前記模様同士がつながって形成される模様を含む、請求項1から17の何れかに記載の情報処理システム。
【請求項19】
前記仮想空間に仮想キャラクタを配置するキャラクタ配置手段と、
前記仮想キャラクタの移動を制御するキャラクタ制御手段とをさらに備え、
前記ユーザ配置パターンによって形成される前記集合模様は、前記パーツの各模様がつながった前記仮想キャラクタの移動経路であり、
前記キャラクタ制御手段は、前記仮想キャラクタを前記集合模様上で移動させる、請求項
18に記載の情報処理システム。
【請求項20】
情報処理装置のコンピュータによって実行される情報処理プログラムであって、前記コンピュータに、
表示装置に表示される
複数種類の模様が
それぞれ対応付けられたパーツを、ユーザの配置操作に応じて仮想空間に配置する配置手段と、
前記ユーザの配置操作に応じて前記仮想空間に配置された複数のパーツの配置位置および当該パーツに対応付けられた前記模様を要素とするユーザ配置パターンが、複数のパーツの前記模様により形成される集合模様に
、配置された前記パーツの位置関係が所定の位置関係であって、かつ、配置された前記パーツに対応付けられた前記模様のそれぞれが当該配置された前記パーツの位置に対応する対応模様であるときに形成される特定模様が含まれる
、特定パターンであるか否かを判定する判定手段と、
前記ユーザ配置パターンが前記特定パターンであると判定されなかった場合は、前記ユーザ配置パターンを表す配置情報に他のユーザがアクセス可能にする一方、前記ユーザ配置パターンが前記特定パターンであると判定された場合は、前記配置情報に他のユーザがアクセスすることを制限するアクセス制御手段として機能させる、情報処理プログラム。
【請求項21】
表示装置に表示される
複数種類の模様が
それぞれ対応付けられたパーツを、ユーザの配置操作に応じて仮想空間に配置する配置手段と、
前記ユーザの配置操作に応じて前記仮想空間に配置された複数のパーツの配置位置および当該パーツに対応付けられた前記模様を要素とするユーザ配置パターンが、複数のパーツの前記模様により形成される集合模様に
、配置された前記パーツの位置関係が所定の位置関係であって、かつ、配置された前記パーツに対応付けられた前記模様のそれぞれが当該配置された前記パーツの位置に対応する対応模様であるときに形成される特定模様が含まれる
、特定パターンであるか否かを判定する判定手段と、
前記ユーザ配置パターンが前記特定パターンであると判定されなかった場合は、前記ユーザ配置パターンを表す配置情報に他のユーザがアクセス可能にする一方、前記ユーザ配置パターンが前記特定パターンであると判定された場合は、前記配置情報に他のユーザがアクセスすることを制限するアクセス制御手段とを備える、情報処理装置。
【請求項22】
情報処理システムにおいて実行される情報処理方法であって、
表示装置に表示される
複数種類の模様が
それぞれ対応付けられたパーツを、ユーザの配置操作に応じて仮想空間に配置する配置ステップと、
前記ユーザの配置操作に応じて前記仮想空間に配置された複数のパーツの配置位置および当該パーツに対応付けられた前記模様を要素とするユーザ配置パターンが、複数のパーツの前記模様により形成される集合模様に
、配置された前記パーツの位置関係が所定の位置関係であって、かつ、配置された前記パーツに対応付けられた前記模様のそれぞれが当該配置された前記パーツの位置に対応する対応模様であるときに形成される特定模様が含まれる
、特定パターンであるか否かを判定する判定ステップと、
前記ユーザ配置パターンが前記特定パターンであると判定されなかった場合は、前記ユーザ配置パターンを表す配置情報に他のユーザがアクセス可能にする一方、前記ユーザ配置パターンが前記特定パターンであると判定された場合は、前記配置情報に他のユーザがアクセスすることを制限するアクセス制御ステップとを含む、情報処理方法。
【請求項23】
表示装置に表示される模様が対応付けられたパーツを、ユーザの配置操作に応じて仮想空間に配置する配置手段と、
前記ユーザの配置操作に応じて前記仮想空間に配置された複数のパーツの配置位置および当該パーツに対応付けられた前記模様を要素とするユーザ配置パターンが、複数のパーツの前記模様により形成される集合模様に特定模様が含まれる特定パターンであるか否かを判定する判定手段と、
前記ユーザ配置パターンが前記特定パターンであると判定されなかった場合は、前記ユーザ配置パターンを表す配置情報に他のユーザがアクセス可能にする一方、前記ユーザ配置パターンが前記特定パターンであると判定された場合は、前記配置情報に他のユーザがアクセスすることを制限するアクセス制御手段とを備え、
前記判定手段は、
前記ユーザ配置パターンから、前記特定模様として特定の図形又は文字に対応する特定図形文字パターンを検出した場合、前記ユーザ配置パターンが前記特定パターンであると判定し、前記特定図形文字パターンに定められた例外エリアに所定の模様が含まれる場合、前記ユーザ配置パターンが前記特定パターンでないと判定する、情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間にオブジェクトを配置することが可能な情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法に関する。
【背景技術】
【0002】
従来より、メッセージ内に配置された文字により形成される文字の集合に禁止用語が含まれるか否かを判定するシステムが存在する(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記従来技術では、配置された文字の位置から上記判定を行うものであり、配置対象の模様を考慮して判定することができなかった。
【0005】
それ故、本発明の目的は、配置対象の模様を考慮することが可能な情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法を提供することである。
【課題を解決するための手段】
【0006】
上記の課題を解決すべく、本発明は、以下の構成を採用した。
【0007】
本発明の情報処理システムは、配置手段と、判定手段と、アクセス制御手段とを備える。配置手段は、表示装置に表示される模様が対応付けられたパーツを、ユーザの配置操作に応じて仮想空間に配置する。判定手段は、前記ユーザの配置操作に応じて前記仮想空間に配置された複数のパーツの配置位置および当該パーツに対応付けられた前記模様を要素とするユーザ配置パターンが、複数のパーツの前記模様により形成される集合模様に特定模様が含まれる特定パターンであるか否かを判定する。アクセス制御手段は、前記ユーザ配置パターンが前記特定パターンであると判定されなかった場合は、前記ユーザ配置パターンを表す配置情報に他のユーザがアクセス可能にする一方、前記ユーザ配置パターンが前記特定パターンであると判定された場合は、前記配置情報に他のユーザがアクセスすることを制限する。
【0008】
上記によれば、模様が対応付けられたパーツをユーザの配置操作に応じて仮想空間に配置することにより、仮想空間に集合模様を形成することができる。ユーザが作成した集合模様が特定模様を含む場合は、当該ユーザが作成した集合模様に、他のユーザがアクセスすることを制限することができる。
【0009】
また、情報処理システムは、前記仮想空間における前記パーツの配置方向を回転させる回転手段をさらに備えてもよい。前記判定手段は、前記複数のパーツの前記配置位置、前記模様、及び、前記配置方向を要素とする前記ユーザ配置パターンが、前記特定パターンか否かを判定してもよい。
【0010】
上記によれば、ユーザは、パーツの配置方向を変化させて仮想空間に配置することができ、仮想空間に様々な集合模様を形成することができる。
【0011】
また、前記特定模様は、特定の図形であってもよい。前記判定手段は、前記ユーザ配置パターンから、複数の前記パーツの模様によって形成される前記特定の図形に対応する特定図形パターンを検出した場合、前記ユーザ配置パターンが前記特定パターンであると判定してもよい。
【0012】
上記によれば、特定の図形が、ユーザによって作成された集合模様に含まれるか否かを判定することができる。
【0013】
また、前記判定手段は、前記ユーザ配置パターンに含まれる複数のパーツについて、前記特定図形パターンに定められた例外エリアに所定の模様が存在する場合、当該複数のパーツを前記特定図形パターンとして検出しなくてもよい。
【0014】
上記によれば、ユーザによって配置された複数のパーツが特定図形パターンに類似する場合であっても、当該特定図形パターンに定められた例外エリアに所定の模様が存在する場合には、当該複数のパーツを当該特定図形パターンとして検出しないようにすることができる。これにより、例えば、ユーザが特定の図形と認識し難いような図形を、特定の図形として認識してしまうことを抑制することができる。
【0015】
また、前記特定模様は、複数の文字からなる特定の文字列であってもよい。前記判定手段は、前記ユーザ配置パターンから、複数の前記パーツの模様によって形成される一つの文字に対応する文字配置パターンを検出し、前記ユーザ配置パターンに複数の前記文字配置パターンが含まれる場合において、当該複数の文字配置パターンが示す文字列が前記特定の文字列であるときに、前記ユーザ配置パターンが前記特定パターンであると判定してもよい。
【0016】
上記によれば、ユーザによって作成されたユーザ配置パターンに、特定の文字列が含まれるか否かを判定することができる。
【0017】
また、前記判定手段は、前記ユーザ配置パターンに含まれる複数のパーツについて、前記文字配置パターンごとに定められた例外エリアに所定の模様が含まれる場合、当該複数のパーツを前記文字配置パターンとして検出しなくてもよい。
【0018】
上記によれば、ユーザによって配置された複数のパーツが文字配置パターンに類似する場合であっても、当該文字配置パターンに定められた例外エリアに所定の模様が存在する場合には、当該複数のパーツを当該文字配置パターンとして検出しないようにすることができる。これにより、例えば、ユーザが文字と認識し難いような配置パターンを、文字として認識してしまうことを抑制することができる。
【0019】
また、前記文字配置パターンには、第1文字に対応する第1文字配置パターンと、第2文字に対応する第2文字配置パターンとが含まれてもよい。前記第2文字配置パターンを構成する複数の前記パーツの模様の長さの合計は、前記第1文字配置パターンを構成する複数の前記パーツの模様の長さの合計よりも長くてもよい。前記判定手段は、前記ユーザ配置パターンに、前記第1文字としても前記第2文字としても形成され得る1つの文字に対応する特定文字配置パターンが含まれる場合、前記第1文字配置パターンよりも前記第2文字配置パターンを優先的に検出して、前記特定文字配置パターンを前記第2文字配置パターンとして認識し、前記第2文字配置パターンを含む複数の前記文字配置パターンが示す文字列が前記特定の文字列であるときに、前記ユーザ配置パターンが前記特定パターンであると判定してもよい。
【0020】
上記によれば、情報処理システムは、第1の文字としても第2の文字としても形成され得る複数のルートパーツについて、第2の文字として認識することができ、例えば、よりユーザに文字として認識され易い方の文字を認識することができる。
【0021】
また、前記文字配置パターンには、第1文字に対応する第1文字配置パターンと、第2文字に対応する第2文字配置パターンとが含まれてもよい。前記パーツの模様は線状の模様であり、前記模様が前記パーツの端に到達している数を、当該パーツの接続数として、前記第2文字配置パターンを構成する前記パーツの接続数の合計は、前記第1文字配置パターンを構成する前記パーツの接続数の合計よりも多くてもよい。前記判定手段は、前記ユーザ配置パターンに、前記第1文字としても前記第2文字としても形成され得る1つの文字に対応する特定文字配置パターンが含まれる場合、前記第1文字配置パターンよりも前記第2文字配置パターンを優先的に検出して、前記特定文字配置パターンを前記第2文字配置パターンとして認識し、前記第2文字配置パターンを含む複数の前記文字配置パターンが示す文字列が前記特定の文字列であるときに、前記ユーザ配置パターンが前記特定パターンであると判定してもよい。
【0022】
上記によれば、情報処理システムは、第1の文字としても第2の文字としても形成され得る複数のルートパーツについて、第2の文字として認識することができ、例えば、よりユーザに文字として認識され易い方の文字を認識することができる。
【0023】
また、前記判定手段は、前記ユーザ配置パターンに含まれる前記パーツが、第1の位置に配置された文字配置パターンとしても、前記第1の位置よりも前記仮想空間の基準位置に近い第2の位置に配置された文字配置パターンとしても構成され得る場合、当該パーツを前記第2の位置に配置された文字配置パターンを構成するものとして優先的に認識し、当該第2の位置に配置された文字配置パターンを含む複数の前記文字配置パターンが示す文字列が前記特定の文字列であるときに、前記ユーザ配置パターンが前記特定パターンであると判定してもよい。
【0024】
上記によれば、ユーザによって配置されたパーツが、複数の文字配置パターンの一部を構成する場合であっても、仮想空間の基準位置に近い第2の位置に配置された文字配置パターンの一部として見なすことができる。これにより、仮想空間の基準位置に近い文字配置パターンを優先的に認識させることができる。
【0025】
また、前記基準位置は、前記仮想空間の左側の位置であってもよい。
【0026】
上記によれば、仮想空間の左側に位置する文字配置パターンを優先的に認識させることができる。
【0027】
また、前記パーツの各々は、複数の模様種別のうちの少なくとも1つと対応付けられ、前記判定手段は、同一の模様種別が対応付けられた前記パーツからなる部分集合模様ごとに、前記特定態様を含む特定パターンか否かを判定してもよい。
【0028】
上記によれば、同一の模様種別によって構成される部分集合模様ごとに、前記特定態様を含むか否かを判定することができる。
【0029】
また、前記パーツの各々は、前記複数の模様種別として、複数の線種別のうちの1つと対応付けられてもよい。
【0030】
上記によれば、模様の種別として複数の線種別があり、線の種別毎に前記特定態様を含むか否かを判定することができる。
【0031】
前記パーツは、四角形であり、前記配置手段は、前記四角形の前記パーツを前記仮想空間に複数並べて配置してもよい。
【0032】
上記によれば、仮想空間に四角形のパーツを配置することで集合模様を形成することができる。
【0033】
また、前記パーツは、少なくとも、対応する2辺を接続する線分を前記模様として有する第1パーツ、隣接する2辺を接続する線分を前記模様として有する第2パーツ、及び、3辺を接続する線分を前記模様として有する第3パーツ、を有してもよい。
【0034】
上記によれば、少なくとも3つのパーツによって集合模様を形成することができる。
【0035】
また、前記情報処理システムは、ユーザ端末とサーバとを含んでもよい。前記アクセス制御手段は、前記ユーザ端末から前記サーバへの前記配置情報のアップロードを禁止することにより、前記配置情報に他のユーザがアクセスすることを制限してもよい。
【0036】
上記によれば、前記配置情報のサーバへのアップロードを禁止することで、他のユーザが前記配置情報にアクセスすることを制限することができる。
【0037】
また、前記ユーザ端末は、前記判定手段を備えてもよい。前記アクセス制御手段は、前記ユーザ端末において前記ユーザ配置パターンが前記特定パターンでないと判定された場合に、前記配置情報を前記ユーザ端末から前記サーバにアップロードしてもよい。
【0038】
上記によれば、ユーザ端末側で上記判定を行うことができ、それによりサーバの処理負荷を低減することができる。
【0039】
また、前記情報処理システムは、ユーザ端末とサーバとを含んでもよい。前記アクセス制御手段は、前記ユーザ配置パターンが前記特定パターンであると判定された場合、前記ユーザ端末から前記サーバにアップロードされた前記配置情報に他のユーザがアクセスすることを制限してもよい。
【0040】
上記によれば、サーバ側で前記配置情報へのアクセス制限を行うことができる。
【0041】
また、情報処理システムは、前記仮想空間に仮想キャラクタを配置するキャラクタ配置手段と、前記仮想キャラクタの移動を制御するキャラクタ制御手段とをさらに備えてもよい。前記ユーザ配置パターンによって形成される前記集合模様は、前記パーツの各模様がつながった前記仮想キャラクタの移動経路であり、前記キャラクタ制御手段は、前記仮想キャラクタを前記集合模様上で移動させてもよい。
【0042】
上記によれば、仮想キャラクタの移動経路である集合模様をユーザが作成することができる。
【0043】
また、他の発明は、情報処理プログラムであってもよいし、情報処理装置であってもよい。また、他の発明は、上記情報処理システムにおいて行われる情報処理方法であってもよい。
【発明の効果】
【0044】
本発明によれば、ユーザは、模様が対応付けられたパーツを仮想空間に配置することで集合模様を作成することができ、ユーザが作成した集合模様に特定模様が含まれる場合は、当該集合模様に他のユーザがアクセスすることを制限することができる。
【図面の簡単な説明】
【0045】
【
図2】本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図
【
図3】本体装置2の内部構成の一例を示すブロック図
【
図4】本体装置2のディスプレイ12に表示されるゲーム画像のうち、仮想空間に所望のゲームワールドを作成/編集するゲームワールド作成画面の一例を示す図
【
図5】ゲームワールドを構成する複数のルートパーツの一例を示す図
【
図6】複数のルートパーツによって形成された文字のように見えるルートの一例を示す図
【
図7】基本的なパーツと、それと同一と見なされるパーツの一例を示す図
【
図8】同一と見なされるパーツによって構成されたルートパーツ群の一例を示す図であって、文字「e」として認識されるルートパーツ群の一例を示す図
【
図9】文字配置パターン毎に定められた例外エリアの一例を示す図
【
図10】例外エリアにルートが伸びているため、文字「P」とは認識されないパターンの一例を示す図
【
図11】例外エリアにルートが伸びていないため、文字「P」と認識されるパターンの一例を示す図
【
図12】左優先認識処理が行われない場合における文字の認識の一例を示す図
【
図13】左優先認識処理が行われる場合における文字の認識の一例を示す図
【
図14】ルートパーツが2つの文字配置パターンの一部として構成される例を示す図
【
図15】接続数優先認識処理の概要を説明するための図
【
図16】ゲームシステム1に記憶されるデータの一例を示す図
【
図17】ゲームシステム1のプロセッサ81によって実行される処理の一例を示すフローチャート
【
図18】ステップS2のゲームワールド作成処理の一例を示すフローチャート
【
図19】ステップS205の禁止図形判定処理の一例を示すフローチャート
【
図20】ステップS206の禁止ワード判定処理の一例を示すフローチャート
【発明を実施するための形態】
【0046】
以下、本実施例の情報処理システムについて説明する。
図1は、本実施例の情報処理システムの一例を示す図である。
【0047】
図1に示されるように、情報処理システムは、サーバと、複数のゲームシステム(ゲーム装置)とを含む。サーバは、図示しないCPUと、メモリと、ハードディスク等の記憶装置とを含み、複数のゲームシステム1とインターネットを介して通信可能に構成される。
【0048】
各ゲームシステム1は、それぞれのユーザによって操作される。詳細は後述するが、ゲームシステム1は、ユーザの配置操作に応じて、複数のルートパーツの配置に関する配置情報を生成する。ユーザは、生成した配置情報をサーバにアップロードすることにより、自身が生成した配置情報を公開可能である。サーバは、アップロードされた配置情報を、自機の記憶装置に記憶する。他のユーザは、サーバにアップロードされた配置情報をダウンロードすることができる。他のユーザは、ダウンロードした配置情報に基づいて、ゲームを行うことができる。
【0049】
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含み、情報処理システムとしても機能する。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる。以下では、本実施形態のゲームシステム1のハードウェア構成について説明し、その後に本実施形態のゲームシステム1の制御について説明する。
【0050】
図2は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。
図2に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部(押下可能な複数のボタンや方向指示可能なアナログスティック等)を備える装置である。
【0051】
図2に示すように、本体装置2は、ディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
【0052】
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
【0053】
図3は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0054】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0055】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0056】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0057】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0058】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0059】
プロセッサ81は、上述の左側端子17、右側端子21、および下側端子27に接続される。プロセッサ81は、左コントローラ3と有線通信を行う場合、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信する。また、プロセッサ81は、右コントローラ4と有線通信を行う場合、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信する。また、プロセッサ81は、クレードルと通信を行う場合、下側端子27を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置または本体装置2単体がクレードルに装着された場合、本体装置2は、クレードルを介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
【0060】
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
【0061】
本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とプロセッサ81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ81へ出力する。
【0062】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0063】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0064】
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0065】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0066】
(ゲーム処理の概要)
図4を用いてゲームシステム1において行われるゲーム処理の概要について説明する。
図4は、本体装置2のディスプレイ12に表示されるゲーム画像のうち、仮想空間に所望のゲームワールドを作成/編集するゲームワールド作成画面の一例を示す図である。なお、以下の説明では、ゲームシステム1はアプリケーションの一例としてゲームアプリケーションを実行するものとするが、ゲームシステム1において他のアプリケーションが実行されてもよい。
【0067】
図4において、ゲームシステム1のディスプレイ12には、ゲームシステム1でプレイされるゲームで用いられるゲームワールドを作成/編集するためのゲーム画像が表示されている。例えば、本実施例におけるゲームワールドは、移動開始位置(スタートポイント;
図4における「S」字表記)から到達目標位置(ゴールポイント;
図4における「G」字表記)までのルートを示す画像によって表される。仮想空間に配置されたプレイヤオブジェクトPOは、ユーザ操作に応じて、ルートに沿ってスタートポイントからゴールポイントまで移動する。具体的には、
図4に示すように、スタートポイントからゴールポイントまでのルートは、分岐可能であり、当該ルートの途中にコースポイント(
図4における黒塗りつぶしの丸印)を設定可能である。ここで、コースポイントは、プレイヤオブジェクトPOが到達することによって、上記ゲームワールドとは別次元の少なくとも1つのゲームステージを用いたゲームをプレイすることができる位置である。コースポイントに設定されたゲームステージが全てクリアされることによって、プレイヤオブジェクトPOが当該コースポイントを通過してルートに沿ったゴールポイントへ向かって移動可能となる。そして、上記ゲームワールドにおけるエンドポイントにプレイヤオブジェクトPOが到達した場合に、当該ゲームワールドを用いたゲームがクリアされる。
【0068】
本実施例では、スタートポイント及びゴールポイントは、予め仮想空間に設定されている。ユーザは、スタートポイントからゴールポイントまでのルートを作成/編集することができる。例えば、ディスプレイ12に表示される仮想空間全体は、複数のグリッド(
図4の例では、4行7列のグリッド)に分割されている。各グリッド内に配置可能な複数種類のルートパーツが予め用意されており、ユーザは、仮想空間の各グリッドにルートパーツを配置することによって、仮想空間内にルートを形成することができる。本実施例では、仮想空間全体が同じサイズの正方形グリッドで分割され、当該グリッドに配置可能な正方形のルートパーツが用意されている。なお、本実施例では、2次元のルートパーツを平面的に配置することにより2次元のゲームワールドが形成されるものとするが、他の実施例では、3次元のパーツを立体的に配置することで3次元のゲームワールドが形成されてもよい。
【0069】
各ルートパーツの内部には、ルートの一部を構成するルート画像(模様)が描画されている。複数のルートパーツが仮想空間に配置されることによって、各ルートパーツ内のルート画像同士が接続され、移動開始位置から到達目標位置までのルート(集合模様)が形成される。例えば、ゲームワールド上に形成される地形には複数の種類があり、例えば、野原、地下、砂漠、森、雪原、空、海、宇宙、火山等がある。本実施例では、地形毎に複数のルートパーツが用意されている。例えば、野原に対応する複数のルートパーツ、雪原に対応する複数のルートパーツ等が用意されている。以下、ルートパーツの一例について、
図5を参照して説明する。
【0070】
図5は、ゲームワールドを構成する複数のルートパーツの一例を示す図である。
図5に示されるように、ゲームワールドを構成するルートパーツとして、大別して、メインルートパーツと、サブルートパーツの2種類のルートパーツが用意されている。メインルートパーツは、プレイヤオブジェクトが主に移動するルートを形成するためのパーツであり、地形の一部を構成するパーツである。メインルートパーツは、地形に応じた背景画像(例えば、野原を示す緑色の背景画像、雪原を示す白色の背景画像)と、実線のルート画像とを含む。また、サブルートパーツは、プレイヤオブジェクトの迂回ルートを形成するためのパーツであり、地形に応じた背景画像(例えば海を示す青色の背景画像)と、点線のルート画像とを含む。複数のメインルートパーツが仮想空間に配置されることによって実線のルートが形成され、複数のサブルートパーツが仮想空間に配置されることによって点線のルートが形成される。
【0071】
図5に示されるように、各種類のルートパーツは、それぞれ、異なる形状のルート画像(模様)が描かれた複数のルートパーツを有する。具体的には、メインルートパーツ及びサブルートパーツは、それぞれ、無方向パーツ、1方向パーツ、2方向I字パーツ、2方向L字パーツ、3方向パーツ、および曲線パーツを有する。
【0072】
無方向パーツは、ルート画像(模様)が描かれていない地形を構成するパーツである。無方向パーツは、ルートを形成せず、プレイヤオブジェクトが移動不可能な領域である。
【0073】
1方向パーツは、他のルートパーツと接続可能であり、接続方向が正方形の4辺のうちの1辺に設定され、行き止まりのルート画像(半直線の模様)が描画されたルートパーツである。ここで「接続方向」とは、ルートパーツの中心から、ルート画像が到達している辺に向かう方向であり、ルート画像が到達している辺に対して設定される。
図5に示す例では、1方向パーツのルート画像は、正方形の中心から右辺まで伸びており、当該右辺に対して接続方向が設定されている。2つのルートパーツが隣接配置された場合に、接続方向が設定されている辺同士が接する場合には、2つのルートパーツのルート画像は接続される。すなわち、接続方向は、ルートパーツの中心を基準とした、他のルートパーツのルート画像と接続可能な辺の位置であると言える。また、1方向パーツの接続数は「1」である。ここで、「接続数」は、ルート画像がルートパーツの辺まで到達している数であり、隣接するルートパーツのルート画像と接続可能な数である。また、1方向パーツは回転可能に構成されており、配置方向(回転角)として、0度、90度、180度、270度の何れかを設定可能である。1方向パーツが回転されることによって、接続方向が変化する。なお、
図5では、回転角が0度の各ルートパーツが示されている。例えば、
図5に示す1方向パーツの回転角が90度に設定された場合、当該1方向パーツの接続方向は下方向(下辺)になる。
【0074】
2方向I字パーツは、上記接続方向が正方形の4辺のうちの対向する2辺に設定され、直線のルート画像(I字型の模様)が描画されたルートパーツである。2方向I字パーツの中心からルート画像が2つの辺に到達しているため、2方向I字パーツの接続数は「2」である。また、2方向I字パーツは回転可能に構成されており、配置方向(回転角)として、0度、90度、180度、270度の何れかを設定可能である。
【0075】
2方向L字パーツは、上記接続方向が正方形の4辺のうちの隣接する2辺に設定され、直角に曲がるルート画像(L字型の模様)が描画されたルートパーツである。2方向L字パーツの接続数は「2」である。また、2方向L字パーツは回転可能に構成されており、配置方向(回転角)として、0度、90度、180度、270度の何れかを設定可能である。
【0076】
3方向パーツは、上記接続方向が正方形の4辺のうちの3辺に設定され、T字型のルート画像(T字型の模様)が描画されたルートパーツである。3方向パーツの中心からルート画像が3つの辺に到達しているため、3方向パーツの接続数は「3」である。また、3方向パーツは回転可能に構成されており、配置方向(回転角)として、0度、90度、180度、270度の何れかを設定可能である。
【0077】
また、曲線パーツは、上記接続方向が正方形の4辺のうちの隣接する2辺に設定され、曲線のルート画像(曲線型の模様)が描画されたルートパーツである。曲線パーツのルート画像が2つの辺に到達しているため、曲線パーツの接続数は「2」である。また、曲線パーツは回転可能に構成されており、配置方向(回転角)として、0度、90度、180度、270度の何れかを設定可能である。
【0078】
このように、1方向パーツ、2方向I字パーツ、2方向L字パーツ、3方向パーツ、および曲線パーツには、それぞれ異なる形状の模様(ルート画像)が描かれている。模様の形状としては、メインルートパーツもサブルートパーツも同じであるが、その表示態様は両者で異なる。すなわち、メインルートパーツの模様は実線であり、サブルートパーツの模様は点線である。
【0079】
なお、
図5は単なる一例であり、他のルートパーツが用意されていてもよい。例えば、十字型のルート画像が描画されたルートパーツが、さらに用意されてもよい。
【0080】
また、地形に応じて、
図5で示した複数のメインルートパーツと、複数のサブルートパーツとが用意されている。ルートパーツに含まれる背景画像は地形に応じて異なるが、ルートパーツに含まれるルート画像は各地形で共通である。すなわち、何れの地形を構成するメインルートパーツであっても、その内部のルート画像は実線により描かれている。また、何れの地形を構成するサブルートパーツであっても、その内部のルート画像は点線により描かれている。
【0081】
なお、地形に応じて、メインルートパーツ及びサブルートパーツに含まれるルート画像の表示態様が異なってもよい。例えば、野原の地形を示すメインルートパーツのルート画像は、緑色で描かれ、雪原の地形を示すメインルートパーツのルート画像は、白色で描かれてもよい。1つのゲームワールド(画面)には、1つの地形を示すルートパーツのみ配置されてもよい。また、1つのゲームワールドに複数の地形を示すルートパーツが混在されてもよい。この場合、例えば、画面の右側には緑色のルート(野原の地形)が描かれ、画面の左側は白色のルート(雪原の地形)が描かれてもよい。
【0082】
ユーザは、用意されている複数のルートパーツの中から選択したルートパーツを仮想空間のグリッドと一致するように配置することができる。そして、隣接して配置されたルートパーツにおいて、当該ルートパーツが接触している互いの辺の何れにも接続方向が設定されている場合、すなわち接続方向が設定されている辺同士が接合している場合、それぞれのルートパーツに描画されているルート画像が接続される。
【0083】
ユーザによって選択されたルートパーツの配置位置および配置方向は、ユーザ操作によって設定される。例えば、タッチパネル13を用いたタッチ操作によって、ルートパーツの配置位置および配置方向が設定される。ユーザは、タッチオンしたルートパーツをドラッグすることによって、当該ルートパーツを所望のグリッドの位置に配置することができ、配置後にルートパーツをタップすることによって、当該ルートパーツを所定の方向(例えば、時計方向)に90度ずつ回転させて配置方向を変化させることができる。
【0084】
例えば、
図4に例示されているように、ユーザは、1方向パーツをタッチオンしてスタートポイントが設定された3行1列目のグリッドにドラッグすることによって、1方向パーツを3行1列目のグリッドに配置する。次に、ユーザは、2方向I字パーツをドラッグして、その右隣りのグリッド(3行2列目のグリッド)に配置する。すると、これら2つのルートパーツ(メインルートパーツ)は、互いに接続され、プレイヤオブジェクトPOが移動可能なルートとして形成される。さらに、3行3列目のグリッドに2方向I字パーツが配置され、3行4列目のグリッドに3方向パーツが配置される。さらに、3行5列目のグリッドに2方向I字パーツが配置され、2行4列目のグリッドに2方向I字パーツが配置された後に、当該2方向I字パーツが1回タップされると、当該2方向I字パーツが90度回転する。すると、プレイヤオブジェクトPOが移動可能なルートは、3行4列目のグリッドを起点として上方向と右方向の2つに分かれることになる。
【0085】
このように異なる形状のルート画像(模様)が描かれた複数のルートパーツが仮想空間に配置されることによって、スタートポイントからゴールポイントまでのルート(集合模様)が形成される。ユーザによって形成されたルートを含むゲームワールドは、複数のルートパーツの配置パターンとして表されることができる。ここで、「配置パターン」とは、各ルートパーツの配置位置、各ルートパーツの模様(ルート画像)、及び、各ルートパーツの配置方向(回転情報)を含む情報である。ユーザの配置操作によってルートが作成された場合、当該ユーザによって作成されたユーザ配置パターンを表す配置情報が、ゲームシステム1の記憶媒体(例えば、フラッシュメモリ84、DRAM85、スロット23に装着された外部記憶媒体等)に記憶される。ゲームシステム1は、記憶媒体に記憶された配置情報に基づいて仮想空間内に各ルートパーツを配置することにより、ユーザが作成/編集したゲームワールドを形成する。ユーザは、当該ゲームワールドにおいて、プレイヤオブジェクトPOを移動させながらゲームを進めることができる。
【0086】
また、上述したように、ユーザ(第1のユーザ)は、自身が作成したユーザ配置パターンを表す配置情報を公開するために、当該配置情報をサーバにアップロードすることができる。サーバは、第1のユーザによってアップロードされた配置情報に、他のユーザ(第2のユーザ)がアクセスすることを可能にする。第2のユーザは、自身のゲームシステム1を用いてサーバにアクセスして、第1のユーザによってアップロードされた配置情報をダウンロード(取得)することができる。第2のユーザは、ダウンロードした配置情報を自身のゲームシステム1に読み込ませることで、第1のユーザが作成したルートを含むゲームワールドを用いてゲームを行うことができる。
【0087】
ここで、ユーザは、線状のルート画像が描かれた複数のルートパーツを用いて様々なルートを形成することができ、例えば、文字や図形のように見えるルートを形成することもできる。
【0088】
図6は、複数のルートパーツによって形成された文字のように見えるルートの一例を示す図である。
図6に示されるように、例えば、2行2列目、2行3列目、3行2列目、3行3列目、4行2列目、及び4行3列目に配置された6個のメインルートパーツによって形成されるルート(部分集合模様)は、文字「e」のように見える。なお、以下では、n行m列目の位置を(n,m)と表記する。
【0089】
また、(2,4)、(3,4)、(3,5)、(4,4)、及び(4,5)に配置された5個のサブルートパーツによって形成されるルート(部分集合模様)は、文字「b」のように見える。また、(2,6)、(2,7)、(3,6)、(4,6)、及び(4,7)に配置された5個のメインルートパーツによって形成されるルート(部分集合模様)は、文字「C」のように見える。結果として、これら16個のルートパーツによって形成されるルートは、文字列「ebC」のように見える。
【0090】
ここで、本実施例では、特定の文字列や図形を含むルートが公開されることを制限する。具体的には、ユーザによって作成されたユーザ配置パターンが、複数のルートパーツの模様によって形成される集合模様に特定模様が含まれる特定パターンか否かを判定する。特定模様は、例えば、予め登録された禁止ワードや禁止図形を示す模様である。ユーザ配置パターンが特定パターンである場合は、当該ユーザ配置パターンを表す配置情報のゲームシステム1からサーバへのアップロードが禁止される。一方、ユーザ配置パターンが特定パターンでない場合は、当該ユーザ配置パターンを表す配置情報のゲームシステム1からサーバへのアップロードが許可される。
【0091】
(禁止ワードのアップロード制限)
以下、ユーザによってルートが作成された場合に実行される禁止ワード(特定模様の一例)のアップロード制限について説明する。
【0092】
(文字配置パターンの定義)
本実施例では、1つの文字(数字を含む)に対応する文字配置パターンが、文字毎に予め定義されている。ここで、「文字配置パターン」とは、複数のルートパーツが配置されることによって形成されるルートが、所定の1文字に見えるようなルートパーツの配置パターンであり、各ルートパーツの配置位置、模様、及び配置方向を要素とするパターンである。例えば、
図6に示されるように、文字「e」に対応する文字配置パターン、文字「b」に対応する文字配置パターン、及び、文字「C」に対応する文字配置パターンが、それぞれ予め定義されている。
【0093】
ユーザによってユーザ配置パターンが作成された場合、当該ユーザ配置パターンから予め定義された文字配置パターンを検出する文字検出が行われる。本実施例では、メインルートパーツ(実線のルート画像)とサブルートパーツ(点線のルート画像)とで分けて文字検出が行われる。具体的には、複数のメインルートパーツが、予め定義された文字配置パターンと一致するか否かを判定することにより、文字検出が行われる。また、複数のサブルートパーツが、予め定義された文字配置パターンと一致するか否かを判定することにより、文字検出が行われる。言い換えると、本実施例では、メインルートパーツとサブルートパーツとが混在する複数のルートパーツは、1つの文字を形成するものとは見なされない。すなわち、本実施例では、同一の模様種別(ルート画像の表示態様)が対応付けられた複数のルートパーツ(同一の種類の複数のルートパーツ)からなる部分集合模様ごとに、文字検出が行われる。
【0094】
ここで、文字検出において、複数のルートパーツを含むルートパーツ群が、予め定義された文字配置パターンを構成するルートパーツと同一と見なされるルートパーツによって構成されている場合、当該ルートパーツ群は、当該文字配置パターンとして検出される。
【0095】
図7は、基本的なパーツと、それと同一と見なされるパーツの一例を示す図である。
図7に示されるように、文字検出においては、右側に列挙された複数のパーツは、左側の基本的なパーツ(A)~(C)と同一として見なされる。言い換えると、文字配置パターンを検出する際には、左側の「基本的なパーツ」は、その右側の「同一と見なされるパーツ」として列挙されたパーツに代替されることができる。右側に列挙された複数のパーツは、
図5で示した各メインルートパーツを適宜の角度で回転させたものである。
【0096】
具体的には、回転角が90度の2方向I字パーツ(a-1)、回転角が270度の2方向L字パーツ(a-2)、及び、回転角が180度の3方向パーツ(a-3)は、回転角が0度の1方向パーツ(A)と同一のルートパーツとして見なされる。すなわち、1方向パーツ(A)の接続方向は右方向であり、1方向パーツ(A)は、右方向を接続方向として有する別のパーツに代替されることができる。
【0097】
また、回転角が180度の3方向パーツ(b-1)、及び、回転角が0度の3方向パーツ(b-2)は、回転角が0度の2方向I字パーツ(B)と同一のルートパーツとして見なされる。また、回転角が180度の3方向パーツ(c-1)、及び、回転角が0度の曲線パーツ(c-2)は、回転角が0度の2方向L字パーツ(C)と同一のルートパーツとして見なされる。また、2方向L字パーツ(d-1)は、曲線パーツ(D)と同一と見なされる。
【0098】
なお、
図7では、基本的なパーツとして回転角が0度のルートパーツが示されているが、基本的なパーツが回転されている場合も同様である。すなわち、
図7の左側の「基本的なパーツ」が回転されている場合、右側の「同一と見なされるパーツ」も同じ角度だけ回転される。例えば、(a-1)~(a-3)のそれぞれを90度回転させたパーツは、90度回転された1方向パーツと同一のパーツと見なされる。また、(b-1)又は(b-2)を90度回転させたパーツは、90度回転された2方向I字パーツと同一のパーツと見なされる。
【0099】
図8は、同一と見なされるパーツによって構成されたルートパーツ群の一例を示す図であって、文字「e」として認識されるルートパーツ群の一例を示す図である。予め定義された「e」に対応する文字配置パターンは、例えば、
図6の左側に示した6個のルートパーツの配置パターンである。なお、「e」に対応する文字配置パターンは、
図6の左側に限らず、複数定義されていてもよい。
【0100】
ここで、
図6の左側に示した6個のルートパーツと、
図8の左側の6個のルートパーツとを比較すると、
図8の(4,2)のルートパーツ(点線で囲まれたパーツ)のみ異なる。この(4,2)のルートパーツは、左、上、右を接続方向として有する3方向パーツであり、これは、
図7の(c-1)を180度回転させたものと同じ模様である。このため、この(4,2)のルートパーツは、
図7の(C)を180度回転させた2方向L字パーツと同一のものとして見なされる。したがって、
図8の左側の6個のルートパーツは、
図6の左側に示した6個のルートパーツと一致すると見なされ、文字「e」として認識される。
【0101】
同様に、
図6の左側に示した6個のルートパーツと、
図8の右側の6個のルートパーツとを比較すると、(2,5)、(2,6)、及び(3,6)に配置されたルートパーツが異なる。(2,5)に配置された曲線パーツは、回転角が270度の2方向L字パーツと同一として見なされる。(2,6)に配置された3方向パーツは、回転角が0度の2方向L字パーツと同一として見なされる。また、(3,6)に配置された曲線パーツは、回転角が90度の2方向L字パーツと同一として見なされる。したがって、
図8の右側の6個のルートパーツは、
図6の左側に示した6個のルートパーツと一致すると見なされ、文字「e」として認識される。
【0102】
このように、ユーザにより作成された複数のルートパーツによって構成されるルートパーツ群が、定義された文字配置パターンと完全に一致しなくても、同一と見なされるルートパーツによって構成されている場合には、当該ルートパーツ群は、当該文字配置パターンに対応する文字として認識される。
【0103】
(例外エリア)
ここで、各文字配置パターンには、例外エリアが設けられている。以下、例外エリアについて説明する。
【0104】
図9は、文字配置パターン毎に定められた例外エリアの一例を示す図である。
図10は、例外エリアにルートが伸びているため、文字「P」とは認識されないパターンの一例を示す図である。
図11は、例外エリアにルートが伸びていないため、文字「P」と認識されるパターンの一例を示す図である。
【0105】
図9の(a)及び(b)は、文字「p」又は「P」に対応する文字配置パターンである。なお、
図9では、各文字配置パターンにおける複数のルートパーツの位置は、仮想空間における絶対位置(n行m列目として表される位置)として表されるように見えるが、実際には、各ルートパーツの位置は相対位置として定義されている。したがって、例えば、
図9の(a)に示される各ルートパーツの位置が、右に1又は複数グリッド分ずれていても、
図9の(a)に示すパターンと同じである。
【0106】
図9に示されるように、各文字配置パターンには、例外エリアが設けられている。ここで、例外エリアは、そのエリアにルートが伸びている場合には、その文字とは認識されないエリアである。例えば、
図9の(a)に示される文字配置パターンは、(2,1)、(2,2)、(2,3)、(3,1)、(3,2)、(3,3)、及び(4,1)の7個のルートパーツによって文字「P」が形成される。この文字配置パターンにおいて、(4,2)及び(4,3)の位置に例外エリアが設定されている。この例外エリアにルートパーツが配置され、かつ、例外エリアに配置されたルートパーツのルート画像が、この文字配置パターンを構成する他のルートパーツのルート画像と接続される場合、これら8個のルートパーツによって構成されるルートパーツ群は、文字「P」とは認識されない。
【0107】
例えば、
図10に示されるように、(2,1)、(2,2)、(2,3)、(3,1)、(3,2)、(3,3)に配置された6個のルートパーツは、
図9の(a)の同じ位置に配置された6個のルートパーツと一致する。また、
図10の(4,1)に配置された2方向L字パーツは、270度回転された1方向パーツ(接続方向が上辺の1方向パーツ)と同一と見なされる。このため、例外エリアが考慮されない場合、
図10におけるこれら7個のルートパーツは、文字「P」として認識される。しかしながら、
図10では、例外エリアとして設定されている(4,2)には、(4,1)の2方向L字パーツと接続される2方向I字パーツが配置されており、(4,1)から例外エリアにルートが伸びている。このため、これら(2,1)、(2,2)、(2,3)、(3,1)、(3,2)、(3,3)、(4,1)、及び、(4,2)に配置された8個のルートパーツは、文字「P」として認識されない。このように、文字配置パターンに設定された例外エリアにルートが伸びている場合には、当該文字配置パターンに対応する文字には見えないため、当該文字配置パターンに対応する文字としては認識されない。
【0108】
一方、
図11に示されるパターンでは、例外エリアとして設定されている(4,2)には、2方向L字パーツが配置されているものの、当該(4,2)に配置された2方向L字パーツは、(4,1)及び(3,2)に配置されたルートパーツとは接続されていない。すなわち、文字「P」を構成するエリアから例外エリアには、ルートが伸びていない。このため、これら(2,1)、(2,2)、(2,3)、(3,1)、(3,2)、(3,3)、及び、(4,1)に配置された7個のルートパーツは、通常どおり、文字「P」として認識される。このように、文字配置パターンに設定された例外エリアにルートが伸びていない場合には、当該文字配置パターンに対応する文字として認識される。
【0109】
(文字の優先認識)
次に、文字の優先認識について説明する。本実施例では、複数のルートパーツを文字として認識する際に、左優先認識処理と接続数優先認識処理とが行われる。以下、各処理について説明する。
【0110】
図12は、左優先認識処理が行われない場合における文字の認識の一例を示す図である。
図13は、左優先認識処理が行われる場合における文字の認識の一例を示す図である。
【0111】
(4,1)、(2,2)、(3,2)、(4,2)、(2,3)、(3,3)、(4,3)、(2,4)、(3,4)、及び(4,4)の位置に、それぞれ
図12に示すようなルートパーツが配置されている。この配置パターンにおいて、仮に左優先認識処理が行われない場合、点線によって囲まれる6個のルートパーツ((2,2)、(3,2)、(4,2)、(2,3)、(3,3)及び(4,3)のルートパーツ)によって構成されるルートパーツ群は、文字「n」に対応する文字配置パターンとして認識され得る。この6個のルートパーツによって構成されるルートパーツ群が文字「n」として認識された場合、当該ルートパーツ群の左側に残った(4,1)のルートパーツは、文字の一部を構成しない。また、当該ルートパーツ群の右側の一点鎖線で囲まれた(2,4)、(3,4)、及び(4,4)の3個のルートパーツは、例えば文字「I」として認識されてもよい。
【0112】
一方、左優先認識処理が行われる場合、仮想空間の左下に近いほど優先的に文字検出が行われる。例えば、
図13に示されるように、点線で囲まれた(4,1)、(4,2)、(3,2)、及び(2,2)の4個のルートパーツは、予め定義された文字「J」に対応する文字配置パターンと一致する(又は、同一と見なされる)。このため、これら4個のルートパーツは、文字「J」に対応する文字配置パターンとして認識される。その後、さらに、これら4個のルートパーツを除いて、文字検出が行われる。その結果、
図13の一点鎖線によって囲まれる6個のルートパーツ((2,3)、(3,3)、(4,3)、(2,4)、(3,4)、及び(4,4)のルートパーツ)は、文字「O」に対応する文字配置パターンとして認識される。したがって、
図13に示される配置パターンは、文字列「JO」として認識される。
【0113】
このように、本実施例では、ある位置に配置された複数のルートパーツが、複数の文字配置パターンを構成するルートパーツに共通して含まれる場合、仮想空間の左下の位置により近い文字配置パターンを優先して検出する左優先認識処理が行われる。具体的には、本実施例では、ユーザ配置パターンに含まれる複数のルートパーツが、第1の位置に配置された文字配置パターンとしても第2の位置に配置された文字配置パターンとしても構成され得る場合、当該ルートパーツを、仮想空間の左下に近い方の第2の位置に配置された文字配置パターンを構成するルートパーツとして見なす。つまり、ユーザ配置パターンにおける、第1の位置に配置された文字配置パターンと当該第1の位置よりも仮想空間の左下に近い第2の位置に配置された文字配置パターンとが、同一の位置に配置された共通のルートパーツを含んでいる場合、当該共通のルートパーツは、第2の位置に配置された文字配置パターンを構成するルートパーツとして見なされる。
【0114】
例えば、
図12及び
図13に示すような10個のルートパーツを含むユーザ配置パターンがユーザによって作成された場合、この10個のルートパーツからパターンマッチングにより文字の候補が検出される。例えば、
図12の点線で囲まれた6個のルートパーツは、予め定義された文字「n」に対応する文字配置パターンと一致するため、文字「n」が候補として検出される。また、
図13の点線で囲まれた4個のルートパーツは、予め定義された文字「J」に対応する文字配置パターンと一致するため、文字「J」が候補として検出される。ここで、(2,2)、(3,2)、及び(4,2)の3個のルートパーツは、
図12に示す「n」にも、
図13に示す「J」にも含まれる。すなわち、「n」に対応する文字配置パターンと「J」に対応する文字配置パターンとは、共通の3個のルートパーツを含む。
図13に示す「J」に対応する文字配置パターンの仮想空間における位置は、
図12に示す「n」に対応する文字配置パターンの仮想空間における位置よりも、左側である。このため、(2,2)、(3,2)、及び(4,2)の3個のルートパーツは、「J」に対応する文字配置パターンを構成するものとして見なされて、文字認識が行われる。すなわち、仮想空間の左側から優先的に文字認識が行われる。そして、その優先認識された文字配置パターンを除いて、さらに文字認識が行われる。
図13に示す例では、10個のルートパーツを含むユーザ配置パターンのうち、優先認識された4個のルートパーツによって構成される「J」に対応する文字配置パターンを除いて、さらにその右側の6個のルートパーツに対して文字認識が行われる。その結果、6個のルートパーツは、「O」に対応する文字配置パターンとして認識される。さらに右側に文字配置パターンが存在する場合も同様である。
【0115】
なお、複数のルートパーツによって構成される文字配置パターンの仮想空間における位置は、当該文字配置パターンを構成する複数のルートパーツのうちの何れかのルートパーツの位置によって定められてもよい。例えば、文字配置パターンを構成する複数のルートパーツのうち、左下のルートパーツの位置を、その文字配置パターンの仮想空間における位置として定められてもよい。
【0116】
また、本実施例では、仮想空間の左下を優先して文字認識を行うものとしたが、別の実施例では、仮想空間の右側を優先して文字認識を行ってもよいし、上側を優先して文字認識を行ってもよい。すなわち、仮想空間における任意の基準位置に近い位置に配置された複数のルートパーツに対して優先的に文字認識を行ってもよい。
【0117】
なお、基本的には仮想空間に配置されたルートパーツは、同時に複数の文字配置パターンを構成しないものとするが、例外的に、ある位置に配置されたルートパーツが、2つの文字配置パターンの一部として構成される場合があってもよい。
図14は、ルートパーツが2つの文字配置パターンの一部として構成される例を示す図である。
図14に示されるように、(3,3)、(4,3)、(3,4)、及び(4,4)の4個のルートパーツは、文字「o」に対応する文字配置パターンを構成する。また、(3,4)、(4,4)、(3,5)、及び(4,5)の4個のルートパーツは、文字「o」に対応する文字配置パターンを構成する。(3,4)及び(4,4)のルートパーツは、これら2つの文字配置パターンの何れにも含まれる。基本的には、(3,4)及び(4,4)のルートパーツは、何れか一方の文字配置パターンを構成するものとして認識されるが、
図14に示されるような特殊な配置パターンは、2つの「o」として認識される。
【0118】
次に、接続数優先認識処理について説明する。例えば、複数のルートパーツによって形成されるルートが、第1の文字としても、第2の文字としても形成され得る場合、接続数のより多い方の文字を優先的に認識する接続数優先認識処理が行われる。
図15は、接続数優先認識処理の概要を説明するための図である。
【0119】
図15の上図に示される(2,1)、(2,2)、(2,3)、(3,1)、(3,2)、(3,3)及び(4,1)の7個のルートパーツは、(2,3)及び(3,3)に配置された2個のルートパーツを除く、5個のルートパーツのルートパーツ群として捉えることができる。この(2,3)及び(3,3)を除いた5個のルートパーツによって構成されるルートパーツ群は、
図15の下図の左側のように、文字「F」のように見える。実際に、文字「F」に対応する文字配置パターンとして、このような文字配置パターンが予め定義されている。一方、(2,3)及び(3,3)を含む7個のルートパーツは、文字「P」に対応する文字配置パターンとして、予め定義されている。すなわち、
図15の上図に示される7個のルートパーツは、文字「P」としても文字「F」としても形成され得る、1つの文字に対応する特定文字配置パターンである。
【0120】
このように、1つの文字に対応する特定文字配置パターンが、複数の文字として形成され得る場合、当該特定文字配置パターンは、合計の接続数が最も多い文字に対応する文字配置パターンとして認識される。具体的には、
図15の下図に示す5個のルートパーツによって構成される「F」に対応する文字配置パターンの合計の接続数は、「10」である。すなわち、「F」に対応する文字配置パターンとして、
図15の下図の左側に示されているようなパターンが予め定義されている。予め定義された「F」に対応する文字配置パターンを構成する各ルートパーツの接続数を合計すると、「10」になる。また、
図15に示す7個のルートパーツによって構成される「P」に対応する文字配置パターンの合計の接続数は「14」である。このため、
図15の上図に示される「F」としても「P」としても形成され得る、1つの文字に対応する特定文字配置パターンは、合計の接続数がより多い「P」に対応する文字配置パターンとして認識される。なお、本実施例では、特定文字配置パターンが検出された場合に、特定文字配置パターンに含まれる各文字に対応する予め定義された文字配置パターンの合計の接続数が算出される。そして、各文字についての合計の接続数が比較され、何れかの文字として認識される。他の実施例では、特定文字配置パターンが検出された場合に、特定文字配置パターンに含まれる各文字に対応する、実際に配置された複数のルートパーツの合計の接続数が算出されてもよい。
【0121】
このような接続数優先認識処理は、複数の異なる文字として形成可能な、1つの文字に対応する複数のルートパーツを、各ルートパーツのルート画像の合計の長さが最も長い文字として認識する処理であるとも言える。例えば、「1方向パーツ(半直線の模様)」のルート画像の長さを「1」とした場合、
図15の下図の左側に示される「F」に対応する文字配置パターンの各ルート画像の長さの合計は、「10」である。一方、
図15の下図の右側の「P」に対応する文字配置パターンの各ルート画像の長さの合計は、「14」である。したがって、
図15の上図に示される特定文字配置パターンは、合計のルートの長さがより長い「P」に対応する文字配置パターンとして認識される。
【0122】
このように、本実施例では、ある位置に配置された複数のルートパーツが、複数の文字配置パターンを構成するルートパーツに共通して含まれる場合、接続数が最も多い(ルート画像の合計の長さが最も長い)文字配置パターンを優先して検出する接続数優先認識処理が行われる。具体的には、本実施例では、ユーザ配置パターンに含まれる複数のルートパーツが、1つの文字に対応する特定文字配置パターンを構成し、当該特定文字配置パターンが第1の文字としても、第2の文字としても形成され得る場合、当該特定文字配置パターンを、接続数が多い方の(ルートが長い方の)の第2の文字に対応する文字配置パターンとして認識する。つまり、ユーザ配置パターンにおける、第1の文字に対応する文字配置パターンと第2の文字に対応する文字配置パターンとが、同一の位置に配置された共通のルートパーツによって構成されている場合、当該共通のルートパーツは、第2の文字に対応する文字配置パターンを構成するルートパーツとして見なされる。
【0123】
上述した各処理の結果、ユーザによって作成されたユーザ配置パターンから複数の文字配置パターンが検出された場合、各文字配置パターンの仮想空間における位置に基づいて、文字列が構成される。具体的には、各文字配置パターンに対応する文字を左から並べて文字列が構成される。仮想空間の左下(4,1)に近い位置に配置された文字配置パターンに対応する文字ほど、先に並べられる。例えば、
図6に示すユーザ配置パターンの場合は、各文字配置パターンは、左から「e」に対応する文字配置パターン、「b」に対応する文字配置パターン、「C」に対応する文字配置パターンの順に並んでいるため、これらの文字を左から並べて、文字列「ebC」が構成される。また、
図13に示すユーザ配置パターンの場合は、文字列「JO」が構成される。そして、構成された文字列が、予め定義された禁止ワードと一致するか否かが判定される。構成された文字列が禁止ワードと一致する場合には、当該ユーザ配置パターンを表す配置情報のアップロードが禁止される。
【0124】
(禁止図形のアップロード制限)
次に、禁止図形のアップロード制限について説明する。本実施例では、禁止図形に対応する特定図形パターンが予め複数定義されている。ここで、「特定図形パターン」とは、複数のルートパーツが配置されることによって形成されるルート(模様)が、禁止図形(特定模様の一例)に見えるようなルートパーツの配置パターンであり、複数のルートパーツの配置位置、模様、及び配置方向を要素とするパターンである。
【0125】
ユーザによって作成されたユーザ配置パターンが、特定図形パターンを含む場合には、当該ユーザ配置パターンを表す配置情報のアップロードが禁止される。
【0126】
なお、文字配置パターンと同様に、特定図形パターンについても、特定図形パターン毎に例外エリアが設けられている。このため、例外エリアにルートが伸びている配置パターンは、特定図形パターンとは見なされない。すなわち、特定図形パターンを構成するルートパーツから、当該特定図形パターンに設定された例外エリアにルートが伸びている場合(例外エリアのルートパーツと、例外エリアに隣接する特定図形パターンを構成するルートパーツとが接続されている場合)、当該ルートパーツは、当該特定図形パターンとは認識されない。
【0127】
また、本実施例では、同一の模様種別(ルート画像の表示態様)が対応付けられた複数のルートパーツ(同一の種類の複数のルートパーツ)からなる部分集合模様ごとに、禁止図形パターンか否かの判定が行われる。すなわち、複数のメインルートパーツからなるメインルートパーツ群が、予め定義された特定図形パターンと一致する場合には、当該特定図形パターンに対応する禁止図形が検出され、複数のサブルートパーツにからなるサブルートパーツ群が、予め定義された特定図形パターンと一致する場合には、当該特定図形パターンに対応する禁止図形が検出される。言い換えると、本実施例では、メインルートパーツとサブルートパーツとが混在する複数のルートパーツは、1つの禁止図形を形成するものとは見なされない。
【0128】
(処理の詳細)
次に、ゲームシステム1において行われる処理の詳細について説明する。まず、後述するフローチャートによる処理の実行中に、ゲームシステム1に記憶されるデータについて説明する。
図16は、ゲームシステム1に記憶されるデータの一例を示す図である。
【0129】
図16に示されるように、ゲームシステム1(具体的には、DRAM85、フラッシュメモリ84、又はスロット23に装着された外部記憶媒体)には、ゲームプログラムと、ルートパーツデータと、ユーザ配置パターンデータと、文字配置パターンデータと、禁止図形パターンデータと、禁止ワードデータとが記憶される。これらの他にも、ゲームに用いられる様々なデータ(例えば、プレイヤオブジェクトPOに関するデータ)が記憶される。
【0130】
ゲームプログラムは、ゲームシステム1において行われるゲームを実行するためのプログラムであり、後述するフローチャートによる処理を実行するためのプログラムである。
【0131】
ルートパーツデータは、予め用意された複数のルートパーツに関するデータである。ルートパーツデータは、メインルートパーツに関するデータと、サブルートパーツに関するデータとを含む。上述のように、各ルートパーツは、プレイヤオブジェクトPOが移動可能なルートを形成するルート画像(模様)を有する。
【0132】
ユーザ配置パターンデータは、ユーザの配置操作によって生成されるデータであり、仮想空間に配置された各ルートパーツの配置位置、模様、及び配置方向に関する情報を含むデータである。ルートパーツの配置位置に関する情報は、例えば、(n,m)のように表される。ルートパーツの模様に関する情報は、ルートパーツの模様の種類を示す情報であり、無模様、半直線の模様、I字型の模様、L字型の模様、T字型の模様、及び、曲線の模様のうちの何れかを示す情報である。ルートパーツの配置方向に関する情報は、回転角を示す情報であり、例えば、0度、90度、180度、又は、270度を示す情報である。また、ユーザ配置パターンデータは、各ルートパーツの種類(メインルートパーツかサブルートパーツか)を示す情報を含む。
【0133】
文字配置パターンデータは、文字判定に用いられるデータであり、複数のルート画像によって形成されるルートが1つの文字のように見える予め定義された配置パターンを示すデータである。文字配置パターンデータは、複数のルートパーツの相対的な位置、模様、及び配置方向に関する情報を含むデータである。文字毎に文字配置パターンデータが用意されている。各文字配置パターンには、例外エリアが設けられている。本実施例では、複数のアルファベット及びアラビア数字に対応する文字配置パターンデータが予め用意されている。
【0134】
禁止図形パターンデータは、複数のルートパーツのルート画像によって形成されるルートが禁止図形のように見える予め定義された配置パターンを示すデータである。禁止図形パターンデータは、複数のルートパーツの相対的な位置、模様、及び配置方向に関する情報を含むデータである。本実施例では、予め複数の禁止図形に対応する禁止図形パターンデータが用意されている。また、各禁止図形パターンには、例外エリアが設けられている。
【0135】
禁止ワードデータは、公開が制限されるワードを示すデータである。本実施例では、予め複数の禁止ワードが定義されている。
【0136】
図17は、ゲームシステム1のプロセッサ81によって実行される処理の一例を示すフローチャートである。
図17に示す処理は、例えばユーザによってゲームの開始が指示されたことに応じて開始される。
【0137】
図17に示されるように、プロセッサ81は、ゲームワールドを作成するか否かを判定する(ステップS1)。具体的には、プロセッサ81は、ユーザによってゲームワールドを作成/編集するための指示が行われたか否かを判定する。
【0138】
ユーザによってゲームワールドを作成/編集するための指示が行われた場合(ステップS1:YES)、プロセッサ81は、
図4に示すゲームワールド作成画面を表示して、ゲームワールド作成処理を実行する(ステップS2)。ゲームワールド作成処理では、ユーザの配置操作に応じてルートパーツが仮想空間に配置されゲームワールドが作成される。そして、作成されたゲームワールドのサーバへのアップロードが指示された場合、上述した禁止ワードや禁止図形に関する判定が行われ、アップロードの可否が判定される。ステップS2のゲームワールド作成処理の詳細については後述する。
【0139】
ステップS2の処理を実行した場合、又は、ステップS1でNOと判定した場合、プロセッサ81は、サーバにアップロードされた、他のユーザによって作成されたユーザ配置パターンデータ(配置情報)をダウンロードするか否かを判定する(ステップS3)。具体的には、プロセッサ81は、ユーザによってサーバにアップロードされたユーザ配置パターンデータのダウンロードが指示された場合、ステップS3でYESと判定する。他のユーザのユーザ配置パターンデータをダウンロードすると判定した場合(ステップS3:YES)、プロセッサ81は、サーバから他のユーザのユーザ配置パターンデータをダウンロードする(ステップS4)。
【0140】
ステップS4の処理を実行した場合、又は、ステップS3でNOと判定した場合、プロセッサ81は、ゲーム処理を行う(ステップS5)。ステップS5では、ダウンロードした他のユーザによって作成されたユーザ配置パターンデータ、又は、ゲームシステム1のユーザによって作成されたユーザ配置パターンデータに基づいて、ゲーム処理が行われる。具体的には、ステップS5では、ユーザ配置パターンデータに基づいて、仮想空間にルートを含むゲームワールドが生成されるとともにプレイヤオブジェクトPOが配置され、ユーザの操作に応じて、プレイヤオブジェクトPOがルートに沿って移動される。プレイヤオブジェクトPOが、ルート上に設定されたコースポイントに到達した場合は、当該コースポイントに設定されたゲームステージに画面が移行して、プレイヤオブジェクトPOを用いたゲームが行われる。プレイヤオブジェクトPOがゲームワールドのルート上に設定されたエンドポイントに到達した場合、又は、ユーザによってゲームの終了が指示された場合、プロセッサ81は、ステップS5のゲーム処理を終了する。以上で、
図17の説明を終了する。
【0141】
(ゲームワールド作成処理の詳細)
次に、ステップS2のゲームワールド作成処理の詳細について説明する。
図18は、ステップS2のゲームワールド作成処理の一例を示すフローチャートである。
【0142】
図18に示されるように、プロセッサ81は、入力装置(左コントローラ3、右コントローラ4、又はタッチパネル13等)に対する入力に応じた入力データを取得する(ステップS200)。次に、プロセッサ81は、取得した入力データに基づいて、パーツ配置処理を行う(ステップS201)。ここでは、
図4に示されるゲームワールド作成画面において、ユーザの配置操作に応じて、ルートパーツが選択され、仮想空間のグリッドに配置される。具体的には、
図4のゲームワールド作成画面において、ユーザによって、複数のルートパーツの中から何れか1つが選択される。そして、選択されたルートパーツが、ユーザによって指定された仮想空間の位置に配置される。また、ユーザによってルートパーツの回転操作(例えば、配置されたルートパーツをタップする操作)が行われた場合、ルートパーツが回転される。これにより、ルートパーツ内の模様(ルート画像)の方向が変化する。各ルートパーツの配置位置、模様、及び、配置方向に関する情報は、ユーザ配置パターンデータとして記憶される。
【0143】
次に、プロセッサ81は、ユーザによる配置操作が完了したか否かを判定する(ステップS202)。具体的には、ユーザによって配置操作の完了が指示された場合、プロセッサ81は、配置操作が完了したと判定する。ステップS202でNOと判定した場合、プロセッサ81は、再びステップS200の処理を実行する。ステップS200~ステップS202の処理が所定のフレーム時間間隔(例えば、1/60秒間隔)で繰り返し実行されることにより、ユーザの配置操作に応じて、複数のルートパーツが仮想空間に配置され、ルートが形成される。すなわち、複数のルートパーツについての配置位置、模様、及び、回転方向を要素とするユーザ配置パターンデータが作成される。
【0144】
ステップS202でYESと判定した場合、プロセッサ81は、作成されたユーザ配置パターンデータを、例えばフラッシュメモリ84に保存する(ステップS203)。
【0145】
次に、プロセッサ81は、作成されたユーザ配置パターンデータをサーバにアップロードするための指示がユーザによって行われたか否かを判定する(ステップS204)。ユーザによってアップロード指示が行われた場合(ステップS204:YES)、プロセッサ81は、禁止図形判定処理を実行する(ステップS205)。禁止図形判定処理は、ユーザによって作成されたユーザ配置パターンが、禁止図形を含む特定パターンか否かを判定する処理である。ステップS205の禁止図形判定処理の詳細については後述する。
【0146】
次に、プロセッサ81は、禁止ワード判定処理を実行する(ステップS206)。禁止ワード判定処理は、ユーザによって作成されたユーザ配置パターンが、禁止ワードを含む特定パターンか否かを判定する処理である。ステップS206の禁止ワード判定処理の詳細については後述する。
【0147】
次に、プロセッサ81は、ステップS205及びステップS206の結果に基づいて、ユーザ配置パターンデータ(配置情報)のアップロードが禁止されたか否かを判定する(ステップS207)。アップロードが禁止されなかった場合(ステップS207:NO)、プロセッサ81は、ユーザ配置パターンデータをサーバにアップロードする(ステップS208)。一方、アップロードが禁止された場合(ステップS207:YES)、プロセッサ81は、ユーザ配置パターンデータをサーバにアップロードしない(ステップS209)。なお、プロセッサ81は、ステップS209において、ユーザ配置パターンデータのサーバへのアップロードを禁止したことを示す表示を行ってもよい。
【0148】
ステップS208の処理を実行した場合、ステップS209の処理を実行した場合、又は、ステップS204でNOと判定した場合、プロセッサ81は、
図18に示す処理を終了する。
【0149】
(禁止図形判定処理の詳細)
次に、ステップS205の禁止図形判定処理の詳細について説明する。
図19は、ステップS205の禁止図形判定処理の一例を示すフローチャートである。
【0150】
図19に示されるように、プロセッサ81は、ユーザ配置パターンデータに基づいて、ルートパーツの種類毎に図形のパターンマッチングを行う(ステップS220)。ここで、ルートパーツの種類は、ルートパーツに含まれる模様の種類であり、模様の表示態様である。具体的には、プロセッサ81は、複数のルートパーツの種類(実線のルート画像を有するメインルートパーツ、又は、点線のルート画像を有するサブルートパーツ)のうちの何れかを選択し、選択した種類の複数のルートパーツによって構成されるルートパーツ群の中に、予め定義された禁止図形を示す禁止図形パターンが含まれるか否かを判定する。例えば、プロセッサ81は、ユーザ配置パターンの中からメインルートパーツのみを抜き出し、複数のメインルートパーツの配置位置、模様(半直線の模様、I字型の模様等)、及び、配置方向が、予め定められた禁止図形を示す禁止図形パターンと一致するか否かを判定する。これにより、プロセッサ81は、ユーザによって配置された複数のメインルートパーツによって構成されるルートパーツ群の中から、予め定義された禁止図形と一致する配置パターンを、禁止図形の候補として検出する。
【0151】
次に、プロセッサ81は、ステップS220で禁止図形の候補が検出された場合、検出された禁止図形の候補について、当該禁止図形に設定された例外エリアにルートが伸びているときには、当該禁止図形の候補を除外する(ステップS221)。上述のように、禁止図形パターンには、予め例外エリアが設けられている。その例外エリアにルートが伸びている場合、すなわち、禁止図形を構成するルートパーツと、例外エリアに配置されているルートパーツとが接続される場合、プロセッサ81は、当該禁止図形の候補を除外する。
【0152】
そして、プロセッサ81は、ユーザ配置パターンの中に禁止図形が存在するか否かを判定する(ステップS222)。ステップS221の処理の結果、ユーザ配置パターンの中に1以上の禁止図形が存在する場合(ステップS222:YES)、プロセッサ81は、当該ユーザ配置パターンのアップロードを禁止する(ステップS223)。そして、プロセッサ81は、
図19に示す処理を終了する。
【0153】
一方、ユーザ配置パターンの中に禁止図形が存在しないと判定した場合(ステップS222:NO)、プロセッサ81は、全種類のルートパーツでパターンマッチングを行ったか否かを判定する(ステップS224)。ここでは、メインルートパーツ及びサブルートパーツの何れに対しても、ステップS220~ステップS222の処理が行われたか否かが判定される。
【0154】
ステップS224でNOと判定した場合、プロセッサ81は、再びS220の処理を実行して、上記と別の種類のルートパーツを選択して同様の処理を行う。ステップS224でYESと判定した場合、プロセッサ81は、
図19に示す処理を終了する。
【0155】
(禁止ワード判定処理の詳細)
次に、ステップS206の禁止ワード判定処理の詳細について説明する。
図20は、ステップS206の禁止ワード判定処理の一例を示すフローチャートである。
【0156】
図20に示されるように、プロセッサ81は、ユーザによって作成されたユーザ配置パターンに基づいて、ルートパーツの種類毎に文字のパターンマッチングを行う(ステップS230)。ここで、ルートパーツの種類は、ルートパーツに含まれる模様の種類であり、模様の表示態様である。具体的には、プロセッサ81は、複数のルートパーツの種類(実線のルート画像を有するメインルートパーツ、又は、点線のルート画像を有するサブルートパーツ)のうちの何れかを選択し、選択した種類の複数のルートパーツによって構成されるルートパーツ群の中に、予め定義された文字配置パターンが含まれるか否かを判定する。例えば、プロセッサ81は、ユーザ配置パターンの中からメインルートパーツのみを抜き出し、複数のメインルートパーツの配置位置、模様(半直線の模様、I字型の模様等)、及び、配置方向が、予め定められた文字配置パターンと一致するか否かを判定する。これにより、プロセッサ81は、ユーザによって配置された複数のメインルートパーツの中から、予め定義された文字配置パターンと一致する配置パターンを文字の候補として検出する。ここでは、全ての文字の候補が検出される。例えば、
図15に示すようなユーザ配置パターンの場合には、7個のメインルートパーツは、「F」に対応する文字配置パターンとしても、「P」に対応する文字配置パターンとしても検出される。また、
図12及び
図13に示すようなユーザ配置パターンの場合には、「n」に対応する文字配置パターン、「I」に対応する文字配置パターン、「J」に対応する文字配置パターン、及び、「O」に対応する文字配置パターンが検出される。
【0157】
次に、プロセッサ81は、ステップS230で検出された文字の候補について、当該文字配置パターンに設定された例外エリアにルートが伸びている場合、当該文字の候補を除外する(ステップS231)。上述のように、文字配置パターンには、予め例外エリアが設けられている。その例外エリアにルートが伸びている場合、すなわち、文字を構成するルートパーツと、例外エリアに配置されているルートパーツとが接続される場合、プロセッサ81は、当該文字の候補を除外する。
【0158】
次に、プロセッサ81は、同じルートパーツを使用した文字が認識されたか否かを判定する(ステップS232)。ここでは、ステップS230で検出された文字の候補のそれぞれに、共通のルートパーツが含まれるか否かが判定される。例えば、
図15の上図に示されるようなユーザ配置パターンの場合、ステップS230の処理では、「F」及び「P」が文字の候補としてそれぞれ検出される。この2つの文字の候補は、5個の共通のルートパーツ((2,1)、(2,2)、(3,1)、(3,2)、及び(4,1)のルートパーツ)を含む。この場合には、ステップS232でYESと判定される。また、例えば、
図12に示されるようなユーザ配置パターンの場合、ステップS230の処理では、4つの文字の候補が検出される。すなわち、
図12に示されるユーザ配置パターンからは、「n」、「I」、「J」、「O」が文字の候補として検出される(
図12、
図13)。「n」と「J」の2つの文字の候補は、3個の共通のルートパーツ((2,2)、(3,2)、及び(4,2)のルートパーツ)を含む。この場合には、ステップS232でYESと判定される。
【0159】
ステップS232でYESと判定した場合、プロセッサ81は、左側の文字を優先して認識する左優先認識処理を行う(ステップS233)。ここでは、画面の左下から優先的に文字が認識される。具体的には、プロセッサ81は、ステップS230で検出された複数の文字の候補のうち、ステップS231で除外されたものを除く全ての文字の候補について、その文字を構成する文字配置パターンの位置を特定する。そして、プロセッサ81は、特定した文字配置パターンの位置に基づいて、仮想空間の左下から右上に向かって順に文字を認識していく。例えば、
図13に示されるようなユーザ配置パターンでは、プロセッサ81は、まず、文字「J」を認識し、その後、「J」の部分を除いた複数のルートパーツについて文字を認識していく。そして、プロセッサ81は、結果として、
図13に示されるようなユーザ配置パターンを、「J」及び「O」として認識する。
【0160】
次に、プロセッサ81は、接続数の合計が多い方の文字を優先して認識する接続数優先認識処理を行う(ステップS234)。具体的には、プロセッサ81は、複数の文字の候補として検出された特定文字配置パターンがある場合、各文字の候補について接続数の合計を算出する。そして、プロセッサ81は、当該特定文字配置パターンを、接続数の合計が多い方の文字として認識する。例えば、プロセッサ81は、
図15の上図に示されるユーザ配置パターンを、接続数の合計が多い方の文字「P」として認識する。
【0161】
ステップS234の処理を行った場合、又は、ステップS232でNOと判定した場合、プロセッサ81は、全種類のルートパーツでパターンマッチングを行ったか否かを判定する(ステップS235)。ここでは、メインルートパーツ及びサブルートパーツの何れに対しても、ステップS230~ステップS234の処理が行われたか否かが判定される。
【0162】
ステップS235でNOと判定した場合、プロセッサ81は、再びS230の処理を実行して、上記と別の種類のルートパーツを選択して同様の処理を行う。
【0163】
一方、ステップS235でYESと判定した場合、プロセッサ81は、ステップS230~ステップS235の処理で認識した各文字から文字列(単語)を構成する(ステップS236)。ここでは、プロセッサ81は、認識した各文字を、その文字に対応する文字配置パターンの仮想空間における位置に基づいて並べることにより、文字列を構成する。ここでは、仮想空間の左側に出現した文字配置パターンから順に文字が並べられる。
【0164】
次に、プロセッサ81は、ステップS236で構成した文字列の中に、予め定義された禁止ワードが含まれるか否かを判定する(ステップS237)。文字列の中に禁止ワードが含まれる場合(ステップS237:YES)、プロセッサ81は、ユーザ配置パターンのアップロードを禁止する(ステップS238)。
【0165】
ステップS237でNOと判定した場合、又は、ステップS238の処理を実行した場合、プロセッサ81は、
図20に示す処理を終了する。
【0166】
このように、ステップS223又はステップS238においてアップロードが禁止された場合、上記ステップS209でユーザ配置パターンデータのアップロードは行われない。ステップS223及びステップS238の何れも行われなかった場合は、ユーザ配置パターンデータのアップロードは許可され、上記ステップS208でユーザ配置パターンデータのアップロードが行われる。
【0167】
なお、上記フローチャートで示した処理は単なる例示に過ぎず、処理の順番や内容等は適宜変更されてもよい。
【0168】
以上のように、本実施例の情報処理システムは、サーバと、ゲームシステム1とを備える。ゲームシステム1は、表示装置に表示される模様(ルート画像)が対応付けられたルートパーツを、ユーザの配置操作に応じて仮想空間に配置する(ステップS201)。ゲームシステム1は、ユーザの配置操作に応じて仮想空間に配置された複数のルートパーツの配置位置及び当該パーツに対応付けられた模様を要素とするユーザ配置パターンが、複数のルートパーツの模様によって形成される集合模様に特定模様(禁止図形や禁止ワード)が含まれる特定パターンであるか否かを判定する(ステップS205、ステップS206)。ゲームシステム1は、ユーザ配置パターンが特定パターンであると判定しなかった場合は、ユーザ配置パターンを表す配置情報をサーバにアップロードし(ステップS208)、ユーザ配置パターンが特定パターンであると判定した場合は、当該配置情報をサーバにアップロードしない(ステップS209)。
【0169】
このように、模様が対応付けられたルートパーツをユーザの配置操作に応じて仮想空間に配置することにより、ユーザは、仮想空間に集合模様(ルート)を形成することができる。ユーザが形成した集合模様が特定模様を含む場合は、当該ユーザが作成した集合模様のサーバへのアップロードが禁止されるため、他のユーザが特定模様にアクセスすること(例えば、他のユーザが特定態様を閲覧したり、特定態様を用いてゲームをプレイしたりすること)を抑制することができる。
【0170】
また、本実施例では、ユーザは、ルートパーツを回転させて仮想空間に配置することができ、表示装置に表示されるルートパーツの向き(模様の向き)を変化させることができ、自由に模様を描くことができる。このように自由に模様を描くことができる場合には、ユーザによって作成された集合模様に特定模様が含まれる可能性があるが、仮にそのような特定模様がユーザによって作成された場合でも、そのような特定模様を含む集合模様のアップロートが禁止されるため、特定模様に他のユーザがアクセスすることを抑制することができる。
【0171】
また、本実施例では、特定模様として、特定の図形又は特定の文字列が集合模様に含まれるか否かが判定される(S222、S237)。これにより、特定の図形がアップロードされたり、特定の文字列がアップロードされたりすることを抑制することができる。
【0172】
また、本実施例では、禁止図形パターン及び文字配置パターンには、例外エリアが設けられ、例外エリアに所定の模様(その図形又は文字を構成するルートパーツと接続される模様)が含まれる場合には、その図形又は文字とは見なされない(S221、S231)。これにより、全体としてその図形や文字には見え難い模様が、その図形や文字として認識されることを防止することができる。
【0173】
また、本実施例では、第1の文字としても第2の文字としても形成され得る1つの文字に対応する特定文字配置パターンが存在する場合、当該特定文字配置パターンを接続数が多い方の第2の文字として認識する(S234)。言い換えると、特定文字配置パターンをルートが長い方の第2の文字として認識する。これにより、第1の文字としても第2の文字としても形成され得る複数のルートパーツについて、第2の文字として認識することができる。接続数が多いルートは、接続数が少ないルートよりもユーザにより認識され易い。このため、ゲームシステムは、よりユーザに文字として認識され易い方の文字を認識することができ、ユーザが特定の文字列として認識し易いものがアップロードされることを抑制することができる。
【0174】
また、本実施例では、ユーザ配置パターンに含まれるルートパーツが、第1の位置に配置された文字配置パターンとしても、第1の位置よりも仮想空間の基準位置(左下の位置)に近い第2の位置に配置された文字配置パターンとしても構成され得る場合、当該ルートパーツを、第2の位置に配置された文字配置パターンを構成するものとして優先的に認識する(S233)。これにより、例えば、左側に位置する文字配置パターンを優先的に文字として認識させることができる。このため、ユーザによって認識され易い文字列をゲームシステムが検出することができる。
【0175】
また、本実施例では、模様種別(実線のルート画像か、点線のルート画像か)毎に、図形又は文字が認識される(S220、S230)。すなわち、ルートパーツの種類毎に、図形又は文字が認識される。これにより、ユーザがひとまとまりとして認識し易い複数のルートパーツの集合毎に、図形や文字を認識することができる。
【0176】
また、本実施例では、四角形のルートパーツを仮想空間に複数並べることにより、ルートを形成することができる。また、ユーザは、形成されたルート上でプレイヤオブジェクトを移動させることができ、自身で作成したルートを用いてゲームを行うことができる。
【0177】
また、本実施例では、ゲームシステムからサーバにデータをアップロードする際に、ゲームシステムが上記判定を行い、判定結果に応じてデータのアップロードを禁止する。これにより、サーバの処理負荷を低減することができる。
【0178】
(変形例)
以上、本実施例について説明したが、上記は単なる一例であり、例えば以下のような変形が加えられてもよい。
【0179】
例えば、上記実施例では、ユーザによって作成されたユーザ配置パターンからアルファベットを検出し、複数のアルファベットによって構成される文字列が禁止ワードか否かを判定した。他の実施例では、アルファベットに限らず、他の任意の文字(例えば、ギリシャ文字、アラビア文字、ハングル文字、漢字、かな文字等)を検出し、これらの文字によって構成される文字列が禁止ワードか否かを判定してもよい。
【0180】
また、上記実施例では、ユーザによって作成されたユーザ配置パターンが禁止ワード(禁止文字列)を含む特定パターンか否かを判定し、禁止ワードを含む場合は、当該ユーザ配置パターンの公開を制限した。他の実施例では、ユーザによって作成されたユーザ配置パターンが1つの禁止文字を含む特定パターンか否かを判定し、禁止文字を含む場合は、当該ユーザ配置パターンの公開を制限してもよい。なお、1つの禁止文字は、禁止図形として検出され、公開が制限されてもよい。
【0181】
また、上記実施例では、ユーザ配置パターンが特定模様を含む特定パターンであると判定された場合に、ゲームシステム1が、当該ユーザ配置パターンを表す配置情報をサーバにアップロードすることを禁止した。すなわち、ゲームシステム1側で、配置情報の公開を制限した。他の実施例では、サーバ側で配置情報の公開を制限してもよい。例えば、ゲームシステム1においてユーザ配置パターンが特定模様を含む特定パターンであると判定された場合でも、当該ユーザ配置パターンを表す配置情報がサーバにアップロードされ、サーバが、当該アップロードされた配置情報の公開を制限してもよい。例えば、サーバは、アップロードされた配置情報の公開が制限されている場合、他のユーザから当該配置情報のダウンロード要求があった場合、当該要求を拒否して、当該他のユーザに当該配置情報を送信しないようにしてもよい。一方、サーバは、アップロードされた配置情報の公開が制限されていない場合は、他のユーザから当該配置情報のダウンロード要求があった場合、当該他のユーザに当該配置情報を送信する。
【0182】
また、他の実施例では、第1のユーザによって作成されたユーザ配置パターンが特定パターンでない場合には、当該ユーザ配置パターンを表す配置情報を第1のユーザのゲームシステムから第2のユーザのゲームシステムに、サーバを介さずに直接送信してもよい。この場合、第1のユーザによって作成されたユーザ配置パターンが特定パターンである場合には、第1のユーザのゲームシステムから第2のユーザのゲームシステムに配置情報を送信しないように制御してもよい。
【0183】
また、他の実施例では、ユーザ配置パターンが特定模様を含む特定パターンか否かを判定する処理は、サーバ側で行われてもよい。例えば、ゲームシステムがサーバにユーザ配置パターンを表す配置情報をアップロードする際に、サーバは、当該ユーザ配置パターンが特定パターンか否かを判定する。そして、サーバは、ユーザ配置パターンが特定パターンであると判定した場合、ゲームシステムからの配置情報のアップロードを受け付けないようにしてもよい。また、サーバは、ユーザ配置パターンが特定パターンであると判定した場合、当該配置情報のアップロードを受け付けて自機の記憶装置に記憶するものの、他のユーザがこの配置情報にアクセスできないように制御してもよい。
【0184】
また、上記実施例では、形状の異なる複数の模様が対応付けられた複数のルートパーツ(1方向パーツ、2方向I字パーツ、2方向L字パーツ、3方向パーツ、曲線パーツ等)が用意され、ユーザによって作成されたユーザ配置パターンには、これらルートパーツに対応付けられた模様(半直線の模様、I字型の模様、L字型の模様等)に関する情報が含まれた。他の実施例では、1つの形状のルートパーツのみが用意されてもよい。例えば、2方向I字パーツのみが用意されてもよい。この場合、2方向I字パーツは、その回転角に応じて、表示装置に表示された場合に、横方向の模様又は縦方向の模様となる。すなわち、模様の形状自体は1種類であったとしても、2方向I字パーツの向きを変化させることで、2方向I字パーツを、「横方向の模様が対応付けられたルートパーツ」、又は、「縦方向の模様が対応付けられたルートパーツ」として用いることができる。このような2方向I字パーツをユーザの配置操作に応じて仮想空間に配置することで、様々な集合模様を形成することができる。そして、ユーザの配置操作に応じて仮想空間に配置された複数のルートパーツの配置位置および当該ルートパーツに対応付けられた模様を要素とするユーザ配置パターンが、特定模様が含まれる特定パターンであるか否かを判定してもよい。ここで、「ルートパーツに対応付けられた模様」は、表示装置に表示される模様であり、具体的には、2方向I字パーツを回転させないで形成される横方向の模様と、2方向I字パーツを90度回転させて形成される縦方向の模様との2種類がある。
【0185】
また、上記実施例では、ユーザによって作成されたユーザ配置パターンが特定パターンでない場合には、当該ユーザ配置パターンをゲームシステムからサーバにアップロードすることにより、当該ユーザ配置パターンに他のユーザがアクセス可能にする一方、当該ユーザ配置パターンが特定パターンである場合には、ゲームシステムからサーバへのアップロードを禁止することにより、当該ユーザ配置パターンに、他のユーザがアクセスすることを制限した。他の実施例では、これとは別の方法により、他のユーザのアクセスを制限してもよい。例えば、ユーザによって作成されたユーザ配置パターンが特定パターンである場合には、当該ユーザ配置パターンに、他のユーザへのアクセスを制限する情報(禁止フラグ、ロックキー等)を埋め込んでもよい。このような他のユーザへのアクセスを制限する情報は、ゲームシステム1によって埋め込まれてもよいし、サーバによって埋め込まれてもよい。他のユーザが、当該アクセスを制限する情報が埋め込まれた配置情報を取得しても、当該配置情報を用いたゲームの実行が制限される。このようにして、ユーザによって作成された特定模様(例えば禁止図形や禁止ワード)を含むルートが、他のユーザに公開されることを制限してもよい。
【0186】
また、第1のユーザによって作成されたユーザ配置パターンに、第2のユーザがアクセスすることを制限する方法として、上記とは別の方法が用いられてもよい。例えば、第1のユーザが作成したユーザ配置パターンが特定パターンである場合、当該ユーザ配置パターンがサーバにアップロードされ、第2のユーザの要求に応じて、第2のユーザのゲームシステム1にダウンロードされる。第2のユーザのゲームシステム1においては、第1のユーザによって作成されたユーザ配置パターンに基づいて、ルートを含むゲームワールドの縮小表示(サムネイル表示)が行われるものの、ゲームは実行不可能に制御されてもよい。また、第2のユーザが、第1のユーザによって作成されたユーザ配置パターンに基づいてゲームを実行する場合に、第1のユーザによって作成されたユーザ配置パターンにおける特定パターンの部分(禁止図形又は禁止ワードの部分)だけ黒塗りやぼかし処理が行われ、第2のユーザが特定パターンの部分を視認不可能又は視認困難にしてもよい。このような方法を用いて、第2のユーザが、第1のユーザによって作成されたユーザ配置パターンにアクセスすることを制限してもよい。一方、第1のユーザが作成したユーザ配置パターンが特定パターンでない場合は、このような制限(縮小表示、ゲームを実行不可能にすること、黒塗りやぼかし処理を行うこと等)は行われず、第2のユーザは、第1のユーザが作成したルート全体を視認することができ、当該ルート全体においてゲームをプレイすることができる。
【0187】
また、上記実施例では、禁止図形パターン及び文字配置パターンには例外エリアが設けられ、禁止図形又は文字を構成するルートパーツから例外エリアにルートが伸びている場合には、禁止図形又は文字として認識しないようにした。他の実施例では、例外エリアにルートが伸びていない場合であっても、すなわち、禁止エリアに配置されたルートパーツが、禁止図形又は文字を構成するルートパーツと接続されない場合であっても、禁止エリアに所定の模様を有するルートパーツが配置されている場合には、禁止図形又は文字として認識しないようにしてもよい。
【0188】
また、上記実施例では、ゲームシステムからサーバに配置情報をアップロードすることにより、不特定の他のユーザに配置情報が公開されることを前提とした。他の実施例では、サーバにアップロードされた配置情報は、権限が付与された特定の他のユーザによってダウンロード可能に構成されてもよい。
【0189】
また、他の実施例では、サーバに配置情報がアップロードされることを前提としたシステムでなくても、上述したアクセス制限が適用されてもよい。例えば、1つのゲームシステムが複数のユーザによって共用される場合において、あるユーザが作成したユーザ配置パターンが特定パターンである場合には、別のユーザが当該ユーザ配置パターンを表す配置情報にアクセスすることを制限してもよい。例えば、ゲームシステムにおいてユーザ毎にアカウントが作成され、各アカウントに対応する記憶領域が設けられる。例えば、第1ユーザが作成した第1ユーザ配置パターンは、第1ユーザに対応する第1記憶領域に記憶される。第1ユーザ配置パターンが特定パターンでない場合は、第2ユーザがゲームシステムにログインした場合でも、第1記憶領域に記憶された第1ユーザ配置パターンに基づいて、ゲームを行うことができる。一方、第1ユーザ配置パターンが特定パターンである場合は、第2ユーザがゲームシステムにログインした場合、第1記憶領域に記憶された第1ユーザ配置パターンに基づいてゲームを実行することができないようにしてもよい。
【0190】
また、上記実施例では、模様種別(例えば実線の模様又は点線の模様)毎に文字や図形を認識した。言い換えると、異なる模様種別(表示態様)の複数のルートパーツは、1つの文字又は図形を構成しないものとした。他の実施例では、異なる模様種別のルートパーツが混在する場合でも、1つの文字や図形として構成されてもよい。
【0191】
また、他の実施例では、異なる背景画像を有する複数のルートパーツが、1つの文字や図形として構成されてもよい。
【0192】
また、上記実施例では、仮想空間が複数の正方形のグリッドに分けられ、正方形のルートパーツを配置することでルートが形成された。他の実施例では、仮想空間は、正方形に限らず、四角形(例えば長方形やひし形)、三角形、六角形等に分けられてもよい。また、仮想空間自体はこれらn角形に分けられておらず、各ルートパーツがn角形で構成され、n角形のルートパーツを配置することでルートが形成されてもよい。
【0193】
また、上記実施例では、図形や文字を表す複数の配置パターンが予め定義され、ユーザによって作成されたユーザ配置パターンに対してパターンマッチングを行うことにより、ユーザ配置パターンが、特定の図形や文字が含まれる特定パターンか否かを判定した。他の実施例では、禁止図形や禁止ワードを含む多数の配置パターンをディープラーニング等の機械学習により学習させ、学習済みモデルを生成してもよい。学習済みモデルは、ユーザによって作成されたユーザ配置パターンが入力されることで、当該ユーザ配置パターンが禁止図形や禁止ワードを含む特定パターンか否かを示す情報(その可能性を示す情報)を出力してもよい。
【0194】
また上記実施例及び他の実施例に係る構成は、互いに矛盾しない限り、任意に組み合わせることが可能である。また、上記は本発明の例示に過ぎず、上記以外にも種々の改良や変形が加えられてもよい。
【符号の説明】
【0195】
1 ゲームシステム
12 ディスプレイ
81 プロセッサ
PO プレイヤオブジェクト