KR20060131376A - Game client system and game service providing method using the same - Google Patents
Game client system and game service providing method using the same Download PDFInfo
- Publication number
- KR20060131376A KR20060131376A KR1020050051778A KR20050051778A KR20060131376A KR 20060131376 A KR20060131376 A KR 20060131376A KR 1020050051778 A KR1020050051778 A KR 1020050051778A KR 20050051778 A KR20050051778 A KR 20050051778A KR 20060131376 A KR20060131376 A KR 20060131376A
- Authority
- KR
- South Korea
- Prior art keywords
- game
- data
- user
- unit
- service
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Abstract
Description
도 1은 본 발명의 제1실시예에 따른 게임 클라이언트/서버 시스템의 구성을 간략히 보여주는 구성도이다. 1 is a configuration diagram briefly showing a configuration of a game client / server system according to a first embodiment of the present invention.
도 2는 본 발명의 제1실시예에 따른 게임 실행부의 구성을 간략히 보여주는 구성도이다. 2 is a block diagram schematically showing the configuration of the game execution unit according to the first embodiment of the present invention.
도 3은 본 발명의 제1실시예에 따른 게임 로딩부의 구성을 간략히 보여주는 구성도이다. 3 is a block diagram schematically showing the configuration of a game loading unit according to the first embodiment of the present invention.
도 4는 본 발명의 제2실시예에 따른 게임 로딩부의 구성을 간략히 보여주는 구성도이다. 4 is a configuration diagram briefly showing a configuration of a game loading unit according to a second embodiment of the present invention.
도 5는 본 발명의 실시예에 따른 게임 클라이언트 시스템의 실행 화면의 한 예를 보여준다. 5 shows an example of an execution screen of a game client system according to an embodiment of the present invention.
도 6은 본 발명의 제3실시예에 따른 게임 서비스 제공 방법 중 초기 단계의 구성을 개략적으로 보여주는 순서도이다. 6 is a flowchart schematically illustrating a configuration of an initial step in the method of providing a game service according to a third embodiment of the present invention.
도 7은 본 발명의 제3실시예에 따른 게임 서비스 제공 방법 중 수행 단계 및 종료 단계의 구성을 개략적으로 보여주는 순서도이다.FIG. 7 is a flowchart schematically illustrating a configuration of an execution step and an end step of a game service providing method according to a third exemplary embodiment of the present invention.
도 8은 본 발명의 제3실시예에 따른 게임 실행부와 게임 로딩부와의 통신 루 트 설정 방법을 개략적으로 보여주는 순서도이다. 8 is a flowchart schematically illustrating a communication route setting method between a game execution unit and a game loading unit according to a third embodiment of the present invention.
도 9는 본 발명의 제4실시예에 따른 게임 서비스 제공 방법 중 데이터 매니징 방법의 구성을 개략적으로 보여주는 순서도이다.9 is a flowchart schematically illustrating a configuration of a data management method in a game service providing method according to a fourth exemplary embodiment of the present invention.
본 발명은 게임 클라이언트 시스템 및 이를 이용한 게임 서비스 제공 방법에 관한 것이다. The present invention relates to a game client system and a game service providing method using the same.
일반적으로 게임 클라이언트는 사용자 단말에 탑재되며 네트워크를 통하여 게임 서버 및 웹 서버와 연결되어, 사용자 단말상에서 해당 게임을 수행하는 역할을 한다. In general, a game client is mounted on a user terminal and connected to a game server and a web server through a network to play a game on the user terminal.
게임 클라이언트는 해당 게임의 실행을 위한 게임 실행 모듈 및 게임 서버와 통신하여 게임 데이터를 다운로드 받기 위한 통신 모듈을 포함한다. The game client includes a game execution module for executing the game and a communication module for downloading game data in communication with the game server.
게임 실행 모듈은 개발자에 따라 다양한 프로그램 언어로 다양한 개발 환경에서 작성될 수 있는데, 그렇게 작성된 게임 실행 모듈 중에는 게임 클라이언트와 게임 서버 간의 네트워크 통신을 위한 네트워크 관련 함수를 지원하지 않는 경우가 있다. 이럴 경우 종래에는 해당 게임 실행 모듈의 네트워크 통신을 위해 통신 모듈을 새로이 고안하여야 하는 번거로움이 있었다. The game execution module may be written in various development environments in various programming languages according to the developer. Some of the game execution modules may not support network-related functions for network communication between the game client and the game server. In this case, conventionally, there was a need to newly devise a communication module for network communication of the game execution module.
따라서, 게임 실행 모듈이 어떠한 프로그램 언어로 작성되거나 어떠한 개발환경에서 작성되더라도 서버와 네트워크 통신을 통해 해당 게임 서비스를 수행 할 수 있는 게임 클라이언트의 개발이 요구되고 있다. Therefore, even if a game execution module is written in any programming language or in any development environment, development of a game client capable of performing a corresponding game service through a network communication with a server is required.
또한, 종래의 게임 클라이언트는 게임 클라이언트를 개발하고자 할 때 그 특정 게임의 수행을 담당하는 게임 실행 모듈 뿐만 아니라, 통신 모듈도 함께 개발해야 하는 문제가 있다. In addition, the conventional game client has a problem in that when developing a game client, a communication module as well as a game execution module that is responsible for executing the specific game must be developed together.
그런데, 어떠한 게임 실행 모듈에도 호환 가능한 통신 모듈이 있다면, 게임 클라이언트 개발시 게임 실행 모듈만을 개발하면 되므로 유리한 효과가 있다. By the way, if there is a communication module compatible with any game execution module, it is advantageous because only the game execution module needs to be developed during game client development.
따라서, 특정 게임의 수행을 위해 개발된 게임 실행 모듈과 호환 가능한 통신 모듈을 포함하는 게임 클라이언트의 개발이 요구되고 있다. Accordingly, there is a demand for development of a game client including a communication module compatible with a game execution module developed for executing a specific game.
따라서, 상기한 문제점을 해결하기 위한 본 발명의 목적은 게임 서비스의 제공을 위한 게임 실행부와, 게임 실행부와 독립적인 프로세스로 동작하며 게임 실행부를 지원하는 게임 로딩부를 포함하는 게임 클라이언트 시스템 및 이를 이용한 게임 서비스 제공 방법을 제공하는 데 있다. Accordingly, an object of the present invention for solving the above problems is a game client system including a game execution unit for providing a game service, a game loading unit that supports the game execution unit and operates in a process independent of the game execution unit; It is to provide a game service providing method used.
상기 목적을 달성하기 위한 본 발명의 하나의 특징에 따른 게임 클라이언트 시스템은 서버와 네트워크로 연결되고, 서버와 통신하여 하나 이상의 게임 서비스를 제공하며, 게임 서비스에 각각 대응하며, 게임에 대한 고유 프로세스를 수행하는 하나 이상의 게임 실행부 및 하나 이상의 게임 실행부로부터 사용자가 선택한 게임에 대한 고유 프로세스를 수행하는 게임 실행부를 선택하여 로딩하고, 게임 실행부에서 실행되는 고유 프로세스를 제외한 게임 프로세스를 수행함으로써, 게임 실행부와 함께 사용자에게 게임 서비스를 제공하는 게임 로딩부를 포함한다. 게임 실행부는 게임 서비스 제공을 위해 소정의 게임 데이터가 필요해지는 경우 게임 로딩부에 게임 데이터를 요청한다. 게임 로딩부는 게임 실행부의 게임 데이터 요청에 응답하여 요청된 게임 데이터를 서버로부터 수득하여 게임 실행부로 전달한다. 게임 클라이언트 시스템에서 게임 실행부와 게임 로딩부는 서로 독립적으로 동작한다.Game client system according to an aspect of the present invention for achieving the above object is connected to the network with the server, and communicates with the server to provide one or more game services, respectively corresponding to the game service, and the unique process for the game By selecting and loading a game executor that performs a unique process for a game selected by the user from one or more game executors and one or more game executors to perform, and performing a game process except for the unique process executed by the game executor, It includes a game loading unit for providing a game service to the user along with the execution unit. The game executing unit requests game data from the game loading unit when predetermined game data is needed to provide a game service. The game loading unit obtains the requested game data from the server in response to the game data request of the game execution unit, and delivers the requested game data to the game execution unit. In the game client system, the game execution unit and the game loading unit operate independently of each other.
본 발명의 또 다른 특징에 따른 게임 서비스 제공 방법은 서버와 네트워크로 연결되고, 하나 이상의 게임 실행부 및 게임 로딩부를 포함하는 게임 클라이언트 시스템을 이용하여 하나 이상의 소정의 게임 서비스를 제공한다. 게임 서비스 제공 방법은 게임 로딩부와 독립적으로 동작하는 하나 이상의 게임 실행부로부터 상기 게임 로딩부가 상기 게임 서비스를 제공하는 게임 실행부를 선택하여 로딩하는 단계, 게임 실행부가 게임 서비스의 수행에 필요한 게임 데이터를 게임 로딩부에 요청하는 단계, 게임 로딩부가 게임 실행부의 요청에 응답하여 서버로부터 게임 실행부에서 요청된 게임 데이터를 수신하여 게임 실행부에 제공하는 단계, 및 게임 실행부가 게임 로딩부로부터 요청된 게임 데이터를 수신 받고, 수신 받은 요청된 게임 데이터를 이용하여 게임 서비스를 수행하는 단계를 포함한다. The game service providing method according to another aspect of the present invention provides one or more predetermined game services by using a game client system connected to a network through a server and including one or more game execution units and a game loading unit. The method of providing a game service includes selecting and loading a game executor that provides the game service from one or more game executors that operate independently from a game loader, and the game executor provides game data necessary to perform a game service. Requesting the game loading unit, the game loading unit receiving the game data requested by the game executing unit from the server in response to a request of the game executing unit and providing the game data to the game executing unit, and the game executing unit requested by the game loading unit. Receiving data, and performing a game service using the received requested game data.
이하, 도 1 내지 3을 참조하여, 본 발명의 제1실시예에 따른 게임 클라이언트 시스템에 대하여 상세히 설명한다. Hereinafter, a game client system according to a first embodiment of the present invention will be described in detail with reference to FIGS. 1 to 3.
도 1은 본 발명의 제1실시예에 따른 게임 클라이언트/서버 시스템의 구성을 간략히 보여주는 구성도이다. 1 is a configuration diagram briefly showing a configuration of a game client / server system according to a first embodiment of the present invention.
도 1 에 도시된 바와 같이, 본 발명의 제1실시예에 따른 게임 클라이언트/서버 시스템은 본 발명의 제1실시예에 따른 게임 클라이언트 시스템(100)에 네트워크를 통해 연결된 서버 시스템(400)을 포함한다. As shown in FIG. 1, the game client / server system according to the first embodiment of the present invention includes a
본 발명의 제1실시예에서, 서버 시스템(400)은 게임 클라이언트 시스템(100)에 소정의 게임 데이터 및/또는 사용자 정보를 제공하며, 사용자가 특정의 게임을 선택하여 실행하고자 하는 경우, 게임 클라이언트 시스템(100)에 해당 게임에 대한 게임 데이터 및/또는 사용자 정보를 제공할 수 있는 것이면 크게 제한되지 않는다. 일반적으로 서버 시스템(400)은 웹 서버(410) 및 게임 서버(420)를 포함한다.In the first embodiment of the present invention, the
본 발명에서 '게임 데이터'는 사용자가 선택한 게임 서비스를 수행하기 위해 필요한 데이터를 의미하며, '사용자 정보'는 사용자가 선택한 게임 서비스에서 사용자가 입력하거나, 사용자가 해당 게임의 수행으로 인해 취득한 정보를 의미하며, 구체적으로 해당 게임 서비스에서의 사용자의 아이디, 패스워드, 레벨, 사용자의 게임 포인트, 사용자의 아이템, 사용자의 게임 플레이 시간, 사용자의 최종 플레이 지역 등 사용자가 해당 게임 서비스의 초기 실행을 위해 필요한 정보를 포함한다. 게임 데이터 및 사용자 정보는 각 게임 서비스에 대응하도록 서버 시스템(400)에 저장된다.In the present invention, 'game data' refers to data necessary for performing a game service selected by the user, and 'user information' refers to information inputted by the user in the game service selected by the user or acquired by the user for playing the game. Specifically, the user's ID, password, level, user's game point, user's item, user's game play time, user's final play area, etc. Contains information. Game data and user information are stored in the
웹 서버(410)는 네트워크를 통해 게임 클라이언트 시스템(100)과 접속하며, 접속한 사용자에게 소정의 게임 서비스를 선택하도록 하는 인터페이스 기능을 수행한다. The
게임 서버(420)는 웹서버(410)를 통해 사용자가 선택한 소정의 게임 서비스 를 사용자에게 제공하는 기능을 수행한다. The
본 발명의 실시예에서 서버 시스템(400)은 게임 클라이언트 시스템(100)의 요청에 의해 필요한 게임 데이터 및/또는 사용자 정보를 게임 클라이언트 시스템(100)에 제공할 수 있는 것이면 크게 제한되지 않는 바, 본 발명의 명세서에서는 서버 시스템(400)에 대한 자세한 설명은 생략한다. In the embodiment of the present invention, the
이하, 본 발명의 제1실시예에 따른 게임 클라이언트 시스템(100)을 구체적으로 설명한다. Hereinafter, the
본 발명의 제1실시예에 따른 게임 클라이언트 시스템(100)은 하나 이상의 게임 실행부(200) 및 게임 로딩부(300)를 포함한다. The
게임 실행부(200) 및 게임 로딩부(300)는 독립적인 별도의 프로세스로 각각 동작한다. 따라서, 게임 실행부(200) 및 게임 로딩부(300)는 서로 상이한 프로그램 언어로 제작될 수 있다. The
본 발명의 제1실시예에서, 게임 실행부(200)는 소정의 게임 서비스에 각각 대응하며, 대응하는 게임에 대한 고유 프로세스를 수행한다. In the first embodiment of the present invention, the
본 발명의 제1실시예에서, 게임 로딩부(300)는 하나 이상의 게임 실행부(200) 중에서 사용자가 선택한 게임에 대한 고유 프로세스를 수행하는 게임 실행부(200)를 선택하여 로딩하고, 게임 실행부(200)에서 실행되는 고유 프로세스를 제외한 게임 프로세스를 수행함으로써, 게임 실행부(200)와 함께 사용자에게 게임 서비스를 제공한다. In the first embodiment of the present invention, the
즉, 본 발명의 제1 실시예에서는 사용자가 선택한 게임 서비스를 제공하기 위한 게임 프로세스 중, 개별 게임에 대한 고유의 프로세스는 게임 실행부(200)에서 수행하고, 고유 프로세스를 제외한 게임 프로세스는 게임 로딩부(300)에서 수행함으로써, 사용자에게 해당 게임 서비스를 제공한다. That is, in the first embodiment of the present invention, of the game process for providing the game service selected by the user, the process specific to the individual game is performed by the
이하, 도 2를 참조하여 본 발명의 제1실시예에 따른 게임 실행부(200)를 구체적으로 설명한다. Hereinafter, the
도 2는 본 발명의 제1실시예에 따른 게임 실행부(200)의 구성을 간략히 보여주는 구성도이다. 2 is a block diagram schematically showing the configuration of the
게임 실행부(200)는 게임 실행 모듈(210), 프로세스 정보(220), 게임 정보(230) 및 통신 모듈(240)을 포함한다. The
게임 실행 모듈(210)은 해당 게임 서비스의 수행을 위한 고유 프로세스를 수행한다. 이러한 고유 프로세스는 해당 게임의 게임 로직에 따른 게임 데이터 및 사용자 정보의 처리등을 포함할 수 있다. 또한 게임 실행 모듈(210)은 해당 게임 서비스의 수행 도중에 소정의 게임 데이터 및/또는 사용자 정보가 필요해지는 경우 필요한 게임 데이터 및/또는 사용자 정보를 게임 로딩부(300)에 요청한다. The
프로세스 정보(220)는 게임 서비스 제공을 위한 프로세스에 대한 정보로서, 게임 로딩부(300)의 프로세스 정보(360)과 함께 통신 루트의 형성을 위해 사용된다. The
게임 정보(230)는 게임 실행부(200)에서 제공되는 게임 서비스에대한 정보로서, 구체적으로 게임 이름등을 포함할 수 있다. 본 발명의 제1실시예에서, 복수의 게임 실행부(200) 중 선택되어 로딩된 게임 실행부(200)가 하나의 게임 로딩부 (300)와 협력하여 게임 서비스를 제공하게 되므로, 게임 실행부(200)는 게임 로딩부(300)가 인식 할 수 있는 게임 정보(230)를 포함한다. The
구체적으로, 게임 정보(230)는 사용자가 특정 게임 서비스를 선택하는 경우, 게임 로딩부(300)는 게임 정보(230)를 이용하여 해당 게임에 대응하는 게임 실행부(200)를 검색한다. In detail, when the user selects a specific game service, the
통신 모듈(240)은 게임 로딩부(300)와의 통신 루트를 형성하고, 게임 로딩부(300)로부터 게임 데이터 및/또는 사용자 정보를 수신 받고, 게임 로딩부(300)로 게임 수행 결과를 송신한다. The
이하, 도 3을 참조하여 본 발명의 제1실시예에 따른 게임 로딩부(300)를 구체적으로 설명한다. Hereinafter, the
도 3는 본 발명의 제1실시예에 따른 게임 로딩부(300)의 구성을 간략히 보여주는 구성도이다. 3 is a block diagram schematically showing the configuration of the
본 발명의 제1실시예에 따른 게임 로딩부(300)는 데이터 중개 모듈(310), 공통 프로세스 모듈(320), 데이터 저장 모듈(330), 사용자 데이터 베이스(340), 부가 기능 모듈(350), 프로세스 정보(360) 및 통신 모듈(370)을 포함한다. The
데이터 중개 모듈(310)은 게임 실행부(200)로부터 게임 데이터의 요청을 수신 받고, 요청된 게임 데이터를 검색하여 수득한 후 게임 실행부(200)에 전송함으로써 게임 실행부(200)의 게임 서비스 수행을 지원한다. The
구체적으로, 데이터 중개 모듈(310)은 게임 실행부(200)로부터 요청된 게임 데이터를 서버 시스템(400)에 요청하여 수신 받아 게임 실행부(200)에 제공한다. In detail, the
한편, 게임 실행부(200)로부터 요청되는 게임 데이터가 해당 게임의 초기 실행을 위해 필요한 최소한의 데이터인 게임 실행 데이터인 경우 데이터 중개 모듈(310)은 해당 게임 실행 데이터가 사용자 데이터 베이스(340)에 있는지 검색하고, 해당 게임 실행 데이터가 사용자 데이터 베이스(340)에 있는 경우 해당 게임 실행 데이터를 해당 게임 실행부(200)에 전송한다. 이때, 해당 게임 실행 데이터가 사용자 데이터 베이스(340)에 없는 경우 해당 게임 실행 데이터를 서버 시스템(400)에 요청한다.On the other hand, if the game data requested from the
공통 프로세스 모듈(320)은 해당 게임 서비스를 수행하기 위해 공통적으로 필요하나 각 게임 실행부(200)에서 제공되지 않는 프로세스들을 제공한다. 여기서, 데이터 중개 모듈(310)이 제공하는 데이터 중개 프로세스는 제외된다. 이렇게 해당 게임 서비스를 수행하기 위해 공통적으로 필요하나 각 게임 실행부(200)에서 실행되지 않는 프로세스들은 이하 '공통 프로세스'이라 한다. The
이러한 공통 프로세스로는 각 게임 서비스에 대한 사용자 인증 프로세스, 사용자에 대한 사용자 아바타 제공, 멀티 플레이를 지원하는 게임 서비스의 경우 서버로부터 게임 정보를 수신하여 사용자에게 소정의 게임 선택 인터페이스를 제공하는 프로세스, 사용자가 특정의 게임을 선택하면 서버에 사용자의 특정 게임 선택 정보를 송신하고, 서버로부터 해당 게임에 대한 채널 정보를 수신하여 사용자에게 소정의 게임 채널 선택 인터 페이스를 제공하는 프로세스, 사용자가 특정의 게임 채널을 선택하면, 사용자를 선택된 게임 채널에 대응하는 대기실로 이동시키고, 서버에 사용자의 특정 게임 채널 선택 정보를 송신하고, 서버로부터 해당 게임 채널 에 대한 게임 방 정보를 수신하여, 사용자에게 제공하는 프로세스, 사용자가 대기실에서 소정의 게임 방을 선택하거나 게임 방을 만드는 경우, 서버에 사용자의 게임 방 선택 정보 또는 게임 방 생성 정보를 송신하고, 해당 게임에 대응하는 게임 실행부(200)를 찾아 로딩하는 프로세스를 포함할 수 있다. These common processes include a user authentication process for each game service, a user avatar for a user, a process of receiving game information from a server in the case of a game service supporting multiplayer, and providing a predetermined game selection interface to the user. The process of sending a user's specific game selection information to the server when the user selects a specific game, receiving channel information about the game from the server, and providing the user with a predetermined game channel selection interface. When the user selects, the process of moving the user to the waiting room corresponding to the selected game channel, sending the user's specific game channel selection information to the server, receiving the game room information for the game channel from the server, and providing the user, User playing a game in the waiting room When selecting a room or creating a game room, the method may include a process of transmitting the user's game room selection information or game room creation information to the server, and finding and loading the
상기 예는 가능한 공통 프로세스의 몇 가지예에 불과하며 각 게임 서비스의 수행을 위해 공통적으로 요청되는 프로세스는 모두 공통 프로세스에 포함될 수 있다. 이렇게 공통 프로세스 모듈(320)에서 제공되는 프로세스들이라도 개별 게임 실행부(200)에서 해당 프로세스를 제공하도록 게임 실행부(200)를 구성할 수 있다. 이 경우 해당 프로세스는 공통 프로세스 모듈(320)이 아닌 게임 실행부(200)에서 제공된다. The above examples are only a few examples of possible common processes, and all processes commonly requested for the performance of each game service may be included in the common process. Even in the processes provided by the
데이터 저장 모듈(330)은 데이터 중개 모듈(310)에 의해 서버 시스템(400)에 요청된 게임 데이터 및/또는 사용자 정보를 수신하여 게임 실행부(200)로 전송하기 전까지 저장한다. The
사용자 데이터 베이스(340)는 복수의 게임 실행부(200)에서 제공되는 게임 서비스의 초기 실행을 위한 게임 실행 데이터 및/또는 사용자 정보를 각 게임에 대하여 저장하고, 게임 실행부(200)로부터 요청이 있는 경우 게임 실행 데이터 또는 사용자 정보를 해당 게임 실행부(200)에 전달한다. The
한편, 사용자 데이터 베이스(340)에 저장된 게임 실행 데이터 및/또는 사용자 정보는 서버 시스템(400)의 게임 실행 데이터의 변경 또는 사용자의 게임 실행 결과에 따른 사용자 정보의 변경으로 업데이트 될 수 있다. Meanwhile, the game execution data and / or user information stored in the
본 발명의 제1실시예에서와 같이 게임 실행 데이터 및/또는 사용자 정보를 사용자 데이터 베이스(340)에 저장하는 경우, 해당 게임 서비스의 초기 실행을 위해 게임 실행 데이터 및/또는 사용자 정보를 서버 시스템(400)으로부터 수신 할 필요가 없어 사용자에게 게임 서비스를 제공하는 시간이 단축된다. When storing game execution data and / or user information in the
부가 기능 모듈(350)은 각 게임 실행부(200)의 지원을 제외한 부가 기능을 제공하며, 사용자에게 해당 부가 기능을 직접 제공한다. The
이러한 부가 기능들은 게임 실행부(200)에서 구현되기 어려운 기능들을 포함할 수 있다. 구체적으로 부가 기능들은 아이템 판매, 사이버 머니 충전, 웹 채팅 또는 웹 음악 방송등을 포함할 수 있다. 이러한 부가 기능들은 게임 실행부(200)에 의한 게임 서비스의 제공과는 독립적으로 제공된다. These additional functions may include functions that are difficult to implement in the
프로세스 정보(360)는 게임 실행부(200)의 지원을 위한 프로세스에 대한 정보로서, 게임 실행부(200)의 프로세스 정보(220)와 함께 통신 루트의 형성을 위해 사용된다. The
통신 모듈(370)은 게임 실행부(200)와의 통신 루트를 형성한다. 구체적으로, 게임 로딩부(300)의 통신 모듈(370)은 게임 실행부(200)의 통신모듈(240)과 서로 연결되어 통신 루트를 형성한다. The
게임 실행부(200)과 게임 로딩부(300) 간의 통신 방법으로는 크게 제한이 없으며, 따라서 일반적인 통신 방법이 사용될 수 있다. 구체적으로 본 발명의 클라이언트 시스템이 탑재되는 단말의 운영 체제에서 제공하는 통신 방식(IPC; inter process communication) 방식을 사용할 수 있다. 또한 게임 실행부(200)와 게임 로딩부(300) 간에 소켓을 열어 TCP/IP 네트워크 통신을 수행하도록 구성할 수 도 있다. 본 발명의 제1실시예에서는 IPC 로 구현하는 방식 중에서 마이크로 소프트사의 윈도우에서 제공하는 프로세스간 데이터 전송 방법 중 하나인 WM_COPYDATA를 이용하였다. 이러한 통신 루트의 구체적인 형성 방법은 후술한다. The communication method between the
앞서 살펴본 바와 같이, 본 발명의 제1실시예에 따른 게임 클라이언트 시스템(100)은 서로 독립적으로 동작하는 게임 실행부(200)과 게임 로딩부(300)가 서로 협력하여 사용자에게 소정의 게임 서비스를 제공한다. As described above, in the
구체적으로, 사용자에 의해 선택된 게임이 네트워크를 통해 다른 사용자와 교류 하지 않는 싱글 게임류인 경우 게임 로딩부(300)는 공통 프로세스 모듈(320)를 통해 사용자에게 소정의 게임 선택 메뉴를 제공하고, 사용자가 특정의 게임을 선택하는 경우 선택된 게임에 대응하는 게임 실행부(200)를 실행시켜 사용자에게 선택된 게임 서비스를 제공한다. 한편, 사용자에 의해 선택된 게임이 네트워크를 통해 다른 사용자와 교류하여 진행되는 멀티 게임류인 경우 게임 로딩부(300)는 공통 프로세스 모듈(320)를 통해 사용자에게 소정의 게임 선택 메뉴를 제공하고, 사용자가 특정의 게임을 선택하는 경우 선택된 게임의 실행을 위한 채널 선택 메뉴를 제공하고, 사용자가 채널을 선택하는 경우 사용자를 대기실에 입장 시키고, 사용자가 게임을 실행하고자 하는 경우 해당 게임에 대응하는 게임 실행부(200)를 로딩 하여 사용자에게 선택된 게임 서비스를 제공한다. Specifically, when the game selected by the user is a single game that does not interact with other users through the network, the
이하, 도 4를 참조하여, 본 발명의 제2실시예에 따른 게임 클라이언트 시스템(100)에 대하여 구체적으로 설명한다. Hereinafter, the
본 발명의 제2실시예에 따른 게임 클라이언트 시스템(100)은 게임 로딩부(300)가 서버로부터 게임 데이터의 수신을 매니징할 수 있는 데이터 매니징 기능과 수신된 데이터의 형식을 게임 실행부(200)에서의 처리에 적합한 형식으로 변환하는 데이터 변환 기능을 포함하는 것을 제외하고는 본 발명의 제1실시예에 따른 게임 클라이언트 시스템(100)의 구성과 유사하다. 따라서, 여기서는 본 발명의 제2실시예에 따른 게임 로딩부(300)를 중심으로 설명한다. The
도 4는 본 발명의 제2실시예에 따른 게임 로딩부(300)의 구성을 간략히 보여주는 구성도이다. 4 is a block diagram schematically showing the configuration of the
본 발명의 제2실시예에 따른 게임 로딩부(300)는 데이터 중개 모듈(310), 데이터 매니저(380), 데이터 변환 모듈(390), 데이터 저장 모듈(330), 공통 프로세스 모듈(320), 사용자 데이터 베이스(340), 부가 기능 모듈(350), 프로세스 정보(360) 및 통신 모듈(370)을 포함한다. 여기서, 데이터 매니저(380) 및 데이터 변환 모듈(390)을 제외한 다른 구성들은 본 발명의 제1실시예에 따른 게임 로딩부(300)의 구성과 유사하므로 그 구체적인 설명은 생략한다. The
데이터 매니저(380)는 게임 실행부(200)에서 해당 게임 서비스의 수행을 위해 필요한 게임 데이터의 다운 로드를 제어한다. The
일반적으로 게임의 초기 실행을 위해 필요한 게임 실행 데이터의 양은 게임의 진행중 필요한 게임 데이터의 양보다 많으므로, 데이터 메니저(300)는 게임의 초기 실행과 게임의 진행 중의 각 단계에 따라 두 가지 방법으로 동작한다. In general, since the amount of game execution data required for the initial execution of the game is larger than the amount of game data required during the game, the
먼저, 게임 서비스의 초기 실행 단계에서, 데이터 매니저(380)는 사용자에 의해 선택된 게임에 대응하는 게임 실행 데이터 및/또는 사용자 정보가 사용자 데이터 베이스(340)에 저장되어 있는지 검색한다. 이때, 사용자에 의해 선택된 게임에 대응하는 게임 실행 데이터 및/또는 사용자 정보가 사용자 데이터 베이스(340)에 저장되어 있지 않은 경우, 데이터 매니저(380)는 해당 게임 서비스의 실행을 위해 필요한 게임 실행 데이터를 서버 시스템(400)으로부터 수신하여 해당 게임 서비스의 실행을 유도한다. 이때, 데이터 매니저(380)는 수신된 게임 실행 데이터를 사용자 데이터 베이스(340)에 추가 할 수 있다. 구체적으로, 데이터 메니저(380)는 서버 시스템(400)에 접속하여, 해당 게임 서비스에 대한 게임 실행 데이터 리스트를 다운로드 받고, 다운로드 받은 게임 실행 데이터 리스트를 이용하여 필요한 게임 실행 데이터를 서버 시스템(400)으로부터 수신하여 해당 게임 서비스의 실행을 유도한다. 이때, 데이터 매니저(380)는 저장된 해당 게임 서비스에 대응하는 게임 실행 데이터 및/또는 사용자 정보를 사용자 데이터 베이스(340)에 추가할 수 있다. First, in the initial execution phase of the game service, the
다음으로, 게임 서비스의 진행 단계에서, 데이터 매니저(380)는 사용자의 해당 게임 서비스의 진행 정보로부터 게임 실행부(200)로부터 요청될 게임 데이터를 예측하고 서버 시스템(400)으로부터 수신하여 데이터 저장 모듈(330)에 저장한다. 구체적으로, 사용자가 해당 게임 서비스 내에서 특정 환경 변경 조건을 달성하는 경우(구체적으로, 특정 지역으로 이동), 변경되어 수행되어야 할 새로운 환경에서 필요한 게임 데이터 리스트를 서버 시스템(400)으로부터 다운로드 받고, 다운로드 받은 게임 데이터 리스트를 이용하여 게임 데이터를 서버 시스템(400)으로부터 수 신하여 데이터 저장 모듈(330)에 저장한다. Next, in the progress of the game service, the
예를 들어 설명하면, 서버 시스템(400)은 해당 게임의 소정의 챕터나 소정의 구역을 진행을 위해 필요한 게임 데이터를 리스트화한 게임 데이터 리스트를 저장한다. 사용자가 해당 게임의 소정의 챕터나 소정의 구역을 진행하고자 하는 경우(즉, 특정 환경 변경 조건을 달성하는 경우), 데이터 매니저(380)는 서버 시스템(400)에 저장된 해당 챕터나 구역에 대응하는 게임 데이터 리스트를 다운로드 받고, 다운로드된 게임 데이터 리스트 내의 게임 데이터를 서버 시스템(400)으로부터 미리 수신하여 데이터 저장 모듈(330)에 저장한다. 그후, 게임 실행부(200)로부터 게임 데이터의 요청이 있는 경우 데이터 저장 모듈(330)를 검색하여 요청된 게임 데이터가 저장되어 있는 게임 데이터인 경우 게임 실행부(200)로 즉시 제공한다. 이렇게 필요한 게임 데이터를 미리 저장하는 경우, 게임 실행부(200)의 요청에 즉각적으로 대응할 수 있어, 게임 진행 속도가 향상된다. For example, the
데이터 변환 모듈(390)은 게임 로딩부(300)를 통해 서버 시스템(400)로부터 수신된 게임 데이터 및/또는 사용자 정보를 가공하여 해당 게임 실행부(200)의 처리에 적합한 데이터로 변환한다. 특히, 이러한 데이터 변환 모듈(220)은 서버 시스템(400)로부터 수신되는 게임 데이터 및/또는 사용자 정보의 형식이 해당 게임 실행 모듈(210)에 의해 인식될 수 없는 데이터 형식인 경우에 수신되는 게임 데이터 및/또는 사용자 정보의 형식을 해당 게임 실행부(200)에 의해 처리 가능한 데이터 형식으로 변환한다. 한편, 데이터 변환 모듈(390)은 게임 실행부(200)로부터 수신된 게임 데이터 또는 사용자 정보를 가공하여 서버 시스템(400)에 적합한 데이 터로 변환한다. The
이러한 본 발명의 실시예에 따른 게임 클라이언트 시스템(100)의 실행을 사용자 관점에서 살펴보면 다음과 같다. Looking at the execution of the
사용자는 게임 서비스 수행을 위해 게임 로딩부(300)를 실행시키게 된다. 이러한 게임 로딩부(300)의 실행은 사용자가 소정의 서비스를 제공하는 웹 서버(410)에서 접속하여 게임 서비스를 제공 받고자 하는 경우 자동적으로 이루어지거나, 사용자가 웹 서버(410)에 접속하지 않고 사용자의 단말 시스템에 기 다운로드되어 설치된 게임 로딩부(300)를 직접 실행 시킴으로 이루어진다. The user executes the
도 5는 사용자가 게임 로딩부(300)를 실행한 경우 사용자의 단말에 디스플레이 되는 사용자 인터페이스의 한 예를 보여준다. 5 illustrates an example of a user interface displayed on a user terminal when the user executes the
도 5에서 볼 수 있는 바와 같이, 사용자가 게임 로딩부(300)를 실행시키는 경우, 게임 로딩부(300)는 게임 로딩부 디스플레이(610)를 사용자에게 제공한다. As shown in FIG. 5, when the user executes the
이러한 게임 로딩부 디스플레이(610)는 사용자에게 게임 서비스의 선택을 제공하는 선택부(620) 및 게임 실행부(200)가 실행되는 게임 실행부 디스플레이(630)를 포함할 수 있다. The game
선택부(620)는 게임 로딩부(300)가 서버 시스템(400)으로부터 수신 받은 게임 데이터를 이용하여 사용자에게 제공한 게임 선택 인터페이스를 보여준다. The
사용자가 선택부(620)를 통해 특정의 게임 서비스를 선택하는 경우, 게임 로딩부(300)는 해당 게임 서비스에 대응하는 게임 실행부(200)를 실행 시켜 게임 실행부 디스플레이(630)를 통해 사용자에게 해당 게임 서비스를 제공한다.When the user selects a specific game service through the
이렇게 사용자가 게임 실행부(200)를 통해 특정 게임 서비스를 제공 받는 동안, 사용자의 단말 화면 내에 선택부(620) 및 게임 로딩부 디스플레이(610)의 프레임 화면은 사용자의 선택에 따라 디스플레이 되지 않을 수 있다.As such, while the user is provided with a specific game service through the
이하, 도 6 및 도 7을 참조하여 본 발명의 제3실시예에 따른 게임 클라이언트 시스템을 이용하는 게임 서비스 제공 방법에 대하여 구체적으로 살펴본다. Hereinafter, a game service providing method using a game client system according to a third embodiment of the present invention will be described in detail with reference to FIGS. 6 and 7.
이러한 본 발명의 제3실시예에 따른 게임 클라이언트 시스템을 이용하는 게임서비스 제공 방법은 크게 초기 실행 단계(게임 로딩 단계), 진행 단계 및 종료 단계를 포함한다. The game service providing method using the game client system according to the third embodiment of the present invention generally includes an initial execution step (game loading step), a progress step, and an end step.
도 6은 본 발명의 제3실시예에 따른 게임 클라이언트 시스템을 이용하는 게임서비스 제공 방법의 초기 실행 단계의 구성을 개략적으로 보여주는 순서도이다. 도 7은 본 발명의 제3실시예에 따른 게임 클라이언트 시스템을 이용하는 게임 서비스 제공 방법의 진행 단계 및 종료 단계의 구성을 개략적으로 보여주는 순서도이다. 6 is a flowchart schematically showing a configuration of an initial execution step of a game service providing method using a game client system according to a third embodiment of the present invention. 7 is a flowchart schematically illustrating a configuration of an advancing and terminating step of a game service providing method using a game client system according to a third exemplary embodiment of the present invention.
먼저, 도 6을 참조하여 초기 실행 단계를 설명한다. First, an initial execution step will be described with reference to FIG. 6.
사용자가 게임 로딩부(300)를 실행하는 경우(s100), 게임 로딩부(300)는 서버 시스템(400)으로부터 서비스 가능한 게임들에 대한 게임 정보를 수신하여 사용자에게 게임 선택 인터페이스를 제공한다(s200). When the user executes the game loading unit 300 (S100), the
이러한 게임 로딩부(300)의 실행은 웹 서버(410)를 통해 이루어지거나 사용자의 단말 시스템에 기 다운로드 되어 설치된 게임 로딩부(300)를 실행함으로서 이루어질 수 있다. 이러한 게임 로딩부(300)의 실행 중에 사용자의 아이디 및 비밀 번호등을 확인하여 사용자 인증등의 절차가 수행될 수 있으나 본 발명의 명세서에서는 그 구체적인 설명은 생략한다. The
사용자가 게임 선택 인터페이스를 통해 특정의 게임 서비스를 선택하면, 게임 로딩부(300)는 선택된 게임 서비스를 수행하는 게임 실행부(200)를 선택한다(s300). 이때 게임 로딩부(300)는 게임 실행부(200)의 게임 정보(230)을 검색하여 선택된 게임에 대응하는 게임 실행부(200)를 확인하여 선택한다. When the user selects a specific game service through the game selection interface, the
또한, 게임 로딩부(300)는 선택된 게임 서비스에 대응하는 게임 정보를 이용하여, 해당 게임 서비스의 수행을 위해 게임 로딩부(300)를 초기화 한다(s400).In addition, the
그 후, 게임 로딩부(300)는 서버 시스템(400) 또는 사용자 데이터 베이스(340)로부터 해당 게임 서비스에 대한 사용자 정보를 수득한다(s500). Thereafter, the
이러한 사용자 정보는 해당 게임 서비스에서의 사용자의 아이디, 패스워드, 레벨, 사용자의 게임 포인트, 사용자의 아이템, 사용자의 게임 플레이 시간, 사용자의 최종 플레이 지역 등 사용자가 해당 게임 서비스의 초기 실행을 위해 필요한 정보를 포함한다. 구체적으로, 사용자가 해당 게임을 게임내 소정의 지역 내에서 시작하고자 할 경우, 해당 지역에 대한 맵 정보를 포함한다. 이러한 정보는 사용자가 해당 게임 서비스 중에 수득한 세이브 파일 등으로부터 수득될 수 있다. This user information includes information required for the initial execution of the game service, such as the user's ID, password, level, user's game point, user's item, user's game play time, and user's final play area in the game service. It includes. Specifically, when the user wants to start the game in a predetermined region in the game, the user includes map information about the region. Such information can be obtained from a save file or the like obtained by the user during the game service.
게임 로딩부(300)는 수신된 사용자 정보를 분석하고, 해당 게임 서비스의 실행을 위해 필요한 게임 실행 데이터를 서버 시스템(400)에 요청하여 수신하여 저장한다(s600). 이러한 게임 실행 데이터의 수신은 사용자 정보 수득 단계(s500)와 동시에 이루어질 수 있다. 만일, 게임 실행 데이터 및/또는 사용자 정보가 사용자 데이터 베이스(340)에 기 저장되어 있는 경우, 서버 시스템(400)으로부터 게임 실행 데이터 및/또는 사용자 정보를 수신할 필요는 없다. The
한편, 선택된 게임 서비스에 대응하는 게임 실행부(300)가 선택되면, 게임 실행부는 초기화 되고(s700), 게임 로딩부(200)와 통신 루트를 형성하여 게임 로딩부(200)는 게임 실행부(200)를 로딩한다(s800). On the other hand, if the
게임 로딩부(300)가 게임 실행부(20))를 로딩하면 게임 실행부(200)는 게임 로딩부(300)로부터 해당 게임 서비스의 실행을 위한 게임 실행 데이터 및/또는 사용자 정보를 수신 받고, 수신 받은 게임 실행 데이터 및/또는 사용자 정보를 이용하여 해당 게임 서비스를 실행하여 사용자에게 제공한다(s900). When the
한편, 본 발명의 실시예에 따른 게임서비스 제공 방법의 초기 단계(게임 로딩 단계)를 게임 로딩부(300)와 서버(400)의 관계를 중심으로 살펴보면 다음과 같다.Meanwhile, an initial stage (game loading step) of the game service providing method according to an exemplary embodiment of the present invention will be described based on the relationship between the
사용자가 게임 로딩부(300)를 구동하면, 게임 로딩부(300)는 서버(400)로부터 제공되는 하나 이상의 게임 서비스에 각각 대응하는 하나 이상의 게임 정보를 수신하고, 수신된 게임 정보를 이용하여 사용자에게 게임 선택 인터 페이스를 제공한다. 사용자가 제공된 게임 선택 인터페이스에서 특정 게임을 선택하면, 게임 로딩부(300)는 서버(400)에 사용자의 게임 선택 정보를 전송하고, 서버(400)로부터 선택된 게임에 대한 게임 채널 정보를 수신하고, 수신된 게임 채널 정보를 이용하여 사용자에게 게임 채널 선택 인터페이스를 제공한다. 사용자가 제공된 게임 채널 선택 인터페이스에서 특정 게임 채널을 선택하면, 게임 로딩부(300)는 사용자를 해당 게임 채널에 대응하는 소정의 게임 대기실로 이동시키고, 서버(400)에 사용자의 게임 채널 선택 정보를 전송하고, 서버(400)로부터 선택된 게임 채널에 대한 게임 방 정보를 수신하고, 수신된 게임 방 정보를 이용하여 사용자에게 게임 방 선택 인터페이스를 제공한다. 사용자가 제공된 게임 방 선택 인터페이스에서 특정 게임 방을 선택하거나, 사용자가 스스로를 위해 새로운 게임 방을 개설하는 경우, 게임 로딩부(300)는 서버(400)에 사용자의 게임 방 선택 정보 또는 게임 방 개설 정보를 전송하고, 해당 게임에 대응하는 게임 실행부(200)를 찾아 로딩한다. When the user drives the
다음으로 도 7을 참조하여 진행 단계 및 종료 단계를 설명한다. Next, the progress step and the end step will be described with reference to FIG. 7.
게임 실행부(200)는 해당 게임 서비스의 진행 도중에 소정의 게임 데이터가 추가로 필요해 지면, 게임 로딩부(300)에 해당 게임 데이터를 요청한다(s1100). 게임 로딩부(300)는 요청된 게임 데이터를 서버 시스템(400)로부터 수신 받아 게임 실행부(300)에 제공한다(s1200). If predetermined game data is additionally required while the game service is in progress, the
한편, 게임 로딩부(300)는 게임 실행부(200)로부터 게임 데이터 요청이 없는 경우에도 사용자의 게임 서비스의 수행 상태를 분석하여 게임 실행부(200)에서 요청될 게임 데이터를 예측하고, 예측된 게임 데이터를 서버 시스템(400)로부터 미리 수신 받는 단계를 추가 포함할 수 있다. 이 경우, 게임 로딩부(300)는 게임 실행부(200)로부터 해당 게임 데이터의 요청이 있는 경우 서버 시스템(400)와 통신할 필요 없이 요청된 게임 데이터를 게임 실행부(200)에 전달할 수 있어 보다 신속한 게임 서비스를 제공하게 된다. Meanwhile, even when there is no game data request from the
구체적으로 게임 로딩부(300)는 사용자 정보를 분석하여, 해당 게임 서비스 에서의 사용자의 게임 내 위치, 사용자의 수행 미션(퀘스트)등의 정보를 획득한 다음, 사용자의 게임 내 위치의 주변에 대한 지역 정보 또는 사용자의 수행 미션(퀘스트) 중 다음 단계 수행을 위한 정보에 대한 게임 데이터를 게임 서비스 수행을 위해 필요한 게임 데이터로 예측한다(s1300). 그후, 게임 로딩부(300)는 예측된 게임 데이터를 서버 시스템(400)로부터 수신한다(s1400). 이러한 필요 게임 데이터 예측 및 데이터 수신은 사용자의 게임 진행에 따라 실시간으로 또는 주기적으로 이루어질 수 있다. 이러한 경우, 게임 실행부(200)로부터 게임 데이터 요청이 수신되면(s1500), 게임 로딩부(300)는 기 수신된 게임 데이터와 요청된 게임 데이터를 비교하고(s1600), 요청된 게임 데이터가 게임 로딩부(300)에 기 수신되어 저장되어 있으면, 저장된 게임 데이터를 게임 실행부(200)에 전달한다(s1700). 만일, 요청된 게임 데이터가 게임 로딩부(300)에 저장되어 있지 않은 경우에는 요청된 게임 데이터를 서버 시스템(400)로부터 수신하여 게임 실행부(200)에 전송한다. In more detail, the
사용자가 해당 게임 서비스를 종료하는 경우, 게임 실행부(200)는 사용자의 게임 수행 결과로 변동된 게임 데이터 및 사용자 정보를 게임 로딩부(300)의 사용자 데이터 베이스(340)에 저장하거나, 게임 로딩부(300)를 통해 서버 시스템(400)으로 전송하여 저장한다(s1800). 사용자의 게임 수행 결과는 게임 수행시 저장이 필요한 데이터일 수 있으며, 구체적으로 해당 게임이 롤 플레잉 게임인 경우 사용자의 해당 게임의 스토리 진행 정도, 사용자의 해당 게임에서의 지역 정보, 사용자의 해당 게임에서의 랭킹 정보, 아이템 정보 등을 포함할 수 있다. 이러한 정보를 포함하는 데이터로서 해당 게임의 세이브 파일을 그 구체적인 예로 들 수 있다. When the user ends the game service, the
게임 로딩부(300) 또는 서버 시스템(400)은 사용자의 해당 게임 수행 결과를 게임 별로 저장하며, 게임 수행 결과를 이용하여 기 저장된 게임 데이터 및/또는 사용자 정보를 업데이트 한다(s1900). The
이러한 본 발명의 제3실시예에 따른 게임 클라이언트 시스템을 이용한 게임 서비스 제공 방법은 상술된 방법의 순서에 제한되지 않으며, 필요에 따라 순서를 달리하여 실행될 수 있다. The game service providing method using the game client system according to the third embodiment of the present invention is not limited to the order of the above-described method, and may be executed in a different order as necessary.
한편, 사용자는 특정의 게임을 진행하던 도중에 다른 게임을 실행하고자 하는 경우가 있을 수 있다. 이와 같이, 사용자가 소정의 게임 서비스 진행 도중에, 다른 게임 서비스를 선택하는 경우의 게임 실행부(200)과 게임 로딩부(300)의 동작은 다음과 같다. On the other hand, a user may wish to play another game while playing a specific game. As described above, operations of the
먼저, 사용자가 다른 게임 서비스를 선택하면, 게임 로딩부(300)는 기 진행 중인 게임에 대응하는 게임 실행부(200)와 기 설정된 통신 루트를 해제하고, 게임 로딩부(300) 내의 기 진행 중인 게임 서비스에 대한 데이터를 제거한다. 다음으로, 사용자에 의해 새로이 선택된 게임에 대한 게임 정보를 이용하여 게임 로딩부(300)를 초기화하고, 사용자 데이터 베이스(340) 또는 서버 시스템(400)으로부터 선택된 게임에 대한 게임 실행 데이터 및 사용자 정보를 수신하여 해당 게임 서비스를 사용자에게 제공한다. 이러한 게임 실행부(200)과 게임 로딩부(300)의 구체적인 동작은 앞서 설명한 동작(s300) 내지 동작(s900)과 유사하므로 그 구체적인 설명은 생략한다. First, when the user selects a different game service, the
이하, 도 8을 참조하여 본 발명의 실시예에 따른 게임 실행부(200)와 게임 로딩부(300)간의 통신 루트 설정 방법에 대하여 설명한다. Hereinafter, a method of setting a communication route between the
도 8은 본 발명의 제2실시예에 따른 게임 실행부(200)와 게임 로딩부(300) 간의 통신 루트 설정 방법을 간략히 보여주는 순서도이다. 8 is a flowchart briefly illustrating a communication route setting method between the
먼저, 게임 로딩부(300)가 선택된 게임 서비스에 대응하는 게임 실행부(200)를 선택하는 경우, 게임 실행부(200)는 초기화 되고 실행된다(s710). First, when the
게임 실행부(200)가 실행되면, 게임 실행부(200)는 게임 로딩부(300)를 검색하며(s720), 게임 로딩부(300)에 게임 실행부(200)의 프로세스 정보를 송신한다(s730). When the
게임 로딩부(300)는 게임 실행부(200)로부터 프로세스 정보를 수신 받는 경우, 수신 확인 및 게임 로딩부(300)의 프로세스 정보를 게임 실행부(200)에 송신한다(s740).When the
게임 실행부(200)는 게임 로딩부(300)로부터 수신 확인, 게임 로딩부(300)의 프로세스 정보를 수신하는 경우, 게임 실행부(200)과 게임 로딩부(300)는 통신 루트를 형성하고, 게임 로딩부(300)는 게임 실행부(200)를 로딩한다(s800). 이러한 본 발명의 제2 실시예에 따른 통신 루트 설정 방법은 IPC를 이용한 절차의 한 구체예이나 IPC를 사용하지 않는 경우도 이와 유사하게 구현된다. When the
이하, 도 9를 참조하여 본 발명의 제4실시예에 따른 게임 서비스 제공 방법을 구체적으로 설명한다. Hereinafter, a game service providing method according to a fourth exemplary embodiment of the present invention will be described in detail with reference to FIG. 9.
본 발명의 제4실시예에 따른 게임 서비스 제공 방법은 데이터 매니저(380)를 이용하여 게임 데이터 수신을 매니징하는 것을 제외하고는 본 발명의 제3실시예에 따른 게임 서비스 제공 방법과 유사한 바, 이하에서는 데이터 매니저(380)를 이용하는 데이터 수신 방법을 중심으로 설명한다. The game service providing method according to the fourth embodiment of the present invention is similar to the game service providing method according to the third embodiment of the present invention except that the game data reception is managed using the
도 9는 본 발명의 제4실시예에 따른 게임 서비스 제공 방법 중 데이터 매니징 방법의 구성을 개략적으로 보여주는 순서도이다.9 is a flowchart schematically illustrating a configuration of a data management method in a game service providing method according to a fourth exemplary embodiment of the present invention.
도 9 에서 볼 수 있는 바와 같이, 게임 로딩부(300)의 실행으로 데이터 매니저(380)가 구동되면(s2100), 데이터 매니저(380)는 서버 시스템(400)에 기설정되어 저장된 게임 데이터 리스트를 수신한다(s2200). 이러한 게임 데이터 리스트는 해당 게임의 실행 초기의 게임 실행 데이터 리스트 및 해당 게임의 진행 단계의 게임 데이터 리스트를 포함한다. As can be seen in FIG. 9, when the
다음, 데이터 매니저(380)는 수신된 게임 데이터 리스트를 이용하여 서버 시스템(400)로부터 게임 데이터를 수신한다(s2300). 이러한 게임 데이터 리스트 상 게임 데이터의 수신은 게임 실행부(200)가 사용자에게 해당 게임 서비스를 제공하는 것과 독립적으로 수행된다. 또한, 게임 데이터 리스트상 게임 데이터 수신은 게임 실행부(200)로부터 요청된 게임 데이터의 수신과 동시에 또는 요청 게임 데이터의 수신에 방해되지 않는 한도에서 수행될 수 있다. Next, the
한편, 데이터 매니저(380)는 수신된 게임 데이터를 리스트화 한다(s2400). 이렇게 리스트화되는 게임 데이터는 게임 데이터 리스트를 이용하여 수신된 게임 데이터 뿐만 아니라 게임 실행부(200)의 요청에 의하여 수신된 게임 데이터를 포함한다. On the other hand, the
이렇게 데이터 매니저(380)의 동작 중에 게임 실행부(200)로부터 게임 데이 터 요청이 수신되면(s2500), 데이터 매니저(380)는 요청된 게임 데이터를 작성된 게임 데이터 리스트와 비교하여, 요청된 게임 데이터가 작성된 게임 데이터 리스트에 있는지 판단한다(s2600). When the game data request is received from the
요청된 게임 데이터가 작성된 게임 데이터 리스트에 있는 경우, 데이터 매니저(380)는 해당 게임 데이터를 게임 실행부(200)에 전송한다(s2700). If the requested game data is in the created game data list, the
요청된 게임 데이터가 작성된 게임 데이터 리스트에 없는 경우, 데이터 매니저(380)는 해당 게임 데이터를 서버(200)로부터 수신하여 저장하고, 게임 실행부(200)에 전송한다(s2800). 이때, 서버(200)로의 해당 게임 데이터의 요청은 다른 게임 데이터의 요청 보다 우선 순위로 처리한다. If the requested game data is not in the created game data list, the
이때, 서버 시스템(400)로부터 수신 받은 게임 데이터의 형식이 게임 실행부(200)에서 처리 가능한 데이터 형식과 상이한 경우, 게임 로딩부(300)는 서버 시스템(400)로부터 수신 받은 게임 실행 데이터의 형식을 게임 실행부(200)에서 처리 가능한 데이터 형식으로 변환한다. At this time, if the format of the game data received from the
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명은 이에 한정되는 것은 아니며, 그 외의 다양한 변경이나 변형이 가능하다.Although the preferred embodiment of the present invention has been described in detail above, the present invention is not limited thereto, and various other changes and modifications are possible.
본 발명의 실시예에 따른 게임 클라이언트 시스템 및 게임 클라이언트 시스템을 이용한 게임 서비스 제공 방법에서 게임 클라이언트 시스템(100)을 구성하는 게임 실행부(200) 및 게임 로딩부(300)는 각각 상이한 프로세스로 독립적으로 동작한다. In the game client system and the game service providing method using the game client system according to an exemplary embodiment of the present invention, the
따라서, 게임 실행부(200)와 게임 로딩부(300)가 각각 서로 상이한 프로그램 언어로 작성되어 있다고 하더라도 서버 시스템(400)으로부터 수신 되는 데이터는 게임 로딩부(300)를 통해 게임 실행부(200)에 적합한 데이터 형태로 변환되어 게임 실행부(200)에 전달되고, 게임 실행부(200)로부터 서버 시스템(400)으로 송신되는 데이터도 게임 로딩부(300)를 통해 서버 시스템(400)에 적합한 데이터 형태로 변환되어 서버 시스템(400)로 전달될 수 있다. Therefore, even if the
또한, 본 발명의 실시예에 따른 게임 클라이언트 시스템 및 게임 클라이언트 시스템을 이용하는 게임 서비스 제공 방법은 하나의 게임 로딩부(300)가 다수의 게임 실행부(200)와 협력하여 게임 서비스를 수행한다. In addition, in the game client providing method and the game service providing method using the game client system according to an embodiment of the present invention, one
따라서, 사용자가 다수의 게임을 하고자 하는 경우라도, 사용자는 하나의 게임 로딩부만을 이용하여 각각의 게임 서비스를 수행하게 되므로, 게임 실행 마다 게임 클라이언트를 교체해야 하는 번거로움이 없고, 게임의 종류와 상관 없이 사용자에게 통일된 서비스를 제공할 수 있게 된다. Therefore, even if the user wants to play a plurality of games, the user performs each game service using only one game loading unit, so there is no need to replace the game client for each game execution, It is possible to provide a unified service to a user regardless.
또한, 본 발명의 실시예에 따른 게임 클라이언트 시스템에서 게임 실행부(200) 및 게임 로딩부(300)는 각각 상이한 프로세스로 독립적으로 동작하므로, 소정의 게임 서비스를 수행하기 위한 게임 실행부(200)를 개발하고자 할 때 프로그램 언어나 기타 개발 환경에 구속됨 없이 개발할 수 있다. In addition, in the game client system according to the embodiment of the present invention, since the
또한, 게임 서비스 수행을 위해 공통되는 프로세스 부분을 게임 로딩부(300)에서 실행하게 함으로써 게임 실행부(200)는 대응하는 게임 서비스의 수행을 위한 프로세스만을 담당하도록 설계될 수 있다. 따라서 게임 실행부(200)를 적은 용량으로 구현하는 것이 가능하다. 게임 로딩부에서 수행되는 공통 프로세스이라 하더 라도 게임 실행부(200)에서 구현되도록 구성될 수 있다. In addition, by allowing the
또한, 본 발명의 실시예에 따른 게임 클라이언트 시스템은 게임 실행부(200) 및 게임 로딩부(300)는 각각 상이한 프로세스로 독립적으로 동작하므로, 게임 실행부(200)에서 수행이 유리한 프로세스들은 게임 실행부(200)에 할당하고, 게임 로딩부(300)에서 수행이 유리한 프로세스들은 게임 로딩부(300)에 할당 함으로써, 게임 실행부(200) 및 게임 로딩부(300)의 협력에 의한 시너지적 효과를 달성할 수 있다. In addition, in the game client system according to the embodiment of the present invention, since the
구체적으로 프로그램 언어의 일종인 C/C++ 은 처리 속도가 빠르나 개발 환경이 능률적이지 못하고, C#은 처리 속도는 C/C++ 에 비해 느리나 각종 데이터 베이스나 XML 등을 쉽게 사용가능하고 각종 컨트롤 기능을 부여하기 용이한 장점이 있다. 따라서, 게임 수행을 위해 처리 속도가 높아야 하는 게임 실행부(200)를 C/C++로 작성하고, 각종 데이터 베이스 관리 및 각종 부가 기능을 수행하는 게임 로딩부(300)를 C#으로 작성하는 경우 게임 클라이언트 시스템은 빠른 처리 속도와 풍부한 부가 기능을 동시에 달성하게 되며, 게임 개발자 입장에서도 게임 개발이 보다 용이하게 된다. Specifically, C / C ++, which is a kind of programming language, has a fast processing speed, but its development environment is not efficient. C # has a slower processing speed than C / C ++, but it can easily use various databases or XML and provide various control functions. There is an advantage that it is easy to do. Therefore, in the case of writing the
본 발명의 실시예에 따른 게임 클라이언트 시스템 및 이를 이용하는 게임 서비스 제공 방법은 각각 완전히 다른 프로세스로 독립적으로 동작하는 게임 실행부와 게임 로딩부를 이용한다.The game client system and the game service providing method using the same according to an embodiment of the present invention each use a game execution unit and a game loading unit that operate independently in completely different processes.
따라서, 사용자는 하나의 게임 로딩부만을 이용하여 각각의 게임 서비스를 수행하게 되므로, 게임 실행 마다 게임 클라이언트를 교체해야 하는 번거로움이 없 고, 게임의 종류와 상관 없이 사용자에게 통일된 서비스를 제공 받게 된다. Therefore, since the user performs each game service using only one game loading unit, there is no need to replace the game client every game execution, and the user is provided with a unified service regardless of the type of game. do.
또한, 게임 서비스 개발자는 소정의 게임 서비스를 수행하기 위한 게임 실행부(200)를 개발하고자 할 때 프로그램 언어나 기타 개발 환경에 구속됨 없이 개발할 수 있다. In addition, the game service developer may develop the
또한, 본 발명의 실시예에 따른 게임 클라이언트 시스템 및 이를 이용하는 게임 서비스 제공 방법은 게임 실행부 및 게임 로딩부 각각에서 수행이 유리한 프로세스들을 분리하여 처리하도록 함으로써 시너지적 효과를 달성한다. In addition, the game client system and the game service providing method using the same according to an embodiment of the present invention achieves a synergistic effect by separating and processing processes that are advantageous in the game execution unit and the game loading unit.
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050051778A KR100840617B1 (en) | 2005-06-16 | 2005-06-16 | Game client system and game service providing method using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050051778A KR100840617B1 (en) | 2005-06-16 | 2005-06-16 | Game client system and game service providing method using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060131376A true KR20060131376A (en) | 2006-12-20 |
KR100840617B1 KR100840617B1 (en) | 2008-06-23 |
Family
ID=37811450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050051778A KR100840617B1 (en) | 2005-06-16 | 2005-06-16 | Game client system and game service providing method using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100840617B1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000060795A (en) * | 1999-03-19 | 2000-10-16 | 신동호 | A multiplayer game service system architecture and method on the internet |
-
2005
- 2005-06-16 KR KR1020050051778A patent/KR100840617B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR100840617B1 (en) | 2008-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100766546B1 (en) | Method and system for controling playing of card game artificial intelligence | |
CN102971705B (en) | Application including multiple experience modules | |
US20050021866A1 (en) | Method and data format for synchronizing contents | |
AU2001271086B2 (en) | Methods of transmitting and executing contents of program for hand-held terminal | |
EP2333661B1 (en) | Firmware update apparatus and program | |
EP1640858B1 (en) | Network terminal device, delivery server and client/server system for delivering operating system data and application data | |
US6600958B1 (en) | Management of functionality in a consumer electronics system | |
US8065679B2 (en) | System and method for flexible application hosting on a wireless device | |
US11356504B2 (en) | Methods and systems for orchestrating distributed computing resources | |
US20160080926A1 (en) | Individualized short-range radio communication method, system and central device for the implementation thereof | |
US20060004764A1 (en) | Method and apparatus for accessing web services | |
US20030172175A1 (en) | System for standardizing updates of data on a plurality of electronic devices | |
US6389466B1 (en) | Management of functionality in a consumer electronics system | |
US20020002605A1 (en) | Server/client system and program for implementing application distribution in this server/client system | |
JPH08190472A (en) | System and method for remote installation | |
CN101383821B (en) | Updating method and system for game service installation packet | |
KR100840617B1 (en) | Game client system and game service providing method using the same | |
CN102053851A (en) | Method for remotely editing interface for embedded terminal | |
CN105740006A (en) | Cross-platform service providing method of wearable intelligent device based on transparent computing | |
KR101814747B1 (en) | Method for providing image authoring based on cloud computing, and service apparatus therefor | |
KR100373093B1 (en) | System and method for upgrade of refrigerator over a network | |
JPH1173399A (en) | Adaptive networking service environment constitution system and its recording medium | |
KR100579806B1 (en) | System and Method for Downloading Wireless Internet Service Platform and Mobile Communication Terminal therefor | |
KR100572668B1 (en) | Method for storing mobile commerce application on a terminal memory | |
EP1657638A1 (en) | System and method for downloading a program from a program store location to a mobile device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B601 | Maintenance of original decision after re-examination before a trial | ||
E801 | Decision on dismissal of amendment | ||
J301 | Trial decision |
Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20070521 Effective date: 20080328 |
|
S901 | Examination by remand of revocation | ||
E902 | Notification of reason for refusal | ||
GRNO | Decision to grant (after opposition) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110414 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130329 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170328 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180328 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20190325 Year of fee payment: 12 |