(57)【要約】      （修正有）【課題】プログラミング言語に習熟していなくても容易にゲームを作成することが可能な技術を提供する。【解決手段】コンピュータを、ゲームの作成に用いられる複数のソフトウェア部品の雛形を記憶するテンプレート記憶部１０３と、複数のソフトウェア部品の雛形の中からゲームの作成に使用する複数のソフトウェア部品の選択を受け付けると共に、選択された複数のソフトウェア部品の間で送受信されるデータの流れと、複数のソフトウェア部品の各々が行うデータの処理内容の設定とを受け付けるエディタを提供するエディタ提供部１０１と、して機能させるためのプログラムを提供する。【選択図】図６
2019180627.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
ゲームの作成に用いられる複数のソフトウェア部品の雛形を記憶する記憶手段と、
前記複数のソフトウェア部品の雛形の中からゲームの作成に使用する複数のソフトウェア部品の選択を受け付けると共に、選択された複数のソフトウェア部品の間で送受信されるデータの流れと、該複数のソフトウェア部品の各々が行う前記データの処理内容の設定とを受け付けるエディタを提供するエディタ提供手段と、
して機能させるためのプログラム。
【請求項２】
前記複数のソフトウェア部品の雛形には、グラフィカルユーザインタフェースを提供する複数のＧＵＩ部品の雛形が含まれており、
前記エディタは、前記複数のＧＵＩ部品の雛形の中から選択された複数のＧＵＩ部品を並べることによる画面デザインの作成を受け付ける、
請求項１に記載のプログラム。
【請求項３】
前記複数のソフトウェア部品の雛形には、ゲームを実行する際に該ゲームが利用するデータを、該ゲームを実行する装置と通信可能な他の装置から取得する処理を提供するデータ読出部品が含まれており、
前記エディタは、前記データ読出部品が行う処理内容として、前記他の装置からデータを読み出す処理の設定を受け付ける、
請求項１又は２に記載のプログラム。
【請求項４】
前記複数のソフトウェア部品の間で送受信されるデータは、１以上のデータセットを含み、
前記データセットには、キー情報及びバリュー情報のペアが１以上含まれており、
前記エディタは、選択された前記複数のソフトウェア部品が読み出すべきバリュー情報に対応するキー情報の設定を受け付ける、
請求項１乃至３のいずれか一項に記載のプログラム。
【請求項５】
前記エディタは、選択された前記複数のソフトウェア部品の間で送受信されるデータの流れを、データを送信するソフトウェア部品を示す画像と送信されたデータを受信するソフトウェア部品を示す画像との間を、データが流れる方向を示す画像で結合することで表示する、
請求項１乃至４のいずれか一項に記載のプログラム。
【請求項６】
当該プログラムは、ゲームの作成をサポートするツールに組み込まれるプラグインである、
請求項１乃至５のいずれか一項に記載のプログラム。
【請求項７】
前記コンピュータを、前記エディタで作成されたゲームをビルドすることで、又は、前記エディタで作成されたゲームを、前記コンピュータとは異なる他のコンピュータにビルドさせることで実行可能ファイルを作成するビルド手段として機能させる、
請求項１乃至６のいずれか一項に記載のプログラム。
【請求項８】
ゲームの作成に用いられる複数のソフトウェア部品の雛形を記憶する記憶部と、
前記複数のソフトウェア部品の雛形の中からゲームの作成に使用する複数のソフトウェア部品の選択を受け付けると共に、選択された複数のソフトウェア部品の間で送受信されるデータの流れと、該複数のソフトウェア部品の各々が行う前記データの処理内容の設定とを受け付けるエディタを提供するエディタ提供部と、
を含む情報処理装置。
【請求項９】
ゲームの作成に用いられる複数のソフトウェア部品の雛形を記憶する記憶部を備える情報処理装置が行うゲーム作成方法であって、
前記複数のソフトウェア部品の雛形の中からゲームの作成に使用する複数のソフトウェア部品の選択を受け付けるステップと、
選択された複数のソフトウェア部品の間で送受信されるデータの流れと、該複数のソフトウェア部品の各々が行う前記データの処理内容の設定とを受け付けるエディタを提供するステップと、
を含むゲーム作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置及びゲーム作成方法に関する。
【背景技術】
【０００２】
現在、ユーザ（ゲームクリエータ）が様々なゲームを作成することが可能なゲーム開発環境が提供されている。ゲーム開発環境は、ゲーム画面の作成、ゲーム内の処理に関するプログラミング及びデバッグ等をサポートするための様々な機能を備えている。特許文献１には、マルチユーザネットワークゲームの製作が可能なゲーム製作システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１２３１１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来から提供されているゲーム開発環境では、基本的に、ゲームを作成するユーザは、Ｃ＃等のプログラミング言語を理解している前提であった。そのため、ゲームを作成したいユーザは、既にプログラミング言語に習熟しているか、又はプログラミング言語を学習する必要があることから、ゲームの作成は敷居が高いのが現状である。
【０００５】
そこで、プログラミング言語に習熟していなくてもゲームを作成することが可能なゲーム開発環境を提供することができれば、様々なユーザがゲーム作成に携わることができ、ゲーム市場をより活性化させることができると考えられる。
【０００６】
本発明は、上記に鑑みてなされたものであって、プログラミング言語に習熟していなくても容易にゲームを作成することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るプログラムは、コンピュータを、ゲームの作成に用いられる複数のソフトウェア部品の雛形を記憶する記憶手段と、前記複数のソフトウェア部品の雛形の中からゲームの作成に使用する複数のソフトウェア部品の選択を受け付けると共に、選択された複数のソフトウェア部品の間で送受信されるデータの流れと、該複数のソフトウェア部品の各々が行う前記データの処理内容の設定とを受け付けるエディタを提供するエディタ提供手段と、して機能させる。
【発明の効果】
【０００８】
本発明によれば、プログラミング言語に習熟していなくても容易にゲームを作成することが可能な技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係るゲーム作成システムのシステム構成例を示す図である。
【図２】ゲーム作成ツールで作成するゲームの一例を示す図である。
【図３】ゲームの作成からリリースまでの一連の工程を説明するための図である。
【図４】キャラクタ属性データの一例を示す図である。
【図５】ソフトウェア部品の間で送受信されるデータのフォーマットの一例を示す図である。
【図６】ツール提供サーバの機能ブロック構成の一例を示す図である。
【図７】ゲーム作成エディタで利用可能なソフトウェア部品の一例を示す図である。
【図８】ゲーム作成エディタで利用可能なＧＵＩ部品の一例を示す図である。
【図９】モーダルウィンドウを表示するＧＵＩ部品の一例を示す図である。
【図１０】ゲーム作成エディタの画面例を示す図である。
【図１１】画面デザインの作成例を示す図である。
【図１２】ソフトウェア部品が備える設定項目の設定例を示す図である。
【図１３】ソフトウェア部品が備える設定項目の設定例を示す図である。
【図１４】ソフトウェア部品が備える設定項目の設定例を示す図である。
【図１５】ソフトウェア部品が備える設定項目の設定例を示す図である。
【発明を実施するための形態】
【００１０】
添付図面を参照して、本発明の好適な実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００１１】
＜システム構成＞
図１は、本実施形態に係るゲーム作成システム１のシステム構成例を示す図である。ゲーム作成システム１は、ツール提供サーバ１０と、端末２０と、データ格納サーバ３０とを含む。ツール提供サーバ１０と端末２０とデータ格納サーバ３０とは、無線又は有線を含む通信ネットワークＮを介して相互に通信可能である。
【００１２】
ツール提供サーバ１０は、ゲームの作成をサポートするツール（以下、「ゲーム作成ツール」と言う。）をゲームクリエータに提供する情報処理装置である。ツール提供サーバ１０は、図１に示すように、ＣＰＵ１１と、メモリ及びＨＤＤ（Hard Disk）等の記憶装置１２と、通信ＩＦ（Interface）１３と、ユーザＩＦ（Interface）１４とを有する。ユーザＩＦ１４は、例えば、キーボード、マウス、及びタッチパネル等の入力装置、ディスプレイ等の出力装置を含む。ツール提供サーバ１０は、１又は複数の物理的又は仮想的なサーバであってもよいし、クラウドサーバであってもよい。
【００１３】
端末２０は、ゲームクリエータが利用する端末であり、例えば、パーソナルコンピュータ、タブレット端末又はスマートフォン等である。ゲームクリエータは、端末２０からツール提供サーバ１０にアクセスすることで、ツール提供サーバ１０が提供するゲーム作成ツールを利用することができる。
【００１４】
データ格納サーバ３０は、ゲーム作成ツールで作成されたゲーム内で使用されるデータを格納するためのサーバである。データ格納サーバ３０は、ゲーム作成ツールで作成されたゲームにデータを提供するために、ゲームをプレイする装置（例えばプレイヤのスマートフォン等）からアクセス可能なネットワーク（例えばインターネット）に接続されている。
【００１５】
＜ゲーム作成ツール＞
ツール提供サーバ１０が提供するゲーム作成ツールは、スマートフォン又はパーソナルコンピュータ等で実行可能なゲームを、Ｃ＃、Ｊａｖａ（登録商標）、Ｒｕｂｙ等のプログラミング言語を用いることなく作成することが可能な機能を備えている。ゲームクリエータは、ゲーム作成ツールを用いて作成したゲームのアプリケーション（実行可能ファイル）を、例えば、第三者（例えばＯＳメーカやスマートフォンメーカ等）が提供するアプリケーション配布サイト等を介して公開することができる。
【００１６】
次に、ゲーム作成ツールで作成可能なゲームの一例を図２に示す。図２に示すゲームは、例えばロールプレイングゲームのようにゲーム内に複数のキャラクタが登場するゲームである。図２（ａ）は、ゲーム内に存在する様々な画面のうち、プレイヤが所持するキャラクタのキャラクタ一覧を表示する画面（キャラクタ一覧画面）の一例であり、キャラクタの画像及びキャラクタ名を表示する表示エリア（Ｂ１、Ｂ２）が、プレイヤが所持するキャラクタの数だけ並べて表示される。プレイヤが表示エリアを押下すると、図２（ｂ）に示すキャラクタに関するステータスを表示する画面（キャラクタ詳細画面）に遷移する。図２（ｂ）の例では、プレイヤが、表示エリアＢ１を押下した場合に、"キャラクタＡ"に関するステータスを表示する画面が表示される場合の表示例を示している。当該画面においてプレイヤが戻るボタンＢ３を押下すると、図２（ａ）の画面に遷移する。
【００１７】
ここで、ゲームを構成する各画面を、本実施形態では「シーン（Scene）」と呼ぶ。例えば、図２（ａ）及び図２（ｂ）の画面は、それぞれ１つのシーンである。ゲーム作成ツール内には、画面を構成するソフトウェア部品のテンプレート（雛形）が予め多数用意されており、ゲームクリエータは、これらのソフトウェア部品のテンプレートの中から任意のソフトウェア部品を選択して組み合わせることで、各シーンの画面デザインを自由に作成することができる。
【００１８】
なお、"ソフトウェア部品のテンプレート"とは、ソフトウェア部品をゲーム内に組み込むための各種設定がなされる前のソフトウェア部品を意図している。本実施形態では、同一のソフトウェア部品をゲーム内で使いまわせるようにするために、ソフトウェア部品のテンプレートに対して１以上の設定項目を用意しておき、ゲームクリエータが各設定項目に具体的な値を設定することで、初めてソフトウェア部品としてゲーム内に組み込むことが可能になるようにしている。設定項目の具体例については後述する。本実施形態において、ソフトウェア部品のテンプレートは「プレハブ（Prefab）」と呼ばれてもよい。
【００１９】
ゲームクリエータが作成したシーンには、１つのシーンごとに、シーンの切り替え等を制御するためのソフトウェア部品が組み込まれている。当該ソフトウェア部品は、シーンコントローラ（Scene Controller）と呼ばれる。例えば、図２の例では、キャラクタ一覧画面で表示エリアＢ１又は表示エリアＢ２が押下された場合、キャラクタ一覧画面のシーンコントローラが、キャラクタ詳細画面を呼び出す制御を行う。同様に、キャラクタ詳細画面で戻るボタンＢ３が押下された場合、キャラクタ詳細画面のシーンコントローラが、キャラクタ一覧画面を呼び出す制御を行う。
【００２０】
本ゲーム作成ツールでは、ゲーム内で使用するデータ（例えばキャラクタの画像やキャラクタ名等）を、データ格納サーバ３０から読み込むことができる仕組みを提供する。この仕組みを利用することで、ゲームクリエータは、ゲーム内で使用するデータをゲームのアプリケーション内に予め組み込むのではなく、データ格納サーバ３０から読み込ませるようにすることができる。また、この仕組みを利用することで、ゲームクリエータは、ゲーム内で使用するデータを、ゲームを公開（リリース）した後で事後的に追加・変更することが可能になる。このようなデータとしては、例えば、ゲーム内で期間限定キャラクタを登場させる際に必要になる、期間限定キャラクタの画像データ等が挙げられる。
【００２１】
図３は、ゲームの作成からリリースまでの一連の工程を説明するための図である。本ゲーム作成ツールは、データ格納サーバ３０からゲーム内に読み込まれるデータの作成、及び作成したデータをデータ格納サーバ３０に格納する際に使用する「データ作成エディタ」と、ゲームそのものを作成する際に使用する「ゲーム作成エディタ」とを含む。データ作成エディタとゲーム作成エディタは、ゲームクリエータが使用する端末２０の画面に表示される。
【００２２】
まず、ゲームクリエータは、データ作成エディタを用いて、ゲーム内に登場させるキャラクタの画像データ、キャラクタの属性（キャラクタ名、パラメータ等）に関するデータ、ゲーム内で使用する音楽データ等の各種のデータを作成し（Ｓ１０）、作成したデータをデータ格納サーバ３０に格納する（Ｓ１１）。
【００２３】
データ作成エディタで作成された、キャラクタの属性に関するデータ（以下、「キャラクタ属性データ」と言う。）の例を図４に示す。図４に示すキャラクタ属性データは、１行が１つのキャラクタに対応している。「ＩＤ」は、キャラクタを一意に特定するための識別子を示す。「Ｎａｍｅ」は、ゲーム内の各シーンに表示するキャラクタの名称を示す。「Ｉｃｏｎ」は、ゲーム内の各シーンに表示するキャラクタのアイコン画像のファイル格納場所を示すＵＲＬを示す。「Ｉｍｇ」は、ゲーム内の各シーンに表示するキャラクタ画像のファイル格納場所を示すＵＲＬを示す。これらのＵＲＬは、データ格納サーバ３０に保存されているアイコン画像のファイル及びキャラクタ画像のファイルの格納場所（絶対パス（absolute path））を示している。なお、図４の例はあくまで一例であり、ゲームクリエータは、作成するゲームの内容に応じて、任意のフォーマットのデータを定義することも可能である。図３に戻り説明を続ける。
【００２４】
次に、ゲームクリエータは、ゲーム作成エディタを使用してゲームを作成する（Ｓ１２）。ゲームクリエータは、最初に、シーンごとの画面デザインを作成する。次に、ゲームクリエータは、予め用意されたソフトウェア部品のテンプレートの中からゲームで使用する複数のソフトウェア部品を選択し、選択した複数のソフトウェア部品の間で送受信されるデータの流れと、当該複数のソフトウェア部品の各々が行うデータの処理内容とを設定していくことでゲームを作成する。
【００２５】
図５に、ソフトウェア部品の間で送受信されるデータのフォーマットの一例を示す。図５（ａ）に示すように、ソフトウェア部品の間で送受信されるデータは、キー情報（Key）及びバリュー情報（Value）のペアを１以上含むデータセットが複数連結されている。１つのデータセットは、図５（ａ）における１列に該当する。各データセットに含まれるキー情報及びバリュー情報のペアの数は同一である。本実施形態では、データセットはアイテム（ITEM）と呼ばれてもよい。
【００２６】
図５（ｂ）に、ソフトウェア部品の間で送受信されるデータの具体例を示す。図５（ｂ）の例では、１つ目のデータセット（図５（ｂ）の左列）には、キー情報及びバリュー情報のペアとして、「ID」及び「CharaA」、「Name」及び「A」、「Icon」及び「http://../A.png」、「Img」及び「http://../A.jpg」が格納されている。同様に、２つ目のデータセット（図５（ｂ）の右列）には、キー情報及びバリュー情報のペアとして、「ID」及び「CharaB」、「Name」及び「B」、「Icon」及び「http://../B.png」、「Img」及び「http://../B.jpg」が格納されている。図３に戻り説明を続ける。
【００２７】
次に、ゲームクリエータは、ゲーム作成エディタ等を使用してゲームをビルド（コンパイル）することで、ゲームのアプリケーション（実行ファイル）を生成する（Ｓ１３）。ビルドされたゲームのアプリケーションは、アプリケーション配布サイト等を介してリリースされ、プレイヤのスマートフォン等にインストールされる。スマートフォン等で実行されたアプリケーションは、データ格納サーバ３０から各種のデータを読み込み（Ｓ１４）、ゲーム作成エディタで定義された処理を行いながらゲームを進行させる。
【００２８】
＜機能ブロック構成＞
図６は、ツール提供サーバ１０の機能ブロック構成の一例を示す図である。ツール提供サーバ１０は、エディタ提供部１０１と、ビルド部１０２と、テンプレート記憶部１０３とを含む。エディタ提供部１０１と、ビルド部１０２と、テンプレート記憶部１０３とは、ツール提供サーバ１０のＣＰＵ１１が、記憶装置１２に記憶された、ゲーム作成ツールのプログラムを実行することにより実現される。また、当該プログラムは、記録媒体に格納することができる。当該プログラムを格納した記録媒体は、非一時的な記録媒体であってもよい。非一時的な記録媒体は特に限定されないが、例えば、ＵＳＢメモリ又はＣＤ−ＲＯＭ等の記録媒体であってもよい。
【００２９】
なお、ゲーム作成ツールのプログラムは、単体でゲーム作成ツールとして動作するプログラムであってもよい。或いは、ゲームの作成をサポートする既存のツールに組み込まれるプラグインとして提供され、当該既存のツールに組み込まれることで、当該既存のツールを本実施形態で説明するゲーム作成ツールとして動作させるプログラムであってもよい。
【００３０】
エディタ提供部１０１は、ゲーム作成エディタ及びデータ作成エディタを端末２０に提供する。ゲーム作成エディタは、複数のソフトウェア部品のテンプレートの中から、ゲームで使用する複数のソフトウェア部品の選択を受け付けると共に、選択された複数のソフトウェア部品の間で送受信されるデータの流れと、該複数のソフトウェア部品の各々が行うデータの処理内容の設定とを受け付けることでゲームを作成する機能を有する。データ作成エディタは、ゲーム内で使用する各種のデータ（キャラクタの画像データ、キャラクタの属性に関するデータ等）を作成する機能及び作成した各種のデータをデータ格納サーバ３０に格納する機能を有する。
【００３１】
なお、エディタ提供部１０１は、Ｗｅｂサーバ機能を備えており、端末２０が備えるＷｅｂブラウザに、データ作成エディタ及びゲーム作成エディタの画面を表示させるようにしてもよい。
【００３２】
また、複数のソフトウェア部品のテンプレートには、グラフィカルユーザインタフェースを提供する複数のＧＵＩ部品のテンプレートが含まれており、ゲーム作成エディタは、複数のＧＵＩ部品のテンプレートの中から選択された複数のＧＵＩ部品を並べることによる画面デザインの作成を受け付けるようにしてもよい。
【００３３】
また、複数のソフトウェア部品のテンプレートには、ゲームを実行する際に該ゲームが利用するデータを、当該ゲームを実行する装置（プレイヤのスマートフォン等）と通信可能な他の装置（データ格納サーバ３０）から取得する処理を提供するデータ読出部品が含まれていてもよい。また、ゲーム作成エディタは、当該データ読出部品が行う処理内容として、他の装置（データ格納サーバ３０）からデータを読み出す処理の設定を受け付けるようにしてもよい。
【００３４】
ビルド部１０２は、ゲーム作成エディタで作成されたゲームをビルドすることで実行可能ファイルを作成する。なお、ビルド部１０２は、自らゲームをビルドするのではなく、ゲーム作成エディタで作成されたゲームを他のコンピュータにビルドさせることで実行可能ファイルを作成するようにしてもよい。テンプレート記憶部１０３は、複数のソフトウェア部品のテンプレートが格納された「部品テンプレートＤＢ」を記憶する。
【００３５】
ゲーム作成ツールのプログラムは、ビルド部１０２に対応するプログラムを含んでいてもよいし、含んでいなくてもよい。後者の場合、ビルド部１０２は、ゲームの作成をサポートする既存のツールや外部サーバ等により提供されてもよい。
【００３６】
なお、本実施形態では、端末２０をエディタ提供部１０１とビルド部１０２とテンプレート記憶部１０３として機能させるためのゲーム作成ツールのプログラムを端末２０が備えるプロセッサに実行させることで、端末２０をエディタ提供部１０１とビルド部１０２とテンプレート記憶部１０３として機能させるようにしてもよい。この場合、端末２０を情報処理装置と称してもよい。当該プログラムは、ツール提供サーバ１０から端末２０にダウンロード可能としてもよいし、ツール提供サーバ１０とは異なる外部サーバから端末２０にダウンロード可能としてもよい。また、当該プログラムは、記録媒体に格納することも可能である。
【００３７】
また、本実施形態では、ゲーム作成エディタは端末２０上で実行され、データ作成エディタはＷｅｂ形式で端末２０に提供されることとしてもよい。つまり、端末２０上で実行されるエディタ提供部１０１がゲーム作成エディタを端末２０自身の画面に表示し、ツール提供サーバ１０上のエディタ提供部１０１がデータ作成エディタを端末２０に提供する（つまり、端末２０が備えるＷｅｂブラウザにデータ作成エディタの画面を表示する）こととしてもよい。これは、ゲーム作成エディタに関する実行ファイルを端末２０が備えるプロセッサが実行するプログラムに含めると共に、ツール作成エディタに関する実行ファイルをツール提供サーバ１０が備えるＣＰＵ１１が実行するプログラムに含めることで実現することができる。
【００３８】
＜具体例＞
続いて、ゲーム作成ツールの具体例について説明する。また、ゲームクリエータが、ゲーム作成ツールを用いてゲームの作成を行う際の具体例を説明する。
【００３９】
（ソフトウェア部品の例）
図７は、ゲーム作成エディタで利用可能なソフトウェア部品の一例を示す図である。各ソフトウェア部品には、ゲームクリエータが設定すべき設定項目が１以上用意されている。
【００４０】
図７（ａ）に示すデータ読出部品（プレイデータ）は、プレイヤが実際にゲームをプレイしている間にゲームアプリケーションにより生成されるデータ（以下、「プレイデータ」と言う。）を、プレイデータを格納するデータベース（以下、「プレイデータ用ＤＢ（Database）」と言う。）から読み出すソフトウェア部品である。「データ入力元」には、プレイデータ用ＤＢの場所を設定する。プレイデータ用ＤＢは、ゲームを実行する装置（プレイヤのスマートフォン等）に格納されるデータベースであることを想定しているが、これに限定されず、ゲームを実行する装置と通信可能なサーバ（データ格納サーバとは異なるサーバ又はデータ格納サーバ３０）に格納されるデータベースも含まれる。
【００４１】
図７（ｂ）に示すデータ更新部品（プレイデータ）は、プレイデータを、プレイデータ用ＤＢに格納されているプレイデータを更新する（書き込む）ソフトウェア部品である。「データ更新先」には、更新する（又は書き込みたい）プレイデータが格納されているプレイデータ用ＤＢの場所を設定する。
【００４２】
図７（ｃ）に示すデータ読出部品（データ格納サーバ）は、データ格納サーバ３０に保存されているデータを読み出すソフトウェア部品である。「データ入力元」には、読み出したいデータの保存場所を設定する。図７（ｄ）に示すデータ結合部品は、入力された２つのデータを結合する処理を行うソフトウェア部品である。「データ入力元」及び「追加データ入力元」には、データの送信元であるソフトウェア部品を設定する。具体的には、データ結合部品は、「データ入力元」で設定されたデータのキー値及びバリュー値を、「追加データ入力元」で設定されたデータのキー値及びバリュー値で上書きする処理を行う。
【００４３】
図７（ｅ）に示すデータ追加部品は、入力されたデータに対して、設定されたキー値及びバリュー値を追加するソフトウェア部品である。「データ入力元」には、当該部品に向けてデータを送信するソフトウェア部品を設定する。「追加データ（key, Value）」には、追加するキー値及びバリュー値を設定する。
【００４４】
図７（ｆ）に示すデータ分配部品は、入力されたデータをＧＵＩ部品に分配するソフトウェア部品である。具体的には、データ分配部品は、入力されたデータをデータセットごとに分割し、分割したデータセットを、それぞれＧＵＩ部品に送信する処理を行う。「データ入力元」には、当該部品に向けてデータを送信するソフトウェア部品を設定する。「分配先のＧＵＩ部品」には、データを分配するソフトウェア部品を設定する。
【００４５】
図７（ｇ）に示すシーンコントローラ（シーン切替）は、表示中のシーンを、「切替先シーン名」で設定されたシーンに切り替える処理を行うソフトウェア部品である。図７（ｈ）に示すシーンコントローラ（戻る）は、表示中のシーンを、１つ前に表示されていたシーンに戻す処理を行うソフトウェア部品である。
【００４６】
なお、図７（ｇ）及び図７（ｈ）に示すシーンコントローラ（シーン切替）及びシーンコントローラ（戻る）は、説明の便宜上２つに区別して記載しているが、独立したソフトウェア部品としてゲーム内に組み込まれるのではなく、１つのソフトウェア部品としてシーンごとにゲーム内に組み込まれる。また、シーンコントローラは、ゲーム起動時やシーン切替え等にてシーンが呼び出された（ゲームを実行する装置の画面に表示された）タイミングで、その時点でシーンコントローラが保持しているデータを、ゲームを実行する装置のメモリに存在する所定のスタック領域に格納しておく機能を備えている。当該メモリを「シーンスタック（Scene Stack）」と呼ぶ。当該所定のスタック領域は、シーンコントローラが保持しているデータを、ＬＩＦＯ（Last In, Fast Out）の構造で保持する。
【００４７】
また、シーンコントローラは、プレイヤの操作等により、プレイ中のゲームが停止される場合、停止する時点においてシーンコントローラが保持しているデータを所定のスタック領域に格納する。また、停止されたゲームがその後再起動された場合、シーンコントローラは、所定のスタック領域に格納されているデータを読み出し、読み出したデータを用いて処理を再開する。
【００４８】
図８は、ゲーム作成エディタで利用可能なＧＵＩ部品の一例を示す図である。図８（ａ）に示すキャラクタリスト表示部品は、キャラクタのアイコンとテキストとを表示するＧＵＩ部品である。また、部品全体が押下可能であり、本部品が押下された場合に任意のソフトウェア部品を実行することができる。「データ入力元」には、当該部品に向けてデータを送信するソフトウェア部品を設定する。「実行する部品名」及び「部品に渡す引数」には、それぞれ、ソフトウェア部品の部品名及び当該ソフトウェア部品に渡す引数を設定する。「イメージ表示」の「イメージ格納先ＵＲＬ」は、キャラクタリスト表示部品のアイコン表示部分に表示するアイコンのイメージ画像が格納されているＵＲＬ（データ格納サーバ３０のＵＲＬ）を設定する。「イメージ表示」の「適用先」には、キャラクタリスト表示部品の中でアイコンのイメージ画像を表示させる場所を設定する。図８（ａ）の例では、アイコンのイメージ画像を表示させる場所が１つしかないことから、設定可能な場所は１つに限定される（以下の説明における「適用先」も同様）。「テキスト表示」の「テキストの内容」には、キャラクタリスト表示部品のテキスト表示部分に表示するテキストを設定する。「テキスト表示」の「適用先」には、キャラクタリスト表示部品の中でテキストを表示させる場所を設定する。
【００４９】
図８（ｂ）に示す画像表示部品は、画像を表示するＧＵＩ部品である。「データ入力元」には、当該部品に向けてデータを送信するソフトウェア部品を設定する。「イメージ格納先ＵＲＬ」は、画像表示部品に表示する画像のイメージ画像が格納されているＵＲＬ（データ格納サーバ３０のＵＲＬ）を設定する。「適用先」には、画像を表示させる場所を設定する。
【００５０】
図８（ｃ）に示すテキスト表示部品Ａ及び図８（ｄ）に示すテキスト表示部品Ｂは、テキストを表示するＧＵＩ部品である。「データ入力元」には、当該部品に向けてデータを送信するソフトウェア部品を設定する。「テキストの内容」には、テキスト表示部品Ａ（又はＢ）に表示するテキストを設定する。「適用先」には、テキスト表示部品Ａ（又はＢ）の中でテキストを表示させる場所を設定する。
【００５１】
図８（ｄ）に示すテキスト表示部品Ｃは、テキストを表示するＧＵＩ部品である。また、部品全体が押下可能であり、本部品が押下された場合に任意のソフトウェア部品を実行することができる。「データ入力元」には、当該部品に向けてデータを送信するソフトウェア部品を設定する。「テキストの内容」には、テキスト表示部品Ａに表示するテキストを設定する。「適用先」には、テキスト表示部品Ａの中でテキストを表示させる場所を設定する。「実行する部品名」及び「部品に渡す引数」には、それぞれ、ソフトウェア部品の部品名及び当該ソフトウェア部品に渡す引数を設定する。
【００５２】
図９は、モーダルウィンドウを表示するＧＵＩ部品の一例を示す図である。図９（ａ）は当該部品の設定項目を示しており、図９（ｂ）は、表示されるモーダルウィンドウの一例を示している。「モーダルタイトル」には、モーダルウィンドウのタイトル表示エリアＡ１００に表示する任意のテキストを設定する。「モーダルテキスト」には、モーダルウィンドウのテキスト表示エリアＡ１０１に表示する任意のテキストを設定する。「メインボタンテキスト」には、メインボタンＢ１００に表示するテキストを設定する。「メインボタンアクション」には、メインボタンＢ１００が押下された場合に実行するソフトウェア部品の名称（更に引数を設定可能としてもよい）を設定する。「サブボタンテキスト」には、サブボタンＢ１０１に表示するテキストを設定する。「サブボタンアクション」には、サブボタンＢ１０１が押下された場合に実行するソフトウェア部品の名称（更に引数を設定可能としてもよい）を設定する。
【００５３】
図９（ｃ）及び図９（ｄ）は、モーダルウィンドウの表示例である。図９（ｃ）は、「モーダルタイトル」、「モーダルテキスト」、「メインボタンテキスト」及び「サブボタンテキスト」にそれぞれ「確認」、「ｘｘｘのレベルを１０増やします  よろしいですか？」、「いいえ」及び「はい」を設定した場合の表示例を示している。図９（ｄ）は、「モーダルタイトル」、「モーダルテキスト」、「メインボタンテキスト」にそれぞれ「成功」、「ｘｘｘのレベが３５になりました！」及び「戻る」を設定し、「サブボタンテキスト」及び「サブボタンアクション」に未使用を設定した場合の表示例を示している。
【００５４】
（ゲーム作成エディタの画面例）
図１０は、ゲーム作成エディタの画面例を示す図である。図１０に示す画面には、ソフトウェア部品のテンプレートの一覧を表示するモジュールビューＡ１０と、ゲームで使用するソフトウェア部品間のデータの流れを表示するリレーションビューＡ１１と、リレーションビューＡ１１で選択されたソフトウェア部品に対して各種の設定を行うラックビューＡ１２と、リレーションビューＡ１１で選択されたソフトウェア部品に入力されるデータの内容を表示するデータビューＡ１３とが含まれる。リレーションビューＡ１１には、ソフトウェア部品間におけるデータの流れが矢印で表示されるため、ゲームクリエータはデータの流れを一目で把握することができる。
【００５５】
「Ｓｏｕｒｃｅ」はデータ読出部品を意味する名称である。Ｒｅｆｅｒｅｎｃｅ  Ｓｏｕｒｃｅは、図７（ｃ）に示すデータ読出部品（データ格納サーバ）に該当し、Ｄａｔａｂａｓｅ  Ｓｏｕｒｃｅは、図７（ａ）に示すデータ読出部品（プレイデータ）に該当する。「Ｆｉｌｔｅｒ」はデータ結合部品及びデータ追加部品を意味する名称である。Ａｐｐｅｎｄ  Ｆｉｌｔｅｒは、図７（ｄ）に示すデータ結合部品に該当する。Ａｐｐｅｎｄ  Ｆｉｌｔｅｒ（ｓｔａｔｉｃ）は、図７（ｅ）に示すデータ追加部品に該当する。「Ｓｉｎｋ」は、ＧＵＩ部品を意味する名称である。「Ｖａｌｉｄａｔｉｏｎ」は、データ分配部品を意味する名称である。「Ｕｐｄａｔｅｒ」は、プレイデータを更新（Update）するソフトウェア部品を意味する名称である。
【００５６】
（ゲーム作成例）
続いて、ゲームクリエータが、ゲーム作成ツールを用いてゲームの作成を行う際の具体例を説明する。以下の説明では、ゲームクリエータは、図２で説明したゲームを作成するものとする。
【００５７】
まず、ゲームクリエータは、ＧＵＩ部品を組み合わせることで、画面デザインを作成する。図１１は、画面デザインの作成例を示す。図１１（ａ）は、図２（ａ）に示すキャラクタ一覧画面の画面デザインに対応し、図１１（ｂ）は、図２（ｂ）に示すキャラクタ詳細画面の画面デザインに対応する。ゲームクリエータは、図８（ａ）に示すキャラクタリスト表示部品を画面上に並べることで、キャラクタ一覧画面の画面デザインを作成する。また、図８（ｂ）〜図８（ｄ）に示す画像表示部品、テキスト表示部品Ａ、テキスト表示部品Ｂ及びテキスト表示部品Ｃを画面上に並べることで、キャラクタ詳細画面の画面デザインを作成する。
【００５８】
続いて、ゲームクリエータが、各ソフトウェア部品の設定項目に、ソフトウェア部品間のデータの流れや処理内容を示す具体的な値を設定することで所望のゲームを作成する手順を説明する。
【００５９】
図１２〜図１５は、ソフトウェア部品が備える設定項目の設定例を示す図である。ここで、図１２上段、図１３左側、図１４左上段及び右側、図１５上段は、ゲームクリエータが各ソフトウェア部品の設定項目に設定する具体的な値を示している。一方、図１２下段、図１３右側、図１４左下段、図１５下段は、実際にゲームが実行されたと仮定した場合に、各ソフトウェア部品間を流れるデータの実例を示している。図１２下段、図１３右側、図１４左下段及び図１５下段に示すデータの実例は、本実施形態の理解を助けるためにあくまで一例として図示するものであり、ゲーム作成エディタ上に表示されるものではない。
【００６０】
図１２で、ゲームクリエータは、データ読出部品（プレイデータ）に、ゲームを実行する装置（プレイヤのスマートフォン等）にプレイデータが保存されているパスを設定する。また、ゲームクリエータは、データ読出部品（データ格納サーバ）に、データ格納サーバ３０に記憶されているキャラクタ属性データを読み出すことを設定する。
【００６１】
続いて、ゲームクリエータは、データ結合部品に、データ読出部品（プレイデータ）から受信したデータと、データ読出部品（データ格納サーバ）から受信したキャラクタ属性データとを結合することを設定する。実際の結合処理は、データ読出部品（プレイデータ）から受信したデータに、キャラクタ属性データを上書きすることで行われる。
【００６２】
続いて、ゲームクリエータは、データ追加部品に、データ結合部品からデータを受信することと、受信したデータに（OnClick、シーンコントローラ（シーン切替））と、（シーン名、キャラクタ詳細画面）とを追加することを設定する。図１３に進み説明を続ける。
【００６３】
続いて、ゲームクリエータは、データ分配部品に、データ追加部品からデータを受信することと、データ分配先のＧＵＩ部品名（ここでは、キャラクタリスト表示部品）を設定する。なお、図１３に示すキャラクタリスト表示部品は、図１１（ａ）に示す画面デザインに存在するキャラクタリスト表示部品に対応する。
【００６４】
続いて、ゲームクリエータは、データが分配される先のキャラクタリスト表示部品に、データ分配部品からデータを受信することと、ボタン押下時に実行する部品名として、データ分配部品から受信したデータの中でキー情報（OnClick）に対応するバリュー値を、ボタン押下時に実行する部品名とすることを設定する。図１３の右上に示すように、キー情報（OnClick）に対応するバリュー値は「シーンコントローラ（シーン切替）」であることから、ボタン押下時は、シーンコントローラが呼び出されることになる。また、シーンコントローラが呼び出される際、キー情報（シーン名）に対応するバリュー値「キャラクタ詳細画面」が引数としてシーンコントローラに渡されることになる。
【００６５】
また、データ分配部品から受信したデータの中でキー情報（Icon）に対応するバリュー値（図１３上段の場合はhttp://../A.pngであり、図１３下段の場合はhttp://../B.png）が"GUI ICON"部分に表示するイメージ画像が格納されている場所であることと、データ分配部品から受信したデータの中でキー情報（Name）に対応するバリュー値（図１３上段の場合はAであり、図１３下段の場合はB）が"GUI TEXT"部分に表示するテキストであることを設定する。
【００６６】
なお、図１３には、キャラクタリスト表示部品が上下に二つ描かれているが、これは、例示しているデータにはデータセットが２つ（IDがCharaAであるデータセットと、IDがCharaBであるデータセット）含まれているからである。ゲーム作成中の段階では、データ分配部品が受信するデータに含まれるデータセットの数は不明であることから、ゲームクリエータは、ゲーム作成ツールにて２つのキャラクタリスト表示部品に設定を行うのではなく、１つのキャラクタリスト表示部品に設定を行うのみである。
【００６７】
図１４に進み説明を続ける。図１４は、図１３上側のキャラクタリスト表示部品が押下された場合を示している。キャラクタリスト表示部品が押下されてシーンコントローラが呼び出された場合、シーンコントローラは、キャラクタリスト表示部品が保持しているデータ（図１３の右上に示すデータ）を受け取り、引数として指定された「キャラクタ詳細画面」にシーンを切り替える。また、シーンコントローラは、シーンを切り替える際に、キャラクタリスト表示部品から受け取ったデータ（つまり、図１４左下に示すデータ）をシーンスタックに格納する。
【００６８】
続いて、ゲームクリエータは、レベル表示部品、テキスト表示部品Ａ及び画像表示部品に対し、シーンコントローラからデータを受信することを設定する。また、レベル表示部品及びテキスト表示部品Ａに対し、シーンコントローラから受信したデータの中でキー情報（Name）に対応するバリュー値（図１４の例ではA）を表示することを設定する。また、画像表示部品に対し、シーンコントローラ（シーン切替）から受信したデータの中でキー情報（Img）に対応するバリュー値（図１４の例ではhttp://../A.jpg）が、"GUI IMAGE"の部分に表示するデータが格納されている場所であることを設定する。図１５に進み説明を続ける。
【００６９】
続いて、ゲームクリエータは、データ追加部品に対し、シーンコントローラからデータを受信することと、受信したデータに（OnClick、シーンコントローラ（戻る））と、（Text、戻る）とを追加することを設定する。なお、データ追加部品が受信するデータには既にキー情報にOnClickが存在することから、OnClickに対応するバリュー値（図１５の例ではシーンコントローラ（シーン切替））が、シーンコントローラ（戻る）に書き換わることになる。
【００７０】
続いて、ゲームクリエータは、テキスト表示部品Ｂに対し、データ追加部品からデータを受信することと、ボタン押下時に実行する部品名として、データ追加部品から受信したデータの中でキー情報（OnClick）に対応するバリュー値（図１４の例ではシーンコントローラ（戻る））を、ボタン押下時に実行する部品名とすることを設定する。また、データ追加部品から受信したデータの中でキー情報（Text）に対応するバリュー値（図１４の例では"戻る"）が"GUI TEXT"部分に表示するテキストであることを設定する。
【００７１】
以上、ゲームクリエータが、各ソフトウェア部品の設定項目に、ソフトウェア部品間のデータの流れや処理内容を示す具体的な値を設定することで所望のゲームを作成する手順を、実際にゲームが実行された場合にソフトウェア部品間を流れるデータの実例を交えて説明した。
【００７２】
＜補足事項＞
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態で説明したフローチャート、シーケンス、実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【００７３】
以上の説明においてゲーム作成ツールで作成したゲームは、本実施形態を説明するための一例であり、本実施形態に係るゲーム作成ツールで作成可能なゲームが、本実施形態で説明したゲームに限定されることを意図しているのではない。
【００７４】
なお、本実施形態において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」や装置が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」や装置の機能が１つの物理的手段や装置により実現されても良い。
【符号の説明】
【００７５】
１…ゲーム作成システム、１０…ツール提供サーバ、１１…ＣＰＵ、１２…記憶装置、１３…通信ＩＦ、１４…ユーザＩＦ、２０…端末、３０…データ格納サーバ、１０１…エディタ提供部、１０２…ビルド部、１０３…テンプレート記憶部
【図１】
2019180627.tif 000003
【図２】
2019180627.tif 000004
【図３】
2019180627.tif 000005
【図４】
2019180627.tif 000006
【図５】
2019180627.tif 000007
【図６】
2019180627.tif 000008
【図７】
2019180627.tif 000009
【図８】
2019180627.tif 000010
【図９】
2019180627.tif 000011
【図１０】
2019180627.tif 000012
【図１１】
2019180627.tif 000013
【図１２】
2019180627.tif 000014
【図１３】
2019180627.tif 000015
【図１４】
2019180627.tif 000016
【図１５】
2019180627.tif 000017