JP6590905B2 - コンテンツ開発装置 - Google Patents

コンテンツ開発装置 Download PDF

Info

Publication number
JP6590905B2
JP6590905B2 JP2017245640A JP2017245640A JP6590905B2 JP 6590905 B2 JP6590905 B2 JP 6590905B2 JP 2017245640 A JP2017245640 A JP 2017245640A JP 2017245640 A JP2017245640 A JP 2017245640A JP 6590905 B2 JP6590905 B2 JP 6590905B2
Authority
JP
Japan
Prior art keywords
resource data
information
database
data
game
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017245640A
Other languages
English (en)
Other versions
JP2019113968A (ja
Inventor
祐一郎 岡村
祐一郎 岡村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2017245640A priority Critical patent/JP6590905B2/ja
Priority to US16/221,726 priority patent/US11409503B2/en
Publication of JP2019113968A publication Critical patent/JP2019113968A/ja
Application granted granted Critical
Publication of JP6590905B2 publication Critical patent/JP6590905B2/ja
Priority to US17/712,280 priority patent/US20220229638A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/316Aspect-oriented programming techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • G06F16/902Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、コンテンツ開発装置、コンテンツ開発システム、開発支援方法、及び開発支援プログラムに関する。
ゲームの開発においては、多数のゲームデータを作成する必要があり、そのために例えば、非特許文献1に示すようなゲーム開発ツールが用いられる。
Unity、[online]、[平成28年12月13日検索]、インターネット、<https://unity3d.com/jp/unity>
ところで、ゲームデータは、例えば、ゲームに登場するオブジェクトの形状などを示すモデルデータ、オブジェクトをアニメーションで動作させるためのアニメーションデータ等、種々のデータによって構成されている。しかしながら、このようなゲームデータは、ゲーム毎に構造が相違していることがあり、開発対象となるゲームが相違すると、ゲームデータの編集ツール(編集アプリケーション)から、所望のゲームデータを容易に取得することができないという問題がある。なお、このような問題は、ゲーム開発においてのみ生じ得る問題ではなく、例えば、コンピュータグラフィックに係る映像コンテンツなどのコンテンツを制作する場合にも、生じ得る問題である。すなわち、制作対象となるコンテンツが相違すると、コンテンツのリソースデータから、編集のための所望の情報を取得することが容易ではなかった。
本発明は、この問題を解決するためになされたものであり、制作対象となるコンテンツが相違しても、リソースデータから所望の情報を容易に取得することが可能な、コンテンツ開発装置、コンテンツ開発システム、開発支援方法、及び開発支援プログラムを提供することを目的とする。
第1の観点に係るコンテンツ開発装置は、制作中のコンテンツに関する複数のリソースデータを記憶するリソースデータ記憶部と、前記リソースデータのうち、対応する種類のリソースデータをそれぞれ編集可能な複数の編集処理部と、を有する、コンテンツ開発装置であって、前記リソースデータに関するデータベースを記憶するデータベース記憶部と、前記リソースデータの種類毎に作成され、少なくとも前記各リソースデータの場所を含む第1情報と、前記制作中のコンテンツにおいて関連付けられている異なる種類の前記リソースデータ同士の関連と対応するように、異なる種類の前記第1情報同士の関連を表す第2情報と、を前記複数のリソースデータに基づいて生成し、前記データベースに記憶させる情報収集部と、前記編集処理部からの要求により指定された前記リソースデータから、前記データベースに含まれる前記第1情報及び第2情報の少なくとも1つに基づいて、指定された前記リソースデータに関連付けられた異なる種類の前記リソースデータを示す情報を取得し、要求元である前記編集処理部へ当該情報を通知する情報提供処理部と、前記リソースデータ記憶部に記憶された前記リソースデータの少なくとも一部が更新された場合に、前記データベースを更新するデータベース更新部と、を備えている。
このコンテンツ開発装置によれば、リソースデータから、その種類毎に少なくとも当該リソースデータの場所を含む第1情報と、異なる種類のリソースデータの同士の関連を表す第2情報とを有するデータベースが構築される。このデータベースにより、種類毎にリソースデータの場所や、異なる種類のリソースデータ同士の関連が分かるため、例えば、ある種類のリソースデータから、それと関連する異なる種類のリソースデータを取得したり、閲覧することができる。したがって、ゲーム毎のリソースデータの構造が相違しても、所望のリソースデータに容易にアクセスすることができる。また、リソースデータの少なくとも一部が更新された場合にはデータベースが更新されるように構成されているため、最新のリソースデータに対しても、容易にアクセスすることができる。よって、リソースデータの編集処理の汎用性が向上するとともに、編集処理の速度も向上する。
第2の観点に係るコンテンツ開発装置は、上記第1の観点に係るコンテンツ開発装置において、前記情報収集部は、前記第1情報として、少なくとも前記各リソースデータの場所を含むテーブルと、前記第2情報として、異なる種類の前記第1情報同士の関連を表すテーブルと、を前記データベースとして生成する。但し、これは、第1情報及び第2情報の一例であり、テーブルを用いずに第1情報及び第2情報を生成することもできる。
第3の観点に係るコンテンツ開発装置は、上記第1または第2の観点に係るコンテンツ開発装置において、前記データベース更新部は、更新のあった前記リソースデータに関する情報のみを更新する。但し、一部のリソースデータが更新された場合でも、データベース全体の更新を行うこともできる。
第4の観点に係るコンテンツ開発システムは、第1サーバと、第2サーバと、上記いずれかに記載の複数のコンテンツ開発装置と、を備え、前記コンテンツ開発装置は、前記第1サーバから前記複数のリソースデータをダウンロードするように構成され、前記第2サーバは、前記第1サーバから受信した前記複数のリソースデータが記憶される外部リソースデータ記憶部と、前記リソースデータに関する外部データベースを記憶する外部データベース記憶部と、前記リソースデータの種類毎に作成され、少なくとも前記各リソースデータの場所を含む第1情報と、前記制作中のコンテンツにおいて関連付けられている異なる種類の前記リソースデータ同士の関連と対応するように、異なる種類の前記第1情報同士の関連を表す第2情報と、を前記外部リソースデータ記憶部に記憶された前記複数のリソースデータに基づいて生成し、前記外部データベースに記憶させる外部情報収集部と、前記外部データベースに含まれる前記第1情報及び前記第2情報を、前記各コンテンツ開発装置の前記データベースに提供する情報提供部と、を備えている。
コンテンツの開発を行う際には、リソースデータが記憶された第1サーバから、各開発者がコンテンツ開発装置にリソースデータをダウンロードし、編集処理等を行った上で、第1サーバにアップロードすることが行われる。しかしながら、作業の必要性等によっては、開発者は、すべてのリソースデータを第1サーバからダウンロードせず、必要なリソースデータのみをダウンロードすることがある。したがって、コンテンツ開発装置で生成されるデータベースは、ダウンロードされたリソースデータのみが反映される。そのため、例えば、静止画を編集する開発者は、動画に関するリソースデータをダウンロードしないことがある。この場合には、コンテンツ開発装置には動画に関するリソースデータが存在しないため、閲覧、編集を行うことができない。
そこで、このコンテンツ開発システムでは、第1サーバにあるリソースデータが記憶される第2サーバを準備し、この第2サーバにおいて、上述したような第1情報及び第2情報を生成する外部データベースを構築するとともに、この外部データベースを各コンテンツ開発装置のデータベースに提供するようにしている。すなわち、第2サーバは、第1サーバのリソースデータを取得しているため、第2サーバの外部データベースは、開発者が第1サーバからダウンロードしなかったリソースデータも反映したものとなる。したがって、各コンテンツ開発装置では、開発者がダウンロードしなかったリソースデータに対しても、データベースからアクセスすることができる。また、外部データベースは、第1サーバの最新のリソースデータに基づいて生成されているため、これに基づいて、各コンテンツ開発装置のデータベースも、最新のリソースデータを反映したものとすることができる。
第5の観点に係るコンテンツ開発システムは、上記第4の観点に係るコンテンツ開発システムにおいて、前記情報提供部は、前記外部データベースに含まれる前記第1情報及び前記第2情報を、初期値として、前記各コンテンツ開発装置の前記データベースに提供する。
第6の観点に係る開発支援方法は、制作中のコンテンツに関する複数のリソースデータが記憶され、当該リソースデータを編集する編集処理部が設けられたコンテンツ開発装置において行われる開発支援方法であって、前記複数のリソースデータから、当該リソースデータの種類毎に作成され、少なくとも前記各リソースデータの場所を含む第1情報と、前記制作中のコンテンツにおいて関連付けられている異なる種類の前記リソースデータ同士の関連と対応するように、異なる種類の前記第1情報同士の関連を表す第2情報と、をデータベースとして前記コンテンツ開発装置に記憶させる、情報収集ステップと、前記編集処理部からの要求により、指定された前記リソースデータから、前記データベースに基づいて、当該リソースデータに関連付けられた異なる種類の前記リソースデータを示す情報を取得し、前記編集処理部へ通知する情報提供処理ステップと、前記複数のリソースデータの少なくとも一部が更新された場合に、前記データベースを更新するデータベース更新ステップと、を備えている。
第7の観点に係る開発支援方法は、第6の観点に係る開発支援方法において、前記複数のリソースデータを第1サーバからダウンロードするステップをさらに備えている。
第8の観点に係る開発支援方法は、第7の観点に係る開発支援方法において、前記第1情報及び第2情報を、第2サーバからダウンロードし、前記コンテンツ開発装置のデータベースを更新するステップをさらに備えており、前記第2サーバからダウンロードされる前記第1情報及び第2情報は、前記第1サーバに記憶されている前記複数のリソースデータに基づいて生成される。
第9の観点に係る開発支援プログラムは、制作中のコンテンツに関する複数のリソースデータが記憶され、当該リソースデータを編集する編集処理部が設けられたコンピュータに、前記複数のリソースデータから、当該リソースデータの種類毎に作成され、少なくとも前記各リソースデータの場所を含む第1情報と、前記制作中のコンテンツにおいて関連付けられている異なる種類の前記リソースデータ同士の関連と対応するように、異なる種類の前記第1情報同士の関連を表す第2情報と、をデータベースとして記憶させる、情報収集ステップと、前記編集処理部からの要求により、指定された前記リソースデータから、前記データベースに基づいて、当該リソースデータに関連付けられた異なる種類の前記リソースデータを示す情報を取得し、前記編集処理部へ通知する情報提供処理ステップと、前記複数のリソースデータの少なくとも一部が更新された場合に、前記データベースを更新するデータベース更新ステップと、を実行させる。
第10の観点に係る開発支援プログラムは、第9の観点に係る開発支援プログラムにおいて、前記複数のリソースデータを第1サーバからダウンロードするステップをさらに実行させる。
第11の観点に係る開発支援プログラムは、第10の観点に係る開発支援プログラムにおいて、前記第1情報及び第2情報を、第2サーバからダウンロードし、前記データベースを更新するステップをさらに実行し、前記第2サーバからダウンロードされる前記第1情報及び第2情報は、前記第1サーバに記憶されている前記複数のリソースデータに基づいて生成される。
上記開発環境支援システムによれば、制作対象となるコンテンツが相違しても、リソースデータから所望の情報を容易に取得することができる。
本発明に係る開発環境支援システムが適用されたゲーム開発システムの概略構成図である。 図1のゲーム開発システムにおけるメインサーバの構成の一例を示すブロック図である。 図1のゲーム開発システムにおけるゲーム開発端末の構成の一例を示すブロック図である。 図1のゲーム開発システムにおける補助サーバの構成の一例を示すブロック図である。 オブジェクトとモデルとの関連付けを説明する図である。 ゲーム開発端末におけるローカルデータベースの構築を説明するブロック図である。 オブジェクトデータテーブルの一例を示す図である。 モデル設定データテーブルの一例を示す図である。 モデルデータテーブルの一例を示す図である。 オブジェクトデータテーブルとモデル設定テーブルとの関連を示す接続テーブルを示す図である。 モデル設定テーブルとモデルデータテーブルとの関連を示す接続テーブルを示す図である。 補助サーバにおけるグローバルデータベースの構築を説明するブロック図である。 ローカルデータベースの更新を説明するフローチャートである。 データ管理画面を示す図である。 ゲームデータを抽出してリスト化した画面を示す図である。 ゲームデータの編集処理を示すフローチャートである。
以下、本発明に係るコンテンツ開発システムをゲーム開発システムに適用した場合の一実施形態について、図面を参照しつつ説明する。図1は、このゲーム開発システムの概略構成図である。
<1.ゲーム開発システム>
図1に示すように、本実施形態に係るゲーム開発システムは、ゲームプログラム等の各種データが記憶されているメインサーバ1と、ネットワーク2を介して、このサーバ1と通信可能な複数のゲーム開発端末3と、を備えている。さらに、このネットワーク2には、メインサーバ1の各種データがコピーされる補助サーバ5が接続されており、ゲーム開発端末3と通信可能となっている。ネットワーク2は、インターネットのほか、開発企業内の社内ネットワーク、または、例えば、社外の関連会社と通信するための専用のネットワークであってもよい。そして、このシステムにおいては、ゲーム開発者が、ゲーム開発端末3を用いてゲームの開発を行う。その際、必要なゲームデータ等をメインサーバ1からダウンロードし、当該ゲームデータの編集など、各種の開発作業を行う。そして、開発作業が完了すると、そのゲームデータをメインサーバ1へ送信し、ゲームデータの更新を行う。さらに、ゲームデータの少なくとも一部は、後述するように補助サーバ4からも提供される。以下、メインサーバ1、補助サーバ4、及び各ゲーム開発端末3について詳細に説明する。
<2.メインサーバ>
まず、メインサーバ1について、図2を参照しつつ説明する。図2は、本実施形態に係るメインサーバの構成の一例を示すブロック図である。
図2に示すように、このメインサーバ1は、バス10で相互に接続された、通信部11、制御部12、及び記憶部13を有している。通信部11は、所定の通信モジュールによって構成され、ネットワーク2を介してゲーム開発端末3とデータの送受信を行うものである。
制御部12は、主としてCPU,RAM,ROMなどにより構成される。そして、制御部12が記憶部13に記憶されるプログラムを実行することによって、各種の情報処理が実行される。制御部12で実行される情報処理としては、例えば、ゲーム開発端末3とのデータの送受信、ゲームデータの更新を含む編集などがある。但し、これに限定されるものではなく、サーバとして動作するための、一般的な情報処理も含まれる。
記憶部13は、HDDやSSDなどの公知の記憶装置で構成することができ、メインサーバ1の駆動に関するプログラム等が記憶される情報処理プログラム記憶部131と、ゲームプログラム143等が記憶されるゲームデータ記憶部132と、を備えている。
情報処理プログラム記憶部131は、メインサーバ1を駆動するためのサーバ処理プログラム141と、後述するリソースデータ144の管理を行うためのデータ管理プログラム142と、を含む。また、ゲームデータ記憶部132は、開発中のゲームプログラム143、そのゲームで使用されるリソースデータ144などが含まれる。リソースデータ144には、ゲームデータ、及びゲームデータのメタ情報などが含まれる。ゲームデータには、ゲームに直接的に使用されるゲームデータのほか、そのデータを作成するためのデータも含まれる。また、メタ情報には、データのつながりや進捗ID等が含まれる。なお、リソースデータ144は、それ自体1つまたは複数のファイルを示す場合もあれば、ファイルの中で指定可能な特定の部分(データ)を示す場合もある。
その他、このメインサーバ1は、サーバ管理者が入力を行うためのインターフェースとして、キーボード、マウス、タッチパネル等の入力部、ディスプレイなどの表示部、及びプリンタ等の出力部などを備えることもできる。
なお、ネットワーク2を介してメインサーバ1とデータの送受信を行う際に、所定のログイン処理を行うこともできる。この場合、メインサーバ1においてログインしようとしているユーザが登録されているユーザか否かを判別する認証処理を行ってもよいし、メインサーバ1に接続しようとするゲーム開発端末3が登録されているものであるか否かを判別する認証処理を行ってもよい。
また、メインサーバ1は、単一の装置で構成することもできるし、あるいは複数の装置で構成し、上述した部位を適宜、分けた複数の装置で構成することができる。
<3.ゲーム開発端末>
続いて、ゲーム開発端末について、図3を参照しつつ説明する。図3は、本実施形態に係るゲーム開発端末の構成の一例を示すブロック図である。
図3に示すように、ゲーム開発端末3は、端末本体31と、この端末本体31に接続され、開発中のゲームを実行するゲーム装置32と、を備えている。
まず、端末本体31について説明する。図3に示すように、端末本体31は、例えば、公知のパーソナルコンピュータによって構成することができ、バス30で相互に接続された、制御部311、記憶部312、表示部313、入力部314、及び通信部315を備えている。
制御部311は、主としてCPU,RAM,ROM等により構成される。記憶部312は、HDDやSSDなどの公知の記憶装置で構成することができ、制御部311が上記ゲーム開発を行うために用いる各種のデータを記憶する。例えば、上記メインサーバ1からダウンロードされるデータ管理プログラム142、ゲームプログラム143、リソースデータ144等の各種データ(図3では省略)が記憶される。特に、本実施形態に係る記憶部312には、複数のリソースデータ61と、このリソースデータ61に基づいて構築されるローカルデータベース62と、が含まれている。ゲーム開発端末3に記憶されるリソースデータ61は、メインサーバ1に記憶されているリソースデータ144と同じでもよいし、開発者の作業内容に応じてリソースデータ144の一部であってもよい。ローカルデータベース62については、後述する。なお、この記憶部312において、リソースデータ61が記憶されている領域が、本発明に係るリソースデータ記憶部の一例であり、ローカルデータベース62を記憶する領域が、本発明に係るデータベース記憶部の一例である。
そして、制御部311が記憶部312に記憶されるデータ管理プログラム142を実行すると、制御部311は、仮想的に、編集処理部41、ゲームデータ更新部42、情報収集部44、情報提供処理部45、及びデータベース更新部46として機能する。これらの機能構成については後述する。
表示部313は、LCD等の表示装置により構成され、制御部311の指示にしたがって画像を表示する。なお、例えば、端末本体31が、パーソナルコンピュータで構成される場合、表示部313が端末本体31と別体で構成されることもある。
入力部314は、ゲーム開発者の操作者によって操作可能な入力装置であればよく、キーボード、マウス、タッチパネルなどで構成することができる。本実施形態では、表示部313に表示されるボタン等を押す操作を行う場合、一例として、マウスで押下するものとする。
通信部315は、所定の通信モジュールによって構成され、ネットワーク2を介して、メインサーバ1及び補助サーバ5とデータの送受信を行うものである。
ゲーム装置32は、開発中のゲームが実行される専用のゲーム装置であり、据え置き型あるいは携帯型のゲーム装置である。据え置き型のゲーム装置の場合には、LCD等の表示装置が別途設けられる。また、携帯型のゲーム装置の場合には、ゲーム装置に表示部が一体的に含まれる。但し、本実施形態においては、これらを区別せず、ゲーム装置32においてゲーム画像を表示するものを表示部と称することとする。さらに、ゲーム装置32には、ゲームに係る操作を行うための入力部が設けられている。なお、ゲーム装置32は、このように端末本体31と別体で設けられてもよいし、端末本体31に内蔵されていてもよい。
<4.補助サーバ>
次に、補助サーバ5について、図4を参照しつつ説明する。図4に示すように、補助サーバ5は、バス50で相互に接続された、通信部51、制御部52、及び記憶部53を有している。通信部51は、所定の通信モジュールによって構成され、ネットワーク2を介してメインサーバ1やゲーム開発端末3とデータの送受信を行うものである。
制御部52は、主としてCPU,RAM,ROM等により構成される。記憶部53は、HDDやSSDなどの公知の記憶装置で構成することができ、メインサーバ1からダウンロードされるデータ管理プログラム142、リソースデータ144等の各種データが記憶される。この記憶部53に記憶されるリソースデータ531は、メインサーバ1に記憶されているリソースデータ144と同じでもよいし、その一部であってもよい。また、記憶部53には、ゲーム開発端末3のローカルデータベース62と同様の役割を果たすグローバルデータベース532が記憶されている。このグローバルデータベース532については、後述する。
そして、制御部52が記憶部53に記憶されるデータ管理プログラム142を実行すると、制御部52は、仮想的に、情報収集部521、情報提供部522、及びデータベース更新部523として機能する。これらの機能構成は後述するが、情報収集部52及びデータベース更新部523は、ゲーム開発端末3の情報収集部44及びデータベース更新部46と概ね同じである。また、情報提供部522は、情報収集部521により生成された情報を各ゲーム開発端末3のローカルデータベース62に提供するものである。この点についても、後述する。
その他、この補助サーバ5は、サーバ管理者が入力を行うためのインターフェースとして、キーボード、マウス、タッチパネル等の入力部、ディスプレイなどの表示部、及びプリンタ等の出力部などを備えることもできる。
また、補助サーバ5は、単一の装置で構成することもできるし、あるいは複数の装置で構成し、上述した部位を適宜、分けた複数の装置で構成することができる。例えば、グローバルデータベース532のみ、他の装置で構成することもできる。
<5.ゲーム開発端末でのローカルデータベースの構築>
次に、ゲーム開発端末3においてゲーム開発処理を行う前の準備処理であるローカルデータベース62の構築について説明する。後述するように、ゲームデータの編集は、編集処理部41により行われる。編集処理部41は、ゲームデータを編集するためのアプリケーションであり、例えば、マップ編集ツール、アニメーション編集ツール、開発ツールなど、編集対象毎に複数設けられている。また、このような編集処理部41としては、公知の画像編集アプリケーションなどを利用することもできる。そして、編集処理部41は、リソースデータ61から必要なファイルを読み出し、そのファイルを編集する機能を有しているが、リソースデータ61の構造は、ゲーム毎に異なることがある。そのため、開発対象となるゲームが変わると、編集処理部41から、必要なリソースデータ61に容易にアクセスできない場合がある。そこで、本実施形態では、どのようなゲームにおいても、必要なリソースデータ61に容易にアクセスできるようにするため、ローカルデータベース62を構築している。以下、このローカルデータベース62の構築について説明する。
<5−1.ゲームデータの概要>
まず、ゲームデータについて説明する。ゲームデータには、例えば、ゲームに登場するオブジェクトを構成するためのデータが含まれている。オブジェクトとは、例えば、ゲームに登場する人物、動物、魔物などキャラクタ、キャラクタが持つべき道具や武器、建物等の構造物、山、湖、岩などの自然物など、ゲームを構成する各種の要素を意味する。また、具体的な形状を有するオブジェクトのほか、ゲーム中に行われるイベント(例えば、戦闘シーン、デモなど)もゲームデータとなる。
そして、各オブジェクトに対しては、モデル、アニメ、及び物理などゲームデータが関連付けられている。モデルとは、オブジェクトの形状などを表すデータであり、アニメは、モデルで表されたオブジェクトをアニメーションで動作させるためのデータである。また、物理とは、主として、そのオブジェクトの物性を示すものであり、例えば、重量、速度などのデータである。但し、ゲームデータはこれらに限定されず、オブジェクトに応じて適宜設定することができる。このように、各オブジェクトは、上記のようなモデル、アニメ、及び物理などのゲームデータと関連付けることにより構成されている。
また、1つのオブジェクトには、複数のモデル等を関連付けることができ、あるモデルは、1つのオブジェクトだけではなく、他の種類のオブジェクトにも利用されることがある。この点は、アニメ、物理に関するゲームデータでも同じである。このように、各オブジェクト、モデル、アニメ、物理などのゲームデータは、相互に関連付けられて、オブジェクトが構成されている。
そして、上記のようなゲームデータは、リソースデータ61として記憶部312に記憶されている。したがって、リソースデータ61は、オブジェクト、モデル、アニメ、物理などのゲームデータの種類毎に作成されている。例えば、オブジェクトに係るリソースデータは、オブジェクトの名前、性別、年齢などのデータを有している。
そして、これらのリソースデータ61は、種々の方法で関連付けられている。例えば、オブジェクトとモデルに関するリソースデータの関連付けとしては、図5に示すように、3種類を挙げることができる。図5(a)の例では、オブジェクトに関するリソースデータ(以下、オブジェクトデータファイルという)が、モデルの設定に関するリソースデータ(以下、モデル設定ファイルという)と関連付けられ、さらに、モデル設定ファイルが、モデルに関するリソースデータ(以下、モデルデータファイルという)と関連付けられている。したがって、あるオブジェクトが、どのようなモデルデータファイルを利用しているかを知るには、オブジェクトデータファイルから、それに関連付けられたモデル設定ファイルを探し、さらにそのモデル設定ファイルからモデルデータファイルを探す必要がある。なお、ここでは、リソースデータがファイル形式である場合を例にして説明しているが、上述したように、ファイルの一部を構成するデータとなる場合もある。
図5(b)の例では、オブジェクトデータファイルが、モデルデータファイルと直接関連付けられている例を示している。したがって、この例では、オブジェクトデータファイルから、それに関連付けられたモデルデータを探すことができる。また、図5(c)は、例えば、オブジェクトの名称が、モデルの名称となっている場合である。
このように、リソースデータ61は、ゲームによって、関連付けの方法が相違することがある。そこで、本実施形態では、上述した情報収集部44により、リソースデータ61の種類毎に、必要なデータを収集したテーブルを生成するように構成されている。すなわち、ゲーム開発の汎用性を高めるため、リソースデータ61を整理したテーブルを生成している。以下、この点について、詳細に説明する。
<5−2.情報収集部の機能>
図6に示すように、情報収集部44は、リソースデータ61の種類毎に複数設けられている。図6では、情報収集部44の一部の例として、オブジェクトデータ収集部441、モデル設定データ収集部442、モデルデータ収集部443が設けられている。すなわち、制御部311は、オブジェクトデータ収集部441、モデル設定データ収集部442、モデルデータ収集部443として機能する。例えば、オブジェクトデータ収集部441は、オブジェクトに関するリソースデータ61からゲームデータを収集し、オブジェクトデータテーブル621を生成する。同様に、モデル設定データ収集部442は、モデル設定データに関するリソースデータ61からゲームデータを収集し、モデル設定データテーブル622を生成し、モデルデータ収集部443は、モデルデータに関するリソースデータ61からゲームデータを収集し、モデルデータテーブル623を生成する。なお、このようなテーブルは、1つまたは複数のファイルにより構成することができる。
図7にオブジェクトデータテーブル621の例を示す。図7のテーブルは、オブジェクトに関するすべてのリソースデータ61からゲームデータを抽出して生成されたものであり、テーブル名は、objectである。すなわち、テーブル中の各行に各オブジェクトに関するデータが記載されている。例えば、このテーブルの第1行目には、「AAA」と称するオブジェクトに関するデータが記載されており、オブジェクトの名前(URIでもある)がAAA、年齢が1歳、性別が男、このAAAに関するモデル設定データのURIがcharaAAAであることが示されている。
図8にモデル設定データテーブル622の例を示す。図8のテーブルは、モデル設定に関するすべてのリソースデータからゲームデータを抽出して生成されたものであり、テーブル名は、modelinfoである。すなわち、テーブル中の各行に各モデル設定に関するデータが記載されている。例えば、テーブルの第1行目には、URIがcharaAAAであるモデル設定データについて記載され、このモデル設定データで指定されているモデルのURIが、0001.model、色が赤であることが示されている。
図9にモデルデータテーブル623の例を示す。図9のテーブルは、モデルに関するすべてのリソースデータ61からゲームデータを抽出して生成されたものであり、テーブル名は、modelである。すなわち、テーブル中の各行に各モデルに関するデータが記載されている。例えば、テーブルの第1行目には、URIが0001.modelであるモデルについて記載され、このモデルに用いられるパラメータ(一例としてnum-vertex、shader)が示されている。
このように、情報収集部44は、リソースデータ61から、その種類毎にデータを抽出し、テーブルを生成している。すなわち、ここで生成されるテーブルは、例えば、リソースデータ61の種類毎に生成されるゲームデータのリストであるといえる。なお、情報収集部44は、各リソースデータ61の中のすべてのデータを収集する必要はなく、必要なデータのみを収集することができる。すなわち、少なくとも、リソースデータ61の場所(URI、あるいはパスなど)が収集されていればよい。以上説明したテーブル621〜623を、ソーステーブルと称することとし、このソーステーブルは本発明の第1情報の一例である。
さらに、情報収集部44は、生成したソーステーブルから、ソーステーブル間の関連を示す接続テーブルを生成する。例えば、図10は、オブジェクトデータテーブルとモデル設定テーブルとの関連を示す接続テーブルであり、これが本発明の第2情報の一例である。この接続テーブルのテーブル名は、con_object_to_modelinfoであり、接続テーブルであることを示す"con"という文字列が含まれている。そして、この接続テーブルには、オブジェクトデータテーブルに含まれるオブジェクトの名称(URI)と、モデル設定データテーブルに含まれるモデル設定データのURIとが含まれている。また、図11は、モデル設定データテーブルとモデルデータテーブルとの関連を示す接続テーブルである。この接続テーブルテーブル名は、con_modelinfo_to_modelであり、モデル設定データテーブルに含まれるモデル設定データのURIと、モデルデータテーブルに含まれるモデルのURIとが含まれている。そして、これら接続テーブルは、そのテーブル名により、どのソーステーブルが関連付けられているかが分かるようになっている。すなわち、con_object_to_modelinfoというテーブル名の接続テーブルは、これに含まれるobject_to_modelinfoという文字列により、オブジェクトデータテーブル(object)とモデル設定データテーブル(modelinfo)とを関連付けていることを示している。同様に、con_modelinfo_to_modelというファイル名の接続テーブルは、これに含まれるmodelinfo_to_modelとの文字列により、モデル設定データテーブル(modelinfo)とモデルデータテーブル(model)とを関連付けていることを示している。
なお、例えば、図5(b)に示すようなソーステーブルを用いる場合には、接続テーブルは、オブジェクトデータテーブルと、モデルデータテーブルとを関連付けるものであり、ファイル名は、con_object_to_modelとなる。そして、この接続テーブルには、オブジェクトの名称(URI)と、モデルのURIとが含まれる。また、図5(c)の例の場合の接続テーブルも、図5(b)と同様に生成することができる。
そして、情報収集部44は、定期的に起動し、上記ソーステーブル621〜623や接続テーブル624,625を生成する。例えば、ゲーム開発端末3を起動したときに、情報収集部44が起動するようにしたり、あるいは所定時間おきに情報収集部44が起動するようにできる。また、ソーステーブル621〜623や接続テーブル624,625は、情報収集部44の起動毎に新規に作成してもよいし、リソースデータ61の更新部分のみを反映するように更新してもよい。なお、上述した各種テーブルの形式は、一例であり、含まれるデータやカラム名(object_uri等)等は適宜変更可能である。
<5−3.情報提供処理部の機能>
次に、情報提供処理部45の機能について説明する。情報提供処理部45は、上記のように生成されたソーステーブル621〜623や接続テーブル624,625に基づいて、必要なデータを提供するものである。ここでは、接続テーブル624,625に基づいて、データを提供する方法について説明する。例えば、あるオブジェクトが利用しているモデルの一覧を確認するためには、オブジェクトデータテーブルを示す"object"との文字列が含まれているテーブル名のテーブルが検索の起点となる。以下、このテーブルを開始テーブルと称することとする。この場合は、上述したとおり、ファイル名がcon_object_to_modelinfoであるテーブルが開始テーブルとなる。また、モデルデータテーブルを示す"model"との文字列が含まれているテーブル名のテーブルが検索の目的となる。以下、このテーブルを目的テーブルと称することとする。この場合は、上述したとおり、テーブル名がcon_modelinfo_to_modelであるテーブルが目的テーブルとなる。そして、開始テーブル及び目的テーブルのテーブル名には両方とも、"modelinfo"という文字列が含まれているため、con_object_to_modelinfoとcon_modelinfo_to_modelとは、関連付けることができ、これらのテーブルを参酌することで、オブジェクトから、それに利用されているモデルを確認することができる。すなわち、図10及び図11に示すように、これらの接続テーブルを参酌することで、例えば、「AAA」というオブジェクトは、0001.modelというモデルを用いていることが分かる。なお、上記の例では、開始テーブルと目的テーブルとの2つの接続テーブルを関連付けることで、オブジェクトから、それに用いられているモデルを検索することができたが、複数の接続テーブルを介在させることで、開始テーブルと目的テーブルとが関連付けられることもある。
以上のようなテーブルがローカルデータベース62に記憶されていることにより、例えば、編集処理部41からローカルデータベース62に対して要求があると、情報提供処理部45が、その要求に基づいて、ローカルデータベース62を検索し、要求に応じたデータを提供することができる。例えば、上記の例では、編集処理部41において、あるオブジェクト名が入力されると、情報提供処理部45によりローカルテータベース62が検索され、そのオブジェクトに使用されているモデルを出力し、編集処理部41に提供することができる。その他、あるオブジェクト名が入力されると、それに使用されているアニメや物理などを出力することもできる。
<5−4.データベース更新部の機能>
データベース更新部46は、リソースデータ61の一部が更新された場合には、これを検知し、更新されたリソースデータ61に対応する情報収集部44を起動する。これにより、起動された情報収集部44は、更新されたリソースデータ61に対応するソーステーブル621〜623及び接続テーブル624,625の更新を行う。リソースデータ61の更新については、後述する。なお、データベース更新部46は、ゲーム開発端末3にインストールされているOSに付属の機能を利用することもできるし、それとは別のアプリケーションにより実現することもできる。
<5−5.その他>
上記の例では、編集処理部41が要求した情報を、ローカルデータベース62から取得することを示したが、編集処理部41の仕様によっては、リソースデータ61の中から直接データを取得することもできる。例えば、アニメーションを編集するための編集処理部41であるアニメーション編集ツール(例えば、アニメーションを編集するためのアプリケーション)は、ローカルデータベース62を用いなくても、アニメに関するリソースデータ61を直接取得することができる。したがって、例えば、アニメ以外のリソースデータ61については、編集処理部41の仕様上、リソースデータ61から直接取得することが困難であるため、例えば、アニメーション編集ツールを起動中に、アニメ以外のリソースデータを参照する場合には、ローカルデータベース62から取得した上で、アニメーション編集ツール上で、閲覧、編集等の処理を行うことができる。
<6.補助サーバでのグローバルデータベースの構築>
次に、補助サーバ5におけるグローバルデータベース532の構築について説明する。まず、グローバルデータベース532の構築は、上述したローカルデータベース62と概ね同様の方法で構築される。すなわち、図12に示すように、リソースデータ531から、情報収集部521によって、各種のソーステーブル5321〜5323,接続テーブル5324,5325が生成される。但し、補助サーバ5に記憶されているリソースデータ531は、ゲーム開発端末3のリソースデータ61とは相違する。すなわち、ゲーム開発端末3のリソースデータ61は、開発者によって日々編集が行われているため、ゲーム開発端末3毎に相違する。また、各ゲーム開発端末3が、メインサーバ1からすべてのリソースデータ144をダウンロードしているわけではなく、作業の必要性や、ゲーム開発端末3の容量を考慮して、開発者が一部のリソースデータ144しかダウンロードしていない場合もある。したがって、各ゲーム開発端末3で構築されるローカルデータベース62は、メインサーバ1にあるすべてのリソースデータ144を反映して生成されたものではないことがある。
これに対して、補助サーバ5のリソースデータ531は、開発者による直接の編集が行わるものではなく、また、基本的にメインサーバ1の最新のリソースデータ144をすべてダウンロードしたものである。したがって、このリソースデータ531から生成された各種のソーステーブル5321〜5323,接続テーブル5324,5325は、基本的に、メインサーバ1の最新のすべてのリソースデータ144が反映されたものである。そして、補助サーバ5の情報提供部522は、生成されたソーステーブル5321〜5323,接続テーブル5324,5325を各ゲーム開発端末3のローカルデータベース62にコピーする役割を果たす。これにより、ローカルデータベース62は、初期値として、グローバルデータベース532と同じテーブルを有する。運用方法の例としては、例えば、毎日、最初にゲーム開発端末3を起動したときに、グローバルデータベース532からテーブルが送信され、ローカルデータベース62にコピーされるようにすることができる。
また、補助サーバ5のデータベース更新部523は、メインサーバ1のリソースデータ144の変更を検知したときに、その変更を反映するように、補助サーバ5のリソースデータ531を更新する役割を果たす。このとき、メインサーバ1自体が、リソースデータ144の変更を検知したときに、その更新を補助サーバ1のデータベース更新部523に送信してもよいし、あるいは、データベース更新部523が、所定時間おきに、メインサーバ1のリソースデータ144を監視し、変更を検知するようにしてもよい。そして、補助サーバ5のリソースデータ531が更新されると、情報収集部521は、その都度、あるいは所定時間おきに、テーブルを新たに作成したり、あるいは更新する。これにより、グローバルデータベース532が更新される。
<7.ローカルデータベースの更新>
次に、ローカルデータベース62の更新の例について、図13のフローチャートを参照しつつ説明する。図13に示すように、ゲーム開発端末3が起動されると(ステップS101)、ローカルデータベース62には、その直前のグローバルデータベース532のテーブル5321〜5325がコピーされる(ステップS102)。すなわち、ローカルデータベース62の各テーブル621〜625は、初期値として、グローバルデータベース532と同じになる。次に、情報収集部44が起動して、ゲーム開発端末3内のすべてのリソースデータ61からテーブル621〜625を生成し、ローカルデータベース62に記憶する。すなわち、ローカルデータベース62は、ゲーム開発端末3内のリソースデータ61を反映するように更新される(ステップS103)。すなわち、ゲーム開発端末3になく、補助サーバ5にあるリソースデータ531に対応するテーブルは更新されない。
次に、ゲーム開発端末3のリソースデータ61に変更が生じたときには(ステップS104のYES)、上述したデータベース更新部46がこれを検知し、情報収集部44を起動して、変更部分に対応するテーブルを生成する。そして、ローカルデータベース62内で、生成されたテーブルに対応する部分を更新する(ステップS105)。なお、リソースデータ61に変更が生じる場合とは、例えば、開発者がリソースデータ61の編集を行った場合であるが、この編集処理はゲームの開発中、継続的に行われているため、テーブルの更新も継続的に行われる。
続いて、グローバルデータベース532に変更が生じたときには(ステップS106のYES)、グローバルデータベース532の変更部分に対応するテーブルをローカルデータベース62にコピーする(ステップS107)。この処理は、例えば、情報収集部44により行うことができるが、これに限定されず、他のアプリケーションを用いて行うこともできる。その後、上記処理を繰り返す。すなわち、ゲーム開発端末3のリソースデータ61の更新の都度、及びグローバルデータベース532の更新の都度、ローカルデータベース62を更新する。なお、グローバルデータベース532の変更は、メインサーバ1のリソースデータ144が更新されるのに対応して行われるが、メインサーバ1のリソースデータ144の更新も、ゲームの開発中、継続的に行われている。したがって、グローバルデータベース532の更新も継続的に行われる。
<8.ゲーム開発処理>
次に、上述したメインサーバ1、補助サーバ5、及びゲーム開発端末3を用いたゲーム開発方法について説明する。まず、ゲーム開発者は、データ管理プログラム142、ゲームプログラム143、ゲームデータ(リソースデータ144)等のゲーム開発に係るデータをサーバ1からダウンロードし、各プログラムをゲーム開発端末3上で実行する。なお、データ管理プログラム142は、ゲームデータ等と異なり、ゲーム開発に伴って頻繁に更新される性質のものではなく、必ずしも毎回ダウンロードする必要はない。したがって、一度だけダウンロードしてゲーム開発端末3に記憶しておいてもよいし、予めゲーム開発端末3に記憶されていてもよい。以下では、ゲーム開発を行うためのデータ管理画面について説明した後、ゲーム開発の概要について説明する。
<8−1.データ管理画面>
図14は、データ管理プログラム142を実行することで表示されるデータ管理画面である。上記のように、データ管理プログラム142を実行すると、ゲーム開発端末3の表示部313には、データ管理画面7が表示され、これを操作することで、ゲームデータの編集を行うことができる。図14に示すように、このデータ管理画面7には、左右に分割された2つの領域、つまり、左側にゲームデータのリストが表示される第1領域71が表示され、右側にゲームデータの編集を行う第2領域72が表示されている。
第1領域71には、ゲームに登場するオブジェクト及びそれに関連するゲームデータのリストが階層構造により表示されている。このリストは、リソースデータ61に基づいて、制御部311の編集処理部41により作成される。
図14の例では、階層構造の上位のオブジェクトの分類として、キャラクタのプレイヤ1、武器、防具が表示されており、防具の中の下位の分類として頭用、上半身用、下半身用が表示されている。そして、最下位の分類が具体的なオブジェクトとなり、これらオブジェクトに対してゲームデータ(リソースデータ)が設けられている。例えば、プレイヤ1については、モデル、アニメ、及び物理の3つのゲームデータが設けられている。
なお、図14の例では、下位に分類を有するオブジェクトの分類、あるいはゲームデータを有するオブジェクトについては、矩形状の白色の分類用アイコン711が、分類やオブジェクトの名称表示の左側に示されている。一方、ゲームデータの名称表示の左側には矩形状の黒色のゲームデータ用アイコン712が示されている。また、分類用アイコン711が示されている分類については、それよりも下位の分類やゲームデータを隠すこともできる。例えば、図14の武器に関する分類は、下位の分類やゲームデータが表示されていないが、分類用アイコン711が押されることで、下位の分類やゲームデータを表示することができる。
第1領域71に示されるリストは、オブジェクトの種類よって適宜、表示方法を変更することができる。すなわち、図14は、主としてキャラクタ、武器、道具などを基準とした階層構造で表示されているが、例えば、イベントを基準とした階層構造で表示することもできる。すなわち、図示を省略する表示選択ボタンが押されることで、イベントを細分化しながら、階層構造により表示することができる。そして、その階層構造の中に、関連するキャラクタも表示することができるため、図14と同様に、オブジェクトとともにゲームデータが表示される。
また、このリストから種々のゲームデータを抽出することもできる。例えば、図15に示すように、モデルに係るゲームデータのみを抽出したリストを作成し、第1領域71に表示することもできる。したがって、オブジェクト毎でなく、ゲームデータの種類毎にもリストを作成することができる。なお、このようなリストは、第1領域71に表示するのみならず、第1領域71とは別のウインドウを表示し、これにリストを表示させることもできる。
また、各ゲームデータには、管理者として一または複数のゲーム開発者が割り当てられる。また、そのゲームデータの完成に至るまでの進捗が設定される。
次に、第2領域72について説明する。図14に示すように、この第2領域72には、ゲームデータを編集するためのツールが表示されている。具体的には、編集画面721、編集ボタン722、コンバートボタン723、及びサブミットボタン724が配置されている。具体的なゲームデータの編集方法については、後述する。
<8−2.ゲームデータの編集>
次に、ゲームデータの編集について、図16のフローチャートを参照しつつ説明する。まず、第1領域71に表示されているゲームデータの中から、編集すべきゲームデータが選択され(ステップS201)、これに続いて、編集ボタン722が押されると、第2領域72に、選択したゲームデータに応じた編集画面721が表示される。
例えば、第1領域71に表示されているオブジェクトである防具(下半身)の中の「物理」というゲームデータが選択されると、編集画面721には、この防具に関わる重量などのパラメータが表示される。そして、ゲーム開発者は、編集作業として、編集画面721に表示されるパラメータの修正、追加、削除などを行うことができる(ステップS202)。このように、編集画面721には、選択したゲームデータに応じた編集画面が表示される。したがって、他のゲームデータを選択した場合には、防具(上半身)とは異なるパラメータなどが表示された編集画面721が表示される。以上の編集作業は、制御部311の編集処理部41により行われる。上記の例では、例えば、物理に関するゲームデータを編集できるツールが起動し、編集処理が行われる。
この例の編集処理部41は、オブジェクトの物理に係るゲームデータを編集するため、編集処理部41はリソースデータから直接、物理に係るリソースデータを読み出し、編集することができる。例えば、図14の編集画面に示すように、「物理」のボタンをクリックすると、そのパラメータがプルダウンメニューにより表示され、編集が可能となる。これに対して、例えば、編集対象となるオブジェクトが用いているモデルを確認したい場合には、編集処理部41から直接リソースデータ61を読み出すことができない。あるいは、非常に困難である。したがって、この場合には、ローカルデータベースを利用する。例えば、防具(下半身)とのオブジェクトが選択されている場合、「モデル」とのボタンをクリックすると、情報提供処理部45は、ローカルデータベース62から、上述した手順で、このオブジェクトに用いられているモデルを検索し、そのリストをプルダウンメニューに表示する。したがって、開発者は、防具(下半身)に用いられているモデルを確認することができる。すなわち、この例では、モデルA,モデルBが用いられていることが確認できる。また、リストにより表示されたモデルを編集することもできる。
また、ゲームデータの種類によっては、専用アプリケーションが起動されることもある。例えば、ゲームデータとして「アニメ」を選択した場合には、アニメーションを編集するための専用アプリケーションが起動する。この場合、専用のアプリケーションの起動とともに、編集画面721とは別の専用ウインドウを表示して編集を行うことができる。他に、このような専用アプリケーションとしては、3Dモデルの作成・編集アプリケーションや、画像処理用のアプリケーション等を採用することもできる。
こうして、編集画面721あるいは専用アプリケーションによるゲームデータの編集が完了すると、それを確認するために、ゲーム開発者によってコンバートボタン723が押される。この操作に応じて、ゲーム開発端末3にダウンロードしたゲームデータが更新される(ステップS203)。次に、ゲーム開発者の指示に応じて、更新したゲームデータの効果を確認するため、ゲームプログラムが実行される。これにより、更新したゲームデータが読み込まれたゲームが開始される(ステップS204)。すなわち、ゲーム開発端末3に設けられているゲーム装置32の表示部に、ゲーム画面が表示される。そして、ゲーム開発者は、編集したゲームデータに関連するオブジェクトを表示させ、編集の効果を確認する(ステップS205)。編集の効果の確認により、再度の編集が必要な場合には(ステップS206のYES)、ステップS202〜S205の通りに、ゲームデータの編集を行う。また、これらの処理はゲーム開発者の指示操作に基づいて実行されるものであるが、編集作業上必要の無い処理については指示されずに実行されなくともよい。例えば、効果の確認の必要が無い作業の場合にはステップS204およびS205の処理は行われなくともよい。
そして、編集の効果を確認し、編集が完了した場合には(ステップS206のNO)、ゲーム開発者によってサブミットボタン724が押される。この操作に応じて、編集したゲームデータが、メインサーバ1に記憶されているリソースデータ144に反映される(ステップS207)。すなわち、メインサーバ1に記憶されているリソースデータ144が更新される。これにより、メインサーバ1に接続しているすべてのゲーム開発端末3において、更新されたリソースデータ144及びそれに関連するオブジェクトを閲覧可能となり、その編集も可能となる。そして、メインサーバ1のリソースデータ144の更新に伴い、補助サーバ5のグローバルデータベース532も更新される。以上の更新作業は、制御部311のゲームデータ更新部42により行われる。なお、リソースデータ144として保持されるのは、ゲーム開発者が利用するデータのうちゲームに使われるデータだけでよく、ゲーム開発者がゲームデータを生成・編集するために必要であるがゲームには使われないデータ、例えばゲームで使うものより詳細度の高い3Dモデルデータや、解像度の高いテクスチャデータ、もしくは採用されなかったものの修正時に使う可能性のあるデータ等は必ずしもメインサーバ1に保持する必要はなく、当該ゲーム開発者が使うゲーム開発端末3のみに保持しておくようにしてもよい。
そして、上記のように、リソースデータ61が更新されると、上述したように、その都度、あるいは所定時間おきに、情報収集部44により、更新されたリソースデータ61に対応するテーブルが生成され、ローカルデータベース62が更新される。
<9.特徴>
<9−1>
本実施形態によれば、各ゲーム開発端末3にローカルデータベース62が構築されることにより、ゲーム毎のリソースデータ61の構造が相違しても、所望のリソースデータ61に容易にアクセスすることができる。また、編集処理部41の種類や仕様によっては、直接扱うことができないリソースデータ61に対しても、ローカルデータベース62を利用することで、容易にアクセスすることができる。以上より、リソースデータの編集処理の汎用性が向上するとともに、編集処理の速度も向上する。
<9−2>
各ゲーム開発端末3のリソースデータは、メインサーバ1のリソースデータ144と相違することがある。すなわち、作業の必要性等によっては、開発者は、すべてのリソースデータ144をメインサーバ1からダウンロードせず、必要なリソースデータ144のみをダウンロードすることがある。したがって、生成されるローカルデータベース62は、ダウンロードされたリソースデータ61のみが反映される。例えば、アニメーションを編集する開発者は、モデルに関するリソースデータをダウンロードしないことがある。この場合には、ゲーム開発端末3にはモデルに関するリソースデータが存在しないため、閲覧、編集を行うことができない。
これに対して、上記のように、グローバルデータベース532を構築すると、メインサーバ1にあるすべてのリソースデータ144に対応するテーブルが生成され、これがローカルデータベース62にコピーされる。したがって、ゲーム開発者は、すべての種類のリソースデータにアクセスすることができる。また、グローバルデータベース532は、メインサーバ1の最新のリソースデータ144に基づいて生成されているため、これに基づいて、ローカルデータベース62も、最新のリソースデータを反映したものとすることができる。
<9−3>
上記ゲーム開発端末3では、制御部311が、情報収集部44、情報提供処理部45、及びデータベース更新部46を実行するように構成されていればよい。したがって、従来のゲーム開発端末に、図3の符号40で示す機能を実行するアプリケーションがインストールされ、且つ、記憶部312にローカルデータベース62を構成する領域が確保されればよい。すなわち、従来のゲーム開発端末と同じハードウエア構成を有する端末であっても、ハードウエア構成を変更することなく、上述した効果を得ることができる。
<10.変形例>
以上、本発明の実施形態について説明したが、本発明は上記各実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。例えば、以下の更が可能である。また、以下の変形例は、適宜組み合わせることができる。
<10−1>
上記実施形態では、メインサーバ1に記憶されているデータ管理プログラム142をゲーム開発端末3にダウンロードし、これをゲーム開発端末3で実行することで、ゲームデータの編集処理、ローカルデータベース62の構築等を行っているが、予め、ゲーム開発端末3の記憶部312やROMに記憶しておくこともできる。この点は、補助サーバ5においても同様である。
<10−2>
ゲーム開発端末3では、記憶部312にリソースデータ61とローカルデータベース62を記憶しているが、これを異なる記憶部に記憶させることもできる。この点は、補助サーバ5においても同じである。
<10−3>
上記システムでは、補助サーバ5によりグローバルデータベース532を構築しているが、グローバルデータベース532は必須ではなく、設けないようにすることもできる。
<10−4>
上記実施形態では、リソースデータが更新された場合には、ローカルデータベース62やグローバルデータベース532における対応箇所のみ更新しているが、ローカルデータベース62やグローバルデータベース532の全体を更新することもできる。
<10−5>
上記実施形態では、種類毎にリソースデータを整理したソーステーブルや、ソーステーブル間の関連を示す接続テーブルを生成しているが、このようなテーブルに限定されるものではなく、これらのローカルデータベース62やグローバルデータベース532には、リソースデータの種類毎に少なくともリソースデータの場所(URIやパスなど)が含まれた第1情報と、対応関係にある異なる種類のリソースデータの関連を示す第2情報とが含まれていればよい。そして、このような情報に基づけば、開発するゲーム毎にリソースデータの構造が相違しても、あるリソースデータからこれに関連するリソースデータの取得や閲覧等を行うことができる。
<10−6>
ゲーム開発端末3でゲームプログラム140を実行するとき、端末本体31でプログラムを実行して、ゲーム装置32でゲーム画像を表示させることができる。また、上記実施形態では、ゲーム開発端末3にゲーム装置32が含まれているが、専用のゲーム装置を用いず、例えば、スマートフォンやパーソナルコンピュータで実行できるゲームであれば、ゲーム画像を表示する表示部は、上記のように、端末本体31に設けられた表示部313、あるいは端末本体31とは別途設けられた表示部に、ゲーム画像を表示することができる。
<10−7>
上記実施形態で示した画面57の構成は一例であり、画面のレイアウトや表示項目、ボタンなどは適宜変更することができる。
<10−8>
上記実施形態は、本発明に係るコンテンツ開発システムをゲーム開発システムに適用した場合の例であるが、本発明に係るコンテンツ開発システムは、他のシステムに適用することもできる。すなわち、ゲーム開発だけでなく、例えば、映像コンテンツなどの制作を行うシステム、装置に対しても適用することができる。
1 メインサーバ(第1サーバ)
3 ゲーム開発端末(コンテンツ開発装置)
312 記憶部(リソースデータ記憶部、データベース記憶部)
41 編集処理部
44 情報収集部
45 情報提供処理部
46 データベース更新部
5 補助サーバ(第2サーバ)
521 情報収集部(外部情報収集部)
522 情報提供部
53 記憶部(外部リソースデータ記憶部、外部データベース記憶部)
532 グローバルデータベース(外部データベース)
61 リソースデータ
62 ローカルデータベース(データベース)

Claims (11)

  1. 制作中のコンテンツに関する複数のリソースデータを記憶するリソースデータ記憶部と、
    前記リソースデータのうち、対応する種類のリソースデータをそれぞれ編集可能な複数の編集処理部と、
    を有する、コンテンツ開発装置であって、
    前記リソースデータに関するデータベースを記憶するデータベース記憶部と、
    前記リソースデータの種類毎に作成され、少なくとも前記各リソースデータの場所を含む第1情報と、前記制作中のコンテンツにおいて関連付けられている異なる種類の前記リソースデータ同士の関連と対応するように、異なる種類の前記第1情報同士の関連を表す第2情報と、を前記複数のリソースデータに基づいて生成し、前記データベースに記憶させる情報収集部と、
    前記編集処理部からの要求により指定された前記リソースデータから、前記データベースに含まれる前記第1情報及び第2情報の少なくとも1つに基づいて、指定された前記リソースデータに関連付けられた異なる種類の前記リソースデータを示す情報を取得し、要求元である前記編集処理部へ当該情報を通知する情報提供処理部と、
    前記リソースデータ記憶部に記憶された前記リソースデータの少なくとも一部が更新された場合に、前記データベースを更新するデータベース更新部と、
    を備えている、コンテンツ開発装置。
  2. 前記情報収集部は、
    前記第1情報として、少なくとも前記各リソースデータの場所を含むテーブルと、
    前記第2情報として、異なる種類の前記第1情報同士の関連を表すテーブルと、
    を前記データベースとして生成する、請求項1に記載のコンテンツ開発装置。
  3. 前記データベース更新部は、更新のあった前記リソースデータに関する情報のみを更新する、請求項1または2に記載のコンテンツ開発装置。
  4. 第1サーバと、
    第2サーバと、
    請求項1から3のいずれかに記載の複数のコンテンツ開発装置と、
    を備え、
    前記コンテンツ開発装置は、前記第1サーバから前記複数のリソースデータをダウンロードするように構成され、
    前記第2サーバは、
    前記第1サーバからダウンロードした前記複数のリソースデータが記憶される外部リソースデータ記憶部と、
    前記リソースデータに関する外部データベースを記憶する外部データベース記憶部と、
    前記リソースデータの種類毎に作成され、少なくとも前記各リソースデータの場所を含む第1情報と、前記制作中のコンテンツにおいて関連付けられている異なる種類の前記リソースデータ同士の関連と対応するように、異なる種類の前記第1情報同士の関連を表す第2情報と、を前記外部リソースデータ記憶部に記憶された前記複数のリソースデータに基づいて生成し、前記外部データベースに記憶させる外部情報収集部と、
    前記外部データベースに含まれる前記第1情報及び前記第2情報を、前記各コンテンツ開発装置の前記データベースに提供する情報提供部と、
    を備えている、コンテンツ開発システム。
  5. 前記情報提供部は、前記外部データベースに含まれる前記第1情報及び前記第2情報を、初期値として、前記各コンテンツ開発装置の前記データベースに提供する、請求項4に記載のコンテンツ開発システム。
  6. 制作中のコンテンツに関する複数のリソースデータが記憶され、当該リソースデータを編集する編集処理部が設けられたコンテンツ開発装置において行われる開発支援方法であって、
    前記複数のリソースデータから、当該リソースデータの種類毎に作成され、少なくとも前記各リソースデータの場所を含む第1情報と、前記制作中のコンテンツにおいて関連付けられている異なる種類の前記リソースデータ同士の関連と対応するように、異なる種類の前記第1情報同士の関連を表す第2情報と、をデータベースとして前記コンテンツ開発装置に記憶させる、情報収集ステップと、
    前記編集処理部からの要求により、指定された前記リソースデータから、前記データベースに基づいて、当該リソースデータに関連付けられた異なる種類の前記リソースデータを示すファイル情報を取得し、前記編集処理部へ通知する情報提供処理ステップと、
    前記複数のリソースデータの少なくとも一部が更新された場合に、前記データベースを更新するデータベース更新ステップと、
    を備えている、開発支援方法。
  7. 前記複数のリソースデータを第1サーバからダウンロードするステップをさらに備えている、請求項6に記載の開発支援方法。
  8. 前記第1情報及び第2情報を、第2サーバからダウンロードし、前記コンテンツ開発装置のデータベースを更新するステップをさらに備えており、
    前記第2サーバからダウンロードされる前記第1情報及び第2情報は、前記第1サーバに記憶されている前記複数のリソースデータに基づいて生成される、請求項7に記載の開発支援方法。
  9. 制作中のコンテンツに関する複数のリソースデータが記憶され、当該リソースデータを編集する編集処理部が設けられたコンピュータに、
    前記複数のリソースデータから、当該リソースデータの種類毎に作成され、少なくとも前記各リソースデータの場所を含む第1情報と、前記制作中のコンテンツにおいて関連付けられている異なる種類の前記リソースデータ同士の関連と対応するように、異なる種類の前記第1情報同士の関連を表す第2情報と、をデータベースとして記憶させる、情報収集ステップと、
    前記編集処理部からの要求により、指定された前記リソースデータから、前記データベースに基づいて、当該リソースデータに関連付けられた異なる種類の前記リソースデータを示すファイル情報を取得し、前記編集処理部へ通知する情報提供処理ステップと、
    前記複数のリソースデータの少なくとも一部が更新された場合に、前記データベースを更新するデータベース更新ステップと、
    を実行させる、開発支援プログラム。
  10. 前記複数のリソースデータを第1サーバからダウンロードするステップをさらに実行させる、請求項9に記載の開発支援プログラム。
  11. 前記第1情報及び第2情報を、第2サーバからダウンロードし、前記データベースを更新するステップをさらに実行し、
    前記第2サーバからダウンロードされる前記第1情報及び第2情報は、前記第1サーバに記憶されている前記複数のリソースデータに基づいて生成される、請求項10に記載の開発支援プログラム。
JP2017245640A 2017-12-21 2017-12-21 コンテンツ開発装置 Active JP6590905B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017245640A JP6590905B2 (ja) 2017-12-21 2017-12-21 コンテンツ開発装置
US16/221,726 US11409503B2 (en) 2017-12-21 2018-12-17 Content development device
US17/712,280 US20220229638A1 (en) 2017-12-21 2022-04-04 Content development device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017245640A JP6590905B2 (ja) 2017-12-21 2017-12-21 コンテンツ開発装置

Publications (2)

Publication Number Publication Date
JP2019113968A JP2019113968A (ja) 2019-07-11
JP6590905B2 true JP6590905B2 (ja) 2019-10-16

Family

ID=67139852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017245640A Active JP6590905B2 (ja) 2017-12-21 2017-12-21 コンテンツ開発装置

Country Status (2)

Country Link
US (2) US11409503B2 (ja)
JP (1) JP6590905B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990048A (zh) * 2019-11-04 2020-04-10 珠海西山居移动游戏科技有限公司 一种监控Unity项目资源缺失的方法及***
CN116414474A (zh) * 2021-12-29 2023-07-11 北京字跳网络技术有限公司 资源文件加载方法、装置、电子设备及存储介质

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675802A (en) * 1995-03-31 1997-10-07 Pure Atria Corporation Version control system for geographically distributed software development
US20030018719A1 (en) * 2000-12-27 2003-01-23 Ruths Derek Augustus Samuel Data-centric collaborative computing platform
US8086721B2 (en) * 2002-06-27 2011-12-27 Alcatel Lucent Network resource management in a network device
US7546286B2 (en) * 2004-02-19 2009-06-09 Microsoft Corporation Offline multi-table data editing and storage
US7967678B2 (en) * 2004-03-11 2011-06-28 Navteq North America, Llc Computer game development factory system and method
JP4736081B2 (ja) * 2004-07-30 2011-07-27 株式会社リコー コンテンツ閲覧システム、コンテンツサーバ、プログラムおよび記憶媒体
US20060149747A1 (en) * 2005-01-05 2006-07-06 Bair Jason D System for establishing priorities in distributed capture operations
US20060218174A1 (en) * 2005-03-23 2006-09-28 Cook John L Iii Method for coordinating schema and data access objects
JP5393941B2 (ja) * 2006-03-10 2014-01-22 株式会社ネクスエンタテインメント ゲーム開発装置及びゲーム開発方法
US9104962B2 (en) * 2007-03-06 2015-08-11 Trion Worlds, Inc. Distributed network architecture for introducing dynamic content into a synthetic environment
US7979455B2 (en) * 2007-11-26 2011-07-12 Microsoft Corporation RDF store database design for faster triplet access
US8417764B2 (en) * 2008-02-18 2013-04-09 International Business Machines Corporation Dynamic mashup creation from a set of resources and resource relationships
US20100049694A1 (en) * 2008-08-20 2010-02-25 Ca, Inc. Method and system for extending a relational schema
JP5441794B2 (ja) * 2010-03-31 2014-03-12 三菱電機株式会社 オーサリング装置
US9454363B1 (en) * 2013-03-15 2016-09-27 Data Systems International, Inc. Mobile application development system and method
EP2992502A4 (en) * 2013-05-01 2017-02-22 Zco, Llc Game creation systems with social reporting engine
US20140358974A1 (en) * 2013-06-03 2014-12-04 Flexible User Experience S.L. System and method for integral management of information for end users
US20150154279A1 (en) * 2013-12-04 2015-06-04 Electronics And Telecommunications Research Institute Apparatus and method for building relation model based on resource management architecture
US10169368B2 (en) * 2014-10-02 2019-01-01 International Business Machines Corporation Indexing of linked data
US10896192B2 (en) * 2016-09-08 2021-01-19 Salesforce.Com, Inc. Allowing in-line edit to data table of linked data of a data store
US20180121174A1 (en) * 2016-10-27 2018-05-03 Microsoft Technology Licensing, Llc. Centralized coding time tracking and management
US11003632B2 (en) * 2016-11-28 2021-05-11 Open Text Sa Ulc System and method for content synchronization
US10970302B2 (en) * 2017-06-22 2021-04-06 Adobe Inc. Component-based synchronization of digital assets

Also Published As

Publication number Publication date
US20220229638A1 (en) 2022-07-21
JP2019113968A (ja) 2019-07-11
US11409503B2 (en) 2022-08-09
US20190212987A1 (en) 2019-07-11

Similar Documents

Publication Publication Date Title
JP5821678B2 (ja) ウェブ・アプリケーションのブラウザに依存しない自動互換性チェックのためのウェブ・サービス
US20130019189A1 (en) Augmented editing of an online document
CN108762743B (zh) 一种数据表操作代码生成方法及装置
JPWO2006098031A1 (ja) キーワード管理装置
KR102327913B1 (ko) 블록 기반 데이터 분석 방법 및 시스템
CN103597469A (zh) 集成开发环境中的实况浏览器工具
JP2006285914A (ja) データ検索処理装置及びプログラム
US20220229638A1 (en) Content development device
CN105593844A (zh) 运行时定制基础设施
JP2022520263A (ja) ミニプログラムのデータバインディング方法、装置、デバイス及びコンピュータプログラム
JP6702850B2 (ja) ゲーム開発システム、ゲーム開発方法、ゲーム開発端末及びゲーム開発プログラム
JP2012221380A (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
US9824447B2 (en) Information processing apparatus, information processing system, and information processing method
JP2007156758A (ja) ファイル管理装置、ファイル管理方法およびファイル管理プログラム
CN111191174A (zh) 雪碧图集成方法、***及装置
JP5224839B2 (ja) 文書管理システム、文書管理装置、文書管理方法及びプログラム
US12014654B2 (en) Information processing apparatus, information system, information processing method, and program
JP4968275B2 (ja) 地図データ編集装置及び地図データ編集装置用サーバ
JP2011076561A (ja) パーツカタログ作成支援装置、プログラム、およびパーツカタログ作成支援方法
CN112449072A (zh) 信息处理装置、信息处理***以及信息处理方法
JP5190324B2 (ja) 個人情報開示支援装置
JP4909432B2 (ja) コンテンツマネジメントシステム
JP2017037437A (ja) 情報処理システム、情報処理装置、情報処理方法および情報処理プログラム
JP6235744B1 (ja) ウェブページ制作支援システム
JP2009265902A (ja) 文書管理装置、文書管理方法、情報処理プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190903

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190917

R150 Certificate of patent or registration of utility model

Ref document number: 6590905

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250