JP2010123118A - マルチユーザネットワークゲームの製作システムおよび方法 - Google Patents

マルチユーザネットワークゲームの製作システムおよび方法 Download PDF

Info

Publication number
JP2010123118A
JP2010123118A JP2009258662A JP2009258662A JP2010123118A JP 2010123118 A JP2010123118 A JP 2010123118A JP 2009258662 A JP2009258662 A JP 2009258662A JP 2009258662 A JP2009258662 A JP 2009258662A JP 2010123118 A JP2010123118 A JP 2010123118A
Authority
JP
Japan
Prior art keywords
game
virtual machine
network
server
client
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.)
Granted
Application number
JP2009258662A
Other languages
English (en)
Other versions
JP5156722B2 (ja
Inventor
Chong Mok Park
種 ▲モク▼ 朴
Seok Hyon Seong
錫 ▲ヒョン▼ 成
Kang In Lee
康 ▲ギン▼ 李
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.)
NHN Corp
Original Assignee
NHN Corp
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 NHN Corp filed Critical NHN Corp
Publication of JP2010123118A publication Critical patent/JP2010123118A/ja
Application granted granted Critical
Publication of JP5156722B2 publication Critical patent/JP5156722B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • A63F13/10
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/12
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/209Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform characterized by low level software layer, relating to hardware management, e.g. Operating System, Application Programming Interface
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】マルチユーザネットワークゲームの製作システムを提供する。
【解決手段】提供されるマルチユーザネットワークゲームの製作システムは、ネットワークを介してゲームサーバと複数のゲームクライアント間でなされるマルチユーザネットワークゲームの製作システムである。その製作システムは、マルチユーザネットワークゲームとマルチユーザネットワーク実行環境それぞれの製作およびデバッグのためのゲーム製作モジュールと、ゲーム製作モジュールによって製作され、または、デバッグされたマルチユーザネットワークゲームが実行される少なくとも1つのクライアントバーチャルマシンと少なくとも1つのサーババーチャルマシンを含む仮想ネットワーク実行環境を形成し、マルチユーザネットワークゲームの実行をエミュレーションするためのエミュレーションモジュールとを備えている。
【選択図】図1

Description

本発明は、マルチユーザネットワークゲーム製作システムおよび方法に関する。より詳細には、1つのゲーム製作ツールを用いて、マルチユーザネットワークゲームの製作とデバッグおよびマルチユーザネットワークゲーム環境を簡便に形成し、ゲーム製作時間を短縮させることができるようにしたマルチユーザネットワークゲームの製作システムおよび方法に関する。
近年、コンピュータの普及が進み、コンピュータを使用する人が増加している。これに伴い、コンピュータを用いたネットワーク(オンライン)ゲームも発展する傾向にある。ゲーム製作ツールを用いてネットワークゲームをプログラミングする企業などは、多様なネットワークゲームを提供するために多くの人力を投入している。ここで、ゲーム製作ツールとは、ゲームに必要なデザイン要素と、サウンドなどのユーザインターフェースを構成するコンテンツと、ゲーム実行に必要なロジックとを組み合わせてゲームを完成するための道具である。
特に、現在、ネットワークゲームにおいては、複数のユーザが同時に1つのゲームを進めるマルチユーザ(Multi−User)形態のゲームが増加している。
しかしながら、従来のゲーム製作ツールの大部分は、1人で楽しむシングルユーザ(Single−User)ゲームを製作することに重点が置かれている。
したがって、従来のマルチユーザネットワークゲームの製作方法は、ゲームクライアントの開発が可能なように構成されたゲーム製作ツールを用いてゲームクライアントを開発するステップと、ゲームサーバの開発が可能なように構成された別のゲーム製作ツールを用いてゲームサーバを開発するステップと、開発されたゲームクライアントとゲームサーバそれぞれの実行を繰り返し実行してネットワーク実行環境およびマルチプレイ実行環境を形成するステップとを含んでなされることとなる。
したがって、従来のマルチユーザネットワークゲームの製作方法は、次のような問題点がある。
第1に、ゲームクライアントとゲームサーバそれぞれを別途のゲーム製作ツールを用いて開発しなければならない。このため、マルチユーザネットワークゲームの製作に多くの時間が必要となるという問題点がある。
第2に、ネットワークゲームサービスシステムごとにネットワーク実行環境およびマルチプレイ実行環境が異なる。このため、ネットワークゲームサービスシステムに設けて他のサーバシステムとの連動のために開発されたゲームを修正する過程が必要となる。したがって、ネットワークゲームをサービスすることが困難となるという問題点がある。
本発明は、上述した問題点を解決するためのものであり、1つのゲーム製作ツールを介してマルチユーザネットワークゲームの製作とデバッグおよびマルチユーザネットワークゲーム環境を簡便に形成し、ゲーム製作時間を短縮させることができるようにしたマルチユーザネットワークゲームの製作システムおよび方法を提供することを技術的課題とする。
上述した技術的課題を達成するために、本発明の実施形態に係るマルチユーザネットワークゲームの製作システムは、ネットワークを介してゲームサーバと複数のゲームクライアント間でなされるマルチユーザネットワークゲームの製作システムであって、前記マルチユーザネットワークゲームと前記マルチユーザネットワーク実行環境それぞれの製作およびデバッグのためのゲーム製作モジュールと、前記ゲーム製作モジュールによって製作され、または、デバッグされた前記マルチユーザネットワークゲームを実行する少なくとも1つのクライアントバーチャルマシンと少なくとも1つのサーババーチャルマシンを含む仮想ネットワーク実行環境を形成し、前記マルチユーザネットワークゲームの実行をエミュレーションするためのエミュレーションモジュールを備えて構成される。
一実施形態において、前記エミュレーションモジュールは、前記少なくとも1つのクライアントバーチャルマシンと前記少なくとも1つのサーババーチャルマシンそれぞれを生成および制御し、前記マルチユーザネットワークゲームの実行をエミュレーションするためのバーチャルマシンコンテナと、前記仮想ネットワーク実行環境を形成し、前記少なくとも1つのクライアントバーチャルマシンと前記少なくとも1つのサーババーチャルマシン間のネットワーク通信をエミュレーションするためのネットワークエミュレータとを備えて構成される。
一実施形態において、前記バーチャルマシンコンテナは、前記少なくとも1つのクライアントバーチャルマシンそれぞれを生成して前記マルチユーザネットワークゲームを実行し、前記各クライアントバーチャルマシンでゲーム実行中に発生するイベントを、前記ネックワークエミュレータを用いて、前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンのうちの少なくとも1つに伝達するクライアントバーチャルマシンコンテナと、前記少なくとも1つのサーババーチャルマシンそれぞれを生成し、前記ネットワークエミュレータを用いて前記クライアントバーチャルマシンコンテナから伝達される前記イベントを処理し、イベント処理結果を、前記ネットワークエミュレータを用いて、前記クライアントバーチャルマシンコンテナから伝達するサーババーチャルマシンコンテナとを備えて構成される。
一実施形態において、前記クライアントバーチャルマシンコンテナは、前記少なくとも1つのクライアントバーチャルマシンを生成して駆動するクライアントバーチャルマシン駆動モジュールと、前記クライアントバーチャルマシン駆動モジュールを介した前記ネットワークエミュレータとのネットワーク通信を介して伝達されるネットワークイベントを前記各クライアントバーチャルマシンに伝達するネットワークイベント管理モジュールと、前記マルチユーザネットワークゲームの実行中にゲーム以外のオンラインサービスのためのサービスシステムと前記クライアントバーチャルマシンを連動させるための外部モジュール連動管理モジュールと、前記マルチユーザネットワークゲームの画面が表示されるウィンドウと前記ウィンドウを介して発生するゲームイベントを、前記クライアントバーチャルマシン駆動モジュールを介して前記クライアントバーチャルマシンに伝達するウィンドウ制御管理モジュールとを備えて構成される。
一実施形態において、前記サーババーチャルマシンコンテナは、前記少なくとも1つのサーババーチャルマシンを生成して駆動するサーババーチャルマシン駆動モジュールと、前記サーババーチャルマシン駆動モジュールを介した前記ネットワークエミュレータとのネットワーク通信を介して伝達されるネットワークイベントを前記各サーババーチャルマシンに伝達するネットワークイベント管理モジュールと、前記マルチユーザネットワークゲームの実行中にゲーム以外のオンラインサービスのためのサービスシステムと前記サーババーチャルマシンを連動させるための外部モジュール連動管理モジュールと、前記サーババーチャルマシン駆動モジュールで複数のサーババーチャルマシンを生成および駆動するようにスレッドプール(Thread Pool)を提供するスレッド制御管理モジュールとを備えて構成される。
一実施形態において、前記ゲーム製作モジュールは、ゲーム製作画面を介して前記マルチユーザネットワークゲームの製作のためのユーザインターフェースを提供するゲーム製作ユーザインターフェースと、前記ゲーム製作画面を介したユーザの前記マルチユーザネットワークゲームと前記ネットワーク実行環境の製作およびデバッグを実行するゲーム編集ツールと、前記エミュレーションモジュールを駆動させ、前記エミュレーションモジュールの駆動による前記マルチユーザネットワークゲームの実行過程を前記ゲーム製作画面に提供するゲームプレビューアとを備えて構成される。
一実施形態において、前記ゲーム編集ツールは、スクリプト言語に基づいていることを特徴とする。
一実施形態において、前記エミュレーションモジュールは、前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンそれぞれと仮想のゲーム以外の情報が格納された情報格納部との情報伝達を前記仮想のネットワーク実行環境でエミュレーションするための情報格納部エミュレータをさらに備えて構成される。
一実施形態において、前記情報格納部エミュレータは、前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンのうちの少なくとも1つからの情報伝達の要求に応答し、前記情報格納部から該当するゲーム以外情報をロードするゲーム以外情報ローダと、前記ゲーム以外情報ローダからロードされるゲーム以外情報を格納し、格納されたゲーム以外情報を該当する前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンのうちの少なくとも1つに伝達する臨時格納部とを備えて構成される。
一実施形態において、前記ゲーム以外情報は、スクリプト言語で作成されたスクリプトファイルである。
上述した技術的課題を達成するために、本発明の実施形態に係るマルチユーザネットワークゲームの製作方法は、ネットワークを介してゲームサーバと複数のゲームクライアント間でなされるマルチユーザネットワークゲームの製作方法であって、前記マルチユーザネットワークゲームの製作のためのゲーム製作モジュールを実行してゲーム製作画面を提供するステップと、スクリプト言語に基づいて前記ゲーム製作モジュールを介して前記マルチユーザネットワークゲームのためのゲームスクリプトを製作するステップと、前記製作されたゲームスクリプトを実行するための少なくても1つのクライアントバーチャルマシンと少なくとも1つのサーババーチャルマシンを含む仮想ネットワーク実行環境を造成し、前記仮想ネットワーク実行環境で前記ゲームスクリプトの実行をエミュレーションするゲームプレビューステップと、前記ゲームプレビューステップの結果によって前記ゲーム製作モジュールを介して前記製作されたゲームスクリプトをデバッグするステップとを含んでなされる。
一実施形態において、前記ゲームプレビューステップは、バーチャルマシンコンテナを用いて前記少なくとも1つのサーババーチャルマシンと前記少なくとも1つのクライアントバーチャルマシンそれぞれを生成して駆動するステップと、ネットワークエミュレータを用いて前記仮想ネットワーク実行環境を造成し、前記少なくとも1つのクライアントバーチャルマシンと前記少なくとも1つのサーババーチャルマシン間のネットワーク通信を中継するステップと、前記バーチャルマシンコンテナを介して前記少なくとも1つのサーババーチャルマシンにサーバ用ゲームスクリプトをローディングさせて実行させるステップと、前記バーチャルマシンコンテナを介して前記各クライアントバーチャルマシンにクライアント用ゲームスクリプトをローディングさせて実行させるステップと、前記各クライアントバーチャルマシンそれぞれの実行結果を前記ゲーム製作画面に提供するステップとを含んでなされる。
一実施形態において、前記ゲームスクリプトを製作するステップは、前記ゲーム製作モジュールを介して事前に製作されたゲームレベルをロードし、または、新たなゲームレベルを生成するステップと、前記ロードされたゲームレベルまたは前記生成された新たなゲームレベルを編集して前記ゲームスクリプトを生成するステップとを含んでなされる。
一実施形態において、前記ゲームレベルを編集するステップは、前記ロードされたゲームレベルまたは前記生成された新たなゲームレベルのスプライトまたはイメージを生成/編集するステップと、前記ロードされたゲームレベルまたは前記生成された新たなゲームレベルのゲームオブジェクトを定義/生成/編集するステップと、前記ロードされたゲームレベルまたは前記生成された新たなゲームレベルのゲームスクリプトを編集するステップのうちの少なくとも1つのステップとを含んでなされる。
一実施形態において、前記ゲームプレビューステップは、前記仮想のネットワーク実行環境で前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンそれぞれと仮想のゲーム以外情報が格納された情報格納部との前記ゲーム以外情報の伝達をエミュレーションするステップをさらに含んでなされる。
一実施形態において、前記ゲーム以外情報の伝達をエミュレーションするステップは、前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンのうちの少なくとも1つからの情報伝達の要求に応答し、前記仮想の情報格納部から該当するゲーム以外情報をロードするステップと、前記ロードされるゲーム以外情報を一時的に格納するステップと、前記一時的に格納されたゲーム以外情報を該当する前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンのうちの少なくとも1つに伝達するステップとを含んでなされる。
一実施形態において、前記ゲーム以外情報は、スクリプト言語で作成されたスクリプトファイルである。
上述したように、本発明には次のような効果がある。
第1に、エミュレーションモジュールを介して製作されたマルチユーザネットワークゲームの実行とデバッグのためのクライアントバーチャルマシンとサーババーチャルマシンそれぞれを生成して製作されたマルチユーザネットワークゲームを仮想のネットワーク実行環境でエミュレーションすることにより、ゲーム製作環境で1つのゲーム製作ツールを用いてマルチユーザネットワークゲームの製作とデバッグおよびマルチユーザネットワークゲーム環境を簡便に形成し、ゲーム製作時間を短縮させることができるという効果がある。
第2に、バーチャルマシンコンテナがクライアントバーチャルマシンコンテナとサーババーチャルマシンコンテナで構成されており、互いに独立的に仮想のネットワーク環境を介して連動されるため、実際にはマルチユーザネットワークゲームのネットワーク実行環境ではクライアントバーチャルマシンコンテナをユーザクライアントで駆動させ、サーババーチャルマシンコンテナをオンラインゲームサーバで駆動させ、ネットワークエミュレータを用いずに実際にネットワークを用いるように設定すればクライアントバーチャルマシンとサーババーチャルマシンをオンラインサービス環境で駆動させることができるため、製作システムによって開発されたマルチユーザネットワークゲームをマルチユーザネットワークゲームサービスシステムにインストールすることが容易となり、また、他のサーバシステムとの連動が容易に実現できるという効果がある。
本発明の一実施形態に係るマルチユーザネットワークゲームの製作システムを説明するための図である。 図1に示す一実施形態に係るエミュレーションモジュールを説明するための図である。 図2に示す一実施形態に係るクライアントバーチャルマシンコンテナを説明するための図である。 図2に示す一実施形態に係るサーババーチャルマシンコンテナを説明するための図である。 図2に示す一実施形態に係るクライアントバーチャルマシンを説明するための図である。 図2に示す一実施形態に係るサーババーチャルマシンを説明するための図である。 本発明の実施形態に係るバーチャルマシンコンテナとネットワークエミュレータの駆動を説明するためのフローチャートである。 本発明の実施形態に係るクライアントバーチャルマシンがサーババーチャルマシンにメッセージを送信する処理を説明するためのフローチャートである。 図1に示す他の実施形態に係るエミュレーションモジュールを説明するための図である。 図9に示す一実施形態に係る情報格納部エミュレータを説明するための図である。 本発明の一実施形態に係るマルチユーザネットワークゲームの製作方法を段階的に説明するためのフローチャートである。 本発明の一実施形態に係るゲーム製作画面を示す図である。 本発明の一実施形態に係るゲーム製作モジュールを介したデバッグ画面を示す図である。 本発明の一実施形態に係るゲーム製作モジュールを介したデバッグの実行画面を示す図である。 図11に示すゲームプレビューステップでゲーム実行のエミュレーションを段階的に説明するためのフローチャートである。 図11に示すゲームプレビューステップで情報格納所エミュレーションステップを段階的に説明するためのフローチャートである。 本発明の一実施形態に係るマルチユーザネットワークゲームサービスシステムを説明するための図である。 図17に示すゲームクライアントを説明するための図である。 図17に示すゲームサーバを説明するための図である。 本発明の一実施形態に係るP2P型マルチユーザネットワークゲームサービスシステムを説明するための図である。 図20に示すゲームサーバの機能を実行するゲームクライアントを説明するための図である。
以下、添付の図面を参照しながら、本発明の実施形態について詳しく説明する。なお、基本的に、同様の要素には同じ符号を用いて説明を行なう。
図1は、本発明の一実施形態に係るマルチユーザネットワークゲームの製作システムを説明するための図である。
図1を参照すれば、本発明の一実施形態に係るマルチユーザネットワークゲームの製作システム100は、マルチユーザネットワークゲームを製作するためのゲーム製作モジュール110と、仮想のネットワーク実行環境を提供すると共に、製作されたマルチユーザネットワークゲームの実行とデバッグのための少なくとも1つのクライアントバーチャルマシンと少なくとも1つのサーババーチャルマシンそれぞれを生成して製作されたマルチユーザネットワークゲームを仮想のネットワーク実行環境でエミュレーションするためのエミュレーションモジュール120とを備えて構成することができる。
一実施形態において、ゲーム製作モジュール110は、ゲーム製作ユーザインターフェース112と、ゲーム編集ツール114と、ゲームプレビューア116とを備えて構成することができる。
ゲーム製作ユーザインターフェース112は、ゲーム製作画面を介してマルチユーザネットワークゲームの製作のためのユーザインターフェースをユーザに提供する。これにより、ユーザは、ゲーム製作ユーザインターフェース112を介してゲーム編集ツール114を操作することにより、マルチユーザネットワークゲームとネットワーク実行環境を製作することができる。このようなゲーム製作ユーザインターフェース112は、例えばコンピュータのオペレーティングシステムであるWindows(登録商標)上において、フルスクリーン(Full Screen)モードと単一ウィンドウモードを支援することができる。そして、ゲーム製作ユーザインターフェース112は、オブジェクト指向型プログラム言語に基づいて作成されることができる。
ゲーム編集ツール114は、ゲーム製作環境においてユーザ(または開発者)にマルチユーザネットワークゲーム製作環境を提供することにより、ユーザ(または開発者)がスプライト(Sprite)/イメージの生成/編集、ゲーム内に登場するゲームオブジェクトの定義/生成/編集、ゲーム実行およびネットワーク環境実行のためのクライアント用およびサーバ用ゲームスクリプトを生成/編集したり、デバッグを実行したりできるようにする。
一実施形態において、ゲーム編集ツール114は、ゲーム内で独立的に動いたり背景を構成したりするオブジェクトを製作するためのスプライト(Sprite)エディタ、ゲーム内で動きが必要なオブジェクトを製作するためのゲームオブジェクトエディタ、スクリプト(Script)言語に基づいてオブジェクトのゲームプレイ環境を定義するゲームスクリプトを製作するためのスクリプトエディタ、ゲームスクリプトをデバッグするためのスクリプトデバッガを備えて構成することができる。ここで、スクリプト言語としては、ジャバスクリプト(Java(登録商標) Script)、VBスクリプト、Python、LUAなどを用いることができる。また、その他にオブジェクト指向モデルを提供するあらゆる形態のスクリプト言語を用いることができる。
ゲームプレビューア116は、エミュレーションモジュール120を駆動させ、エミュレーションモジュール120の駆動による製作されたマルチユーザネットワークゲームの実行過程をゲーム製作画面に提供する。このようなゲームプレビューア116は、ゲーム編集ツール114を介して製作されたマルチユーザネットワークゲームスクリプトを仮想のネットワーク環境でエミュレーションさせることにより、ユーザがマルチユーザネットワークゲームのエミュレーション結果を介して事前に検討できるようにする。
エミュレーションモジュール120は、マルチユーザネットワークゲーム製作環境で仮想のネットワーク環境を形成してマルチユーザネットワークゲームをエミュレーションすることができる。例えば、エミュレーションモジュール120は、少なくとも1つのゲーム部屋(つまり、少なくとも1個のサーババーチャルマシン)に少なくとも1つのゲームクライアント(つまり少なくとも1個のクライアントバーチャルマシン)が参加する形態の仮想のネットワーク環境を形成し、マルチユーザネットワークゲームとネットワーク実行環境をエミュレーションすることができる。
エミュレーションモジュール120は、図2に示すように、バーチャルマシンコンテナ(Virtual Machine Container)200と、ネットワークエミュレータ300とを備えて構成することができる。
バーチャルマシンコンテナ200は、各クライアントバーチャルマシンCVM1〜CVMnを管理するクライアントバーチャルマシンコンテナ210と各サーババーチャルマシンCVM1〜CVMnを管理するサーババーチャルマシンコンテナ220を備えることができる。したがって、バーチャルマシンコンテナ200は、ゲーム製作環境においてクライアントバーチャルマシンコンテナ210とサーババーチャルマシンコンテナ220とを同じ環境で駆動することができ、、統合された製作環境において仮想のネットワーク環境を形成することができる。実際のネットワークサービス環境では、バーチャルマシンコンテナ200は、クライアントバーチャルマシンコンテナ210をユーザPC(クライアント)で駆動し、サーババーチャルマシンコンテナ220はオンラインゲームサーバシステムで駆動することにより、ゲーム製作環境において製作されたゲームが実際にオンラインゲームサービス環境でも同じように動作できるようにする。
一実施形態において、各クライアントバーチャルコンテナ210は、図3に示すように、クライアントバーチャルマシン駆動モジュール211と、ネットワークイベント管理モジュール213と、外部モジュール連動管理モジュール215と、ウィンドウ制御管理モジュール217とを備えることができる。
クライアントバーチャルマシン駆動モジュール211は、クライアントバーチャルマシンCVM1〜CVMnから提供されるクライアントバーチャルマシンAPIを用い、ユーザの設定に対応する個数のクライアントバーチャルマシンCVM1〜CVMnを生成して管理する。
ネットワークイベント管理モジュール213は、各クライアントバーチャルマシンCVM1〜CVMnと各サーババーチャルマシンSVM1〜SVMnの間のイベントを伝達する。このとき、ネットワークイベント管理モジュール213は、ネットワークイベント(例えば、ネットワークパケット送受信、ネットワークコネクションの確立、ネットワークコネクションの解除など)が発生したとき、各クライアントバーチャルマシンCVM1〜CVMnが処理できるフォーマットに変換する。
外部モジュール連動管理モジュール215は、オンラインサービスのためのゲーム以外のサービスシステムと各クライアントバーチャルマシンCVM1〜CVMnを連動させる。このために、外部モジュール連動管理モジュール215は、外部モジュールと連動するためのプロトコル(ゲームサービスごとに異なり得る)を有しており、関数コールバックを介して外部モジュールと各クライアントバーチャルマシンCVM1〜CVMnの通信を支援する。これにより、外部モジュール連動管理モジュール215は、各クライアントバーチャルマシンCVM1〜CVMnと通信が必要な外部モジュールをプラグ−イン形態でバーチャルマシンコンテナ200に連結させることができる。ここで、オンラインサービスのためのゲーム以外のサービスシステムは、例えば、ロビーサーバ、ルームサーバ、データベースモジュール、ランキングサービスサーバ、位置管理サービスサーバなどとすることができる。
ウィンドウ制御管理モジュール217は、マルチユーザネットワークゲームの画面が表示されるゲームウィンドウ(Window)とゲームウィンドウを介して発生するゲームイベントとを、クライアントバーチャルマシン駆動モジュール211を介して各クライアントバーチャルマシンCVM1〜CVMnに伝達することができる。特に、ウィンドウ制御管理モジュール217は、ゲームウィンドウを生成し、ゲームウィンドウの位置調整を実行し、ゲームウィンドウ上で発生するマウスクリック、キーボード入力などのゲームイベントを各クライアントバーチャルマシンCVM1〜CVMnに伝達することができる。
一実施形態において、サーババーチャルマシンコンテナ220は、図4に示すように、サーババーチャルマシン駆動モジュール221と、ネットワークイベント管理モジュール223と、外部モジュール連動管理モジュール225と、スレッド(Thread)制御管理モジュール227とを備えることができる。
サーババーチャルマシン駆動モジュール221は、サーババーチャルマシンSVM1〜SVMn(図2を参照)から提供されるサーババーチャルマシンAPIを用いてユーザの設定に対応する個数のサーババーチャルマシンSVM1〜SVMnを生成して管理する。一般的に、1つのサーババーチャルマシンSVM1〜SVMnは、1つのゲーム部屋に対応させることができる。
ネットワークイベント管理モジュール223は、マルチユーザネットワークゲームの実行で発生するネットワークイベントを各サーババーチャルマシンSVM1〜SVMnに伝達することができる。このとき、ネットワークイベント管理モジュール223は、ネットワークイベント(例えば、ネットワークパケット送受信、ネットワークコネクションの確立、ネットワークコネクションの解除など)が発生したとき、各サーババーチャルマシンSVM1〜SVMnが処理できるフォーマットに変換する。
外部モジュール連動管理モジュール225は、オンラインサービスのためのゲーム以外のサービスシステムに各サーババーチャルマシンSVM1〜SVMnを連動させる。このために、外部モジュール連動管理モジュール225は、ゲーム以外のサービスシステムと連動するためのプロトコル(ゲームサービスごとに異なり得る)を有しており、関数コールバックを介してゲーム以外のサービスシステムと各サーババーチャルマシンSVM1〜SVMnの通信を支援する。これにより、外部モジュール連動管理モジュール225は、各サーババーチャルマシンSVM1〜SVMnと通信が必要なゲーム以外のサービスシステムをプラグ−イン形態でバーチャルマシンコンテナ200に関連させることができる。ここで、オンラインサービスのためのゲーム以外のサービスシステムは、例えば、データベースサーバ、ランキングサービスサーバ、位置管理サービスサーバなどとすることができる。
スレッド制御管理モジュール227は、スレッドプールを提供することができ、これにより、サーババーチャルマシン駆動モジュール221において複数のサーババーチャルマシンSVM1〜SVMnを生成および管理することができる。ここで、スレッドプールが必要な理由は、サーババーチャルマシンの数がゲームサーバの容量に合わせて一定せず、その数が増減することがあるためである。このようなスレッド制御管理モジュール227は、ゲーム実行によって使用可能なスレッドをサーババーチャルマシンSVM1〜SVMnに割り当て、サーババーチャルマシンSVM1〜SVMnを駆動することができる。
一方、サーババーチャルマシンコンテナ220は、マルチユーザネットワークゲームの実行で発生するタイマーイベントを、サーババーチャルマシン駆動モジュール221を介して各サーババーチャルマシンSVM1〜SVMnに伝達するタイマーイベント管理モジュール(図示せず)をさらに備えることもできる。
図5に示すように、図2における一実施形態に係る各クライアントバーチャルマシンCVM1〜CVMnのそれぞれは、オブジェクト指向スクリプトエンジン500と、グラフィックエンジン502と、サウンドエンジン504と、ネットワークエンジン506と、ゲームオブジェクトシステム508と、グラフィックエンジンスクリプトインターフェース510と、サウンドエンジンスクリプトインターフェース512と、ネットワークエンジンスクリプトインターフェース514と、ゲームオブジェクトスクリプトインターフェース516とを備えることができる。
オブジェクト指向スクリプトエンジン500は、オブジェクト指向型プログラム言語で作成されたスクリプトファイルの実行環境を提供することができる。
グラフィックエンジン502は、マルチユーザネットワークゲーム画面のレンダリング、アニメーション、およびデザイン実行環境を提供することができる。
サウンドエンジン504は、マルチユーザネットワークゲームのサウンド実行環境を提供することができる。
ネットワークエンジン506は、クライアントバーチャルマシン(CVM)で実行されるゲームスクリプト内で生成され伝達されるネットワークメッセージをネットワークイベントに変換して該当するクライアントバーチャルマシン(CVM)を管理するクライアントバーチャルマシンコンテナ210に伝達することができる。このとき、クライアントバーチャルマシンコンテナ210のネットワークイベント管理モジュール213は、ネットワークエミュレータ300を介して他のクライアントバーチャルマシン(CVM)および/またはサーババーチャルマシン(SVM)にネットワークイベントを伝達し、クライアントおよびサーバそれぞれにネットワーク通信環境を提供することができる。
ゲームオブジェクトシステム508は、クライアントバーチャルマシン(CVM)で実行されるゲームスクリプト内で生成されたオブジェクトの管理、オブジェクト間のメッセージ伝達、ゲームイベントの処理、ゲームオブジェクトの状態管理を担当する。オブジェクト間のメッセージ伝達の場合において、メッセージが伝達されるオブジェクトが、異なるクライアントバーチャルマシン(CVM)および/またはサーババーチャルマシン(SVM)で生成されたオブジェクトの場合、ネットワークエンジン506を介して該当するメッセージ、はネットワークを介して伝達することができる。
グラフィックエンジンスクリプトインターフェース510は、オブジェクト指向スクリプトエンジン500を介してゲームスクリプトとグラフィックエンジン502間のインターフェースを提供することができる。
サウンドエンジンスクリプトインターフェース512は、オブジェクト指向スクリプトエンジン500を介してゲームスクリプトとサウンドエンジン504間のインターフェースを提供することができる。
ネットワークエンジンスクリプトインターフェース514は、オブジェクト指向スクリプトエンジン500を介してゲームスクリプトとネットワークエンジン506間のインターフェースを提供することができる。
ゲームオブジェクトスクリプトインターフェース516は、オブジェクト指向スクリプトエンジン500を介してゲームスクリプトとゲームオブジェクトシステム508間のインターフェースを提供する。
図6に示すように、図2における一実施形態に係る各サーババーチャルマシンSVM1〜SVMnそれぞれは、オブジェクト指向スクリプトエンジン520と、ネットワークエンジン522と、ゲームオブジェクトシステム524と、ネットワークエンジンスクリプトインターフェース526と、ゲームオブジェクトスクリプトインターフェース528とを備えて構成することができる。
オブジェクト指向スクリプトエンジン520は、オブジェクト指向型プログラム言語で作成されたスクリプトファイルの実行環境を提供することができる。
ネットワークエンジン522は、サーババーチャルマシン(SVM)で実行されるゲームスクリプト内で生成されて伝達されるネットワークメッセージをネットワークイベントに変換して該当するサーババーチャルマシン(SVM)を管理するサーババーチャルマシンコンテナ220に伝達する。このとき、サーババーチャルマシンコンテナ220のネットワークイベント管理モジュールは、ネットワークエミュレータ300を介して、他のクライアントバーチャルマシン(CVM)および/またはサーババーチャルマシン(SVM)にネットワークイベントを伝達し、クライアントおよびサーバそれぞれとのネットワーク通信環境を提供することができる。
ゲームオブジェクトシステム524は、サーババーチャルマシン(SVM)で実行されるゲームスクリプト内で生成されたオブジェクトの管理、オブジェクト間のメッセージ伝達、ゲームイベントの処理、ゲームオブジェクトの状態管理を担当する。オブジェクト間のメッセージ伝達の場合において、メッセージが伝達されるオブジェクトが異なるクライアントバーチャルマシン(CVM)および/またはサーババーチャルマシン(SVM)で生成されたオブジェクトである場合、ネットワークエンジン522を介して該当するメッセージを、ネットワークを介して伝達することができる。
ネットワークエンジンスクリプトインターフェース526は、オブジェクト指向スクリプトエンジン520を介してゲームスクリプトとネットワークエンジン524間のインターフェースを提供することができる。
ゲームオブジェクトスクリプトインターフェース528は、オブジェクト指向スクリプトエンジン520を介してゲームスクリプトとゲームオブジェクトシステム524間のインターフェースを提供することができる。
図2のネットワークエミュレータ300は、ネットワークソケット、ネットワークID、メッセージキューを管理し、ネットワークメッセージ伝達過程をエミュレーションすることにより、実際のネットワークが用いられているような仮想のネットワーク実行環境を提供し、伝達されるメッセージに対する分析が可能なようにすることができる。このとき、ネットワークIDは、ネットワークソケットの連結を示すための仮想のアドレスとして使用されるものであって、実際のネットワークのアドレスがなくてもメッセージの送信が可能なようにする。
図7は、本発明の実施形態に係るバーチャルマシンコンテナ200とネットワークエミュレータ300の駆動の処理を説明するためのフローチャートである。特に、クライアントバーチャルマシンとサーババーチャルマシンとを初期化するときにネットワークのコネクションが確立される過程を示す。
バーチャルマシンコンテナ200は、複数のクライアントバーチャルマシンと複数のサーババーチャルマシンを生成して管理し、ネットワークを連結するための「バーチャルマシン−ネットワークID」を含むテーブルを有することができる。ネットワークエミュレータ300も管理対象を管理するためのネットワークID−ネットワークソケットを含むテーブルを有することができる。
図7を図2とを参照し、本発明の実施形態に係るバーチャルマシンコンテナ200とネットワークエミュレータ300の駆動の処理を説明すれば、次のようになる。
まず、バーチャルマシンコンテナ200でサーババーチャルマシン(SVM)を生成する(S100)。
次に、バーチャルマシンコンテナ200でクライアントバーチャルマシン(CVM)を生成する(S110)。
次に、バーチャルマシンコンテナ200は、ネットワークエミュレータ300に仮想のネットワークのコネクションを要求する。特に、バーチャルマシンコンテナ200は、クライアントバーチャルマシン(CVM)とサーババーチャルマシン(SVM)とをコネクトする要求をネットワークエミュレータ300に伝達する(S120)。
次に、ネットワークエミュレータ300で仮想ネットワークのコネクションの実行をした後、ネットワークIDを付与する。特に、ネットワークエミュレータ300は、仮想のネットワークのコネクションの確立の実行をした後、確立されたネットワークのコネクションに対応するネットワークIDおよびネットワークソケットをテーブルに追加することができる(S130)。
次に、ネットワークエミュレータ300は、付与されたネットワークIDをバーチャルマシンコンテナ200に伝達する。特に、ネットワークエミュレータ300は、テーブルに追加されたネットワークIDをバーチャルマシンコンテナに伝達する。これにより、バーチャルマシンコンテナ200は、ネットワークエミュレータ300から伝達されたネットワークのコネクションに対応するバーチャルマシン−ネットワークIDをテーブルに追加することにより、ネットワークのコネクションの確立の処理を完了する(S140)。
図8は、本発明の実施形態に係るクライアントバーチャルマシンがサーババーチャルマシンにメッセージを送信する処理を説明するためのフローチャートである。
図8を図2とを参照し、本発明の実施形態に係るクライアントバーチャルマシンがサーババーチャルマシンにメッセージを送信する処理を説明すれば、次のようになる。
まず、クライアントバーチャルマシン(CVM)がネットワークパケットを生成し、生成されたネットワークパケットをバーチャルマシンコンテナ200に伝達する(S200)。このとき、クライアントバーチャルマシン(CVM)は、バーチャルマシンコンテナ200にメッセージを伝達するときに、「出発地、目的地、メッセージ」のような形態のネットワークパケットを生成する。ここで、出発地および目的地それぞれはネットワークIDである。メッセージはゲーム実行情報に対応させることができる。
次に、バーチャルマシンコンテナ200を介してクライアントバーチャルマシンから伝達されるネットワークパケットをネットワークエミュレータ300に伝達する(S210)。
次に、ネットワークエミュレータ300がネットワークパケットのメッセージを目的地に伝達する過程をエミュレーションし、ネットワークパケットをバーチャルマシンコンテナ200に伝達する(S220)。すなわち、ネットワークエミュレータ300は、ネットワークパケットが伝達されて目的地に対応するネットワークIDに該当するネットワークソケットにメッセージが伝達されることをエミュレーションする。特に、ネットワークエミュレータ300は、メッセージがパケット形態でキューに蓄積するなどのネットワーク特性をエミュレーションすることができる。そして、ネットワークエミュレータ300は、「出発地、目的地、メッセージ」のような形態のネットワークパケットをバーチャルマシンコンテナ200に伝達する。
次に、バーチャルマシンコンテナ200が、ネットワークエミュレータ300から伝達されるネットワークパケットを受信し、受信されたネットワークパケットの目的地にメッセージを伝達する(S230)。このとき、バーチャルマシンコンテナ200は、ネットワークエミュレータ300から伝達されたネットワークパケットの目的地に基づいてメッセージを伝達するバーチャルマシンを決定し、該当するバーチャルマシンにメッセージを伝達することができる。例えば、目的地のネットワークIDがサーババーチャルマシン(SVM)のネットワークIDに該当する場合、バーチャルマシンコンテナ200は、該当するメッセージをサーババーチャルマシン(SVM)に伝達する。
図9に示すように、図2におけるエミュレーションモジュール120は、情報格納部エミュレータ400をさらに備えることができる。
情報格納部エミュレータ400は、クライアントバーチャルマシン(CVM)およびサーババーチャルマシン(SVM)それぞれと、仮想のゲーム以外情報が格納された仮想のゲーム以外情報格納部との情報伝達を仮想のネットワーク実行環境においてエミュレーションすることにより、仮想のゲーム以外情報格納部に対するシミュレーション機能を提供する。ここで、仮想のゲーム以外情報とは、ゲームプレーヤのID、会員情報、ゲーム等級などとすることができる。そして、仮想のゲーム以外情報格納部は、仮想のゲーム以外情報を格納するデータベースとすることができる。このとき、ゲーム以外情報は、スクリプト言語で作成されたスクリプトファイル形態で格納することができる。
一実施形態に係る情報格納部エミュレータ400は、図10に示すように、情報ローダ410と、一時格納部420とを備えて構成することができる。
情報ローダ410は、バーチャルマシンコンテナ200を介してクライアントバーチャルマシン(CVM)およびサーババーチャルマシン(SVM)のうちの少なくとも1つからの情報伝達の要求に応答し、仮想のゲーム以外情報格納部430から該当するゲーム以外情報をロードすることができる。
一時格納部420は、情報ローダ410からロードされるゲーム以外情報を格納し、格納されたゲーム以外情報を、バーチャルマシンコンテナ200を介して該当するクライアントバーチャルマシン(CVM)および/またはサーババーチャルマシン(SVM)に伝達することができる。
図11は、本発明の一実施形態に係るマルチユーザネットワークゲームの製作方法を段階的に説明するためのフローチャートである。
図11を図2と参照しながら、本発明の実施形態に係るマルチユーザネットワークゲームの製作方法を段階的に説明すれば、次のようになる。
まず、図12に示すように、マルチユーザネットワークゲームの製作のためのゲーム製作モジュール110を実行してゲーム製作画面を提供する(S300)。
次に、ゲーム製作モジュール110を用い、スクリプト言語に基づいてマルチユーザネットワークゲームの駆動に必要なゲームスクリプトを製作する(S310)。ステップS310は、ゲーム製作モジュール110を用い、事前に製作されたゲームレベルをロードしたり新たなゲームレベルを生成したりして、ロードされたゲームレベルまたは生成された新たなゲームレベルを編集する処理を含くむことができる。そして、ゲームレベルを編集する処理は、ロードされたゲームレベルまたは生成された新たなゲームレベルのスプライトまたはイメージを生成/編集する処理と、ロードされたゲームレベルまたは生成された新たなゲームレベルのゲームオブジェクトを定義/生成/編集する処理と、ロードされたゲームレベルまたは生成された新たなゲームレベルのゲームスクリプトを編集する処理とを含むことができる。
次に、エミュレーションモジュール120を用いて仮想のネットワーク実行環境を形成し、製作されたゲームスクリプトの実行とデバッグのためのクライアントバーチャルマシンとサーババーチャルマシンそれぞれを生成し、製作されたゲームスクリプトを仮想のネットワーク実行環境でエミュレーションする(S320)。
図13に示すように、ステップS320でのエミュレーション結果に基づいて、ゲーム製作モジュール110を介して製作されたゲームスクリプトをデバッグする(S330)。
次に、図14に示すように、S330ステップを介してデバッグされたゲームスクリプトを仮想のネットワーク実行環境で再びエミュレーションし、ゲーム製作が完了するまで上述したS320ステップおよびS330ステップを繰り返し実行してゲーム製作を完了する(S340)。
図15は、図11に示すエミュレーションステップを説明するためのフローチャートである。
図15と図2とを参照しながら、図11に示すエミュレーションステップを説明すれば、次のようになる。
まず、バーチャルマシンコンテナ200を用いて、サーババーチャルマシン(SVM)とN個のクライアントバーチャルマシン(CVM)それぞれとを生成して駆動する(S321)。
次に、ネットワークエミュレータ300を用いて、仮想のネットワーク実行環境を形成し、サーババーチャルマシン(SVM)とN個のクライアントバーチャルマシン(CVM)間とのネットワーク通信を中継する(S322)。
次に、バーチャルマシンコンテナ200を用いて、サーババーチャルマシン(SVM)にサーバスクリプトをローディングして実行する(S323)。
次に、バーチャルマシンコンテナ200を用いて、各クライアントバーチャルマシン(CVM)にクライアントスクリプトをローディングして実行する(S324)。
そして、各クライアントバーチャルマシン(CVM)それぞれの実行結果をゲーム製作画面に表示する(S325)。
一方、図11に示すエミュレーションの処理は、仮想のネットワーク実行環境において、クライアントバーチャルマシン(CVM)およびサーババーチャルマシン(SVM)それぞれと、仮想のゲーム以外情報が格納された仮想の情報格納部との間の情報伝達をエミュレーションする処理をさらに含むことができる。
すなわち、図16に示すように、情報伝達をエミュレーションする処理は、クライアントバーチャルマシン(CVM)およびサーババーチャルマシン(SVM)のうちの少なくとも1つが情報伝達を要求すれば、バーチャルマシンコンテナ(200)は、情報格納部エミュレータ400に該当する情報伝達を要求する(S326)。
次に、情報格納部エミュレータ400は、情報ローダ410を用いて、仮想のゲーム以外情報格納部430から該当するゲーム以外情報をロードする(S327)。
そして、情報格納部エミュレータ400は、情報ローダ410を用いてロードされるゲーム以外情報を一時格納部420に格納し、格納されたゲーム以外情報を、バーチャルマシンコンテナ200を用いて、該当するクライアントバーチャルマシン(CVM)および/またはサーババーチャルマシン(SVM)に伝達する(S328)。
一方、上述した本発明の実施形態に係るマルチユーザネットワークゲームの製作方法は、多様なコンピュータユニットを用いて実行することができるプログラム形態でも実現することができる。このとき、マルチユーザネットワークゲームの製作方法を実行するためのプログラムは、ハードディスク、CD−ROM、DVD、ROM、RAM、またはフラッシュメモリのようなコンピュータで読み取り可能な記録媒体に格納することができる。
上述したように、本発明の一実施形態に係るマルチユーザネットワークゲームの製作システムおよび方法は、エミュレーションモジュール120を介して製作されたマルチユーザネットワークゲームの実行とデバッグのためのクライアントバーチャルマシン(CVM)とサーババーチャルマシン(SVM)それぞれとを生成して製作されたマルチユーザネットワークゲームを仮想のネットワーク実行環境でエミュレーションする。これにより、ゲーム製作環境において1つのゲーム製作ツールを介してマルチユーザネットワークゲームの製作とデバッグおよびマルチユーザネットワークゲーム環境を簡便に形成し、ゲーム製作時間を短縮させることができる。
図17は。本発明の一実施形態に係るマルチユーザネットワークゲームサービスシステムを説明するための図である。
図17を参照すると、本発明の一実施形態に係るマルチユーザネットワークゲームサービスシステム600は、複数のゲームクライアント6101〜610nと、ゲームサーバ700と、バック−アンドサービスサーバ710、720とを備える。複数のゲームクライアント6101〜610nと、ゲームサーバ700と、バック−アンドサービスサーバ710、720とは、ネットワークを介して接続されている。
一実施形態に係る複数のゲームクライアント6101〜610nは、ネットワークに接続され、例えば、カートライダー、ゴーゴーシング、ゴーストップ、ポーカーなどのような多様な種類のゲームアプリケーションの提供を受けることができる複数の端末装置である。ゲームクライアント6101〜610nそれぞれは、例えば、デスクトップPC、ノート型パソコン、移動電話機、PDA、およびMBS(Mobile Broadcast System)フォンなどをすべて含むことができる。
このような複数のゲームクライアント6101〜610nは、図18に示すように、ウェブブラウザ620と、ゲームクライアントスクリプト格納部630と、クライアントバーチャルマシン640と、クライアントバーチャルマシンコンテナ650とを備えることができる。
ゲームクライアントスクリプト格納部630は、ゲームアプリケーションに対応するゲームスクリプトファイルを格納することができる。このとき、ゲームスクリプトファイルは、ゲームクライアントスクリプト格納部630に必ず格納されなければならないものではなく、ウェブブラウザ620を介して提供されることもできる。
クライアントバーチャルマシン640は、ゲームクライアントスクリプト格納部630に格納されたゲームスクリプトファイルをローディングしてゲームを実行することができる。
クライアントバーチャルマシンコンテナ650は、クライアントバーチャルマシン640を駆動させ、クライアントバーチャルマシン640のゲーム実行情報をゲームサーバ700に送信する。また、クライアントバーチャルマシンコンテナ650は、ゲームサーバ700からのゲーム実行情報を受信して各クライアントバーチャルマシン640に提供する。このようなクライアントバーチャルマシンコンテナ650は、図3に示すマルチユーザネットワークゲームの製作システムのクライアントバーチャルマシンコンテナ210と同じように構成されるため、これに対する説明は、上述した説明を代わりに用いることができる。
図19に示すように、図17におけるゲームサーバ700は、ゲームサーバスクリプト格納部702と、N個のサーババーチャルマシン704と、サーババーチャルマシンコンテナ706とを備えることができる。
ゲームサーバスクリプト格納部702は、ゲームアプリケーションに対応するゲームサーバファイルを格納することができる。
N個のサーババーチャルマシン704は、ゲームサーバスクリプト格納部702に格納されたゲームスクリプトファイルをローディングしてゲームを実行することができる。このとき、N個のサーババーチャルマシン704それぞれは、ゲーム部屋に対応付けることができる。
サーババーチャルマシンコンテナ706は、サーババーチャルマシン704それぞれを駆動させてゲームクライアント6101〜610n間のゲーム実行情報を中継する。このようなサーババーチャルマシンコンテナ706は、図4に示すマルチユーザネットワークゲームの製作システムのサーババーチャルマシンコンテナ220と同じように構成されるため、これに対する説明は、上述した説明を代わりに用いることができる。
バック−アンドサービスサーバ710、720は、例えば、ロビーサーバ、ルームサーバ、データベースモジュール、ランキングサービスサーバ、位置管理サービスサーバなどとすることができる。
このような本発明の一実施形態に係るマルチユーザネットワークゲームサービスシステムは、上述したマルチユーザネットワークゲームの製作システムのようにバーチャルマシンコンテナを用い、マルチユーザネットワークゲームのネットワーク実行環境ではクライアントバーチャルマシンとサーババーチャルマシンを駆動させることができるため、製作システムによって開発されたマルチユーザネットワークゲームをネットワークゲームサービスシステムにインストールすることが容易となり、他のサーバシステムに連動させることが容易となる。
図20は、本発明の一実施形態に係るP2P型マルチユーザネットワークゲームサービスシステムを説明するための図である。
図20を参照すると、本発明の一実施形態に係るP2P型マルチユーザネットワークゲームサービスシステム800は、ネットワークを介して連結された複数のゲームクライアント8101〜810nと、バック−アンドサービスサーバ810、820とを備えて構成される。
一実施形態に係る複数のゲームクライアント8101〜810nは、ネットワークに接続され、例えば、カートライダー、ゴーゴーシング、ゴーストップ、ポーカーなどのような多様な種類のゲームアプリケーションの提供を受けることができる複数の端末装置である。ゲームクライアント8101〜810nは、例えば、デスクトップPC、ノート型パソコン、移動電話機、PDA、およびMBSフォンなどをすべて含むことができる。
このような複数のゲームクライアント8101〜810nのうちのいずれか1つは、ゲームサーバの機能も共に実行する。そのゲームクライアントは、図21に示すように、ウェブブラウザ820と、ゲームクライアントスクリプト格納部830と、クライアントバーチャルマシン840と、ゲームサーバスクリプト格納部850と、N個のサーババーチャルマシン860と、バーチャルマシンコンテナ870とを備えることができる。
ゲームクライアントスクリプト格納部830は、ゲームアプリケーションに対応するゲームスクリプトファイルを格納する。このとき、ゲームスクリプトファイルは、ゲームクライアントスクリプト格納部830に必ず格納されなければならないものではなく、ウェブブラウザ820を介して提供されることもできる。
クライアントバーチャルマシン840は、ゲームクライアントスクリプト格納部830に格納されたゲームスクリプトファイルをローディングしてゲームを実行する。
ゲームサーバスクリプト格納部850は、ゲームアプリケーションに対応するゲームサーバファイルを格納する。
N個のサーババーチャルマシン860は、ゲームサーバスクリプト格納部850に格納されたゲームスクリプトファイルをローディングしてゲームを実行する。このとき、N個のサーババーチャルマシン860それぞれは、ゲーム部屋に対応させることができる。
バーチャルマシンコンテナ870は、クライアントバーチャルマシン840および各サーババーチャルマシン860それぞれを駆動させ、自身を含むゲームクライアント8101〜810n間のゲーム実行情報を中継する。
一方、複数のゲームクライアント8101〜810nのうち、第1ゲームクライアント8101を除いた残りのゲームクライアント8102〜810nそれぞれは、図18に示すゲームクライアント6101〜610nと同じように構成されるため、これに対する説明は、上述した説明を代わりに用いることができる。
バックエンドサービスサーバ810、820は、例えば、ロビーサーバ、ルームサーバ、データベースモジュール、ランキングサービスサーバ、位置管理サービスサーバなどとすることができる。
このような本発明の一実施形態に係るマルチユーザネットワークゲームサービスシステムは、上述したマルチユーザネットワークゲームの製作システムのようにバーチャルマシンコンテナを用い、P2P型マルチユーザネットワークゲームのネットワーク実行環境ではクライアントバーチャルマシンとサーババーチャルマシンを駆動させることができる。このため、製作システムによって開発されたマルチユーザネットワークゲームをP2P型マルチユーザネットワークゲームサービスシステムに容易に設置し、他のサーバシステムと容易に連動させることができる。
一方、上述した本発明の一実施形態に係るバーチャルマシンコンテナは、XBox360、Play Station 3、Wiiなど多様なコンソールに搭載され、ゲームサービスシステムからダウンロードされるマルチユーザネットワークゲームを実行することができる。
なお、本発明の各実施形態に係る、マルチユーザネットワークゲームの製作システムは、計算機を用いて実現することができる。また、専用の電子回路によっても実現することができる。また、本発明の各実施形態に係る、マルチユーザネットワークゲームの製作方法についても、計算機を動作させて使用することができる。また、専用の電子回路を動作させることによっても使用することができる。
例えば、計算機を用いて、マルチユーザネットワークゲームの製作システムを実現すること及びマルチユーザネットワークゲームの製作方法を使用することについて説明を行なう。ここに計算機とは一般的に、プロセッサとメモリと二次記憶装置と入出力インターフェースとネットワークインターフェースとがバスによって結合された装置である。二次記憶装置には、マルチユーザネットワークゲームの製作システムの実現やルチユーザネットワークゲームの製作方法の使用のためのプログラムが格納される。そのようなプログラムがメモリにロードされ、プロセッサにより実行されることにより、マルチユーザネットワークゲームの製作システムの実現やルチユーザネットワークゲームの製作方法の使用がされる。
例えば、マルチユーザネットワークゲームとマルチユーザネットワーク実行環境それぞれの製作およびデバッグのためのゲーム製作モジュールはプログラムとして実現される。ゲーム製作モジュールを実現するプログラムをプロセッサにより動作させることにより、マルチユーザネットワークゲームとマルチユーザネットワーク実行環境に対応するデータ構造がメモリや二次記憶装置に記憶される。
特に、プロセッサにより、マルチユーザネットワークゲームは、ゲーム製作モジュールによって製作されたりされ、または、デバッグされる。また、製作されたマルチユーザネットワークゲームはプログラムなどとしてプロセッサにより実行される。このとき、計算機のメモリや二次記憶装置には、クライアントバーチャルマシンとサーババーチャルマシンのデータ構造が形成され、また、仮想ネットワーク実行環境のデータ構造が形成されて記憶される。このようなデータ構造がプロセッサにより実行されるエミュレーションモジュールに対応するプログラムなどにより参照され、前記マルチユーザネットワークゲームの実行がエミュレーションされる。
上述したように、本発明の好ましい実施形態を参照して説明したが、該当の技術分野において熟練した当業者にとっては、特許請求の範囲に記載された本発明の思想および領域から逸脱しない範囲内で、本発明を多様に修正および変更させることができることを理解することができるであろう。すなわち、本発明の技術的範囲は、特許請求の範囲に基づいて定められ、上述した発明を実施するための形態により制限されるものではない。
110:ゲーム製作モジュール
112:ゲーム製作ユーザインターフェース
114:ゲーム編集ツール
116:ゲームプレビューア
120:エミュレーションモジュール
200:バーチャルマシンコンテナ
210:クライアントバーチャルマシンコンテナ
211:クライアントバーチャルマシン駆動モジュール
213、223:ネットワークイベント管理モジュール
215、225:外部モジュール連動管理モジュール
217:ウィンドウ制御管理モジュール
220:サーババーチャルマシンコンテナ
211:サーババーチャルマシン駆動モジュール
227:スレッド管理モジュール
300:ネットワークエミュレータ
400:情報格納部エミュレータ
410:ゲーム以外情報ローダ
420:臨時格納部
430:仮想のゲーム以外情報格納部

Claims (18)

  1. ネットワークを介してゲームサーバと複数のゲームクライアント間でなされるマルチユーザネットワークゲームの製作システムであって、
    前記マルチユーザネットワークゲームと前記マルチユーザネットワーク実行環境の製作およびデバッグのためのゲーム製作モジュールと、
    前記ゲーム製作モジュールによって製作され、または、デバッグされた前記マルチユーザネットワークゲームが実行される、少なくとも1つのクライアントバーチャルマシンと少なくとも1つのサーババーチャルマシンを含む仮想ネットワーク実行環境を形成して前記マルチユーザネットワークゲームの実行をエミュレーションするためのエミュレーションモジュールと、
    を備えていることを特徴とするマルチユーザネットワークゲームの製作システム。
  2. 前記エミュレーションモジュールは、
    前記少なくとも1つのクライアントバーチャルマシンと前記少なくとも1つのサーババーチャルマシンそれぞれを生成および制御し、前記マルチユーザネットワークゲームの実行をエミュレーションするためのバーチャルマシンコンテナと、
    前記仮想ネットワーク実行環境を形成し、前記少なくとも1つのクライアントバーチャルマシンと前記少なくとも1つのサーババーチャルマシン間のネットワーク通信をエミュレーションするためのネットワークエミュレータと、
    を備えていることを特徴とする請求項1に記載のマルチユーザネットワークゲームの製作システム。
  3. 前記バーチャルマシンコンテナは、
    前記少なくとも1つのクライアントバーチャルマシンを生成して前記マルチユーザネットワークゲームを実行させ、前記各クライアントバーチャルマシンでゲーム実行中に発生するイベントを、前記ネックワークエミュレータを介して前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンのうちの少なくとも1つに伝達するクライアントバーチャルマシンコンテナと、
    前記少なくとも1つのサーババーチャルマシンを生成し、前記ネットワークエミュレータを介して前記クライアントバーチャルマシンコンテナから伝達される前記イベントを処理し、イベントの処理結果を、前記ネットワークエミュレータを介して前記クライアントバーチャルマシンコンテナへ伝達するサーババーチャルマシンコンテナと、
    を備えて構成されることを特徴とする請求項2に記載のマルチユーザネットワークゲームの製作システム。
  4. 前記クライアントバーチャルマシンコンテナは、
    前記少なくとも1つのクライアントバーチャルマシンを生成して駆動するクライアントバーチャルマシン駆動モジュールと、
    前記クライアントバーチャルマシン駆動モジュールを介した前記ネットワークエミュレータとのネットワーク通信を介して伝達されるネットワークイベントを前記クライアントバーチャルマシンに伝達するネットワークイベント管理モジュールと、
    前記マルチユーザネットワークゲームの実行中にゲーム以外のオンラインサービスのためのサービスシステムと前記クライアントバーチャルマシンを連動させるための外部モジュール連動管理モジュールと、
    前記マルチユーザネットワークゲームの画面が表示されるウィンドウと前記ウィンドウを介して発生するゲームイベントを、前記クライアントバーチャルマシン駆動モジュールを介して前記クライアントバーチャルマシンに伝達するウィンドウ制御管理モジュールと、
    を備えていることを特徴とする請求項3に記載のマルチユーザネットワークゲームの製作システム。
  5. 前記サーババーチャルマシンコンテナは、
    前記少なくとも1つのサーババーチャルマシンを生成して駆動するサーババーチャルマシン駆動モジュールと、
    前記サーババーチャルマシン駆動モジュールを介した前記ネットワークエミュレータとのネットワーク通信を介して伝達されるネットワークイベントを前記各サーババーチャルマシンに伝達するネットワークイベント管理モジュールと、
    前記マルチユーザネットワークゲームの実行中にゲーム以外のオンラインサービスのためのサービスシステムと前記サーババーチャルマシンを連動させるための外部モジュール連動管理モジュールと、
    前記サーババーチャルマシン駆動モジュールで複数のサーババーチャルマシンを生成および駆動するようにスレッドプールを提供するスレッド制御管理モジュールと、
    を備えていることを特徴とする請求項3に記載のマルチユーザネットワークゲームの製作システム。
  6. 前記ゲーム製作モジュールは、
    ゲーム製作画面を用いて、前記マルチユーザネットワークゲームの製作のためのユーザインターフェースを提供するゲーム製作ユーザインターフェースと、
    前記ゲーム製作画面を用いて、ユーザの前記マルチユーザネットワークゲームと前記ネットワーク実行環境の製作およびデバッグを実行するゲーム編集ツールと、
    前記エミュレーションモジュールを駆動させ、前記エミュレーションモジュールの駆動による前記マルチユーザネットワークゲームの実行過程を前記ゲーム製作画面に提供するゲームプレビューアと、
    を備えていることを特徴とする請求項1に記載のマルチユーザネットワークゲームの製作システム。
  7. 前記ゲーム編集ツールは、スクリプト言語に基づいていることを特徴とする請求項6に記載のマルチユーザネットワークゲームの製作システム。
  8. 前記エミュレーションモジュールは、前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンそれぞれと仮想のゲーム以外情報が格納された情報格納部との間の情報伝達を前記仮想のネットワーク実行環境においてエミュレーションするための情報格納部エミュレータをさらに備えていることを特徴とする請求項2に記載のマルチユーザネットワークゲームの製作システム。
  9. 前記情報格納部エミュレータは、
    前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンのうちの少なくとも1つからの情報伝達の要求に応答し、前記情報格納部から該当するゲーム以外情報をロードする情報ローダと、
    前記情報ローダからロードされるゲーム以外情報を格納し、格納されたゲーム以外情報を該当する前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンのうちの少なくとも1つに伝達する一時格納部と、
    を備えていることを特徴とする請求項8に記載のマルチユーザネットワークゲームの製作システム。
  10. 前記ゲーム以外情報は、スクリプト言語で作成されたスクリプトファイルであることを特徴とする請求項9に記載のマルチユーザネットワークゲームの製作システム。
  11. ネットワークを介してゲームサーバと複数のゲームクライアント間でなされるマルチユーザネットワークゲームの製作方法であって、
    前記マルチユーザネットワークゲームの製作のためのゲーム製作モジュールを実行してゲーム製作画面を提供し、
    スクリプト言語に基づいて前記ゲーム製作モジュールを介して前記マルチユーザネットワークゲームのためのゲームスクリプトを製作し、
    前記製作されたゲームスクリプトを実行するための少なくても1つのクライアントバーチャルマシンと少なくとも1つのサーババーチャルマシンを含む仮想ネットワーク実行環境を形成し、前記仮想ネットワーク実行環境において前記ゲームスクリプトの実行をエミュレーションし、
    前記ゲームスクリプトの実行のエミュレーションの結果によって前記ゲーム製作モジュールを介して前記製作されたゲームスクリプトをデバッグすること、
    を含んでなされることを特徴とするマルチユーザネットワークゲームの製作方法。
  12. 前記ゲームスクリプトの実行のエミュレーションは、
    バーチャルマシンコンテナを用いて前記少なくとも1つのサーババーチャルマシンと前記少なくとも1つのクライアントバーチャルマシンそれぞれを生成して駆動し、
    ネットワークエミュレータを用いて前記仮想ネットワーク実行環境を形成し、前記少なくとも1つのクライアントバーチャルマシンと前記少なくとも1つのサーババーチャルマシン間のネットワーク通信を中継し、
    前記バーチャルマシンコンテナを用いて前記少なくとも1つのサーババーチャルマシンにサーバ用ゲームスクリプトをローディングさせて実行し、
    前記バーチャルマシンコンテナを用いて前記各クライアントバーチャルマシンにクライアント用ゲームスクリプトをローディングさせて実行し、
    前記各クライアントバーチャルマシンそれぞれの実行結果を前記ゲーム製作画面に提供すること、
    を含んでなされることを特徴とする請求項11に記載のマルチユーザネットワークゲームの製作方法。
  13. 前記ゲームスクリプトの製作は、
    前記ゲーム製作モジュールを介して事前に製作されたゲームレベルをロードし、または、新たなゲームレベルを生成し、
    前記ロードされたゲームレベルまたは前記生成された新たなゲームレベルを編集して前記ゲームスクリプトを生成すること、
    を含んでなされることを特徴とする請求項11に記載のマルチユーザネットワークゲームの製作方法。
  14. 前記ゲームレベルの編集は、
    前記ロードされたゲームレベルまたは前記生成された新たなゲームレベルのスプライトまたはイメージを生成/編集するステップと、前記ロードされたゲームレベルまたは前記生成された新たなゲームレベルのゲームオブジェクトを定義/生成/編集するステップと、前記ロードされたゲームレベルまたは前記生成された新たなゲームレベルのゲームスクリプトを編集するステップとのうち、少なくとも1つのステップを含んでなされることを特徴とする請求項13に記載のマルチユーザネットワークゲームの製作方法。
  15. 前記ゲームスクリプトの実行のエミュレーションは、前記仮想のネットワーク実行環境において前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンそれぞれと仮想のゲーム以外情報が格納された情報格納部との間の前記ゲーム以外情報の伝達のエミュレーションをさらに含んでなされることを特徴とする請求項11に記載のマルチユーザネットワークゲームの製作方法。
  16. 前記ゲーム以外情報の伝達のエミュレーションは、
    前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンのうちの少なくとも1つからの情報伝達の要求に応答し、前記仮想の情報格納部から該当するゲーム以外情報をロードし、
    前記ロードされるゲーム以外情報を一時的に格納し、
    前記一時的に格納されたゲーム以外情報を該当する前記少なくとも1つのクライアントバーチャルマシンおよび前記少なくとも1つのサーババーチャルマシンのうちの少なくとも1つに伝達すること、
    を含んでなされることを特徴とする請求項15に記載のマルチユーザネットワークゲームの製作方法。
  17. 前記ゲーム以外情報は、スクリプト言語で作成されたスクリプトファイルであることを特徴とする請求項16に記載のマルチユーザネットワークゲームの製作方法。
  18. 請求項11から17いずれかの方法を計算機に実行させるためのプログラムを記録した記録媒体。
JP2009258662A 2008-11-20 2009-11-12 マルチユーザネットワークゲームの製作システムおよび方法 Active JP5156722B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080115868A KR101029425B1 (ko) 2008-11-20 2008-11-20 멀티 유저 네트워크 게임의 제작 시스템 및 방법
KR10-2008-0115868 2008-11-20

Publications (2)

Publication Number Publication Date
JP2010123118A true JP2010123118A (ja) 2010-06-03
JP5156722B2 JP5156722B2 (ja) 2013-03-06

Family

ID=42172470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009258662A Active JP5156722B2 (ja) 2008-11-20 2009-11-12 マルチユーザネットワークゲームの製作システムおよび方法

Country Status (3)

Country Link
US (1) US8583761B2 (ja)
JP (1) JP5156722B2 (ja)
KR (1) KR101029425B1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012085823A (ja) * 2010-10-19 2012-05-10 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体
JP2013542504A (ja) * 2010-09-29 2013-11-21 中▲興▼通▲訊▼股▲フン▼有限公司 アプリケーションストアシステム及び当該アプリケーションストアシステムによる開発方法
JP2017113155A (ja) * 2015-12-22 2017-06-29 株式会社スクウェア・エニックス プログラム及びシステム
JP2017113156A (ja) * 2015-12-22 2017-06-29 株式会社スクウェア・エニックス プログラム及びシステム
JP2017120637A (ja) * 2015-12-31 2017-07-06 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation モジュール処理方法およびシステム、並びに記録媒体

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5005210B2 (ja) * 2005-11-11 2012-08-22 任天堂株式会社 ネットワークゲームシステム、ネットワークゲームプログラムおよびネットワーク構築方法
US8803892B2 (en) * 2010-06-10 2014-08-12 Otoy, Inc. Allocation of GPU resources across multiple clients
US8924560B2 (en) * 2010-11-29 2014-12-30 At&T Intellectual Property I, L.P. Optimized game server relocation environment
KR101312268B1 (ko) 2010-12-24 2013-09-25 주식회사 케이티 클라우드 컴퓨팅 환경에서 게임 서비스 제공 방법, 클라우드 컴퓨팅 서버, 및 클라우드 컴퓨팅 시스템
CN103430481B (zh) * 2011-06-24 2016-03-02 华为技术有限公司 管理单元-3电路仿真方法和装置
US9162145B2 (en) 2012-06-08 2015-10-20 Disney Enterprises, Inc. Unified game scripting language with multi-platform interpreter
JP5297555B1 (ja) * 2012-12-04 2013-09-25 株式会社 ディー・エヌ・エー ネットワークシステム
JP5326060B1 (ja) * 2013-04-19 2013-10-30 浮田建設株式会社 ゲームシステムの制御方法、ゲームシステム及びコンピュータ・プログラム
US20150057064A1 (en) * 2013-08-23 2015-02-26 Adam Jae Chun Lee Methods and systems of generating a player to player video poker machine
US20150165310A1 (en) * 2013-12-17 2015-06-18 Microsoft Corporation Dynamic story driven gameworld creation
US11169858B2 (en) 2018-06-15 2021-11-09 Nvidia Corporation Faster game enablement utilizing virtual machine reuse
CN109395395A (zh) * 2018-09-20 2019-03-01 Oppo广东移动通信有限公司 游戏运行方法及相关产品
JP6812583B1 (ja) * 2020-02-28 2021-01-13 株式会社Cygames ゲームスクリプトの作成を支援するためのシステム及び方法
CN111617486A (zh) * 2020-05-12 2020-09-04 杭州非奇科技股份有限公司 一种游戏关卡编辑方法和编辑器
CN111729293B (zh) * 2020-08-28 2020-12-22 腾讯科技(深圳)有限公司 一种数据处理方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073585A (ja) * 2000-08-29 2002-03-12 Nec Software Hokuriku Ltd デバッグ支援装置、デバッグ支援方法、および記録媒体
JP2003340158A (ja) * 2002-05-22 2003-12-02 Nippon Telegraph & Telephone West Corp ユーザ行動評価システム、ユーザ行動評価方法、ユーザ行動評価プログラムおよびユーザ行動評価プログラムを記録したコンピュータ読取り可能な記録媒体
JP2005250937A (ja) * 2004-03-05 2005-09-15 Matsushita Electric Ind Co Ltd マイクロコンピュータソフトウェアのプログラム検証装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697869B1 (en) * 1998-08-24 2004-02-24 Koninklijke Philips Electronics N.V. Emulation of streaming over the internet in a broadcast application
KR20000018932A (ko) * 1998-09-07 2000-04-06 김영준 게임 개발 시스템 및 그 방법
US20020066071A1 (en) * 1999-02-25 2002-05-30 Sing-Ban Robert Tien Local environment for integrated multiple-tier client-server concurrent program developement
US6554707B1 (en) * 1999-09-24 2003-04-29 Nokia Corporation Interactive voice, wireless game system using predictive command input
KR20010007668A (ko) * 2000-03-14 2001-02-05 강윤관 네트워크 게임 서비스 방법 및 그 시스템
KR20020076846A (ko) * 2001-03-30 2002-10-11 (주)패러드림 인터넷을 이용한 게임제작 툴 제공 시스템 및 그 게임제작툴을 이용한 게임제작 방법
US7711847B2 (en) * 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
KR20060091029A (ko) * 2005-02-12 2006-08-17 나진석 사용자에 의한 온라인 게임환경 개발 시스템 및 그 방법
US7958488B2 (en) * 2005-08-16 2011-06-07 National Instruments Corporation Virtual testing in a development environment
US20080201751A1 (en) * 2006-04-18 2008-08-21 Sherjil Ahmed Wireless Media Transmission Systems and Methods
US8856289B2 (en) * 2006-12-29 2014-10-07 Prodea Systems, Inc. Subscription management of applications and services provided through user premises gateway devices
US8118681B2 (en) * 2007-04-12 2012-02-21 Igt Gaming system having retractable gaming unit
US8460109B2 (en) * 2007-04-24 2013-06-11 Igt Gaming community management and personalization
US20080303811A1 (en) * 2007-06-07 2008-12-11 Leviathan Entertainment, Llc Virtual Professional

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073585A (ja) * 2000-08-29 2002-03-12 Nec Software Hokuriku Ltd デバッグ支援装置、デバッグ支援方法、および記録媒体
JP2003340158A (ja) * 2002-05-22 2003-12-02 Nippon Telegraph & Telephone West Corp ユーザ行動評価システム、ユーザ行動評価方法、ユーザ行動評価プログラムおよびユーザ行動評価プログラムを記録したコンピュータ読取り可能な記録媒体
JP2005250937A (ja) * 2004-03-05 2005-09-15 Matsushita Electric Ind Co Ltd マイクロコンピュータソフトウェアのプログラム検証装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSND200302052004; 霧島 有香: '君にも作れる!みんなで遊べる!ネットワークゲームのいろは PART1 ネットワークゲームの基礎知識' C MAGAZINE Vol.14,No.6, 20020601, pp.30-38, ソフトバンクパブリッシング株式会社 *
CSNG199800413038; 吉田 利夫,芽野 眞一郎,鈴木 文雄,小泉 寿男: '「仮想OS・仮想ネットワークによる分散型組込みシステム開発環境」' 情報処理学会研究報告 Vol.98,No.15, 19980226, pp.239-244, 社団法人情報処理学会 *
CSNG200900045008; 西川 賀樹,大山 恵弘,米澤 明憲: 'プロセスレベルの仮想化を用いた大規模分散システムテストベッド' 情報処理学会論文誌 コンピューティングシステム Vol.1,No.2, 20081115, pp.144-156, 社団法人情報処理学会 *
JPN6012017742; 西川 賀樹,大山 恵弘,米澤 明憲: 'プロセスレベルの仮想化を用いた大規模分散システムテストベッド' 情報処理学会論文誌 コンピューティングシステム Vol.1,No.2, 20081115, pp.144-156, 社団法人情報処理学会 *
JPN6012017744; 霧島 有香: '君にも作れる!みんなで遊べる!ネットワークゲームのいろは PART1 ネットワークゲームの基礎知識' C MAGAZINE Vol.14,No.6, 20020601, pp.30-38, ソフトバンクパブリッシング株式会社 *
JPN6012017747; 吉田 利夫,芽野 眞一郎,鈴木 文雄,小泉 寿男: '「仮想OS・仮想ネットワークによる分散型組込みシステム開発環境」' 情報処理学会研究報告 Vol.98,No.15, 19980226, pp.239-244, 社団法人情報処理学会 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013542504A (ja) * 2010-09-29 2013-11-21 中▲興▼通▲訊▼股▲フン▼有限公司 アプリケーションストアシステム及び当該アプリケーションストアシステムによる開発方法
JP2012085823A (ja) * 2010-10-19 2012-05-10 Sony Computer Entertainment Inc 情報処理システム、情報処理方法、情報処理プログラム、情報処理プログラムを記憶したコンピュータ読み取り可能な記録媒体
US9272218B2 (en) 2010-10-19 2016-03-01 Sony Corporation Information processing system, information processing method, information processing program, computer-readable recording medium on which information processing program is stored
JP2017113155A (ja) * 2015-12-22 2017-06-29 株式会社スクウェア・エニックス プログラム及びシステム
JP2017113156A (ja) * 2015-12-22 2017-06-29 株式会社スクウェア・エニックス プログラム及びシステム
JP2017120637A (ja) * 2015-12-31 2017-07-06 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation モジュール処理方法およびシステム、並びに記録媒体

Also Published As

Publication number Publication date
KR20100056873A (ko) 2010-05-28
US8583761B2 (en) 2013-11-12
JP5156722B2 (ja) 2013-03-06
US20100124992A1 (en) 2010-05-20
KR101029425B1 (ko) 2011-04-14

Similar Documents

Publication Publication Date Title
JP5156722B2 (ja) マルチユーザネットワークゲームの製作システムおよび方法
US11403124B2 (en) Remotely emulating computing devices
CN103336724B (zh) 用于Flash应用程序的具有分布式对象的集成硬件平台的系统和方法
US9724610B2 (en) Creation and prioritization of multiple virtual universe teleports in response to an event
CN109885367B (zh) 互动聊天实现方法、装置、终端和存储介质
CN110559651A (zh) 云游戏的控制方法及装置、计算机存储介质、电子设备
WO2018145527A1 (zh) 跨平台交互方法、装置、程序及介质
JP2010523206A (ja) コンテキストゲーマーオプションメニュー
JP2009526598A (ja) Urlを用いたフラッシュゲーム招待システム及びその方法
JP7395734B2 (ja) ビデオゲームでのサーバベースのヘルプマップの生成
CN114007143A (zh) 信息交互方法、装置、设备及计算机存储介质、程序产品
Maggiorini et al. SMASH: A distributed game engine architecture
JP4173903B2 (ja) オンラインフラッシュゲーム提供システム、オンラインフラッシュゲーム提供方法、フラッシュゲームを実行するためのウェブページを提供する方法、方法実行プログラムを記録した保存媒体およびウェブページを提供するウェブサーバ
US9364763B2 (en) User assembly of lightweight user interface for games
JP5819900B2 (ja) プログラム、ゲーム装置およびサーバシステム
JP6054677B2 (ja) 処理システム、情報処理装置、制御方法、プログラム、及び記録媒体
US8972476B2 (en) Evidence-based virtual world visualization
KR100813109B1 (ko) 온라인 플래시 게임에서의 멀티플레이 서비스 제공 방법 및이를 위한 기록 매체
Lee et al. A component-based framework to rapidly prototype online chess games for home entertainment
Wang A framework for developing network based games using Unity and Ice
US20240165505A1 (en) Non-transitory computer-readable storage medium with executable information processing program stored thereon, game system, game device, and information processing method
CN116920425A (zh) 虚拟场景中服务的处理方法、装置、设备及存储介质
JP2024068845A (ja) 情報処理プログラム、ゲームシステム、ゲーム装置、および情報処理方法
CN117899449A (zh) 游戏控制方法、装置和电子设备
KR20070052734A (ko) 온라인 플래시 게임에서의 멀티플레이 서비스 제공 방법 및이를 위한 기록 매체

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121030

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: 20121120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121210

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5156722

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250