KR20090000651A - User interface providing apparatus and method for on-line game - Google Patents

User interface providing apparatus and method for on-line game Download PDF

Info

Publication number
KR20090000651A
KR20090000651A KR1020070025909A KR20070025909A KR20090000651A KR 20090000651 A KR20090000651 A KR 20090000651A KR 1020070025909 A KR1020070025909 A KR 1020070025909A KR 20070025909 A KR20070025909 A KR 20070025909A KR 20090000651 A KR20090000651 A KR 20090000651A
Authority
KR
South Korea
Prior art keywords
game
user interface
script
information
control element
Prior art date
Application number
KR1020070025909A
Other languages
Korean (ko)
Inventor
장준혁
Original Assignee
주식회사 레드덕
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 주식회사 레드덕 filed Critical 주식회사 레드덕
Priority to KR1020070025909A priority Critical patent/KR20090000651A/en
Publication of KR20090000651A publication Critical patent/KR20090000651A/en

Links

Images

Classifications

    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

A user interface service apparatus and a method thereof for an online game are provided to realize complicated user interface environments and various effects at high speed by using a script only, thereby satisfying performance and development efficiency of a user interface. A game engine(101) is equipped. A custom interface(102) demands user interface-related processing to the game engine through a universal form. A game client(100) includes a game logic unit(103) that performs game progression-related processing. A user interface script unit has information that defines an operation type of control elements and layers. A user interface engine(110) interprets information of the user interface script unit, and provides information on components of the defined user interface to a custom interface of a game client in universal form.

Description

온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법{User interface providing apparatus and method for on-line game}Apparatus and method for providing user interface for online game

도 1은 일반적인 온라인 게임 시스템의 개략적 구성도.1 is a schematic configuration diagram of a general online game system.

도 2는 본 발명 일 실시예의 구성도.2 is a block diagram of an embodiment of the present invention.

도 3은 본 발명 일 실시예에 따른 사용자 인터페이스 제공 방식을 보인 예시도.3 is an exemplary view showing a user interface providing method according to an embodiment of the present invention.

도 4는 본 발명 일 실시예에 따른 제어 요소의 프레임 구성 방식을 보인 예시도.4 is an exemplary view showing a frame configuration method of a control element according to an embodiment of the present invention.

도 5는 본 발명 일 실시예에 따른 제어 요소의 구체적 구성을 보인 예시도.5 is an exemplary view showing a specific configuration of a control element according to an embodiment of the present invention.

도 6은 본 발명 일 실시예에 따른 제어 요소의 제어 방식의 예를 보인 개념도.6 is a conceptual diagram illustrating an example of a control method of a control element according to an embodiment of the present invention.

도 7은 본 발명 일 실시예에 따른 사용자 인터페이스 저작부 구성을 보인 블록도.7 is a block diagram showing the configuration of a user interface authoring unit according to an embodiment of the present invention.

도 8 내지 도 9는 도 7의 사용자 인터페이스 저작부의 실례를 보인 예시도.8 to 9 illustrate examples of the user interface authoring unit of FIG. 7.

도 10은 본 발명 일 실시예에 따른 사용자 인터페이스 엔진의 동작 방식을 보인 개념도.10 is a conceptual diagram illustrating an operation method of a user interface engine according to an embodiment of the present invention.

도 11은 본 발명 일 실시예의 동작 과정을 보인 순서도.11 is a flowchart illustrating an operation process of an embodiment of the present invention.

** 도면의 주요 부분에 대한 부호의 설명 **** Description of symbols for the main parts of the drawing **

100: 게임 클라이언트 101: 게임 엔진부100: game client 101: game engine unit

102: 게임 엔진 인터페이스 103: 게임 로직부102: game engine interface 103: game logic unit

110: UI 엔진 111: UI 엔진부110: UI engine 111: UI engine unit

112: 인터페이스부 113: 라이브러리부112: interface unit 113: library unit

120: UI 저작부 125: 스크립트 파일120: UI Authoring 125: Script Files

130: 레이어부 200: UI 디자인부130: layer unit 200: UI design unit

210: 스트립트 파일부 220: 테스트부210: script file unit 220: test unit

300: UI 모듈정의부 310: LUA 스트립트부300: UI module definition part 310: LUA script part

320: UI 엔진 LUA API 330: 게임 클라이언트부320: UI engine LUA API 330: game client unit

본 발명은 게임의 사용자 인터페이스에 관한 것으로, 특히 온라인 게임의 사용자 인터페이스를 용이하게 설계 및 적용하기 위한 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법에 관한 것이다.The present invention relates to a user interface of a game, and more particularly, to an apparatus and method for providing a user interface for an online game for easily designing and applying a user interface of an online game.

인터넷의 발달과 더불어 고부가가치 산업으로 급부상한 온라인 게임산업은 최첨단 지식형 복합 산업으로서 빠르게 성장해 나가고 있는 분야이다. 특히, 단일 시스템에 대한 단독 혹은 복수 플레이어의 조작을 기본으로 하던 종래의 게임에서 플레이어들의 위치에 관계없이 온라인상에 조성된 가상의 영역에서 동시에 게임을 진행할 수 있도록 함으로써 게임에 참여하는 복수의 플레이어들 간 경쟁과 협동을 유도하는 온라인 게임 방식은 게임의 영역을 획기적으로 확장한 것으로 평가받고 있다. The online game industry, which has emerged as a high value-added industry with the development of the Internet, is a rapidly growing field as a cutting-edge knowledge-based complex industry. In particular, in the conventional game, which is based on single or multiple player operation for a single system, a plurality of players participating in the game can be played simultaneously in a virtual area created online regardless of the player's position. The online game method that induces competition and cooperation between the games is regarded as a significant expansion of the game.

도 1은 일반적인 온라인 게임 시스템의 구성을 보인 것으로, 도시된 바와 같이 복수의 클라이언트들(10a~10n)이 인터넷을 포함하는 통신망(20)을 통해 온라인 게임 사업자 시스템(30)에서 제공하는 게임 서버(30a, 30b) 중 원하는 서버에 접속하여 해당 서버에 접속한 다른 클라이언트들(10a~10n)과 함께 게임을 진행할 수 있도록 구성되어 있다. 일반적으로, 상기 게임 서버(30a, 30b)는 다양한 가입자 정보와 해당 가입자의 게임 캐릭터 정보 및 상태 정보들을 관리하며, 특정한 게임의 진행 상태를 관리하게 된다. 그리고, 상기 게임 서버(30a, 30b)가 제공하던 다양한 게임 관련 연산들은 점차 상기 클라이언트들(10a~10n)이 분담하여 실시하게 됨으로써, 상기 게임 서버(30a, 30b)는 점차 다양한 클라이언트의 접속과 통합적인 게임 운영에 그 기능을 집중하고 있다. FIG. 1 illustrates a configuration of a general online game system. As shown in FIG. 1, a game server provided by an online game operator system 30 through a communication network 20 including a plurality of clients 10a to 10n as shown in FIG. 30a, 30b is connected to the desired server is configured to proceed with the game with the other clients (10a ~ 10n) connected to the server. In general, the game servers 30a and 30b manage various subscriber information, game character information and state information of the corresponding subscriber, and manage the progress state of a specific game. In addition, various game-related operations provided by the game servers 30a and 30b are gradually shared by the clients 10a to 10n, so that the game servers 30a and 30b are gradually integrated with various client connections. Its functions are focused on gameplay.

따라서, 상기 클라이언트에는 실질적인 게임 처리부분인 게임 클라이언트가 설치되며, 상기 게임 클라이언트를 동작시켜 상기 게임 서버에 접속을 실시한 후 게임을 진행하게 되는데, 대부분의 게임 관련 연산은 상기 클라이언트들(10a~10n)에 설치되는 게임 클라이언트가 수행하게 된다. Accordingly, the client is provided with a game client, which is a substantial game processing part, and the game client is operated to access the game server and proceed with the game. Most game-related operations are performed by the clients 10a to 10n. This is done by the game client installed on it.

상기 게임 클라언트는 기본적으로 게임을 구현하기 위한 각종 사용자 인터페이스와, 각 게임의 진행을 위한 고속 연산/그래픽 처리/캐릭터 설정 및 움직임/판정/인공지능 등을 전문적으로 처리하는 게임 엔진과, 상기 게임 엔진을 이용하여 해당 게임의 특정 시나리오를 상기 사용자 인터페이스들과의 연동을 통해 처리하는 게임 로직 부분으로 이루어지게 된다. The game client basically comprises a variety of user interfaces for implementing a game, a game engine that professionally processes high speed computation / graphic processing / character setting and movement / judgment / artificial intelligence for the progress of each game, and the game. It is composed of a game logic part that processes a specific scenario of a corresponding game using an engine through interworking with the user interfaces.

특히, 각 게임의 시나리오 부분은 대부분 게임 전용 스크립트를 이용하게 되며, 공개 스크립트 언어인 루아(LUA) 스크립트를 활용하는 것이 일반적이다. In particular, most of the scenario parts of each game use a game-specific script, and it is common to use a public scripting language (LUA) script.

따라서, 게임을 개발하기 위해서는 게임의 시나리오에 적절한 게임 엔진을 선택하고, 각 사용자 인터페이스를 위한 이미지들 및 배경들을 설정한 후 게임의 시나리오에 적합한 로직 부분을 구성한다. 그리고 상기 로직 부분을 유기적으로 통합하여 게임의 동작 방식을 런타임 기반으로 제어하는 스크립트를 작성하는 것이 일반적인 게임의 개발 과정이 된다. 이때, 게임을 즐기는 일반 사용자들은 가장 노출이 심한 사용자 인터페이스를 통해 해당 게임의 수준을 판단하게 되므로, 수준 높은 사용자 인터페이스의 개발이 게임의 설계에서 차지하는 비중은 점차 높아지고 있다. Therefore, in order to develop a game, a game engine suitable for a scenario of a game is selected, images and backgrounds for each user interface are set, and a logic part suitable for the scenario of the game is configured. In addition, it is a general game development process to write a script that integrates the logic part organically and controls the operation of the game on a runtime basis. At this time, the general users who enjoy the game to determine the level of the game through the most exposed user interface, the development of high-level user interface in the design of the game is gradually increasing.

예를 들어, 간단한 버튼이나 아이템을 표시할 경우에도 이를 단순히 제공하는 대신 다양한 애니메이션을 부가하여 동적인 효과를 제공하는 방식으로 게임의 사용자 인터페이스에 대한 복잡성은 점차 증가되고 있는 실정이다. 하지만, 이러한 게임에 대한 사용자 인터페이스의 복잡성에도 불구하고, 빠른 게임의 개발과 잦은 변경에 의해 부분적으로 개발된 게임의 기능부들에 대한 설정과 정의 및 게임에의 적용은 실시간 해석에 의존하는 스크립트 방식을 이용하고 있어 복잡한 사용자 인터페이스의 적용에는 많은 어려움이 존재하게 된다. For example, even when a simple button or item is displayed, the complexity of the user interface of the game is gradually increased by adding various animations to provide dynamic effects instead of simply providing them. However, despite the complexity of the user interface for these games, the settings, definitions, and application of the game's functional parts, which are partially developed by rapid game development and frequent changes, depend on scripting methods that rely on real-time interpretation. There are many difficulties in the application of complex user interfaces.

즉, 가능한 작은 리소스를 이용하여 사용자 인터페이스를 화려하게 생성 및 적용해야 하며, 이러한 사용자 인터페이스의 설정 내용을 용이하게 재사용할 수 있어야 함과 아울러 이를 스크립트 제어를 통해 가능한 간단한 방식으로 처리할 수 있도록 해야 하는 게임 개발의 제한에 의해서, 현재 일반적으로 알려진 각종 애니메이션 저작 도구(예를 들어 동적 GIF 저작도구, 화면 시나리오 저작 도구 등)나, 인터페이스 개발 도구(예를 들어 플래쉬(Flash) 저작 도구, 비주얼 계열 고수준 언어의 위지위그(WYSIWYG) 편집 도구), 혹은 게임 엔진을 활용하기 위한 도구(예를 들어 맵 에디터 등)들은 급변하는 게임 환경에 적합하지 않다. 부연하자면, 게임 엔진에 종속적인 개발 도구들은 게임의 특성에 따라 게임 엔진을 선택해야 하는 게임 개발 상황에 적합하지 않고, 기존의 인터페이스 개발 도구들은 제어를 위한 컨트롤 요소들을 프로그래머가 디자인 수준부터 관리해야하고, 범용적인 용도에 따라 방대한 설정 정보들을 가지는 기 설정된 컨트롤 요소를 이용해야 하기 때문에 게임에 적합하지 않다. 또한, 애니메이션 저작도구 역시 동일 대상에 대해 복수의 애니메이션이 요구되며 그에 대한 리소스를 최소화해야 하는 게임의 상황에는 적합하지 않다. 그 외에 사용자 인터페이스 부분과 게임 로직 부분의 고속 통신이 필요한 환경에서 단순한 스크립트만으로 모든 처리를 수행하기 어려워 사용자 인터페이스의 개발의 전반에 걸쳐 프로그래머가 단일 게임에 적합한 사용자 인터페이스를 설계해야 한다. In other words, the user interface should be created and applied colorfully using as little resources as possible, and the setting contents of the user interface should be easily reused, and the script control should be handled in the simplest possible way. Due to the limitations of game development, various animation authoring tools (e.g., dynamic GIF authoring tools, screen scenario authoring tools, etc.) commonly known today, or interface development tools (e.g., Flash authoring tools, visual high-level languages) WYSIWYG editing tools), or tools for utilizing game engines (e.g. map editors) are not suitable for rapidly changing game environments. In other words, game engine-dependent development tools are not suitable for the game development situation in which the game engine needs to be selected according to the characteristics of the game. Existing interface development tools require the programmer to manage the control elements for control from the design level. However, it is not suitable for games because it requires the use of a preset control element with a large amount of configuration information for general use. In addition, the animation authoring tool is also not suitable for a game situation where a plurality of animations are required for the same object and resources for the same are minimized. In addition, in environments that require high-speed communication between the user interface part and the game logic part, it is difficult to perform all processing with simple scripts, and the programmer has to design a user interface suitable for a single game throughout the development of the user interface.

따라서, 게임 개발시 사용자 인터페이스를 전용으로 설계하기 위한 시간과 노력이 필요하고, 게임 개발시 이전에 개발된 게임의 사용자 인터페이스를 활용하기 어려워 중복된 개발 시간과 비용이 낭비되는 상황이 발생하게 된다. 특히, 온라 인 게임은 빈번한 게임 설정과 시나리오 변경이 발생하고, 개발 시간이 짧기 때문에 최소한의 노력으로 수준 높은 사용자 인터페이스를 개발해야할 필요성이 절실하다.Therefore, when developing a game, it takes time and effort to design a user interface exclusively, and it is difficult to utilize a user interface of a previously developed game during game development, resulting in a situation in which redundant development time and cost are wasted. In particular, online games require frequent game settings, scenario changes, and short development times. Therefore, there is an urgent need to develop a high quality user interface with minimal effort.

상기와 같이 온라인 게임의 사용자 인터페이스 개발을 위한 노력을 줄이면서도 높은 품질의 사용자 인터페이스를 제공하기 위해 새롭게 제안하는 본 발명 실시예들의 목적은 게임 엔진에 대한 독립성을 유지하고, 사용자 인터페이스의 구성 요소들을 용이하게 구성하고 재사용할 수 있도록 하며, 스크립트만으로도 복잡한 사용자 인터페이스 환경 및 다양한 효과를 고속으로 구현할 수 있도록 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법을 제공하는 것이다.As described above, an object of the embodiments of the present invention, which is newly proposed to provide a high quality user interface while reducing the effort for developing the user interface of an online game, is to maintain the independence of the game engine and facilitate the components of the user interface. The present invention provides an apparatus and method for providing a user interface for an online game that can be configured and reused, and that a complex user interface environment and various effects can be implemented at high speed using only a script.

본 발명 실시예들의 다른 목적은 온라인 게임의 사용자 인터페이스를 컨트롤요소들이 배치되는 복수의 레이어들로 정의하고, 각 레이어에 컨트롤 요소들을 배치하여 모듈을 설정하며, 각 컨트롤 요소들을 복수의 프레임들로 설정하고, 각 프레임들의 구성 요소들을 개별 처리하도록 함으로써, 계층적이고 체계적으로 사용자 인터페이스를 구성 및 관리할 수 있도록 한 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법을 제공하는 것이다.Another object of the embodiments of the present invention is to define a user interface of an online game as a plurality of layers in which control elements are arranged, to set a module by placing control elements in each layer, and to set each control element as a plurality of frames. The present invention provides an apparatus and method for providing a user interface for an online game that can be configured and managed by hierarchically and systematically by individually processing the components of the frames.

본 발명 실시예들의 또 다른 목적은 개발자가 용이하게 프로토타입의 컨트롤을 생성하고 이를 재사용하거나 런타임으로 생성하여 사용할 수 있도록 함과 아울러, 다양한 스트립트 파일들 간의 설정을 자유롭게 활용할 수 있도록 하여 컨트롤 생성 및 사용을 단순화 한 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법을 제공하는 것이다.Another object of the embodiments of the present invention is to enable a developer to easily create a prototype control, reuse it, or generate and use it at runtime, and to freely utilize settings between various script files to create and use a control. To provide an apparatus and method for providing a user interface for an online game, which is simplified.

본 발명 실시예들의 또 다른 목적은 사용자 인터페이스를 구성하는 레이어 단위 컨트롤 요소의 설정을 텍스트 형태의 모듈로 구성하고 그 동작 방식을 범용 스크립트로 구성하며, 이러한 설정을 통해 동작하는 사용자 인터페이스 엔진이 스크립트 바인딩에 의해 게임 클라이언트와 고속으로 통신할 수 있도록 함으로써, 게임 클라이언트의 게임 로직과 사용자 인터페이스의 연동 성능을 극대화하도록 한 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법을 제공하는 것이다.Another object of the embodiments of the present invention is to configure the setting of the layer-based control element constituting the user interface in the form of a text module and the operation method is composed of a general-purpose script, the user interface engine operating through such a setting script binding It is to provide a user interface providing apparatus and method for an online game to maximize the interworking performance of the game logic and the user interface of the game client by enabling high-speed communication with the game client.

본 발명 실시예들의 또 다른 목적은 온라인 게임에서 활용도가 높은 컨트롤 요소의 형태 변화 및 애니메이션을 라이브러리로 작성하여 사용자 인터페이스의 작성과 변경이 용이하도록 한 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법을 제공하는 것이다.Another object of the embodiments of the present invention is to provide a user interface providing apparatus and method for providing an online game that makes it easy to create and change a user interface by creating a shape change and animation of a control element that is highly utilized in an online game as a library. It is.

본 발명 실시예들의 또 다른 목적은 온라인 게임의 인터페이스를 정의하는 모듈 및 스크립트 파일을 생성하고, 더미 클라이언트에서 상기 파일을 동작시키면서 스크립트 명령을 수작업으로 제공할 수 있도록 한 콘솔을 통해 상기 사용자 인터페이스의 동작을 검증하도록 함으로써, 각종 이벤트와 스크립트 실행 내용을 즉시 확인하여 오류 내용을 수정할 수 있도록 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법을 제공하는 것이다.Another object of the embodiments of the present invention is to generate a module and script file defining an interface of an online game, and to operate the user interface via a console which allows the dummy client to manually provide script commands while operating the file. The present invention provides an apparatus and method for providing a user interface for an online game that can immediately check various events and execution contents of scripts and correct errors.

상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 온라인 게임을 위한 사용자 인터페이스 제공 장치는 게임 엔진과, 범용 형식을 통해 사용자 인터페이스 관련 처리를 상기 게임 엔진에 요청하기 위한 커스텀 인터페이스와, 상기 게임 엔진의 이용을 포함하는 게임 진행 관련 처리를 수행하는 게임 로직부를 포함하는 게임 클라이언트와; 시각적인 사용자 인터페이스 정보와 상기 시각적인 사용자 인터페이스를 구성하는 레이어 및 컨트롤 요소의 동작 방식을 정의하는 정보를 구비한 사용자 인터페이스 스크립트부와; 상기 사용자 인터페이스 스크립트부의 정보를 해석하여 상기 정의된 사용자 인터페이스의 구성 요소들에 대한 동작을 상기 게임 클라이언트의 커스텀 인터페이스에 범용 형식으로 제공하며, 필요한 정보를 상기 게임 클라이언트의 게임 로직부와 주고 받는 사용자 인터페이스 엔진을 포함하여 이루어진다.In order to achieve the above object, an apparatus for providing a user interface for an online game according to an embodiment of the present invention includes a game engine, a custom interface for requesting the game engine for user interface related processing through a general-purpose format, A game client including a game logic unit that performs game progress related processing including use of the game engine; A user interface script unit having visual user interface information and information defining an operation manner of layers and control elements constituting the visual user interface; The user interface interprets the information of the user interface script unit to provide the operations of the components of the user interface defined in the general format to the custom interface of the game client, and the user interface for sending and receiving the necessary information with the game logic unit of the game client Including the engine.

또한, 본 발명의 다른 실시예에 따른 온라인 게임을 위한 사용자 인터페이스 제공 장치는 컨트롤 요소를 이루는 그림 조각을 배치하도록 하고, 그에 대한 속성을 설정하도록 하여 해당 컨트롤 요소를 프로토타입으로 등록받는 프로토타입 등록 수단과; 상기 프로토타입으로 등록된 컨트롤 요소를 레이어에 배치하고 그 속성을 설정하는 인터페이스를 제공하고 그에 따라 시각적 사용자 인터페이스 배치 정보를 스크립트 형식에 따른 모듈로 생성하는 모듈 정의부와; 상기 모듈에 정의된 레이어 및 컨트롤 요소를 제어하는 스크립트를 입력받는 스크립트 입력부를 포함하여 이루어진다.In addition, the apparatus for providing a user interface for an online game according to another exemplary embodiment of the present invention arranges a picture constituting a control element, sets a property thereof, and registers a prototype for registering the control element as a prototype. and; A module definition unit which provides an interface for arranging the control elements registered as the prototypes in a layer and setting properties thereof and accordingly generates visual user interface layout information as a module according to a script form; It includes a script input unit for receiving a script for controlling the layers and control elements defined in the module.

또한, 본 발명 또 다른 실시예에 따른 온라인 게임을 위한 사용자 인터페이 스 제공 방법은 이미지 리소스를 컨트롤 요소를 구성하는 조각 및 컨트롤 요소를 이루는 프레임에 맞추어 생성하는 단계와; 사용자 인터페이스 저작부가 제공하는 인터페이스를 통해 배치 및 속성을 정의한 컨트롤 요소의 정보를 스크립트 코드로 변환하여 프로토타입을 생성하는 단계와; 상기 생성된 프로토타입을 상기 사용자 인터페이스 저작부가 제공하는 인터페이스를 통해 레이어에 계증 배치하면 상기 정보를 근거로 사용자 인터페이스 모듈 정보를 스크립트 코드 형식으로 생성하는 단계와; 상기 생성된 스크립트 코드 형식에 연동되어 상기 컨트롤 요소를 사용자 인터페이스 엔진이 제공하는 기능을 이용하여 동작시키는 방식을 입력하는 스크립트 입력 수단을 제공하는 단계와; 상기 스크립트 입력 수단을 통해 입력된 정보와 상기 사용자 인터페이스 모듈 정보를 스크립트 형식의 파일로 생성하여 저장하는 단계를 포함하여 이루어진다.In addition, the method for providing a user interface for an online game according to another embodiment of the present invention comprises the steps of generating an image resource in accordance with the frame constituting the fragment and the control element constituting the control element; Generating a prototype by converting information of a control element defining a layout and an attribute into a script code through an interface provided by a user interface authoring unit; Generating the user interface module information in the form of a script code based on the information when the generated prototype is incrementally disposed on a layer through an interface provided by the user interface authoring unit; Providing a script input means linked to the generated script code format to input a manner of operating the control element using a function provided by a user interface engine; And generating and storing the information input through the script input means and the user interface module information in a file in a script format.

또한, 본 발명 또 다른 실시예에 따른 온라인 게임을 위한 사용자 인터페이스 제공 방법은 사용자 인터페이스 엔진이 프로토타입 형태의 컨트롤 요소와 레이어의 계층적 배치관계가 정의된 스크립트 코드와 상기 컨트롤 요소의 동작 방식을 정의한 스크립트 코드를 해석하는 해석 단계와; 사용자 인터페이스 엔진이 상기 해석된 스크립트 코드의 사용자 인터페이스 표시 정보와 동작 방식 및 게임 클라이언트로부터 수신한 정보를 근거로 기 구성된 라이브러리에 따라 상기 컨트롤 요소의 표시 및 동작 정보를 게임 클라이언트에 제공하는 처리 단계와; 상기 게임 클라이언트는 상기 수신된 컨트롤 요소의 표시 및 동작 정보를 게임 엔진에 제공하여 게임 상에 반영시키고, 게임 로직에 연동되는 정보인 경우 그에 대한 처리 내용을 상 기 인터페이스 엔진에 제공하는 수행 단계를 포함한다.In addition, according to another embodiment of the present invention, a method for providing a user interface for an online game includes: a user interface engine defining a script code in which a hierarchical arrangement relationship between a control element in a prototype form and a layer is defined and an operation method of the control element; An interpreting step of interpreting the script code; A processing step of providing, by the user interface engine, the game client with the display and the operation information of the control element according to a preconfigured library based on the user interface display information and the operation method of the interpreted script code and the information received from the game client; The game client includes the step of providing the game engine with the display and operation information of the received control element reflected on the game, and if the information is linked to the game logic, providing the processing content to the interface engine. do.

또한, 본 발명 또 다른 실시예에 따른 온라인 게임을 위한 사용자 인터페이스 제공 방법은 사용자 인터페이스 엔진이 프로토타입 형태의 컨트롤 요소와 레이어의 계층적 배치관계가 정의된 스크립트 코드와 상기 컨트롤 요소의 동작 방식을 정의한 스크립트 코드를 해석하는 해석 단계와; 상기 사용자 인터페이스 엔진이 상기 해석된 스크립트 코드의 사용자 인터페이스 표시 정보와 동작 방식 및 더미 게임 클라이언트와 스크립트 콘솔로부터 수신한 정보를 근거로 기 구성된 라이브러리에 따라 상기 컨트롤 요소의 표시 및 동작 정보를 상기 스크립트 코드의 검증을 위한 더미 게임 클라이언트에 제공하는 테스트 처리 단계와; 상기 더미 게임 클라이언트는 상기 수신된 컨트롤 요소의 표시 및 동작 정보를 게임 엔진에 제공하여 게임 상에 반영시키고, 게임 로직에 연동되는 정보인 경우 그에 대한 처리 내용을 상기 인터페이스 엔진에 제공하는 테스트 수행 단계를 포함한다.In addition, according to another embodiment of the present invention, a method for providing a user interface for an online game includes: a user interface engine defining a script code in which a hierarchical arrangement relationship between a control element in a prototype form and a layer is defined and an operation method of the control element; An interpreting step of interpreting the script code; The user interface engine displays the display and operation information of the control element in accordance with a preconfigured library based on the user interface display information and operation method of the interpreted script code and information received from the dummy game client and the script console. A test processing step of providing the dummy game client for verification; The dummy game client performs a test performing step of providing the game engine with the display and operation information of the received control element and reflecting it on the game, and providing the interface engine with the processing contents thereof when the information is linked to game logic. Include.

상기한 바와 같은 본 발명을 첨부된 도면들과 실시예를 통해 상세히 설명하도록 한다. The present invention as described above will be described in detail with reference to the accompanying drawings and embodiments.

도 2는 본 발명 일 실시예의 구성을 보인 것으로, 도시한 바와 같이 실질적으로 온라인 게임의 클라이언트측 동작을 담당하는 게임 클라이언트(100) 및 사용자 인터페이스(이하, UI라 칭함) 엔진(110)과, 상기 UI 엔진(110)을 이용한 UI의 구성 및 동작 방식을 정의한 스크립트 파일(125) 및 상기 스크립트 파일(125)을 저작하는 전용 UI 저작부(120)로 구성된다. 상기 구성은 본 발명 일 실시예에 따른 바람직한 구성을 모두 보인 것이며, 상기 각각의 구성이나, UI 엔진(110)과 게임 클라이언트(100)의 조합, 또는 상기 스크립트 파일(125)과 UI 저작부(120)의 조합과 같은 다양한 부분적 조합 만으로도 효과적인 온라인 게임 개발과 작성된 기존 코드의 활용과 같은 효과를 얻을 수 있다.2 illustrates a configuration of an embodiment of the present invention. As shown in FIG. 2, a game client 100 and a user interface (hereinafter referred to as UI) engine 110 which is substantially responsible for the client-side operation of an online game, and It consists of a script file 125 that defines the configuration and operation of the UI using the UI engine 110 and a dedicated UI authoring unit 120 for authoring the script file 125. The configuration shows all of the preferred configuration according to an embodiment of the present invention, the respective configuration, the combination of the UI engine 110 and the game client 100, or the script file 125 and the UI authoring unit 120 Various partial combinations, such as), can be used to create effective online games and leverage existing code.

일반적으로, 온라인 게임을 개발하기 위해서는 다양한 목적으로 개발된 특정한 게임 엔진을 선택한 후 해당 게임 엔진에 맞추어 게임 로직을 개발하며, 상기 게임 로직 및 상기 게임 엔진의 특성에 맞춘 사용자 인터페이스를 개발하게 된다. 예를 들어, 널리 알려진 게임 엔진들(GameBryo, Renderware 등)은 주로 3차원 랜더링 기능에 특화된 엔진들로서, 해당 기능들을 효과적으로 구현할 수 있는 라이브러리와 인터페이스를 제공한다. 따라서 게임의 목적에 적합한 특정 게임 엔진을 선택한 후 해당 게임 엔진에 종속적인 형태로 게임 로직과 사용자 인터페이스를 작성하게 된다. 이때, 게임 로직과 사용자 인터페이스에 대한 기본 골격은 컴파일이 필요한 언어로 작성되며, 이를 활용하는 상위의 어플리케이션 계층으로 스크립트 언어가 사용된다. 온라인 게임 제작의 경우 일반적으로 공개용 스크립트인 루아(LUA) 스크립트를 사용하며, 그 이외의 범용 스크립트를 이용하기도 한다.In general, in order to develop an online game, a specific game engine developed for various purposes is selected, and game logic is developed according to the game engine, and a game interface and a user interface adapted to the characteristics of the game engine are developed. For example, well-known game engines (GameBryo, Renderware, etc.) are mainly engines specialized for 3D rendering functions, and provide libraries and interfaces for effectively implementing the functions. Therefore, after selecting a specific game engine suitable for the purpose of the game, game logic and user interface are written in a form dependent on the game engine. At this time, the basic skeleton of the game logic and the user interface is written in a language that requires compilation, and a script language is used as a higher application layer utilizing the same. In the case of online game production, the general public scripts are Lua scripts. Other general scripts are also used.

하지만, 이러한 경우 상기 게임 엔진에 종속적인 게임 클라이언트와 사용자 인터페이스를 매번 개발자가 직접 작성해야 하기 때문에 사용자 인터페이스의 개발에 소요되는 시간과 비용의 낭비가 반복되게 된다. 따라서, 도시된 바와 같이 사용자 인터페이스를 전용으로 관리하는 UI 엔진(110)을 구성하고, 상기 UI 엔진(110)과 연동 될 수 있도록 게임 클라이언트(100)를 구성하며, 상기 UI 엔진(100)을 활용하기에 적합한 포멧을 가지는 범용 스크립트 형식의 스크립트 파일(125)을 이용 하도록 한다. 그리고, 상기 스크립트 파일(125)을 상기 UI 엔진(110)을 최적으로 활용할 수 있도록 용이하게 작성하는데 도움이 되는 UI 저작부(120)를 구성한다. However, in this case, since a developer must write a game client and a user interface that is dependent on the game engine, each time, a waste of time and cost required for the development of the user interface is repeated. Therefore, as shown in the figure, a UI engine 110 for exclusively managing a user interface is configured, a game client 100 is configured to be linked with the UI engine 110, and the UI engine 100 is utilized. A script file 125 of a general-purpose script format having a format suitable for the following will be used. In addition, the script file 125 configures the UI authoring unit 120 which helps to easily prepare the UI engine 110 so as to optimally utilize the UI file 110.

도시된 본 발명 일 실시예의 구성에서, UI의 관리 단위는 겹쳐서 표시할 수 있는 레이어와, 상기 레이어에 단독 혹은 중복하여 배치될 수 있는 컨트롤 요소이며, 상기 컨트롤 요소는 복수의 프레임으로 구성될 수 있도록 하여 레이어/컨트롤 요소/프레임의 계층적 구성을 가지도록 한다. In the configuration of the embodiment of the present invention shown, the management unit of the UI is a layer that can be displayed overlapping, and a control element that can be arranged alone or overlapping the layer, so that the control element can be composed of a plurality of frames To have a hierarchical structure of layers / control elements / frames.

따라서, 상기 UI 엔진(110)은 상기 레이어와 컨트롤 요소의 구성을 관리하여 특정한 효과를 제공하는 다양한 라이브러리들을 구비할 수 있으며, 게임 클라이언트(100)가 사용하는 게임 엔진부(101)에 독립적으로 UI 관리 방식을 보편화 하는 기능을 구비한다. 간략하게 상기 UI 엔진(110)의 구성을 살펴보면 크게 스크립트 파일(125)을 해석하여 그에 따른 제어를 실시하는 UI 엔진부(111)와, 상기 UI 엔진부(111)의 제어 동작에 필요한 연산이나 일련의 동작 방식을 제공하는 라이브러리부(113)와, 상기 UI 엔진부(111)가 게임 클라이언트(100)의 게임 엔진부(101)에 무관하게 UI 표현에 관한 정보를 제공하도록 하는 인터페이스부(112)로 이루어진다. Therefore, the UI engine 110 may include various libraries that provide specific effects by managing the configuration of the layer and the control element, and independently of the game engine unit 101 used by the game client 100. It has a function to make management system universal. Referring to the configuration of the UI engine 110 briefly, the UI engine unit 111 which greatly analyzes the script file 125 and performs the control according to the above, and an operation or a series necessary for the control operation of the UI engine unit 111. The library unit 113 for providing an operation method of the interface unit 112 and the UI engine unit 111 for providing information on the UI expression irrespective of the game engine unit 101 of the game client 100. Is made of.

상기 구성을 보면, 상기 UI 엔진부(111)는 레이어와 컨트롤 요소들에 대한 정의를 포함하는 스크립트와 상기 컨트롤 요소들의 표시와 동작 방식을 결정하는 스크립트들로 이루어지는 스크립트 파일(125)을 해석하여 원하는 동작 방식을 라이브러리부(113)를 통해 구현하여 그 구현 정보를 범용적인 형식으로 변환하는 인터페이스부(112)를 통해 게임 클라이언트(100)에 제공하고, 상기 스크립트 파일(125)의 스크립트와 직접 연동되는 정보는 직접 게임 클라이언트(100)와 주고 받는 기능 을 수행한다. In the above configuration, the UI engine 111 interprets a script file 125 including a script including definitions of layers and control elements and scripts for determining display and operation methods of the control elements. The operation method is implemented through the library unit 113 and provided to the game client 100 through the interface unit 112 for converting the implementation information into a general-purpose format, and directly linked with the script of the script file 125. The information performs a function of directly exchanging with the game client 100.

상기 게임 클라이언트(100)는 내부적으로 그래픽 표현에 특화되거나 복잡한 연산에 특화된 게임 엔진부(101)를 포함하며, 상기 게임 엔진부를 이용하여 게임을 구현하기 위한 게임 로직(103)과 상기 UI 엔진부(111)와 정보를 주고 받기 위한 바인딩 인터페이스부(미도시) 및 상기 UI 엔진(110)의 인터페이스부(112)가 제공하는 범용 구현 정보를 상기 게임 엔진부(101)에 맞추어 변환하도록 하여 상기 UI 엔진(110)의 독립성을 유지할 수 있도록 하는 게임 엔진 인터페이스부(102) 등을 구비할 수 있다. 그 외에도 필요한 경우 스크립트를 생성하여 상기 UI 엔진부에 제공하는 수단도 구성할 수 있으며, 상기 구성들 중 임의의 구성을 생략할 수도 있다.The game client 100 includes a game engine unit 101 internally specialized in graphic representation or specialized in complex computation, and includes a game logic 103 and a UI engine unit for implementing a game using the game engine unit. 111 to convert the universal implementation information provided by the binding interface unit (not shown) and the interface unit 112 of the UI engine 110 to exchange information with the game engine unit 101 to the UI engine The game engine interface 102 may be provided to maintain the independence of the 110. In addition, a means for generating a script and providing it to the UI engine unit may be configured if necessary, and any of the above components may be omitted.

즉, 상기 UI 엔진(110)은 상기 게임 클라이언트(100)의 게임 엔진부(101)에 요청하는 구현 정보를 내부의 인터페이스부(112)를 통해 범용적인 형식으로 변환하여 제공하게 되고, 상기 게임 클라이언트(100)는 상기 범용적인 형식의 구현 정보를 상기 특정한 게임 엔진부(101)에 적합한 정보 형태로 변환시키는 게임 엔진 인퍼페이스부(102)를 통해 상기 게임 엔진부(101)에 제공하는 것으로 상기 요청되는 시각적 표현을 처리하기 때문에 상기 UI 엔진(110)의 독립성을 유지할 수 있게 된다. 따라서, 상기 게임 엔진(110)을 이용하도록 작성된 UI는 다른 종류의 게임 엔진부를 이용하더라도 큰 변화없이 그대로 활용할 수 있게 된다. 또한, 상기 게임 클라이언트(100)에 구성되는 상기 게임 엔진 인터페이스부(102)는 게임 엔진의 종류에 따라 각각 작성되는 커스텀 인터페이스로서, 이를 범용적으로 활용할 수 있으므로 그에 대한 개발 부담도 크지 않다. 상기 커스텀 인터페이스는 내부적으로 UI 랜더러(Renderer) 부분과 UI 팩토리(Factory) 부분으로 이루어질 수 있다.That is, the UI engine 110 converts the implementation information requested from the game engine unit 101 of the game client 100 into a universal format through the internal interface unit 112, and provides the game client. The request is provided to the game engine unit 101 through the game engine interface unit 102 that converts the general-purpose form of implementation information into a form of information suitable for the specific game engine unit 101. Since the visual representation is processed, the independence of the UI engine 110 can be maintained. Therefore, the UI written to use the game engine 110 can be utilized as it is without significant change even if other types of game engine units are used. In addition, the game engine interface unit 102 configured in the game client 100 is a custom interface that is created according to the type of game engine, respectively. The custom interface may be internally composed of a UI renderer part and a UI factory part.

상기 스크립트 파일(125)의 구성 및 UI 저작부(120)에 관해서는 이후 보다 상세히 설명하도록 한다. The configuration of the script file 125 and the UI authoring unit 120 will be described in more detail later.

도 3 내지 도 5는 사용자 인터페이스의 계층적 구성과, 상기 사용자 인터페이스를 구성하는 컨트롤 요소의 구성를 보인 것으로, 도 3은 도시한 바와 같이 복수의 겹칠 수 있는 레이어들(130)과, 상기 레이어들(130)에 배치될 수 있는 복수의 컨트롤 요소들(131, 132, 133, 140, 141, 142)의 예를 보인 것이다. 도시한 바와 같이 하나의 레이어(130)에는 복수의 컨트롤 요소들(131, 132, 133)이 각각 배치되거나 도시한 바와 같이 컨트롤 요소들(140, 141, 142)이 계층적으로 중복 배치될 수 있다. 3 to 5 illustrate a hierarchical structure of a user interface, a configuration of a control element constituting the user interface, and FIG. 3 illustrates a plurality of overlapping layers 130 and the layers ( An example of a plurality of control elements 131, 132, 133, 140, 141, 142 that can be disposed in 130 is shown. As illustrated, a plurality of control elements 131, 132, and 133 may be disposed in one layer 130, or control elements 140, 141, and 142 may be hierarchically overlapped as illustrated. .

그리고, 도 4에 도시한 바와 같이 하나의 컨트롤 요소(142)는 복수의 그림과 문자가 포함된 프레임들(142-1, 142-2, 142-3)로 이루어질 수 있으며, 도 5에 도시한 바와 같이 하나의 프레임(150)은 복수의 그림 조각들(153)과 문자 영역(155)으로 이루어질 수 있다. As illustrated in FIG. 4, one control element 142 may include frames 142-1, 142-2, and 142-3 that include a plurality of pictures and characters. As described above, one frame 150 may include a plurality of picture pieces 153 and a text area 155.

특히, 온라인 게임의 경우 최소한의 리소스를 이용하여 최대한 미려한 그래픽을 제공해야 하기 때문에 비트맵으로 이루어지는 컨트롤 요소의 프레임을 제공할 경우 그 확대/축소 등을 고려하여 크기를 변경해도 되는 부분과 크기를 변경하면 안되는 부분 등으로 구분하여 도시된 바와 같은 조각 그림들로 해당 프레임을 구성하는 것이 바람직하다. 이 경우, 상기 UI 엔진은 이러한 각 조각 그림들의 확대/축소 등을 실시할 경우 상기 사항을 고려한 처리를 자동적으로 실시하도록 하는 기능 을 구비해야한다. 또한, 상기 UI 엔진은 특정한 형태(예를 들어 다각형 등)의 컨트롤 요소의 경우에는 단일 그림을 이용하여 이러한 분할 처리를 자동적으로 실시하도록 할 수도 있다.In particular, in the case of online games, it is necessary to provide the most beautiful graphics with the least resources. When providing a frame of a control element consisting of a bitmap, the part and size that can be changed in consideration of the enlargement / reduction etc. It is preferable to configure the frame with the pieces shown as divided into parts that should not be. In this case, the UI engine should be provided with a function to automatically perform the processing in consideration of the above matters when performing the enlargement / reduction of each of these pieces. In addition, the UI engine may automatically perform this division process using a single picture in the case of a control element of a particular type (for example, polygon).

도 6은 온라인 게임의 사용자 인터페이스 구현에 있어, 필요한 라이브러리의 예제를 보인 것으로, 도시한 바와 같이 특정한 카드들을 중첩하여 다양한 각도로 제공(160)하고, 임의의 카드(165)를 원하는 각도로 회전하면서 포함된 텍스트 상자(166) 역시 회전된 각도에서 입력을 받아들이도록 하며, 소정의 컨트롤 요소의 프레임을 임의의 방식으로 이동하고 크기 및 방향을 조절하면서 순차 제공(도시된 경우에는 프레임의 전개만 나타냄)하도록 하는 등의 효과가 필요하다. 또한, 특정한 애니메이션 효과의 경우, 컨트롤 요소의 프레임 순서, 표시 위치, 표시 크기, 회전 각도 등을 원하는 효과에 맞추어 순차 설정해 두고 이를 라이브러리화 하는 것으로 최소한의 리소스로도 다양한 애니메이션 효과를 제공할 수 있게 된다.6 illustrates an example of a library required for implementing an online game user interface, as shown, by superimposing certain cards at various angles (160) and rotating any card (165) at a desired angle. The included text box 166 also accepts input at a rotated angle, providing a sequential movement of the frame of a given control element in any manner, adjusting its size and orientation (shown only the development of the frame, if shown). Effect is required. In addition, in the case of a specific animation effect, the frame order, display position, display size, rotation angle, etc. of the control elements are sequentially set according to a desired effect, and the library is made to provide various animation effects with minimum resources. .

즉, 온라인 게임의 사용자 인터페이스 구현에 필요한 각종 효과들을 라이브러리로 정리해 두고 다양한 게임 개발에 용이하게 활용할 수 있다. 특히, 이러한 라이브러리들은 비트맵 그림을 많이 사용하는 온라인 게임의 특성을 반영하도록 구성할 경우 최소한의 리소스 만으로도 뛰어난 시각적 효과를 제공할 수 있다. In other words, various effects required to implement the user interface of the online game can be organized into a library, which can be easily utilized for various game development. In particular, if these libraries are configured to reflect the characteristics of online games that use a lot of bitmap pictures, they can provide excellent visual effects with minimal resources.

도 7은 UI 저작부의 구성을 보인 것으로, UI 엔진을 최적으로 활용할 수 있는 스크립트 파일을 생성하기 위한 것이다. 상기 UI 저작부는 크게 UI 구성 요소들을 편집하고 그 동작 방식을 설정하는 스크립트를 입력 받아 스크립트 파일(210)을 생성하는 UI 디자인부(200)와, 상기 생성된 스크립트 파일(210)을 가상적인 게임 클라이언트인 더미 클라이언트(221)와 UI 엔진(223) 및 수동 조작을 위한 스크립트 콘솔부(222)를 포함하는 테스트부(220)로 이루어진다. 상기 테스트부(220)는 필수적이지는 않지만 오류를 용이하게 확인 및 수정할 수 있기 때문에 구성되는 것이 바람직하다.7 shows the configuration of the UI authoring unit, and is for generating a script file that can optimally utilize the UI engine. The UI authoring unit largely edits UI components and generates a script file 210 by receiving a script for setting an operation method thereof, and the generated script file 210 as a virtual game client. The test dummy 220 includes an in-dummy client 221, a UI engine 223, and a script console 222 for manual operation. Although the test unit 220 is not essential, it is preferable that the test unit 220 is configured because the error can be easily identified and corrected.

상기 UI 디자인부(200)의 구성을 보면, UI 설계자가 디자인한 복수 프레임의 조각 그림들을 이용하여 복수 프레임의 컨트롤 요소를 구성하고 그 설정 내용을 결정하는 것으로 언제 어디서나 활용될 수 있는 컨트롤 요소의 프로토타입을 스크립트 코드로 생성하는 부분과, 이러한 프로토타입의 컨트롤 요소를 레이어에 배치하면 이를 모듈 스크립트 코드로 생성하는 부분과, 상기 레이어에 배치된 컨트롤 요소의 동작 방식을 스크립트 형식으로 입력받는 스크립트 입력 부분 및 이러한 입력되거나 생성된 스크립트를 파일로 저장하거나 읽어들이는 파일 관리 부분으로 이루어질 수 있다.Looking at the configuration of the UI design unit 200, a control element that can be used anytime and anywhere by configuring the control elements of the plurality of frames using the plurality of pieces of the picture designed by the UI designer and determine the setting contents The part that creates the type in script code, the part that generates the control element of such prototype in the module script code, and the script input part that inputs the operation method of the control element in the layer in the form of script. And a file management part that stores or reads the input or generated script as a file.

이를 도시된 구성을 통해 살펴보면, 상기 UI 디자인부(200)는 우선 컨트롤 요소를 이루는 조각 그림들의 배치에 관한 인터페이스를 제공하는 컨트롤 요소 편집부(201)와, 상기 컨트롤 요소 편집부(201)를 통해 편집되는 컨트롤 요소에 대한 속성을 편집하는 컨트롤 요소 속성 편집부(203)와, 상기 컨트롤 요소에 대한 계층을 관리하는 컨트롤 요소 계층 표시부(204)와, 상기 컨트롤 요소를 레이어에 상기 컨트롤 요소 계층 표시부(204)의 정보에 맞추어 배치하는 인터페이스를 제공하는 레이어 배치부(202) 및 스크립트 파일을 생성하거나 읽어들이고 상기 인터페이스를 관리하는 파일 관리부 및 인터페이스부(205)와, 상기 컨트롤 요소의 표시 및 동작 방식에 대한 설계자의 스크립트 입력을 받아들이는 스크립트 편집부(206)를 포함하여 이루어진다. 이때, 상기 UI 디자인부는 기본적인 컨트롤 요소들에 대한 프로토타입을 구비하는 것이 바람직하며, 설계자가 설정한 프로토타입이나 프로토타입을 이용하여 생성된 컨트롤 요소를 별다른 설정 없이 그대로 활용(설계 단계 및 런타임 단계)할 수 있도록 하는 것이 바람직하다. 상기 파일 관리 및 인터페이스부(205)는 상기 컨트롤 요소 편집부(201)와 레이어 배치부(202)의 사용자 인터페이스를 제공하여 설계자의 시각적 요소 배치를 용이하도록 하며, 상기 컨트롤 요소 편집부(201)는 상기 컨트롤 요소 속성 편집부(203)의 설정 내용을 참조하여 컨트롤 요소에 대한 설정 내용을 스크립트 파일로 생성하고 필요한 경우 기 생성된 스크립트 파일을 불러들인다. 이때, 상기 컨트롤 요소 속성 편집부(203)는 제공되는 속성을 설정하는 기능 뿐만 아니라 속성 자체의 생성과 삭제를 지원하여 상기 컨트롤 요소 편집부(201)가 특정 컨트롤 요소의 프로토타입을 생성하거나 기존 프로토타입을 변형시켜 새로운 컨트롤 요소를 생성할 수 있도록 한다. 이러한 프로토타입은 별도의 스크립트 파일 포멧으로 저장되어 관리될 수 있으며, 임의의 스크립트 파일(210)에 추가되거나 해당 파일에서 호출될 수 있다. 즉, 스크립트 파일(210) 중 임의의 파일에 정의된 컨트롤요소는 다른 어떤 파일에서도 용이하게 연동되어 사용될 수 있다.Looking at this through the configuration shown, the UI design unit 200 is first edited through the control element editing unit 201 and the control element editing unit 201 that provides an interface for the arrangement of the pieces of the picture forming the control element The control element property editing unit 203 for editing the properties for the control element, the control element hierarchy display unit 204 for managing the hierarchy for the control element, and the control element layer in the control element hierarchy display unit 204 A layer arrangement unit 202 providing an interface arranged according to information, a file management unit and an interface unit 205 for generating or reading a script file and managing the interface, and a designer for the display and operation of the control element. And a script editing unit 206 that accepts script input. In this case, it is preferable that the UI design unit includes prototypes for basic control elements, and utilizes control elements generated using prototypes or prototypes set by designers without any setting (design stage and runtime stage). It is desirable to be able to. The file management and interface unit 205 provides a user interface of the control element editing unit 201 and the layer arrangement unit 202 to facilitate the layout of visual elements by a designer, and the control element editing unit 201 controls the control. With reference to the setting contents of the element attribute editing unit 203, the setting contents of the control element is generated as a script file and, if necessary, the pre-generated script file is loaded. In this case, the control element property editing unit 203 supports the creation and deletion of the property itself as well as the function of setting the provided property so that the control element editing unit 201 generates a prototype of a specific control element or changes an existing prototype. You can transform it to create a new control element. These prototypes can be stored and managed in a separate script file format and can be added to or called from any script file 210. That is, the control element defined in any file of the script file 210 can be easily used in conjunction with any other file.

상기 레이어 배치부(202)는 상기 컨트롤 요소 계층 표시부(204)의 정보를 통해 자신에게 배치된 컨트롤 요소들에 대한 모듈 스크립트를 생성한다. The layer arranging unit 202 generates a module script for the control elements arranged therein through the information of the control element hierarchy display unit 204.

상기 스크립트 편집부(206)는 설계자가 상기 레이어 배치부(202)에서 생성되 는 모듈 스크립트를 참조하여 해당 모듈에 대한 초기화/관련 컨트롤 요소들에 대한 이벤트 리스너/게임 클라이언트의 게임 로직과의 연동 관계를 포함하는 스크립트 로직(컨트롤 요소의 동작 방식 설정)을 생성하기 위한 인터페이스를 제공한다. The script editing unit 206 refers to a module script generated by the layer arrangement unit 202 to designate an interworking relationship with the event listener / game client's game logic for initialization / related control elements for the module. Provides an interface for creating script logic, including how control elements behave.

따라서, 상기 스크립트 파일(210)은 크게 시각적 요소인 사용자 인터페이스 모듈 정의 내용과 상기 시각적 요소에 대한 동작 방식과 게임 로직과의 연동 관계를 정의하는 스크립트 내용, 그리고 컨트롤 요소에 대한 프로토타입 설정등이 저장된다. 또한, 이러한 파일들은 복수로 구성될 수 있으며, 그 기술된 코드들을 상호 참조할 수 있다.Therefore, the script file 210 stores the user interface module definition contents, which are largely visual elements, the script contents defining the operation method of the visual elements and the interworking relationship with the game logic, and the prototype settings for the control elements. do. In addition, these files may be configured in plural and may cross-reference the described codes.

상기 완성된 스크립트 파일(210)은 테스트부(220)의 UI 엔진(223)을 통해 해석되고, 상기 해석을 통해 요구되는 각종 동작을 테스트용 더미 클라이언트부(221)와 연동시켜 검증할 수 있으며, 특정한 반응이 필요하거나 임의의 제어 상태를 제공하기 위해서 별도의 스크립트 콘솔(222)이 제공될 수 있다. 그리고, 서버와의 연동을 실험하기 위해서 상기 더미 클라이언트(221)에는 서버 접속을 에뮬레이팅하는 스크립트 코드가 포함되거나, 상기 스크립트 콘솔(222)을 통해 서버와의 연동을 에뮬레이팅하는 스크립트 코드가 제공될 수 있다.The completed script file 210 may be interpreted through the UI engine 223 of the test unit 220, and various operations required through the analysis may be verified by interworking with the test dummy client unit 221. A separate script console 222 may be provided to require a particular response or to provide any control state. And, in order to experiment with the server, the dummy client 221 may include script code for emulating a server connection, or script code for emulating the interworking with the server through the script console 222 may be provided. Can be.

도 8은 도 7의 상기 UI 디자인부에 대한 실제 구성예를 보인 예시도로서, 각각 좌측부터 컨트롤 요소 편집부, 레이어 배치부가 구성되고, 우측에는 상부에 컨트롤 요소 계층 표시부가, 하측에는 컨트롤 요소 속성 편집부가 구성되어 있다. FIG. 8 is an exemplary view showing an actual configuration example of the UI design unit of FIG. 7, wherein a control element editing unit and a layer arrangement unit are respectively configured from the left side, a control element hierarchy display unit at the upper side, and a control element attribute editing unit at the lower side. Is composed.

도 9는 도 7의 테스트부의 동작 화면을 보인 예로서, 도시된 바와 같이 실제 게임의 실행 화면을 표시하고, 필요한 동작은 직접 사용자 인터페이스를 조작하고, 스크립트 콘솔부를 통해 수동으로 제어하여 원하는 반응을 실험하게 된다. FIG. 9 is an example of an operation screen of the test unit of FIG. 7, and displays an execution screen of an actual game as shown in FIG. 7, and a necessary operation is directly operated by a user interface and manually controlled through a script console unit to experiment a desired reaction. Done.

도 10은 LUA 스크립트를 이용할 경우 스크립트 파일의 해석 및 게임 클라이언트와의 연동 방식을 보인 개념도로서, 스크립트 파일의 예로서, 레이어와 컨트롤 요소를 정의한 GUI(그래픽 사용자 인터페이스) 모듈 정의부(300)와, 상기 모듈 정의부(300)에 정의된 요소들에 대한 프로그래머의 설정 내용을 담은 LUA 스크립트부(310) 및, 상기 스크립트부(310)와 직접 연동되는 게임 클라이언트(330)의 관계가 나타나있다.10 is a conceptual diagram illustrating a method of interpreting a script file and interworking with a game client when using an LUA script. As an example of the script file, a GUI (graphical user interface) module defining unit 300 defining layers and control elements, and The relationship between the LUA script unit 310 containing the programmer's setting contents for the elements defined in the module definition unit 300 and the game client 330 directly linked with the script unit 310 is shown.

예를 들어, 상기 모듈 정의부(300)에서 소정 레이어에 계층적으로 배치된 버튼부(301)와 텍스트 상자부(302)와 같은 컨트롤 요소들을 정의하는 경우, 상기 모듈 정의부의 내용은 예를 들어 다음과 같다.For example, when the module defining unit 300 defines control elements such as a button unit 301 and a text box unit 302 arranged hierarchically on a predetermined layer, the contents of the module defining unit may be, for example. As follows.

layerlayer { {

buttonbutton

{ ... }  {...}

textboxtextbox

{ ... }  {...}

}}

상기 모듈 정의부(300)에 정의된 컨트롤 요소들은 LUA 스크립트부(310)에 작성된 스크립트들에 의해 그 동작 방식이 기술 된다. 상기 LUA 스크립트부(310)는 소정의 시각적 요소들에 대한 정의를 하나의 단위로 묶어둔 모듈을 초기화하는 모듈 초기화 스크립트부(311), 상기 컨트롤 요소들에 대해 발생되는 이벤트들 중에서 원하는 이벤트의 발생을 감지하는 이벤트 리스너부(312), 그리고 상기 컨트롤 요소들에 대한 소정의 동작 방식을 정의하고 게임 클라이언트의 게임 로직부와 정보를 주고 받는 UI 로직부(313)를 포함하여 구성된다. Control elements defined in the module definition unit 300 are described by their scripts written in the LUA script unit 310. The LUA script unit 310 is a module initialization script unit 311 for initializing a module in which definitions of predetermined visual elements are bundled into one unit, and generation of a desired event among events generated for the control elements. It includes an event listener unit 312 for detecting the detection, and the UI logic unit 313 defining a predetermined operation method for the control elements and exchanges information with the game logic unit of the game client.

상기 모듈 정의부(300)의 버튼부(301)와 텍스트 상자부(302)에 대해서 간단하게 작성된 LUA 스크립트부(310)의 예는 다음과 같다.An example of the LUA script unit 310 which is simply created for the button unit 301 and the text box unit 302 of the module definition unit 300 is as follows.

functionfunction onClickonClick (( eventevent ) // 이벤트 ) // event 리스너부Listener section 대응 코드 Correspondence code

tbtb =  = guigui :: SelectSelect (‘//('// textboxtextbox ’)’)

messagemessage =  = getMessagegetMessage ()()

tbtb :SetText(: SetText ( messagemessage ))

endend

functionfunction getMessagegetMessage () // () // UIUI 로직부Logic section 대응 코드 Correspondence code

returnreturn gamegame __ getget __ messagemessage ()()

endend

button = gui : Select (‘// button ’) // 모듈 초기화 스크립트부 대응 코드 button = gui : Select ('// button ') // module initialization script part corresponding code

buttonbutton :SetListener(‘: SetListener (’ mousemouse __ clickclick ’, ’, onClickonClick ))

상기 예로 든 LUA 스크립트는 버튼부(301)에 이벤트가 발생할 경우 텍스트 상자부(302)에 'message' 변수에 저장된 문자열을 표시하도록 하는 구성을 가지며, 상기 'message' 변수에 저장되는 문자열은 'game_get_message()" 함수를 통해 게임 로직으로부터 획득하도록 되어 있다.The example LUA script has a configuration to display a string stored in the 'message' variable in the text box unit 302 when an event occurs in the button unit 301, and the string stored in the 'message' variable is 'game_get_message'. To be obtained from the game logic via the () "function.

상기 게임 클라이언트의 일부 구성을 나타낸 게임 클라이언트부(330)는 게임에 관련된 정보를 처리하는 게임 로직부(331)와, 상기 LUA 스크립트부(310)를 해석하여 처리하는 UI 엔진과 게임 로직부(331) 사이의 고속 정보 교환을 인터페이스하는 LUA C 바인딩부(332)를 포함한다. 상기 LUA C 바인딩부(332)는 상기 게임 로직부(331) 내부에 구성되거나 도시된 바와 같이 외부에 별도 구성될 수 있다. The game client unit 330 showing a part of the game client may include a game logic unit 331 for processing information related to a game, a UI engine and a game logic unit 331 for interpreting and processing the LUA script unit 310. LUA C binding unit 332 for interfacing high-speed information exchange between the ()). The LUA C binding unit 332 may be configured inside the game logic unit 331 or may be separately configured outside as shown.

상기 게임 로직부(331)와 상기 스크립트를 바인딩하는 바인딩 인터페이스의 활용을 통해 UI 엔진은 게임 로직부(331)와 많은 정보를 고속으로 주고 받으면서 복잡한 게임 시나리오의 처리가 가능하도록 하며, 이때 필요한 각종 시각적 처리는 범용 형식을 이용하여 게임 엔진에 요청하도록 하여 처리하도록 하므로, 실제 UI 엔진을 활용한 UI는 개발의 편의성과 성능을 모두 만족시킬 수 있다.Through the use of a binding interface that binds the game logic unit 331 and the script, the UI engine can process complex game scenarios while exchanging a lot of information with the game logic unit 331 at high speed. Since the processing is performed by requesting the game engine using a general-purpose format, the UI utilizing the actual UI engine can satisfy both convenience and performance of development.

예를 들어, 상기 게임 로직부(331)가 C 언어로 작성되는 경우일 때, 상기 LUA C 바인딩부(332)는 다음과 같은 코드를 포함할 수 있다. For example, when the game logic unit 331 is written in the C language, the LUA C binding unit 332 may include the following code.

intint gamegame __ getget _message(_message ( lualua __ StateState * * lsls ))

{{

lualua __ pushstringpushstring (( lsls , _T(“, _T (“ hellohello !”));! ”));

returnreturn 1;  One;

}}

따라서, 실질적인 동작을 살펴보면, UI 엔진이 상기 GUI 모듈 정의부(300)와 LUA 스크립트부(310)를 해석하여, 내부적인 UI 엔진 LUA API(응용 프로그램 인터페 이스)(320)를 통해 버튼부(301)에 대한 이벤트 발생시 그 정보를 상기 이벤트 리스너부(312)에 점선과 같은 제어 경로(S1,S2)를 통해 제공하고, 상기 UI 로직부(313)가 상기 게임 로직부(331)로부터 상기 텍스트 상자부(302)에 표시할 정보를 수신한 경우 해당 문자열 정보를 점선으로 도시된 제어 경로(S3, S4)를 통해 시각적으로 표시된 텍스트 상자부(302)에 적용하여 표시하도록 한다.Therefore, when looking at the actual operation, the UI engine interprets the GUI module definition unit 300 and LUA script unit 310, the button unit 301 through the internal UI engine LUA API (application interface) 320 When the event occurs, the information is provided to the event listener unit 312 through the control paths S1 and S2 such as a dotted line, and the UI logic unit 313 provides the text box from the game logic unit 331. When the information to be displayed on the unit 302 is received, the corresponding string information is applied to the text box unit 302 visually displayed through the control paths S3 and S4 shown in dotted lines to be displayed.

전술한 바와 같이, 게임 엔진에 독립적이면서도 고속으로 게임 로직과 연동되고 게임 엔진을 범용 방식으로 활용함과 아울러, 다양한 효과를 제공하는 라이브러리를 갖추고, 컨트롤 요소에 대한 프로토타입을 활용하도록 하는 UI 엔진과, 상기 UI 엔진에 적합한 프로토타입과 모듈 설정 및 스크립트 작성을 지원하는 저작 도구를 이용할 경우 보다 게임에 적합한 UI를 용이하게 개발할 수 있으며, 이미 개발된 UI를 쉽게 활용하여 적용할 수 있다. 또한, 빈번한 UI 변경이나 갱신에도 쉽게 대응할 수 있게 된다.As described above, the UI engine, which is independent of the game engine and is linked to the game logic at high speed, utilizes the game engine in a general-purpose manner, has a library that provides various effects, and utilizes prototypes for control elements. When using an authoring tool that supports prototyping, module setting, and script writing suitable for the UI engine, a UI suitable for a game can be easily developed, and an already developed UI can be easily applied. In addition, it can easily cope with frequent UI changes and updates.

도 11은 상기 설명한 온라인 게임을 위한 사용자 인터페이스 제공 장치를 이용하여 사용자 인터페이스를 설계하는 전체적인 과정을 보인 순서도로서, 도시한 바와 같이 UI 엔진과 저작도구를 설치하고 환경을 설정한 후, UI 디자이너가 게임의 시나리오에 맞추어 컨트롤 요소의 프레임이나 배경 등에 적용될 이미지 리소스를 제작한다. FIG. 11 is a flowchart illustrating the overall process of designing a user interface using the apparatus for providing an online game for the online game described above. After installing the UI engine and the authoring tool and setting the environment as illustrated, the UI designer plays the game. Create an image resource to be applied to the frame or background of the control element according to the scenario of.

이후, 상기 UI 디자이너는 UI 저작부를 이용하여 이미지 리소스를 배치하고 설정 내용을 추가/삭제/편집하여 공통적으로 자주 사용될 컨트롤 요소의 프로토타입을 생성한다.Thereafter, the UI designer creates an prototype of a control element that will be commonly used by arranging image resources and adding / deleting / editing setting contents using a UI authoring unit.

상기 UI 디자이너는 상기 프로토타입이나 이를 이용하여 구성된 콘트롤 요소를 레이어에 계층적으로 배치하여 모듈 설정 내용을 생성한다. The UI designer generates module setting contents by hierarchically placing the prototype or a control element constructed using the same in a layer.

이후, UI 프로그래머가 상기 모듈 설정 내용을 포함하는 각종 정보와 시나리오 및 게임 로직을 고려하여 스크립트를 작성한다. 이를 통해 스크립트 파일이 생성될 수 있으며, 상기 각 단계별로 별도의 스크립트 파일들이 생성될 수도 있다.Thereafter, the UI programmer creates a script in consideration of various information, scenarios, and game logic including the module setting contents. Through this, a script file may be generated, and separate script files may be generated for each step.

상기 UI 저작부가 테스트부를 포함하는 경우, 상기 작성된 스크립트 파일을 UI 엔진과 더미 클라이언트 및 스크립트 콘솔을 이용하여 테스트하여 수정할 부분이 있는 경우 상기 스크립트 작성 내용을 수정하는 과정을 반복한다. When the UI authoring unit includes a test unit, the script script is repeated using a UI engine, a dummy client, and a script console to modify the script writing content when there is a part to be modified.

상기 과정을 통해 원하는 기능을 수행하는 스크립트 파일을 생성한 경우 이를 실제 게임에 적용한다. 게임에 적용한다는 의미는 UI 엔진을 통해 상기 스크립트와 게임 클라이언트의 게임 로직이 통신을 실시할 수 있도록 바인딩부를 구성하는 것을 의미한다. If a script file that performs the desired function is generated through the above process, it is applied to the actual game. Applying to the game means configuring the binding unit so that the script and the game logic of the game client can communicate through a UI engine.

따라서, 상기 UI 디자이너가 실제 UI 제작에 참여하는 비중이 커지며, UI 프로그래머는 간단한 방식으로 원하는 성능의 UI 스크립트를 작성할 수 있어 UI 개발 효율이 크게 높아지게 된다.Therefore, the proportion of the UI designer to participate in the actual UI production is increased, the UI programmer can write the UI script of the desired performance in a simple manner, greatly increasing the UI development efficiency.

이상에서 상술한 바와 같이, 본 발명 실시예들에 따른 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법은 게임 엔진에 독립적으로 UI 구성 요소들을 용이하게 구성하고 재사용할 수 있도록 하며 스크립트만으로도 복잡한 사용자 인터페이스 환경 및 다양한 효과를 고속으로 구현할 수 있도록 함으로써, 사용자 인터페이스의 개발 효율과 성능을 모두 만족시킬 수 있는 효과가 있다.As described above, the apparatus and method for providing a user interface for an online game according to the embodiments of the present invention make it easy to configure and reuse UI components independently of a game engine, and a complex user interface environment using only a script. And by allowing various effects to be implemented at high speed, there is an effect that can satisfy both the development efficiency and performance of the user interface.

본 발명 실시예들에 따른 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법은 온라인 게임의 사용자 인터페이스를 컨트롤요소들이 배치되는 복수의 레이어들로 정의하고, 각 레이어에 컨트롤 요소들을 배치하여 모듈을 설정하며, 각 컨트롤 요소들을 복수의 프레임들로 설정하고, 각 프레임들의 구성 요소들을 개별 처리하도록 함으로써, 계층적이고 체계적으로 사용자 인터페이스를 구성 및 관리할 수 있는 효과가 있다.An apparatus and method for providing a user interface for an online game according to embodiments of the present invention define a user interface of an online game as a plurality of layers in which control elements are arranged, and arrange a control element in each layer to set a module. By setting each control element to a plurality of frames and processing the components of each frame separately, there is an effect that the user interface can be organized and managed hierarchically and systematically.

본 발명 실시예들에 따른 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법은 개발자가 용이하게 프로토타입의 컨트롤을 생성하고 이를 재사용하거나 런타임으로 생성하여 사용할 수 있도록 함과 아울러, 다양한 스트립트 파일들 간의 설정을 자유롭게 활용할 수 있도록 하여 컨트롤 생성 및 사용의 용이성을 높이는 효과가 있다.An apparatus and method for providing a user interface for an online game according to embodiments of the present invention allow a developer to easily create a prototype control, reuse it, or generate and use it at runtime, and to set up various script files. It can increase the ease of creating and using the control by freely utilizing the.

본 발명 실시예들에 따른 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법은 사용자 인터페이스를 구성하는 레이어 단위 컨트롤 요소의 설정을 텍스트 형태의 모듈로 구성하고 그 동작 방식을 범용 스크립트로 구성하며, 이러한 설정을 통해 동작하는 사용자 인터페이스 엔진이 스크립트 바인딩에 의해 게임 클라이언트와 고속으로 통신할 수 있도록 함으로써, 게임 클라이언트의 게임 로직과 사용자 인터페이스의 연동 성능을 극대화하는 효과가 있다.An apparatus and method for providing a user interface for an online game according to the embodiments of the present invention configure a setting of a layer-based control element constituting a user interface as a module in a text form, and configure a method of operation as a general-purpose script. By enabling the user interface engine to operate at a high speed to communicate with the game client by script binding, there is an effect of maximizing the interworking performance of the game logic and the user interface of the game client.

본 발명 실시예들에 따른 온라인 게임을 위한 사용자 인터페이스 제공 장치 및 그 방법은 온라인 게임의 인터페이스를 정의하는 모듈 및 스크립트 파일을 생성하고, 더미 클라이언트에서 상기 파일을 동작시키면서 스크립트 명령을 수작업으로 제공할 수 있도록 한 콘솔을 통해 상기 사용자 인터페이스의 동작을 검증하도록 함으로써, 각종 이벤트와 스크립트 실행 내용을 즉시 확인하여 오류 내용을 수정할 수 있도록 하는 효과가 있다.An apparatus and method for providing a user interface for an online game according to embodiments of the present invention may generate a module and a script file defining an interface of an online game, and manually provide a script command while operating the file in a dummy client. By verifying the operation of the user interface through the console, there is an effect that it is possible to immediately check the various events and script execution contents to correct the error content.

Claims (26)

게임 엔진과, 범용 형식을 통해 사용자 인터페이스 관련 처리를 상기 게임 엔진에 요청하기 위한 커스텀 인터페이스와, 상기 게임 엔진의 이용을 포함하는 게임 진행 관련 처리를 수행하는 게임 로직부를 포함하는 게임 클라이언트와; A game client including a game engine, a custom interface for requesting the game engine for user interface related processing through a general-purpose format, and a game logic section for performing game progress related processing including use of the game engine; 시각적인 사용자 인터페이스 정보와 상기 시각적인 사용자 인터페이스를 구성하는 레이어 및 컨트롤 요소의 동작 방식을 정의하는 정보를 구비한 사용자 인터페이스 스크립트부와; A user interface script unit having visual user interface information and information defining an operation manner of layers and control elements constituting the visual user interface; 상기 사용자 인터페이스 스크립트부의 정보를 해석하여 상기 정의된 사용자 인터페이스의 구성 요소들에 대한 동작을 상기 게임 클라이언트의 커스텀 인터페이스에 범용 형식으로 제공하며, 필요한 정보를 상기 게임 클라이언트의 게임 로직부와 주고 받는 사용자 인터페이스 엔진을 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.The user interface interprets the information of the user interface script unit to provide the operations of the components of the user interface defined in the general format to the custom interface of the game client, and the user interface for sending and receiving the necessary information with the game logic unit of the game client Apparatus for providing a user interface for an online game comprising an engine. 제 1항에 있어서, 상기 사용자 인터페이스 엔진은 복수의 컨트롤 요소, 애니메이션 및 수학 연산 라이브러리부를 더 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.The apparatus of claim 1, wherein the user interface engine further comprises a plurality of control elements, an animation, and a mathematical operation library. 제 1항에 있어서, 상기 사용자 인터페이스 스크립트부는 하나 이상의 독립된 파일로 구성되며, 적어도 하나 이상의 시각적 사용자 인터페이스 정보를 레이어와 컨트롤 요소의 설정으로 기술하는 모듈 정의 내용과 상기 정의된 모듈의 기술 내용에 대한 동작 방식인 사용자 인터페이스 로직을 기술하는 스크립트 내용을 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.The method of claim 1, wherein the user interface script unit comprises one or more independent files, and the module definition content describing at least one or more visual user interface information as a setting of a layer and a control element. Apparatus for providing a user interface for an online game, characterized in that it comprises a script content for describing the user interface logic that is a scheme. 제 3항에 있어서, 상기 복수의 파일로 구성되는 사용자 인터페이스 스크립트부는 상호 참조되는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.The apparatus of claim 3, wherein the user interface script unit including the plurality of files is cross-referenced to each other. 제 3항에 있어서, 상기 사용자 인터페이스 스크립트부는 시각적 사용자 인터페이스 정보인 레이어와 컨트롤 요소를 정의하는 모듈 정의부와 상기 모듈을 초기화하고 해당 컨트롤에 대한 이벤트를 처리하며 게임 클라이언트와 메세지를 주고 받는 로직을 구성하는 스크립트부를 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.4. The module of claim 3, wherein the user interface script unit comprises a module defining unit defining layers and control elements which are visual user interface information, and logic for initializing the module, processing an event for the corresponding control, and sending and receiving a message with a game client. Apparatus for providing a user interface for an online game, characterized in that it comprises a script unit. 제 1항에 있어서, 상기 게임 클라이언트는 상기 사용자 인터페이스 엔진과 연동하기 위한 인터페이스를 더 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.The apparatus of claim 1, wherein the game client further comprises an interface for interworking with the user interface engine. 제 6항에 있어서, 상기 인터페이스는 상기 사용자 인터페이스 스크립트와 상기 게임 로직을 구성하는 언어를 연결하는 바인딩 설정인 것을 특징으로 하는 온라 인 게임을 위한 사용자 인터페이스 제공 장치.7. The apparatus of claim 6, wherein the interface is a binding setting that connects the user interface script and a language constituting the game logic. 제 1항에 있어서, 상기 게임 클라이언트는 상기 게임 로직이 제공할 정보를 스크립트로 생성하여 상기 사용자 인터페이스 엔진에 제공하는 스크립트부를 더 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.The apparatus of claim 1, wherein the game client further comprises a script unit configured to generate information to be provided by the game logic as a script and provide the script to the user interface engine. 제 1항에 있어서, 상기 스크립트는 루아(LUA) 스크립트인 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.The apparatus of claim 1, wherein the script is a Lua script. 컨트롤 요소를 이루는 그림 조각을 배치하도록 하고, 그에 대한 속성을 설정하도록 하여 해당 컨트롤 요소를 프로토타입으로 등록받는 프로토타입 등록 수단과; A prototype registration means for arranging the pieces of the picture constituting the control element and setting the properties thereof to register the control element as a prototype; 상기 프로토타입으로 등록된 컨트롤 요소를 레이어에 배치하고 그 속성을 설정하는 인터페이스를 제공하며 그에 따라 시각적 사용자 인터페이스 배치 정보를 스크립트 형식에 따른 모듈로 생성하는 모듈 정의부와; A module definition unit which provides an interface for arranging the control elements registered as the prototypes in a layer and setting properties thereof, and accordingly generates visual user interface layout information as a module according to a script form; 상기 모듈에 정의된 레이어 및 컨트롤 요소를 제어하는 스크립트를 입력받는 스크립트 입력부를 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.And a script input unit for receiving a script for controlling a layer and a control element defined in the module. 제 10항에 있어서, 상기 프로토타입 등록 수단은 상기 등록 받은 프로토타입 컨트롤 요소 정보를 별도 파일로 저장하고, 상기 파일로 저장된 프로토타입 컨트롤 요소 정보를 읽어들여 사용하는 수단을 더 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.The method of claim 10, wherein the prototype registration means further comprises means for storing the registered prototype control element information in a separate file, and read out and use the prototype control element information stored in the file. Device for providing user interface for online game. 제 10항에 있어서, 상기 프로토타입 등록 수단은 비트맵 그림 조각들과 텍스트 영역으로 이루어지는 컨트롤 요소를 복수의 프레임으로 등록 받는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.11. The apparatus of claim 10, wherein the prototype registration means registers a control element consisting of bitmap picture pieces and a text area in a plurality of frames. 제 10항에 있어서, 상기 모듈 정의부가 생성한 정보와 상기 스크립트 입력부로 입력된 정보를 각각 혹은 통합하여 하나 이상의 파일로 저장하는 파일 관리부를 더 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.The apparatus of claim 10, further comprising a file manager configured to separately or individually integrate the information generated by the module definition unit and the information input to the script input unit into one or more files. . 제 10항에 있어서, 상기 모듈 정의부는 상기 컨트롤 요소가 배치될 레이어를 제공하고 상기 레이어에 대한 컨트롤 요소의 배치, 회전, 확대 및 축소 기능을 제공하며, 상기 확대 및 축소의 경우 상기 프로토타입으로 등록한 비트맵 그림 조각들 중에서 유지해야 할 그림 조각과 크기를 변경해도 되는 그림 조각을 파악하여 해당 컨트롤 요소를 조작하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.The apparatus of claim 10, wherein the module definition unit provides a layer in which the control element is to be arranged, and provides a function of arranging, rotating, enlarging, and reducing the control element with respect to the layer. A device for providing a user interface for an online game, comprising identifying pieces of a bitmap picture to be kept and pieces of pictures that may be changed in size and manipulating corresponding control elements. 제 10항에 있어서, 스크립트 정보를 해석하여 게임 클라이언트에 필요한 사용자 인터페이스 조작을 요청하고, 게임 클라이언트와 게임 진행에 관련된 정보를 교환하는 사용자 인터페이스 엔진과; 11. The apparatus of claim 10, further comprising: a user interface engine for interpreting script information to request a user interface operation required by the game client and exchanging information related to game progress with the game client; 상기 스크립트 입력부로 입력된 스크립트를 상기 인터페이스 엔진에 제공하고, 상기 인터페이스 엔진에 대응되는 더미 클라이언트를 제공하는 테스트부를 더 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.And a test unit configured to provide a script inputted to the script input unit to the interface engine and provide a dummy client corresponding to the interface engine. 제 15항에 있어서, 상기 테스터부는 상기 더미 클라이언트 및 상기 인터페이스 엔진을 수동으로 조작하는 스크립트 콘솔부를 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.16. The apparatus of claim 15, wherein the tester unit comprises a script console unit for manually manipulating the dummy client and the interface engine. 제 16항에 있어서, 상기 더미 클라이언트는 실제 게임 클라이언트에 구현된 서버 연동 코드를 에뮬레이션하기 위한 수단을 더 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 장치.17. The apparatus of claim 16, wherein the dummy client further comprises means for emulating server interworking code implemented in an actual game client. 이미지 리소스를 컨트롤 요소를 구성하는 조각 및 컨트롤 요소를 이루는 프레임에 맞추어 생성하는 단계와; Generating an image resource according to a frame constituting a fragment and a control element constituting the control element; 사용자 인터페이스 저작부가 제공하는 인터페이스를 통해 배치 및 속성을 정의한 컨트롤 요소의 정보를 스크립트 코드로 변환하여 프로토타입을 생성하는 단계와; Generating a prototype by converting information of a control element defining a layout and an attribute into a script code through an interface provided by a user interface authoring unit; 상기 생성된 프로토타입을 상기 사용자 인터페이스 저작부가 제공하는 인터페이스를 통해 레이어에 계층 배치하면 상기 정보를 근거로 사용자 인터페이스 모듈 정보를 스크립트 코드 형식으로 생성하는 단계와; Generating user interface module information in the form of a script code based on the information when the generated prototype is layered on a layer through an interface provided by the user interface authoring unit; 상기 생성된 스크립트 코드 형식에 연동되어 상기 컨트롤 요소를 사용자 인터페이스 엔진이 제공하는 기능을 이용하여 동작시키는 방식을 입력하는 스크립트 입력 수단을 제공하는 단계와; Providing a script input means linked to the generated script code format to input a manner of operating the control element using a function provided by a user interface engine; 상기 스크립트 입력 수단을 통해 입력된 정보와 상기 사용자 인터페이스 모듈 정보를 스크립트 형식의 파일로 생성하여 저장하는 단계를 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 방법.And generating and storing the information input through the script input means and the user interface module information in a file in a script format. 사용자 인터페이스 엔진이 프로토타입 형태의 컨트롤 요소와 레이어의 계층적 배치관계가 정의된 스크립트 코드와 상기 컨트롤 요소의 동작 방식을 정의한 스크립트 코드를 해석하는 해석 단계와; An analysis step of the user interface engine interpreting the script code in which the hierarchical arrangement relationship between the control element and the layer in the prototype form is defined and the script code defining the operation method of the control element; 사용자 인터페이스 엔진이 상기 해석된 스크립트 코드의 사용자 인터페이스 표시 정보와 동작 방식 및 게임 클라이언트로부터 수신한 정보를 근거로 기 구성된 라이브러리에 따라 상기 컨트롤 요소의 표시 및 동작 정보를 게임 클라이언트에 제공하는 처리 단계와; A processing step of providing, by the user interface engine, the game client with the display and the operation information of the control element according to a preconfigured library based on the user interface display information and the operation method of the interpreted script code and the information received from the game client; 상기 게임 클라이언트는 상기 수신된 컨트롤 요소의 표시 및 동작 정보를 게임 엔진에 제공하여 게임 상에 반영시키고, 게임 로직에 연동되는 정보인 경우 그에 대한 처리 내용을 상기 인터페이스 엔진에 제공하는 수행 단계를 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 방법.The game client includes the step of providing the game engine with the display and operation information of the received control element reflected on the game, and if the information is linked to the game logic, providing the processing content to the interface engine Method for providing a user interface for an online game, characterized in that. 제 19항에 있어서, 상기 처리 단계는 상기 컨트롤 요소의 표시 및 동작 정보를 범용 형식의 정보로 변환하여 상기 게임 클라이언트에 제공하는 단계를 더 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 방법.20. The method of claim 19, wherein the processing step further comprises converting the display and operation information of the control element into information in a universal format and providing it to the game client. 제 20항에 있어서, 상기 수행 단계는 상기 수신된 범용 형식의 컨트롤 요소의 표시 및 동작 정보를 상기 게임 클라이언트에 내장된 임의의 게임 엔진에 적합하게 변환하는 단계를 더 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 방법.21. The online game of claim 20, wherein the performing further comprises converting the received display and operation information of the control element of the universal format to suit any game engine embedded in the game client. How to provide a user interface for the project. 제 19항에 있어서, 상기 수행 단계는 상기 게임 클라이언트가 상기 컨트롤 요소의 표시 및 동작 정보를 수신하는 경우 상기 스크립트 코드와 바인딩된 바인딩부를 인터페이스로 하여 상기 게임 로직에 연동되는 정보를 파악 및 수행하고 그 결과를 상기 게임 엔진에 제공하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 방법.20. The method of claim 19, wherein when the game client receives the display and operation information of the control element, the game client identifies and performs information linked to the game logic by using a binding unit bound to the script code. Providing a result to the game engine. 사용자 인터페이스 엔진이 프로토타입 형태의 컨트롤 요소와 레이어의 계층적 배치관계가 정의된 스크립트 코드와 상기 컨트롤 요소의 동작 방식을 정의한 스크립트 코드를 해석하는 해석 단계와; An analysis step of the user interface engine interpreting the script code in which the hierarchical arrangement relationship between the control element and the layer in the prototype form is defined and the script code defining the operation method of the control element; 상기 사용자 인터페이스 엔진이 상기 해석된 스크립트 코드의 사용자 인터페이스 표시 정보와 동작 방식 및 더미 게임 클라이언트와 스크립트 콘솔로부터 수신한 정보를 근거로 기 구성된 라이브러리에 따라 상기 컨트롤 요소의 표시 및 동작 정보를 상기 스크립트 코드의 검증을 위한 더미 게임 클라이언트에 제공하는 테스트 처리 단계와; The user interface engine displays the display and operation information of the control element in accordance with a preconfigured library based on the user interface display information and operation method of the interpreted script code and information received from the dummy game client and the script console. A test processing step of providing the dummy game client for verification; 상기 더미 게임 클라이언트는 상기 수신된 컨트롤 요소의 표시 및 동작 정보를 게임 엔진에 제공하여 게임 상에 반영시키고, 게임 로직에 연동되는 정보인 경우 그에 대한 처리 내용을 상기 인터페이스 엔진에 제공하는 테스트 수행 단계를 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 방법.The dummy game client performs a test performing step of providing the game engine with the display and operation information of the received control element and reflecting it on the game, and providing the interface engine with the processing contents thereof when the information is linked to game logic. Method for providing a user interface for an online game comprising a. 제 23항에 있어서, 상기 테스트 처리 단계는 상기 컨트롤 요소의 표시 및 동작 정보를 범용 형식의 정보로 변환하여 상기 더미 게임 클라이언트에 제공하는 단계를 더 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 방법.24. The user interface of claim 23, wherein the testing process further comprises converting the display and operation information of the control element into information of a general format and providing the dummy game client to the dummy game client. Way. 제 24항에 있어서, 상기 테스트 수행 단계는 상기 수신된 범용 형식의 컨트롤 요소의 표시 및 동작 정보를 상기 더미 게임 클라이언트에 내장된 임의의 게임 엔진에 적합하게 변환하는 단계를 더 포함하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 방법.25. The method of claim 24, wherein performing the test further comprises converting the received display and operation information of the control element of the universal format as appropriate for any game engine embedded in the dummy game client. How to provide a user interface for online games. 제 23항에 있어서, 상기 테스트 수행 단계는 상기 더미 게임 클라이언트가 상기 컨트롤 요소의 표시 및 동작 정보를 수신하는 경우 상기 스크립트 코드와 바인딩된 바인딩부를 인터페이스로 하여 상기 게임 로직에 연동되는 정보를 파악 및 수행하고 그 결과를 상기 게임 엔진에 제공하는 것을 특징으로 하는 온라인 게임을 위한 사용자 인터페이스 제공 방법.The method of claim 23, wherein the performing of the test comprises identifying and performing information linked to the game logic by using a binding unit bound to the script code when the dummy game client receives display and operation information of the control element. And providing the result to the game engine.
KR1020070025909A 2007-03-16 2007-03-16 User interface providing apparatus and method for on-line game KR20090000651A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070025909A KR20090000651A (en) 2007-03-16 2007-03-16 User interface providing apparatus and method for on-line game

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070025909A KR20090000651A (en) 2007-03-16 2007-03-16 User interface providing apparatus and method for on-line game

Publications (1)

Publication Number Publication Date
KR20090000651A true KR20090000651A (en) 2009-01-08

Family

ID=40483800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070025909A KR20090000651A (en) 2007-03-16 2007-03-16 User interface providing apparatus and method for on-line game

Country Status (1)

Country Link
KR (1) KR20090000651A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019741A (en) * 2012-12-30 2013-04-03 上海创图网络科技发展有限公司 Webmax game engine and method for developing webgame by applying webmax game engine
WO2013065948A1 (en) * 2011-10-31 2013-05-10 (주)네오위즈게임즈 Apparatus and method for producing a game event effect
CN106033367A (en) * 2015-03-18 2016-10-19 广州四三九九信息科技有限公司 Scripts game server engine
CN111488146A (en) * 2019-01-25 2020-08-04 上海原品网络科技有限公司 Game development system based on android system
US10866843B2 (en) 2017-07-19 2020-12-15 Nhn Entertainment Corporation Method and system for invoking event-based package module
CN118022337A (en) * 2024-01-29 2024-05-14 深圳市奇迅新游科技股份有限公司 Game component recommendation system, method, equipment and readable storage medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013065948A1 (en) * 2011-10-31 2013-05-10 (주)네오위즈게임즈 Apparatus and method for producing a game event effect
KR101379662B1 (en) * 2011-10-31 2014-04-01 (주)네오위즈게임즈 Apparatus and method for making effect of event in game
CN103019741A (en) * 2012-12-30 2013-04-03 上海创图网络科技发展有限公司 Webmax game engine and method for developing webgame by applying webmax game engine
CN106033367A (en) * 2015-03-18 2016-10-19 广州四三九九信息科技有限公司 Scripts game server engine
US10866843B2 (en) 2017-07-19 2020-12-15 Nhn Entertainment Corporation Method and system for invoking event-based package module
CN111488146A (en) * 2019-01-25 2020-08-04 上海原品网络科技有限公司 Game development system based on android system
CN118022337A (en) * 2024-01-29 2024-05-14 深圳市奇迅新游科技股份有限公司 Game component recommendation system, method, equipment and readable storage medium

Similar Documents

Publication Publication Date Title
US7865350B1 (en) Partitioning a model in modeling environments
KR100876606B1 (en) Heterogeneous interlocking program development method and its development device
Cantor et al. WebGL beginner's guide
CN102135873B (en) A kind of method and apparatus creating user interface
US8739120B2 (en) System and method for stage rendering in a software authoring tool
Wilken Angular in action
CN106484394A (en) A kind of fast software development system with double engines
CN107408052A (en) Binary Conversion in shared object level
KR20090000651A (en) User interface providing apparatus and method for on-line game
Chin et al. The Definitive Guide to Modern Java Clients with JavaFX 17
Oehlke Learning Libgdx Game Development
CN113010168B (en) User interface generation method based on scene tree
Goetz et al. An XML-based visual shading language for vertex and fragment shaders
Clarke et al. JavaFX: Developing Rich Internet Applications
Achten et al. Task oriented programming with purely compositional interactive scalable vector graphics
Werner et al. Cloud-based design and virtual prototyping environment for embedded systems
Graf et al. Correct development of embedded systems
Wenz Essential Silverlight 2 Up-to-Date
CN112631587B (en) Interface prototype design method, interface prototype operation method, and storage medium
Stenning Direct3D Rendering Cookbook
Babu et al. Lifecycle for game development to ensure enhanced productivity
Zainuddin et al. An approach to low-fidelity prototyping based on SOFL informal specification
Ye . NET MAUI Cross-Platform Application Development: Leverage a first-class cross-platform UI framework to build native apps on multiple platforms
JP5010000B2 (en) Method and system for accessibility and control of parameters in a scene graph
bin Uzayr Mastering Unity: A Beginner's Guide

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination