KR100895170B1 - Method and mobile terminal for playing video game thereof system - Google Patents

Method and mobile terminal for playing video game thereof system Download PDF

Info

Publication number
KR100895170B1
KR100895170B1 KR1020070015047A KR20070015047A KR100895170B1 KR 100895170 B1 KR100895170 B1 KR 100895170B1 KR 1020070015047 A KR1020070015047 A KR 1020070015047A KR 20070015047 A KR20070015047 A KR 20070015047A KR 100895170 B1 KR100895170 B1 KR 100895170B1
Authority
KR
South Korea
Prior art keywords
game
background
display
file
act
Prior art date
Application number
KR1020070015047A
Other languages
Korean (ko)
Other versions
KR20070098482A (en
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
Priority claimed from US11/393,244 external-priority patent/US20070021203A1/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP07105226A priority Critical patent/EP1839716A1/en
Priority to CN2007100919016A priority patent/CN101053695B/en
Publication of KR20070098482A publication Critical patent/KR20070098482A/en
Application granted granted Critical
Publication of KR100895170B1 publication Critical patent/KR100895170B1/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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Abstract

본 발명은 서로 다른 크기의 디스플레이들을 구비한 이동 단말기들 상에서 게임을 실행하기 위한 시스템에 관한 것으로, 특히 수평 크기와 수직 크기를 갖는 입체 게임용 배경과, 작은 디스플레이에 상기 배경의 총 수평 차원의 폭 이하로 정의된 제1 수평 부분 및 상기 배경의 총 수직 차원의 높이 이하로 정의된 제1 수직 부분을 디스플레이하기 위해 상기 작은 디스플레이를 구비하는 작은 이동 단말기 상에서 게임이 진행될 때 동작할 수 있는 상기 게임의 구성요소를 포함하되, 상기 구성요소는 큰 디스플레이에서 상기 제1 수평 부분의 폭보다 크고 상기 배경의 총 수평 차원의 폭 이하로 정의된 제2 수평 부분 및 상기 제1 수직 부분의 높이보다 크고 상기 배경의 총 수직 차원의 높이 이하로 정의된 제2 수직 부분을 디스플레이하는 큰 디스플레이를 구비하는 큰 이동 단말기 상에서 게임이 진행될 때 동작할 수 있는 것을 특징으로 한다.

Figure R1020070015047

게임, 이동 장치, 디스플레이, 비디오, 이미지

The present invention relates to a system for playing a game on mobile terminals having displays of different sizes, in particular a background for stereoscopic games having a horizontal size and a vertical size, and a width less than the total horizontal dimension of the background on a small display. A configuration of the game that can be operated when the game is played on a small mobile terminal having the small display for displaying a first horizontal portion defined by and a first vertical portion defined below a height of the total vertical dimension of the background An element, wherein the component is greater than the height of the first vertical portion and the second horizontal portion and defined as greater than the width of the first horizontal portion and less than or equal to the width of the total horizontal dimension of the background in a large display; Build a large display that displays a second vertical portion defined below the height of the total vertical dimension. The comparison is characterized in that it can operate when the game progresses on a large mobile terminal.

Figure R1020070015047

Game, mobile device, display, video, image

Description

비디오 게임을 실행하는 방법 및 이동 단말기와 그 시스템{METHOD AND MOBILE TERMINAL FOR PLAYING VIDEO GAME THEREOF SYSTEM} METHOD AND MOBILE TERMINAL FOR PLAYING VIDEO GAME THEREOF SYSTEM}

도 1은 본 발명의 일 실시 예에 따른 게임 개발 및 실행을 위한 시스템의 블록도. 1 is a block diagram of a system for game development and execution in accordance with one embodiment of the present invention.

도 2는 본 발명의 일 실시 예에 따른 게임 장면에 디스플레이되는 전경(panorama)의 사시도. 2 is a perspective view of a panorama displayed in a game scene according to an embodiment of the present invention.

도 3은 본 발명의 일 실시 예에 따른 게임 내에서 장면들을 디스플레이하는 비디오 화면을 나타낸 도면. 3 illustrates a video screen displaying scenes in a game according to an embodiment of the present invention.

도 4는 본 발명의 일 실시 예에 따른 게임의 장면에 나타나는 층(layering)을 나타낸 도면. 4 is a diagram illustrating layering that appears in a scene of a game according to an embodiment of the present invention.

도 5는 본 발명의 일 실시 예에 따른 게임에 사용되는 런타임 엔진처리 파일들(runtime engine processing files)을 나타낸 도면. 5 is a diagram illustrating runtime engine processing files used for a game according to an embodiment of the present invention.

도 6은 본 발명의 일 실시 예에 따른 게임을 생성하는데 사용되는 제작 툴(authoring tool)을 나타낸 도면.6 illustrates an authoring tool used to create a game according to an embodiment of the present invention.

도 7a 내지 도 7d는 상기 도 6의 각 부분을 세부적으로 나타낸 부분 상세도.7A to 7D are detailed views of each part of FIG. 6 in detail.

도 8은 성공적인 발사(shots)를 등록하기 위한 종래 기술을 나타낸 도면. 8 shows a prior art for registering successful shots.

도 9는 본 발명의 일 실시예에 따른 성공적인 발사(shots)를 등록하기 위한 기술을 설명하기 위한 도면. 9 illustrates a technique for registering successful shots in accordance with one embodiment of the present invention.

도 10은 본 발명의 일 실시 예에 따른 서로 다른 크기의 화면상의 이미지 디스플레이를 나타낸 도면. 10 is a view showing an image display on the screen of different sizes according to an embodiment of the present invention.

도 11은 본 발명의 일 실시 예에 따른 게임에 사용되는 레이더(radar)를 나타낸 도면. FIG. 11 is a view showing a radar used in a game according to an embodiment of the present invention. FIG.

도 12는 본 발명의 일 실시 예에 따른 게임에 사용되는 파일들의 컨테이너(container)를 나타낸 도면. 12 is a view showing a container of files used in a game according to an embodiment of the present invention.

도 13은 본 발명의 다양한 실시 예 중 일부에 대해 작동 가능한 이동 장치의 블록도. 13 is a block diagram of a mobile device operable with some of the various embodiments of the present invention.

도 14는 본 발명의 다양한 실시 예 중 일부에 대해 작동 가능한 컴퓨터 시스템의 블록도.14 is a block diagram of a computer system operable for some of various embodiments of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

110 : 그래픽 프로그램 120 : 그래픽 파일110: graphics program 120: graphics file

130 : 저작 도구 140 : '.pic' 파일130: Authoring tool 140: '.pic' file

150 : '.act' 파일 160 : 컨테이너150: '.act' file 160: container

170 : 컴퓨터 180 : 이동 장치170: computer 180: mobile device

190 : 엔진 200 : 디스플레이190: engine 200: display

1220 : 제1 저장부 1230 : 제2 저장부1220: first storage 1230: second storage

1240 : 입력부 1312 : 네트워크1240 input unit 1312 network

1332 : 프로세서 1338 : 제2 저장부1332: Processor 1338: Second Storage

본 발명은 이동 장치 및 컴퓨터용 비디오 게임을 실행하는 방법 및 이동 단말기와 그 시스템에 관한 것이다. 더욱 상세하게는, 이동 장치상에서 고품질 그래픽 게임을 실행할 수 있는 이동 단말기 비디오 게임 방법 및 시스템에 관한 것이다. 일반적으로 이동 전화, 개인 휴대 정보 단말기(PDA: Personal Digital Assistants) 및 이와 유사한 휴대용 이동 전자 장치들은 때때로 비디오 게임 실행과 같은 부가적인 기능을 제공한다. 이러한 이동 장치용 게임은 사실적인 그래픽과 복잡한 게임 실행 및 그 밖의 개선점들을 가지고 더욱 복잡해지고 있다. 현재, 상기 장치들 자체도 더 큰 메모리 용량, 빠른 프로세서, 그래픽 가속기 및 그 밖의 업그레이드들로 더욱 정교해지고 있다. 그 결과, 일부 게임들은 고가의 매우 정교한 장치에서만 실행될 수 있다. 이러한 게임의 개발은 복잡해지고 그래픽 아티스트 및 고도로 숙련된 프로그래머를 요구하고 있다. 이에 따라, 비디오 게임의 개발에 게임당 백만달러 이상의 상당한 비용이 소요되고 있는 실정이다. The present invention relates to a method for executing a video game for a mobile device and a computer, a mobile terminal and a system thereof. More specifically, it relates to a mobile terminal video game method and system capable of playing high quality graphics games on a mobile device. In general, mobile phones, personal digital assistants (PDAs), and similar portable mobile electronic devices sometimes provide additional functionality, such as playing video games. Such games for mobile devices are becoming more complex with realistic graphics, complex game execution and other improvements. Currently, the devices themselves are also becoming more sophisticated with larger memory capacities, faster processors, graphics accelerators and other upgrades. As a result, some games can only run on expensive, very sophisticated devices. The development of such games is complicated and requires graphic artists and highly skilled programmers. Accordingly, the development of video games requires a significant cost of more than $ 1 million per game.

본 발명의 목적은 서로 다른 크기의 디스플레이를 구비한 이동 단말기들 상에서 게임을 실행함에 있어, 상기 이동 단말기들 간에 동일한 게임을 동시에 디스플레이하여 진행할 수 있도록 하는 하기 위한 방법 및 이동 단말기와 그 시스템을 제공함에 있다.Disclosure of Invention An object of the present invention is to provide a method, a mobile terminal, and a system for executing a game on mobile terminals having displays of different sizes, so that the same game can be simultaneously displayed between the mobile terminals. have.

상기한 목적을 달성하기 위한 본 발명에 따른 시스템은, 서로 다른 크기의 디스플레이들을 구비한 이동 단말기들 상에서 게임을 실행하기 위한 시스템에 있어서, 수평 크기와 수직 크기를 갖는 입체 게임용 배경과, 작은 디스플레이에 상기 배경의 총 수평 차원의 폭 이하로 정의된 제1 수평 부분 및 상기 배경의 총 수직 차원의 높이 이하로 정의된 제1 수직 부분을 디스플레이하기 위해 상기 작은 디스플레이를 구비하는 작은 이동 단말기 상에서 게임이 진행될 때 동작할 수 있는 상기 게임의 구성요소를 포함하되, 상기 구성요소는 큰 디스플레이에서 상기 제1 수평 부분의 폭보다 크고 상기 배경의 총 수평 차원의 폭 이하로 정의된 제2 수평 부분 및 상기 제1 수직 부분의 높이보다 크고 상기 배경의 총 수직 차원의 높이 이하로 정의된 제2 수직 부분을 디스플레이하는 큰 디스플레이를 구비하는 큰 이동 단말기 상에서 게임이 진행될 때 동작할 수 있는 것을 특징으로 한다. A system according to the present invention for achieving the above object is a system for playing a game on mobile terminals having displays of different sizes, comprising a three-dimensional game background having a horizontal size and a vertical size, and a small display The game can be played on a small mobile terminal having the small display for displaying a first horizontal portion defined below the width of the total horizontal dimension of the background and a first vertical portion defined below the height of the total vertical dimension of the background. A second horizontal portion and the first component defined in the game that can be operated when the component is larger than the width of the first horizontal portion in a large display and less than or equal to the width of the total horizontal dimension of the background; A second vertical portion defined as greater than the height of the vertical portion and less than or equal to the height of the total vertical dimension of the background; It is characterized in that which is operable when the game is conducted on a larger mobile handset having a larger display to display.

또한, 상기한 목적을 달성하기 위한 본 발명에 따른 게임 실행 방법은, 서로 다른 크기의 디스플레이들을 구비한 이동 단말기들 상에서 게임을 실행하기 위한 방법에 있어서, 게임용 디스플레이를 위한 배경으로 사용하기 위해 높이와 폭을 갖는 그래픽 이미지를 생성하는 단계와, 작은 디스플레이를 구비한 이동 장치들 상에서 게임 실행 시 상기 그래픽 이미지의 높이 및 폭보다 작은 높이 및 폭을 갖는 상기 배경의 제1 부분만을 디스플레이하는 단계와, 큰 디스플레이를 구비한 이동 장치들 상에서 게임 실행 시 상기 그래픽 이미지의 폭보다 작은 폭, 상기 그래픽 이미지의 높이보다 크지 않는 높이 및 상기 제1 부분의 높이와 폭보다 큰 높이와 폭 을 갖는 상기 배경의 제2 부분만을 디스플레이하는 단계와, 작은 디스플레이를 구비한 이동 장치들 상에서 게임 실행 시 타깃 표시기(targeting indicator)의 이동이 상기 배경의 제1 부분의 높이 및 폭 주위의 영역으로 제한되는 단계와, 큰 디스플레이를 구비한 이동 장치들 상에서 게임 실행 시 상기 타깃 표시기의 이동이 상기 배경의 제1 부분의 높이 주위의 영역으로 제한되는 단계를 포함하는 것을 특징으로 한다.In addition, the game execution method according to the present invention for achieving the above object, in the method for executing the game on mobile terminals having displays of different sizes, the height and height for use as a background for a game display; Generating a graphic image having a width, displaying only a first portion of the background having a height and width less than the height and width of the graphic image when running the game on mobile devices with small displays; A second background of the background having a width less than the width of the graphic image, a height not greater than the height of the graphic image, and a height and width greater than the height and width of the first portion when the game is executed on mobile devices with a display; Displaying only a portion, and on mobile devices with small displays Limiting movement of a targeting indicator to an area around the height and width of the first portion of the background when the game is executed; and movement of the targeting indicator when the game is executed on mobile devices with large displays. Limiting to an area around the height of the first portion of the background.

또한, 상기한 목적을 달성하기 위한 본 발명에 따른 디스플레이 방법은, 제1 및 제2 이동 장치들 상에서 실제 동일한 게임을 제공하는 단계와, 상기 게임이 상기 제1 이동 장치의 작은 화면상에 비디오 이미지의 제1 부분을 디스플레이하는 단계와, 상기 게임이 상기 제1 부분의 폭과 높이보다 넓거나 높은 상기 제2 이동 장치의 작은 화면상에 비디오 이미지의 제2 부분을 디스플레이하는 단계와, 상기 게임이 상기 제1 이동 장치상의 제1 게임 플레이어에게 상기 비디오 이미지의 제1 부분의 높이와 폭 주위로 위협 표시기의 동작 범위를 허용하는 단계와, 상기 게임이 상기 제2 이동 장치상의 제2 게임 플레이어에게 상기 작은 디스플레이를 구비한 제1 이동 장치상에 제공되는 것과 거의 동일한 타깃 표시기의 동작 높이 범위를 허용하는 단계를 포함하는 것을 특징으로 한다. Further, the display method according to the present invention for achieving the above object comprises the steps of providing a substantially identical game on the first and second mobile devices, the game is a video image on a small screen of the first mobile device; Displaying a first portion of the display; displaying the second portion of the video image on a small screen of the second mobile device, wherein the game is wider or higher than the width and height of the first portion; Allowing a first game player on the first mobile device a range of motion of the threat indicator around the height and width of the first portion of the video image, and wherein the game is transmitted to the second game player on the second mobile device. Allowing a range of operating heights of the target indicator that is about the same as that provided on the first mobile device with a small display. It characterized.

본 발명의 일 실시예의 실행예를 아래에서 일예로서 예시하고 있지만, 현재 알려져 있거나 존재하는 특정 수의 기술을 이용하여 본 시스템을 실시할 수 있다는 것을 처음부터 이해해야 한다. 본 실시예는, 결코, 본 명세서에서 예시하고 설명한 구성예 및 실행예를 포함하여 아래에서 예시하고 있는 실행예, 도면, 및 기술들로 한정하지 않으나, 첨부한 청구범위 및 그에 균등한 것의 범위 내에서 개량될 수 있다. Although an implementation of one embodiment of the present invention is illustrated below as an example, it should be understood from the beginning that the present system may be implemented using any number of techniques known or present. This embodiment is in no way limited to the embodiments, drawings, and techniques illustrated below, including the configuration and implementation examples illustrated and described herein, but are within the scope of the appended claims and their equivalents. Can be improved in.

본 발명은 다른 크기의 디스플레이를 구비한 이동 단말기들 상에서 게임을 실행하기 위한 시스템을 제안한다. 상기 시스템은 수평 및 수직 차원들을 갖는 게임을 위한 배경을 포함한다.The present invention proposes a system for playing a game on mobile terminals with different sized displays. The system includes a background for a game with horizontal and vertical dimensions.

이때, 상기 시스템은 작은 디스플레이에 상기 배경의 총 수평 차원의 폭 이하로 정의된 제1 수평 부분 및 상기 배경의 총 수직 차원의 높이 이하로 정의된 제1 수직 부분을 디스플레이하기 위해 상기 작은 디스플레이를 구비하는 작은 이동 단말기 상에 게임이 디스플레이될 때 동작할 수 있는 상기 게임의 구성요소를 포함한다.In this case, the system includes the small display for displaying on the small display a first horizontal portion defined below the width of the total horizontal dimension of the background and a first vertical portion defined below the height of the total vertical dimension of the background. A component of the game that can operate when the game is displayed on a small mobile terminal.

또한, 본 발명의 실시 예에 따라, 큰 디스플레이에 상기 제1 수평 부분의 폭보다 크고 상기 배경의 총 수평 차원의 폭 이하로 정의된 제2 수평 부분 및 상기 제1 수직 부분의 높이보다 크고 상기 배경의 총 수직 차원의 높이 이하로 정의된 제2 수직 부분을 디스플레이하기 위해 상기 작은 디스플레이를 구비하는 작은 이동 단말기 상에 게임이 디스플레이될 때 상기 구성요소가 동작할 수 있게 된다. Further, according to an embodiment of the present invention, the background is larger than the height of the first horizontal portion and the second horizontal portion defined as greater than the width of the first horizontal portion and less than the width of the total horizontal dimension of the background. The component is operable when the game is displayed on a small mobile terminal with the small display to display a second vertical portion defined below the height of the total vertical dimension of.

한편, 본 발명의 다른 실시 예에 따라 다른 크기의 디스플레이를 구비한 이동 단말기들 상에서 게임을 실행하기 위한 방법을 제안한다. 이때, 게임용 디스플레이를 위한 배경으로 사용하기 위한 그래픽 이미지는 높이와 폭을 가지게 된다. 따라서, 작은 디스플레이를 구비한 이동 장치들 상에서 게임 실행 시 상기 그래픽 이미지의 높이 및 폭보다 작은 높이 및 폭을 갖는 상기 배경의 제 1 부분만을 디스플레이하게 된다.Meanwhile, according to another embodiment of the present invention, a method for executing a game on mobile terminals having different sized displays is proposed. At this time, the graphic image for use as a background for a game display has a height and a width. Thus, on running mobile devices with small displays, only a first portion of the background having a height and width less than the height and width of the graphical image is displayed upon game play.

또한, 큰 디스플레이를 구비한 이동 장치들 상에서는 게임 실행 시 상기 그래픽 이미지의 폭보다 작은 폭, 상기 그래픽 이미지의 높이보다 크지 않는 높이 및 상기 제 1 부분의 높이와 폭보다 큰 높이와 폭을 갖는 상기 배경의 제 2 부분만을 디스플레이하게 된다.Also, on mobile devices with a large display, the background having a width smaller than the width of the graphic image, a height not greater than the height of the graphic image, and a height and width greater than the height and width of the first portion when the game is executed. Only the second part of is displayed.

한편, 작은 디스플레이를 구비한 이동 장치들 상에서 게임 실행 시 타깃 표시기(targeting indicator)의 이동이 상기 배경의 제 1 부분의 높이 및 폭 주위의 영역으로 제한되고, 큰 디스플레이를 구비한 이동 장치들 상에서 게임 실행 시 상기 타깃 표시기의 이동이 상기 배경의 제 1 부분의 높이 주위의 영역으로 제한된다.On the other hand, the movement of a targeting indicator when running the game on mobile devices with small displays is limited to the area around the height and width of the first portion of the background, and the game on mobile devices with large displays. In practice the movement of the target indicator is limited to the area around the height of the first portion of the background.

본 발명의 또 다른 실시 예에서는 제 1 및 제 2 이동 장치들 상에서 실제로 동일한 게임을 제공하는 디스플레이 방법을 제안한다. 즉, 상기 게임이 상기 제1 이동 장치의 작은 화면상에 비디오 이미지의 제1 부분을 디스플레이할 때, 상기 게임이 상기 제 1 부분의 폭과 높이보다 넓거나 높은 상기 제 2 이동 장치의 작은 화면상에 비디오 이미지의 제 2 부분을 디스플레이하게 된다.Another embodiment of the present invention proposes a display method for actually providing the same game on the first and second mobile devices. That is, when the game displays the first portion of the video image on the small screen of the first mobile device, the game is on the small screen of the second mobile device wider or higher than the width and height of the first portion. Display a second portion of the video image.

또한, 상기 방법은 상기 게임이 상기 제 1 이동 장치상의 제 1 게임 플레이어에게 상기 비디오 이미지의 제 1 부분의 높이와 폭 주위로 위협 표시기의 동작 범위를 허용하고, 상기 게임이 상기 제 2 이동 장치상의 제 2 게임 플레이어에게 상기 작은 디스플레이를 구비한 제 1 이동 장치상에 제공되는 것과 거의 동일한 타깃 표시기의 동작 높이 범위를 허용하게 된다. Further, the method allows the game to allow a first game player on the first mobile device a range of motion of the threat indicator around the height and width of the first portion of the video image, and the game on the second mobile device. It allows a second game player to have a range of operating heights of the target indicator that is approximately the same as that provided on the first mobile device with the small display.

이러한 특징 및 장점들은 첨부된 도면과 청구범위를 참조하여 후술되는 상세한 설명에서 명백히 이해할 수 있을 것이다.These features and advantages will be apparent from the following detailed description with reference to the accompanying drawings and claims.

이하, 본 발명에서는 360-3D라 불리는 소정의 게임 포맷이 개시된다. 상기 360-3D 포맷은 고품질의 3차원 그래픽과 복잡한 스토리 라인을 가진 게임이 한정된 메모리 및 처리 능력을 지닌 이동 장치상에 실행되도록 한다. 예를 들어, 일 실시 예에서 상기 이동 장치는 약 120MHz로 실행되는 프로세서를 구비할 수 있고, 상기 이동 장치에서 360-3D 게임 데이터를 로딩하기 위한 메모리 용량은 약 3 내지 28 Mbytes 정도이다. 한편, 일반적으로 고품질 비디오 그래픽을 얻기 위해서는 그래픽 가속기를 구비한 이동 단말기가 요구될 수 있다. 그러나 일부 실시 예에서는 그래픽 가속기 없이 이동 단말기에서 본 시스템이 동작할 수 있다.Hereinafter, in the present invention, a predetermined game format called 360-3D is disclosed. The 360-3D format allows games with high quality three-dimensional graphics and complex story lines to run on mobile devices with limited memory and processing power. For example, in one embodiment, the mobile device may include a processor running at about 120 MHz, and the memory capacity for loading 360-3D game data in the mobile device is about 3 to 28 Mbytes. On the other hand, generally, a mobile terminal having a graphics accelerator may be required to obtain high quality video graphics. However, in some embodiments, the system may operate in a mobile terminal without a graphic accelerator.

또한, 본 발명에서는 360-3D 게임을 개발하기 위한 시스템 및 방법이 개시된다. 상기 시스템 및 방법은, 이동 장치상에 디스플레이 시 일련의 사전 렌더링(pre-rendered)된 이미지들을 다루는 방법을 지정함으로써, 개발자들이 쉽게 360-3D 게임을 제작할 수 있도록 한다. 이때, 프로그래밍 코드를 사용하지 않고 게임을 제작할 수 있어, 프로그래밍 지식 또는 경험의 필요성을 제거하고 게임 개발 비용을 상당히 줄일 수가 있게 된다. The present invention also discloses a system and method for developing a 360-3D game. The system and method allows developers to easily create 360-3D games by specifying how to handle a series of pre-rendered images upon display on a mobile device. In this case, the game can be produced without the use of programming code, eliminating the need for programming knowledge or experience and significantly reducing game development costs.

도 1은 본 발명의 실시 예에 따른 360-3D 게임 개발 및 게임 실행 시스템에서 주요 구성요소들의 블록도이다. 360-3D 게임을 제작하는 개발자는 일반적으로 게임에서 다루게 될 일련의 3차원 이미지들을 제작하기 위한 표준 규격의 상업적으로 이용 가능한 그래픽 프로그램(110)을 이용하여 게임 개발 과정을 시작하게 된다. 이하에서 상세히 후술되는 바와 같이, 상기 이미지들은 'targa' 또는 '.tga' 포맷인 일련의 그래픽 파일(120)들로 사전 랜더링(pre-rendered)되고 저장된다. 1 is a block diagram of major components in a 360-3D game development and game execution system according to an embodiment of the present invention. Developers producing 360-3D games generally begin the game development process using a commercially available graphics program 110 of a standard specification for producing a series of three-dimensional images to be covered in the game. As will be described in detail below, the images are pre-rendered and stored as a series of graphics files 120 in 'targa' or '.tga' format.

그러면 저작 도구(130; authoring tool)는 상기 그래픽 파일(120)들을 불러들여 상기 '.tga' 포맷을 '.pic' 파일(140) 등으로 불리는 포맷으로 변환하게 된다. 이하에서 상세히 후술되는 바와 같이, '.tga' 파일들의 '.pic' 파일(140)들로의 변환은 실행 길이 부호화(run length encoding) 과정을 통해 압축을 수반하게 된다. 그런 다음 상기 저작 도구(130)는 '.act' 또는 액션 파일(150)들로 불리는 일련의 파일들을 생성하는데 사용된다. 이하 후술되는 각각의 '.act' 파일(150)은 상기 '.pic' 파일(140)들의 이미지가 360-3D 게임을 제작하기 위해 다루어지는 방법을 설명하는 일련의 명령들을 포함하고 있다. 상기 '.pic' 파일(140) 및 '.act' 파일(150)들이 생성된 후, 상기 파일들은 컨테이너(160, container)라 불리는 데이터 파일의 단일 세트에 함께 저장될 수 있다. The authoring tool 130 then imports the graphic files 120 and converts the '.tga' format into a format called a '.pic' file 140 or the like. As will be described in detail below, the conversion of '.tga' files to '.pic' files 140 is accompanied by compression through a run length encoding process. The authoring tool 130 is then used to generate a series of files called '.act' or action files 150. Each '.act' file 150 described below includes a series of instructions describing how the images of the '.pic' files 140 are handled to produce a 360-3D game. After the '.pic' file 140 and the '.act' file 150 are generated, the files may be stored together in a single set of data files called a container 160.

상기 저작 도구(130), '.pic' 파일(140), '.act' 파일(150) 및 컨테이너(160)는 일반적으로 단일 컴퓨터(170)상에 나타낸다. 상기 그래픽 프로그램(110) 및 그래픽 파일(120)들이 도 1의 상기 컴퓨터(170) 외부에 도시되는 반면, 다른 실시예들에서는, 상기 그래픽 프로그램(110) 및 그래픽 파일(120)들은 상기 저작 도구(130), '.pic' 파일(140), '.act' 파일(150) 및 컨테이너(160)와 함께 동일한 컴퓨터(170) 상에 나타낼 수 있다. The authoring tool 130, '.pic' file 140, '.act' file 150 and container 160 are generally represented on a single computer 170. While the graphics program 110 and graphics files 120 are shown outside of the computer 170 of FIG. 1, in other embodiments, the graphics program 110 and graphics files 120 may be created using the authoring tool ( 130, along with the '.pic' file 140, the '.act' file 150, and the container 160, may be displayed on the same computer 170.

한편, 360-3D 게임이 이동 전화, PDA 또는 유사한 장치에 설치되면, 상기 컨테이너(160)는 상기 컴퓨터(170)에서 이동장치(180)로 복사된다. 대신에, 상기 컨테이너(160)는 상기 이동 장치(180)로 전송되기 전에 중간 위치(intermediate location)에 저장될 수도 있다. 예를 들어 상기 컨테이너(160)는 웹사이트 상에서 상기 이동 장치(180)로 다운로드하기 위해 사용되거나, 이동 장치(180)로 복사하기 위한 CD 및 다른 저장 매체에 저장될 수 있다. 또 다른 방법으로 상기 컨테이너(160)를 컴퓨터(170)에서 이동 장치(180)로 전송할 수도 있다.On the other hand, if the 360-3D game is installed in a mobile phone, PDA or similar device, the container 160 is copied from the computer 170 to the mobile device 180. Instead, the container 160 may be stored in an intermediate location before being sent to the mobile device 180. For example, the container 160 may be used for downloading to the mobile device 180 on a website or stored on CD and other storage media for copying to the mobile device 180. Alternatively, the container 160 may be transferred from the computer 170 to the mobile device 180.

이때, 상기 컨테이너(160)의 파일들은 컴퓨터(170) 및 이동 장치(180) 양쪽과 호환되는 포맷일 수 있고, 상기 전송 과정의 일부로 어떠한 파일의 변경도 필요하지 않을 수 있다. 그러나 호환을 위해 다소간의 변경이 필요할지라도 상기 파일들은 실제로 동일한 것으로 간주되며, 상기 컨테이너(160)가 컴퓨터(170) 또는 이동 장치(180) 내의 존재 여부에 상관없이 상기 파일들은 컨테이너(160) 내에 존재하게 된다. In this case, the files of the container 160 may be in a format compatible with both the computer 170 and the mobile device 180, and no file change may be required as part of the transmission process. However, even if some changes are required for compatibility, the files are actually considered to be the same and the files are present in the container 160 regardless of whether the container 160 is present in the computer 170 or the mobile device 180. Done.

또한, 상기 컨테이너(160)에서 파일을 읽어들일 수 있는 런타임 엔진(190; runtime engine)이 상기 이동 장치(180)내에 존재한다. 이하에서 상세히 후술되는 바와 같이, 상기 엔진(190)은 상기 '.pic' 파일(140)내 이미지들이 다루어지는 방법에 관한 '.act' 파일(160)내의 명령들을 읽어들인다. 이후, 상기 엔진(190)은 적절한 '.pic' 파일(140)들을 검색하고, 이들을 명령대로 처리하여, 상기 이동 장치(180)의 디스플레이 화면(200)상에 디스플레이한다.In addition, there is a runtime engine 190 that can read files from the container 160 in the mobile device 180. As will be described in detail below, the engine 190 reads instructions in a '.act' file 160 regarding how images in the '.pic' file 140 are handled. The engine 190 then searches for appropriate '.pic' files 140, processes them as commands, and displays them on the display screen 200 of the mobile device 180.

일반적으로 상기 컨테이너(160)는 플래쉬 메모리와 같은 이동 장치(180)의 비휘발성 메모리(non-volatile memory) 위치로 로딩된다. 상기 컨테이너(160)내 파일들은 실행 파일보다는 단순한 데이터 파일들이므로 상기 컨테이너(160)가 상기 이동장치(180)로 로딩될 때 바이러스나 코딩 오류(coding bugs)가 발생할 수 없다.In general, the container 160 is loaded into a non-volatile memory location of the mobile device 180, such as flash memory. Since the files in the container 160 are simple data files rather than executable files, viruses or coding bugs may not occur when the container 160 is loaded into the mobile device 180.

바람직한 실시 예에 따라 상기 엔진(190)은 이동 장치(180)의 운영 시스템에 내장될 수 있다. 상기 엔진(190)은 다른 장치 및 운영 시스템과 호환되도록 다소 변경될 수 있지만 실질적으로 동일한 엔진(190)이 어떠한 이동 장치(180)상에 내장될 수 있으며 어느 컨테이너(160)도 읽어 들일 수 있다.According to a preferred embodiment, the engine 190 may be embedded in the operating system of the mobile device 180. The engine 190 can be somewhat modified to be compatible with other devices and operating systems, but substantially the same engine 190 can be embedded on any mobile device 180 and can read any container 160.

예컨대, 동일한 운영 시스템 호출(calls)을 사용하여 초당 약 15회 정도의 엔진(19)을 호출하는 타이머 기능을 초기화하고, 메모리 위치에 쓰며, 디스플레이 업데이트를 트리거하고, 상기 엔진(190)을 휴지 상태(dormant)로 만들기 위해서만 상기 엔진(19)이 변경된다. 상기 엔진(190)은 오직 360-3D 게임의 실행 가능한 부분이다. 일단 상기 엔진(190)이 특정 이동 장치(180) 및 운영 시스템에 대해 테스트되고 디버깅(debugged)되면, 이와 같은 이동 장치(180)에 인스톨하기 위해 더 이상의 테스트나 디버깅이 필요 없다. 새로운 360-3D 게임이 이동 장치(180)에 인스톨되면, 상기 게임용 컨테이너(160)는 기존의 다른 게임용 컨테이너(160) 대신 또는 다른 게임용 컨테이너(160)에 더해져 장치의 메모리 내에 단순히 로딩된다. 그러면, 상기 엔진(190)은 새로운 게임을 실행할 새로운 컨테이너(160)를 읽어 들이게 된다. For example, using the same operating system calls to initialize a timer function that calls the engine 19 about 15 times per second, write to a memory location, trigger a display update, and put the engine 190 at rest. The engine 19 is changed only to make it dormant. The engine 190 is only an executable part of a 360-3D game. Once the engine 190 has been tested and debugged for a particular mobile device 180 and operating system, no further testing or debugging is required to install on such mobile device 180. When a new 360-3D game is installed on the mobile device 180, the gaming container 160 is simply loaded into the device's memory instead of or in addition to the other existing gaming container 160. Then, the engine 190 reads a new container 160 to execute a new game.

상기 제작 툴(130)이 360-3D 게임을 생성하고 상기 런타임 엔진(190)이 게임을 실행하는 방법에 대해 자세히 살펴보기에 앞서, 본 발명의 이해를 돕기 위하여 360-3D 게임의 포맷과 보통 360-3D 게임에서 발생하는 게임 액션(gaming action)의 유형을 살펴보도록 한다. Before the production tool 130 creates a 360-3D game and looks at how the runtime engine 190 executes the game in detail, the format of the 360-3D game and the normal 360 to aid in understanding of the present invention. Let's look at the types of gaming actions that occur in 3D games.

상기 360-3D 게임은 1인용 슈팅 게임(first-person shooter games)으로 알려진 장르에 속한다. 즉, 360-3D 게임의 플레이어가 이동 장치(180)의 비디오 스크린(200)에 디스플레이되는 장면 안에 존재하는 가상 플레이어(virtual player)의 시각과 대결하게 된다. 상기 가상 플레이어는 일반적으로 장면 내에서 움직일 수 있고, 캐릭터(characters)이나 물체를 향해 슈팅하는 것과 같은 액션을 취할 수 있다. 상기 액션은 슈팅에만 한정되는 것이 아니라, 당업계에서 공지의 기술인 게임장면에서 가상 플레이어와 캐릭터 사이의 상호 작용의 형태도 가능하다.The 360-3D game belongs to a genre known as first-person shooter games. That is, the player of the 360-3D game confronts the view of the virtual player existing in the scene displayed on the video screen 200 of the mobile device 180. The virtual player can generally move within the scene and take actions such as shooting towards characters or objects. The action is not limited to shooting, but may also be a form of interaction between a virtual player and a character in a game scene known in the art.

예를 들어 상기 액션은 몇몇 형태의 액션을 수행하기 위해 캐릭터를 선택하는 것이 될 수도 있다. 그러나 참조의 편의상, 가상 플레이어와 캐릭터 사이의 상호작용은 이하에서 슈팅(shooting) 및/또는 발사(firing a shot)라 하기로 한다. 또한, 상기 슈팅은 수많은 서로 다른 형태의 타깃에 각종 발사체를 쏘는 것이 포함될 수 있다. 일 예로 군인, 탱크, 헬리콥터 등과 같은 서로 다른 군대의 움직이는 형상들(action figures)에 플레이어가 발사하는 군대 액션 게임이 될 수 있다. 다른 예로서 공룡들 또는 수중의 상어들을 쏘는 게임 또는 사격 연습장(shooting gallery) 형태의 게임이 될 수도 있다. 상기 게임은 또한 플레이어가 불의 화염을 진화하기 위해 불길에 물을 발사하는 소방수 게임이 될 수 있다. 이때, 상기 슈팅 및/또는 발사는 스프레이(spraying), 포인팅(pointing), 지시(designating) 및/또는 선택(selecting)이 될 수 있다. 본 발명의 시스템에 적용될 수 있는 다른 형태 의 게임의 예들은 당업계의 공지 기술에 이미 제시되어 있다.For example, the action may be to select a character to perform some type of action. However, for convenience of reference, the interaction between the virtual player and the character is hereinafter referred to as shooting and / or firing a shot. The shooting may also include shooting various projectiles at a number of different types of targets. For example, it may be an army action game in which a player fires at the action figures of different armies such as soldiers, tanks, helicopters, and the like. As another example, it may be a game of shooting dinosaurs or underwater sharks or a game in the form of a shooting gallery. The game can also be a firefighter game in which the player fires water on the flames to evolve the flames of fire. In this case, the shooting and / or firing may be spraying, pointing, designing and / or selecting. Examples of other types of games that can be applied to the system of the present invention are already presented in the known art.

상기 360-3D 게임의 일 실시 예에서 상기 가상 플레이어는 한 장면의 단일 점(point)에서 정지된 상태를 유지하거나 상기 점을 중심으로 자유롭게 회전할 수 있다. 한 장소에서 시계 또는 반시계 방향으로 돌거나 회전함으로써 가상 플레이어는 자기가 위치하고자 하는 중심에서 가상 세계를 360도 볼 수 있다. 상기 가상 플레이어가 회전하는 장면의 배경은 한결같이 감싸고 있는 전경(panorama)이므로 실제 세계의 장면에서 가상 플레이어가 끊임없이 회전할 수 있는 상황이 만들어진다. 그러므로 상기 플레이어는 시계 또는 반시계 방향으로 360, 720, 1080도 등으로 회전할 수 있다. In an embodiment of the 360-3D game, the virtual player may freeze or rotate around a single point of a scene. By rotating or rotating clockwise or counterclockwise from one location, the virtual player can see the virtual world 360 degrees from the center he or she is in. Since the background of the scene in which the virtual player is rotated is a panorama which constantly wraps, a situation in which the virtual player can be constantly rotated in the scene of the real world is created. Therefore, the player can rotate 360, 720, 1080 degrees or the like clockwise or counterclockwise.

실제 플레이어는 일반적으로 이동 장치(180)의 키패드 상의 키들을 누름으로써 가상 플레이어의 액션을 제어한다. 예를 들어, 좌측 또는 우측 커서 키는 상기 가상 플레이어가 왼쪽 또는 오른쪽으로 회전하도록 하는데 사용된다. '엔터(Enter)'키 또는 다른 키는 발사하는데 사용될 수 있다. 다른 실시 예들에서 다른 키 또는 사용자 입력을 제공하는 다른 수단들은 이러한 액션들을 수행하는데 사용될 수 있다. The real player generally controls the action of the virtual player by pressing keys on the keypad of the mobile device 180. For example, the left or right cursor keys are used to cause the virtual player to rotate left or right. The 'Enter' key or other key can be used to fire. In other embodiments other keys or other means of providing user input may be used to perform these actions.

도 2는 가상 플레이어(210)와 그가 중심에 위치하는 원형의 전경(220)을 내려다보는 부감(俯瞰; overhead) 사시도이다. 산(230)들이나 다른 풍경들 같은 대상들은 배경에 나타나는 반면에 건물(buildings)들 및 다른 대상들, 나무(250)들 및 다른 자연 대상들, 인간, 동물 또는 생명이 없는 캐릭터(260)들은 전경에 나타낸다. 이러한 배경 및 전경의 대상들은 적절히 비율을 이룸으로써 3차원 모습이 만들 어진다. 또한, 상기 가상 플레이어(210)가 회전함에 따라 원형의 전경(220)의 서로 다른 부분이 시야에 나타나게 된다. 2 is an overhead perspective view overlooking the virtual player 210 and the circular foreground 220 in which it is located. Objects such as mountains 230 or other landscapes appear in the background while buildings and other objects, trees 250 and other natural objects, humans, animals or lifeless characters 260 are in the foreground. Shown in These background and foreground objects are properly proportioned to create a three-dimensional appearance. In addition, as the virtual player 210 rotates, different portions of the circular foreground 220 appear in the field of view.

도 3은 360-3D 게임 실행 시 실제 플레이어가 비디오 디스플레이(200)에서 볼 수 있는 하나의 장면을 도시한 것이다. 도시된 바와 같이, 상기 원형의 전경(220) 일부는 상기 디스플레이(200) 상에서 평면으로 나타낼 수 있다. 상기 전경(220)에 배열된 산(230)들, 건물(240)들, 나무(250)들 및 캐릭터(260)들이 디스플레이(200) 상에 나타난다. 캐릭터(260)들, 차량들 및 다른 움직이는 대상들은 상기 가상 플레이어(210)의 관점으로부터 배경에 대해 좌우로 움직일 수 있다. (이하, 대상이 인간, 동물, 차량 또는 다른 형태의 움직이는 물체인지에 관계없이 장면 내에서 움직일 수 있는 어떤 물체라도 캐릭터(260, character)라 한다.)3 illustrates one scene that a real player can see on the video display 200 when executing a 360-3D game. As shown, a portion of the circular foreground 220 may be represented in a plane on the display 200. Mountains 230, buildings 240, trees 250, and characters 260 arranged in the foreground 220 appear on the display 200. Characters 260, vehicles and other moving objects may move from side to side with respect to the background from the perspective of the virtual player 210. (Hereinafter, any object that can move in the scene, regardless of whether it is a human, an animal, a vehicle, or some other type of moving object, is called a character.)

또한, 상기 캐릭터(260)들은 상기 가상 플레이어(210)로부터 다가가거나 물러나는 모습을 보여주기 위해 크기를 확대 및 축소(scale up and down)할 수 있다. 또한, 이러한 화면의 스캐일링(scaling)은 정지된 대상이 상기 가상 플레이어(210)로부터 가까워지거나 멀어지는 장면을 나타내는데 사용될 수 있다. In addition, the characters 260 may be scaled up and down in size to show the approach or withdrawal from the virtual player 210. In addition, scaling of the screen may be used to represent a scene in which the stationary object is approaching or away from the virtual player 210.

상기 장면은 배경 및 전경에 대해 캐릭터(260)의 깊이를 표시하는 보이지 않는 계층들(layers)을 포함한다. 좌측 또는 우측으로 이동 시 캐릭터(260)들은 상기 계층들 중 한 계층에서만 움직인다. 즉, 캐릭터(260)는 전경 또는 배경에 가능한 한 가까이 있거나 전경에서 가장 가까운 계층으로부터 배경에 가장 가까운 계층들 사이에 어느 한 계층에 있을 수 있다. 이는 상층(upper layer)의 캐릭터(260)가 하층(lower layer)의 캐릭터(260) 앞을 지날 때 이를 엄폐하면서 서로 다른 계층들에 존재하는 캐릭터(260)들이 서로의 앞이나 뒤로 움직이도록 한다. 앞이나 뒤로 움직이는 모습을 생성하기 위해 크기를 스캐일링할 때, 캐릭터(260)는 또한 계층을 달리할 수가 있다. The scene includes invisible layers that indicate the depth of the character 260 with respect to the background and foreground. When moving left or right, the characters 260 move only in one of the layers. That is, the character 260 may be in either layer as close as possible to the foreground or background or between layers closest to the background from the layer closest to the foreground. This obscures when the upper layer character 260 passes in front of the lower layer character 260 and allows the characters 260 present in different layers to move in front of or behind each other. When scaling the size to create a forward or backward figure, the character 260 can also vary in hierarchy.

도 4는 이러한 계층(layering)의 개념을 설명하고 있다. 산(230)들은 계층 0이라 불리는 가장 먼 계층 또는 배경에 나타날 수 있다. 나무(250)는 상기 계층 0의 앞에 위치한 계층 10에 나타날 수 있고, 다른 나무(250)는 상기 계층 10의 앞에 위치한 계층 20에 나타날 수 있다. 두 건물(240)들은 상기 계층 20의 앞에 위치한 계층 30에 나타날 수 있다. 캐릭터(260)는 상기 계층 30의 앞에 위치한 계층 40에 나타날 수 있다. 도 4에서는 다섯 계층이 도시되었으나, 다른 실시 예들에서는 다른 개수의 계층이 나타날 수 있다. 상기 모든 계층들이 동시에 디스플레이되고 적절한 크기의 대상들이 상기 계층들에 선택되면, 대상들이 다른 대상들의 앞뒤에 나타나고 이와 관련한 엄폐(occulting)가 일어나면서 3차원 모습이 화면(200)에 생성된다.4 illustrates this concept of layering. The mountains 230 may appear in the farthest layer or background, called layer zero. Tree 250 may appear at layer 10 in front of layer 0 and another tree 250 may appear at layer 20 in front of layer 10. Two buildings 240 may appear in Tier 30 located in front of Tier 20. The character 260 may appear in a hierarchy 40 located in front of the hierarchy 30. Although five layers are illustrated in FIG. 4, different numbers of layers may appear in other embodiments. When all the layers are displayed simultaneously and objects of the appropriate size are selected in the layers, a three dimensional view is created on the screen 200 as objects appear before and after other objects and occulting in relation to them.

다시 도 3을 참조하면, 십자형 커서(270; crosshair)는 상기 가상 플레이어가 목표로 하는 곳을 보여주기 위해 나타난다. 다른 실시 예들에서는 상기 십자형 커서(270) 대신에 포인터(pointer), 조준 포인터(aiming pointer) 또는 표적 십자선(targeting reticle)과 같은 타깃 표시(targeting indicator)가 사용될 수 있다. 이하에서는 상기 타깃 표시를 포함한 어떠한 타깃 표시도 십자형 커서(270)라고 한다.Referring again to FIG. 3, a crosshair 270 appears to show where the virtual player is targeting. In other embodiments, a targeting indicator such as a pointer, an aiming pointer, or a targeting reticle may be used instead of the cross cursor 270. Hereinafter, any target display including the target display is referred to as a cross cursor 270.

상기 십자형 커서(270)는 화면(200)상의 좌측에서 우측으로 중앙에 위치한 다. 실제 플레이어가 상기 가상 플레이어(210)를 좌측 또는 우측으로 회전시키는 효과는 장면에서 이미지들이 회전하지만 십자형 커서(270)는 좌측에서 우측으로 중앙을 유지한다. 또한 상기 실제 플레이어는 이동 장치(180)의 키패드 상에 상하 커서 키를 이용하거나 이와 유사한 입력 메커니즘을 통해 십자형 커서(270)를 상하로 이동시킬 수 있다. 이와 같이, 상기 실제 플레이어는 십자형 커서(270)가 상기 장면에서 캐릭터(260) 또는 다른 대상을 조준하도록 시도할 수 있다. 상기 이동 장치(180)의 키패드 상의 적당한 키를 치거나 다른 적절한 입력을 제공하여 실제 플레이어가 상기 십자형 커서(270)의 중앙에서 액션(예를 들어, 발사)이 이루어지도록 한다. 만일 상기 십자형 커서(270)가 캐릭터(260)상에 적절히 위치하면, 상기 액션은 캐릭터(260)의 반응(예를 들어, 상기 캐릭터(260)에 부상을 입힘)을 일으킨다.The cross cursor 270 is located at the center from the left to the right on the screen 200. The effect of the actual player rotating the virtual player 210 left or right is that the images rotate in the scene but the cross cursor 270 is centered from left to right. In addition, the actual player may move the cross cursor 270 up and down by using the up and down cursor keys on the keypad of the mobile device 180 or through a similar input mechanism. As such, the real player may attempt to have the crosshair cursor 270 aim at the character 260 or other object in the scene. A suitable key on the keypad of the mobile device 180 or other appropriate input is provided to allow a real player to take action (eg, fire) at the center of the crosshair 270. If the crosshair cursor 270 is properly positioned on the character 260, the action causes a reaction of the character 260 (eg, injury to the character 260).

상기 캐릭터(260)는 가상 플레이어(210)를 향해 슈팅과 같은 액션을 취할 수 있는 능력을 지닌다. 또한 상기 캐릭터(260)는 구조물 또는 풍경 안이나 뒤로 이동할 수 있는데, 예를 들어 가상 플레이어(210)가 슈팅하지 못하도록 주요 캐릭터(260) 보다 높은 계층의 구조물 뒤로 이동할 수 있다.The character 260 has the ability to take actions such as shooting towards the virtual player 210. Also, the character 260 may move in or behind a structure or landscape, for example, may move behind a structure of a higher hierarchy than the main character 260 to prevent the virtual player 210 from shooting.

한편, '레이더(280, radar)'라 불리는 그래픽 디스플레이가 상기 화면(200)에 표시되며, 현재 보이는 장면 외부에 위치한 어떠한 캐릭터(260)들을 포함하여 상기 가상 플레이어(210)에 위협을 가하는 캐릭터(260)들이 어디에 위치하는지를 가리킨다. 상기 레이더(280)는 또한 위협 표시기(threat indicator)라고 한다. 상기 레이더(280)는 하기에서 상세하게 설명한다.On the other hand, a graphic display called 'radar 280 (radar)' is displayed on the screen 200, including any characters 260 located outside the currently visible scene to pose a threat to the virtual player 210 ( 260 indicates where they are located. The radar 280 is also referred to as a threat indicator. The radar 280 will be described in detail below.

또한 상기 화면(200)은 가상 플레이어(270)가 얼마나 많은 캐릭터(260)들을 죽였는지 및/또는 가상 플레이어의 파트너 또는 경쟁자가 다인용 게임에서 얼마나 많은 캐릭터(260)들을 죽였는가를 표시하는 점수(290, scores)를 포함한다. 상기 다인용 게임(multi-player games)은 하기에서 상세히 설명하기로 한다. 예를 들어 남아있는 저장분, 탄약 및 게임 시간과 같은 다른 상태 정보를 화면(200)에 디스플레이할 수도 있다. The screen 200 also displays a score 290 that indicates how many characters 260 the virtual player 270 killed and / or how many characters 260 the partner or competitor of the virtual player killed in the multiplayer game. , scores). The multi-player games will be described in detail below. For example, other status information such as remaining storage, ammunition, and game time may be displayed on the screen 200.

360-3D 게임에 대한 게임 실행의 일반적인 개념은, 일인용 슈팅 게임에서, 캐릭터(260)들이 가상 플레이어(210)를 죽이기 전에 상기 모든 캐릭터(260)들을 죽이는 것이다. 다시 슈팅 게임에 초점을 맞추면, 유사한 개념들을 다른 유형의 게임에 적용할 수 있다. 360-3D 게임이 인스톨된 장치(180)의 소유자는 첫째로 통신(telephony) 또는 가입자(organizer) 기능을 위해 상기 장치(180)를 사용하고, 가끔 일시적인 기분 전환을 위해 게임 실행을 두 번째 특징으로 사용할 것이다. 그러므로 상기 360-3D 게임은 사용자로 하여금 많은 교습이나 연습이 필요 없이 빠르고 직관적으로 게임의 규칙 및 다른 특징들을 배울 수 있도록 이루어진다. 레이더(280), 수직 위치가 특정 입력 키에 의해 제어되는 수평적으로 중앙에 위치한 십자형 커서(270), 특정 입력 키를 이용한 발사, 및 특정 입력 키들에 의해 제어되는 가상 플레이어(210)의 회전과 같은 특징들은 사용자가 빠르게 새로운 360-3D 게임 사용법을 배울 수 있도록 하는 규정이다. 또한 상기 게임은 최소한의 셋업(set-up) 및 스타트업(start-up) 시간을 갖도록 설계되어 있다.The general concept of game execution for a 360-3D game is to kill all of the above characters 260 before the characters 260 kill the virtual player 210 in the single person shooting game. Once again focusing on shooting games, similar concepts can be applied to other types of games. The owner of a device 180 with a 360-3D game installed first uses the device 180 for a telephony or organizer function, and the second feature is game play for occasional transient moods. will use it. Thus, the 360-3D game allows the user to learn the rules and other features of the game quickly and intuitively without requiring much teaching or practice. A radar 280, a horizontally centered crosshair 270 whose vertical position is controlled by a specific input key, firing with a specific input key, and rotation of the virtual player 210 controlled by specific input keys; The same features make it possible for the user to quickly learn how to play the new 360-3D game. The game is also designed to have a minimum set-up and start-up time.

상기 가상 플레이어(210)는 캐릭터(260)에 대해 지정된 레벨의 손상(harm)을 입힐 수 있는 무기를 가진다. 무기로 가할 수 있는 손상의 레벨은 상기 무기의 파워라 한다. 이때, 캐릭터(260)에 의해 유지되는 손상의 양은 데미지(damage)라 한다. 예를 들어, 5의 파워를 지닌 무기는 상기 가상 플레이어(210)가 무기를 통해 캐릭터(260)에게 발사하면 5 포인트의 데미지를 상기 캐릭터(260)에게 가할 수 있다. 상기 캐릭터(260)들은 죽거나 다른 액션이 상기 캐릭터(260)에 발생하기 전까지 견딜 수 있는 지정된 레벨의 데미지를 가질 수 있다. 예를 들어, 캐릭터(260)는 20 포인트의 데미지를 입은 후에 죽을 수 있다. 이러한 캐릭터(260)는 5의 파워를 지닌 무기에 의해 4번 맞은 후에 죽게된다. The virtual player 210 has a weapon capable of inflicting a specified level of harm to the character 260. The level of damage that can be inflicted by a weapon is called the weapon's power. At this time, the amount of damage maintained by the character 260 is referred to as damage. For example, a weapon having a power of 5 may inflict 5 points of damage to the character 260 when the virtual player 210 fires at the character 260 through the weapon. The characters 260 may have a specified level of damage that can withstand until they die or other action occurs on the character 260. For example, the character 260 may die after taking 20 points of damage. This character 260 is killed after being hit 4 times by a weapon with 5 powers.

이와 비슷하게 상기 캐릭터(260)들은 가상 플레이어(210)에 지정된 레벨의 데미지를 가할 수 있는 무기를 가질 수 있고, 상기 가상 플레이어(210)는 죽기 전에 견딜 수 있는 특정 레벨의 데미지를 가질 수 있다. 상기 가상 플레이어(210)가 캐릭터(260)들이 자신을 죽이기 전에 모든 캐릭터(260)들을 죽인다면, 보통 게임에서 승리하거나 새로운 레벨의 게임에 도달할 수 있다. 이러한 일반적 게임 개념에 수많은 변화가 가능하며, 당업계의 기술에서 분명히 알 수 있다. 예를 들어, 파워 및 데미지의 개념은 소방수 게임과 같이 전투가 일어나지 않는 게임에서도 이미 확장되어 적용되고 있다. Similarly, the characters 260 may have weapons that can inflict a specified level of damage to the virtual player 210, and the virtual player 210 may have a certain level of damage that can be tolerated before dying. If the virtual player 210 kills all the characters 260 before the characters 260 kill themselves, they can usually win the game or reach a new level of game. Numerous variations on this general game concept are possible and are apparent in the art. For example, the concept of power and damage has already been extended to non-combat games such as firefighter games.

360-3D 게임이 시작되면, 다양한 액션을 수행하는 각종 캐릭터(260)들이 장면의 여러 위치에서 등장할 수 있다. 게임 개발자가 상기 저작 도구(130)를 이용하여 어떤 캐릭터(260)들이 등장하고 이들의 특징은 무엇이며, 어디에 등장하는지 어떤 행동을 할 것인지에 대해 설정하는 방식은 하기에서 자세하게 설명한다.When the 360-3D game starts, various characters 260 performing various actions may appear at various positions in the scene. The manner in which the game developer sets the characters 260 using the authoring tool 130, what are their characteristics, where they appear, and how to act will be described in detail below.

게임이 시작되면, 상기 가상 플레이어(210)는 돌아서서 십자형 커서(270)의 위치를 설정하고 상기한 방법으로 슈팅을 시작할 수 있다. 또한 상기 캐릭터(260)들도 가상 플레이어(210)를 향해 슈팅을 시작할 수 있다. 일 실시 예에서, 상기 가상 플레이어(210)가 게임 초기에 언제 슈팅을 시작하는지를 결정하기 위해 감시 루틴(monitoring routine)이 사용될 수 있고, 상기 캐릭터(260)들도 가상 플레이어(210)가 슈팅을 시작하기 전까지 슈팅이 허용되지 않을 수 있다. 이러한 방식으로 상기 가상 플레이어 (210)는 게임 초기의 장면에서 안전하게 살아남을 수 있는 기회를 얻을 수 있다. 이는 또한 새로운 플레이어로 하여금 게임을 습득할 수 있는 기회를 줄 수도 있다.When the game starts, the virtual player 210 can turn around to set the position of the cross cursor 270 and start shooting in the manner described above. Also, the characters 260 may start shooting toward the virtual player 210. In one embodiment, a monitoring routine may be used to determine when the virtual player 210 will begin shooting early in the game, and the characters 260 may also begin shooting by the virtual player 210. Shooting may not be allowed until In this way, the virtual player 210 may have the opportunity to survive safely in the early stages of the game. It may also give new players the chance to learn the game.

캐릭터(260)의 행동은 상세히 후술될 하나 이상의 '.act' 파일(150)에서 게임 개발자에 의해 지정되거나 기술된다. 일례로서 하나의 캐릭터(260)가 지정된 시간 동안 물체 뒤에 숨어 있다 물체 뒤에서 일어나고 가상 플레이어(210)를 향해 슈팅한 다음 다시 숨을 수도 있다. 상기 캐릭터(260)는 가상 플레이어(210)에 의해 죽임을 당할 때까지 이러한 동작을 반복할 수도 있다.The behavior of the character 260 is specified or described by the game developer in one or more '.act' files 150, which will be described in detail below. As an example one character 260 hides behind an object for a specified time. It may take place behind an object, shoot towards the virtual player 210 and then hide again. The character 260 may repeat this operation until killed by the virtual player 210.

이러한 동작은 단일 '.act' 파일(150)로 저장될 수 있다. 전술한 바와 같이 '.act' 파일(150)들은 데이터만을 포함하며 실행 코드는 포함하지 않는다. 상기 '.act' 파일(150)의 제1 부분은 캐릭터(260)가 죽기 전까지 버틸 수 있는 데미지량 및 상기 캐릭터(260)가 죽는 경우 취할 수 있는 액션과 같은 캐릭터(260)의 특징에 대한 설정과 관련된 데이터를 포함할 수 있다. 상기 '.act' 파일(150)의 제2 부분은 상기 캐릭터(260)의 등장을 묘사하는 명령을 포함할 수 있다. 상기 '.act' 파 일(150)의 제3 부분은 상기 캐릭터(260)의 가상 플레이어(210)를 향한 슈팅을 묘사하는 명령을 포함할 수 있다. 또한 상기 '.act' 파일(150)의 제4 부분은 상기 캐릭터(260)가 숨어 있어야 하는 시간의 길이에 대한 명령을 포함할 수 있다. 상기 '.act' 파일(150)의 제5 부분은 상기 제2 부분으로 돌아가 일련의 사건을 되풀이하는 명령을 포함할 수 있다. 일부 실시 예들에서는, 이러한 행위들에 대한 모든 정보는 분리된 부분들을 포함하는 단일 '.act' 파일(150)에 저장되거나, 별도의 '.act' 파일(150)들에 저장될 수 있다.This action may be stored as a single '.act' file 150. As described above, the '.act' files 150 include only data and no executable code. The first portion of the '.act' file 150 is set for the characteristics of the character 260 such as the amount of damage that can be sustained before the character 260 dies and actions that can be taken if the character 260 dies. It may include data related to. The second portion of the '.act' file 150 may include a command depicting the appearance of the character 260. The third portion of the '.act' file 150 may include a command depicting the shooting of the character 260 towards the virtual player 210. In addition, the fourth portion of the '.act' file 150 may include a command for the length of time that the character 260 should be hidden. The fifth portion of the '.act' file 150 may include instructions to return to the second portion and repeat a series of events. In some embodiments, all information about these actions may be stored in a single '.act' file 150 that includes separate portions or in separate '.act' files 150.

상기 가상 플레이어(210)가 캐릭터를 죽이면, 상기 '.act' 파일(150)의 제1 부분의 설정들이 탐색된다. 이러한 설정들은 캐릭터(260)의 죽음을 요청하기 위한 하나 이상의 다른 '.act' 파일(150)들을 확인하며, 이러한 다른 '.act' 파일(150)들은 하나 이상의 다른 캐릭터(260)들이 등장하거나 일련의 다른 액션을 수행하도록 할 수 있다. 게임 개발자는 캐릭터(260)의 복잡한 행동을 묘사하기 위해 상기 '.act' 파일(150)을 원하는 만큼 복잡하도록 만들 수 있다. 또한 게임 개발자는 원하는 만큼 복잡한 초기 시나리오를 생성하기 위해 게임 시작 시 초기화를 위한 다수의 '.act' 파일(150)들을 정의할 수 있다. When the virtual player 210 kills the character, the settings of the first portion of the '.act' file 150 are searched. These settings identify one or more other '.act' files 150 for requesting the death of the character 260, which may be a series of one or more other characters 260. Can be used to perform other actions. The game developer can make the '.act' file 150 as complex as desired to depict the complex behavior of the character 260. In addition, the game developer may define a plurality of '.act' files 150 for initialization at the start of the game in order to create an initial scenario as complex as desired.

또한 '.act' 파일(150)은 상기 엔진(190)이 언제든지 원하는 만큼의 다른 '.act' 파일(150)들을 생성(launch)하거나 호출(call)하도록 할 수 있다. 지정된 액션이 캐릭터(260)에 일어날 때, 하나의 '.act' 파일(150)은 상기 엔진(190)이 다른 '.act' 파일(150)들을 생성하도록 할 수 있다. 예를 들어, 제1 캐릭터(260)가 죽으면, 제2 캐릭터(260)가 장면의 소정 위치에서 등장할 수 있고, 또 다른 위치에 서 제3의 캐릭터(260)가 등장할 수 있다. 제 2 및 제 3 캐릭터(260)들의 행동은 다른 '.act' 파일(150)들에 의해 묘사될 것이다. 이러한 '.act' 파일(150)들은 상기 제2 및 제3 캐릭터(260)들에 대한 일련의 복잡한 액션을 기술하며, 지정된 액션이 상기 제2 및 제3 캐릭터(260)들에서 발생할 때 상기 엔진(190)이 생성하는 다른 '.act' 파일(150)들을 확인할 수 있다.In addition, the '.act' file 150 may cause the engine 190 to launch or call as many other '.act' files 150 as desired at any time. When a specified action occurs on the character 260, one '.act' file 150 may cause the engine 190 to generate other '.act' files 150. For example, when the first character 260 dies, the second character 260 may appear at a predetermined position in the scene, and the third character 260 may appear at another position. The behavior of the second and third characters 260 will be depicted by other '.act' files 150. These '.act' files 150 describe a series of complex actions on the second and third characters 260 and the engine when a specified action occurs on the second and third characters 260. Other '.act' files 150 generated by 190 may be checked.

캐릭터에 대한 '.act' 파일(150)은 상기 엔진(190)이 서로 다른 상황에서 다른 '.act' 파일(150)을 호출하도록 할 수 있다. 예를 들어, 캐릭터(260)가 부상을 당하면, 상기 엔진(190)은 상기 캐릭터(260)가 부상당하기 전에 캐릭터(260)의 행동을 묘사하는 '.act' 파일(150)에 의해 상기 캐릭터(260)의 절름거리는 행동을 묘사하는 다른 '.act' 파일(150)을 호출하도록 한다. 만일 캐릭터(260)가 죽으면, 상기 엔진(190)은 상기 캐릭터(260)의 죽는 행동을 묘사하는 또 다른 '.act' 파일을 호출하도록 한다. 상기 캐릭터(260)가 지정된 장소로 이동하면, '.act' 파일(150)은 상기 엔진(190)이 캐릭터(260)의 무기 파워 또는 버틸 수 있는 데미지량을 변경할 수 있다. 캐릭터(260)의 행동이 게임 환경에 근거하여 변하는 다른 방법들은 당업계의 기술에서 분명히 알 수 있을 것이다.The '.act' file 150 for the character may cause the engine 190 to call another '.act' file 150 in different situations. For example, if the character 260 is injured, the engine 190 may cause the character (i.e., the .act) file 150 to describe the behavior of the character 260 before the character 260 is injured. 260 calls another '.act' file 150 that depicts the lame behavior. If the character 260 dies, the engine 190 calls another '.act' file that depicts the death behavior of the character 260. When the character 260 moves to a designated place, the '.act' file 150 may change the amount of damage that the engine 190 can sustain or the weapon power of the character 260. Other ways in which the behavior of the character 260 changes based on the game environment will be apparent to those skilled in the art.

이와 같이, '.act' 파일(150)들은 게임의 진행을 통해 상기 엔진(190)이 다른 '.act' 파일(150)들을 생성하거나 호출하도록 할 수 있다. 가상 플레이어(210)가 캐릭터(260)들과 상호 작용하고, 상기 캐릭터(260)의 액션이 자신의 '.act' 파일(150)에 의해 제어되며, 이전 캐릭터(260)와 연관된 '.act' 파일(150)의 데이터를 근거로 새로운 캐릭터(260)를 등장시키는 방법들을 통해 복잡한 게임 줄거리가 생성되어 진행될 수 있다. 일반적으로 일정 액션이 일정 캐릭터(260)에 일어나거나 일정 점수(290)에 도달했을 때, 상기 게임을 종료하거나 새로운 게임 레벨로 진입하도록 하는 '.act' 파일(150)들이 존재하게 된다.As such, the '.act' files 150 may allow the engine 190 to generate or call other '.act' files 150 through the progress of the game. The virtual player 210 interacts with the characters 260, the action of the character 260 is controlled by its '.act' file 150, and the '.act' associated with the previous character 260. Based on the data of the file 150, a complex game plot may be generated and proceed through the method of introducing a new character 260. In general, when a certain action occurs for a certain character 260 or reaches a certain score 290, there are '.act' files 150 to end the game or enter a new game level.

전술한 바와 같이, 상기 엔진(190)이 '.act' 파일(150)에 포함된 데이터를 읽어들일 때, '.pic' 파일(140)의 이미지들이 화면(200)에 디스플레이되거나 다른 유형의 액션이 일어나도록 하는 일련의 명령을 발생시킨다. 일련의 명령은 액션 정의(action definition)라고 할 수 있다. 상기 '.act' 파일(150)들은 오직 명령이 아닌 데이터만을 포함하거나 처리할 수 있는 코드를 포함한다. 보다 상세하게, 상기 '.act' 파일(150)들은 예를 들어 중앙 처리 장치(CPU: Central Processor Unit) 또는 신호처리 장치(DSP: Digital Signal Processor)와 같은 처리 장치에 의해 실행용 명령어 레지스터(instruction register)로 로딩하기에 적합한 기계 명령(machine instructions)을 포함하지 않는다. 여기서, 상기 '.act' 파일(150)이 처리 기능(processing functionality)을 명령, 지시 또는 착수하는 것은 상기 '.act' 파일(150)을 읽어 들이고 게임 실행을 위한 명령을 처리하는 엔진(190)에 의해 처리가 이루어지는 것을 의미한다. '.act' 파일(150)은 일련의 프레임들로 간주할 수 있는데, 각 프레임은 상기 런타임 엔진(190)에 의해 읽힐 때 수행될 수 있는 하나의 명령(command)을 갖는다. 또한 하나의 프레임은 다른 유형의 명령어(instruction)를 가질 수 있다.As described above, when the engine 190 reads data included in the '.act' file 150, images of the '.pic' file 140 are displayed on the screen 200 or other types of actions. It generates a series of commands to make this happen. A series of commands can be called an action definition. The '.act' files 150 contain code that can contain or process only data, not instructions. More specifically, the '.act' files 150 may be executed by an instruction register for execution by a processing unit such as, for example, a central processor unit (CPU) or a digital signal processor (DSP). It does not contain machine instructions suitable for loading into registers. Here, the '.act' file 150 commands, instructs or starts processing functionality by reading the '.act' file 150 and processing an instruction for executing a game. This means that the processing is performed by. The '.act' file 150 can be thought of as a series of frames, each frame having one command that can be performed when read by the runtime engine 190. In addition, one frame may have another type of instruction.

일 실시 예에 따라, 각 '.act' 파일(150)은 32 바이트의 데이터로 구성될 수 있다. 다른 실시 예들에서, 프레임들은 다른 크기를 가질 수도 있다. 이때, 1 바이 트는 상기 엔진(190)에 의해 수행될 수 있는 명령을 기술하거나 지정하는 지표(indicator)를 포함할 수 있다. 다른 바이트들은 예를 들어, 장면의 이미지로 디스플레이되는 특정 '.pic' 파일에 상기 명령을 적용하는 파일의 이름이나 위치를 포함할 수 있다. 본 발명의 일 실시 예에 따라, 상기 파일은 컨테이너(160)로의 어드레스 오프셋(address offset)에 의해 확인될 수 있다. 상기 명령에 더하여, 다른 유형의 명령어들도 그 밖의 바이트를 차지할 수 있다. 후술될 저작 도구(130)를 사용하는 게임 개발자는 명령 지표(command indicators), 파일명 및 각 프레임이 갖는 다른 명령어를 지정하여, 각 프레임이 상기 런타임 엔진(190)에 의해 읽혀질 때 발생하게 될 액션을 지정할 수 있다.According to an embodiment, each '.act' file 150 may be composed of 32 bytes of data. In other embodiments, the frames may have different sizes. In this case, one byte may include an indicator that describes or specifies an instruction that may be executed by the engine 190. The other bytes may include, for example, the name or location of the file that applies the command to a particular '.pic' file displayed as an image of the scene. According to an embodiment of the present disclosure, the file may be identified by an address offset to the container 160. In addition to the above instructions, other types of instructions may occupy other bytes. Game developers using authoring tool 130, which will be described later, specify command indicators, filenames, and other commands that each frame has, so as to determine the action that will occur when each frame is read by the runtime engine 190. Can be specified.

이때, 상기 런타임 엔진(190)이 '.act' 파일(150)을 실행하면, 활동(activity)을 시작했다고 말할 수 있다. 활동은 액션이라고 할 수도 있다. 액션 또는 활동은 '.act' 파일(150)의 일례로 간주될 수 있다. 예를 들어, 달리는 병사의 움직임을 정의하는 단일 '.act' 파일(150)을 3회에 걸쳐 생성함으로써 세 명의 달리는 병사들이 장면에서 만들어질 수 있다. 각각의 달리는 병사는 독특하고 고유한 활동을 갖는다. 하나의 활동은 상기 활동의 행동, 현재 프레임, 상기 활동으로 유지되는 축적된 데미지, 장면에서의 현재 위치 및 그 밖의 상태 정보를 설명하는 '.act' 파일(150)을 확인할 수 있는 정보를 포함한다. 예를 들어, 공통의 '.act' 파일(150)로부터 생성된 달리는 병사의 상태를 정의하는 3가지 활동은 얼마나 많은 데미지가 개별 활동에 남아있는지, 각 활동이 언제 생성되었으며 그로 인해 상기 활동과 관련된 캐릭터가 초기 생성 위치로부터 얼마나 멀리 이동하였는지 등에 기 초하여 구별될 수 있다. 일 실시 예에서, 상기 런타임 엔진(190)은 각 활동에 실행 트랙(execution track)을 할당하며, 타임 틱(time tick) 또는 클록 틱(clock tick) 동안 다수의 실행 트랙을 처리할 수 있다.In this case, when the runtime engine 190 executes the '.act' file 150, it may be said that activity has started. An activity can also be called an action. An action or activity may be considered an example of a '.act' file 150. For example, three running soldiers can be created in the scene by creating a single '.act' file 150 that defines the running soldier's movements three times. Each running soldier has a unique and unique activity. One activity includes information identifying the '.act' file 150 that describes the activity's action, current frame, accumulated damage retained by the activity, current location in the scene, and other status information. . For example, the three activities that define the running soldier's status generated from a common '.act' file 150 may indicate how much damage is left in the individual activity, when each activity was created and thereby associated with the activity. The character may be distinguished based on how far the character has moved from the initial generation position. In one embodiment, the runtime engine 190 assigns execution tracks to each activity and can process multiple execution tracks during a time tick or clock tick.

상기 런타임 엔진(190) 타임 슬라이스(time slice), 클록 틱 또는 틱이라 불리는 시간의 작은 부분 동안 다수의 '.act' 파일(150)들에서 명령어를 실행한다. 도 5는 네 개의 '.act' 파일(150)들의 집합에서 프레임(300)들을 읽어 들이는 런타임 엔진(190)을 도시한 것이다. 다른 실시 예들에서는 다른 개수의 '.act' 파일(150)들이 나타날 수도 있다. 상기 '.act' 파일(150)들은 동일한 크기로 나타냈지만 이에 한정되지 않는다. 상기 런타임 엔진(190)에서 타임 슬라이스에 연결되는 화살표(310)는 상기 엔진(190)이 현재 읽어들이는 프레임(300)을 가리킨다. 이 경우, 상기 엔진(190)이 각 '.act' 파일(150)별로 다른 프레임을 읽어들이고 있다는 것을 알 수 있다. 이와 같이 상기 엔진(190)인 동일한 틱 동안 다수의 '.act' 파일(150)들을 읽어들이면, 상기 디스플레이(200) 상에 다수의 이미지가 동시에 나타나도록 할 수 있다.The runtime engine 190 executes instructions in a number of '.act' files 150 during a small portion of time called a time slice, clock tick or tick. 5 illustrates a runtime engine 190 reading frames 300 from a set of four '.act' files 150. In other embodiments, a different number of '.act' files 150 may appear. The '.act' files 150 are shown in the same size, but are not limited thereto. An arrow 310 connected to the time slice in the runtime engine 190 indicates the frame 300 that the engine 190 currently reads. In this case, it can be seen that the engine 190 is reading a different frame for each '.act' file 150. As such, when the plurality of '.act' files 150 are read during the same tick as the engine 190, the plurality of images may be simultaneously displayed on the display 200.

한편, 프레임에 나타날 수 있는 명령들 중 하나는 '.pic' 명령이다. 프레임이 하나의 '.pic' 명령을 포함하면, 상기 엔진(190)은 적절한 '.pic' 파일(140)을 검색하고, 디스플레이(200) 상에 상기 '.pic' 파일(140)에 포함된 이미지를 디스플레이한다. '.pic' 파일(140) 내의 이미지들은 하기에서 상세히 설명한다.On the other hand, one of the commands that can appear in the frame is the '.pic' command. If the frame contains one '.pic' command, the engine 190 searches for the appropriate '.pic' file 140 and includes the '.pic' file 140 on the display 200. Display the image. Images in the '.pic' file 140 are described in detail below.

상기 '.pic' 명령을 이용하는 예로서, '.act' 파일(150)은 캐릭터(260)가 달리는 모습을 갖도록 만들어질 수 있다. 예를 들어, 서로 약간 다른 신체 자세를 묘 사하는 14개 정도의 다른 포즈들은 실제 달리는 동작을 생성하기 위해 순차적으로 디스플레이될 필요가 있음을 알 수 있다. 각 포즈는 별도의 '.pic' 파일(140)에 저장된다. 상기 '.act' 파일(150)에서 하나의 프레임은 첫 번째 달리는 포즈의 검색 및 디스플레이를 요청하는 '.pic' 명령을 포함할 수 있고, 다음 프레임은 두 번째 달리는 포즈의 검색 및 디스플레이를 요청하는 '.pic' 명령을 포함할 수 있다. 또 다른 프레임은 이전 14개의 프레임들이 반복되도록 지정할 수도 있다. 상기 14개의 이미지들이 비디오 화면상에 순차적으로 반복하여 디스플레이될 때 상기 달리는 동작이 만들어진다.As an example of using the '.pic' command, the '.act' file 150 may be made to have a character 260 running. For example, it can be seen that as many as 14 different poses depicting slightly different body postures need to be displayed sequentially to produce the actual running motion. Each pose is stored in a separate '.pic' file 140. One frame in the '.act' file 150 may include a '.pic' command requesting the search and display of the first running pose, and the next frame may request the search and display of the second running pose. May contain a '.pic' command. Another frame may specify that the previous 14 frames are to be repeated. The running operation is made when the fourteen images are sequentially and repeatedly displayed on a video screen.

비디오 화면상의 부드럽고 현실적인 동작의 묘사는 화면의 동영상이 초당 15회 또는 그 이상의 횟수로 업데이트할 것을 요구한다. 영화 필름은 보통 초당 24회의 화면 이미지를 업데이트하고, 텔레비전은 보통 초당 30회의 화면 이미지를 업데이트한다. 그러므로, 상기 런타임 엔진(19)은 초당 15개 이상의 명령(commands) 또는 명령어들(instructions)의 세트, 또는 약 67 밀리초마다 적어도 하나의 명령 속도로 '.act' 파일(150) 내 명령을 실행한다. 이 67 밀리초 시간 주기는 하나의 타임 슬라이스, 클록 틱 또는 틱이라 불릴 수 있다. 대부분 틱과 프레임 사이에는 일대일 관계가 존재한다. 즉, 매 틱(tick) 마다 각 능동적 '.act' 파일(150)들로부터 하나의 프레임을 읽어들인다. 그러나 '멀티(multi)'로 알려진 명령어 옵션이 프레임에 존재하는 것과 같이 일부 경우에는, 하나 이상의 프레임을 단일 틱에서 읽어들일 수 있다. 상기 'multi' 명령어 옵션은 이하에서 상세히 설명하기로 한다. 상술한 프레임 디스플레이 속도, 틱 처리 속도 및 '.act' 파일(150)의 프레임 읽기 속도는 본 실시 예에서 제공되지만, 그 밖의 속도가 다른 실시 예들에서 사용될 수 있다. The depiction of smooth, realistic motion on the video screen requires that the video on the screen be updated 15 or more times per second. Movie film typically updates 24 screen images per second, and television typically updates 30 screen images per second. Thus, the runtime engine 19 executes instructions in the '.act' file 150 at a rate of at least 15 commands or sets of instructions per second, or at least one instruction rate about every 67 milliseconds. do. This 67 millisecond time period may be called one time slice, clock tick or tick. In most cases, there is a one-to-one relationship between ticks and frames. That is, one frame is read from each active '.act' file 150 every tick. However, in some cases, more than one frame can be read in a single tick, such as when a command option known as 'multi' exists in a frame. The 'multi' command option will be described in detail later. The above-mentioned frame display rate, tick processing rate and frame read rate of the '.act' file 150 are provided in this embodiment, but other speeds may be used in other embodiments.

여기에서 사용되는 '프레임'이란 용어가 사용되는 두 가지 경우를 구별할 필요가 있다. 공통적인 용어로 영화에서 초당 일정 수의 프레임의 속도로 디스플레이된다고 하는데, 이는 초당 디스플레이되는 이미지의 수를 의미한다. 본 발명에서는 360-3D 게임이 초당 15개의 프레임 속도로 디스플레이된다고 말할 수 있다. 상기 '프레임'이란 용어는 데이터 패킷 또는 '.act' 파일(150)의 일부로 불릴 수 있는데, 여기에서는 '.act' 파일의 프레임이라고 한다.It is necessary to distinguish two cases where the term 'frame' is used here. In common terms, a movie is displayed at a certain number of frames per second, which means the number of images displayed per second. In the present invention, it can be said that a 360-3D game is displayed at 15 frames per second. The term 'frame' may be referred to as a data packet or part of an '.act' file 150, which is referred to herein as a frame of a '.act' file.

본 발명의 일 실시 예에 따라, '.pic' 명령뿐만 아니라 다음의 명령들도 '.act' 파일(150)의 프레임에서 발생할 수 있다.According to an embodiment of the present invention, the following commands as well as the '.pic' command may occur in the frame of the '.act' file 150.

- 'launch', 'go to', 'if .act go to self', 'damage'. 'delete', 'delete self', 'reload', 'bonus', 'sound stop', 'shoot', 'say', 및 'hear'.-'launch', 'go to', 'if .act go to self', 'damage'. 'delete', 'delete self', 'reload', 'bonus', 'sound stop', 'shoot', 'say', and 'hear'.

상기 'launch' 명령은 현재 '.act' 파일(150a) 계속 실행되면서 '.act' 파일(150b)의 경우가 실행되도록 한다. 예를 들어, 달리는 모습의 움직임을 묘사하는데 필요한 일련의 '.pic' 명령들을 설명하는 단일 '.act' 파일에 기초하여 달리는 병사의 다수의 경우들이 생성될 수 있다. 실행되는 '.act' 파일(150)의 각 경우는 하나의 활동(activity)이라 불릴 수 있다. 상기 '활동'이란 용어는 상기 엔진(190)에 의해 '.act' 파일(150)의 프레임을 읽어들이는 것을 말할 수도 있다.The 'launch' command causes the current '.act' file 150a to continue to be executed while the '.act' file 150b is executed. For example, multiple instances of a running soldier can be generated based on a single '.act' file describing a series of '.pic' commands needed to describe the running motion. Each case of the '.act' file 150 to be executed may be referred to as one activity. The term 'activity' may refer to reading a frame of the '.act' file 150 by the engine 190.

상기 'launch' 명령은 상기 명령과 일치하는 '.act' 파일(150)에 의해 정의된 활동을 생성한다. 상기 'launch' 명령은 하나의 캐릭터(260)가 또 다른 캐릭 터(260)를 생성하도록 하는데 사용될 수 있다. 예를 들어, 제1 캐릭터(260)가 죽으면, 사상자를 대신하기 위해 보내는 지원병력의 예로서 제2 캐릭터(260)가 생성될 수 있다. 이는 제2 캐릭터(260)에 관련된 '.act' 파일(150b)을 생성하는 제1 캐릭터(260)에 관련된 '.act' 파일(150a)의 프레임에서 'launch' 명령을 배치함으로써 이루어질 수 있다. 상기 제2 캐릭터(260)가 활동하는 동안 상기 제1 캐릭터(260)의 시체가 보일 수 있도록 하는 것이 바람직하다. 상기 'launch' 명령은 제1 캐릭터(260)와 관련된 '.act' 파일(150a)이 활동하도록 하고, 제2 캐릭터(260)에 관련된 '.act' 파일(150b)이 실행을 시작하도록 하는 동안 시체가 디스플레이되도록 한다. 상기 'launch' 명령이 360-3D 게임에서 액션을 제어하는데 사용될 수 있는 다른 방법들이 당업계에 알려져 있다.The 'launch' command creates an activity defined by the '.act' file 150 that matches the command. The 'launch' command may be used to cause one character 260 to create another character 260. For example, when the first character 260 dies, the second character 260 may be generated as an example of a supporting force sent to replace the casualty. This may be done by placing a 'launch' command in the frame of the '.act' file 150a associated with the first character 260 that generates the '.act' file 150b associated with the second character 260. Preferably, the body of the first character 260 is visible while the second character 260 is active. The 'launch' command causes the '.act' file 150a associated with the first character 260 to be active and the '.act' file 150b associated with the second character 260 to begin execution. Allow the body to be displayed. Other methods are known in the art that the 'launch' command can be used to control the action in a 360-3D game.

상기 'go to' 명령은 제1 '.act' 파일(150a)에 의해 정의된 제1 활동에서 'go to' 명령이 제2 '.act' 파일(150b)에 의해 정의된 제2 활동의 실행을 시작하도록 한다는 점에서 상기 'launch' 명령과 유사하다. 그러나 상기 'launch' 명령과는 다르게 상기 제1 활동에서 'go to' 명령은 제1 활동을 중지하고 삭제되도록 한다. 상기 예에서 'go to' 명령은 제1 캐릭터(260)가 죽은 후 시체가 보이는 것을 원하지 않을 경우에 사용될 수 있다. 상기 'go to' 명령이 제1 캐릭터(260)가 죽은 후 제2 캐릭터(260)가 등장하도록 사용된다면, '.act' 파일(150a)에 의해 정의되고 제1 캐릭터(260)와 관련된 활동의 동작이 중지되고, 다음 틱에서 디스플레이되지 않도록 사라지게 된다.The 'go to' command is executed by the 'go to' command in the first activity defined by the first '.act' file 150a by the second '.act' file 150b. Similar to the 'launch' command in that it starts. However, unlike the 'launch' command, the 'go to' command in the first activity causes the first activity to stop and be deleted. In the above example, the 'go to' command may be used when the body does not want to see the body after the first character 260 dies. If the 'go to' command is used to cause the second character 260 to appear after the first character 260 dies, the 'go to' command is defined by the '.act' file 150a and associated with the activity of the first character 260. The operation stops and disappears so that it is not displayed on the next tick.

또한 상기 'go to' 명령은 캐릭터가 달리는 예에서 상술한 바와 같이 반 복(looping) 능력을 제공할 수 있다. 이 경우, 상기 'go to' 명령은 '.act' 파일(150)이 그 자체로 돌아가도록 하는데 사용된다. 상기 'go to' 명령이 사용되면, 상기 '.act' 파일(150)의 어느 프레임이 'go to' 명령의 타깃이 되는지를 지정하는 것이 가능해진다. 후술되는 이유 때문에, '.act' 파일(150)의 제1 프레임이 상기 'go to' 명령의 타깃이 되는 것은 바람직하지 않다. 따라서 'go to' 명령이 '.act' 파일(150) 내에서 루프를 생성하는데 사용되면, 상기 'go to' 명령은 일반적으로 '.act' 파일(150)의 실행을 '.act' 파일(150)의 제2 프레임으로 리셋시킨다. 이러한 명령은 상기 'go to' 명령이 위치하는 지점에서 상기 '.act' 파일(150)의 실행을 중지시키고 '.act' 파일(150)의 제2 프레임으로 되돌아간다. 따라서 상기 '.act' 파일(150)의 마지막 프레임을 통해 제2 프레임은 반복적으로 실행된다. 360-3D 게임 개발자들이 상기 'go to' 명령을 사용하여 캐릭터(260)들의 다른 행동을 묘사하는 다른 방법들이 당업계에 분명히 알려져 있다. In addition, the 'go to' command may provide a looping capability as described above in the character running example. In this case, the 'go to' command is used to cause the '.act' file 150 to return to itself. When the 'go to' command is used, it becomes possible to specify which frame of the '.act' file 150 is the target of the 'go to' command. For reasons described below, it is not preferable that the first frame of the '.act' file 150 is the target of the 'go to' command. Thus, if the 'go to' command is used to create a loop within the '.act' file 150, the 'go to' command generally causes execution of the '.act' file 150 to be executed in the '.act' file ( To a second frame of 150). This command stops execution of the '.act' file 150 at the point where the 'go to' command is located and returns to the second frame of the '.act' file 150. Therefore, the second frame is repeatedly executed through the last frame of the '.act' file 150. Other ways in which the 360-3D game developers describe different behaviors of the characters 260 using the 'go to' command are clearly known in the art.

상기 'if .act go to self' 명령은 360-3D 게임 개발자들에게 캐릭터(260)의 행동을 묘사하는데 상당한 능력을 제공하는 막강한 명령이다. 이 명령으로 제1 '.act' 파일(150a)은 제2 '.act' 파일(150b)이 현재 활성화되어 있는지를 판단한다. 상기 제2 '.act' 파일(150b)이 활성화되면, 제1 '.act' 파일(150a)의 실행이 상기 제1 '.act' 파일(150a) 내에 다른 프레임으로 이동하거나 다른 액션을 취하게 된다. 이는 상기 제1 '.act' 파일(150a)에 의해 제어되는 캐릭터(260)가 상기 제2 '.act' 파일(150b)이 실행되는지의 여부에 따라 다른 액션을 취하거나 부가적인 게임 기능을 제공하도록 할 수 있다.The 'if.act go to self' command is a powerful command that gives 360-3D game developers considerable power to describe the behavior of the character 260. With this command, the first '.act' file 150a determines whether the second '.act' file 150b is currently activated. When the second '.act' file 150b is activated, execution of the first '.act' file 150a moves to another frame or takes another action within the first '.act' file 150a. do. This means that the character 260 controlled by the first '.act' file 150a takes different actions or provides additional game functions depending on whether the second '.act' file 150b is executed. You can do that.

예를 들어, 만일 제1 계층에 특정 대상이 존재하지 않으면 상기 제1 '.act' 파일(150a)에 의해 제어되는 캐릭터(260)가 화면(200)의 좌측에서 우측으로 이동하도록 할 수 있다. 만일 상기 제1계층에 대상이 존재한다면, 제2 계층에서 상기 캐릭터(260)가 이동하도록 하는 것이 바람직하다. 이를 구현하기 위해서, 상기 캐릭터(260)를 제어하는 '.act' 파일(150a)이 제1 계층에서 캐릭터(260)가 이동하며 등장하도록 하는 명령어들의 제1 세트와 제2 층에서 캐릭터(260)가 이동하며 등장하도록 하는 명령어들의 제2 세트를 포함할 수 있다. 또한 상기 'act' 파일(150a)은 대상이 존재하는지의 여부를 체크하는 'if .act go to self' 명령을 포함할 수도 있다.For example, if a specific object does not exist in the first layer, the character 260 controlled by the first '.act' file 150a may move from the left side to the right side of the screen 200. If the object exists in the first layer, it is preferable to allow the character 260 to move in the second layer. To implement this, the '.act' file 150a controlling the character 260 causes the character 260 in the first and second layers of instructions to cause the character 260 to move and appear in the first layer. May include a second set of instructions to cause a to appear and move. In addition, the 'act' file 150a may include an 'if .act go to self' command for checking whether an object exists.

상기 캐릭터(260)가 제1 계층에서 이동을 시작하고, 상기 캐릭터(260)를 제어하는 '.act' 파일(150a)은 'if .act go to self' 명령이 대상의 존재 여부를 판단하도록 주기적으로 실행시킬 수 있다. 만약 대상이 존재하지 않으면(즉, 대상을 제어하는 '.act' 파일(150b)이 현재 활성화되어 있지 않으면), 상기 캐릭터(260)를 제어하는 '.act' 파일(150a)이 제1 명령어 세트를 실행하고 제1 계층에 남아있도록 한다. 반면 대상이 존재하면(즉, 대상을 제어하는 '.act' 파일(150b)이 현재 활성화되어 있으면), 상기 캐릭터(260)를 제어하는 '.act' 파일(150a)이 제2 명령어 세트로 건너 뛰어 상기 캐릭터(260)가 제2 계층으로 이동하여 등장하도록 한다. 이는 상기 캐릭터(260)가 대상 뒤에서 나오며 등장하도록 할 수도 있다. 상기 'if .act go to self' 명령이 360-3D 게임의 프로그래밍 로직을 구성하는데 사용될 수 있는 수많은 다른 방법들이 당업계의 기술로 알려져 있을 수도 있다. The character 260 starts moving in the first layer, and the '.act' file 150a controlling the character 260 periodically checks whether an 'if .act go to self' command exists. You can run If the target does not exist (ie, the '.act' file 150b controlling the target is not currently active), then the '.act' file 150a controlling the character 260 is the first instruction set. Run and remain in the first tier. On the other hand, if the target exists (ie, the '.act' file 150b controlling the target is currently active), then the '.act' file 150a controlling the character 260 is skipped to the second instruction set. The character 260 moves to the second layer to appear. This may allow the character 260 to emerge from behind the subject. Numerous other ways in which the 'if. Act go to self' instruction may be used to construct the programming logic of a 360-3D game may be known in the art.

상기 'damage' 명령은 캐릭터(260)가 죽거나 다른 액션이 일어나기 전에 유지할 수 있는 데미지량을 지정하는 데 사용된다. 또한 상기 'damage' 명령은 캐릭터(260)의 임계(threshold) 데미지에 도달 시 일어나는 액션을 지정한다. 예를 들어, 제1 '.act' 파일(150a)의 'damage' 명령에 20 레벨의 데미지가 주어지고 상기 제1 '.act' 파일(150a)에 의해 제어되는 캐릭터(260)가 20의 데미지를 유지할 때 'die1'으로 불리는 제2 '.act' 파일(150b)과 관련되어 있다면, 상기 'die1' '.act' 파일(150b)은 실행을 시작할 것이다. 상기 'die1' '.act' 파일(150b)은 캐릭터(260)가 바닥에 넘어지도록 묘사할 수도 있다.The 'damage' command is used to specify the amount of damage that the character 260 can maintain before it dies or other actions take place. In addition, the 'damage' command specifies an action that occurs when the threshold damage of the character 260 is reached. For example, 20 levels of damage are given to the 'damage' command of the first '.act' file 150a and 20 characters of the character 260 controlled by the first '.act' file 150a are damaged. If it is associated with a second '.act' file 150b called 'die1' when maintaining, the 'die1' '.act' file 150b will begin execution. The 'die1' '.act' file 150b may depict the character 260 falling on the floor.

일반적으로 상기 'damage' 명령은 '.act' 파일(150a)의 제1 프레임 내에 위치한다. 이 프레임 내에서 지정된 데미지 및 임계치에 도달 시 생성되는 '.act' 파일(150b)의 이름은 후속 'damage' 명령에 의해 변경되지 않는다면 상기 '.act' 파일(150a)이 실행되는 동안 유효하게 된다. 임계 데미지에 도달 시 실행되는 '.act' 파일(150)을 변경하면, 캐릭터(260)가 다른 환경하에서 다른 방식으로 죽도록 할 수 있다. 예를 들어, 캐릭터(260)가 죽을 때 바닥에 넘어지게 하는 'die1' '.act' 파일(150b)을 갖도록 할 수 있다. 상기 캐릭터(260)가 이어서 높은 위치로 이동하면, 상기 'damage' 명령이 캐릭터(260)가 죽는 방식을 달리하도록 할 수 있다. 'die2' '.act' 파일(150c)은 상기 캐릭터(260)가 죽을 때 다른 방식으로 바닥에 넘어지도록 상기 'damage' 명령에 의해 지정될 수 있다.In general, the 'damage' command is located in the first frame of the '.act' file 150a. The name of the '.act' file 150b generated upon reaching the specified damage and threshold within this frame becomes valid while the '.act' file 150a is executed unless changed by a subsequent 'damage' command. . Changing the '.act' file 150 executed upon reaching critical damage may cause the character 260 to die in different ways under different circumstances. For example, the character 260 may have a 'die1' '.act' file 150b that causes the character 260 to fall to the floor. If the character 260 subsequently moves to a higher position, the 'damage' command may cause the character 260 to die differently. A 'die2' '.act' file 150c may be designated by the 'damage' command to fall to the floor in a different way when the character 260 dies.

상기 'delete' 명령은 지정된 이름을 지닌 '.act' 파일(150)에 의해 제어되는 모든 행동들이 실행을 중지하고 종속 '.act' 파일(150)에 의해 제어되는 캐릭 터(260)가 화면(200)에서 사라지도록 한다. 예를 들어, 상기 화면(200)을 가로질러 좌측에서 우측으로 달리는 캐릭터(260)가 'run3'라 불리는 '.act' 파일(150)에 의해 제어될 수 있다. 이러한 달리는 캐릭터(260)들 또는 달리는 행동들의 여러 경우가 상기 'run3' '.act' 파일(150)로부터 발생할 수 있다. 'run3' 파일명에 적용되는 'delete' 명령은 'run3' '.act' 파일(150)로부터 발생한 모든 달리는 캐릭터(260)들 또는 달리는 행동들이 동시에 실행을 중지하고, 달리는 캐릭터(260)들 또는 달리는 행동들의 모든 경우가 동시에 사라지도록 할 수 있다.The 'delete' command stops execution of all actions controlled by the '.act' file 150 with the specified name, and displays the character 260 controlled by the dependent '.act' file 150. 200). For example, the character 260 running from left to right across the screen 200 may be controlled by the '.act' file 150 called 'run3'. Several instances of these running characters 260 or running actions may occur from the 'run3' '.act' file 150. The 'delete' command applied to the 'run3' file name causes all running characters 260 or running actions from the 'run3' '.act' file 150 to stop running at the same time, running characters 260 or All cases of actions can be made to disappear at the same time.

이와 대조적으로, 상기 'delete self' 명령은 'delete self' 명령이 실행되는 활동만이 실행을 중지하도록 한다. 예를 들어, 제1 활동은 반복(looping)되고 있으므로 'run2' '.act' 파일(150)에 의해 발생되는 제2 활동의 처리 시 'run2' '.act' 파일(150) 내의 'delete self' 명령이 상기 엔진(190)에 의해 충돌하지 않도록 한다. 그러나 상기 엔진(190)은 'run2' '.act' 파일(150)에 의해 발생되는 제2 활동의 처리 시 상기 'delete self' 명령과 충돌할 수 있다. 그 이유는 다른 이벤트가, 예를 들어 가상 플레이어(210)에 의해 이루어지는 발사와 같이 제2 행동의 처리가 루프로부터 벗어나 'delete self' 명령을 처리하도록 하는 제2 행동에 적용될 수 있기 때문이다. 이 경우, 'run2' '.act' 파일(150)에 의해 발생되는 제2 활동과 연관된 캐릭터(260)는 사라지지만, 'run2' '.act' 파일(150)에 의해 발생되는 제1 활동과 연관된 캐릭터(260)는 계속 보이게 된다.In contrast, the 'delete self' command causes only the activity on which the 'delete self' command is executed to stop execution. For example, since the first activity is looping, 'delete self' in the 'run2' '.act' file 150 when processing the second activity generated by the 'run2' '.act' file 150. Command is not collided by the engine 190. However, the engine 190 may collide with the 'delete self' command when processing the second activity generated by the 'run2' '.act' file 150. The reason is that other events can be applied to the second action such that the processing of the second action is taken out of the loop to process the 'delete self' command, such as firing made by the virtual player 210, for example. In this case, the character 260 associated with the second activity generated by the 'run2' '.act' file 150 disappears, but the first activity generated by the 'run2' '.act' file 150 The associated character 260 remains visible.

상기 'reload' 명령은 가상 플레이어(210)가 사용 가능한 탄약의 양을 변화시킨다. 상기 가상 플레이어(210)는 보통 정해진 탄약의 양을 가지고 게임을 시작 한다. 상기 가상 플레이어(210)에 의해 이루어지는 각 발사는 가상 플레이어(210)가 사용하는 무기의 파워에 의해 이 탄약의 양을 감소시킨다. 예를 들어, 상기 가상 플레이어(210)가 5의 파워를 가진 무기와 100 레벨의 탄약을 가지고 게임을 시작하면, 탄약이 바닥날 때까지 20발을 발사할 수 있다. 상기 'reload' 명령은 가상 플레이어의 탄약 레벨을 증가시키거나 감소시킬 수 있다. 예를 들어, 상기 가상 플레이어(210)가 하나의 레벨에서 승리하고 다른 레벨로 이동할 때, 상기 'reload' 명령은 가상 플레이어의 탄약 레벨을 최고치로 리셋한다. 선택적으로, 상기 가상 플레이어(210)가 적이 아닌 죄 없는 사람에게 발사할 경우, 'reload' 명령은 가상 플레이어(210)로부터 탄약을 공제할 수 있다. 상기 'reload' 명령은 하나의 레벨을 실행하는데 알맞은 탄약의 비축을 증가시키거나 감소시키는데 사용될 수 있다.The 'reload' command changes the amount of ammo available to the virtual player 210. The virtual player 210 usually starts a game with a fixed amount of ammunition. Each launch made by the virtual player 210 reduces the amount of ammunition by the power of the weapon used by the virtual player 210. For example, if the virtual player 210 starts a game with a weapon having a power of 5 and ammunition of 100 levels, the player may fire 20 rounds until the ammunition runs out. The 'reload' command may increase or decrease the ammunition level of the virtual player. For example, when the virtual player 210 wins at one level and moves to another level, the 'reload' command resets the virtual player's ammunition level to its maximum. Optionally, when the virtual player 210 fires at an innocent person rather than an enemy, the 'reload' command may deduct ammunition from the virtual player 210. The 'reload' command can be used to increase or decrease the stock of ammunition suitable for executing one level.

상기 'bonus' 명령은 가상 플레이어(210)가 일부 환경에서 추가 포인트를 얻도록 할 수 있다. 보통 상기 가상 플레이어(210)가 받게 되는 포인트 수는 하나의 캐릭터(260)를 죽이는데 필요한 데미지와 동일하다. 즉, 20 포인트의 데미지가 캐릭터(260)를 죽이는데 필요하다면, 상기 가상 플레이어(210)는 한 캐릭터(260)를 죽일 때마다 20 포인트를 얻게 된다. 'act' 파일(150)의 프레임에 'bonus' 명령을 삽입함으로써, 게임 개발자는 가상 플레이어(210)가 캐릭터(260)를 죽이면 얻게 되는 보통 점수보다 더 많은 점수를 얻도록 할 수 있다. 또한 보너스 포인트는 다른 이벤트가 발생할 때 주어질 수도 있다.The 'bonus' command may cause the virtual player 210 to gain additional points in some circumstances. In general, the number of points received by the virtual player 210 is the same as the damage required to kill one character 260. That is, if 20 points of damage are required to kill the character 260, the virtual player 210 gets 20 points each time one character 260 is killed. By inserting the 'bonus' command into the frame of the 'act' file 150, the game developer can make the virtual player 210 score more than the normal score that would be gained by killing the character 260. Bonus points can also be given when other events occur.

상기 'sound' 명령은 임의의 프레임에서 소리가 발생하도록 할 수 있다. 소리를 포함하는 파일의 위치 및 이름은 상기 'sound' 명령을 포함하는 프레임에서 지정될 수 있다. 소리가 일정 횟수로 반복되도록 상기 'sound' 명령에 루프 값이 결합될 수 있다. 'sound stop' 명령은 보통 소리가 멈출 때보다 일찍 멈추도록 하는데 사용될 수 있다.The 'sound' command may cause a sound to be generated in an arbitrary frame. The location and name of the file containing the sound may be specified in the frame including the 'sound' command. The loop value may be combined with the 'sound' command so that the sound is repeated a predetermined number of times. The 'sound stop' command can be used to stop the sound earlier than it normally does.

상기 'shoot' 명령은 현재 실행되는 하나의 '.act' 파일(150)에 데미지를 가할 수 있는 능력을 다른 '.act' 파일(150)에 부여하기 위해 사용된다. 일례로서, 상기 'shoot' 명령은 대상물의 폭발로 인해 캐릭터(260)가 죽도록 할 수 있다.The 'shoot' command is used to give the other '.act' file 150 the ability to inflict damage on one '.act' file 150 currently being executed. As an example, the 'shoot' command may cause the character 260 to die due to the explosion of the object.

상기 'say' 명령은 하나의 '.act' 파일(150)이 또 다른 '.act' 파일(150)에 메시지를 전송하도록 한다. 'hear' 명령은 하나의 '.act' 파일(150)이 또 다른 '.act' 파일(150)로부터 메시지를 들을 수 있는 능력을 부여한다. The 'say' command causes one '.act' file 150 to send a message to another '.act' file 150. The 'hear' command gives one '.act' file 150 the ability to hear a message from another '.act' file 150.

상술한 명령들과 이의 변형들은 360-3D 게임 개발자에게 복잡한 게임 시나리오를 기술하는 능력을 제공할 수 있다는 것은 당업계에 분명히 알려져 있다. 또한 이러한 명령들에 다른 이름이 사용될 수 있고, 별도의 명령들이 추가로 사용될 수 있으며, 이러한 명령들과 유사한 명령들의 세트가 사용될 수 있고, 다양하게 기술된 기능들의 조합이 사용될 수도 있으며, 그 밖의 기능들이 본 발명의 범위에 벗어나지 않고 사용될 수 있음은 당업계에 잘 알려져 있다.It is clearly known in the art that the above-described instructions and variations thereof can provide a 360-3D game developer the ability to describe complex game scenarios. Also, other names may be used for these commands, additional commands may be used additionally, sets of commands similar to these commands may be used, combinations of various described functions may be used, and other functions. It is well known in the art that they can be used without departing from the scope of the present invention.

각 프레임(300)의 크기와 그 결과로 만들어지는 '.act' 파일(150)의 크기를 줄이기 위해서, '.act' 파일(150)의 각 프레임은 어느 명령이 해당 프레임에서 실행되는가를 지정하는, 1 바이트 길이의 지표(indicator)를 포함한다. 예를 들어, 지표 1은 '.pic' 명령을 지정할 수 있고, 지표 2 및 지표 3은 각각 'launch' 명령과 'go to' 명령을 지정한다. 한편, 다른 실시 예에서는 다른 지표가 사용될 수 있 다.In order to reduce the size of each frame 300 and the resulting '.act' file 150, each frame of the '.act' file 150 specifies which command is executed in that frame. And an indicator of 1 byte length. For example, indicator 1 can specify the '.pic' command, while indicator 2 and indicator 3 specify the 'launch' command and the 'go to' command, respectively. Meanwhile, other indicators may be used in other embodiments.

또한 상기 지표는 상기 명령과 연결되는 파일의 유형을 표시한다. 즉, '.pic' 명령이 하나의 프레임에 표시되면, 상기 프레임의 파일 포인터 또는 파일명은 디스플레이되는 '.pic' 파일(140)을 말한다. 만약 'launch' 명령이 프레임에 표시되면, 해당 프레임의 파일 포인터 또는 파일명은 생성되는 '.act' 파일(150)을 말한다. 이와 같은 여러 가지 면모들은 저장 및 메모리 사양의 측면에서 360-3D 게임의 크기를 줄이고 표준 하드웨어 능력을 지닌 이동 장치(180)에서 게임이 실행되도록 채택되고 있다. 각 프레임은 '.act' 데이터 파일에서 하나의 기록(record)으로 간주되는데, 상기 기록의 각 필드는 대표 데이터를 포함하는 것을 알 수 있다. 예를 들어, 제1 필드는 표시된 명령과 관련된 필드에서 데이터를 지닌 상술한 명령에 관한 것이다.The indicator also indicates the type of file associated with the command. That is, when the '.pic' command is displayed in one frame, the file pointer or file name of the frame refers to the '.pic' file 140 displayed. If the 'launch' command is displayed in the frame, the file pointer or file name of the frame refers to the generated '.act' file 150. These aspects have been adopted to reduce the size of the 360-3D game in terms of storage and memory specifications and to allow the game to run on mobile device 180 with standard hardware capabilities. Each frame is considered a record in the '.act' data file, where each field of the record contains representative data. For example, the first field relates to the above-described command with data in the field associated with the displayed command.

상기 명령들에 더하여, 그 밖의 명령어(instruction)들이 하나의 프레임에 나타날 수 있다. 일 실시예에서, 상기 부가적인 명령어들은 'absolute x', 'absolute y', 'delta x', 'delta y', 'scale', 'layer', 'power' 및 'multi'를 포함한다. 'absolute x' 및 'absolute y'는 각각, 예를 들어 프레임에 의해 지정되거나 참조되는 '.pic' 파일에 의해 정의되는 이미지와 같은, 대상이 등장하는 수평 및 수직 위치의 픽셀 수를 지정한다. 상기 'absolute x' 및 'absolute y' 명령어들은 대상의 초기 위치를 지정하는 '.act' 파일(150)의 제1 프레임에서만 나타난다. 상기 'absolute x' 및 'absolute y' 명령어들이 나타나는 프레임은 보통 상기 '.act' 파일(150)에 의해 정의되는 활동이 실행되는 동안 복귀하지 않는다. 왜냐하 면 해당 프레임으로의 복귀는 캐릭터(260)가 현재 위치에서 초기 위치로 이동하도록 하는 것이기 때문이다. 이는 바람직하지 못하게 크고 갑작스런 건너뛰기(jump)를 일으킬 수 있다.In addition to the above instructions, other instructions may appear in one frame. In one embodiment, the additional instructions include 'absolute x', 'absolute y', 'delta x', 'delta y', 'scale', 'layer', 'power' and 'multi'. 'absolute x' and 'absolute y' respectively specify the number of pixels in the horizontal and vertical position at which the object appears, such as an image defined by a '.pic' file specified or referenced by a frame, respectively. The 'absolute x' and 'absolute y' commands appear only in the first frame of the '.act' file 150 that specifies the initial position of the object. The frame in which the 'absolute x' and 'absolute y' commands appear does not normally return while the activity defined by the '.act' file 150 is executed. This is because the return to the frame is to cause the character 260 to move from the current position to the initial position. This can cause undesirably large and sudden jumps.

상기 'delta x' 및 'delta y' 명령어들은 각각 이전 프레임에서 캐릭터(260)의 위치에 대하여 수평 및 수직으로 이동하는 픽셀의 수를 지정한다. 10 프레임의 달리는 동작이 캐릭터(260)의 달리는 모습을 만들어 낸 상기 예에서, 장면을 통한 이동이 지정되어 있지 않으면 상기 캐릭터(260)는 제자리에서 달리게 될 것이다. 움직임의 모습을 만들어내기 위해서, 각 프레임의 'delta x' 명령어는 상기 캐릭터(260)가 배경에 대하여 수평으로 이동하는 거리를 지정해 줄 수 있다.The 'delta x' and 'delta y' instructions designate the number of pixels moving horizontally and vertically with respect to the position of the character 260 in the previous frame, respectively. In the example in which the running motion of 10 frames produced the running figure of the character 260, the character 260 would run in place if no movement through the scene was specified. In order to create a motion image, the 'delta x' command of each frame may designate a distance that the character 260 moves horizontally with respect to the background.

상기 'scale' 명령어는 캐릭터와 관련된 크기를 지정하며 보통 표준 크기의 백분률로 지정된다. 프레임간 캐릭터(260)의 비례(scale)를 증가시키면 가상 플레이어(210)를 향해 다가가는 모습을 만들어낼 수 있고, 프레임간 캐릭터(260)의 비례(scale)를 감소시키면, 가상 플레이어(210)로부터 멀어지는 모습을 만들어낼 수 있다.The 'scale' command specifies the size associated with the character and is usually specified as a percentage of the standard size. Increasing the scale of the inter-frame character 260 may create a state of approach toward the virtual player 210, and decreasing the scale of the inter-frame character 260 may reduce the scale of the virtual player 210. You can create a look away from it.

상기 'layer' 명령어는, 도 4에 도시된 바와 같이, 하나의 대상이 나타나는 계층을 지정한다. 일반적으로 게임 개발자는 상기 캐릭터(260)가 비례의 변화를 통해 앞뒤로 움직일 때 캐릭터 나타나는 계층의 변화를 지정해 준다.The 'layer' command designates a layer in which one object appears, as shown in FIG. 4. In general, a game developer designates a change in the hierarchy of characters when the character 260 moves back and forth through a change in proportion.

상기 'power' 명령은 캐릭터(260)의 무기가 갖는 파워의 양을 지정하여 상기 캐릭터(260)가 가상 플레이어(210)에게 발사할 때 가해지는 데미지의 양을 지정해 준다. 게임 개발자는 상기 캐릭터(260)가 발사하지 않을 때 무기의 파워를 0으로 설정하지만 발사 시 상기 파워를 다른 값으로 설정할 수 있다. 이는 상기 캐릭터(260)를 묘사하는 두 개의 서로 다른 '.act' 파일(150)들을 사용하여 발사하거나 발사하지 않도록 나타냄으로써 이루어질 수 있다. 상기 두 '.act' 파일(150)들 사이에서 캐릭터(260)의 묘사에 대한 제어가 변화함에 따라 상기 'power' 명령어는 0에서 양의 일정 값 사이의 파워를 변화시킬 수 있다. 상기 'power' 명령은 슈팅 지향 게임을 참조하여 위에서 설명하는 반면에, 'power' 구성(construct)은 다른 게임 시나리오에서 일반화될 수 있다.The 'power' command designates the amount of power possessed by the weapon of the character 260 to designate the amount of damage inflicted when the character 260 fires at the virtual player 210. The game developer may set the power of the weapon to zero when the character 260 does not fire, but may set the power to a different value when firing. This can be done by indicating whether or not to fire using two different '.act' files 150 depicting the character 260. As control of the depiction of the character 260 changes between the two '.act' files 150, the 'power' command may change the power between zero and a positive constant value. The 'power' command is described above with reference to a shooting oriented game, while the 'power' construct may be generalized in other game scenarios.

각 프레임에서 선택 또는 비 선택될 수 있는 상기 'multi' 명령어 옵션은 2개 이상의 프레임들이 동시에 읽히거나 실행되도록 한다. 전술한 바와 같이, 보통 1 틱 또는 매 67 밀리초마다 각 '.act' 파일(150)로부터 하나의 프레임을 읽어들인다. 상기 'multi' 옵션이 프레임에서 선택되면, 동일한 '.act' 파일(150) 내 해당 프레임 및 다음 프레임은 단일 틱 동안 읽어들여 처리된다. 이는 상당한 묘사적 파워(descriptive power)를 제공하며, 예를 들어 'go to' 명령의 실행 시 하나의 프레임 동안 플리커 없이 움직임이 디스플레이되는 것과 같이, 원하는 대로 동영상이 움직이도록 사용될 수 있다.The 'multi' command option, which can be selected or deselected in each frame, allows two or more frames to be read or executed simultaneously. As mentioned above, one frame is typically read from each '.act' file 150 every one tick or every 67 milliseconds. When the 'multi' option is selected in a frame, the corresponding frame and the next frame in the same '.act' file 150 are read and processed for a single tick. This provides significant descriptive power and can be used to move the video as desired, for example when motion is displayed without flicker during one frame upon execution of the 'go to' command.

예를 들어, 상술한 달리는 동작의 예에서 '.act' 파일(150)의 14개 프레임들이 서로 다른 포즈를 디스플레이하는 '.pic' 명령을 포함할 수 있고, 제15 프레임이 상기 제1 프레임으로 되돌아가는 'go to' 명령을 포함할 수 있다. 상기 'multi' 옵션이 상기 프레임들 중 어느 프레임에서도 선택되지 않는다면, 각 프레임은 서로 다른 틱에서 읽혀진다. 제15 프레임에서 'go to' 명령이 실행되는 동안, 어떠한 이 미지도 디스플레이되지 않고, 제1 프레임을 다시 읽어들여 디스플레이를 위한 상기 엔진(190)에 의해 처리되는 동안 67 밀리초 플리커(flicker)가 화면(200) 상에 나타난다.For example, in the example of the above-described running operation, 14 frames of the '.act' file 150 may include a '.pic' command for displaying different poses, and the fifteenth frame is referred to as the first frame. It can include a 'go to' command to go back. If the 'multi' option is not selected in any of the frames, each frame is read at a different tick. While the 'go to' command is executed in the fifteenth frame, no image is displayed, and 67 millisecond flicker is generated while the first frame is read back and processed by the engine 190 for display. Appears on the screen 200.

상기 제 4 프레임에서 'multi' 명령어 옵션을 선택함으로써 이 플리커가 방지될 수 있다. 상기 'multi' 명령어는 동일 틱 동안 상기 제14 및 제15 프레임을 읽어들여 처리되는 것을 나타낸다. 즉, 14번째 달리는 포즈가 디스플레이되도록 하는 '.pic' 명령과 상기 '.act' 파일(150)이 제1 프레임으로 되돌아가도록 하는 'go to' 명령은 동일 틱에서 처리된다. 그러면, 상기 제1 프레임은 다음 틱 또는 67 밀리초 시간 동안 실행될 수 있다.This flicker can be prevented by selecting the 'multi' command option in the fourth frame. The 'multi' command indicates that the 14th and 15th frames are read and processed during the same tick. That is, the '.pic' command for displaying the 14th running pose and the 'go to' command for returning the '.act' file 150 to the first frame are processed in the same tick. The first frame can then be executed for the next tick or 67 milliseconds time.

단일 'multi' 명령어는 현재 프레임과 바로 후속 프레임만이 동일 틱 동안 실행되도록 한다. 그러나 동일 틱에서 원하는 만큼 많은 프레임을 갖도록 원하는 만큼 많은 수의 연속적 프레임에서 'multi' 명령어 옵션이 선택될 수 있다. 예를 들어, 상기 캐릭터(260)의 이미지가 디스플레이되는 동안 동시에 현재 '.act' 파일(150a)에서 루프 초기도 돌아가고, 또 다른 '.act' 파일(150b)을 생성하며 캐릭터(260)를 죽이는데 필요한 데미지를 변경하는 것이 바람직하다면, 'multi' 명령어를 지닌 다수의 연속적 프레임이 사용될 수 있다. 제1 프레임은 '.pic' 명령 및 'multi' 명령어를, 제2 프레임은 'go to' 명령 및 'multi' 명령어를, 제3 프레임은 'launch' 명령 및 'multi' 명령어를, 그리고 제4 프레임은 'damag' 명령을 가질 수 있다. 상기 제1 프레임에서 'multi' 명령어는 동일 틱에서 상기 제2 프레임이 실행되도록 한다. 상기 제1 프레임과 마찬가지로, 제2 프레임에서 'multi' 명령어는 동일 틱에서 제3 프레임이 실행되도록 하며, 상기 제2 프레임과 마찬가지로, 제3 프레임에서 'multi' 명령어는 동일 틱에서 제4 프레임이 실행되도록 한다. 따라서, 모든 프레임들이 동일 틱에서 실행된다. 상기 'multi' 옵션이 360-3D 게임의 흐름을 제어하기 위해 사용될 수 있는 다른 방법들이 당업계에 알려져 있다.A single 'multi' instruction ensures that only the current frame and the immediately following frame are executed during the same tick. However, the 'multi' command option can be selected in as many consecutive frames as desired to have as many frames as desired in the same tick. For example, while the image of the character 260 is being displayed, the initial loop of the current '.act' file 150a is also running, creating another '.act' file 150b and killing the character 260. If it is desired to change the required damage, multiple consecutive frames with 'multi' instructions can be used. The first frame has a '.pic' command and a 'multi' command, the second frame has a 'go to' command and a 'multi' command, the third frame has a 'launch' command and a 'multi' command, and the fourth frame The frame may have a 'damag' command. A 'multi' instruction in the first frame causes the second frame to be executed in the same tick. Like the first frame, the 'multi' instruction in the second frame causes the third frame to be executed at the same tick, and as in the second frame, the 'multi' instruction in the third frame has the fourth frame at the same tick. To be executed. Thus, all frames run in the same tick. Other ways in which the 'multi' option can be used to control the flow of a 360-3D game are known in the art.

프레임 0으로 불리는 '.act' 파일(150)의 제1 프레임은 상기 '.act' 파일(150)의 다음 프레임에서 설정들이 변경될 때까지 활성화되는 상기 설정들을 지정하는데 사용되는 것이 바람직하다. 예를 들어, 캐릭터(260)를 죽이는데 필요한 데미지량을 설정하기 위해 프레임 0에 상기 'damage' 명령을 위치시킬 수 있다. 또한 프레임 0은 'absolute x', 'absolute y', 'layer', 및 캐릭터(260)의 초기 위치와 크기를 설정하는 'scale' 명령어들을 포함할 수 있다. 상술한 바와 같이, absolute x 및/또는 absolute y 위치가 프레임 0으로 정의되어 있는 경우에 상기 프레임 0으로 가는 것은 캐릭터(260)가 갑자기 한 위치에서 다른 위치로 뛰어넘도록 하는 것이기 때문에, 프레임 0은 'go to' 명령의 타깃으로 열거되지 않을 수 있다.The first frame of the '.act' file 150, called frame 0, is preferably used to specify the settings that are activated until the settings are changed in the next frame of the '.act' file 150. For example, the 'damage' command may be placed in frame 0 to set the amount of damage required to kill the character 260. Frame 0 may also include 'absolute x', 'absolute y', 'layer', and 'scale' instructions to set the initial position and size of the character 260. As described above, frame 0 is defined as 'going to frame 0 where absolute x and / or absolute y position is defined as frame 0' causes character 260 to suddenly jump from one position to another. It may not be listed as the target of the go to 'command.

'.act' 파일(150)의 프레임에서 32 바이트를 구성하는 데이터는 저작 도구(130)에 의해 쉽게 지정될 수 있다. 도 6은 컴퓨터로 구현되는 저작 도구(13)의 일 실시 예를 도시한 것이다. 또한, 도 7a 내지 도 7d는 상기 도 6을 4개의 부분으로 나누어 확대한 부분 상세도이다. 이하, 도 6과 도 7a 내지 도 7d를 함께 참조하여 설명하기로 한다.Data constituting 32 bytes in the frame of the '.act' file 150 can be easily specified by the authoring tool 130. 6 illustrates an embodiment of a computer-authored authoring tool 13. 7A to 7D are enlarged detail views of FIG. 6 divided into four parts. Hereinafter, a description will be given with reference to FIGS. 6 and 7A to 7D.

일반적으로 상기 저작 도구(130)는 360-3D 게임을 효과적으로 제작할 수 있 다. 상기 저작 도구(130)의 특정 실시예를 하기에서 설명하지만, 본 발명은 다른 선택적인 GUI 구성들과 상기 엔진(190) 상에서 실행되는 360-3D 게임을 구성하기 위한 제어들에 적용될 수도 있다.In general, the authoring tool 130 may effectively produce a 360-3D game. Although a particular embodiment of the authoring tool 130 is described below, the present invention may be applied to other optional GUI configurations and controls for constructing a 360-3D game executed on the engine 190.

상기 저작 도구(130)는 상술한 명령들과 프레임에 삽입되는 다른 명령어들을 지정하기 위한 그래픽 유저 인터페이스(500, GUI), 프레임에 의해 검색되는 파일을 확인하기 위한 파일 선택 박스(900), 및 상기 GUI(500) 및 파일 선택 박스(900)에서 이루어진 선택의 효과를 보여주기 위한 에뮬레이터(920)를 포함한다. 상기 에뮬레이터(920)는 360-3D 게임의 실행 시 이동 장치(180)에 나타나는 디스플레이(200)를 활성화시킨다.The authoring tool 130 includes a graphical user interface 500 for specifying the above-described commands and other commands to be inserted into the frame, a file selection box 900 for identifying a file retrieved by the frame, and Emulator 920 for showing the effect of the selection made in GUI 500 and file selection box 900. The emulator 920 activates the display 200 appearing on the mobile device 180 when the 360-3D game is executed.

상기 GUI(500)는 360-3D 게임 개발자가 프레임에 포함되는 명령 및 다른 명령어들을 지정하도록 하는 버튼, 텍스트 박스 체크 박스 및 그 밖의 데이터 입력 도구들을 포함한다. 상기 GUI(500)의 일례로 입력되는 데이터는 '.act' 파일(150)의 하나의 프레임 역할을 한다. 게임 개발자는 프레임별로 GUI(500)의 서로 다른 예로서 데이터를 입력함으로써 프레임별 '.act' 파일(150)을 구성한다.The GUI 500 includes buttons, text box check boxes, and other data entry tools that allow a 360-3D game developer to specify commands and other instructions contained in a frame. Data input as an example of the GUI 500 serves as one frame of the '.act' file 150. The game developer constructs a '.act' file 150 for each frame by inputting data as different examples of the GUI 500 for each frame.

새로운 '.act' 파일(150)을 생성하기 위해서, 상기 게임 개발자는 보통 'New'라고 적힌 버튼을 클릭한다. 그런 다음, 상기 게임 개발자는 보통 프레임 0인 '.act' 파일(150)의 제1 프레임을 위한 데이터를 입력한다. 상기 GUI(500)에 입력되는 정보에 적용되는 프레임은 'Frame'이라고 적힌 입력 박스(610)에서 지정될 수 있다. 프레임을 위한 데이터를 입력한 후, 게임 개발자는 프레임 텍스트 박스(610)에서 프레임 번호를 변경하고 다음 프레임을 위한 데이터를 입력한다. 이러한 과정 은 현재 '.act' 파일(150)의 모든 프레임들이 생성될 때까지 계속된다. 이후, 게임 개발자는 상기 '.act' 파일(150)을 저장하기 위해 'Save' 버튼(890)을 클릭한다.To create a new '.act' file 150, the game developer usually clicks a button labeled 'New'. Then, the game developer inputs data for the first frame of the '.act' file 150, which is usually frame 0. The frame applied to the information input to the GUI 500 may be designated in the input box 610 labeled 'Frame'. After entering the data for the frame, the game developer changes the frame number in the frame text box 610 and enters the data for the next frame. This process continues until all the frames of the current '.act' file 150 have been created. Thereafter, the game developer clicks the 'Save' button 890 to save the '.act' file 150.

'Type'이라고 적힌 드롭다운(drop down) 박스(620)는 프레임에서 실행되는 명령을 지정하는데 사용된다. 일 실시 예에서, 상술한 바와 같이, 상기 명령들은 'pic', 'launch', 'go to', 'if .act go to self', 'damage', 'delete', 'delete self', 'reload' 및 'bonus' 명령들이다. 그러나 다른 실시 예들에서는 다른 명령들이 사용될 수 있다. 상기 드롭다운 박스(620)는 프레임에 적용할 수 있는 모든 명령들을 열거하며, 게임 개발자는 목록에서 한 항목을 마우스로 클릭하여 원하는 명령을 선택할 수 있다.Drop down box 620 labeled 'Type' is used to specify the instruction to be executed in the frame. In one embodiment, as described above, the commands are 'pic', 'launch', 'go to', 'if .act go to self', 'damage', 'delete', 'delete self', 'reload' 'And' bonus' commands. However, other instructions may be used in other embodiments. The drop-down box 620 lists all the commands applicable to the frame, and the game developer can select a desired command by clicking an item in the list with a mouse.

상기 GUI(500)에서 나타나는 데이터 입력 도구들은 GUI(500)를 상황에 민감한(context sensitive) GUI로 만드는 명령 드롭다운 박스(620)에서 선택되는 명령에 따라 변경될 수 있다. 도 6의 실시 예에서 'damage' 명령이 선택되었고, 이를 'Damage'라고 적힌 텍스트 박스(630)로 나타낸다. 상기 damage 텍스트 박스(630)는 게임 개발자로 하여금 현재 프레임에 적용될 데미지를 지정하도록 한다. 상기 명령 드롭다운 박스(620)에서 또 다른 명령이 선택되면, 다른 텍스트 박스를 상기 damage 텍스트 박스(630) 대신에 나타낼 수 있다. 예를 들어, '.pic' 명령이 선택되면, 게임 개발자가 지정된 '.pic' 파일(140)에 의해 묘사되는 캐릭터(260)에 적용될 파워를 지정하도록 텍스트 박스를 나타낼 수 있다. 만일 상기 'go to' 명령이 선택되면, 게임 개발자가 읽어들여 다음번에 실행해야 하는 프레임 번호를 지정하는 텍스트 박스를 나타낼 수 있다.The data entry tools appearing in the GUI 500 may be changed according to the command selected in the command drop down box 620 that makes the GUI 500 a context sensitive GUI. In the embodiment of FIG. 6, a 'damage' command is selected, which is represented by a text box 630 written as 'Damage'. The damage text box 630 allows the game developer to specify the damage to be applied to the current frame. If another command is selected in the command drop-down box 620, another text box may be displayed instead of the damage text box 630. For example, if the '.pic' command is selected, the game developer may present a text box to specify the power to be applied to the character 260 depicted by the designated '.pic' file 140. If the 'go to' command is selected, the game developer may display a text box specifying a frame number to be read and executed next time.

'Action'이라고 적힌 텍스트 박스(640)들은 게임 개발자로 하여금 현재 프레임이 실행시킬 '.act' 파일(150)들을 지정하도록 할 수 있다. 상기 도 6의 실시 예에서, 'damage' 명령이 상기 명령 드롭다운 박스(620)에서 선택되면, action 텍스트 박스(640)에 열거된 '.act' 파일(150)이 현재 캐릭터(260)가 지정된 데미지 임계치에 도달할 때 실행되는 '.act' 파일(150)을 지정하게 된다. 예를 들어, action 텍스트 박스(640) 캐릭터(260)가 죽는 것을 묘사하는 '.act' 파일(150)을 열거할 수 있다. 상기 명령 드롭다운 박스(620)에서 'launch' 또는 'go to' 명령이 선택되면, action 텍스트 박스(640)에 열거된 '.act' 파일(150)이 현재 프레임에 도달할 때 실행되는 '.act' 파일(150b)을 지정한다.Text boxes 640 labeled 'Action' may allow game developers to specify '.act' files 150 to be executed by the current frame. In the embodiment of FIG. 6, when the 'damage' command is selected in the command drop-down box 620, the '.act' file 150 listed in the action text box 640 is assigned the current character 260. Specify the '.act' file 150 to be executed when the damage threshold is reached. For example, the action text box 640 may enumerate a '.act' file 150 depicting the character 260 dying. When the 'launch' or 'go to' command is selected in the command dropdown box 620, '.act' file 150 listed in the action text box 640 is executed when the current frame reaches the current frame. act 'file 150b.

데이터는 상기 action 텍스트 박스(640)에 수동으로 입력될 수 있다. 대신에 상기 파일 선택 박스(900)가 action 텍스트 박스(640)에 입력되는 '.act' 파일(150)을 선택하는데 사용될 수 있다. 즉, 게임 개발자는 원하는 '.act' 파일(150)이 발견될 때까지 파일 선택 박스(900)를 통해 브라우징할 수 있다. 상기 파일 선택 박스(900)에서 선택 버튼(910)은 상기 선택된 '.act' 파일(150)이 액션 텍스트 박스(640)에 자동으로 삽입되도록 클릭된다.Data may be manually entered into the action text box 640. Instead, the file selection box 900 may be used to select the '.act' file 150 input into the action text box 640. That is, the game developer may browse through the file selection box 900 until the desired '.act' file 150 is found. In the file selection box 900, the selection button 910 is clicked to automatically insert the selected '.act' file 150 into the action text box 640.

'Path'라고 적힌 텍스트 박스(650)들은 상기 action 텍스트 박스(640)에서 열거된 '.act' 파일(150)들이 발견될 수 있는 디렉터리 경로를 지정한다. 데이터는 상기 path 텍스트 박스(650)들에 수동으로 입력되거나, 상기 파일 선택 박스(900)에서 게임 개발자에 의해 선택되는 '.act' 파일(150)의 위치에 근거하여 path 데이터가 자동으로 입력되도록 한다.The text boxes 650 labeled 'Path' designate a directory path where the '.act' files 150 listed in the action text box 640 can be found. Data may be manually entered in the path text boxes 650 or path data may be automatically entered based on the location of the '.act' file 150 selected by the game developer in the file selection box 900. do.

상기 action 텍스트 박스(640)들 및 path 텍스트 박스(650)들은 명령 드롭다운 박스(620)에서 'damage'명령과 같은 임의의 명령들이 선택될 때만 나타낼 수 있다. 상황에 민감한 GUI로서 상기 GUI(500)를 기술함으로써 이러한 작용을 나타낼 수 있다. 다른 명령들이 선택되면, 상기 action 텍스트 박스(640)들 및 path 텍스트 박스(650)들이 도 6에서 배치된 위치에 나타낼 수 있다. 예를 들어, '.pic' 명령이 상기 명령 드롭다운 박스(620)에서 선택되면, 텍스트 박스들은 현재 프레임에서 검색되는 '.pic' 파일(140)이 속하는 action 텍스트 박스(640)들 및 path 텍스트 박스(650)들의 위치에 나타낼 수 있다.The action text boxes 640 and path text boxes 650 may only appear when arbitrary commands, such as a 'damage' command, are selected in the command drop down box 620. This behavior can be demonstrated by describing the GUI 500 as a context sensitive GUI. If other commands are selected, the action text boxes 640 and the path text boxes 650 may be displayed in the position where they are arranged in FIG. 6. For example, if a '.pic' command is selected in the command drop-down box 620, the text boxes may contain action text boxes 640 and path text to which the '.pic' file 140 searched in the current frame belongs. It can be shown at the location of the boxes 650.

'Abs x' 및 'Abs y'라고 각각 적힌 텍스트 박스들(660, 670)은 게임 개발자로 하여금 캐릭터가 상기 디스플레이(200) 상에 나타나는 절대적(absolute) 수평 및 수직 위치를 지정하는데, 360도 배경 이미지의 좌표를 검색할 수 있다. 상기 절대적 x 및 y 위치는 수동으로 입력되거나, 상기 파일 선택 박스(900) 및 에뮬레이터(920)가 절대적 x 및 y 위치를 설정하는데 사용될 수 있다. 예를 들어, 게임 개발자는 원하는 '.pic' 파일(140)을 찾을 때까지 파일 선택 박스(900)를 통해 브라우징할 수 있다. 상기 게임 개발자가 '.pic' 파일(140)을 선택하면, 상기 '.pic' 파일(140) 내 캐릭터의 이미지가 에뮬레이터(920)에 나타난다. 상기 이미지의 절대적 x 및 y 좌표는 Abs x 및 Abs y 텍스트 박스들(660, 670)에 나타난다. 게임 개발자는 상기 이미지가 원하는 위치에 배치될 때까지 에뮬레이터(920) 내의 이미지를 이동시킬 수 있다. 그러면, 이 위치는 캐릭터(260)가 제일 처음 등장하는 위치로서 설정될 수 있다.Text boxes 660 and 670, labeled 'Abs x' and 'Abs y', respectively, allow game developers to specify absolute horizontal and vertical positions where characters appear on the display 200, with a 360 degree background. You can retrieve the coordinates of an image. The absolute x and y positions may be entered manually or the file selection box 900 and emulator 920 may be used to set the absolute x and y positions. For example, a game developer may browse through the file selection box 900 until he finds the desired '.pic' file 140. When the game developer selects the '.pic' file 140, an image of a character in the '.pic' file 140 appears in the emulator 920. The absolute x and y coordinates of the image appear in Abs x and Abs y text boxes 660 and 670. The game developer may move the image in emulator 920 until the image is placed in the desired position. This position may then be set as the position where the character 260 first appears.

또한 상기 Abs x 및 Abs y 텍스트 박스들(660, 670)들은 에뮬레이터(920)에 도시된 위성 접시(925)와 같이 이동하지 않는 대상들의 위치를 설정하는데 사용될 수 있다. 이와 같이 움직이지 않는 대상들은 상기 가상 플레이어(210)로부터 발사에 의해 파괴될 수 있다.The Abs x and Abs y text boxes 660 and 670 may also be used to position objects that do not move, such as the satellite dish 925 shown in the emulator 920. Objects that do not move as described above may be destroyed by firing from the virtual player 210.

상술한 바와 같이, 이미지의 절대적 x 및 y의 위치는 보통 '.act' 파일(150)의 프레임 0에서만 지정된다. 이후, delta x 및 delta y 명령어들은 이전 프레임에 대하여 현재 프레임이 이동해야 하는 픽셀의 수를 지정한다. delta x 및 delta y 값들은 텍스트 박스들(680, 690)에서 각각 지정될 수 있다. 상기 delta x 및 delta y 값들은 '.act' 파일(150)의 각 프레임별로 수동으로 입력될 수 있다. 대신에, 상기 delta x 및 delta y 값들이 쉽게 입력되도록 GUI(500)에 단축키(shortcut)를 사용할 수도 있다. 복제(duplicator) 버튼(700)은 상기 delta x 및 delta y 텍스트 박스들(680, 690) 가까이 위치한다. 복제 버튼(700)이 선택되면, 상기 복제 버튼(700)과 관련된 delta x 또는 delta y 텍스트 박스(680, 690)의 값이 '.act' 파일(150) 내 프레임별로 자동 반복된다. 이와 같은 방식으로 캐릭터(260)에 대한 모든 'act' 파일(150)의 프레임에서 동일한 거리를 이동하도록 만들어질 수 있다.As mentioned above, the absolute x and y position of the image is usually specified only at frame 0 of the '.act' file 150. The delta x and delta y instructions then specify the number of pixels the current frame should move relative to the previous frame. The delta x and delta y values may be specified in text boxes 680 and 690, respectively. The delta x and delta y values may be manually input for each frame of the '.act' file 150. Instead, a shortcut may be used in the GUI 500 so that the delta x and delta y values are easily entered. Duplicator button 700 is located near the delta x and delta y text boxes 680 and 690. When the duplicate button 700 is selected, the values of the delta x or delta y text boxes 680 and 690 associated with the duplicate button 700 are automatically repeated for each frame in the '.act' file 150. In this way it can be made to move the same distance in the frame of all the 'act' file 150 for the character 260.

'Layer'라고 적힌 텍스트 박스(710)는 게임 개발자로 하여금 현재 프레임에 캐릭터가 등장하는 계층을 지정하도록 한다. 상기 게임 개발자가 '.act' 파일(150)의 모든 프레임에 동일한 계층이 적용되도록 지정하기 위해 복제 버튼(700)은 layer 텍스트 박스(710)와 연결된다.The text box 710 labeled 'Layer' allows the game developer to specify the layer in which the character appears in the current frame. The clone button 700 is connected with a layer text box 710 to specify that the game developer applies the same layer to all frames of the '.act' file 150.

상기 게임 개발자는 'Scale'이라고 적힌 텍스트 박스(720)을 사용하여 현재 프레임에서 캐릭터(260)의 관련 크기를 지정할 수 있다. scale은 보통 디폴트(default) 값인 백분율로 주어진다. 게임 개발자가 '.act' 파일(150)의 모든 프레임에서 상기 캐릭터(260)가 동일한 크기를 가질 수 있도록 지정하기 위해 또 다른 복제 버튼(700)이 상기 scale 텍스트 박스(720)와 연결될 수 있다.The game developer may designate the relevant size of the character 260 in the current frame using the text box 720 written as 'Scale'. scale is usually given as a percentage, which is the default value. Another duplicate button 700 can be associated with the scale text box 720 to allow the game developer to specify that the character 260 can have the same size in every frame of the '.act' file 150.

일 실시예에서, scale이 조절될 때 적절한 확대 및 축소가 상기 계층에 자동으로 이루어지도록 layer 텍스트 박스(710) 및 scale 텍스트 박스(720) 내의 데이터들은 서로 연관된다. 예를 들어, 게임 개발자가 배경을 향해 이동하는 모습을 생성하기 위해 프레임마다 캐릭터(260)의 scale을 일정한 양만큼 줄이면, 상기 캐릭터(260)가 속한 계층은 프레임마다 비례 양만큼 자동으로 변경됨으로써 상기 캐릭터(260)가 계층들을 이동하여 연속적으로 배경에 가까이 접근하게 된다.In one embodiment, the data in layer text box 710 and scale text box 720 are associated with each other such that proper scaling and scaling is automatically made to the layer when the scale is adjusted. For example, if the game developer reduces the scale of the character 260 by a certain amount for each frame in order to create a movement toward the background, the layer to which the character 260 belongs is automatically changed by a proportional amount for each frame, thereby Character 260 moves in layers to continuously approach the background.

'Repeat'라고 적힌 텍스트 박스(730)는 reapeat 텍스트 박스(730)에 지정된 만큼의 틱동안 현재 프레임을 읽어들여 반복적으로 실행되도록 하는 단축키를 제공한다. 이는 움직이지 않는 이미지가 디스플레이(200)에서 일시적으로 나타나는 간단한 방법을 제공한다. 예를 들어, 게임 개발자가 대략 10초(약 150 틱)동안 대상을 나타내길 원하면, '.pic' 명령은 명령 드롭다운 박스(620)에 배치될 수 있고, 원하는 대상의 이미지를 포함하는 '.pic' 명령은 action 텍스트 박스(640)에 배치될 수 있으며, '.act' 파일(150)의 값은 repeat 텍스트 박스(730)에 배치될 수 있다.The text box 730 labeled 'Repeat' provides a shortcut to read the current frame and execute iteratively for as many ticks as specified in the reapeat text box 730. This provides a simple way for a stationary image to appear temporarily on the display 200. For example, if a game developer wants to display a target for approximately 10 seconds (about 150 ticks), the '.pic' command can be placed in the command dropdown box 620, containing an image of the desired target. pic 'command may be placed in the action text box 640 and the value of the' .act 'file 150 may be placed in the repeat text box 730.

'Multi'라고 적힌 체크 박스(740)는 상기 'multi' 명령어가 현재 프레임에 적용되는지의 여부를 지정하는데 사용될 수 있다. 상기 multi 박스(740)가 체크되 면, 상술한 바와 같이, 현재 및 다음 프레임을 동일한 틱에서 읽어들여 실행한다.A check box 740 labeled 'Multi' may be used to specify whether the 'multi' command is applied to the current frame. If the multi box 740 is checked, the current and next frames are read and executed in the same tick as described above.

'Locate View'라고 적힌 버튼(750)은 상기 에뮬레이터(920)에서 디스플레이되는 시각을 현재 '.act' 파일(150)이 시작되는 장면으로 돌아오도록 한다. 게임 개발자가 '.act' 파일(150)의 다수의 프레임 상에서 상기 저작 도구(130)가 동작하도록 사용할 때, 상기 에뮬레이터(920)에 나타난 시각은 현재 프레임에 대한 GUI(500)의 데이터와 매치되도록 변경된다. 상기 게임 개발자가 locate view 버튼(750)을 누르면, 상기 에뮬레이터(920)는 '.act' 파일(150)에 의해 지정된 초기 장면으로 되돌아온다.The button 750 labeled 'Locate View' returns the time displayed on the emulator 920 to the scene where the current '.act' file 150 starts. When a game developer uses the authoring tool 130 to operate on multiple frames of a '.act' file 150, the time presented in the emulator 920 will match the data of the GUI 500 for the current frame. Is changed. When the game developer presses the locate view button 750, the emulator 920 returns to the initial scene specified by the '.act' file 150.

'Insert' 버튼(760)은 새로운 프레임이 GUI(500)에서 현재 동작하는 프레임 이전(또는, 다른 실시예에서는 이후)에 삽입되도록 한다. 'Delete' 버튼(770)은 현재 프레임이 삭제되도록 한다. 'Chop' 버튼(780)은 현재 프레임 이후의 '.act' 파일(150)의 모든 프레임이 제거되도록 한다.An 'Insert' button 760 allows a new frame to be inserted before (or after, in other embodiments) a frame currently operating in the GUI 500. 'Delete' button 770 causes the current frame to be deleted. 'Chop' button 780 causes all frames of '.act' file 150 after the current frame to be removed.

'Append'라고 적힌 버튼(790)은 여러 개의 연속적이고 관련된 프레임에 대한 유사한 데이터를 상기 GUI(500)에 입력하는 단축키를 제공한다. 상세하게 append 버튼(790)은 frame 텍스트 박스(610)에서 프레임 번호가 하나씩 증가되도록 하고, '.pic' 파일(140)들의 폴더에서 다음 '.pic' 파일명이 action 텍스트 박스(640)에 삽입되도록 한다. 상기 GUI(500)에서 다른 모든 정보는 하나의 프레임에 다음 프레임에서 증가되는 것과 같게 된다. 예를 들어 서로 다른 동작 움직임 단계를 포함하는 각 'pic' 파일(140)에 사용되는 움직이는 동작을 생성할 때 이 특징이 유용하다.A button 790 labeled 'Append' provides a shortcut for entering similar data for several consecutive and related frames into the GUI 500. In detail, the append button 790 causes the frame number to be incremented by one in the frame text box 610 and the next '.pic' file name is inserted into the action text box 640 in the folder of the '.pic' files 140. do. All other information in the GUI 500 is equal to being incremented from one frame to the next. This feature is useful, for example, when creating a moving motion used for each 'pic' file 140 that includes different motion movement steps.

일례로, 상기 append 버튼(790)은 상기한 바와 같이 달리는 캐릭터(260)를 묘사하는 '.act' 파일(150)을 쉽게 생성하는데 사용될 수 있다. 각각의 달리는 포즈를 묘사하는 '.pic' 파일(140)들은 첫 번째 달리는 포즈를 포함하는 제1 '.pic' 파일(140), 두 번째 달리는 포즈를 포함하는 제2 '.pic' 파일(140) 등을 가진 폴더에 배열될 수 있다. 게임 개발자는 상기 명령 드롭다운 박스(620)를 '.pic' 명령으로 설정하고, frame 텍스트 박스(610)의 프레임 번호를 1로 설정하며, action 텍스트 박스(640)에서 제1 '.pic' 파일(140)의 이름을 배치할 수 있다. 이는 현재 '.act' 파일(150)의 프레임 1이 제1 '.pic' 파일(140)의 이미지를 디스플레이하도록 할 수 있다.In one example, the append button 790 can be used to easily create a '.act' file 150 depicting the character 260 running as described above. The '.pic' files 140 depicting each running pose are the first '.pic' file 140 containing the first running pose and the second '.pic' file 140 containing the second running pose. Can be arranged in a folder with). The game developer sets the command dropdown box 620 to the '.pic' command, sets the frame number of the frame text box 610 to 1, and sets the first '.pic' file in the action text box 640. The name of 140 can be placed. This may cause Frame 1 of the current '.act' file 150 to display an image of the first '.pic' file 140.

게임 개발자가 상기 append 버튼(790)을 누르면, frame 텍스트 박스(610)의 프레임 번호가 2로 변경되며, 제2 '.pic' 파일(140)의 이름이 action 텍스트 박스(640)에 배치된다. 상기 append 버튼을 누르기 이전의 GUI(500)에 있는 다른 정보들은 동일한 상태에 있게 된다. 이는 현재 '.act' 파일(150)의 프레임 2가 제2 '.pic' 파일(140)의 이미지를 디스플레이하도록 한다. 상기 게임 개발자는 달리는 포즈들을 포함하는 모든 '.pic' 파일(140)들이 기술될 때까지 상기 append 버튼(790)을 계속 누를 수가 있다. 상기 append 버튼(790)을 사용하면 수동으로 프레임 번호를 변경하고 '.pic' 파일(140)의 이름을 변경하는 것보다 효과적임을 알 수 있다. 이는 프로그램에 경험이 없는 사람도 게임에 동작을 추가하기 위한 쉽고 빠른 방법을 제공할 수 있다.When the game developer presses the append button 790, the frame number of the frame text box 610 is changed to 2, and the name of the second '.pic' file 140 is placed in the action text box 640. The other information in the GUI 500 prior to pressing the append button is in the same state. This causes Frame 2 of the current '.act' file 150 to display an image of the second '.pic' file 140. The game developer may continue to press the append button 790 until all '.pic' files 140 containing running poses are described. Using the append button 790 may be more effective than manually changing the frame number and renaming the '.pic' file 140. This can provide an easy and quick way to add motion to a game even for people with no program experience.

한 세트의 버튼들(800, 810, 820, 830)은 현재 '.act' 파일(150)의 프레임들 을 진행시키기 위해 사용될 수 있다. 제1 버튼(800)은 현재 '.act' 파일(150)의 제1 프레임에 GUI(500)를 적용한다. 이전 프레임 버튼(810)은 현재 '.act' 파일(150)의 이전 프레임에 GUI(500)를 적용한다. 다음 프레임 버튼(820)은 현재 '.act' 파일(150)의 다음 프레임에 GUI(500)를 적용한다. 마지막 프레임 버튼(830)은 현재 '.act' 파일(150)의 마지막 프레임에 GUI(500)를 적용한다.The set of buttons 800, 810, 820, 830 can be used to advance the frames of the current '.act' file 150. The first button 800 applies the GUI 500 to the first frame of the current '.act' file 150. The previous frame button 810 applies the GUI 500 to the previous frame of the current '.act' file 150. The next frame button 820 applies the GUI 500 to the next frame of the current '.act' file 150. The last frame button 830 applies the GUI 500 to the last frame of the current '.act' file 150.

'Stop'이라 적힌 버튼(840)은 상기 에뮬레이터(920)로부터 배경 이미지를 제외한 모든 이미지를 제거(clear)한다. 각각 'Commmand1', 'Command2' 및 'Command3'이라고 적힌 버튼들(850, 860, 870)은 새로운 게임을 시작하거나 게임의 새로운 레벨에 도달했을 때 유효한 파라미터들을 설정하는데 사용된다. 상기 바람직한 실시 예에서, 360-3D 게임은 3가지 실행 레벨을 가지는데, 플레이어가 제1 및 제2 레벨을 성공적으로 완료했을 때에만 각각 제2 및 제3 레벨로 이동할 수 있다. 다른 실시 예들에서는 서로 다른 레벨의 수를 가질 수 있다. 일 실시 예에서, 제1, 제2 및 제3 레벨을 시작하는 '.act' 파일(150)들은 각각 command1.act, command2.act 및 command3.act로 불릴 수 있다. 일 실시 예에서, command.act 파일들은 게임의 레벨이 시작될 때 발생하는 액션의 '.act' 파일(150) 세트를 시작하는 명령들만을 포함한다. 상기 command1 버튼(850)을 선택하면, 게임 개발자는 command1.act 파일과 연관된 데이터의 입력을 위한 GUI(500)을 적용하게 된다. 또한 상기 command2 및 command3 버튼들(860, 870)을 선택하면, 게임 개발자는 command2.act 및 command3.act 파일들과 연관된 데이터의 입력을 위한 GUI(500)를 각각 적용하게 된다.A button 840 labeled 'Stop' clears all images except the background image from the emulator 920. Buttons 850, 860 and 870, labeled 'Commmand1', 'Command2' and 'Command3', respectively, are used to set valid parameters when starting a new game or reaching a new level of the game. In the above preferred embodiment, the 360-3D game has three run levels, which can only move to the second and third levels respectively when the player has successfully completed the first and second levels. In other embodiments, they may have different levels of numbers. In one embodiment, the '.act' files 150 starting the first, second and third levels may be called command1.act, command2.act and command3.act, respectively. In one embodiment, the command.act files only include commands that initiate a set of '.act' files 150 of actions that occur when the level of the game begins. When the command1 button 850 is selected, the game developer applies the GUI 500 for inputting data associated with the command1.act file. In addition, when the command2 and command3 buttons 860 and 870 are selected, the game developer applies the GUI 500 for inputting data associated with the command2.act and command3.act files, respectively.

일련의 버튼들(880)은 상기 에뮬레이터에서 캐릭터(260)의 위치 및 크기를 지정하는데 사용될 수 있다. 좌우 버튼들(881, 882)은 상기 에뮬레이터(920)를 통해 캐릭터(260)를 수평으로 이동시키고, 상하 버튼들(883, 884)은 캐릭터(260)를 수직으로 이동시킨다. 확대 및 축소 버튼들(885, 886)은 캐릭터(260)의 크기를 증가시키거나 감소시킨다. 이러한 버튼들(880)은 Abs x 텍스트 박스(660), Abs y 텍스트 박스(670) 및 scale 텍스트 박스(720) 대신에 캐릭터의 초기 크기 및 위치를 빠르게 설정하는데 사용될 수 있다.A series of buttons 880 can be used to specify the position and size of the character 260 in the emulator. The left and right buttons 881 and 882 move the character 260 horizontally through the emulator 920, and the up and down buttons 883 and 884 move the character 260 vertically. Zoom in and zoom out buttons 885 and 886 increase or decrease the size of character 260. These buttons 880 can be used to quickly set the initial size and position of the character instead of Abs x text box 660, Abs y text box 670, and scale text box 720.

상기 저작 도구(130)는 '.pic' 파일(140) 포맷, '.act' 파일(150)의 생성 및 다른 게임 기술 동작들에 배경 파라미터 및 character.tga 파일들을 포함하는 background.bmp 파일을 제공한다. 상기 저작 도구(130)는 보통 표준 데스크탑 컴퓨터(170) 상에 인스톨되며, 데이터는 표준 키보드 및 마우스를 통해 상기 GUI(500)로 입력될 수 있다. 상기 표준 키보드는 GUI(500)에서 상기 버튼들과 데이터 입력 도구들과 동일하거나 관련된 키들을 가진다. 상기 표준 키보드 상의 키들은 게임 개발자를 위한 기억을 돕기 위해 여러 색으로 코드화되어 있다. append 기능은 '.pic' 및 프레임 데이터와 관련이 있으므로 'append' 키는 두 가지 색을 가질 수 있다. 상기 저작 도구(130)에 익숙한 게임 개발자는 이러한 표준 키보드가 상기 GUI(500)의 제어를 가리키거나 클릭하기 위한 마우스를 사용하는 것보다 빠르다는 것을 알 수 있다.The authoring tool 130 provides a background.bmp file that includes background parameters and character.tga files for the '.pic' file 140 format, the creation of the '.act' file 150 and other game description operations. do. The authoring tool 130 is typically installed on a standard desktop computer 170, and data may be entered into the GUI 500 via a standard keyboard and mouse. The standard keyboard has the same or related keys as the buttons and data entry tools in the GUI 500. The keys on the standard keyboard are coded in several colors to aid memory for game developers. The append function is related to '.pic' and frame data, so the 'append' key can have two colors. Game developers familiar with the authoring tool 130 may find that such a standard keyboard is faster than using a mouse to point or click on the controls of the GUI 500.

상기 저작 도구(130)는 보통 컴퓨터(170) 상에 인스톨되므로 상기 에뮬레이터(920)는 일반적으로 컴퓨터(170)의 비디오 모니터에 나타나게 된다. 컴퓨터에 사 용되는 비디오 포맷은 일반적으로 이동 전화와 같은 이동 전화에 의해 사용되는 포맷과는 다르다. 하기에서 매우 상세히 설명하게 될 변환 과정은 '.pic' 파일(140)의 이미지를 컴퓨터(170)의 비디오 디스플레이 시스템에서 읽어들일 수 있는 포맷으로 변환한다. 상기 변환은 데이터가 에뮬레이터(920)에 디스플레이되기 전에 일어나는 마지막 단계이며, 컬러가 이종(異種) 비디오 디스플레이 모드에서 부호화되는 방법의 변형에 관여한다. 이는 상기 저작 도구(130)를 통해 개발되는 360-3D 게임이 에뮬레이터(920)에 나타나는 것과 실질적으로 동일한 이동 장치(180) 상에 나타내도록 한다.The authoring tool 130 is typically installed on the computer 170 so that the emulator 920 will typically appear on the video monitor of the computer 170. The video format used by computers is usually different from the format used by mobile phones such as mobile phones. The conversion process, which will be described in greater detail below, converts the image of the '.pic' file 140 into a format that can be read by the video display system of the computer 170. The conversion is the last step that occurs before the data is displayed on the emulator 920 and is involved in a variation of how color is encoded in the heterogeneous video display mode. This allows a 360-3D game developed through the authoring tool 130 to appear on the mobile device 180 which is substantially the same as that shown in the emulator 920.

상기 저작 도구(130)는 코딩 기술의 거의 없거나 아예 없는 게임 개발자가 360-3D 게임을 제작하도록 한다. 게임 개발자들은 게임에 나타나는 이미지를 단순히 선택한 다음 상기 저작 도구(130)를 사용하여 상기 엔진(190)을 통해 원하는 이미지를 다루는데 사용되는 '.act' 파일(150)들을 생성할 수 있다. 복잡한 게임 줄거리는 상기 '.act' 파일(150)들의 각 프레임에 위치한 명령들(commands)이나 명령어(instructions)들을 사용하여 생성될 수 있다. 프로그래밍 지식을 지닌 그래픽 아티스트 혼자서 비교적 짧은 시간 안에 하나의 360-3D 게임을 제작할 수 있다. 이는 프로그래밍 작업을 위해 코딩하는 스태프들을 고용하고 아트 작업을 위해 그래픽 아티스트 스태프들을 고용하는 종래의 비디오 게임 개발 방법과는 대조적일 수 있다. 종래의 방법으로 비디오 게임을 제작하면 상당히 긴 시간과 많은 비용이 들어가게 된다.The authoring tool 130 allows game developers with little or no coding skills to produce 360-3D games. Game developers can simply select the image that appears in the game and then use the authoring tool 130 to generate '.act' files 150 that are used to manipulate the desired image through the engine 190. Complex game plots may be generated using commands or instructions located in each frame of the '.act' files 150. A graphic artist with programming knowledge can produce a single 360-3D game in a relatively short time. This may be in contrast to conventional video game development methods that employ staff coding for programming tasks and graphic artist staff for art work. Making video games in the conventional way is quite time consuming and expensive.

상기 저작 도구(130)는 360-3D 게임의 쉽고 빠른 테스트 및 수 정(refinement)을 지원한다. 프로그래밍 언어 명령어 형태의 컴퓨터 소프트웨어 개발에 관여하는 일반적인 게임 개발 환경에서, 새로운 버전의 게임은 컴파일 및 링크가 필요하며, 게임 변경을 테스트하기 전에 실행 플랫폼으로 전달되는 실행가능한 이미지도 필요하다. 대조적으로, 360-3D 게임 변경은 상기 저작 도구(130)의 에뮬레이션 능력을 이용하여 바로 테스트할 수 있다. 게다가, 360-3D 게임은 상기 저작 도구(130)를 사용하여 완벽히 테스트할 수 있으며, 이동 플랫폼 또는 이동 장치상에서 테스트할 필요가 없다.The authoring tool 130 supports quick and easy testing and refinement of 360-3D games. In a typical game development environment involving computer software development in the form of programming language instructions, new versions of the game require compilation and linking, as well as executable images that are passed to the execution platform before testing game changes. In contrast, 360-3D game changes can be directly tested using the emulation capabilities of the authoring tool 130. In addition, 360-3D games can be fully tested using the authoring tool 130 and need not be tested on a mobile platform or mobile device.

360-3D 게임에 필요한 모든 '.act' 파일(150)들이 생성되면, 상기 게임을 위한 '.pic' 파일(140) 및 '.act' 파일(150)들은 컨테이너(160) 내에 위치할 수 있으며, 상기 컨테이너(160)는 이동 장치(180)로 로딩될 수 있다. 상기 이동 장치(180) 상에 인스톨된 런타임 엔진(190)은 상기 컨테이너(160)에서 파일들을 읽어들이며, '.act' 파일(150)들에서 명령들 및 명령어들을 실행할 수 있다. 좀 더 빠르고 효율적인 실행을 위해, 상기 런타임 엔진(190)은 이동 장치(180)의 운영 시스템에 내장(embedded)될 수 있다. 즉, 상기 바람직한 실시 예에서 런타임 엔진(190)은 운영 시스템에 비 의존적인 외부 응용 프로그램이기보다는 상기 운영 시스템의 확장된 형태이다. 다른 실시 예들에서, 상기 엔진(190)은 다른 방법으로 위치하게 된다.When all the '.act' files 150 required for the 360-3D game are generated, the '.pic' file 140 and the '.act' file 150 for the game may be located in the container 160. The container 160 may be loaded into the mobile device 180. The runtime engine 190 installed on the mobile device 180 may read files from the container 160 and execute commands and instructions in '.act' files 150. For faster and more efficient execution, the runtime engine 190 may be embedded in the operating system of the mobile device 180. That is, in the preferred embodiment, the runtime engine 190 is an extended form of the operating system rather than an external application program that is not dependent on the operating system. In other embodiments, the engine 190 is located in other ways.

상기 런타임 엔진(190)의 동작은 운영 시스템의 타이밍 메커니즘에 의해 어느 정도 제어되거나 조정된다. 도 5에 도시된 바와 같이, 상기 런타임 엔진(190)은 동일한 틱 동안 다수의 '.act' 파일(150)의 프레임들을 읽어들여 실행할 수 있는데, 이는 다수의 프레임을 '동시에' 실행한다고 말할 수 있다. 약간 다른 버전의 엔진(190)은 내장되는 각 운영 시스템별로 제작될 수 있으나 실제로는 동일한 것으로 간주될 수 있다.The operation of the runtime engine 190 is controlled or adjusted to some extent by the timing mechanism of the operating system. As shown in FIG. 5, the runtime engine 190 can read and execute frames of multiple '.act' files 150 during the same tick, which can be said to execute multiple frames 'simultaneously'. . Slightly different versions of engine 190 may be built for each operating system on which they are built but may be considered identical in practice.

일부 실시예들에서 엔진(190)이 다수의 파일 또는 구성요소들을 포함할 수 있지만, 상기 엔진(190)은 360-3D 게임을 실행하는데 필요한 실행가능 파일이다. 일단 상기 엔진(190)이 이동 장치(180)의 운영 시스템에 내장되면, 실행 파일 및 코드가 아닌 데이터 파일들만 포함하는 다른 컨테이너(160)를 단순히 로딩함으로써 이동 장치에 서로 다른 게임을 인스톨할 수 있다. 단일 실행가능 파일을 사용하여 다수의 다른 게임들을 실행하면, 이동 장치(180)용 응용 프로그램 개발 시 보통 수반되는 보장(certification) 과정을 단순화시킬 수 있다. 이동 장치(180) 개발업체들은 응용 프로그램에 바이러스가 잠복하거나 충돌 또는 그 밖의 문제가 생기지 않도록 이 이동 장치(180)에 인스톨되는 게임 및 그 밖의 응용 프로그램이 테스트 및/또는 보장되도록 요구하고 있다. 각 게임이 실행가능 코드를 포함하는 이전의 기존 게임에서 이러한 테스트는 게임이 인스톨되는 모든 게임 및 플랫폼에서 이루어질 필요가 있었다. 일단 상기 엔진(190)이 특정 플랫폼에 대해 보장되면, 컨테이너(160)는 상기한 바와 같이 데이터만을 포함하므로 상기 컨테이너(160)는 바이러스의 위협, 충돌 또는 다른 문제없이 플랫폼에 로딩될 수 있다.In some embodiments the engine 190 may include a number of files or components, but the engine 190 is an executable file required to play a 360-3D game. Once the engine 190 is embedded in the operating system of the mobile device 180, different games can be installed on the mobile device by simply loading another container 160 containing only executable files and data files, not code. . Running multiple different games using a single executable file can simplify the certification process normally involved in developing applications for mobile device 180. Developers of mobile device 180 require that games and other applications installed on mobile device 180 be tested and / or guaranteed so that applications do not have virus infestation, crashes, or other problems. In previous existing games, where each game contained executable code, these tests needed to be done on every game and platform on which the game was installed. Once the engine 190 is guaranteed for a particular platform, the container 160 only contains data as described above so that the container 160 can be loaded onto the platform without threats, crashes or other problems of viruses.

모든 게임, 이동 장치(180) 및 각각 고유한 게임으로 만드는 데이터 파일들을 갖는 다수의 컨테이너(160)들을 위해 360-3D 게임을 단일 실행가능 엔진으로 분리하면, 게임 개발자를 위한 게임 표준 과정을 단순화시킬 수 있다. 게임 개발자들은 서로 다른 플랫폼을 위한 다른 버전의 동일한 게임을 기록할 필요는 없다. 상기 저작 도구(130)를 통해 제작되는 어떤 컨테이너(160)도 런타임 엔진(190)이 인스톨된 어느 이동 장치(180)에 의해 읽어들일 수 있다.Separating 360-3D games into a single executable engine for all games, mobile devices 180, and multiple containers 160 with data files that make each a unique game will simplify the game standard process for game developers. Can be. Game developers do not have to record different versions of the same game for different platforms. Any container 160 produced by the authoring tool 130 may be read by any mobile device 180 on which the runtime engine 190 is installed.

상기 런타임 엔진(190)은 운영 시스템에 2가지 그래픽 기능만을 요구하는 비교적 작은 파일(보통 약 100 kbytes 이하)이다. 먼저, 상기 엔진(190)은 운영 시스템이 이동 장치(180)의 디스플레이 화면(200) 상의 각 픽셀을 위한 데이터를 포함하는 메모리 블록의 위치를 요구한다. 보통 화면(200)들은 각 픽셀별로 2 바이트의 데이터를 포함하는 메모리 버퍼를 사용한다. 상기 엔진(190)이 이 버퍼의 위치를 습득하면, 소정의 바이트를 가진 픽셀을 배치시킨 다음 운영 시스템으로 하여금 이 데이터를 상기 화면(200)에 전송하도록 명령한다.The runtime engine 190 is a relatively small file (typically about 100 kbytes or less) that requires only two graphics functions in the operating system. First, the engine 190 requires the operating system to locate a memory block including data for each pixel on the display screen 200 of the mobile device 180. Normally, the screens 200 use a memory buffer containing two bytes of data for each pixel. When the engine 190 learns the location of this buffer, it places a pixel with a predetermined byte and then instructs the operating system to send this data to the screen 200.

또한 '.act' 파일(150)들을 읽어들여 실행하고 그래픽 기능을 수행하기 위해서, 상기 런타임 엔진(190)은 여러 가지 다른 기능들을 수행한다. 상기 엔진(190)은 이동 장치(180)상의 키패드 또는 다른 입력 소스로부터 입력을 받아들여 처리하며, 계층 단위로 분류하고 적당한 전후 순서로 디스플레이한다. 상기 엔진(190)은 현재 활성화된 서로 다른 버전의 캐릭터(260)들의 트랙을 명명하고 유지하며, 가상 플레이어(210)에서 캐릭터(260)들 및 이와 반대로의 성공적인 발사의 트랙을 등록하고 유지한다. 상기 엔진(190)은 화면(200)을 디스플레이하고, 레이더(280)를 작동시키며, 다인용 게임에서 파트너의 입력을 처리한다.(다인용 게임은 하기에서 상세히 설명한다.In addition, in order to read and execute the '.act' files 150 and perform graphic functions, the runtime engine 190 performs various other functions. The engine 190 accepts input from a keypad or other input source on the mobile device 180, processes it, sorts it hierarchically, and displays it in the appropriate back and forth order. The engine 190 names and maintains tracks of the different versions of the characters 260 that are currently active, and registers and maintains tracks of successful launches of the characters 260 and vice versa in the virtual player 210. The engine 190 displays the screen 200, operates the radar 280, and processes the partner's input in the multiplayer game. The multiplayer game will be described in detail below.

상기 엔진(190)은 이전의 발사 등록 방법보다 더 큰 정확성을 제공하는 방법을 통해 상기 가상 플레이어(210)에서 캐릭터(260)로의 성공적인 발사를 등록한다. 도 8에 도시된 바와 같이, 이동 장치(180)의 화면(200) 상의 하나의 대상(410)은 보통 사각 형태의 박스(410)일 일부로서 렌더링된다. 상기 대상(410)이 차지하는 박스의 일부가 보이게 되며, 배경이 보이도록 한다. 상기 박스(420)의 어느 부분이라도 발사에 의해 맞게 되면, 상기 박스(420)의 일부가 차지하는 대상(410)이 맞았는지의 여부에 관계없이 상기 대상(410)에 타격이 등록된다. 예를 들어, 캐릭터(260)와 같은 대상(410) 내에 발사가 이루어지지 않더라도 상기 박스(420) 내에 떨어지게 되므로 위치 X(430)을 맞힌 발사는 상기 대상(410) 상의 타격으로 등록된다. 또한 다수의 대상(410)들이 화면(200)상에 나타나게 되면, 게임을 제어하는 코드는 모든 대상(410)들에게 어느 것이 타격된 박스(420)인지를 결정하도록 문의(query)할 필요가 있는데, 이는 비효율적이고 시간 소모적이다.The engine 190 registers a successful launch from the virtual player 210 to the character 260 through a method that provides greater accuracy than the previous launch registration method. As shown in FIG. 8, one object 410 on the screen 200 of the mobile device 180 is rendered as a part of a box 410 which is usually in a rectangular shape. A part of the box occupied by the object 410 is visible, and the background is visible. When any part of the box 420 is hit by firing, a hit is registered to the object 410 regardless of whether the object 410 occupied by a portion of the box 420 is hit. For example, even if no shot is made in the target 410 such as the character 260, the shot is dropped into the box 420, so the shot hitting the position X 430 is registered as a hit on the target 410. Also, if multiple targets 410 appear on screen 200, the code that controls the game needs to query all targets 410 to determine which box 420 was hit. This is inefficient and time consuming.

도 9는 360-3D 게임에 타격이 등록되는 방법의 일례를 도시하고 있다. 도 9의 (a)에서 3개의 대상이 8 X 8 픽셀(445)을 갖는 이동 장치(180)의 비디오 화면(440)을 차지하고 있다. 정사각형 모양의 대상은 (1,1), (1,2), (2,1) 및 (2,2) 픽셀들을 차지한다. 삼각형 모양의 대상은 (4,3), (4,4), (4,5) 및 (5,4) 픽셀들을 차지한다. X자 모양의 대상은 (6,6), (6, 8), (7,7), (8,6) 및 (8,8) 픽셀들을 차지한다. 상기 화면(440)상의 다른 픽셀(445)들은 배경 이미지의 일부로 간주된다.9 shows an example of how a strike is registered in a 360-3D game. In FIG. 9A, three objects occupy the video screen 440 of the mobile device 180 having 8 × 8 pixels 445. The square shaped object occupies (1,1), (1,2), (2,1) and (2,2) pixels. The triangular object occupies (4,3), (4,4), (4,5) and (5,4) pixels. The X-shaped object occupies (6,6), (6, 8), (7,7), (8,6) and (8,8) pixels. The other pixels 445 on the screen 440 are considered part of the background image.

일 실시 예에서, 메모리 버퍼는 실제 화면(440)에서 각 픽셀(445)에 관련된 데이터를 포함한다. 도 9의 (b)에 도시된 바와 같이, 상기 메모리 버퍼는 실루엣 화면(450)으로 보일 수 있는데, 실루엣 화면(450)에서 각 데이터 위치(455)는 실제 화면(440)에서 하나의 픽셀(445)에 대응된다. 즉, 실제 화면(440)은 8열 및 8행의 픽셀(445)을 가지게 되므로, 상기 실루엣 화면(450)은 8ㅧ8의 데이터 위치(455)를 가진 것으로 간주할 수 있다.In one embodiment, the memory buffer includes data associated with each pixel 445 in the actual screen 440. As shown in FIG. 9B, the memory buffer may be viewed as a silhouette screen 450, in which each data location 455 is one pixel 445 on the actual screen 440. ) Corresponds to That is, since the actual screen 440 has eight columns and eight rows of pixels 445, the silhouette screen 450 may be regarded as having a data position 455 of 8 ㅧ 8.

하나의 대상이 실제 화면(440)에서 픽셀(445)들의 집합을 차지할 때마다, 상기 대상의 확인 정보는 실루엣 화면(450)의 해당 데이터 위치(455)에 저장된다. 일 실시 예에서, 상기 대상은 공통의 '.act' 파일(150)로부터 생성되는 달리는 병사의 다수의 예들 중에서 하나의 활동일 수 있다. 예를 들어, 상기 정사각형 모양의 대상이 대상 번호 1로 확인되면, '1'은 상기 실루엣 화면(450)의 (1,1), (1,2), (2,1) 및 (2,2) 데이터 위치에 저장된다. 상기 삼각형 모양의 대상이 대상 번호 2로 확인되면, '2'는 상기 실루엣 화면(450)의 (4,3), (4,4), (4,5) 및 (5,4) 데이터 위치에 저장된다. 또한 상기 X자 모양의 대상이 대상번호 3으로 확인되면, '3'은 상기 실루엣 화면(450)의 (6,6), (6,8), (7,7), (8,6) 및 (8,8) 데이터 위치에 저장된다. '0'은 실제 화면(440)에서 배경 이미지의 존재를 표시하기 위해 실루엣 화면(450)의 나머지 모든 데이터 위치에 배치될 수 있다. 대상들이 실제 화면(440)으로 이동하면, 상기 실루엣 화면(450)도 이에 대응하는 방법으로 변경된다. 실제 화면(440)에 존재하는 대상들만이 상기 실루엣 화면(450)의 일부가 될 수 있다.Each time one object occupies a set of pixels 445 on the actual screen 440, the identification information of the object is stored at a corresponding data location 455 of the silhouette screen 450. In one embodiment, the subject may be one of a number of examples of running soldiers generated from a common '.act' file 150. For example, when the object having a square shape is identified as object number 1, '1' represents (1,1), (1,2), (2,1) and (2,2) of the silhouette screen 450. ) Is stored in the data location. When the object having a triangular shape is identified as object number 2, '2' is located at (4,3), (4,4), (4,5) and (5,4) data positions of the silhouette screen 450. Stored. In addition, if the X-shaped object is identified as the object number 3, '3' is (6,6), (6,8), (7,7), (8,6) and (8,8) are stored in the data location. '0' may be disposed at all remaining data positions of the silhouette screen 450 to indicate the presence of a background image on the actual screen 440. When the objects move to the actual screen 440, the silhouette screen 450 is also changed in a corresponding method. Only objects existing on the actual screen 440 may be part of the silhouette screen 450.

실제 화면(440)에 발사가 이루어지면, 상기 런타임 엔진(190)은 발사가 이루어지는 순간에 십자형 커서(270)가 가리키는 실제 화면(440)의 픽셀(445)을 기록한다. 그런 다음, 상기 엔진(190)은 어떤 대상이 상기 픽셀(445)을 차지하는지를 판단하기 위해 타격된 픽셀(445)에 대응하는 데이터 위치(455)의 데이터를 검사한다. 타격된 실제 화면(440)의 픽셀(445)에 대응하는 실루엣 화면(450)의 데이터 위 치(455)에 배경인 '0'이 존재하면, 상기 발사는 잘못된 발사로 기록되거나 비축분의 감소 이외에 다른 변화가 나타나지 않는다. 상기 데이터 위치(455)에 0이 아닌 수가 존재하면, 상기 엔진(190)은 상기 발사를 데이터 위치(455)에서 데이터에 의해 확인되는 대상에 타격으로 기록한다.When the launch is made on the actual screen 440, the runtime engine 190 records the pixel 445 of the actual screen 440 indicated by the crosshair cursor 270 at the moment of launch. The engine 190 then examines the data at data location 455 corresponding to the hit pixel 445 to determine which object occupies the pixel 445. If a background of '0' is present in the data location 455 of the silhouette screen 450 corresponding to the pixel 445 of the actual screen 440 hit, the shot is recorded as a false shot or in addition to a reduction in stockpile. No other change is seen. If a non-zero number exists at the data location 455, the engine 190 records the launch as a strike on the object identified by the data at the data location 455.

상술한 예에서, 십자형 커서(270)가 가상 플레이어(210)가 발사한 순간에 실제 화면(440)의 (4,4) 픽셀을 가리켰다면, (4,4) 픽셀에 발사가 기록된다. 상기 엔진(190)은 실루엣 화면(450)의 (4,4) 데이터 위치에서 데이터를 읽어들여 '2'를 발견하고 삼각형 모양의 대상인 대상 번호 '2'의 타격으로 발사를 등록한다. 예를 들어, 상기 실제 화면(440)의 (5,5) 픽셀이 맞았다면, 0이 아닌 수가 상기 (5,5) 픽셀에 대응하는 (5,5) 데이터 위치를 차지하지 않았기 때문에 상기 발사는 잘못된 것으로 등록될 것이다.In the above example, if the crosshair cursor 270 points to (4,4) pixels of the actual screen 440 at the moment the virtual player 210 fires, the shot is recorded at (4,4) pixels. The engine 190 reads data from the (4,4) data position of the silhouette screen 450, finds '2', and registers the shot with the hit of the target number '2', which is a triangular object. For example, if the (5,5) pixels of the actual screen 440 were correct, the firing would be because a nonzero number did not occupy the (5,5) data position corresponding to the (5,5) pixel. It will be registered as wrong.

상기 대상이 차지하는 박스의 크기와 모양보다 대상의 실제 크기와 모양에 의해 타격이 결정되므로, 타격을 등록하는 이러한 방법은 기존의 방법들보다 더 큰 정확도를 제공한다. 예를 들어, 도 8a의 X자 모양의 대상은 (6,6), (6,7), (6,8), (7,6), (7,7), (7,8), (8,6), (8,7) 및 (8,8) 픽셀들에 의해 경계가 이루어지는 박스를 차지할 수 있다. 이전 방법들에서, 이들 픽셀들은 배경 이미지의 일부이므로 이러한 발사는 타격으로 기록되지 않는다. 또한 상기 엔진(190)은 실루엣 화면(450)을 참조하여 타격된 대상을 즉시 판단할 수 있으므로 타격을 등록하는 현재의 방법은 이전 방법들보다 훨씬 빠를 수 있다. 따라서 타격이 이루어진 픽셀인지의 여부를 판단하기 위해 활성화된 모든 대상들을 문의(query)할 필요가 없다. 또 한 관련된 액션을 갖는 픽셀에서 1, 2, 3과 같은 수를 연결함으로써 상기 엔진(190)은 타격을 적절한 액션으로 재빨리 등록할 수 있다. 하나의 액션은 상기 엔진(190)이 현재 실행되고 여러 별개의 액션들이 공통된 '.act' 파일(150)로부터 생성되는 '.act' 파일(150)의 일례임을 상기한다.Since the blow is determined by the actual size and shape of the object rather than the size and shape of the box occupied by the object, this method of registering the hit provides greater accuracy than existing methods. For example, the X-shaped objects in FIG. 8A are (6,6), (6,7), (6,8), (7,6), (7,7), (7,8), ( It may occupy a box bounded by 8,6), (8,7) and (8,8) pixels. In previous methods, these pixels are part of the background image so this shot is not recorded as a strike. In addition, since the engine 190 may immediately determine the target hit with reference to the silhouette screen 450, the current method of registering the hit may be much faster than the previous methods. Therefore, it is not necessary to query all the activated objects to determine whether or not the pixel has been hit. In addition, by concatenating a number such as 1, 2, 3 in a pixel having an associated action, the engine 190 can quickly register the hit as an appropriate action. One action recalls that the engine 190 is currently an example of an '.act' file 150 in which several separate actions are generated from a common '.act' file 150.

일반적으로 상기 런타임 엔진(190)은 이동 장치(180)가 제조업체로부터 출시되기 전에 상기 이동 장치(180)의 운영 시스템에 미리 컴파일된다. 이동 장치(180)의 제조업체들은 보통 경쟁 업체가 상기 장치(180)들의 운영 시스템에 접속하도록 허락하지 않는다. 이런 이유로 런타임 엔진(190)을 제작하는 기업은 경쟁 업체의 운영 시스템이 아닌 자신의 장치(180)의 운영 시스템에만 상기 엔진(190)을 내장하게 된다. 따라서 360-3D 게임은 보통 상기 엔진을 제조하는 업체에 의해 제조되는 장치(180)들 상에서만 상술한 방법으로 실행된다. 그러나 경쟁 업체의 장치(180) 상에서 360-3D 게임이 실행될 수 있는 다른 방법들이 존재한다.In general, the runtime engine 190 is precompiled into the operating system of the mobile device 180 before the mobile device 180 is released from the manufacturer. Manufacturers of mobile devices 180 usually do not allow competitors to access the operating system of the devices 180. For this reason, a company that manufactures the runtime engine 190 embeds the engine 190 only in the operating system of its own device 180, not the competitor's operating system. Thus, the 360-3D game is usually executed in the above-described manner only on the devices 180 manufactured by the company that manufactures the engine. However, there are other ways in which a 360-3D game can be played on a competitor's device 180.

일 실시 예에서, 상기 런타임 엔진(190)의 버전은 자바(Java) 런타임 환경에서 내장될 수 있으며, 변형된 자바 버전은 경쟁 업체의 장치(180)에 인스톨될 수 있다. 360-3D 게임용 'pic' 파일(140) 및 '.act' 파일(150)들을 포함하는 컨테이너(160)들은 상술한 방법으로 장치(180) 상에 로딩되며, 상기 컨테이너(160)들은 자바 기반의 엔진(190)에 의해 읽어들일 수 있다. 상기 엔진(190)은 운영 시스템과 통신하기 전에 소프트웨어의 여러 층을 통해 통신해야 하므로, 상기 360-3D 게임의 실행은 이러한 배치 하에서 느려질 수 있다. 그러나 360-3D 게임 개발 시스템 및 방법의 다른 장점들이 이용될 것이다. 즉, 일단 다양한 운영 시스템 및/또는 장 치(180)들 각각에 대해 내장된 런타임 엔진(190)을 지닌 변형된 자바 버전이 보장되면, 이후 컨테이너(160)들은 테스트할 필요 없이 장치(180)에 로딩된다. 또한 게임 개발자는 게임을 실행하는 엔진(190)의 유형을 고려하지 않고 상술한 방법으로 360-3D 게임을 제작할 수 있다.In one embodiment, the version of the runtime engine 190 may be embedded in a Java runtime environment, and the modified Java version may be installed on a competitor's device 180. Containers 160 including 'pic' files 140 and '.act' files 150 for 360-3D games are loaded on device 180 in the manner described above, and the containers 160 are Java-based. Can be read by the engine 190. Since the engine 190 must communicate through several layers of software before communicating with the operating system, execution of the 360-3D game can be slowed under this arrangement. However, other advantages of the 360-3D game development system and method will be used. That is, once a modified version of Java with a built-in runtime engine 190 for each of the various operating systems and / or devices 180 is guaranteed, then the containers 160 are not required to be tested on device 180 without testing. Loaded. In addition, the game developer may produce a 360-3D game by the above-described method without considering the type of the engine 190 that executes the game.

또 다른 실시 예에서, 퀄컴(Qualcomm)사에 의해 제작된 Brew(Binary Runtime Environment for Wireless)은 유사한 방법으로 사용될 수 있다. 즉, Brew가 인스톨되는 장치(180)의 운영 시스템을 가지고 Brew와 통신할 수 있는 상기 런타임 엔진(190)의 버전을 제작할 수 있다. 이러한 방법으로 실행하는 360-3D 게임은 운영 시스템에 직접 내장되는 엔진(190)에 의해 실행되는 게임보다 더 느리게 동작할 수도 있지만, 상기 360-3D 게임 개발 방법 및 시스템의 장점들은 남아있게 된다. 360-3D 게임들이 이러한 운영 시스템들에 내장된 런타임 엔진(190)을 구비하지 않는 이동 장치(180)에서 실행될 수 있는 방법들이 당업계에 알려져 있다.In another embodiment, Binary Runtime Environment for Wireless (Brew) manufactured by Qualcomm may be used in a similar manner. That is, a version of the runtime engine 190 capable of communicating with Brew with the operating system of the device 180 on which Brew is installed may be manufactured. The 360-3D game executed in this manner may operate slower than the game executed by the engine 190 directly embedded in the operating system, but the advantages of the method and system for developing the 360-3D game remain. It is known in the art that 360-3D games can be executed in a mobile device 180 that does not have a runtime engine 190 embedded in such operating systems.

또한 자바, Brew 및 유사한 제품들은 360-3D 게임을 배포하기 위한 수단으로서 사용될 수 있다. 예를 들어, 컨테이너 파일(160)은 자바 래퍼(Java wrapper)에 제공되어 상기 컨테이너(160)가 자바와 호환되는 인터페이스를 구비할 수 있다. 자바 래퍼(Java-wrapped) 컨테이너(160)는 자바 내장(Java-embedded) 엔진(190)을 구비한 장치상에 인스톨될 수 있고, 상기한 바와 같이 본래의 컨테이너(160) 및 엔진(190)을 위해 읽어 들여 실행될 수 있다. 자바에서 상기 엔진(190)을 래핑(wrapping)하는 것은 게임이 다운로드될 수 있는 웹 사이트와 같이 360-3D 게임이 다른 자바 기반의 게임이 배포되는 기존의 분배 채널(distribution channel)을 통해 배포되도록 한다. 웹 사이트를 브라우징하는 사용자에게 상기 360-3D 게임은 기존 시스템에 다운로드할 수 있는 표준 자바 기반의 게임으로 나타날 것이다.Java, Brew and similar products can also be used as a means to distribute 360-3D games. For example, the container file 160 may be provided in a Java wrapper so that the container 160 has an interface compatible with Java. The Java-wrapped container 160 may be installed on a device with a Java-embedded engine 190, and as described above, the original container 160 and the engine 190 may be installed. Can be read and executed. Wrapping the engine 190 in Java allows a 360-3D game to be distributed over an existing distribution channel through which other Java-based games are distributed, such as a website from which the game can be downloaded. . For users browsing a web site, the 360-3D game will appear as a standard Java-based game that can be downloaded to an existing system.

상술한 바와 같이, 상기 화면(200)상에 디스플레이되는 이미지들은 '.pic' 파일(140)로 불리는 파일들에 저장된다. 상기 '.pic' 파일(140)들의 이미지들은 360-3D 게임에서 캐릭터(260) 및 다른 대상들을 위해 디스플레이될 필요가 있는 모든 포즈의 사전 렌더링된 이미지들이다. 당업계에 공지된 바와 같이, 비디오 게임에서 고품질의 그래픽을 제작하기 위해 두 가지 일반적인 방법이 사용될 수 있는데, 이들은 사전 렌더링(pre-rendering) 방법과 다각형(polygon) 및 텍스처(texture) 방법이다. 상기 다각형 및 텍스처 방법에서, 대상은 텍스처화(textured) 및 착색된(colored) 표면으로 덮여진 다각형의 골격구조(framework) 또는 그물망(mesh)로 묘사된다. 게임이 진행되는 동안 비디오 화면상에 이동하는 대상이 생성되면, 알고리즘이 다각형의 그물망이 모양을 변화하는 방법을 계산한 다음, 텍스처화된 표면이 원하는 동작의 모습을 생성하기 위해 다각형의 그물망 위에 펼쳐진다. 이러한 과정은 대상 이미지 렌더링이라고 불리며, 알고리즘에 의해 빠르게 이루어진다.As described above, the images displayed on the screen 200 are stored in files called '.pic' file 140. The images of the '.pic' files 140 are pre-rendered images of all poses that need to be displayed for the character 260 and other objects in a 360-3D game. As is known in the art, two general methods can be used to produce high quality graphics in video games, which are a pre-rendering method and a polygon and texture method. In the polygon and texture method, the object is depicted as a polygonal framework or mesh covered with a textured and colored surface. When a moving object is created on the video screen during the game, the algorithm calculates how the polygon mesh changes shape and then the textured surface is spread over the polygon mesh to create the desired behavior. . This process is called target image rendering and is fast by algorithms.

사전 렌더링을 통해 게임 중 대상이 선택하는 모든 가능한 포즈의 이미지는 게임을 위한 개발 과정 동안 생성되어 저장된다. 게임이 실행되고 생성된 이미지가 이동함에 따라, 적절한 이미지들이 메모리에서 검색되고, 원하는 동작의 모습을 생성하기 위해 적절한 시간 및 위치에 디스플레이된다.With pre-rendering, images of all possible poses that the subject selects during the game are generated and stored during development for the game. As the game runs and the generated images move, the appropriate images are retrieved from memory and displayed at the appropriate time and location to create the look of the desired action.

각각의 방법은 장점과 단점을 가지고 있음을 알 수 있다. 상기 다각형 및 텍 스처 방법에서는, 이미지들이 메모리에 저장되는 것보다 빠르게 생성되므로 큰 용량의 메모리가 필요하지 않다. 그러나 이 방법에 사용되는 알고리즘은 컴퓨터의 사용에 민감하고, 상당한 처리 능력이 제 모습의 동작을 생성하도록 충분히 빠르게 알고리즘을 실행하는데 필요하다. 또한 상기 다각형 및 텍스처 방법에는 그래픽 가속기들이 필요하다. 이미지들이 빠르게 생성되는 것보다 메모리로부터 재호출되므로 사전 렌더링을 통한 상기 처리 능력은 그다지 클 필요는 없다. 그러나 모든 가능한 포즈를 나타내는데 사용되는 수많은 사전 렌더링된 이미지들을 저장하기 위해 대상을 선택할 때보다 더 큰 메모리가 필요하게 된다.It can be seen that each method has advantages and disadvantages. In the polygon and texture methods, images are generated faster than they are stored in memory, so a large amount of memory is not required. However, the algorithms used in this method are sensitive to the use of a computer, and a great deal of processing power is needed to run the algorithm fast enough to produce the behavior in place. The polygon and texture methods also require graphics accelerators. Since the images are recalled from memory rather than being generated quickly, the processing power through pre-rendering need not be very large. However, more memory is required than when selecting a target to store the numerous pre-rendered images used to represent all possible poses.

이동 장치상에 실행되는 고품질의 그래픽을 지닌 기존 게임에 대해서 양쪽의 경우에서, 상기 이동 장치들은 보통 고속의 프로세서, 그래픽 가속기 및/또는 큰 메모리 용량을 가진 게임 장치를 특별히 설계할 필요가 있었다. 이러한 장치들은 게임 특징보다 통신(telephony) 또는 가입자(organizer) 특징에 주로 관심이 있는 소비자에게는 엄청나게 비쌀 것이다.In both cases, for existing games with high quality graphics running on a mobile device, the mobile devices usually needed to specifically design game devices with high speed processors, graphics accelerators and / or large memory capacities. Such devices would be incredibly expensive for consumers who are primarily interested in telephony or subscriber features rather than gaming features.

본 시스템 및 방법의 일 실시예에서, 제한된 세트의 원하는 동작을 묘사하는데 필요한 이미지들만이 사전 렌더링되는 사전 렌더링 방법의 변경된 버전이 사용된다. 게임 개발자는 게임 중에 캐릭터가 취하는 적은 수의 동작을 선택한 다음, 이러한 동작을 현실적으로 묘사하는데 필요한 이미지만을 사전 렌더링할 수 있다. 상기 선택된 이미지들은 이들의 크기를 줄이기 위한 표준 데이터 압축 루틴에 의해 압축된다. 이러한 사전 렌더링 및 제한된 수의 이미지 압축은 대부분의 이동 장치(180)들에 적합하고 고품질의 그래픽을 제공할 수 있을 만큼의 작은 그래픽 파일 을 생성한다. 보통 상기 다각형 및 텍스처 방법에 필요한 처리 능력 및 그래픽 가속기와 수많은 이미지를 서전 렌더링하기 위한 큰 메모리 용량이 제거된다.In one embodiment of the present systems and methods, a modified version of the pre-rendering method is used in which only the images necessary to depict a limited set of desired behaviors are pre-rendered. The game developer can select a small number of actions taken by the character during the game and then pre-render only the images needed to realistically depict these actions. The selected images are compressed by standard data compression routines to reduce their size. This pre-rendering and limited number of image compression produce small graphics files that are suitable for most mobile devices 180 and can provide high quality graphics. Usually the processing power and graphics accelerators required for the polygon and texture methods and the large memory capacity for pre-rendering numerous images are eliminated.

이동 장치(180)상의 작은 크기의 디스플레이(200)는 이러한 사전 렌더링 기술을 실제 응용가능 하도록 만들어 준다. 상기 이동 장치(180)의 디스플레이(200) 상에 나타나는 이미지들은 사용되는 픽셀의 수의 측면에서 작기 때문에, 고품질의 압축 이미지들을 갖는데 비교적 작은 용량의 메모리가 필요하게 된다. 이와 같이 작고 고품질의 이미지 수는 대부분의 표준 이동 장치(180)들의 메모리 용량에 적합하다. 일반적인 컴퓨터 모니터와 같이 더 큰 화면상에 더 큰 크기로 디스플레이되는 더 작은 용량의 이미지들은 상당한 저장 용량을 소비하게 된다. 수많은 이러한 고품질의 이미지들을 저장하려면 더 큰 메모리 용량이 필요하지만, 최신 데스크톱 컴퓨터는 충분한 저장 능력을 지니는 경향이 있다. 후술되는 바와 같이, 360-3D 게임들은 이동 장치(180)의 디스플레이(200)와 같은 크기로 컴퓨터 화면상에 나타나는 에뮬레이터를 사용하여 컴퓨터에 디스플레이될 수 있다.The small display 200 on the mobile device 180 makes this pre-rendering technique practically applicable. Since images appearing on the display 200 of the mobile device 180 are small in terms of the number of pixels used, a relatively small amount of memory is required to have high quality compressed images. This small, high quality number of images fits the memory capacity of most standard mobile devices 180. Smaller images displayed at larger sizes on larger screens, such as a typical computer monitor, consume significant storage capacity. Storing many of these high quality images requires larger memory capacities, but modern desktop computers tend to have sufficient storage capacity. As described below, 360-3D games may be displayed on a computer using an emulator that appears on the computer screen in the same size as the display 200 of the mobile device 180.

보통 게임 개발자가 True Space, Maya, LightWave 또는 3DS Studio와 같은 표준 그래픽 처리 프로그램(110)을 사용하여 적절한 이미지 세트를 생성하고 들여와서 편집함으로써 '.pic' 파일(140)들을 생성하는 과정이 시작된다. 상기 게임 개발자는, 예를 들어 '.tga' 파일당 하나의 이미지를 갖는 '.tga' 포맷의 일련의 그래픽 파일(120)들로서 이미지들을 저장한다. '.tga' 파일들은 배경 이미지가 전경 이미지의 투명한 부분을 통해 디스플레이되도록 하는 투명성을 지원하므로 상기 '.tga' 포맷의 사용은 고품질의 그래픽을 제공한다. 또한 '.tga' 파일들은 대상의 가장자리가 매끄럽게 렌더링되도록 하는 특성인 앤티 알리아싱(anti-aliasing)을 지원한다. 이러한 특성들은 현실적인 모습의 이미지를 제공하는 반면에, '.tga' 포맷의 단점은 '.tga' 파일이 상당히 크다는데 있다. 예를 들어, 단일 화면은 7 Mbytes의 메모리를 소비한다.The process of creating '.pic' files 140 begins by a game developer usually creating, importing and editing an appropriate set of images using a standard graphics processing program 110 such as True Space, Maya, LightWave or 3DS Studio. The game developer stores the images, for example, as a series of graphics files 120 in the '.tga' format with one image per '.tga' file. The use of the '.tga' format provides high quality graphics because '.tga' files support transparency that allows the background image to be displayed through the transparent portion of the foreground image. '.Tga' files also support anti-aliasing, a feature that allows the edges of objects to be rendered smoothly. While these features provide realistic images, the disadvantage of the '.tga' format is that the '.tga' file is quite large. For example, a single screen consumes 7 Mbytes of memory.

일 실시예에서, 배경 전경(background panorama)은 '.bmp' 파일로 정의한다. 배경의 정의가 불투명하기 때문에, 즉 배경 뒤에서 볼 수 없으므로 상기 배경 '.bmp' 파일은 불투명한 정보를 포함하지 않는다. 상기 배경 전경은 360도 시야를 제공하기 위해 말단에서 만나는 계속적인 시야를 포함한다. 일 실시예에서, 상기 배경 전경은 12개의 수평 범위를 갖는 디스플레이 화면을 포함할 수 있다. 또한 배경의 한 점을 더욱 쉽게 주사하도록 상기 배경 전경의 제1 말단에서 디스플레이되는 제1 화면은 상기 배경 전경의 제2 말단에서 디스플레이되는 제2 화면으로 복제된다. 예를 들어, 임의의 배경 화면의 위치는 가장 좌측과 우측의 x 및 y 좌표로 확인할 수 있다. 이미지 돌림 분할 포인트(image wrap-around dividing point)로 인해 상기 '.bmp' 파일의 접촉 부분으로부터 전제적으로 읽어들임으로써 상기 전경의 시작 부분과 겹치는 화면의 위치에서 시작하는 화면을 디스플레이하는 것이 '.bmp' 파일의 말단으로부터 제1 부분을 읽어들이고 '.bmp' 파일의 시작 부분으로부터 읽어들인 제2 부분과 겹쳐 잇는 것보다 더 쉽다. 이러한 문제점과 상기 문제점을 해결하기 위해 이러한 방법을 사용하는 것이 당업계에 알려져 있다.In one embodiment, the background panorama is defined as a '.bmp' file. The background '.bmp' file does not contain opaque information because the definition of the background is opaque, ie it cannot be seen behind the background. The background foreground includes a continuous field of view that meets at the distal end to provide a 360 degree field of view. In one embodiment, the background foreground may include a display screen having 12 horizontal ranges. Also, the first screen displayed at the first end of the background foreground is duplicated to the second screen displayed at the second end of the background foreground so as to more easily scan a point of the background. For example, the position of an arbitrary background screen may be identified by x and y coordinates of the left and right sides. Because of the image wrap-around dividing point, it is prerequisite to read from the contact portion of the '.bmp' file to display a screen starting at the position of the screen overlapping the beginning of the foreground. It is easier than reading the first part from the end of the file and overwriting the second part from the beginning of the '.bmp' file. It is known in the art to use this method and to solve this problem.

360-3D 게임에 사용되는 그래픽 파일의 크기는 여러 가지 방법으로 줄일 수 있다. 예를 들어, 실행 길이 부호화(run length encoding)로 알려진 압축 알고리즘 은 '.tga' 파일을 '.pic' 파일(140)로 변환하는데 사용된다. 각각의 투명한 픽셀이 아닌 투명한 이미지의 연속적인 픽셀의 수를 지정함으로써 상기 실행 길이 부호화 과정은 파일 크기를 줄인다. '.tga' 파일에서 일반적인 이미지의 대부분이 투명하므로, 이미지에서 개별적인 픽셀의 투명 또는 불투명을 지정하는 것보다 이 방법을 이용함으로써 파일 크기를 상당히 줄일 수 있다. 사전 렌더링된 이미지의 실행 길이 부호화를 통해 10:1의 압축비로 '.tga' 파일을 '.pic' 파일(140)로 변환할 수 있다. 실행 길이 부호화를 통한 '.tga' 파일을 '.pic' 파일(140)로 변환하는 것은 '.tga' 그래픽 파일(120)을 상기 제작 툴(130)로 들여오는 과정 중에 발생하게 된다. 그래픽 프로그램(110)을 사용하여 원하는 '.tga' 파일(120)들을 생성한 후, 게임 개발자는 제작 툴(130)에서 버튼, 메뉴 항목 또는 유사한 도구를 선택하여 들여오기(importing) 및 변환(conversion)을 초기화할 수 있다.The size of graphics files used in 360-3D games can be reduced in several ways. For example, a compression algorithm known as run length encoding is used to convert a '.tga' file into a '.pic' file 140. By specifying the number of consecutive pixels of a transparent image rather than each transparent pixel, the run length encoding process reduces the file size. Since most of the common images in a '.tga' file are transparent, this method can be used to significantly reduce the file size rather than specifying the transparency or opacity of individual pixels in the image. Through execution length encoding of the pre-rendered image, a '.tga' file may be converted into a '.pic' file 140 with a compression ratio of 10: 1. The conversion of the '.tga' file through the execution length encoding into the '.pic' file 140 occurs during the process of importing the '.tga' graphic file 120 into the production tool 130. After creating the desired '.tga' files 120 using the graphics program 110, the game developer selects a button, menu item, or similar tool in the authoring tool 130 for importing and conversion. ) Can be initialized.

또한 '.tga' 파일(120)에서 각 픽셀의 색은 보통 총 32 비트에 대해 8비트의 투명도를 가지고 24 비트의 색으로 부호화된다. 이 중, 8 비트씩 적색 명암, 녹색 명암, 청색 명암 및 투명도 레벨을 표시하기 위해 사용된다. 상기 '.tga' 파일(120)은 사전 렌더링되고 16 비트 컬러 포맷인 사유(proprietary) '.pic' 파일(140)로 변환되는데, 대부분의 이동 장치들은 오직 16 비트 컬러 디스플레이를 구비하고 있으므로 반드시 필요하다. 16 비트 '.pic' 파일(140) 데이터 포맷에서, 5 비트는 적색 명암을, 6 비트는 녹색 명암을, 5 비트는 청색 명암을 위해 사용됨으로써 픽셀 당 8 비트씩 색 정보를 인코딩하는데 사용되는 비트의 수를 줄일 수 있다.In addition, the color of each pixel in the '.tga' file 120 is usually encoded with 24-bit color with 8-bit transparency for a total of 32 bits. Among them, 8 bits are used to indicate red contrast, green contrast, blue contrast and transparency levels. The '.tga' file 120 is converted to a proprietary '.pic' file 140 which is pre-rendered and in 16-bit color format, which is necessary since most mobile devices only have a 16-bit color display. Do. In the 16-bit '.pic' file 140 data format, 5 bits are used for encoding color information by 8 bits per pixel, with 5 bits being used for red contrast, 6 bits for green contrast, and 5 bits for blue contrast. Can be reduced.

각 8 비트의 적색, 녹색 및 청색 포맷(8R-8G-8B)을 5 비트의 적색, 6 비트의 녹색 및 5 비트의 청색 포맷(5R-6G-5B)으로 변환함으로써 상기 8R-8G-8B 데이터에서 중요하지 않은 비트를 잘라버릴 수 있게 된다. 즉, 가장 덜 중요한 3 비트의 적색, 2 비트의 녹색 및 3비트의 청색 데이터들이 픽셀별로 삭제된다. '.tga' 이미지의 완전히 투명한 부분들은 상기 실행 길이 부호화 과정을 통해 '.pic' 이미지로 부호화된다. 번지는(feathered) 가장자리 또는 그 밖의 투명도 정보는 8비트 투명도 정보를 이용하여 유지된다.The 8R-8G-8B data by converting each 8-bit red, green, and blue format (8R-8G-8B) to 5-bit red, 6-bit green, and 5-bit blue format (5R-6G-5B). You can truncate unimportant bits in. That is, the least significant three bits of red, two bits of green and three bits of blue data are erased pixel by pixel. The completely transparent portions of the '.tga' image are encoded into the '.pic' image through the run length encoding process. Feathered edges or other transparency information is maintained using 8-bit transparency information.

상기 '.pic' 파일(140)은 3개의 분리된 형태의 데이터 패킷을 포함한다. 이들 3개의 분리된 형태 중 하나의 이미지 데이터를 갖게 되면 패킷 식별자(identifier)가 각 패킷을 확인한다. 이미지의 투명한 부분을 완전히 포함하는 제1 형태는 부호화되어 0비트를 갖는다. 이미지의 불투명한 색 부분을 포함하는 제2 형태는 상술한 바와 같이 변환되고 16비트를 사용하여 부호화된다. 주 이미지 주변의 번지는 가장자리 및/또는 상기 이미지의 부분적으로 투명한 부분들을 포함하는 제3 형태는 상술한 바와 같이 변화되고 16비트를 사용하여 부호화된다. 게다가 투명도를 위한 별도의 8 비트를 합해서 투명도 정보를 포함하는 이미지에 대한 총 24비트가 이루어진다.The '.pic' file 140 includes three separate data packets. Having image data in one of these three separate forms, a packet identifier identifies each packet. The first form, which completely includes the transparent portion of the image, is encoded to have zero bits. The second form comprising the opaque color portion of the image is converted as described above and encoded using 16 bits. The third form, which includes the edges around the main image and / or partially transparent portions of the image, is changed as described above and encoded using 16 bits. In addition, a total of 24 bits for the image containing transparency information are added up by adding 8 separate bits for transparency.

실행 길이 부호화를 통해 '.tga' 파일(120)을 '.pic' 파일(140)로 압축하면, 디스플레이 화면(200)상에 상기 '.pic' 파일(140)이 렌더링될 때 고속의 압축해제(uncompression)이 가능해진다. 투명한 다수의 연속적 픽셀에 대해 상기 렌더링 과정을 뛰어넘을 수 있으므로, 실행 길이 부호화된 파일의 렌더링은 압축해제된 파 일의 렌더링보다 실제로 빠르게 이루어질 수 있다. 상기 '.pic' 파일(140)들은 360-3D 게임이 시작되면 바로 압축해제되지 않는다. 게임 동안 디스플레이를 위한 '.pic' 파일(140)들을 런타임 엔진(190)이 검색함에 따라, 이미지들을 압축해제하고 거의 동시에 이들을 디스플레이한다. '.tga' (.jpg 또는 .gif) 이외의 파일 포맷이 원래 그래픽 파일(120)에 사용되었다면, 이와 같이 빠른 압축해제는 불가능하다.When the '.tga' file 120 is compressed into a '.pic' file 140 through execution length encoding, fast decompression occurs when the '.pic' file 140 is rendered on the display screen 200. (uncompression) is possible. Since the rendering process can be skipped over a large number of transparent pixels, the rendering of the run-length coded file can be done faster than the rendering of the decompressed file. The '.pic' files 140 are not decompressed as soon as the 360-3D game starts. As runtime engine 190 searches for '.pic' files 140 for display during the game, it decompresses the images and displays them at about the same time. If a file format other than '.tga' (.jpg or .gif) was used for the original graphics file 120, such fast decompression is not possible.

또 다른 변환 과정은 상기 저작 도구(130)의 에뮬레이터(920)의 일부에서 컴퓨터 화면상에 '.pic' 파일(140)들이 디스플레이될 때 발생한다. '.pic' 파일(140)의 이미지들은 상술한 바와 같이 16비트 포맷이나, 윈도우 기반이 컴퓨터와 같은 일반적인 데스크톱 컴퓨터는 8비트가 각 색에 사용되는 24비트 포맷의 이미지를 디스플레이한다. 그러므로, 윈도우 기반 컴퓨터는 '.pic' 파일(140)들을 바로 읽어들일 수 없다. 컴퓨터(170) 상에 상기 '.pic' 파일(140)들을 디스플레이하기 위해서, '.pic' 의 각 픽셀에서 각 색에 대해 가장 덜 중요한 비트들이 0으로 메워져 각각의 색에 대해 8 비트가 사용된다. 즉, 하나의 픽셀에 대해 데이터의 적색 부분에서 5비트는 왼쪽으로 3비트가 쉬프트되고, 녹색 부분의 6 비트는 왼쪽으로 2비트가 쉬프트되며, 청색 부분의 5비트는 왼쪽으로 3비트가 쉬프트된다. 그러면, 3개의 0이 5 적색 비트의 오른편에 더해지고, 2개의 0이 6 녹색 비트의 오른편에 더해지며, 3개의 0이 5 청색 비트의 오른편에 더해진다. '.pic' 파일(140)의 이미지들이 24 비트 포맷의 컴퓨터(170)상에 디스플레이된다 할지라도, 상기 이미지들은 16비트의 품질만 갖게 되어 게임 개발자는 이동 장치(180)상에 디스플레이될 때 갖는 동일한 모습을 상기 에뮬레이터(920)의 이미지에서 볼 수 있다.Another conversion process occurs when the '.pic' files 140 are displayed on the computer screen in part of the emulator 920 of the authoring tool 130. Images of the '.pic' file 140 are in 16-bit format as described above, but a typical desktop computer such as a Windows-based computer displays an image in 24-bit format where 8 bits are used for each color. Therefore, a Windows-based computer cannot read the '.pic' files 140 directly. To display the '.pic' files 140 on the computer 170, the least significant bits for each color at each pixel of the '.pic' are padded with zeros and 8 bits are used for each color. . That is, for one pixel, 5 bits in the red portion of the data are shifted 3 bits to the left, 6 bits in the green portion are shifted 2 bits to the left, and 5 bits in the blue portion are shifted 3 bits to the left. . Then, three zeros are added to the right of the five red bits, two zeros are added to the right of the six green bits, and three zeros are added to the right of the five blue bits. Although the images of the '.pic' file 140 are displayed on the computer 170 in a 24-bit format, the images have only 16 bits of quality so that the game developer has a display when displaying on the mobile device 180. The same appearance can be seen in the image of the emulator 920.

윈도우 기반의 컴퓨터(170)는 이러한 방법으로 변환된 비디오 데이터를 읽어들여 상기 에뮬레이터(920)에 데이터를 적절히 디스플레이한다. 16비트의 사용할 수 없는 데이터가 각 경우에 디스플레이되므로, 상기 에뮬레이터에서 이미지의 품질은 이동 장치(180)의 화면(180)에 나타나는 품질과 실제로 동일하게 된다.The window-based computer 170 reads the video data converted in this manner and displays the data on the emulator 920 as appropriate. Since 16 bits of unusable data are displayed in each case, the quality of the image in the emulator will be substantially the same as the quality that appears on the screen 180 of the mobile device 180.

컴퓨터(170)의 비디오 모니터상에 이미지를 디스플레이하기 위해 공통적으로 사용되는 이중 버퍼링 과정 동안에 이러한 변환이 일어나게 된다. 당업계에 잘 알려져 있듯이, 이중 버퍼링에서, 이미지가 제1 메모리 버퍼에 구성되는 반면 제2 메모리 버퍼에 저장된 이미지는 모니터 또는 그 밖의 디스플레이 장치에 디스플레이된다. 상기 모니터 또는 디스플레이 장치가 다음으로 업데이트될 때, 상기 제1 메모리 버퍼에 저장된 이미지는 상기 모니터 또는 디스플레이 장치상에 디스플레이되는 반면, 다음 이미지는 상기 제2 메모리 버퍼에 구성된다. 이와 같은 방법으로 이미지를 버퍼링하는 것은 이미지가 모니터상에 직접 구성될 때 발생할 수 있는 점멸현상(flickering effect)을 방지한다.This conversion occurs during the double buffering process commonly used to display an image on the video monitor of the computer 170. As is well known in the art, in double buffering, an image is constructed in a first memory buffer while an image stored in a second memory buffer is displayed on a monitor or other display device. When the monitor or display device is next updated, the image stored in the first memory buffer is displayed on the monitor or display device, while the next image is configured in the second memory buffer. Buffering the image in this way prevents the flickering effect that can occur when the image is constructed directly on the monitor.

일 실시예에서, 16비트 컬러 '.pic' 포맷에서 24비트 컬러 '.pic' 포맷으로의 변환이 구성된 이미지를 제1 버퍼에서 제2 버퍼로 전송하는 동안 일어나게 된다. 즉, 오프 스크린(off-screen) 16비트 컬러 이미지는 상기 제1 버퍼에 구성되고, 상기 이미지는 24비트 컬러 포맷으로 변화되며, 24비트 컬러 이미지는 상기 제2 버퍼로 전송된다. 이는 이동 장치 기반의 포맷에서 컴퓨터 기반의 포맷으로의 변환이 상기 이미지가 디스플레이되기 전 마지막 순간에 일어나도록 한다. 상기 변환 은 이미지를 포함하는 '.pic' 파일(140)이 아닌 '.pic' 기반의 이미지상에서만 이루어진다. 실제 '.pic' 파일(140)들이 컴퓨터(170)에 의해 읽힐 수 있는 포맷으로 변환될 필요가 없으므로, 상기 저작 도구(130)를 이용하는 게임 개발자는 360-3D 게임이 실행되는 동안 이동 장치(180)에 사용되는 동일한 '.pic' 파일(140)들을 가지고 작업할 수 있다. 이는 상기 저작 도구(130)에 생성된 게임이 에뮬레이터(920) 상에 나타나는 것과 거의 정확하게 이동 장치(180)의 화면(200)상에 나타나도록 한다.In one embodiment, the conversion from the 16-bit color '.pic' format to the 24-bit color '.pic' format occurs while transferring the configured image from the first buffer to the second buffer. That is, an off-screen 16-bit color image is configured in the first buffer, the image is converted into a 24-bit color format, and a 24-bit color image is transferred to the second buffer. This allows the conversion from mobile device based format to computer based format happening at the last moment before the image is displayed. The conversion is performed only on the '.pic' based image, not the '.pic' file 140 containing the image. Since the actual '.pic' files 140 do not need to be converted into a format that can be read by the computer 170, the game developer using the authoring tool 130 may use the mobile device 180 while the 360-3D game is running. You can work with the same '.pic' files 140 used for. This allows the game created in the authoring tool 130 to appear on the screen 200 of the mobile device 180 almost exactly as it appears on the emulator 920.

전술한 바와 같이, 이미 설명한 게임 액션의 유형에 더하여, 360-3D 게임이 다인용 모드에서 실행될 수 있다. 2명 이상의 플레이어는 서로 다른 이동 장치(180)상에서 동시에 같은 편이나 상대편으로서 플레이할 수 있다. 상기 이동 장치(180)들은 보통 WiFi, Bluetooth 또는 다른 무선 통신 기술을 경유하여 서로 통신할 수 있다. 실제로 같은 전경(220)이 모든 플레이어들에게 보일 수 있지만, 각 플레이어는 상기 전경(220)의 다른 부분을 보거나 상호작용할 수 있다. 제1 플레이어의 관점에서, 제2 플레이어는 상기 제1 플레이어와 같은 위치에 놓이지만 상기 제2 플레이어는 독립적으로 회전, 조준 및 슈팅을 하고 있는 것이 나타날 수 있다.As mentioned above, in addition to the types of game actions already described, 360-3D games may be executed in a multiplayer mode. Two or more players can play on the same mobile device 180 as the same side or the other side at the same time. The mobile devices 180 may communicate with each other, usually via WiFi, Bluetooth, or other wireless communication technology. In fact, the same foreground 220 may be visible to all players, but each player may see or interact with a different portion of the foreground 220. From the perspective of the first player, it may appear that the second player is in the same position as the first player but the second player is independently rotating, aiming and shooting.

모든 유형의 장치(180) 상에 모든 런타임 엔진(190)들은 실제로 동일하며, 특정 게임용 모든 컨테이너(160)들도 실제로 동일하다. 그러므로 서로 다른 이동 장치(180) 상에서 같은 게임을 하는 두 명의 실제 플레이어들은 각 장치(180)의 엔진(190)이 초기 명령 '.act' 파일을 실행할 때 동일한 초기 화면(200)을 보게 된다. 일 실시 예에서, 각 플레이어의 키입력(keystroke)들은 프레임이 읽히고 다른 플레이어의 장치(180)상에 엔진(190)에 의해 키입력이 처리될 때마다 무선으로 다른 플레이어의 장치(180)에 전송된다. 양쪽 엔진(190)들은 동일한 순간에 동일한 command.act 파일을 읽어들여 실행하고, 이후 키패드로부터 같은 입력을 수신하게 된다. 그러므로 동일한 '.act' 파일(150)은 양쪽 엔진(190)들에 의해 읽히고 실행된다. 이후에 'act' 파일(150)들이 생성되면, 같은 '.act' 파일(150)들이 양쪽 엔진(190)에 의해 동시에 생성된다. 이와 같이, 하나의 엔진(190)에 의해 읽히고 실행되는 모든 '.act' 파일(150)들은 상대 엔진(190)에 의해 같은 프레임으로 읽히고 실행된다. 따라서 상기 두 장치(180)상의 두 게임들은 프레임별로 동기화된다.All runtime engines 190 on all types of devices 180 are actually the same, and all containers 160 for a particular game are actually the same. Therefore, two real players playing the same game on different mobile devices 180 see the same initial screen 200 when the engine 190 of each device 180 executes the initial command '.act' file. In one embodiment, each player's keystrokes are wirelessly transmitted to the other player's device 180 whenever the frame is read and processed by the engine 190 on the other player's device 180. do. Both engines 190 read and execute the same command.act file at the same moment and then receive the same input from the keypad. Thus the same '.act' file 150 is read and executed by both engines 190. After the 'act' files 150 are generated, the same '.act' files 150 are generated by both engines 190 simultaneously. As such, all '.act' files 150 that are read and executed by one engine 190 are read and executed in the same frame by the counterpart engine 190. Thus, two games on the two devices 180 are synchronized frame by frame.

상기 두 게임들의 동기화는 각 엔진(190)에 의해 생성되는 전경(220)에서 나타나는 전체 360도 장면은 실제로 양쪽 플레이어에게 동일하다는 것을 의미한다. 그러나 각 가상 플레이어(210)는 상기 전경(220) 내에서 상대 가상 플레이어와 독립적으로 회전하므로, 각 가상 플레이어(210)는 전경(220)의 다른 부분을 볼 수 있으며, 각 실제 플레이어가 각 장치(180)의 화면(200)상에서 보게 되는 디스플레이는 달라질 수 있다.Synchronization of the two games means that the entire 360 degree scene shown in the foreground 220 generated by each engine 190 is actually the same for both players. However, since each virtual player 210 rotates independently of the opponent virtual player in the foreground 220, each virtual player 210 can see a different portion of the foreground 220, and each real player can see each device ( The display seen on the screen 200 of 180 may vary.

또한 각 실제 플레이어는 독립적으로 자신의 십자형 커서(270)를 움직일 수 있다. 상기 십자형 커서(270)은 가상 플레이어(210)가 회전하는 동안 좌우를 중심으로 중앙에 위치하고, 각 가상 플레이어(210)는 독립적으로 회전할 수 있으므로, 가상 플레이어의 십자형 커서(270)의 상하 및 좌우 위치들은 상대 가상 플레이어의 십자형 커서(270)와는 독립적으로 설정될 수 있다. 따라서 각 가상 플레이어(210)는 상대방 가상 플레이어(210)와는 다른 캐릭터(260)를 향해 발사할 수 있다. 각 가상 플레이어의 십자형 커서(270)는 양쪽 모두 360도 전경 상에 같은 위치를 바라볼 때 상대방의 화면(200)상에 나타나게 된다. 각 가상 플레이어의 십자형 커서(270)는 예를 들어 다른 색에 의해 서로 구별될 수 있다.Each real player can also independently move his or her cross cursor 270. The cross cursor 270 is located at the center of the left and right while the virtual player 210 rotates, and each virtual player 210 can rotate independently, so that the top and bottom and left and right of the cross cursor 270 of the virtual player are rotated. The positions may be set independently of the crosshairs 270 of the opponent virtual player. Therefore, each virtual player 210 may shoot toward a character 260 different from the opponent virtual player 210. The cross cursor 270 of each virtual player is displayed on the opponent's screen 200 when both sides view the same position on the 360 degree foreground. The crosshairs 270 of each virtual player may be distinguished from each other by, for example, different colors.

제1 실제 플레이어가 발사하기 위해 자신의 장치(180)상의 키를 누르면, 상기 키입력(keystroke)이 제2 실제 플레이어의 장치(180)로 전송된다. 상기 제2 장치(180)의 엔진(190)은 제1 장치(180)의 엔진(190)과 동일한 방법으로 키입력을 처리하게 된다. 따라서 상기 제1 플레이어의 발사의 결과로 생성되는 별도의 '.act' 파일(150)들은 양쪽 장치(180)의 엔진(190)들에 동시에 생성된다. 그러면 각 엔진(190)은 상대방 엔진(190)과 동기화되어 상기 '.act' 파일(150)들을 처리하게 된다. 동일한 프레임에서 동시에 '.act' 파일(150)들을 시작하고, 동일한 속도로 상기 '.act' 파일(150)들을 읽어들이며, 양쪽 엔진(190)으로의 입력으로서 양쪽 장치(180)들의 키입력을 사용하면, 충분히 상기 엔진(190)들의 동기화를 이룰 수 있다. 상기 바람직한 실시 예에서, 다인용 게임을 위한 두 엔진(190)들 사이에 동기화를 유지하기 위해 각 플레이어가 누르는 키 이외에 어떤 데이터도 상기 두 장치(180)들에 의해 교환될 필요는 없다. 또한 오직 4 바이트의 데이터만이 다인용 게임을 위한 장치(180)들과 키입력 정보를 통신할 필요가 있다.When the first real player presses a key on his device 180 to fire, the keystroke is sent to the second real player's device 180. The engine 190 of the second device 180 processes the key input in the same manner as the engine 190 of the first device 180. Thus, separate '.act' files 150 generated as a result of the firing of the first player are simultaneously created in the engines 190 of both devices 180. Then, each engine 190 is synchronized with the counterpart engine 190 to process the '.act' files 150. Start the '.act' files 150 simultaneously in the same frame, read the '.act' files 150 at the same speed, and key input from both devices 180 as input to both engines 190. If used, synchronization of the engines 190 can be achieved sufficiently. In this preferred embodiment, no data need be exchanged by the two devices 180 in addition to the key each player presses to maintain synchronization between the two engines 190 for the multiplayer game. Also only 4 bytes of data need to communicate keying information with the devices 180 for the multiplayer game.

다인용 게임에 사용되는 모든 장치(180)상의 런타임 엔진(190)들이 동기화되어 동일한 '.act' 파일(150)들을 읽어 들여 실행하는 동안 상기 각 엔진(190)에 의해 저장되는 데이터에서 일부 변화가 존재하게 된다. 각 장치(180)상의 엔진(190)은 '버디 모듈(buddy module)'이라 불리는 모듈을 사용하여 각 플레이어별로 플레 이어 특정(player-specific) 데이터의 트랙을 유지할 수 있다. 예를 들어, 플레이어가 한 캐릭터(260)를 죽이면, 상기 버디 모듈은 어느 플레이어가 점수를 기록하고 적절한 플레이어의 총 점수에 상기 점수를 더할지를 등록한다. 또한, 상기 버디 모듈은 디스플레이 화면(200)에서 적절한 위치에 각 플레이어별로 상기 적절한 점수가 나타나도록 한다. 게다가, 상기 버디 모듈은 서로 다른 플레이어의 디스플레이(200)에 나타나는 다른 레이더(280)들의 트랙을 유지하고 적당히 디스플레이한다.The runtime engines 190 on all devices 180 used in the multiplayer game are synchronized so that some changes in the data stored by each engine 190 are read while executing the same '.act' files 150. It will exist. The engine 190 on each device 180 may maintain a track of player-specific data for each player using a module called a 'buddy module'. For example, if a player kills a character 260, the buddy module registers which player records the score and adds it to the appropriate player's total score. In addition, the buddy module allows the appropriate score to be displayed for each player at an appropriate position on the display screen 200. In addition, the buddy module maintains and properly displays the tracks of the different radars 280 that appear on the display 200 of different players.

서로 다른 두 장치(180)상의 엔진(190)들이 동일한 다인용 게임을 실행하는 일례로서, 제1 플레이어는 게임의 다인용 모드를 선택할 수 있다. 상기 제1 플레이어의 장치(180)와 통신하는 제2 플레이어가 같은 게임의 다인용 모드를 선택하면, 양쪽 플레이어의 장치(180)들 중 하나의 동기화 구성요소는 상기 게임의 초기 commmand.act 파일의 제1 프레임이 각 장치(180)상의 엔진(190)에 의해 동시에 읽히게 된다. 이후, 각 엔진(190)은 동일한 속도록 각 command.act 파일의 후속 프레임들을 읽어들이므로, 상기 command.act 파일의 같은 프레임들은 각 엔진(190)에 의해 동시에 읽히게 된다.As an example in which the engines 190 on two different devices 180 execute the same multiplayer game, the first player may select a multiplayer mode of the game. If a second player in communication with the first player's device 180 selects a multiplayer mode of the same game, one of the player 180's device 180's synchronization component may be located in the initial commmand.act file of the game. The first frame is read simultaneously by the engine 190 on each device 180. Since each engine 190 then reads subsequent frames of each command.act file at the same rate, the same frames of the command.act file are read simultaneously by each engine 190.

제1 실제 플레이어가 발사를 위해 자신의 장치(180)상의 키를 누르면, 키입력은 제2 실제 플레이어의 장치(180)로 전송된다. 제2 장치(180)상의 엔진(190)은 상기 제1 장치(180)상의 엔진(190)과 같은 방법으로 상기 키입력을 처리한다. 예를 들어, 상기 제1 플레이어의 발사가 제1 캐릭터(260)를 죽이면, 이를 제어하는 제1 '.act' 파일(150a)은 제2 캐릭터(260)를 등장시키는 제2 '.act' 파일(150b)을 생성 할 수 있다. 상기 제1 '.act' 파일(150a)이 양쪽 플레이어의 장치(180)상의 동일한 프레임에서 실행되고, 양쪽 장치(180)들은 그들의 키패드들로부터 거의 동시에 동일한 입력을 수신하게 되므로, 제1 플레이어의 발사는 제2 '.act' 파일(150b)이 양쪽 장치(180)상에서 동시에 실행되도록 한다. 그러면 양쪽 장치(180)상의 엔진(190)들은 프레임별로 동시에 상기 제2 '.act' 파일(150b)을 읽어들여 실행한다. 어느 하나의 실제 플레이어에 의한 추가적인 키입력은 추가적인 '.act' 파일(150)이 실제로 양쪽 장치(180)상에 동시에 실행되도록 한다. 이러한 추가적인 '.act' 파일(150)들 및 이들이 생성하는 이후의 '.act' 파일(150)들은 양쪽 장치(180)상에 생성되며, 상기 게임을 통해서 동기화되어 양쪽 엔진(190)에 의해 읽어들여 실행하게 된다. When the first real player presses a key on his device 180 for firing, the keystroke is sent to the second real player's device 180. The engine 190 on the second device 180 processes the key input in the same way as the engine 190 on the first device 180. For example, when the firing of the first player kills the first character 260, the first '.act' file 150a controlling the first player 260 may control the second '.act' file that presents the second character 260. 150b can be generated. The first '.act' file 150a runs on the same frame on both players' devices 180, and both devices 180 receive the same input from their keypads almost simultaneously, thus firing the first player. Causes the second '.act' file 150b to run concurrently on both devices 180. Then, the engines 190 on both devices 180 read and execute the second '.act' file 150b at the same time for each frame. Additional keystrokes by either real player cause additional '.act' files 150 to be executed on both devices 180 at the same time. These additional '.act' files 150 and subsequent '.act' files 150 they create are created on both devices 180 and synchronized by the game and read by both engines 190. Indented.

상기 버디 모듈은 제1 플레이어가 상기 제1 캐릭터(260)를 죽인 것에 대한 점수를 얻도록 한다. 각 플레이어가 점수를 얻음에 따라, 상기 버디 모듈은 적절한 플레이어의 총 점수에 상기 점수를 더한다.The buddy module allows a first player to score points for killing the first character 260. As each player scores, the buddy module adds the score to the total score of the appropriate player.

상기한 바와 같이, 런타임 엔진(190)은 보통 이동 장치(180)의 운영 시스템에 내장된다. 대신에, 상기 엔진(190)은 Java 또는 Brew와 같은 여러 층들을 통해 장치의 운영 시스템과 통신할 수도 있다. 서로 다른 플랫폼 하에서 동작하는 장치(180) 상에 인스톨된 엔진(190)들은 실제로 동일하기 때문에, 각각의 이동 장치(180)를 가진 플레이어들은 다인용 게임에 참가할 수 있다.As noted above, the runtime engine 190 is usually built into the operating system of the mobile device 180. Instead, the engine 190 may communicate with the operating system of the device through several layers, such as Java or Brew. Since the engines 190 installed on the devices 180 operating under different platforms are actually the same, players with each mobile device 180 can participate in a multiplayer game.

또한 이동 장치(180)를 가지 플레이어는 컴퓨터를 사용하는 플레이어와 다인용 게임이 참가할 수 있다. 상기 저작 도구(130)의 일부로서 상술한 에뮬레이 터(920)는 보통 360-3D 게임의 제작에 사용된다. 그러나 상기 에뮬레이터(920)는 컴퓨터상의 360-3D 게임을 실행하는 독립형(stand-alone)의 구성요소가 되도록 변경될 수도 있다. 이러한 변경된 에뮬레이터(920)가 WiFi 인터페이스와 같은 이동 장치(180)와 통신하기 위해 필수적인 하드웨어를 구비한 컴퓨터상에 인스톨되면, 컴퓨터를 사용하는 플레이어와 이동 장치(180)를 지닌 플레이어는 다인용 게임에 참가할 수 있다.In addition, a player having the mobile device 180 may participate in a multiplayer game with a player using a computer. The emulator 920 described above as part of the authoring tool 130 is commonly used in the production of 360-3D games. However, the emulator 920 may be modified to be a stand-alone component that executes a 360-3D game on a computer. If this modified emulator 920 is installed on a computer with the necessary hardware to communicate with the mobile device 180, such as a WiFi interface, then the player using the computer and the player with the mobile device 180 will be able to play the multiplayer game. I can participate.

이동 장치 기반의 16비트 컬러 포맷의 이미지가 윈도우 기반의 24비트 컬러 포맷의 이미지로 변환되도록 하는 상기 변환 과정은 실제로 동일한 '.pic' 파일(140) 및 '.act' 파일(150)들이 컴퓨터와 이동 장치(180) 모두에 의해 사용되고, 윈도의 기반의 컴퓨터가 이동 장치(180)에 구비된 다인용 게임에 참가하도록 한다.The conversion process for converting a mobile device-based 16-bit color format image to a Windows-based 24-bit color format actually involves the same '.pic' file 140 and '.act' file 150 with a computer. Used by both mobile devices 180 and allowing a Windows-based computer to participate in the multiplayer game included in mobile device 180.

한편, 서로 다른 유형의 장치(180)상의 디스플레이 화면(200)들은 다른 크기를 가질 수 있다. 예를 들어, PDA 상의 디스플레이는 일반적으로 이동 전화상의 디스플레이보다 크다. 일 실시 예에서, 360-3D 게임에 나타나는 이미지들은 그들이 나타나는 디스플레이(200)의 크기에 비례하여 확대 축소되지 않는다. 즉, 작은 디스플레이에 알맞은 장면이 큰 디스플레이에 맞도록 확대되지 않으며, 큰 디스플레이에 알맞은 장면이 작은 디스플레이에 맞도록 축소되지 않는다. 특정 이미지는 PDA 또는 이동 전화상에 디스플레이 되는지의 여부에 관계없이 픽셀의 측면에서 동일한 크기로 디스플레이 된다. 서로 다른 디스플레이의 다른 크기를 보상하기 위해서, 작은 디스플레이에서는 보이지 않는 큰 디스플레이 상에 별도의 장면 부분이 보이게 된다.Meanwhile, the display screens 200 on the different types of devices 180 may have different sizes. For example, displays on PDAs are generally larger than displays on mobile phones. In one embodiment, images appearing in a 360-3D game are not scaled up or down in proportion to the size of the display 200 in which they appear. That is, a scene suitable for a small display is not enlarged to fit a large display, and a scene suitable for a large display is not scaled down to fit a small display. Certain images are displayed at the same size in terms of pixels, whether or not they are displayed on a PDA or mobile phone. To compensate for the different sizes of the different displays, separate scene parts are shown on the large display, which is not visible on the small display.

이를 도 10에서 도시하였는데, 작은 이동 전화 크기의 디스플레이(460)가 큰 PDA 크기의 디스플레이(470)에 겹쳐져 있다. 이동 전화상에서 게임을 하는 플레이어는 상기 박스(460) 내에서 보이는 장면의 부분만을 보게 될 것이다. PDA 상에서 동일 게임을 하고 동일 방향을 바라보는 플레이어는 상기 박스(460) 내에서 보이는 장면의 부분을 보는 동시에 별도의 장면 부분을 보게 될 것이다. 즉, PDA를 구비한 플레이어는 또한 화면의 상부에 있는 상측 수평 부분(480), 화면 하부에 있는 하측 수평 부분(485), 화면 왼쪽의 수직 부분(490) 및 화면 오른쪽의 수직 부분(495)도 보게 된다. 이러한 별도의 부분들은 상기 화면의 더 큰 시야를 만들어 내기 위해서 작은 디스플레이(460)의 장면과 한결같도록 맞춰진다. 다시 말하면, 상기 작은 디스플레이(460)는 큰 화면(470)의 중앙 부분을 도려낸 것과 같이 보일 수 있다.This is illustrated in FIG. 10, where a small mobile phone sized display 460 is superimposed on a large PDA sized display 470. The player playing the game on the mobile phone will see only a portion of the scene visible within the box 460. Players playing the same game on the PDA and looking in the same direction will see part of the scene visible within the box 460 and at the same time a separate scene part. That is, a player with a PDA also has an upper horizontal portion 480 at the top of the screen, a lower horizontal portion 485 at the bottom of the screen, a vertical portion 490 on the left side of the screen and a vertical portion 495 on the right side of the screen. You see. These separate portions are tailored to match the scene of the small display 460 to produce a larger field of view of the screen. In other words, the small display 460 may appear to cut out the center portion of the large screen 470.

만일 PDA 및 이동 전화를 각각 구비한 플레이어들이 다인용 게임을 하고 있고 같은 방향을 향하고 있는 가상 플레이어(210)들을 가지고 있다면, 양쪽 플레이어들은 작은 영역(460)에서 동일한 장면을 보게 될 것이다. 예를 들어, 양쪽 플레이어들이 빌딩(240) 및 캐릭터(260)를 보고 있고 이들 이미지는 양쪽 디스플레이 상에서 같은 크기로 보일 것이다. 그러나, PDA를 구비한 플레이어는 상측 수평 부분(480)의 산(230) 및 하측 수평 부분(485)의 나무(250)도 보게 될 것이다. 상기 상측 및 하측 수평 부분들(480, 485)은 이동 전화를 구비한 플레이어의 디스플레이(460)에 나타나지 않으므로, 이러한 이미지들은 이동 전화를 구비한 플레이어에게는 보이지 않는다.If players with PDAs and mobile phones, respectively, are playing multiplayer games and have virtual players 210 facing in the same direction, both players will see the same scene in a small area 460. For example, both players are looking at building 240 and character 260 and these images will appear the same size on both displays. However, a player with a PDA will also see the mountain 230 of the upper horizontal portion 480 and the tree 250 of the lower horizontal portion 485. Since the upper and lower horizontal portions 480 and 485 do not appear on the display 460 of the player with the mobile phone, these images are not visible to the player with the mobile phone.

일부 실시 예들에서, 상기 상측 및 하측 수평 부분들(480, 485)은 단순히 배 경 이미지의 확장 부분들이며, 어떠한 액션이나 활동도 이러한 부분들에서는 발생하지 않는다. 다른 실시 예들에서, 상기 상측 및 하측 수평 부분들(480, 485)은 캐릭터들이 진출입하고 액션이 일어날 수 있는 활성화된 영역이 될 수 있다. 또 다른 일부 실시예들에서, 상기 상측 수평 부분(480)은 하늘과 같은 동종의 범위의 연장 부분이 될 수 있고, 하측 수평 부분(485)은 사막과 같은 동종의 범위의 연장 부분이 될 수도 있다.In some embodiments, the upper and lower horizontal portions 480 and 485 are simply extended portions of the background image, and no action or activity occurs in these portions. In other embodiments, the upper and lower horizontal portions 480 and 485 can be active regions in which characters can enter and exit and action can occur. In some other embodiments, the upper horizontal portion 480 may be an extension of a homogeneous range, such as the sky, and the lower horizontal portion 485 may be an extension of a homogeneous range, such as a desert. .

일부 실시 예에서, 상기 레이더(280) 및 점수(290)는 작은 디스플레이(460)를 구비한 장치(180) 또는 큰 디스플레이(470)를 구비한 장치(180)상에서 게임이 실행되는지의 여부에 관계없이 작은 디스플레이 영역(460)에 나타나게 된다. 다른 실시 예들에서, 상기 레이더(280) 및 점수(290)는 작은 디스플레이(460)를 구비한 장치(180)상의 작은 디스플레이 영역(460)에 나타날 수 있고, 큰 디스플레이(470)를 구비한 장치(180)상의 상측 및 하측 수평 부분들(480, 485)에 나타날 수도 있다.In some embodiments, the radar 280 and score 290 relate to whether the game is run on a device 180 with a small display 460 or a device 180 with a large display 470. Will appear in the small display area 460. In other embodiments, the radar 280 and score 290 may appear in a small display area 460 on a device 180 with a small display 460, and with a device with a large display 470. It may also appear in the upper and lower horizontal portions 480, 485 on 180.

각각의 이동 장치(180)를 지닌 플레이어들이 다인용 게임에 참가하면, 제1 플레이어는 제2 플레이어가 사용하는 제2 이동 장치(180)상의 디스플레이 화면(460)보다 큰 디스플레이 화면(470)을 구비하는 제1 장치(180)를 가질 수 있다. 만일 상기 제1 장치(180)의 전체 디스플레이 영역(470)이 활성화되어 있으면, 상기 제1 플레이어는 장점을 가질 수 있다, 즉, 상기 제1 플레이어가 제2 플레이어가 볼 수 있는 상측 및 하측 수평 부분들(480, 485)에서 캐릭터(260)들을 향해 슈팅할 수 있으므로, 제2 플레이어에게는 불가능한 포인트를 얻을 수 있다.When players with each mobile device 180 join the multiplayer game, the first player has a display screen 470 that is larger than the display screen 460 on the second mobile device 180 used by the second player. It may have a first device 180. If the entire display area 470 of the first device 180 is activated, the first player may have an advantage, ie, the upper and lower horizontal portions where the first player can see the second player. In the fields 480 and 485, the player can shoot toward the characters 260, thereby obtaining points that are impossible for the second player.

이러한 불균형을 제거하기 위해서, 상기 제1 장치(180)의 화면(470)상의 십자형 커서(270)는 제1 장치(180)의 화면(470)상의 상측 및 하측 수평 부분들(480, 485)로 진입하지 못하게 할 수 있다. 이러한 부분들은 계속 제1 플레이어에게는 보이게 되며, 상기 제1 플레이어는 상기 부분들로 진출입하는 캐릭터(260)를 관찰할 수 있으나, 이러한 부분들에서 상기 캐릭터(260)를 향해 슈팅을 할 수는 없다. 이와 같이, 두 플레이어가 얻을 수 있는 포인트는 같아질 수 있다. 좌측 및 우측 수직 부분들(490, 495)로 십자형 커서(270)가 이동하는 것을 막을 필요는 없다 왜냐하면 이러한 영역들은 좌측 또는 우측으로 회전함으로써 제2 플레이어에게 보이기 때문이다.To eliminate this imbalance, the cross cursor 270 on the screen 470 of the first device 180 is moved to the upper and lower horizontal portions 480 and 485 on the screen 470 of the first device 180. You can prevent entry. These parts continue to be visible to the first player, who can observe the character 260 entering and exiting the parts, but cannot shoot towards the character 260 in these parts. As such, the points earned by the two players can be the same. It is not necessary to prevent the crosshairs 270 from moving to the left and right vertical portions 490 and 495 because these areas are visible to the second player by rotating left or right.

이동 장치(180)의 화면에 보이는 레이더(280)는 일인용 또는 다인용 게임에서 실제 플레이어가 가상 플레이어(210)에 데미지를 가하는 캐릭터(260)들의 위치를 판단하는데 도움을 준다. 도 11은 하나의 레이더(280)를 도시하고 있다. 상기 레이더(280)는 엔진(190) 내에 구성될 수 있고, 서로 다른 각 360-3D 게임에 대해서 동일하게 동작한다. 상기 레이더(280)는 동일한 크기의 일련의 섹터(940)들을 포함하는 수평의 막대(930) 형태를 가질 수 있다. 상기 막대(930)의 길이는 전경(220)의 환경에 대응되며, 상기 막대(930)의 각 섹터(940)는 전경(220)에서 비례적으로 크기가 나누어진 섹터와 대응된다. 상기 막대(930)의 최좌측 섹터(940a) 및 최우측 섹터(940x)는 서로 겹쳐 보일 수 있으며, 양쪽 모두 가상 플레이어(210) 뒤로 180도의 전경(220) 부분을 나타낼 수 있다. 따라서 상기 2차원의 막대(930)는 상기 전경(220) 내에 3차원 시각을 나타낸다.The radar 280 shown on the screen of the mobile device 180 helps the real player determine the positions of the characters 260 that damage the virtual player 210 in the single player or multiplayer game. 11 shows one radar 280. The radar 280 may be configured in the engine 190 and operate the same for each of the different 360-3D games. The radar 280 may have the form of a horizontal bar 930 that includes a series of sectors 940 of the same size. The length of the bar 930 corresponds to the environment of the foreground 220, and each sector 940 of the bar 930 corresponds to a sector proportionally divided in the foreground 220. The leftmost sector 940a and the rightmost sector 940x of the bar 930 may overlap each other, and both may represent a portion of the foreground 220 of 180 degrees behind the virtual player 210. Accordingly, the two-dimensional bar 930 represents a three-dimensional view in the foreground 220.

상기 레이더(280) 내의 섹터(940)들은 색을 변화시키거나 가상 플레이어(210)를 향해 슈팅하는 캐릭터(260)의 위치를 가리키도록 밝게 보일 수 있다.(한 캐릭터(260)를 현재 가상 플레이어(210)에게 데미지를 가할 수 없는 다른 캐릭터(260)와 구별하기 위해서, 이하 활발하게 슈팅을 하는 캐릭터(260)를 적(enemy)이라고 한다.) 예를 들어, 상기 막대(930) 중심 부근의 밝게 보이는 섹터(950a)는 가상 플레이어(210) 앞에 있는 적을 가리킬 수 있다. 상기 막대(930)의 우측 가장자리의 밝게 보이는 섹터(950b)는 가상 플레이어(210)의 오른쪽에 있지만 현재 볼 수 있는 화면(200) 영역에서 벗어난 적을 가리킬 수 있다. 상기 가상 플레이어(210)가 전경(220) 내에서 회전함에 따라, 상기 밝게 보이는 섹터(950)들은 적들의 위치와 관련된 가상 플레이어의 위치에서 일어나는 변화를 알려주기 위해 이동하게 된다.Sectors 940 in the radar 280 may appear bright to indicate the location of the character 260 that changes color or shoots toward the virtual player 210. (One character 260 is currently a virtual player. In order to distinguish it from other characters 260 that cannot inflict damage to 210, a character 260 that actively shoots hereinafter is called an enemy. For example, near the center of the rod 930 The brightly visible sector 950a may indicate an enemy in front of the virtual player 210. The brightly visible sector 950b at the right edge of the bar 930 may indicate an enemy on the right side of the virtual player 210 but deviating from the currently visible area of the screen 200. As the virtual player 210 rotates in the foreground 220, the brightly visible sectors 950 move to inform the change occurring in the virtual player's position relative to the enemy's position.

상기 막대(930)의 밝게 보이는 섹터(950)들은 적들이 가상 플레이어(210)에 가하는 데미지의 양을 알려주기 위해 색 또는 명암이 변화할 수 있다. 일 실시 예에서, 적이 취하는 모든 발사는 가상 플레이어(210)를 맞춘다고 가정한다. 적이 가상 플레이어(210)를 향해 발사함에 따라, 가상 플레이어(210)의 데미지는 축적되고, 상기 데미지가 임계치에 다다르면 상기 가상 플레이어(210)는 죽으며 게임은 끝나게 된다. 적이 쏘는 각각의 발사는 상기 적의 위치에 대응하는 밝게 보이는 섹터(950)가 어두워지거나 더욱 빨갛게 보이도록 한다. 실제 플레이어는 상기 레이더(280)의 밝게 보이는 섹터(950)들의 색 또는 명암을 관찰하여 가장 위협적인 적들의 위치를 알아낼 수 있다.The brightly visible sectors 950 of the bar 930 may vary in color or contrast to indicate the amount of damage the enemies do to the virtual player 210. In one embodiment, assume that every shot the enemy takes is hitting the virtual player 210. As the enemy fires toward the virtual player 210, the damage of the virtual player 210 accumulates, and when the damage reaches the threshold, the virtual player 210 dies and the game ends. Each shot the enemy shoots causes the brightly visible sector 950 corresponding to the enemy's position to appear darker or redder. The actual player can locate the most threatening enemies by observing the color or contrast of the brightly visible sectors 950 of the radar 280.

예를 들어, 밝게 보이는 섹터(950)가 어두워지면, 밝아지는 섹터(950)에 의해 표시되는 적보다 가상 플레이어(210)에 더 많은 데미지를 가했다는 것을 나타낸다. 더 큰 데미지를 가한 적이 상기 가상 플레이어(210)를 죽이기 쉽기 때문에, 다른 적들을 죽이기 전에 더 큰 데미지를 가한 적을 먼저 죽이는 것이 바람직하다. 일 실시 예에서, 가상 플레이어(210)가 적을 죽이면, 상기 죽은 적은 더 이상 위협을 가할 수 없고 적으로부터 가상 플레이어(210)에 가해진 데미지 레벨이 0으로 리셋 되었음을 알려주기 위해 적의 위치를 나타내는 상기 밝게 보이는 섹터(950)는 그 밝음을 잃게 된다. 따라서 상기 데미지는 오직 섹터별로 축적된다.For example, if a brightly visible sector 950 becomes dark, it indicates that more damage is done to the virtual player 210 than the enemy indicated by the brightening sector 950. Since enemies that do greater damage are more likely to kill the virtual player 210, it is desirable to kill the enemies that do greater damage first before killing other enemies. In one embodiment, when the virtual player 210 kills the enemy, the dead enemy can no longer threaten and the brightly visible location of the enemy to indicate that the damage level applied to the virtual player 210 from the enemy has been reset to zero. Sector 950 loses its brightness. Therefore, the damage is accumulated only sector by sector.

일 실시 예에서, 화살표(960) 또는 포인터들은 가장 위협적 적을 다루기 위해 가상 플레이어가 전환하는 방향을 실제 플레이어에게 알려주기 위해 막대(930)의 끝에 위치할 수 있다. 예를 들어, 가상 플레이어의 왼편에서 적들이 가한 데미지의 총량이 오른편에서 적들이 가한 데미지의 총량보다 크다면, 상기 막대(930)의 왼쪽 화살표(960)가 번쩍이면서 밝아지거나 상기 가상 플레이어(210)가 왼쪽에 초점을 맞추어함을 알리는 다른 표시를 부여할 수 있다.In one embodiment, arrows 960 or pointers may be placed at the end of bar 930 to inform the actual player of the direction the virtual player is switching to deal with the most threatening enemy. For example, if the total amount of damage done by the enemies on the left side of the virtual player is greater than the total amount of damage done by the enemies on the right side, the left arrow 960 of the bar 930 flashes and becomes brighter or the virtual player 210. Can be given another indication that the camera focuses on the left side.

상기 레이더(280)의 기능은 런타임 엔진(190)에 의해 제어된다. 적이 상기 가상 플레이어(210)를 향해 발사하면, 각 발사의 파워 레벨은 상기 엔진(190)에 보고되고, 상기 엔진(190)은 적이 가상 플레이어(210)에 가한 새로운 총 데미지 레벨을 레이더(280)에 업데이트한다. 이러한 데미지 레벨은 레이더(280)에서 밝아짐으로써 반영된다. 상기 가상 플레이어(210)가 적을 죽이면, 상기 엔진(190)은 사상된 적의 위치를 나타내는 막대(930)의 섹터(940)로부터 밝아짐을 제거한다. 다인용 게 임에서, 각 플레이어의 엔진 내의 상기 버디 모듈은 각 플레이어의 레이더(280)의 양상을 제어한다.The function of the radar 280 is controlled by the runtime engine 190. When an enemy fires towards the virtual player 210, the power level of each shot is reported to the engine 190, and the engine 190 reports the new total damage level the enemy has dealt to the virtual player 210. Update to This damage level is reflected by the light on the radar 280. When the virtual player 210 kills the enemy, the engine 190 removes lightening from the sector 940 of the rod 930 indicating the location of the mapped enemy. In a multiplayer game, the buddy module in the engine of each player controls the aspect of the radar 280 of each player.

상술한 바와 같이 본 실시예에서, 컨테이너(160)로 불리는 하나의 파일은 게임 중에 사용되는 모든 '.pic' 파일(140) 및 '.act' 파일(150)들을 포함한다. 또한 상기 컨테이너(160)는 새로운 게임이 시작되거나 새로운 게임 레벨이 도달할 때 실행되는 '.act' 파일(150)들을 지정하는 명령 파일들을 포함한다. 도 12는 일반적인 컨테이너(160)를 도시하고 있다. '.act' 파일(150)들은 '.pic' 파일(140) 및 메모리의 수 바이트만을 소비하는 다른 데이터 요소들의 포인터만을 포함하므로, 상기 '.act' 파일(150)들은 비교적 작은 파일들이다. '.act' 파일(150)의 각 프레임은 메모리의 32 바이트를 사용하므로, '.act' 파일(150)의 실제 크기는 '.act' 파일(150)의 프레임 수에 따라 달라질 수 있다. 일반적인 '.act' 파일(150)은 대략 1 kbytes 미만의 크기를 가질 수도 있다. 360-3D 게임에 사용되는 '.act' 파일(150)들의 수는 게임의 복잡도에 따라 달라진다.As described above, in this embodiment, one file called the container 160 includes all '.pic' files 140 and '.act' files 150 used during the game. The container 160 also includes command files that specify '.act' files 150 that are executed when a new game starts or a new game level is reached. 12 shows a typical container 160. Since the '.act' files 150 only contain pointers to the '.pic' file 140 and other data elements that consume only a few bytes of memory, the '.act' files 150 are relatively small files. Since each frame of the '.act' file 150 uses 32 bytes of memory, the actual size of the '.act' file 150 may vary depending on the number of frames of the '.act' file 150. A typical '.act' file 150 may have a size of less than approximately 1 kbytes. The number of '.act' files 150 used in the 360-3D game depends on the complexity of the game.

'.pic' 파일(140)은 보통 포함되는 이미지의 복잡도에 따른 '.pic' 파일(140)의 크기를 가지고 '.act' 파일(150)보다 더 큰 메모리를 요구한다. 실행 길이 부호화는 일반적인 '.pic' 파일(140)에 약 10 kbytes의 크기를 제공한다. 360-3D 게임에 사용되는 '.pic' 파일(140)들의 수는 게임에서 사용되는 캐릭터(260)들의 수와 캐릭터(260)들이 채택한 다른 포즈들의 수에 따라 달라질 수 있다.The '.pic' file 140 usually requires a larger memory than the '.act' file 150 with the size of the '.pic' file 140 depending on the complexity of the images included. Execution length encoding provides a size of about 10 kbytes for a typical '.pic' file 140. The number of '.pic' files 140 used in the 360-3D game may vary depending on the number of characters 260 used in the game and the number of different poses adopted by the characters 260.

필요한 '.pic' 파일(140)들의 수는 동일한 '.act' 파일(150)을 근거로 생성되는 서로 다른 활동들의 수에 따라 달라지지는 않는 점을 유의해야 한다. 예를 들 어, 동일한 '.act' 파일(150)로부터 생성된 달리는 병사의 5가지 활동들의 각각은 공통적인 '.act' 파일(150)에 의해 참조되는 동일한 일련의 '.pic' 파일(140)들로부터 발생한다. 단일 '.act' 파일(150)에 근거하여 얼마나 많은 활동이 생성되고, 얼마나 많은 캐릭터(260)의 다른 버전들이 보일지라도, 오직 한 세트의 '.pic' 파일(140)들이 상기 캐릭터(260)의 특정 움직임을 묘사하기 위해 필요하다. 이와 대조적으로, 상술한 다각형 및 텍스처 방법을 사용하면, 각 별도의 캐릭터(260)의 그물망(meshes) 및 텍스처들에 할당되는 추가적인 메모리가 필요할 수도 있다. 각 '.act' 파일(150) 파일은 캐릭터(260)를 묘사하는 '.pic' 파일(140)의 포인터를 사용하고, 원하는 만큼의 포인터들이 동시에 동일한 '.pic' 파일(140)의 포인터를 사용할 수 있다. 따라서 별도의 메모리를 사용하거나 별도의 저장 용량이 필요 없이 달리거나 슈팅하는 것과 같은 유사한 액션을 실행하는 게임에서 여러 위치에서 다수의 동일한 캐릭터(260)들이 제공될 수 있다. 또한 각 활동은 독립적으로 이루어지고, 예를 들어 주된 활동이 총을 맞는 것과 같은 다른 이벤트를 체험하므로 동일한 '.act' 파일(150)에 근거하여 생성된 다른 활동들의 서로 다른 행동을 보여줄 수 있다.Note that the number of '.pic' files 140 required does not depend on the number of different activities generated based on the same '.act' file 150. For example, each of the five activities of a running soldier generated from the same '.act' file 150 is the same series of '.pic' files 140 referenced by a common '.act' file 150. Occurs from). Only one set of '.pic' files 140 may be displayed on the character 260, no matter how many activities are generated based on a single '.act' file 150 and how many different versions of the character 260 are visible. It is necessary to describe the specific movement of the. In contrast, using the polygon and texture methods described above, additional memory may be required that is allocated to the meshes and textures of each separate character 260. Each '.act' file 150 file uses a pointer to the '.pic' file 140 depicting the character 260, and as many pointers as desired to the same '.pic' file 140 simultaneously. Can be used. Thus, a number of identical characters 260 may be provided at various locations in a game that performs similar actions such as running or shooting without using separate memory or requiring separate storage capacity. In addition, each activity is done independently, for example, as the main activity experiences different events, such as being shot, so it can show different actions of different activities generated based on the same '.act' file 150.

또한 상기 명령 파일(980a, 900b, 900c)들은 각 게임 레벨의 초기에 생성되는 한 세트의 '.act' 파일(150)들만을 포함하므로, 메모리의 최소량만을 소비한다. 이를 고려해 보면, 컨테이너(160)는 이동 장치(180)상의 많은 메모리 공간을 소비하지 않는다는 것을 알 수 있다. 상기 컨테이너(160)는 360-3D 게임의 완전한 지정 및 설명을 포함한다는 것을 알고 있어야 한다. 일반적인 컨테이너(160)는 약 2 내 지 3 Mbytes 범위의 메모리를 가진다. 이러한 장치(180)들은 보통 5 Mbytes 이하의 메모리 용량을 가지므로 이는 360-3D 게임이 특별히 향상되지 않은 표준 이동 장치(180)상에서 실행되도록 한다.In addition, the command files 980a, 900b, and 900c include only a set of '.act' files 150 generated at the beginning of each game level, thus consuming only a minimum amount of memory. In view of this, it can be seen that the container 160 does not consume much memory space on the mobile device 180. It should be appreciated that the container 160 includes the complete designation and description of the 360-3D game. The typical container 160 has a memory in the range of about 2 to 3 Mbytes. These devices 180 typically have a memory capacity of 5 Mbytes or less, which allows a 360-3D game to run on a standard mobile device 180 that is not particularly enhanced.

일 실시 예에서, 상기 컨테이너(160) 내의 '.pic' 파일(140)들은 360-3D 게임의 개발이 쉬워지도록 순차적으로 배열될 수 있다. 상기한 바와 같이, 게임 개발자는 상기 저작 도구(130)의 append 버튼(790)을 사용하여 프레임 번호를 증가시킬 수 있고, 동시에 현재 디렉토리의 다음 '.pic' 파일(140)이 다음 프레임에 의해 호출되도록 지정할 수 있다. 상기 append 버튼(790)을 적절히 동작시키기 위해서, 상기 '.pic' 파일(140)들은 컨테이너(160)에서 적절한 순서로 배열되어야만 한다. 예를 들어, 달리는 동작이 묘사되면, 제1 달리는 포즈를 포함하는 '.pic' 파일(140)은 컨테이너(160)의 '.pic' 파일(140)들의 디렉토리에서 먼저 열거되어야 하고, 제2달리는 포즈를 포함하는 '.pic' 파일(140)은 두 번째로 열거되어야 한다.In one embodiment, the '.pic' files 140 in the container 160 may be sequentially arranged to facilitate the development of a 360-3D game. As described above, the game developer can increment the frame number using the append button 790 of the authoring tool 130, while at the same time the next '.pic' file 140 in the current directory is called by the next frame. Can be specified. In order to properly operate the append button 790, the '.pic' files 140 must be arranged in the proper order in the container 160. For example, if a running action is depicted, the '.pic' file 140 containing the first running pose must first be listed in the directory of the '.pic' files 140 of the container 160, and the second running The '.pic' file 140 containing the poses should be listed second.

상기 에뮬레이터(920)를 통해 컴퓨터상에 360-3D 게임을 실행하는 능력은 360-3D 게임에 대해 다양한 마케팅 전략을 제공한다. 예를 들어, 360-3D 게임의 데모 버전이 컴퓨터상에 무료로 사용될 수 있도록 할 수 있다. 이동 전화의 디스플레이 상에 게임이 실행되는 이동전화와 같이 이는 컴퓨터 모니터상에 디스플레이될 수 있다. 이러한 데모 게임은 예를 들어 저가나 무료로 다운로드될 수 있다. 컴퓨터상에 제한된 버전의 게임을 실행하게 되면, 게임 플레이어로 하여금 이동 장치(180)에서 사용되는 풀 버전(full version)을 구입하거나 360-3D 게임을 실행할 수 있는 엔진(190)을 구비한 이동 장치를 구입하도록 촉진할 수 있다.The ability to run 360-3D games on a computer through the emulator 920 provides various marketing strategies for 360-3D games. For example, a demo version of a 360-3D game can be made available for free on a computer. Like a mobile phone where a game is played on the display of the mobile phone, it can be displayed on a computer monitor. Such demo games can be downloaded, for example, at low or no cost. When running a limited version of a game on a computer, a mobile device with an engine 190 that allows the game player to purchase the full version used on the mobile device 180 or to play a 360-3D game. Can promote to buy.

상술한 시스템은 당업계에서 잘 알려진 어떠한 휴대용 이동 전자 장치(180)상에서도 구현될 수 있다. 본 발명에 개시된 하나 이상의 실시예들을 구현하기 위한 이동 단말 시스템(180)의 일례가 도 13에 도시되어 있다. 상기 이동 단말기(180)는 제1 저장 영역(1220)에 연결된 프로세서(1210; 중앙 처리 장치 또는 CPU로 불릴 수도 있다.), 키패드와 같은 입력 장치(1240) 및 디스플레이 화면(200)과 같은 출력 장치를 포함한다.The system described above may be implemented on any portable mobile electronic device 180 well known in the art. An example of a mobile terminal system 180 for implementing one or more embodiments disclosed herein is shown in FIG. 13. The mobile terminal 180 may be referred to as a processor 1210 (which may be referred to as a central processing unit or a CPU) connected to the first storage area 1220, an input device 1240 such as a keypad, and an output device such as a display screen 200. It includes.

상기 프로세서(1210)는 하나 이상의 CPU 칩들로 구현될 수 있고, 제1 저장 영역(1220) 또는 제2 저장 영역(1230)으로부터 액세스하는 명령어, 코드, 컴퓨터 프로그램 또는 스크립트들을 실행시킬 수 있다. 상기 제1 저장 영역(1220)은 플래시 메모리와 같은 비 휘발성(non-volatile) 메모리일 수 있다. 컨테이너(160) 및 그 밖의 이동 단말기(180) 데이터는 보통 제1 저장 영역(1220)에 인스톨된다. 상기 제2 저장 영역(1230)은 펌웨어 또는 유사한 형태의 메모리일 수 있다. 상기 런타임 엔진(190) 및 장치용 운영 시스템은 보통 제2 저장 영역(1230)에 인스톨된다.The processor 1210 may be implemented with one or more CPU chips and may execute instructions, code, computer program, or scripts that are accessed from the first storage area 1220 or the second storage area 1230. The first storage area 1220 may be a non-volatile memory such as a flash memory. Container 160 and other mobile terminal 180 data is typically installed in the first storage area 1220. The second storage area 1230 may be a firmware or a similar type of memory. The runtime engine 190 and operating system for the device are typically installed in the second storage area 1230.

상술한 저작 도구(130)는 충분한 처리 파워, 메모리 리소스 및 필요한 작업부하(workload)가 위치하도록 하는 네트워크 처리량(throughput) 능력을 가진 어떠한 일반 목적의 컴퓨터에서 구현될 수 있다. 도 14은 본 발명에 개시된 하나 이상의 실시 예들에서 구현하기 위한 보통의 일반 목적의 컴퓨터 시스템을 도시하고 있다. 상기 컴퓨터 시스템(1300)은 제2 저장부(1338)을 포함하는 메모리 장치들과 통신하는 프로세서(1332; 중앙 처리 장치 또는 CPU로 불릴 수도 있다.), 읽기용 기억 장치(1336; ROM: Read Only Memory), 랜덤 엑세스 메모리(1334; RAM: Random Access Memory), 입출력(I/O; Input/Output) 장치(1340) 및 네트워크 연결 장치(1312)를 포함한다. 상기 프로세서(1332)는 하나 이상의 CPU 칩들에서 구현될 수 있다.The authoring tool 130 described above may be implemented on any general purpose computer having sufficient processing power, memory resources, and network throughput capability to allow the necessary workload to be located. 14 depicts a general general purpose computer system for implementation in one or more embodiments disclosed herein. The computer system 1300 may be referred to as a processor 1332 (may be referred to as a central processing unit or a CPU) in communication with memory devices including a second storage unit 1338, and a read memory device 1336 (ROM: Read Only). Memory), random access memory 1334 (RAM: Random Access Memory), input / output (I / O) device 1340, and a network connection device 1312. The processor 1332 may be implemented in one or more CPU chips.

상기 제2 저장부(1338)는 보통 하나 이상의 디스크 드라이브 또는 테이프 드라이브를 포함하고, 데이터의 비 휘발성 저장을 위해 사용되며, RAM(1334)이 모든 작업 데이터를 수용할 정도로 크지 않은 경우에 오버 플로우 데이터 저장 장치로 사용된다. 상기 제2 저장부(1338)는 프로그램들이 실행을 위해 선택될 때 RAM(1334)으로 로딩되는 이러한 프로그램을 저장하는데 사용될 수 있다. 상기 ROM(1336)은 명령어 및 프로그램이 실행되는 동안 읽혀지는 추측(perhaps) 데이터를 저장하는데 사용된다. 상기 ROM(1336)은 제2 저장부의 더 큰 메모리 용량에 대하여 작은 메모리 용량을 가진 비 휘발성 메모리이다. 상기 RAM(1334)은 휘발성 데이터 및 추측 데이터를 사용하여 명령어들을 저장한다. 상기 ROM(1336) 및 RAM(1334)로의 접근(access)은 보통 제2 저장부(1338)보다 빠르다.The second storage unit 1338 typically includes one or more disk drives or tape drives and is used for non-volatile storage of data and overflow data when the RAM 1334 is not large enough to accommodate all work data. Used as a storage device. The second storage 1338 can be used to store such a program that is loaded into the RAM 1334 when the programs are selected for execution. The ROM 1336 is used to store perhaps data that is read while instructions and programs are executed. The ROM 1336 is a non-volatile memory having a small memory capacity for the larger memory capacity of the second storage. The RAM 1334 stores instructions using volatile data and speculative data. Access to the ROM 1336 and RAM 1334 is usually faster than the second storage 1338.

상기 I/O 장치(1340)는 프린터, 비디오 모니터, 액정 디스플레이(LCD: Liquid Crystal Display), 터치 스크린 디스플레이, 키보드, 키패드, 스위치 다이얼, 마우스, 트랙볼, 음성 인식기, 카드 리더, 종이 테이프 리더, 또는 그 밖의 잘 알려진 입력 장치들을 포함할 수 있다.The I / O device 1340 may be a printer, video monitor, liquid crystal display (LCD), touch screen display, keyboard, keypad, switch dial, mouse, trackball, voice recognizer, card reader, paper tape reader, or Other well known input devices may be included.

상기 네트워크 연결 장치(1312)는 모뎀, 모뎀 뱅크, 이더넷 카드, USB(Universal Serial Bus) 인터페이스 카드, 시리얼 인터페이스, 토큰 링 카드, FDDI(Fiber Distributed Data Interface) 카드, WLAN(Wireless Local Area Network) 카드, CDMA(Code Division Multiple Access) 및/또는 GSM(Globlal System for Mobile communications) 무선 송수신 카드와 같은 무선 송수신 카드, 및 그 밖의 잘 알려진 네트워크 장치들의 형태를 가질 수 있다. 이러한 네트워크 연결 장치(1312)들은 상기 프로세서(1332)가 인터넷 또는 하나 이상의 인트라넷과 통신할 수 있도록 한다. 상기 프로세서(1332)는 네트워크로부터 정보를 수신하거나 상술한 방법의 단계를 수행 중에 네트워크에 정보를 출력할 수 있다.The network connection device 1312 may include a modem, a modem bank, an Ethernet card, a universal serial bus (USB) interface card, a serial interface, a token ring card, a fiber distributed data interface (FDDI) card, a wireless local area network (WLAN) card, Wireless transceiver cards, such as Code Division Multiple Access (CDMA) and / or Global System for Mobile communications (GSM) wireless transceiver cards, and other well-known network devices. These network connection devices 1312 allow the processor 1332 to communicate with the Internet or one or more intranets. The processor 1332 may output information to the network while receiving the information from the network or performing the above-described method steps.

예를 들어, 프로세서(1332)를 사용하여 실행되는 데이터 또는 명령어를 포함할 수 있는 이러한 정보는 컴퓨터 데이터 베이스밴드 신호 및 반송파에 실린 신호의 형태로 네트워크로 송수신할 수 있다. 상기 베이스밴드 신호 및 네트워크 연결 장치(1312)에 의해 생성된 반송파에 실린 신호는 전도체의 표면, 동축 케이블, 도파관(waveguide), 광섬유와 같은 광매체, 공기 또는 자유 공간으로 전달될 수 있다. 상기 베이스밴드 신호 및 반송파에 실린 신호에 포함된 정보는 정보를 처리 또는 생성하거나 정보를 송수신할 때 다른 순서에 따라 순서가 정해질 수 있다. 상기 베이스밴드 신호, 반송파에 실린 신호 또는 현재 사용되거나 이후에 개발되며 전송 매체로 불리는 다른 유형의 신호들은 당업계에 공지된 여러 방법에 따라 생성될 수도 있다.For example, such information, which may include data or instructions executed using processor 1332, may be transmitted and received over a network in the form of computer data baseband signals and signals carried on carrier waves. The signal carried on the carrier generated by the baseband signal and the network connection device 1312 may be transmitted to the surface of the conductor, optical media such as coaxial cable, waveguide, optical fiber, air or free space. The information included in the baseband signal and the signal on the carrier may be ordered according to a different order when processing or generating information or transmitting and receiving information. The baseband signal, the signal on the carrier or other types of signals currently used or later developed and called transmission media may be generated according to various methods known in the art.

상기 프로세서(1332)는 하드 디스크, 플로피 디스크, 광디스크(이러한 각종 디스크 기반의 시스템들은 모두 제2 저장부(1338)로 인식될 수 있다), ROM(1336), RAM(1334) 또는 네트워크 연결 장치(1312)들로부터 접근하는 명령어, 코드, 컴퓨터 프로그램 또는 스크립트를 실행시킨다.The processor 1332 may include a hard disk, a floppy disk, an optical disk (all of the various disk-based systems may be recognized as the second storage unit 1338), a ROM 1336, a RAM 1334, or a network connection device ( Execute instructions, code, computer programs, or scripts that are accessed from

본 출원에 몇몇 실시예가 제공되었지만, 본 발명의 사상 및 범위를 벗어나지 않는 한 개시된 시스템과 방법을 여러 가지 특정 형태로 실시할 수 있다는 것을 이해할 것이다. 본 실시예들은 예시하기 위한 것으로 그에 국한하지 않는다. 본 발명의 취지는 본 명세서의 상세한 설명으로 국한하지 않으며, 첨부한 특허청구의 범위 및 그와 균등한 것들의 범위 내에서 수정될 수 있다. 예컨대, 다수의 요소 또는 구성 요소들은, 다른 시스템에 결합되거나 일체로 형성될 수도 있다. 또한, 특정한 요소들은 생략하거나, 실시하지 않을 수도 있다.While some embodiments have been provided in the present application, it will be understood that the disclosed systems and methods may be embodied in various specific forms without departing from the spirit and scope of the invention. The embodiments are intended to illustrate but are not limited to such. The spirit of the present invention is not limited to the detailed description herein, but may be modified within the scope of the appended claims and their equivalents. For example, multiple elements or components may be coupled to or integrally formed with another system. In addition, certain elements may be omitted or may not be implemented.

또한, 상기 실시 예들에서 언급된 기술, 시스템, 서브시스템 및 방법들은 본 발명의 범위에서 벗어나지 않고 다른 시스템, 모듈 또는 방법들과 결합될 수 있다. '직접 결합된' 또는 '서로 통신하는'과 같은 용어들은 일부 인터페이스 또는 장치를 통해 결합 되어, 상기 용어들은 '직접 결합된'으로 간주하지 않고 '간접적으로 결합된' 및 '전기적, 기계적으로 서로 통신하는' 등으로 간주한다. 본 발명이 속하는 분야의 기술자는 본원의 특허청구범위에 기재된 원리 및 범위 내에서 여러 가지 형태로 변형 또는 변경할 수 있다.In addition, the techniques, systems, subsystems, and methods mentioned in the above embodiments may be combined with other systems, modules, or methods without departing from the scope of the present invention. Terms such as 'directly coupled' or 'communicating with each other' are combined through some interface or device so that the terms are not considered 'directly coupled' but are 'indirectly coupled' and 'electrically and mechanically communicating with each other'. It's like that. Those skilled in the art to which the present invention pertains may modify or change in various forms within the principles and scope described in the claims herein.

본 발명에 따르면, 이동 장치상에 디스플레이 시 일련의 사전 렌더링(pre-rendered)된 이미지들을 다루는 방법을 지정함으로써, 개발자들이 쉽게 360-3D 게임을 제작할 수 있게 되는 장점이 있다.According to the present invention, by specifying a method of handling a series of pre-rendered images when displayed on a mobile device, developers can easily produce 360-3D games.

또한, 프로그래밍 코드를 사용하지 않고 게임을 제작할 수 있어, 프로그래밍 지식 또는 경험의 필요성을 제거하고 게임 개발 비용을 상당히 줄일 수가 있게 되는 장점이 있다. In addition, the game can be produced without the use of programming code, eliminating the need for programming knowledge or experience and significantly reducing game development costs.

Claims (28)

서로 다른 크기의 디스플레이들을 구비한 이동 단말기들 상에서 게임을 실행하기 위한 시스템에 있어서,A system for executing a game on mobile terminals having displays of different sizes, the system comprising: 제1이동 단말기 및 제2이동 단말기의 각 메모리 중 적어도 하나의 메모리에 저장되는 수평 크기와 수직 크기를 갖는 입체 게임용 배경과,A background for a stereoscopic game having a horizontal size and a vertical size stored in at least one memory of each memory of the first mobile terminal and the second mobile terminal, 상기 입체 게임용 배경의 일부이고, 상기 입체 게임용 배경의 총 수평 차원의 폭 이하로 정의된 제1 수평 부분 및 상기 입체 게임용 배경의 총 수직 차원의 높이 이하로 정의된 제1 수직 부분으로 이루어진 제1 배경을 입체 게임 진행시 상기 입체 게임의 배경으로 표시하는 제1 디스플레이를 포함하는 상기 제1 이동 단말기와,A first background that is part of the background for a three-dimensional game and comprises a first horizontal portion defined below a width of a total horizontal dimension of the three-dimensional game background and a first vertical portion defined below a height of a total vertical dimension of the three-dimensional game background The first mobile terminal including a first display configured to display a background of the stereoscopic game as a stereoscopic game proceeds; 상기 입체 게임용 배경의 일부이고, 상기 제1 수평 부분의 폭보다 크고 상기 입체 게임용 배경의 총 수평 차원의 폭 이하로 정의된 제2 수평 부분 및 상기 제1 수직 부분의 높이보다 크고 상기 입체 게임용 배경의 총 수직 차원의 높이 이하로 정의된 제2 수직 부분으로 이루어진 제2 배경을 상기 입체 게임 진행시 상기 입체 게임의 배경으로 디스플레이하는 제2 디스플레이와, 상기 입체 게임 진행시 상기 입체 게임의 진행 상태를 나타내는 상기 입체 게임의 구성 요소들을, 상기 제2 배경과 함께 상기 제2 디스플레이에 표시하는 프로세서를 구비하는 상기 제2 이동 단말기를 포함하며,A portion of the background for the three-dimensional game, wherein the second horizontal portion and the first vertical portion greater than the width of the first horizontal portion and less than the width of the total horizontal dimension of the three-dimensional game background are greater than the height of the three-dimensional game background. A second display configured to display a second background consisting of a second vertical portion defined below a height of a total vertical dimension as the background of the three-dimensional game during the three-dimensional game, and indicating a progress state of the three-dimensional game during the three-dimensional game; A second mobile terminal having a processor for displaying the components of the stereoscopic game on the second display together with the second background, 상기 제1 이동 단말기와 상기 제2 이동 단말기가 연동하여 상기 입체 게임을 동시에 진행할 때, 상기 프로세서는 상기 입체 게임의 구성요소들 중 하나 이상의 구성 요소를 상기 제2 디스플레이에 표시된 상기 제2 배경 중에서 상기 제1 배경에 해당하는 영역에만 표시함을 특징으로 하는 게임을 실행하기 위한 시스템.When the first mobile terminal and the second mobile terminal interoperate with each other to simultaneously play the stereoscopic game, the processor may display one or more components of the stereoscopic game from the second background displayed on the second display. A system for executing a game, which is displayed only in an area corresponding to the first background. 제1 항에 있어서, 상기 제2 수직 부분은, 상기 제1 수직 부분에 의해 포함되는 배경 장면과 연결되고, 상기 제1 배경에 포함되지 않는 별도의 배경 장면을 포함하는 것으로 정의되는 것을 특징으로 하는 게임을 실행하기 위한 시스템.The method of claim 1, wherein the second vertical portion is defined as including a separate background scene connected to the background scene included by the first vertical portion and not included in the first background. System for running the game. 삭제delete 제1항에 있어서, 상기 제2 수직 부분은, 상기 제1 수직 부분에 의해 포함되는 배경 장면과 연결되는 별도의 배경 장면을 포함하는 것으로 정의되는 것을 특징으로 하는 게임을 실행하기 위한 시스템.The system of claim 1, wherein the second vertical portion is defined to include a separate background scene that is connected to a background scene included by the first vertical portion. 삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서, 상기 하나 이상의 구성요소는, 상기 입체 게임상의 캐릭터의 액션 상태를 나타내는 표시기를 포함하며, 상기 표시기가 표시되는 범위는 상기 제1 이동 단말기 및 상기 제2 이동 단말기 각각에 디스플레이된 각 배경 중에서 상기 제1 배경에 해당하는 영역 이내 임을 특징으로 하는 게임을 실행하기 위한 시스템.The mobile terminal of claim 1, wherein the one or more components include an indicator indicating an action state of a character in the stereoscopic game, and a range in which the indicator is displayed is displayed on each of the first mobile terminal and the second mobile terminal. The system for executing a game, characterized in that within the area corresponding to the first background of each background. 제1항에 있어서, 상기 입체 게임용 배경은, 360도 전망의 그래픽 이미지로 정의되고, 상기 그래픽 이미지의 제1 가장자리를 정의하는 제1 부분이 상기 그래픽 이미지의 제2 가장자리를 정의하는 제2 부분과 유사하여 상기 그래픽 이미지가 상기 360도 전망의 그래픽 이미지로 정의될 때 상기 제1 부분 및 상기 제2 부분이 서로 겹치는 것을 특징으로 하는 게임을 실행하기 위한 시스템.The stereoscopic gaming background is defined as a graphical image with a 360 degree view, wherein a first portion defining a first edge of the graphical image defines a second portion defining a second edge of the graphical image. And similarly the first portion and the second portion overlap each other when the graphical image is defined as a graphical image of the 360 degree view. 삭제delete 서로 다른 크기의 디스플레이들을 구비한 이동 단말기들이 서로 연결된 상태에서 동일한 게임을 동시에 실행하기 위한 방법에 있어서,What is claimed is: 1. A method for simultaneously executing the same game in a state in which mobile terminals having displays of different sizes are connected to each other. 게임용 디스플레이를 위한 배경으로 사용하기 위해 높이와 폭을 갖는 그래픽 이미지를 생성하는 단계와,Creating a graphic image with height and width for use as a background for a gaming display, 작은 디스플레이를 구비한 이동 단말기들 상에서 게임 실행 시 상기 그래픽 이미지의 높이 및 폭보다 작은 높이 및 폭을 갖는 상기 배경의 제1 부분만을 디스플레이하는 단계와,Displaying only a first portion of the background having a height and width less than the height and width of the graphic image when playing the game on mobile terminals having a small display; 큰 디스플레이를 구비한 이동 단말기들 상에서 상기 게임 실행 시 상기 그래픽 이미지의 폭보다 크지 않은 폭, 상기 그래픽 이미지의 높이보다 크지 않는 높이 및 상기 제1 부분의 높이와 폭보다 큰 높이와 폭을 갖는 상기 배경의 제2 부분만을 디스플레이하는 단계와,The background having a width not greater than the width of the graphic image, a height not greater than the height of the graphic image, and a height and width greater than the height and width of the first portion when the game is executed on mobile terminals having a large display; Displaying only the second portion of, 작은 디스플레이를 구비한 이동 단말기들 상에서 상기 게임 실행 시 타깃 표시기(targeting indicator)의 이동이 상기 배경의 제1 부분의 높이 및 폭 이내의 영역으로 제한되는 단계와,Limiting movement of a targeting indicator when the game is executed on mobile terminals having a small display to an area within a height and width of a first portion of the background; 큰 디스플레이를 구비한 이동 단말기들 상에서 상기 게임 실행 시 상기 타깃 표시기의 이동이 상기 배경의 제1 부분의 높이 이내의 영역으로 제한되는 단계를 포함하는 것을 특징으로 하는 게임을 실행하기 위한 방법.And limiting the movement of the target indicator to an area within a height of the first portion of the background when executing the game on mobile terminals with large displays. 제12항에 있어서, 상기 큰 디스플레이를 구비한 이동 단말기들 상에서 상기 게임 실행 시 상기 타깃 표시기의 이동이 상기 배경의 제1 부분의 폭 이내의 영역으로 제한되는 것을 특징으로 하는 게임을 실행하기 위한 방법.The method of claim 12, wherein the movement of the target indicator is limited to an area within a width of the first portion of the background when the game is executed on the mobile terminals having the large display. . 제12항에 있어서, 상기 이동 단말기들 각각은 각자가 구비한 디스플레이 크기를 상기 게임 실행시 자동으로 감지함을 특징으로 하는 게임을 실행하기 위한 방법.The method of claim 12, wherein each of the mobile terminals automatically detects a display size of each of the mobile terminals when the game is executed. 제12항에 있어서, 상기 작은 디스플레이 및 상기 큰 디스플레이를 구비한 이동 단말기들 상에 상기 배경의 제1 부분의 영역 내에서 위협 표시기(threat indicator) 및 점수를 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 것을 특징으로 하는 게임을 실행하기 위한 방법.13. The method of claim 12, further comprising displaying a threat indicator and a score in the area of the first portion of the background on mobile terminals having the small display and the large display. And a method for executing a game, characterized in that. 제15항에 있어서, 상기 위협 표시기는,The method of claim 15, wherein the threat indicator, 위협의 방향을 표시하는 방향 표시기(directional indicator)를 포함하는 것을 특징으로 하는 것을 특징으로 하는 게임을 실행하기 위한 방법.And a directional indicator to indicate the direction of the threat. 제16항에 있어서, 상기 위협 표시기는, 복수의 위협들과 최우선의 위협의 방향을 표시하는 상기 방향 표시기를 표시하도록 동작할 수 있는 것을 특징으로 하는 게임을 실행하기 위한 방법.17. The method of claim 16, wherein the threat indicator is operable to display the direction indicator indicating a plurality of threats and a direction of a priority threat. 제17항에 있어서, 상기 복수의 위협들은, 우선순위를 가지며, 위협의 우선순위(threat priority)는 상기 위협들과 관련된 위협 표시기의 색에 의해 표시되는 것을 특징으로 하는 것을 특징으로 하는 게임을 실행하기 위한 방법.18. The game of claim 17, wherein the plurality of threats have a priority and the priority of the threat is indicated by the color of the threat indicator associated with the threats. How to. 제15항에 있어서, 상기 배경은 360도 전망을 생성하기 위해 동작할 수 있고, 상기 위협 표시기는 위치가 표시되는 막대(bar)를 포함하며, 상기 위협 표시기 막대 상의 위협 위치는 상기 배경 상의 위협의 위치에 대응되는 것을 특징으로 하는 것을 특징으로 하는 게임을 실행하기 위한 방법.The threat indicator of claim 15, wherein the background is operable to generate a 360-degree view, wherein the threat indicator includes a bar where the location is indicated, wherein the threat location on the threat indicator bar is indicative of a threat on the background. And a method corresponding to the position. 제12항에 있어서, 상기 타깃 표시기는 상기 이동 단말기의 방향 키들을 이용하여 게임 사용자에 의해 제어되는 것을 특징으로 하는 것을 특징으로 하는 게임을 실행하기 위한 방법.13. The method of claim 12, wherein the target indicator is controlled by a game user using direction keys of the mobile terminal. 제12항에 있어서, 상기 작은 디스플레이를 구비한 이동 단말기는 이동 전화이며, 상기 큰 디스플레이를 구비한 이동 단말기는 개인용 휴대 정보 단말기(personal digital assistant)인 것을 특징으로 하는 것을 특징으로 하는 게임을 실행하기 위한 방법.13. A game according to claim 12, characterized in that the mobile terminal with the small display is a mobile phone and the mobile terminal with the large display is a personal digital assistant. Way. 서로 다른 크기의 디스플레이를 구비한 이동 단말기들 상에서 게임을 실행할 때 디스플레이 방법에 있어서,In the display method when playing a game on mobile terminals having different sized display, 제1 및 제2 이동 단말기가 동일한 게임을 제공하는 단계와,Providing the same game by the first and second mobile terminals, 상기 제1 이동 단말기가 상기 제1 이동 단말기의 제1 디스플레이에 상기 게임의 비디오 이미지의 제1 부분을 디스플레이하는 단계와,Displaying, by the first mobile terminal, a first portion of a video image of the game on a first display of the first mobile terminal; 상기 제2 이동 단말기가 상기 제1 부분의 폭과 높이보다 넓거나 높은, 상기 비디오 이미지의 제2 부분을 상기 제2 이동 단말기의 제2 디스플레이에 디스플레이하는 단계와,Displaying, by the second mobile terminal, a second portion of the video image on the second display of the second mobile terminal, the second portion of the video image being wider or higher than the width and height of the first portion; 상기 제1 이동 단말기가, 상기 제1 이동 단말기상의 제1 게임 플레이어에게 상기 제1 부분의 높이와 폭 이내로 위협 표시기의 동작 범위를 허용하는 단계와,Allowing, by the first mobile terminal, the operating range of the threat indicator within a height and width of the first portion to a first game player on the first mobile terminal; 상기 제2 이동 단말기가, 상기 제2 이동 단말기상의 제2 게임 플레이어에게 상기 제1 이동 단말기상에 제공되는 것과 동일하게, 타깃 표시기의 동작 높이 범위를 허용하는 단계를 포함하는 것을 특징으로 하는 디스플레이 방법.Displaying, by the second mobile terminal, allowing a second game player on the second mobile terminal to allow a range of operating heights of a target indicator, as provided on the first mobile terminal. . 제22항에 있어서, 상기 제2 이동 단말기가 상기 제2 게임 플레이어에게 상기 제1 이동 단말기상에 제공되는 것과 동일하게, 타깃 표시기의 동작 폭 범위를 허용하는 단계를 더 포함하는 것을 특징으로 하는 디스플레이 방법.23. The display of claim 22, further comprising the second mobile terminal allowing the second game player to allow a range of operating ranges of target indicators, as provided on the first mobile terminal. Way. 제22항에 있어서, 상기 타깃 표시기는 타깃 구성요소, 포인터 구성요소, 십자형 커서, 조준 표시기 및 타깃 십자선(reticle)들 중 어느 하나로 정의되는 것을 특징으로 하는 디스플레이 방법.23. The method of claim 22, wherein the target indicator is defined as any one of a target component, a pointer component, a cross cursor, an aiming indicator, and a target reticle. 제22항에 있어서, 상기 게임은 1인용 슈팅 게임인것을 특징으로 하는 디스플레이 방법.The display method according to claim 22, wherein the game is a single player shooting game. 제22항에 있어서, 상기 제2 디스플레이는 상기 제1 부분을 포함하는 상기 제2 부분을 디스플레이하며, 상기 제2 부분의 하측 부분은 상기 제1 부분에는 포함되지 않는 별도의 전경을 포함하고, 상기 제2 부분의 상측 부분은 상기 제1 부분에는 포함되지 않는 별도의 배경을 포함하며, 상기 별도의 전경과 상기 별도의 배경의 높이는 상기 제1 부분의 높이와 상기 제2 부분의 높이 차이로 정의되는 것을 특징으로 하는 디스플레이 방법.The display of claim 22, wherein the second display displays the second portion including the first portion, the lower portion of the second portion includes a separate foreground not included in the first portion, and The upper portion of the second portion includes a separate background that is not included in the first portion, and the height of the separate foreground and the separate background is defined as the height difference between the height of the first portion and the second portion. Display method, characterized in that. 제26항에 있어서, 상기 제2 이동 단말기는 상기 제2 디스플레이에서 디스플레이되는 상기 제2 부분 중 상기 별도의 전경 및 상기 배경 내에서는 실행 가능한 액션을 제공하지 않는 단계를 더 포함하는 것을 특징으로 하는 디스플레이 방법.27. The display of claim 26, wherein the second mobile terminal further comprises the step of providing no executable action within the separate foreground and background of the second portion displayed on the second display. Way. 이동 단말기에 있어서,In a mobile terminal, 수평 크기와 수직 크기를 갖는 입체 게임용 배경을 저장하는 메모리와,A memory for storing a three-dimensional game background having a horizontal size and a vertical size, 상기 입체 게임용 배경의 일부이고, 상기 입체 게임용 배경의 총 수평 차원의 폭 이하로 정의된 제1 수평 부분 및 상기 입체 게임용 배경의 총 수직 차원의 높이 이하로 정의된 제1 수직 부분으로 이루어진 제1 배경을 입체 게임 진행시 상기 입체 게임의 배경으로 표시하는 제1 디스플레이와, A first background that is part of the background for a three-dimensional game and comprises a first horizontal portion defined below a width of a total horizontal dimension of the three-dimensional game background and a first vertical portion defined below a height of a total vertical dimension of the three-dimensional game background A first display for displaying a background of the stereoscopic game as the stereoscopic game proceeds; 상기 입체 게임 진행시 상기 입체 게임의 진행 상태를 나타내는 상기 입체 게임의 구성 요소들을 상기 제1 배경과 함께 상기 제1 디스플레이에 표시하는 프로세서를 구비하며, And a processor configured to display, on the first display, the components of the stereoscopic game indicating the progress state of the stereoscopic game on the first display as the stereoscopic game progresses. 상기 입체 게임용 배경의 일부이고, 상기 제1 수평 부분의 폭 및 상기 제1 수직 부분의 높이 보다 좁거나 낮은 제2 수평 부분 및 제2 수직 부분으로 이루어진 제2 배경을 상기 입체 게임 진행시 상기 입체 게임의 배경으로 디스플레이하는 제2 디스플레이를 구비하는 임의의 이동 단말과 상기 이동 단말이 연동하여 상기 입체 게임을 동시에 실행할 때, 상기 프로세서는 상기 입체 게임의 구성요소들 중 하나 이상의 구성 요소를 상기 제1 디스플레이에 표시된 상기 제1 배경 중에서 상기 제2 배경에 해당하는 영역에만 표시함을 특징으로 하는 이동 단말기.The stereoscopic game when the stereoscopic game is performed as a part of the background for the stereoscopic game, the second background consisting of a second horizontal portion and a second vertical portion that are narrower or lower than the width of the first horizontal portion and the height of the first vertical portion; When any mobile terminal having a second display displaying a background of the mobile terminal and simultaneously executing the stereoscopic game, the processor displays one or more of the components of the stereoscopic game on the first display. And displaying only the area corresponding to the second background among the first background displayed on the mobile terminal.
KR1020070015047A 2006-03-30 2007-02-13 Method and mobile terminal for playing video game thereof system KR100895170B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP07105226A EP1839716A1 (en) 2006-03-30 2007-03-29 Mobile handset video game system and method
CN2007100919016A CN101053695B (en) 2006-03-30 2007-03-30 Mobile handset video game system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/393,244 US20070021203A1 (en) 2005-06-28 2006-03-30 Mobile handset video game system and method
US11/393,244 2006-03-30

Publications (2)

Publication Number Publication Date
KR20070098482A KR20070098482A (en) 2007-10-05
KR100895170B1 true KR100895170B1 (en) 2009-05-04

Family

ID=38793857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070015047A KR100895170B1 (en) 2006-03-30 2007-02-13 Method and mobile terminal for playing video game thereof system

Country Status (2)

Country Link
KR (1) KR100895170B1 (en)
CN (1) CN101053695B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546921B (en) * 2010-12-07 2014-07-09 中国电信股份有限公司 Method, system and mobile terminal for achieving Web panorama browsing
CN105288997B (en) * 2014-06-24 2019-08-06 腾讯科技(深圳)有限公司 Interactive method and apparatus are realized in chessboard interface
CN105148520A (en) * 2015-08-28 2015-12-16 上海甲游网络科技有限公司 Method and device for automatic aiming of shooting games

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010097079A (en) * 2000-04-19 2001-11-08 최경규 Network Game System Using Direct Communication Between Mobile Phones
KR20050003632A (en) * 2003-07-03 2005-01-12 주식회사 팬택 Method of Executing Game Using Main/Sub Display Device in Wireless Terminal

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010097079A (en) * 2000-04-19 2001-11-08 최경규 Network Game System Using Direct Communication Between Mobile Phones
KR20050003632A (en) * 2003-07-03 2005-01-12 주식회사 팬택 Method of Executing Game Using Main/Sub Display Device in Wireless Terminal

Also Published As

Publication number Publication date
CN101053695A (en) 2007-10-17
KR20070098482A (en) 2007-10-05
CN101053695B (en) 2011-03-23

Similar Documents

Publication Publication Date Title
US20070060346A1 (en) Tool for video gaming system and method
US20070021203A1 (en) Mobile handset video game system and method
US20070060345A1 (en) Video gaming system and method
US7400329B2 (en) Graphics images system and method
US20080016176A1 (en) System for development of games for mobile devices and distribution thereof
US20230072503A1 (en) Display method and apparatus for virtual vehicle, device, and storage medium
WO2022042435A1 (en) Method and apparatus for displaying virtual environment picture, and device and storage medium
CN113101667B (en) Virtual object control method, device, equipment and computer readable storage medium
CN113633964A (en) Virtual skill control method, device, equipment and computer readable storage medium
CN113559510A (en) Virtual skill control method, device, equipment and computer readable storage medium
WO2022095672A1 (en) Screen display method and apparatus, device and storage medium
KR100895170B1 (en) Method and mobile terminal for playing video game thereof system
KR100876739B1 (en) Multiplayer Video Game System and Method
CN112121432B (en) Control method, device and equipment of virtual prop and computer readable storage medium
CN113680060A (en) Virtual picture display method, device, equipment, medium and computer program product
CN113144617B (en) Control method, device and equipment of virtual object and computer readable storage medium
EP1839715B1 (en) Multiplayer video gaming system and method
EP1839716A1 (en) Mobile handset video game system and method
CN113769379A (en) Virtual object locking method, device, equipment, storage medium and program product
CN112156472A (en) Control method, device and equipment of virtual prop and computer readable storage medium
CN113398576A (en) Virtual environment-based picture control method and device, storage medium and equipment
CN113769392B (en) Method and device for processing state of virtual scene, electronic equipment and storage medium
CN112057859B (en) Virtual object control method, device, terminal and storage medium
CN112870708B (en) Information display method, device, equipment and storage medium in virtual scene
CN113101651B (en) Virtual object type equipment method, device, equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment
FPAY Annual fee payment
FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 11