KR100876739B1 - Multiplayer Video Game System and Method - Google Patents

Multiplayer Video Game System and Method Download PDF

Info

Publication number
KR100876739B1
KR100876739B1 KR1020070015049A KR20070015049A KR100876739B1 KR 100876739 B1 KR100876739 B1 KR 100876739B1 KR 1020070015049 A KR1020070015049 A KR 1020070015049A KR 20070015049 A KR20070015049 A KR 20070015049A KR 100876739 B1 KR100876739 B1 KR 100876739B1
Authority
KR
South Korea
Prior art keywords
game
file
act
player
user
Prior art date
Application number
KR1020070015049A
Other languages
Korean (ko)
Other versions
KR20070098483A (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,240 external-priority patent/US20070037625A1/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP07105209A priority Critical patent/EP1839715B1/en
Priority to AT07105209T priority patent/ATE485085T1/en
Priority to DE602007009887T priority patent/DE602007009887D1/en
Priority to CN2007100915000A priority patent/CN101049539B/en
Publication of KR20070098483A publication Critical patent/KR20070098483A/en
Application granted granted Critical
Publication of KR100876739B1 publication Critical patent/KR100876739B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/332Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/203Image generating hardware
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/206Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/303Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display
    • A63F2300/307Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device for displaying additional data, e.g. simulating a Head Up Display for displaying an additional window with a view from the top of the game field, e.g. radar screen
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/406Transmission via wireless network, e.g. pager or GSM
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8076Shooting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

A method for multiplayer gaming on mobile handsets is provided. The method includes a first user entering inputs via a keypad of a first mobile device to play a first game, communicating the first user's keypad inputs on the first mobile device to a second mobile device, a second user entering inputs via a keypad of the second mobile device to play a second game, the first and second games being substantially the same games provided on separate mobile devices, and communicating the second user's keypad inputs on the second mobile device to the first mobile device, the first game using the keypad inputs from the second mobile device and the second game using the keypad inputs from the first mobile device to enable multiplayer gaming between the first and second games.

Description

다인용 비디오 게임 시스템 및 방법{SYSTEM AND METHOD OF MULTIPLAYER VIDEO GAMING} Multiplayer video game system and method {SYSTEM AND METHOD OF MULTIPLAYER VIDEO GAMING}

도 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 one panorama displayed in a game scene according to one embodiment of the invention.

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

도 4는 본 발명의 일 실시예에 따른 게임의 장면에 나타나는 층(layering)을 나타낸 도면. 4 illustrates layering that appears in a scene of a game in accordance with one embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 게임에 사용되는 런타임 엔진처리 파일들(runtime engine processing files)을 나타낸 도면. FIG. 5 illustrates runtime engine processing files used for a game in accordance with one embodiment of the present invention. FIG.

도 6a 내지 6e는 본 발명의 일 실시예에 따른 게임을 생성하는데 사용되는 제작 툴(authoring tool)을 나타낸 도면. 6A-6E illustrate an authoring tool used to create a game in accordance with one embodiment of the present invention.

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

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

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

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

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

도 12는 본 발명의 일부 다양한 실시예들에서 실시 가능한 이동 장치의 블록도. 12 is a block diagram of a mobile device that may be implemented in some various embodiments of the present invention.

도 13은 본 발명의 일부 다양한 실시예들에서 실시 가능한 컴퓨터 시스템의 블록도. 13 is a block diagram of a computer system that may be implemented in some various embodiments of the invention.

본 출원은, 적어도 미합중국 특허법 119조 (e)항의 규정에 따라, 발명자 데이비드 씨. 에드워즈(David C. Edwards)가, "이동 단말기에서 3D 게임을 실행하기 위한 피유쥐에스 게임 엔지(PUGS Game Engine for 3-D Gaming on Handsets)"이라는 명칭으로 2005년 6월 28일자로 출원한 미합중국 가출원 제 60/694,785호, "3D 게임을 실행하기 위한 피아이씨 포맷(PIC Format for 3-D Gaming)"이라는 명칭으로 2005년 6월 28일자로 출원한 미합중국 가출원 제 60/694,496호, 및 "3D 게임을 실행하기 위한 티쥐에이 포맷(TGA Format for 3-D Gaming)"이라는 명칭으로 2005년 6월 28일자로 출원한 미합중국 가출원 제 50/694,569호의 우선권에 대한 이익을 주장하며, 상기 출원들의 모든 내용은, 여러 목적과 관련하여 본 명세서에 포함한다. 본 출원은, 상기 발명자(데이비드 씨. 에드워즈)가 본 출원과 동일 날짜로 출원하여, 계류중인 미합중국 특허 "비디오 게임 시스템 및 방법(Video Gaming System and Method)" (변리사 Docket No. 2005.06.011.WTO, 4133-00600), 미합중국 특허 "비디오 게임 시스템 및 방법을 위한 툴(Tool for Video Gaming System and Method)" (변리사 Docket No. 2005.06.012.WTO, 4133-00700), 미합중국 특허 "그래픽 영상 시스템 및 방법(Graphics Images System and Method)" (변리사 Docket No. 2005.06.013.WTO, 4133-00800), 및 미합중국 특허 "이동 단말기 비디오 게임 시스템 및 방법(Mobile Handset Video Game System and Method)" (변리사 Docket No. 2005.09.001.WTO, 4133-01100)와 관련 있으며, 상기 출원들의 모든 내용은 여러 목적과 관련하여 본 명세서에 포함한다. The present application, at least in accordance with the provisions of section 119 (e) of the United States Patent Act, provides the inventors with Mr. David. United States of America, filed June 28, 2005, by David C. Edwards, "PUGS Game Engine for 3-D Gaming on Handsets," for playing 3D games on mobile devices. Provisional Application No. 60 / 694,785, US Provisional Application No. 60 / 694,496, filed June 28, 2005, entitled "PIC Format for 3-D Gaming," and "3D." Claims interest in the priority of U.S. Provisional Application No. 50 / 694,569, filed June 28, 2005, entitled "TGA Format for 3-D Gaming," all contents of the above applications Is included in this specification in connection with various purposes. The present application is filed by the inventor (David C. Edwards) on the same date as the present application, and pending US patent "Video Gaming System and Method" (patent attorney Docket No. 2005.06.011.WTO , 4133-00600), US Patent "Tool for Video Gaming System and Method" (Attorney Docket No. 2005.06.012.WTO, 4133-00700), US Patent "Graphic Imaging System and Method (Graphics Images System and Method) (patent attorney Docket No. 2005.06.013.WTO, 4133-00800), and US patent "Mobile Handset Video Game System and Method" (attorney Docket No.) 2005.09.001.WTO, 4133-01100, the entire contents of which are hereby incorporated by reference for various purposes.

본 발명은 이동 장치 및 컴퓨터용 비디오 게임 시스템 및 방법에 관한 것이다. 보다 상세하게는, 복수의 사용자가 복수의 이동 장치를 통해 게임을 실행할 수 있는 다인용 비디오 게임 방법 및 시스템에 관한 것이다.The present invention relates to video game systems and methods for mobile devices and computers. More particularly, the present invention relates to a multiplayer video game method and system that enables a plurality of users to play a game through a plurality of mobile devices.

이동 전화, 개인 휴대 정보 단말기(PDA: Personal Digital Assistants) 및 유사한 휴대용 이동 전자 장치들은 때때로 비디오 게임 실행 능력과 같은 부가적인 기능을 제공한다. 이러한 이동 장치용 게임은 사실적인 그래픽과 복잡한 게임 실행 및 그 밖의 개선점들을 가지고 더욱 복잡해지고 있다. 현재, 상기 장치들 자체도 더 큰 메모리 용량, 빠른 프로세서, 그래픽 가속기 및 그 밖의 업그레이드들로 더욱 정교해지고 있다. 그 결과, 일부 게임들은 고가의 매우 정교한 장치에서만 실행될 수 있다. 이러한 게임의 개발은 복잡해지고 그래픽 아티스트 및 고도로 숙련된 프로그래머를 요구하고 있다. 비디오 게임의 개발에 게임당 백만달러 이상이 드는 것도 무리가 아니다. Mobile phones, personal digital assistants (PDAs) and similar portable mobile electronic devices sometimes provide additional functionality, such as the ability to play 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. It's not unreasonable to spend more than $ 1 million per game on video games.

본 발명의 목적은 서로 다른 크기의 디스플레이를 구비한 이동 단말기들 상에서 게임을 실행함에 있어, 상기 이동 단말기들 간에 동일한 게임을 동시에 디스플레이하여 진행할 수 있도록 하는 하기 위한 다인용 비디오 게임 시스템 및 방법을 제공함에 있다.SUMMARY OF THE INVENTION An object of the present invention is to provide a multi-player video game system and method 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 이동 장치의 키패드를 통해 입력되는 단계; 상기 제1 이동 장치상의 제1 사용자의 키패드 입력 신호들을 제2 이동 장치로 통신하는 단계; 제2 사용자에 의해 각 이동 장치상에 제공되는 상기 제1 게임과 실제로 동일한 제2 게임을 실행하기 위한 입력 신호들이 상기 제2 이동장치의 키패드를 통해 입력되는 단계; 및 상기 제2 이동 장치상의 제2 사용자 키패드 입력 신호들을 상기 제1 이동 장치로 통신하는 단계를 포함하되, 상기 제1 및 제2 게임들 사이에서 다인용 게임이 가능하도록 상기 제1 게임은 상기 제2 이동 장치로부터 키패드 입력을 사용하고 상기 제2 게임은 상기 제1 이동 장치로부터 키패 드 입력을 사용하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a multiplayer game method, comprising: input signals for executing a first game by a first user through a keypad of a first mobile device; Communicating keypad input signals of a first user on the first mobile device to a second mobile device; Inputting, via a keypad of the second mobile device, input signals for executing a second game that is substantially identical to the first game provided on each mobile device by a second user; And communicating second user keypad input signals on the second mobile device to the first mobile device, wherein the first game is enabled to enable a multiplayer game between the first and second games. 2 uses keypad input from the mobile device and the second game uses keypad input from the first mobile device.

상기한 목적을 달성하기 위한 본 발명에 따른 다인용 게임 시스템은, 제1 사용자가 제1 이동 단말기 상의 게임을 실행하기 위해 상기 제1 이동 단말기 상에서 작동가능하고, 상기 제1 이동 단말기를 사용하는 상기 제1 사용자에 의한 액션과 관련된 제1 플레이어 표시기(indicator)를 제공하며, 제2 이동 단말기를 사용하는 제2 사용자에 의한 액션과 관련된 제2 플레이어 표시기를 제공하는 게임 구성요소와, 상기 제2 이동 단말기상의 상기 게임을 실행하는 상기 제2 사용자에 의한 게임 실행으로부터의 키패드 입력들과 관련된 데이터를 수신하도록 작동할 수 있고, 상기 제2 이동 장치로부터 수신되는 상기 키패드 입력들을 근거로 상기 제1 이동 장치상의 상기 제2 플레이어 표시기를 업데이트하기 위해 작동할 수 있는 통신 구성요소를 포함하는 것을 특징으로 한다.The multiplayer game system according to the present invention for achieving the above object is characterized in that the first user is operable on the first mobile terminal to play a game on the first mobile terminal, and uses the first mobile terminal. A game component that provides a first player indicator associated with an action by a first user and provides a second player indicator associated with an action by a second user using a second mobile terminal; The first mobile device operable to receive data related to keypad inputs from game play by the second user executing the game on a terminal, the first mobile device based on the keypad inputs received from the second mobile device; And a communication component operable to update the second player indicator on the tablet. The.

상기한 목적을 달성하기 위한 본 발명에 따른 다인용 게임 시스템은, 제1 컴퓨팅 플랫폼상의 제1 게임, 제2 컴퓨팅 플랫폼상의 제2 게임을 포함하되, 상기 제1 및 제2 게임들은 실제로 동일한 게임이며, 상기 제2 컴퓨팅 플랫폼상의 상기 제2 게임을 실행하는 것과 관련된 제2 사용자 게임 입력들을 수신하기 위해 작동할 수 있는 제1 통신 구성요소, 및 상기 제1 컴퓨팅 플랫폼상의 상기 제1 게임을 실행하는 것과 관련된 제1 사용자 게임 입력들을 수신하기 위해 작동할 수 있는 제2 통신 구성요소를 포함하되, 상기 제1 게임은 상기 제2 컴퓨팅 플랫폼으로부터 상기 제2 사용자 게임 입력들을 사용하여 작동할 수 있고, 상기 제1 및 제2 게임들 사이에서 다인용 게임이 가능하도록 상기 제1 컴퓨팅 플랫폼으로부터 상기 제1 사용자 게임 입력들을 사용하여 작동할 수 있는 것을 특징으로 한다. The multiplayer game system according to the present invention for achieving the above object includes a first game on a first computing platform and a second game on a second computing platform, wherein the first and second games are actually the same game. A first communication component operable to receive second user game inputs associated with executing the second game on the second computing platform, and executing the first game on the first computing platform; A second communication component operable to receive associated first user game inputs, wherein the first game can operate using the second user game inputs from the second computing platform, Operate using the first user game inputs from the first computing platform to enable a multiplayer game between first and second games. Characterized in that it can.

본 발명의 일 실시예의 실행예를 아래에서 일예로서 예시하고 있지만, 현재 알려져 있거나 존재하는 특정 수의 기술을 이용하여 본 시스템을 실시할 수 있다는 것을 처음부터 이해해야 한다. 본 실시예는, 결코, 본 명세서에서 예시하고 설명한 구성예 및 실행예를 포함하여 아래에서 예시하고 있는 실행예, 도면, 및 기술들로 한정하지 않으나, 첨부한 청구범위 및 그에 균등한 것의 범위 내에서 개량할 수 있다. 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. You can improve in.

본 발명은 이동 단말기들 상의 다인용 게임 방법을 제안한다.The present invention proposes a multiplayer game method on mobile terminals.

본 발명의 실시 예에 따라 상기 방법은 제 1 게임을 실행하기 위해 제 1 이동장치의 키패드를 통해 입력하는 제1 사용자를 포함한다. 또한, 상기 방법은 상기 제 1 이동 장치상의 제 1 사용자의 키패드 입력을 제 2 이동 장치로 통신하는 것을 포함한다. 또한, 상기 방법은 각 이동 장치상에 제공되는 상기 제1 게임과 실제로 동일한 제2 게임을 실행하기 위해 상기 제 2 이동장치의 키패드를 통해 입력하는 제2 사용자를 포함한다.According to an embodiment of the present invention, the method includes a first user who inputs through a keypad of a first mobile device to execute a first game. The method also includes communicating a keypad input of a first user on the first mobile device to a second mobile device. The method also includes a second user entering through a keypad of the second mobile device to execute a second game that is substantially identical to the first game provided on each mobile device.

한편, 상기 제 1 및 제 2 게임들 사이에서 다인용 게임이 가능하도록 상기 제 1 게임은 상기 제 2 이동 장치로부터 키패드 입력을 사용하고 상기 제 2 게임은 상기 제 1 이동 장치로부터 키패드 입력을 사용하는 것을 특징으로 한다.On the other hand, the first game uses keypad input from the second mobile device and the second game uses keypad input from the first mobile device to enable a multiplayer game between the first and second games. It is characterized by.

본 발명의 다른 실시예에 따르면, 이동 단말기용 다인용 게임에 있어서, 제 1 사용자가 제 1 이동 단말기 상의 게임을 실행하기 위해 상기 제 1 이동 단말기 상에서 작동가능하고, 상기 제 1 이동 단말기를 사용하는 상기 제 1 사용자에 의한 액션과 관련된 제 1 플레이어 표시기(indicator)를 제공하며, 제 2 이동 단말기를 사용하는 제 2 사용자에 의한 액션과 관련된 제 2 플레이어 표시기를 제공하는 게임 구성요소와, 상기 제 2 이동 단말기상의 상기 게임을 실행하는 상기 제 2 사용자에 의한 게임 실행으로부터의 키패드 입력들과 관련된 데이터를 수신하도록 작동할 수 있고, 상기 제 2 이동 장치로부터 수신되는 상기 키패드 입력들을 근거로 상기 제 1 이동 장치상의 상기 제 2 플레이어 표시기를 업데이트하기 위해 작동할 수 있는 통신 구성요소를 포함하는 것을 특징으로 하는 다인용 게임이 제공된다. According to another embodiment of the present invention, in a multiplayer game for a mobile terminal, a first user is operable on the first mobile terminal to execute a game on the first mobile terminal, and uses the first mobile terminal. A game component that provides a first player indicator associated with an action by the first user and provides a second player indicator associated with an action by a second user using a second mobile terminal; Operable to receive data related to keypad inputs from game play by the second user executing the game on a mobile terminal, the first movement based on the keypad inputs received from the second mobile device; A communication component operable to update the second player indicator on the device. This multi-player game that features that are provided.

본 발명의 또 다른 실시예에 따르면, 다인용 게임 시스템에 있어서, 제 1 컴퓨팅 플랫폼상의 제 1 게임, 제 2 컴퓨팅 플랫폼상의 제 2 게임이되, 상기 제 1 및 제 2 게임들은 실제로 동일한 게임이며, 상기 제 2 컴퓨팅 플랫폼상의 상기 제 2 게임을 실행하는 것과 관련된 제 2 사용자 게임 입력들을 수신하기 위해 작동할 수 있는 제 1 통신 구성요소, 및 상기 제 1 컴퓨팅 플랫폼상의 상기 제 1 게임을 실행하는 것과 관련된 제 1 사용자 게임 입력들을 수신하기 위해 작동할 수 있는 제 2 통신 구성요소를 포함하되, 상기 제 1 게임은 상기 제 2 컴퓨팅 플랫폼으로부터 상기 제 2 사용자 게임 입력들을 사용하여 작동할 수 있고, 상기 제 1 및 제 2 게임들 사이에서 다인용 게임이 가능하도록 상기 제 1 컴퓨팅 플랫폼으로부터 상기 제 1 사용자 게임 입력들을 사용하여 작동할 수 있는 것을 특징으로 하는 다인용 게임 시스템이 제공된다. According to another embodiment of the invention, in a multiplayer game system, the first game on a first computing platform, the second game on a second computing platform, the first and second games are actually the same game, A first communication component operable to receive second user game inputs associated with executing the second game on the second computing platform, and associated with executing the first game on the first computing platform A second communication component operable to receive first user game inputs, wherein the first game can operate using the second user game inputs from the second computing platform, and And using the first user game inputs from the first computing platform to enable a multiplayer game between second games. This multi-player game system wherein you can move is provided.

이러한 특징 및 장점들은 첨부된 도면과 청구범위를 참조하여 후술되는 상세한 설명에서 명백히 이해할 수 있을 것이다.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 정도이다. 일반적으로 고품질 비디오 그래픽을 얻기 위해서는 그래픽 가속기를 구비한 이동 단말기가 요구될 수 있다. 일부 실시예에서는 그래픽 가속기 없이 이동 단말기에서 본 시스템이 동작할 수 있다. 또한 360-3D 게임을 개발하기 위한 시스템 및 방법이 개시된다. 상기 시스템 및 방법은, 이동 장치상에 디스플레이 시 일련의 사전 렌더링(pre-rendered)된 이미지들을 다루는 방법을 지정함으로써, 개발자들이 쉽게 360-3D 게임을 제작할 수 있도록 한다. 프로그래밍 코드를 사용하지 않고 게임을 제작할 수 있어, 프로그래밍 지식 또는 경험의 필요성을 제거하고 게임 게발 비용을 상당히 줄일 수 있다. A 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. In general, a mobile terminal having a graphics accelerator may be required to obtain high quality video graphics. In some embodiments, the system may operate in a mobile terminal without a graphics accelerator. Also disclosed are systems and methods for developing 360-3D games. 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. The game can be made 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)을 이용하여 게임 개발 과정을 시작하게 된다. 이하에서 상세히 후술되는 바와 같이, 상기 이미지들은 'taga' 또는 '.tga' 포맷인 일련의 그래 픽 파일(120)들로 사전 렌더링(pre-rendered)되고 저장된다. 1 is a block diagram of the major components in one embodiment of a 360-3D game development and game execution system. 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 graphic files 120 in 'taga' 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)라 불리는 데이터 파일의 단일 세트에 함께 저장될 수 있다. An authoring tool 130 is then used to import the graphics files 120 and convert the '.tga' format into a format called '.pic' file 140. 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 production 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 production 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 the computer 170 of FIG. 1, in other embodiments, the graphics program 110 and graphics files 120 may be created using the production tool ( 130, a '.pic' file 140, a '.act' file 150, and a container 170 such as the container 160.

360-3D 게임이 이동 전화, PDA 또는 유사한 장치에 설치되면, 상기 컨테이너(160)는 상기 컴퓨터(170)에서 이동장치(180)로 복사된다. 대신에, 상기 컨테이너는 상기 이동 장치(180)로 전송되기 전에 중간 위치(intermediate location)에 저장될 수도 있다. 예를 들어 상기 컨테이너(160)는 웹사이트 상에서 상기 이동 장치(180)로 다운로드하기 위해 사용되거나, 이동 장치(180)로 복사하기 위한 CD 및 다른 저장 매체에 저장될 수 있다. 당업계의 또 다른 기술은 상기 컨테이너(160)를 컴퓨터(170)에서 이동 장치(180)로 전송하는 것이다. When a 360-3D game is installed on a mobile phone, PDA or similar device, the container 160 is copied from the computer 170 to the mobile device 180. Instead, the container 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. Another technique in the art is to transfer the container 160 from the computer 170 to the mobile device 180.

상기 컨테이너(160)의 파일들은 컴퓨터(170) 및 이동 장치(180) 양쪽과 호환되는 포맷일 수 있고, 상기 전송 과정의 일부로 어떠한 파일의 변경도 필요하지 않을 수 있다. 그러나 호환을 위해 약간의 변경이 필요할지라도 상기 파일들은 실제로 동일한 것으로 간주되며, 상기 컨테이너(160)가 컴퓨터(170) 또는 이동 장치(180) 내의 존재 여부에 상관없이 여기서 상기 파일들은 컨테이너(160) 내에 존재한다고 언급될 것이다. The files in 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 transfer process. However, even if some changes are required for compatibility, the files are actually considered to be the same, regardless of whether the container 160 is present in the computer 170 or the mobile device 180 where the files are in the container 160. It will be mentioned that it exists.

또한 상기 컨테이너(160)에서 파일을 읽어들일 수 있는 런타임 엔진(190, runtime engine)이 상기 이동 장치(180) 내에 존재한다. 이하에서 상세히 후술되는 바와 같이, 상기 엔진(190)은 상기 '.pic' 파일(140)내 이미지들이 다루어지는 방법에 관한 '.act' 파일(160)내 명령들을 읽어들인다. 이후 상기 엔진(190)은 적절한 '.pic' 파일(140)들을 검색하고, 이들을 명령대로 처리하여, 상기 이동 장치(180)의 디스플레이 화면(200)상에 디스플레이한다. In addition, a runtime engine 190 capable of reading a file from the container 160 is present in the mobile device 180. As will be described in detail below, the engine 190 reads commands 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)도 읽어들일 수 있다. 일반적으로 동일한 운영 시스템 호출(calls)을 사용하여 초당 약 15회 정도의 엔진(19)을 호출하는 타이머 기능을 초기화하고, 메모리 위치에 쓰며, 디스플레이 업데이트를 트리거하고, 상기 엔진(190)을 휴지상태(dormant)로 만들기 위해서만 상기 엔진(19)이 변경된다. 상기 엔진(190)은 오직 360-3D 게임의 실행 가능한 부분이다. 일단 상기 엔진(190)이 특정 이동 장치(180) 및 운영 시스템에 대해 테스트되고 디버깅(debugged)되면, 이런 형태의 장치(180)에 인스톨하기 위해 더 이상의 테스트나 디버깅이 필요 없다. 새로운 360-3D 게임이 이동 장치(180)에 인스톨되면, 상기 게임용 컨테이너(160)는 기존의 다른 게임용 컨테이너(160) 대신 또는 더해져 장치의 메모리내에 단순히 로딩된다. 그러면, 상기 엔진(190)은 새로운 게임을 실행할 새로운 컨테이너(160)를 읽어들인다. In a preferred embodiment the engine 190 is embedded in the operating system of the mobile device 180. The engine 190 may be slightly modified to be compatible with other devices and operating systems, but substantially the same engine 190 may be embedded on any mobile device 180 and any container 160 may be read. Typically, the same operating system calls are used 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 idle the engine 190. 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 this type of 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 existing other gaming container 160. The engine 190 then reads in a new container 160 to play the new game.

상기 제작 툴(130)이 360-3D 게임을 생성하고 상기 런타임 엔진(190)이 게임을 실행하는 방법에 대해 자세히 살펴보기에 앞서, 360-3D 게임의 포맷과 보통 360-3D 게임에서 발생하는 게임 액션(gaming action)의 유형을 살펴보는 것이 유익할 수 있다. Before the production tool 130 creates a 360-3D game and the runtime engine 190 examines in detail how to play the game, the game occurs in the format of a 360-3D game and usually in a 360-3D game. It may be beneficial to look at the type of gaming action.

360-3D 게임은 1인용 슈팅 게임(first-person shooter games)으로 알려진 장르에 속한다. 즉, 360-3D 게임의 플레이어가 이동 장치(180)의 비디오 스크린(200) 에 디스플레이되는 장면 안에 존재하는 가상 플레이어(virtual player)의 시각과 대결하게 된다. 상기 가상 플레이어는 일반적으로 장면 내에서 움직일 수 있고, 인물(characters)이나 물체를 향해 슈팅하는 것과 같은 액션을 취할 수 있다. 상기 액션은 슈팅에만 한정되는 것이 아니라, 당업계에서 공지의 기술인 게임장면에서 가상 플레이어와 인물 사이의 상호 작용의 형태도 가능하다. 예를 들어 상기 액션은 몇몇 형태의 액션을 수행하기 위해 인물을 선택하는 것이 될 수도 있다. 그러나 참조의 편의상, 가상 플레이어와 인물 사이의 상호작용은 이하에서 슈팅(shooting) 및/또는 발사(firing a shot)라 하기로 한다. 또한 상기 슈팅은 수많은 서로 다른 형태의 타깃에 각종 발사체를 쏘는 것이 포함될 수 있다. 일 예로 군인, 탱크, 헬리콥터 등과 같은 서로 다른 군대의 움직이는 형상들(action figures)에 플레이어가 발사하는 군대 액션 게임이 될 수 있다. 다른 예로서 공룡들 또는 수중의 상어들을 쏘는 게임 또는 사격 연습장(shooting gallery) 형태의 게임이 될 수도 있다. 상기 게임은 또한 플레이어가 불의 화염을 진화하기 위해 불길에 물을 발사하는 소방수 게임이 될 수 있다. 슈팅 및/또는 발사는 스프레이(spraying), 포인팅(pointing), 지시(designating) 및/또는 선택(selecting)이 될 수 있다. 본 시스템으로 제작될 수 있는 다른 형태의 게임의 예들은 당업계의 공지 기술에 이미 제시되어 있다. 360-3D games belong 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 the virtual player and the person in the game scene which is a technique known in the art. For example, the action may be selecting a person 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 on 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. Shooting and / or shooting may be spraying, pointing, designing and / or selecting. Examples of other types of games that can be made with the system are already presented in the art.

360-3D 게임의 일 실시예에서 상기 가상 플레이어는 한 장면의 단일 점(point)에서 정지된 상태를 유지하거나 상기 점을 중심으로 자유롭게 회전할 수 있다. 한 장소에서 시계 또는 반시계 방향으로 돌거나 회전함으로써 가상 플레이어 는 자기가 위치하고자 하는 중심에서 가상 세계를 360도 볼 수 있다. 상기 가상 플레이어가 회전하는 장면의 배경은 한결같이 감싸고 있는 전경(panorama)이므로 실제 세계의 장면에서 가상 플레이어가 끊임없이 회전할 수 있는 상황이 만들어진다. 그러므로 상기 플레이어는 시계 또는 반시계 방향으로 360, 720, 1080도 등으로 회전할 수 있다. In one embodiment of a 360-3D game, the virtual player can remain stationary at a single point in a scene or freely rotate about the point. 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 means for providing other keys or 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 figures 260 are in the foreground. Shown in Objects in the background and foreground are properly proportioned to create a three-dimensional appearance. 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)이라 한다.) 인물(260)들은 또한 상기 가상 플레이어(210)로부터 다가가거나 물러나는 모습을 보여주기 위해 크기를 비례 축소(scale up and down)할 수 있다. 또한 비례 축소(scaling)는 정지된 대상이 상기 가상 플레이어(210)로부터 가까워지거나 멀어지는 장면을 나타내는데 사용될 수 있다. 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 is shown in plan view on the display 200. Mountains 230, buildings 240, trees 250, and figures 260 arranged in the foreground 220 appear on the display 200. The figures 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 within the scene, regardless of whether it is a human, an animal, a vehicle, or some other type of moving object, is referred to as a character 260.) The characters 260 are also referred to as the virtual player 210. You can scale up and down to show the approach or withdrawal. Scaling may also be used to represent scenes where 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 indicating the depth of person 260 relative to the background and foreground. When moving left or right, the figures 260 move only in one of the layers. That is, person 260 may be on either floor as close as possible to the foreground or background or between the layers closest to the background from the layer closest to the foreground. This obscures when the upper layer person 260 passes in front of the person 260 in the lower layer while allowing the person 260 present in the different layers to move in front of or behind each other. When scaled down in size to create a forward or backward view, person 260 can also vary floors.

도 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. The tree 250 may appear in layer 10 located in front of the layer 0, and the other tree 250 may appear in layer 20 located in front of the layer 10. Two buildings 240 may appear on floor 30 located in front of the floor 20. Person 260 may appear on floor 40 located in front of floor 30. While five layers are shown 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 for 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)가 목표로 하는 곳을 보여주기 위해 나타난다. 다른 실시예들에서는 상기 십자형 커서(270) 대신에 포인터(pointer), 조준 포인터(aiming pointer) 또는 표적 십자선(targeting reticle)과 같은 타깃 표시(targeting indicator)가 사용될 수 있다. 이하에서 어떠한 타깃 표시도 십자형 커서(270)라고 한다. 상기 십자형 커서(270)는 화면(200)상의 좌측에서 우측으로 중앙에 위치한다. 실제 플레이어가 상기 가상 플레이어(210)를 좌측 또는 우측으로 회전시키는 효과는 장면에서 이미지들이 회전하지만 십자형 커서(270)는 좌측에서 우측으로 중앙을 유지한다. 또한 상기 실제 플레이어는 이동 장치(180)의 키패드 상에 상하 커서 키를 이용하거나 이와 유사한 입력 메커니즘을 통해 십자형 커서(270)를 상하로 이동시킬 수 있다. 이와 같이, 상기 실제 플레이어는 십자형 커서(270)가 상기 장면에서 인물(260) 또는 다른 대상을 조준하도록 시도할 수 있다. 상기 이동 장치(180)의 키패드 상의 적당한 키를 치거나 다른 적절한 입력을 제공하여 실제 플레이어가 상기 십자형 커서(270)의 중앙에서 액션(예를 들어, 발사)이 이루어지도록 한다. 만일 상기 십자형 커서(270)가 인물(260)상에 적절히 위치하면, 상기 액션은 인물(260)의 반응(예를 들어, 상기 인물(260)에 부상을 입힘)을 일으킨다. Referring again to FIG. 3, a crosshair 270 (crosshair) appears to show where the virtual player 270 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. Any target representation below is referred to as a cross cursor 270. 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 person 260 or another 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 cross cursor 270 is properly positioned on the person 260, the action causes a reaction of the person 260 (eg, injuries to the person 260).

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

'레이더(280, radar)'라 불리는 그래픽 디스플레이가 상기 화면(200)에 나타나며, 현재 보이는 장면 외부에 위치한 어떠한 인물(260)들을 포함하여 상기 가상 플레이어(210)에 위협을 가하는 인물(260)들이 어디에 위치하는지를 가리킨다. 상기 레이더(280)는 또한 위협 표시기(threat indicator)라고 한다. 상기 레이더(280)는 하기에서 상세하게 설명한다. A graphic display called 'radar 280' appears on the screen 200 and includes characters 260 that threaten the virtual player 210, including any persons 260 located outside the currently visible scene. Point to where it is 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). Multi-player games are 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 figures 260 before the figures 260 kill the virtual player 210 in the single person shooting game. By focusing again 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 character 260 at a specified level of harm. The level of damage that can be inflicted by a weapon is called the weapon's power. The amount of damage sustained by the person 260 is called damage. For example, a weapon having a power of 5 may inflict 5 points of damage to the person 260 when the virtual player 210 shoots the person 260 through the weapon. The person 260 may have a specified level of damage that can withstand until death or another action occurs on the person 260. For example, the person 260 may die after taking 20 points of damage. This character 260 is killed after being hit four times by a weapon with 5 power.

이와 비슷하게 상기 인물(260)들은 가상 플레이어(210)에 지정된 레벨의 데 미지를 가할 수 있는 무기를 가질 수 있고, 상기 가상 플레이어(210)는 죽기 전에 견딜 수 있는 특정 레벨의 데미지를 가질 수 있다. 상기 가상 플레이어(210)가 인물(260)들이 자신을 죽이기 전에 모든 인물(260)들을 죽인다면, 보통 게임에서 승리하거나 새로운 레벨의 게임에 도달할 수 있다. 이러한 일반적 게임 개념에 수많은 변화가 가능하며, 당업계의 기술에서 분명히 알 수 있다. 예를 들어, 파워 및 데미지의 개념은 소방수 게임과 같이 전투가 일어나지 않는 게임에서도 이미 확장되어 있다. Similarly, the figures 260 may have weapons capable of inflicting 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 figures 260 before the figures 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 is already extended to non-combat games, such as firefighter games.

360-3D 게임이 시작되면, 다양한 액션을 수행하는 각종 인물(260)들이 장면의 여러 위치에서 등장할 수 있다. 게임 개발자가 상기 개발 툴(130)을 이용하여 어떤 인물(260)들이 등장하고 이들의 특징은 무엇이며, 어디에 등장하는지 어떤 행동을 할 것인지에 대한 방식은 하기에서 자세하게 설명한다. When the 360-3D game starts, various figures 260 performing various actions may appear at various positions in the scene. The manner in which a game developer uses the development tool 130 and what characters 260 appear, what are their features, and where and how they will act is 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. In addition, the person 260 may also start shooting toward the virtual player 210. In one embodiment, a monitoring routine may be used to determine when the virtual player 210 begins shooting early in the game, and the figures 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 person 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 person 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 person 260 may repeat this operation until being 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 person 260 such as the amount of damage that the person 260 can withstand before the person dies and the actions that can be taken if the person 260 dies. It may include data related to. The second portion of the '.act' file 150 may include a command for the person 260 to depict the appearance. The third portion of the '.act' file 150 may include a command depicting the person 260 shooting 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 person 260 should be hidden. The fifth portion of the '.act' file 150 may include instructions to return to the second portion to repeat a series of events. In some embodiments, all information about these actions may be stored in a single '.act' file 150 with 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 person, the settings of the first portion of the '.act' file 150 are retrieved. These settings identify one or more other '.act' files 150 for requesting the death of person 260, and these other '.act' files 150 may include one or more other person 260. You can let it perform a series of different actions. The game developer can make the '.act' file 150 as complex as desired to depict the complex behavior of the person 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 in person 260, one '.act' file 150 may cause the engine 190 to generate other '.act' files 150. For example, when the first person 260 dies, the second person 260 may appear at one location in the scene, and the third person 260 may appear at another location. The behavior of the second and third persons 260 will be described by other '.act' files 150. These '.act' files 150 describe a series of complex actions for the second and third persons 260, and the engine when a specified action occurs in the second and third persons 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 person may cause the engine 190 to call another '.act' file 150 in different situations. For example, if a person 260 is injured, the engine 190 may display the person (" act ") by a '.act' file 150 that depicts the person 260's behavior before the person 260 is injured. 260 calls another '.act' file 150 that depicts the lame behavior. If person 260 dies, the engine 190 calls another '.act' file depicting the person's dying behavior. When the person 260 moves to the designated place, the '.act' file 150 may change the amount of damage that the engine 190 may sustain or the weapon power of the person 260. Other ways in which the behavior of person 260 changes based on the game environment will be apparent 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 figures 260, the action of the figure 260 is controlled by its '.act' file 150, and the '.act' associated with the previous person 260. Based on the data of the file 150, a complex game plot may be generated and progressed through methods of introducing a new person 260. In general, when a certain action occurs in a certain person 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 initiates processing functionality, such that the engine 190 reads the '.act' file 150 and processes a command 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)에 의해 읽혀질 때 발생하게 될 액션을 지정할 수 있다. In one embodiment, each '.act' file 150 consists of 32 bytes of data. In other embodiments, the frames may have different sizes. 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. In one embodiment, the file may be identified by an address offset into the container 160. In addition to the above instructions, other types of instructions may occupy other bytes. Game developers using the authoring tool 130, which will be described later, specify command indicators, file names, and other commands that each frame has, so that each frame can read the action that will occur when the 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) 동안 다수의 실행 트랙을 처리할 수 있다. When the runtime engine 190 executes the '.act' file 150, it can 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 person moved from the initial generation position and the like. In one embodiment, the runtime engine 190 assigns execution tracks to each activity and may 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)들은 동일한 크기로 나타냈지만 이에 한정되지 않는다. 화살표(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. Arrow 310 indicates the frame 300 currently being read by the engine 190. In this case, it can be seen that the engine 190 is reading a different frame for each '.act' file 150. When a plurality of '.act' files 150 are read during the same tick as the engine 190, a plurality of images may be simultaneously displayed on the display 200.

프레임에 나타날 수 있는 명령들 중 하나는 '.pic' 명령이다. 프레임이 하나의 '.pic' 명령을 포함하면, 상기 엔진(190)은 적절한 '.pic' 파일(140)을 검색하고, 디스플레이(200) 상에 상기 '.pic' 파일(140)에 포함된 이미지를 디스플레이한다. '.pic' 파일(140) 내의 이미지들은 하기에서 상세히 설명한다. One of the commands that can appear in a 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 the figure 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 legs are actuated when the fourteen images are sequentially and repeatedly displayed on the 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)의 프레임에서 발생할 수 있다. - 'launch', 'go to', 'if .act go to self', 'damage'. 'delete', 'delete self', 'reload', 'bonus', 'sound stop', 'shoot', 'say', 및 'hear'. 상기 'launch' 명령은 현재 '.act' 파일(150a) 계속 실행되면서 '.act' 파일(150b)의 경우가 실행되도록 한다. 예를 들어, 달리는 모습의 움직임을 묘사하는데 필요한 일련의 '.pic' 명령들을 설명하는 단일 '.act' 파일에 기초하여 달리는 병사의 다수의 경우들이 생성될 수 있다. 실행되는 '.act' 파일(150)의 각 경우는 하나의 활동(activity)이라 불릴 수 있다. 상기 '활동'이란 용어는 상기 엔진(190)에 의해 '.act' 파일(150)의 프레임을 읽어들이는 것을 말할 수도 있다. In one embodiment, the following commands as well as the '.pic' command may occur in a frame of the '.act' file 150. -'launch', 'go to', 'if .act go to self', 'damage'. 'delete', 'delete self', 'reload', 'bonus', 'sound stop', 'shoot', 'say', and 'hear'. 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 person 260 to create another person 260. For example, when the first person 260 dies, the second person 260 may be generated as an example of a support force sent to replace the casualty. This may be done by placing a 'launch' command in the frame of the '.act' file 150a related to the first person 260 to generate a '.act' file 150b related to the second person 260. It is desirable for the body of the first person 260 to be visible while the second person 260 is active. The 'launch' command causes the '.act' file 150a associated with the first person 260 to be active and the '.act' file 150b associated with the second person 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 executes the second activity defined by the second '.act' file 150b in the 'go to' command in the first activity defined by the first '.act' file 150a. 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 be stopped and deleted. In the above example, the 'go to' command may be used when the body is not desired to be visible after the first person 260 dies. If the 'go to' command is used to appear as the second person 260 after the first person 260 dies, the 'go to' command is defined by the '.act' file 150a and associated with the first person 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 example of running a person. 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 the 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 person 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 person 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 on the first floor, the person 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 floor, it is preferable to allow the person 260 to move in the second floor. To implement this, the '.act' file 150a that controls the person 260 causes the person 260 to appear in the first and second layers of instructions that cause the person 260 to move and appear in the first floor. It may include a second set of instructions to cause it to move and appear. The 'act' file 150a may also include an 'if .act go to self' command that checks 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 person 260 starts moving on the first floor, and the '.act' file 150a controlling the person 260 periodically checks whether the 'if .act go to self' command exists. You can run If the object does not exist (ie, the '.act' file 150b controlling the object is not currently active), then the '.act' file 150a controlling the person 260 is the first instruction set. Run it and stay on the first floor. If the object exists (ie, the '.act' file 150b controlling the object is currently active), the '.act' file 150a controlling the person 260 is skipped to the second instruction set. The person 260 jumps to the second floor and appears. This may cause the person 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 can be maintained before the person 260 dies or other actions take place. In addition, the 'damage' command designates an action that occurs when the threshold damage of the person 260 is reached. For example, 20 levels of damage are given to the 'damage' command of the first '.act' file 150a and the person 260 controlled by the first '.act' file 150a has 20 damage. 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 person 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 is valid while the '.act' file 150a is executed unless changed by a subsequent 'damage' command. do. Changing the '.act' file 150 executed upon reaching critical damage may cause the person 260 to die in different ways under different circumstances. For example, the person 260 may have a 'die1' '.act' file 150b that causes the person to fall down on the floor. If the person 260 subsequently moves to a higher position, the 'damage' command may cause the person 260 to die differently. A 'die2' '.act' file 150c may be specified by the 'damage' command to cause the person 260 to fall to the floor in other ways when dying.

상기 '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 having the specified name, and displays the screen 200 as the person 260 controlled by the dependent '.act' file 150. ) To disappear. For example, the person 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 figures 260 or running actions may occur from the 'run3' '.act' file 150. The 'delete' command applied to the 'run3' file name causes all running people 260 or running actions from the 'run3' '.act' file 150 to stop running at the same time, running people 260 or running 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 to avoid collision 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 as the firing made by the virtual player 210, which causes the processing of the second action to exit the loop and process the 'delete self' command. In this case, the person 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 person 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 obtain additional points in some circumstances. Usually, the number of points received by the virtual player 210 is the same as the damage required to kill one person 260. That is, if 20 points of damage are required to kill the person 260, the virtual player 210 gets 20 points each time one person 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 points than the normal score obtained by killing the person 260. FIG. 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 person 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' 명령을 지정한다. 다른 실시예에서는 다른 지표가 사용될 수 있다. 또한 상기 지표는 상기 명령과 연결되는 파일의 유형을 표시한다. 즉, '.pic' 명령이 하나의 프레임에 표시되면, 상기 프레임의 파일 포인터 또는 파일명은 디스플레이되는 '.pic' 파일(140)을 말한다. 만약 'launch' 명령이 프레임에 표시되면, 해당 프레임의 파일 포인터 또는 파일명은 생성되는 '.act' 파일(150)을 말한다. 이와 같은 여러 가지 면모들은 저장 및 메모리 사양의 측면에서 360-3D 게임의 크기를 줄이고 표준 하드웨어 능력을 지닌 이동 장치(180)에서 게임이 실행되도록 채택되고 있다. 각 프레임은 '.act' 데이터 파일에서 하나의 기록(record)으로 간주되는데, 상기 기록의 각 필드는 대표 데이터를 포함하는 것을 알 수 있다. 예를 들어, 제 1 필드는 표시된 명령과 관련된 필드에서 데이터를 지닌 상술한 명령에 관한 것이다. 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. In other embodiments, other indicators may be used. 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 aforementioned command with data in the field associated with the indicated 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 returning to the frame causes the person 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' commands designate the number of pixels moving horizontally and vertically with respect to the position of the person 260 in the previous frame, respectively. In this example where a 10-frame running motion created a running figure of the person 260, the person 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 person 260 moves horizontally with respect to the background.

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

상기 '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 a floor of a character 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 person 260 to designate the amount of damage inflicted when the person 260 fires at the virtual player 210. The game developer may set the power of the weapon to zero when the person 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 person 260. As the control of the depiction of the person 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 at the fifteenth frame, no image is displayed, and 67 millisecond flicker is displayed while the first frame is read back and processed by the engine 190 for display. Appears on 200.

상기 제 14 프레임에서 '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 14th 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 person 260 is being displayed, the initial loop of the current '.act' file 150a is also returned, and another '.act' file 150b is generated and the person 260 is killed. If it is desired to change the required damage, multiple consecutive frames with 'multi' instructions can be used. The first frame is the '.pic' command and the 'multi' command, the second frame is the 'go to' command and the 'multi' command, the third frame is the 'launch' command and the 'multi' command, and the fourth 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, referred to as 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 person 260. Frame 0 may also include 'absolute x', 'absolute y', 'layer', and 'scale' instructions that set the initial position and size of the person 260. As discussed above, frame 0 is defined as' going to frame 0 where the absolute x and / or absolute y positions are defined as frame 0, causing person 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)에 의해 쉽게 지정될 수 있다. 은 컴퓨터로 구현되는 제작 툴(13)의 일 실시예를 도시한 것이다. 일반적으로 상기 제작 툴(130)은 360-3D 게임을 효과적으로 제작할 수 있다. 상기 제작 툴(130)의 특정 실시예를 하기에서 설명하지만, 본 발명은 다른 선택적인 GUI 구성들과 상기 엔진(190) 상에서 실행되는 360-3D 게임을 구성하기 위한 제어들에 적용될 수도 있다. Data constituting 32 bytes in the frame of the '.act' file 150 can be easily specified by the authoring tool 130. Illustrates one embodiment of a computer-implemented production tool 13. In general, the production tool 130 may effectively produce a 360-3D game. Although a particular embodiment of the production 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 production tool 130 may include 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 confirming 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)에서 선택되는 명령에 따라 변경될 수 있다. 본 발명의 실시예에서 '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 exemplary embodiment of the present invention, the 'damage' command is selected and 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 display a text box to specify the power to be applied to the person 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)들을 지정하도록 할 수 있다. 상기 의 실시예에서, '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 above embodiment, if the 'damage' command is selected in the command drop-down box 620, the '.act' file 150 listed in the action text box 640 is the damage threshold that the current person 260 is assigned The '.act' file 150 to be executed when is reached. For example, the action text box 640 may enumerate a '.act' file 150 depicting the person 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)들이 에서 배치된 위치에 나타낼 수 있다. 예를 들어, '.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 path text boxes 650 may be displayed at the position where. 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 person 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 person 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 manner, the person 260 may be made to move the same distance in the frames of all the 'act' files 150.

'Layer'라고 적힌 텍스트 박스(710)는 게임 개발자로 하여금 현재 프레임에 인물이 등장하는 층을 지정하도록 한다. 상기 게임 개발자가 '.act' 파일(150)의 모든 프레임에 동일한 층이 적용되도록 지정하기 위해 복제 버튼(700)은 layer 텍스트 박스(710)와 연결된다. The text box 710 labeled 'Layer' allows the game developer to specify the layer in which the person 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 size of the person 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 may be associated with the scale text box 720 to allow the game developer to specify that the person 260 may 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 occurs automatically on the layer when the scale is adjusted. For example, if the game developer reduces the scale of the person 260 by a certain amount in each frame in order to create a movement toward the background, the layer to which the person 260 belongs is automatically changed by a proportional amount in each frame, thereby Person 260 moves through the 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 person 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 can 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)를 적용한다. A 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 this preferred embodiment, the 360-3D game has three run levels, which can only move to the second and third levels respectively when the player successfully completes the first and second levels. Other embodiments 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 include only those commands that initiate a set of '.act' files 150 of actions that occur when the game's level 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 location and size of person 260 in the emulator. The left and right buttons 881 and 882 move the person 260 horizontally through the emulator 920, and the up and down buttons 883 and 884 move the person 260 vertically. Zoom in and zoom out buttons 885 and 886 increase or decrease the size of person 260. These buttons 880 can be used to quickly set the initial size and position of a person instead of Abs x text box 660, Abs y text box 670, and scale text box 720.

상기 제작 툴(130)은 '.pic' 파일(140) 포맷, '.act' 파일(50)의 생성 및 다른 게임 기술 동작들에 배경 파라미터 및 character.tga 파일들을 포함하는 background.bmp 파일을 제공한다. 상기 제작 툴(130)은 보통 표준 데스크탑 컴퓨터(17) 상에 인스톨되며, 데이터는 표준 키보드 및 마우스를 통해 상기 GUI(500)로 입력될 수 있다. 상기 표준 키보드는 GUI(500)에서 상기 버튼들과 데이터 입력 도구들과 동일하거나 관련된 키들을 가진다. 상기 표준 키보드 상의 키들은 게임 개발자를 위한 기억을 돕기 위해 여러 색으로 코드화되어 있다. append 기능은 '.pic' 및 프레임 데이터와 관련이 있으므로 'append' 키는 두 가지 색을 가질 수 있다. 상기 개발 툴(130)에 익숙한 게임 개발자는 이러한 표준 키보드가 상기 GUI(500)의 제어를 가리키거나 클릭하기 위한 마우스를 사용하는 것보다 빠르다는 것을 알 수 있다. The authoring tool 130 provides a background.bmp file containing background parameters and character.tga files for the '.pic' file 140 format, the creation of the '.act' file 50 and other game technology operations. do. The production tool 130 is usually installed on a standard desktop computer 17, and data can 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 development tool 130 may find that this standard keyboard is faster than using a mouse to point or click on the control 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. Video formats used in computers are generally different from the formats 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 the 360-3D game developed through the production 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 production 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 a conventional video game development method that employs coding staff for programming work 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 production tool 130 supports easy and fast 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 tested directly using the emulation capabilities of the production 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)들에서 명령들 및 명령어들을 실행할 수 있다. 좀 더 빠르고 효율적인 실행을 위해, 상기 런타임 엔진(19)은 이동 장치(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 19 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 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 contain viruses, 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 the virus. .

모든 게임, 이동 장치(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 production tool 130 can be read by any mobile device 180 with the runtime engine 190 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 by floor, and displays it in the appropriate back and forth order. The engine 190 names and maintains tracks of different versions of the figures 260 that are currently active, and registers and maintains tracks of successful launches of the figures 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 a multiplayer game. (The multiplayer game is described in detail below.

상기 엔진(190)은 이전의 발사 등록 방법보다 더 큰 정확성을 제공하는 방법을 통해 상기 가상 플레이어(210)에서 인물(260)로의 성공적인 발사를 등록한다. 도 7에 도시된 바와 같이, 이동 장치(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 person 260 via a method that provides greater accuracy than the previous launch registration method. As shown in FIG. 7, 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 person 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.

도 8은 360-3D 게임에 타격이 등록되는 방법의 일례를 도시하고 있다. 도 8의 (a)에서 3개의 대상이 8X8 픽셀(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)들은 배경 이미지의 일부로 간주된다. 8 shows an example of how a strike is registered in a 360-3D game. In FIG. 8A, 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)에 관련된 데이터를 포함한다. 도 8의 (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. 8B, the memory buffer may be viewed as the silhouette screen 450, where 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 at the data position 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 other than a reduction in stockpile. No 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.

상기 대상이 차지하는 박스의 크기와 모양보다 대상의 실제 크기와 모양에 의해 타격이 결정되므로, 타격을 등록하는 이러한 방법은 기존의 방법들보다 더 큰 정확도를 제공한다. 예를 들어, 도 8의 (a)의 X자 모양의 대상은 (6,6), (6,7), (6,8), (7,6), (7,7), (7,8), (8,6), (8,7) 및 (8,8) 픽셀들에 의해 경계가 이루어 지는 박스를 차지할 수 있다. 이전 방법들에서, 이들 픽셀들은 배경 이미지의 일부이므로 이러한 발사는 타격으로 기록되지 않는다. 또한 상기 엔진(19)은 실루엣 화면(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 object in FIG. 8 (a) is (6,6), (6,7), (6,8), (7,6), (7,7), (7, It can occupy a box bounded by 8), (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 19 may immediately determine the hit target 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 Can be read by the base 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 Java version 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 loaded into the device 180 without the need for testing. do. 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. Can be loaded and executed for 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 person 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 method, images are generated faster than they are stored in memory, so a large amount of memory is not needed. 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 person 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 a '.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 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, rendering of the run-length coded file can be done substantially faster than rendering 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. The 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 done 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, a game developer using the authoring tool 130 may use a 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 production 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 point of view 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 transmitted wirelessly to another 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 positioned at the center of the left and right while the virtual player 210 is rotated, and each virtual player 210 can be rotated 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. Accordingly, each virtual player 210 may shoot toward a person 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 may occur while the same '.act' files 150 are read and executed. It exists. 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 person 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 where the engines 190 on two different devices 180 run 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 players 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 person 260, the first '.act' file 150a controlling the first player 260 may control the second '.act' file that presents the second person 260. 150b may 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 simultaneously 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 person 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 production tool 130 is commonly used for 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 또는 이동 전화상에 디스플레이되는지의 여부에 관계없이 픽셀의 측면에서 동일한 크기로 디스플레이된다. 서로 다른 디스플레이의 다른 크기를 보상하기 위해서, 작은 디스플레이에서는 보이지 않는 큰 디스플레이 상에 별도의 장면 부분이 보이게 된다. Display screens 200 on 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 reduced 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.

이를 도 9에서 도시하였는데, 작고 이동 전화 크기의 디스플레이(460)가 크고 PDA 크기의 디스플레이(470)에 겹쳐져 있다. 이동 전화상에서 게임을 하는 플레이어는 상기 박스(460) 내에서 보이는 장면의 부분만을 보게 될 것이다. PDA 상에서 동일 게임을 하고 동일 방향을 바라보는 플레이어는 상기 박스(460) 내에서 보이는 장면의 부분을 보는 동시에 별도의 장면 부분을 보게 될 것이다. 즉, PDA를 구비한 플레이어는 또한 화면의 상부에 있는 상측 수평 부분(480), 화면 하부에 있는 하측 수평 부분(485), 화면 왼쪽의 수직 부분(490) 및 화면 오른쪽의 수직 부분(495)도 보게 된다. 이러한 별도의 부분들은 상기 화면의 더 큰 시야를 만들어 내기 위해서 작은 디스플레이(460)의 장면과 한결같도록 맞춰진다. 다시 말하면, 상기 작은 디스플레이(460)는 큰 화면(470)의 중앙 부분을 도려낸 것과 같이 보일 수 있다. This is illustrated in FIG. 9, 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 person 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 may be activated areas where characters can enter and exit and action may 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 a device with a large display 470. It may appear in the upper and lower horizontal portions 480 and 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 displays 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 provided. If the entire display area 470 of the first device 180 is active, 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 people 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 remove 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, and the first player can observe the person 260 entering and exiting the parts, but cannot shoot towards the person 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)들의 위치를 판단하는데 도움을 준다. 도 10은 하나의 레이더(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. 10 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 person 260 that changes color or shoots towards the virtual player 210. (In order to distinguish one person 260 from another person 260 currently unable to do damage to the virtual player 210, the person who shoots actively 260 is called an enemy.) For example, the brightly visible sector 950a near the center of the bar 930 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 indicating the enemy's position to indicate that the damage level inflicted on 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 toward 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 inflicted on the virtual player 210 on the radar 280. 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 each player's engine controls the aspect of each player's radar 280.

상술한 바와 같이 본 실시예에서, 컨테이너(160)로 불리는 하나의 파일은 게임 중에 사용되는 모든 '.pic' 파일(140) 및 '.act' 파일(150)들을 포함한다. 또한 상기 컨테이너(160)는 새로운 게임이 시작되거나 새로운 게임 레벨이 도달할 때 실행되는 '.act' 파일(150)들을 지정하는 명령 파일들을 포함한다. 도 11은 일반적인 컨테이너(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. 11 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 figures 260 used in the game and the number of different poses adopted by the figures 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 the Only one set of '.pic' files 140 are represented by the person 260, although how many activities are generated based on a single '.act' file 150 and how many different versions of the person 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 needed that is allocated to the meshes and textures of each separate personage 260. Each '.act' file 150 file uses a pointer to the '.pic' file 140 that depicts the person 260, and as many pointers as desired to the same '.pic' file 140 simultaneously. Can be used. Thus, a number of identical figures 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.

또한 상기 명령 파일(980)들은 각 게임 레벨의 초기에 생성되는 한 세트의 '.act' 파일(150)들만을 포함하므로, 메모리의 최소량만을 소비한다. 이를 고려해 보면, 컨테이너(160)는 이동 장치(180)상의 많은 메모리 공간을 소비하지 않는다는 것을 알 수 있다. 상기 컨테이너(160)는 360-3D 게임의 완전한 지정 및 설명을 포함한다는 것을 알고 있어야 한다. 일반적인 컨테이너(160)는 약 2 내지 3 Mbytes 범위의 메모리를 가진다. 이러한 장치(180)들은 보통 5 Mbytes 이하의 메모리 용량을 가지므로 이는 360-3D 게임이 특별히 향상되지 않은 표준 이동 장치(180)상에서 실행되도록 한다. In addition, the command files 980 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. 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 arranged sequentially 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 production 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 motion 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)의 일례가 도 12에 도시되어 있다. 상기 이동 단말기(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. 12. The mobile terminal 180 may be referred to as a processor 1210 (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 execute instructions, code, computer program, or scripts to access 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) 능력을 가진 어떠한 일반 목적의 컴퓨터에서 구현될 수 있다. 도 13은 본 발명에 개시된 하나 이상의 실시예들에서 구현하기 위한 보통의 일반 목적의 컴퓨터 시스템을 도시하고 있다. 상기 컴퓨터 시스템(1300)은 제 2 저장부(1338)을 포함하는 메모리 장치들과 통신하는 프로세서(1332, 중앙 처리 장치 또는 CPU로 불릴 수도 있다.), 읽기용 기억 장치(1336, ROM: Read Only Memory), 랜덤 엑세스 메모리(1334, RAM: Random Access Memory), 입출력(I/O: Input/Output) 장치(1340) 및 네트워크 연결 장치(1312)를 포함한다. 상기 프로세서(1332)는 하나 이상의 CPU 칩들에서 구현될 수 있다. The fabrication tool 130 described above may be implemented in any general purpose computer having sufficient processing power, memory resources, and network throughput capability to allow the necessary workload to be located. 13 illustrates a general general purpose computer system for implementation in one or more embodiments disclosed herein. The computer system 1300 may also be referred to as a processor 1332 (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 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 during execution of instructions and programs. 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 include a printer, a video monitor, a liquid crystal display (LCD), a touch screen display, a keyboard, a keypad, a switch dial, a mouse, a trackball, a voice recognizer, a card reader, a paper tape reader, Or other well known input devices.

상기 네트워크 연결 장치(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.

상술한 바와 같이 본 발명은 서로 다른 크기의 디스플레이를 구비한 이동 단말기들 상에서 게임을 실행함에 있어, 상기 이동 단말기들 간에 동일한 게임을 동시에 디스플레이하여 진행할 수 있도록 하는 하기 위한 다인용 비디오 게임 시스템 및 방법을 제공할 수 있다.As described above, the present invention provides a multi-player video game system and method for executing a game on mobile terminals having displays of different sizes so as to simultaneously display and play the same game between the mobile terminals. Can provide.

Claims (27)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 이동 단말기들 상의 다인용 게임 방법에 있어서, In the multiplayer game method on mobile terminals, 제1 사용자에 의해 제1 게임을 실행하기 위한 입력 신호들이 제1 이동 장치의 키패드를 통해 입력되는 단계;Input signals for executing the first game by the first user through a keypad of the first mobile device; 상기 제1 이동 장치상의 제1 사용자의 키패드 입력 신호들을 제2 이동 장치로 통신하는 단계;Communicating keypad input signals of a first user on the first mobile device to a second mobile device; 제2 사용자에 의해 각 이동 장치상에 제공되는 상기 제1 게임과 실제로 동일한 제2 게임을 실행하기 위한 입력 신호들이 상기 제2 이동장치의 키패드를 통해 입력되는 단계; 및 Inputting, via a keypad of the second mobile device, input signals for executing a second game that is substantially identical to the first game provided on each mobile device by a second user; And 상기 제2 이동 장치상의 제2 사용자 키패드 입력 신호들을 상기 제1 이동 장치로 통신하는 단계를 포함하되,Communicating second user keypad input signals on the second mobile device to the first mobile device, 상기 제1 및 제2 게임들 사이에서 다인용 게임이 가능하도록 상기 제1 게임은 상기 제2 이동 장치로부터 키패드 입력을 사용하고 상기 제2 게임은 상기 제1 이동 장치로부터 키패드 입력을 사용하고, 상기 제1게임 및 제2게임 실행 중에 상기 제1이동 장치가 상기 제1사용자에 의한 액션과 관련된 정보를 제공하는 제1플레이어 표시기(indicator)를 표시하고, 상기 제2이동 장치가 상기 제2사용자에 의한 액션과 관련된 정보를 제공하는 제2플레이어 표시기를 표시하고, The first game uses keypad input from the second mobile device and the second game uses keypad input from the first mobile device to enable a multiplayer game between the first and second games, During execution of a first game and a second game, the first mobile device displays a first player indicator that provides information related to the action by the first user, and the second mobile device displays the second user. Display a second player indicator that provides information related to the action 상기 제2 이동 장치로 통신되는 상기 제1 이동 장치로부터의 상기 사용자 키패드 입력들은 3 바이트의 데이터로 정의되고, 상기 제1 이동 장치로 통신되는 상기 제2 이동 장치로부터의 상기 사용자 키패드 입력들은 3 바이트의 데이터로 정의되는 것을 특징으로 하는 다인용 게임 방법.The user keypad inputs from the first mobile device communicated to the second mobile device are defined as 3 bytes of data, and the user keypad inputs from the second mobile device communicated to the first mobile device are 3 bytes. Multiplayer game method, characterized in that defined by the data. 삭제delete 이동 단말기용 다인용 게임 시스템에 있어서,In the multiplayer game system for a mobile terminal, 제1 사용자가 제1 이동 단말기 상의 게임을 실행하기 위해 상기 제1 이동 단말기 상에서 작동가능하고, 상기 제1 이동 단말기를 사용하는 상기 제1 사용자에 의한 액션과 관련된 제1 플레이어 표시기(indicator)를 제공하며, 제2 이동 단말기를 사용하는 제2 사용자에 의한 액션과 관련된 제2 플레이어 표시기를 제공하는 게임 구성요소와, Providing a first player indicator that is associated with an action by the first user using a first mobile terminal, the first user being operable on the first mobile terminal to play a game on the first mobile terminal; A game component for providing a second player indicator associated with an action by a second user using a second mobile terminal, 상기 제2 이동 단말기상의 상기 게임을 실행하는 상기 제2 사용자에 의한 게임 실행으로부터의 키패드 입력들과 관련된 데이터를 수신하도록 작동할 수 있고, 상기 제2 이동 장치로부터 수신되는 상기 키패드 입력들을 근거로 상기 제1 이동 장치상의 상기 제2 플레이어 표시기를 업데이트하기 위해 작동할 수 있는 통신 구성요소를 포함하는 것을 특징으로 하는 다인용 게임 시스템.Operable to receive data related to keypad inputs from game play by the second user executing the game on the second mobile terminal, and based on the keypad inputs received from the second mobile device. And a communication component operable to update the second player indicator on the first mobile device. 제9항에 있어서,The method of claim 9, 상기 게임 구성요소는 상기 제2 플레이어 표시기의 마지막으로 알려진 위치에 근거하여 상기 제2 플레이어 표시기를 업데이트하기 위해 동작할 수 있는 것을 특징으로 하는 다인용 게임 시스템. And wherein the game component is operable to update the second player indicator based on a last known position of the second player indicator. 제9항에 있어서,The method of claim 9, 상기 제1 및 제2 플레이어 표시기들 중 적어도 하나는 타깃 구성요소, 포인터 구성요소, 십자형 커서, 조준 표시기(aiming indicator) 및 타깃 십자선(reticle) 중 하나로 정의되는 것을 특징으로 하는 다인용 게임 시스템.Wherein at least one of the first and second player indicators is defined as one of a target component, a pointer component, a crosshair, an aiming indicator and a target reticle. 제11항에 있어서,The method of claim 11, 상기 게임은 일인용 슈팅 게임으로 정의되는 것을 특징으로 하는 다인용 게임 시스템.The game is a multiplayer game system, characterized in that it is defined as a single player shooting game. 제9항에 있어서,The method of claim 9, 상기 게임 구성요소는 세 개 이상의 이동 단말기들을 사용하는 세 명 이상의 사용자들에 의한 액션과 관련된 세 개 이상의 플레이어 표시기들을 제공하기 위해 동작할 수 있고, 상기 세 개 이상의 이동 단말기들 상에 상기 게임을 실행하는 상기 세 명 이상의 사용자들에 의해 게임 실행으로부터 키패드 입력들에 관련된 데이터를 수신하기 위해 동작할 수 있으며, 상기 세 개 이상의 이동 단말기들로부터 수신되는 상기 키패드 입력들에 근거하여 상기 제1 이동 단말기 상의 상기 세 개 이상의 플레이어 표시기들을 업데이트하기 위해 작동될 수 있는 것을 특징으로 하는 다인용 게임 시스템.The game component may be operable to provide three or more player indicators related to an action by three or more users using three or more mobile terminals, and execute the game on the three or more mobile terminals. Operate to receive data related to keypad inputs from a game play by the three or more users, wherein the data on the first mobile terminal is based on the keypad inputs received from the three or more mobile terminals. And operable to update the three or more player indicators. 제9항에 있어서,The method of claim 9, 상기 제2 이동 단말기에서 상기 제1 이동 단말기로의 상기 키패드 입력들은 3 바이트의 데이터로 정의되는 것을 특징으로 하는 다인용 게임 시스템.And the keypad inputs from the second mobile terminal to the first mobile terminal are defined as 3 bytes of data. 삭제delete 삭제delete 삭제delete 다인용 게임 시스템에 있어서,In a multiplayer game system, 제1 컴퓨팅 플랫폼상의 제1 게임,A first game on a first computing platform, 제2 컴퓨팅 플랫폼상의 제2 게임을 포함하되,Include a second game on a second computing platform, 상기 제1 및 제2 게임들은 실제로 동일한 게임이며, 상기 제2 컴퓨팅 플랫폼상의 상기 제2 게임을 실행하는 것과 관련된 제2 사용자 게임 입력들을 수신하기 위해 작동할 수 있는 제1 통신 구성요소, 및The first communication component is actually the same game and is operable to receive second user game inputs related to executing the second game on the second computing platform, and 상기 제1 컴퓨팅 플랫폼상의 상기 제1 게임을 실행하는 것과 관련된 제1 사용자 게임 입력들을 수신하기 위해 작동할 수 있는 제2 통신 구성요소를 포함하되,A second communication component operable to receive first user game inputs associated with executing the first game on the first computing platform, 상기 제1 게임은 상기 제2 컴퓨팅 플랫폼으로부터 상기 제2 사용자 게임 입력들을 사용하여 작동할 수 있고, 상기 제1 및 제2 게임들 사이에서 다인용 게임이 가능하도록 상기 제1 컴퓨팅 플랫폼으로부터 상기 제1 사용자 게임 입력들을 사용하여 작동할 수 있고, 상기 제1게임 및 제2게임 실행 중에 상기 제1컴퓨팅 플랫폼상에서 상기 제1사용자에 의한 액션과 관련된 정보를 제공하는 제1플레이어 표시기(indicator)가 표시되고, 상기 제2컴퓨팅 플랫폼상에서 상기 제2사용자에 의한 액션과 관련된 정보를 제공하는 제2플레이어 표시기가 표시되고, The first game may operate using the second user game inputs from the second computing platform, and the first game from the first computing platform to enable a multiplayer game between the first and second games. A first player indicator that is operable using user game inputs and that provides information related to the action by the first user on the first computing platform during execution of the first game and the second game; A second player indicator is provided on the second computing platform providing information related to the action by the second user, 상기 제1 게임은 상기 제1 컴퓨팅 플랫폼을 사용하여 상기 제1 플레이어 표시기를 상기 제1 컴퓨팅 플랫폼상에 제공하기 위해 작동할 수 있고, 상기 제2 컴퓨팅 플랫폼을 사용하여 상기 제2 플레이어 표시기를 제공하기 위해 작동할 수 있으며, 상기 제1 통신 구성요소는 상기 제2 이동 플랫폼상의 제2 사용자에 의해 게임 실행으로부터 상기 제2 사용자 게임 입력들과 관련된 데이터를 수신하기 위해 작동할 수 있고, 상기 제1 게임은 상기 제2 컴퓨팅 플랫폼으로부터 수신된 상기 제2 사용자 게임 입력들에 근거하여 상기 제1 컴퓨팅 플랫폼상의 상기 제2 플레이어 표시기를 업데이트하기 위해 작동할 수 있는 것을 특징으로 하는 다인용 게임 시스템.The first game may operate to provide the first player indicator on the first computing platform using the first computing platform, and to provide the second player indicator using the second computing platform. The first communication component is operable to receive data related to the second user game inputs from a game execution by a second user on the second mobile platform, and the first game. Is operable to update the second player indicator on the first computing platform based on the second user game inputs received from the second computing platform. 제18항에 있어서,The method of claim 18, 상기 제1 게임은 상기 제2 플레이어 표시기의 마지막으로 알려진 위치를 근거로 상기 제2 플레이어 표시기를 업데이트하기 위해 작동할 수 있는 것을 특징으로 하는 다인용 게임 시스템.And wherein the first game is operable to update the second player indicator based on a last known position of the second player indicator. 제18항에 있어서,The method of claim 18, 상기 제1 및 제2 플레이어 표시기들 중 적어도 하나는 타깃 구성요소, 포인터 구성요소, 십자형 커서, 조준 표시기(aiming indicator) 및 타깃 십자선(reticle) 중 어느 하나로 정의되는 것을 특징으로 하는 다인용 게임 시스템.Wherein at least one of the first and second player indicators is defined as any one of a target component, a pointer component, a crosshair, an aiming indicator and a target reticle. 제18항에 있어서,The method of claim 18, 상기 제1 및 제2 게임들은 1인용 슈팅 게임으로 정의되는 것을 특징으로 하는 다인용 게임 시스템.The first and second games are multiplayer game system, characterized in that it is defined as a single-player shooting game. 삭제delete 삭제delete 다인용 게임 시스템에 있어서,In a multiplayer game system, 제1 컴퓨팅 플랫폼상의 제1 게임,A first game on a first computing platform, 제2 컴퓨팅 플랫폼상의 제2 게임을 포함하되,Include a second game on a second computing platform, 상기 제1 및 제2 게임들은 실제로 동일한 게임이며, 상기 제2 컴퓨팅 플랫폼상의 상기 제2 게임을 실행하는 것과 관련된 제2 사용자 게임 입력들을 수신하기 위해 작동할 수 있는 제1 통신 구성요소, 및The first communication component is actually the same game and is operable to receive second user game inputs related to executing the second game on the second computing platform, and 상기 제1 컴퓨팅 플랫폼상의 상기 제1 게임을 실행하는 것과 관련된 제1 사용자 게임 입력들을 수신하기 위해 작동할 수 있는 제2 통신 구성요소를 포함하되,A second communication component operable to receive first user game inputs associated with executing the first game on the first computing platform, 상기 제1 게임은 상기 제2 컴퓨팅 플랫폼으로부터 상기 제2 사용자 게임 입력들을 사용하여 작동할 수 있고, 상기 제1 및 제2 게임들 사이에서 다인용 게임이 가능하도록 상기 제1 컴퓨팅 플랫폼으로부터 상기 제1 사용자 게임 입력들을 사용하여 작동할 수 있고, 상기 제1게임 및 제2게임 실행 중에 상기 제1컴퓨팅 플랫폼상에서 상기 제1사용자에 의한 액션과 관련된 정보를 제공하는 제1플레이어 표시기(indicator)가 표시되고, 상기 제2컴퓨팅 플랫폼상에서 상기 제2사용자에 의한 액션과 관련된 정보를 제공하는 제2플레이어 표시기가 표시되고, The first game may operate using the second user game inputs from the second computing platform, and the first game from the first computing platform to enable a multiplayer game between the first and second games. A first player indicator that is operable using user game inputs and that provides information related to the action by the first user on the first computing platform during execution of the first game and the second game; A second player indicator is provided on the second computing platform providing information related to the action by the second user, 상기 제1 컴퓨팅 플랫폼은 이동 전화 및 개인용 휴대 정보 단말기 중 어느 하나로 정의되고, 상기 제2 컴퓨팅 플랫폼은 이동 전화 및 개인용 휴대 정보 단말기 중 어느 하나로 정의되며, 상기 제1 및 제2 사용자 게임 입력들은 상, 하, 좌, 우, 중심 키들로 구성되는 다섯 키 입력들 중 어느 하나로 정의되는 것을 특징으로 하는 다인용 게임 시스템.The first computing platform is defined as one of a mobile phone and a personal digital assistant, and the second computing platform is defined as one of a mobile phone and a personal digital assistant. The first and second user game inputs A multiplayer game system, characterized by any one of five key inputs consisting of lower, left, right, and center keys. 삭제delete 삭제delete 삭제delete
KR1020070015049A 2006-03-30 2007-02-13 Multiplayer Video Game System and Method KR100876739B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP07105209A EP1839715B1 (en) 2006-03-30 2007-03-29 Multiplayer video gaming system and method
AT07105209T ATE485085T1 (en) 2006-03-30 2007-03-29 MULTIPLE PLAYER VIDEO GAME SYSTEM AND METHOD
DE602007009887T DE602007009887D1 (en) 2006-03-30 2007-03-29 Multi-player video game system and method
CN2007100915000A CN101049539B (en) 2006-03-30 2007-03-30 Multiplayer video gaming system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/393,240 US20070037625A1 (en) 2005-06-28 2006-03-30 Multiplayer video gaming system and method
US11/393,240 2006-03-30

Publications (2)

Publication Number Publication Date
KR20070098483A KR20070098483A (en) 2007-10-05
KR100876739B1 true KR100876739B1 (en) 2008-12-31

Family

ID=38781266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070015049A KR100876739B1 (en) 2006-03-30 2007-02-13 Multiplayer Video Game System and Method

Country Status (4)

Country Link
KR (1) KR100876739B1 (en)
CN (1) CN101049539B (en)
AT (1) ATE485085T1 (en)
DE (1) DE602007009887D1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8562401B2 (en) 2010-06-10 2013-10-22 Cfph, Llc Amusement devices and games involving head to head play
JP7124624B2 (en) * 2018-10-12 2022-08-24 トヨタ自動車株式会社 entertainment systems and programs
TWI697848B (en) * 2018-11-15 2020-07-01 智崴資訊科技股份有限公司 Somatosensory game system for multiplayer connection games and its method
CN112700519A (en) * 2020-12-30 2021-04-23 广州方硅信息技术有限公司 Animation display method and device, electronic equipment and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001104651A (en) * 1999-08-05 2001-04-17 Samsung Electronics Co Ltd Network game function materializing method using cellular phone
JP2001129260A (en) 1999-11-08 2001-05-15 Konami Co Ltd Game system
JP2005100115A (en) 2003-09-25 2005-04-14 Konami Co Ltd Game program and game device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5618045A (en) * 1995-02-08 1997-04-08 Kagan; Michael Interactive multiple player game system and method of playing a game between at least two players
US6416410B1 (en) * 1999-12-03 2002-07-09 Nintendo Co., Ltd. Data compression/decompression based on pattern and symbol run length encoding for use in a portable handheld video game system
KR20100018100A (en) * 2001-05-09 2010-02-16 가부시키가이샤 세가 Game server apparatus
JP3496150B1 (en) * 2002-09-30 2004-02-09 コナミ株式会社 GAME SYSTEM, GAME SYSTEM CONTROL METHOD AND PROGRAM
CN1698920A (en) * 2004-05-20 2005-11-23 泰伟电子股份有限公司 Regional multi-person line-connecting game method and apparatus therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001104651A (en) * 1999-08-05 2001-04-17 Samsung Electronics Co Ltd Network game function materializing method using cellular phone
JP2001129260A (en) 1999-11-08 2001-05-15 Konami Co Ltd Game system
JP2005100115A (en) 2003-09-25 2005-04-14 Konami Co Ltd Game program and game device

Also Published As

Publication number Publication date
ATE485085T1 (en) 2010-11-15
CN101049539B (en) 2011-01-12
KR20070098483A (en) 2007-10-05
DE602007009887D1 (en) 2010-12-02
CN101049539A (en) 2007-10-10

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
CN113398601B (en) Information transmission method, information transmission device, computer-readable medium, and apparatus
JP2024519019A (en) Interface display method, device, equipment, and computer program
US20230072503A1 (en) Display method and apparatus for virtual vehicle, device, and storage medium
CN112973117B (en) Interaction method of virtual objects, reward issuing method, device, equipment and medium
JP2022540277A (en) VIRTUAL OBJECT CONTROL METHOD, APPARATUS, TERMINAL AND COMPUTER PROGRAM
WO2022095672A1 (en) Screen display method and apparatus, device and storage medium
US20230033530A1 (en) Method and apparatus for acquiring position in virtual scene, device, medium and program product
WO2022237420A1 (en) Control method and apparatus for virtual object, device, storage medium, and program product
CN111905363A (en) Virtual object control method, device, terminal and storage medium
KR100876739B1 (en) Multiplayer Video Game System and Method
CN113559510A (en) Virtual skill control method, device, equipment and computer readable storage medium
CN113680060A (en) Virtual picture display method, device, equipment, medium and computer program product
KR100895170B1 (en) Method and mobile terminal for playing video game thereof system
CN112121432B (en) Control method, device and equipment of virtual prop and computer readable storage medium
CN115645923A (en) Game interaction method and device, terminal equipment and computer-readable storage medium
WO2022237446A1 (en) Method and apparatus for controlling virtual object, and device, storage medium and program product
CN115634449A (en) Method, device, equipment and product for controlling virtual object in virtual scene
CN112057859B (en) Virtual object control method, device, terminal and storage medium
EP1839715B1 (en) Multiplayer video gaming system and method
EP1839716A1 (en) Mobile handset video game system and method
CN113769392A (en) State processing method and device for virtual scene, electronic equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161129

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171129

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181129

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191128

Year of fee payment: 12