KR20210094149A - Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay - Google Patents
Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay Download PDFInfo
- Publication number
- KR20210094149A KR20210094149A KR1020217023036A KR20217023036A KR20210094149A KR 20210094149 A KR20210094149 A KR 20210094149A KR 1020217023036 A KR1020217023036 A KR 1020217023036A KR 20217023036 A KR20217023036 A KR 20217023036A KR 20210094149 A KR20210094149 A KR 20210094149A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- gameplay
- game
- video
- selection
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 158
- 238000012545 processing Methods 0.000 claims description 75
- 230000004044 response Effects 0.000 claims description 16
- 230000006855 networking Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 description 30
- 230000000977 initiatory effect Effects 0.000 description 22
- 238000013473 artificial intelligence Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 19
- 230000033001 locomotion Effects 0.000 description 17
- 230000000875 corresponding effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000003860 storage Methods 0.000 description 13
- 230000002123 temporal effect Effects 0.000 description 13
- 230000009471 action Effects 0.000 description 12
- 239000003550 marker Substances 0.000 description 12
- 238000004458 analytical method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 230000002195 synergetic effect Effects 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000009966 trimming Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008713 feedback mechanism Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/85—Providing additional services to players
- A63F13/88—Mini-games executed independently while main games are being loaded
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
- A63F13/49—Saving the game status; Pausing or ending the game
- A63F13/497—Partially or entirely replaying previous game actions
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
- A63F13/47—Controlling the progress of the video game involving branching, e.g. choosing one of several possible scenarios at a given point in time
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
- A63F13/49—Saving the game status; Pausing or ending the game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling 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/533—Controlling 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 for prompting the player, e.g. by displaying a game menu
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/69—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/73—Authorising game programs or game devices, e.g. checking authenticity
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
- A63F13/795—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/85—Providing additional services to players
- A63F13/87—Communicating with other players during game play, e.g. by e-mail or chat
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4781—Games
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features 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/55—Details of game data or player data management
- A63F2300/5526—Game data structure
- A63F2300/554—Game data structure by saving game or status data
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features 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/57—Features 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 details of game services offered to the player
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Optics & Photonics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Display Devices Of Pinball Game Machines (AREA)
- Pinball Game Machines (AREA)
- Processing Or Creating Images (AREA)
- Details Of Television Systems (AREA)
- Selective Calling Equipment (AREA)
Abstract
비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 방법이 제공된다. 비디오 게임의 풀 버전의 사용자의 게임플레이가 레코딩된다. 사용자의 레코딩된 게임플레이는 관심 있는 영역을 결정하도록 분석된다. 결정된 관심 있는 영역에 기반하여 비디오 게임의 게임플레이 맥락 내 경계가 정의된다. 비디오 게임의 제한된 버전이 정의된 경계들에 기반하여 발생된다.A method is provided for generating a playable restricted version of a video game. The user's gameplay of the full version of the video game is recorded. The user's recorded gameplay is analyzed to determine areas of interest. Boundaries within the gameplay context of the video game are defined based on the determined region of interest. A limited version of the video game is generated based on defined boundaries.
Description
본 발명은 레코딩된 게임플레이에 기반하여 제안된 미니-게임의 자동 발생, 레코딩된 게임플레이에 기반하여 클라우드-게이밍을 위한 멀티-파트 미니-게임의 발생, 레코딩된 게임플레이를 소셜 그래프에 공유, 및 제2 사용자에 의한 제1 사용자의 게임플레이의 원격 제어를 위한 방법 및 시스템에 관한 것이다.The present invention provides automatic generation of suggested mini-games based on recorded gameplay, generation of multi-part mini-games for cloud-gaming based on recorded gameplay, sharing recorded gameplay to social graphs, and a method and system for remote control of a first user's gameplay by a second user.
비디오 게임 산업은 수년에 걸쳐 많은 변화를 보았다. 컴퓨팅 능력이 확장되었으므로, 비디오 게임의 개발자는 마찬가지로 컴퓨팅 능력에서의 이들 증가를 이용하는 게임 소프트웨어를 창작하였다. 이러한 목적으로, 비디오 게임 개발자는 매우 실감나는 게임 체험을 산출하도록 정교한 연산 및 수학을 편입시키는 게임을 코딩해 오고 있다.The video game industry has seen many changes over the years. As computing power has expanded, developers of video games have likewise created game software that takes advantage of these increases in computing power. For this purpose, video game developers have been coding games that incorporate sophisticated computation and mathematics to produce highly immersive gaming experiences.
예시적 게이밍 플랫폼은, 소니(Sony) 플레이스테이션(Playstation)(등록상표), 소니(Sony) 플레이스테이션2(Playstation2)(등록상표)(PS2), 및 소니(Sony) 플레이스테이션3(Playstation3)(등록상표)(PS3)일 수 있고, 그 각각은 게임 콘솔의 형태로 팔린다. 주지되어 있는 바와 같이, 게임 콘솔은 모니터(통상 텔레비전)에 접속하여 핸드헬드 컨트롤러를 통한 사용자 대화를 가능하게 하도록 설계된다. 게임 콘솔은, CPU, 프로세싱 집약적 그래픽 연산을 위한 그래픽 합성기, 기하학적 변환을 수행하기 위한 벡터 유닛, 및 다른 글루 하드웨어를 포함하는 전문 프로세싱 하드웨어, 펌웨어 및 소프트웨어를 갖게 설계된다. 게임 콘솔은 게임 콘솔을 통한 로컬 플레이를 위해 게임 콤팩트 디스크를 수용하기 위한 광학 디스크 트레이를 갖게 더 설계된다. 사용자가 인터넷을 통하여 다른 사용자와 맞서 또는 함께 대화형 플레이할 수 있는 온라인 게이밍 또한 가능하다. 게임 복잡도가 플레이어의 흥미를 계속 불러일으키므로, 게임 및 하드웨어 제조자는 부가적 대화성 및 컴퓨터 프로그램을 가능하게 하도록 계속 혁신하여 왔다.Exemplary gaming platforms include: Sony Playstation(R), Sony Playstation2(R)(PS2), and Sony Playstation3(R) ( (PS3), each sold in the form of a game console. As is well known, game consoles are designed to connect to a monitor (usually a television) and enable user interaction via a handheld controller. Game consoles are designed with specialized processing hardware, firmware and software including a CPU, a graphics synthesizer for processing intensive graphics operations, a vector unit for performing geometric transformations, and other glue hardware. The game console is further designed to have an optical disc tray for receiving a game compact disc for local play through the game console. Online gaming is also possible, where users can play interactively against or with other users via the Internet. As game complexity continues to arouse the interest of players, game and hardware manufacturers continue to innovate to enable additional interactivity and computer programs.
컴퓨터 게이밍 산업에서 성장하는 동향은 사용자와 게이밍 시스템 간 대화를 증가시키는 게임을 개발하는 것이다. 더 풍부한 대화형 체험을 성취하는 하나의 방식은 플레이어의 움직임을 추적하고 이들 움직임을 게임을 위한 입력으로서 사용하기 위하여 그 움직임이 게이밍 시스템에 의해 추적되는 무선 게임 컨트롤러를 사용하는 것이다. 일반적으로 말하면, 제스처 입력은 컴퓨팅 시스템, 비디오 게임 콘솔, 스마트 기기 등과 같은 전자 디바이스를 플레이어에 의해 이루어지고 전자 디바이스에 의해 캡처링되는 소정 제스처에 반응시키는 것을 지칭한다.A growing trend in the computer gaming industry is to develop games that increase the conversation between the user and the gaming system. One way to achieve a richer interactive experience is to use a wireless game controller whose movements are tracked by the gaming system to track the player's movements and use those movements as input for the game. Generally speaking, gesture input refers to reacting an electronic device, such as a computing system, video game console, smart appliance, etc., to a certain gesture made by a player and captured by the electronic device.
산업계에서 성장하는 다른 동향은 클라우드-기반 게이밍 시스템의 개발을 포함한다. 그러한 시스템은 게임 애플리케이션을 실행하고, 그리고 사용자로부터 입력을 수신하고 디스플레이 상에 비디오를 렌더링하도록 구성될 수 있는 로컬 씬 클라이언트와 통신하는 원격 프로세싱 서버를 포함할 수 있다.Another growing trend in the industry includes the development of cloud-based gaming systems. Such a system may include a remote processing server that executes a gaming application and communicates with a local thin client that may be configured to receive input from a user and render video on a display.
그것이 본 발명의 실시예가 생기는 이러한 맥락 내에 있다.It is within this context in which embodiments of the invention arise.
본 발명의 실시예는 레코딩된 게임플레이에 기반하여 제안된 미니-게임의 자동 발생, 레코딩된 게임플레이에 기반하여 클라우드-게이밍을 위한 멀티-파트 미니-게임의 발생, 레코딩된 게임플레이를 소셜 그래프에 공유, 및 제2 사용자에 의한 제1 사용자의 게임플레이의 원격 제어를 위한 방법 및 시스템을 제공한다. 본 발명은, 프로세스, 장치, 시스템, 디바이스, 또는 컴퓨터 판독가능한 매체 상의 방법과 같은, 수많은 방식으로 구현될 수 있음을 인식하여야 한다. 본 발명의 수개의 진보적 실시예가 아래에 설명된다.Embodiments of the present invention provide automatic generation of suggested mini-games based on recorded gameplay, generation of multi-part mini-games for cloud-gaming based on recorded gameplay, and social graphing of recorded gameplay A method and system for sharing, and remote control of a first user's gameplay by a second user. It should be appreciated that the invention may be embodied in numerous ways, such as as a process, apparatus, system, device, or method on a computer-readable medium. Several inventive embodiments of the present invention are described below.
일 실시예에 있어서는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 방법으로서, 이하의 방법 연산: 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하는 연산; 관심 있는 영역을 결정하도록 사용자의 레코딩된 게임플레이를 분석하는 연산; 결정된 관심 있는 영역에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 연산; 및 정의된 경계들에 기반하여 비디오 게임의 제한된 버전을 발생시키는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In one embodiment, there is provided a method for generating a playable restricted version of a video game, the method operation comprising: recording a user's gameplay of a full version of the video game; analyzing the user's recorded gameplay to determine areas of interest; an operation that defines boundaries within the gameplay context of the video game based on the determined region of interest; and generating a limited version of the video game based on the defined boundaries, the method being executed by the processor.
다른 일 실시예에 있어서는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 방법으로서, 이하의 방법 연산: 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하는 연산; 관심 있는 영역을 결정하도록 사용자의 레코딩된 게임플레이를 분석하는 연산; 선택을 위해 관심 있는 영역의 각각을 제시하는 연산; 선택된 관심 있는 영역을 나타내는 선택 입력을 수신하는 연산; 선택된 관심 있는 영역에 대해, 선택된 관심 있는 영역에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 연산; 및 정의된 경계들에 기반하여 비디오 게임의 제한된 버전을 발생시키는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In another embodiment, there is provided a method for generating a playable limited version of a video game, the method operation comprising: recording a user's gameplay of a full version of the video game; analyzing the user's recorded gameplay to determine areas of interest; an operation that presents each of the regions of interest for selection; an operation for receiving a selection input representing a selected region of interest; an operation for defining, for the selected region of interest, boundaries within the gameplay context of the video game based on the selected region of interest; and generating a limited version of the video game based on the defined boundaries, the method being executed by the processor.
다른 일 실시예에 있어서는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 방법으로서, 이하의 방법 연산: 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하는 연산으로서, 사용자 입력 데이터 또는 게임 상태 데이터 중 하나 이상을 레코딩하는 연산을 포함하는 사용자의 게임플레이를 레코딩하는 연산; 하나 이상의 관심 있는 영역을 결정하도록 사용자의 레코딩된 게임플레이를 분석하는 연산으로서, 각각의 관심 있는 영역은 하나 이상의 임계치에 대한 대응에 기반하여 자동으로 식별되는 분석하는 연산; 선택을 위해 관심 있는 영역의 각각을 제시하는 연산; 선택된 관심 있는 영역을 나타내는 선택 입력을 수신하는 연산; 선택된 관심 있는 영역에 대해, 선택된 관심 있는 영역에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 연산; 정의된 경계들에 기반하여 비디오 게임의 제한된 버전을 발생시키는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In another embodiment, there is provided a method for generating a playable limited version of a video game, the method operation comprising: recording user's gameplay of a full version of a video game, either user input data or game state data an operation for recording a user's gameplay, including operations for recording one or more; an operation of analyzing the user's recorded gameplay to determine one or more regions of interest, wherein each region of interest is automatically identified based on a correspondence to one or more thresholds; an operation that presents each of the regions of interest for selection; an operation for receiving a selection input representing a selected region of interest; an operation for defining, for the selected region of interest, boundaries within the gameplay context of the video game based on the selected region of interest; A method is provided, comprising an operation that generates a limited version of the video game based on defined boundaries, the method being executed by a processor.
일 실시예에 있어서는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 방법으로서, 이하의 방법 연산: 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하는 연산; 사용자의 레코딩된 게임플레이의 복수의 사용자-정의된 부분을 결정하는 연산; 각각의 사용자-정의된 부분에 대해, 사용자-정의된 부분에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하고, 정의된 경계들에 기반하여 비디오 게임의 플레이가능한 부분을 발생시키는 연산; 비디오 게임의 제한된 버전을 정의하도록 비디오 게임의 플레이가능한 부분의 각각을 시리즈로 배열하는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In one embodiment, there is provided a method for generating a playable restricted version of a video game, the method operation comprising: recording a user's gameplay of a full version of the video game; an operation that determines a plurality of user-defined portions of the user's recorded gameplay; for each user-defined portion, defining boundaries within the gameplay context of the video game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; A method is provided, comprising the operation of arranging each of the playable portions of the video game in a series to define a limited version of the video game, the method being executed by a processor.
다른 일 실시예에 있어서는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 프로그램 명령어가 구체화되어 있는 유형적 컴퓨터 판독가능한 매체로서, 이하의 명령어: 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하기 위한 프로그램 명령어; 사용자의 레코딩된 게임플레이의 복수의 사용자-정의된 부분을 결정하기 위한 프로그램 명령어; 각각의 사용자-정의된 부분에 대해, 사용자-정의된 부분에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하고, 정의된 경계들에 기반하여 비디오 게임의 플레이가능한 부분을 발생시키기 위한 프로그램 명령어; 비디오 게임의 제한된 버전을 정의하도록 비디오 게임의 플레이가능한 부분의 각각을 시리즈로 배열하기 위한 프로그램 명령어를 포함하는 매체가 제공된다.In another embodiment, there is provided a tangible computer readable medium embodied on program instructions for generating a playable limited version of a video game, the instructions comprising: a program for recording gameplay of a user of a full version of the video game command; program instructions for determining a plurality of user-defined portions of the user's recorded gameplay; program instructions for, for each user-defined portion, defining boundaries within a gameplay context of the video game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; A medium is provided containing program instructions for arranging each of the playable portions of the video game in series to define a limited version of the video game.
다른 일 실시예에 있어서는, 시스템으로서: 적어도 하나의 서버 컴퓨팅 디바이스를 포함하고, 적어도 하나의 서버 컴퓨팅 디바이스는, 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하기 위한 로직; 사용자의 레코딩된 게임플레이의 복수의 사용자-정의된 부분을 결정하기 위한 로직; 각각의 사용자-정의된 부분에 대해, 사용자-정의된 부분에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하고, 정의된 경계들에 기반하여 비디오 게임의 플레이가능한 부분을 발생시키기 위한 로직; 비디오 게임의 제한된 버전을 정의하도록 비디오 게임의 플레이가능한 부분의 각각을 시리즈로 배열하기 위한 로직을 포함하는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 로직을 갖는 시스템이 제공된다.In another embodiment, a system includes: at least one server computing device, the at least one server computing device comprising: logic for recording gameplay of a user of a full version of a video game; logic for determining a plurality of user-defined portions of the user's recorded gameplay; logic for, for each user-defined portion, defining boundaries within a gameplay context of the video game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; A system with logic for generating a playable limited version of a video game is provided, comprising logic for arranging each of the playable portions of the video game in a series to define a limited version of the video game.
일 실시예에 있어서는, 레코딩된 게임플레이를 소셜 그래프에 공유하기 위한 방법으로서, 이하의 방법 연산: 게임플레이 세션의 활동 상태 동안 사용자의 게임플레이의 비디오를 레코딩하는 연산; 게임플레이 세션의 활동 상태 동안 공유하는 연산을 개시하는 커맨드를 수신하는 연산; 커맨드를 수신하는 것에 응답하여, 게임플레이 세션의 휴지 상태에 들어가고 공유하는 인터페이스를 제시하는 연산; 레코딩된 비디오의 사용자-정의된 선택을 결정하도록 공유하는 인터페이스를 통하여 수신된 입력을 프로세싱하는 연산; 레코딩된 비디오의 사용자-정의된 선택을 사용자의 소셜 그래프에 공유하는 연산; 게임플레이 세션의 활동 상태를 재개하는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In one embodiment, there is provided a method for sharing recorded gameplay to a social graph, comprising the following method operations: recording a video of a user's gameplay during an active state of a gameplay session; an operation that receives a command to initiate a shared operation during an active state of a gameplay session; in response to receiving the command, entering an idle state of the gameplay session and presenting a sharing interface; processing input received via the sharing interface to determine a user-defined selection of recorded video; an operation to share a user-defined selection of recorded video to the user's social graph; A method is provided, comprising an operation for resuming an active state of a gameplay session, wherein the method is executed by a processor.
다른 일 실시예에 있어서는, 레코딩된 게임플레이를 소셜 그래프에 공유하기 위한 방법으로서, 이하의 방법 연산: 게임플레이 세션의 활동 상태 동안 사용자의 게임플레이의 비디오를 레코딩하는 연산; 게임플레이 세션의 활동 상태 동안 공유하는 연산을 개시하는 커맨드를 수신하는 연산; 커맨드를 수신하는 것에 응답하여, 레코딩된 비디오의 사용자-정의된 선택을 결정하는 연산; 레코딩된 비디오의 사용자-정의된 선택을 사용자의 소셜 그래프에 공유하는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In another embodiment, there is provided a method for sharing recorded gameplay to a social graph, comprising the following method operations: recording a video of a user's gameplay during an active state of a gameplay session; an operation that receives a command to initiate a shared operation during an active state of a gameplay session; in response to receiving the command, determining a user-defined selection of recorded video; A method is provided, comprising the operation of sharing a user-defined selection of recorded video to a user's social graph, wherein the method is executed by a processor.
다른 일 실시예에 있어서는, 레코딩된 게임플레이를 소셜 그래프에 공유하기 위한 프로그램 명령어가 정의되어 있는 비-일시적 컴퓨터 판독가능한 매체가 제공된다. 프로그램 명령어는: 게임플레이 세션의 활동 상태 동안 사용자의 게임플레이의 비디오를 레코딩하기 위한 프로그램 명령어; 게임플레이 세션의 활동 상태 동안 공유하는 연산을 개시하는 커맨드를 수신하기 위한 프로그램 명령어; 커맨드를 수신하는 것에 응답하여, 레코딩된 비디오의 사용자-정의된 선택을 결정하기 위한 프로그램 명령어; 레코딩된 비디오의 사용자-정의된 선택을 사용자의 소셜 그래프에 공유하기 위한 프로그램 명령어를 포함한다.In another embodiment, a non-transitory computer readable medium having program instructions defined for sharing recorded gameplay to a social graph is provided. The program instructions include: program instructions for recording a video of a user's gameplay during an active state of a gameplay session; program instructions for receiving a command to initiate a shared operation during an active state of a gameplay session; program instructions for determining, in response to receiving the command, a user-defined selection of recorded video; program instructions for sharing a user-defined selection of recorded video to a user's social graph.
일 실시예에 있어서는, 사용자의 게임플레이의 원격 제어를 제공하기 위한 방법으로서, 이하의 방법 연산: 제1 사용자의 게임플레이의 라이브 비디오 피드를 원격의 제2 사용자에게 제시하는 연산; 제1 사용자의 게임플레이의 제어를 제2 사용자에게 이행하는 요청을 프로세싱하는 연산; 제2 사용자에 의한 제1 사용자의 게임플레이의 제어를 개시하는 연산을 포함하되, 방법은 적어도 하나의 프로세서에 의해 실행되는 방법이 제공된다.In one embodiment, there is provided a method for providing remote control of a user's gameplay, the method operation comprising: presenting a live video feed of a first user's gameplay to a remote second user; processing a request to transfer control of the first user's gameplay to the second user; A method is provided, comprising an operation that initiates control of gameplay of a first user by a second user, the method being executed by at least one processor.
다른 일 실시예에 있어서는, 멀티플레이어 게임플레이를 제공하기 위한 방법으로서, 이하의 방법 연산: 제1 사용자의 게임플레이 세션의 라이브 비디오 피드를 원격의 제2 사용자에게 제시하는 연산; 제2 사용자가 제1 사용자의 게임플레이 세션에 합류하는 요청을 프로세싱하는 연산; 제1 사용자의 게임플레이 세션에서 제2 사용자에 의한 게임플레이를 개시하는 연산을 포함하되, 방법은 적어도 하나의 프로세서에 의해 실행되는 방법이 제공된다.In another embodiment, there is provided a method for providing multiplayer gameplay comprising the following method operations: presenting a live video feed of a gameplay session of a first user to a remote second user; processing a request for a second user to join a gameplay session of the first user; A method is provided, comprising the operation of initiating gameplay by a second user in a gameplay session of a first user, the method being executed by at least one processor.
다른 일 실시예에 있어서는, 사용자의 게임플레이의 원격 제어를 제공하기 위한 프로그램 명령어가 구체화되어 있는 비-일시적 컴퓨터 판독가능한 매체가 제공되며, 프로그램 명령어는: 제1 사용자의 게임플레이의 라이브 비디오 피드를 원격의 제2 사용자에게 제시하기 위한 프로그램 명령어; 제1 사용자의 게임플레이의 제어를 제2 사용자에게 이행하는 요청을 프로세싱하기 위한 프로그램 명령어; 제2 사용자에 의한 제1 사용자의 게임플레이의 제어를 개시하기 위한 프로그램 명령어를 포함한다.In another embodiment, a non-transitory computer readable medium embodied in program instructions for providing remote control of a user's gameplay is provided, the program instructions comprising: a live video feed of a first user's gameplay program instructions for presentation to a remote second user; program instructions for processing a request to transfer control of gameplay of a first user to a second user; program instructions for initiating control of the first user's gameplay by the second user.
본 발명의 다른 태양은 본 발명의 원리를 예로서 예시하는 수반 도면과 함께 취해지는 이하의 상세한 설명으로부터 명백하게 될 것이다.Other aspects of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
본 발명은 수반 도면과 함께 취해지는 이하의 설명을 참조하여 가장 잘 이해될 수 있다:
도 1a는, 본 발명의 실시예에 따라, 사용자가 클라우드-기반 비디오 게임을 플레이하는 것의 예시도;
도 1b는 다수 장소 내 다수 사용자가 클라우드-기반 비디오 게임의 게임플레이에 참여한 것의 예시도;
도 2a는, 본 발명의 일 실시예에 따라, 클라우드 게이밍을 위한 시스템의 예시도;
도 2b는, 본 발명의 실시예에 따라, 다양한 세대의 게이밍 콘솔에 걸친 게임 타이틀의 누적의 개념적 예시도;
도 3은, 본 발명의 일 실시예에 따라, 사용자에게 게임 데모를 제공하기 위한 방법의 예시도;
도 4a는, 본 발명의 일 실시예에 따라, 비디오게임의 다양한 부분의 계층적 조직의 예시도;
도 4b는, 본 발명의 일 실시예에 따라, 미니게임 또는 게임 슬라이스의 발생을 위해 게임플레이 타임라인의 일부를 선택하기 위한 인터페이스의 예시도;
도 4c는, 본 발명의 일 실시예에 따라, 미니게임의 발생을 위해 게임플레이 타임라인의 일부를 선택하기 위한 인터페이스의 예시도;
도 5는, 본 발명의 일 실시예에 따라, 기존 클라우드-기반 비디오게임으로부터 미니게임을 발생시키기 위한 방법을 실증하는 일련의 스크린샷의 예시도;
도 6은, 본 발명의 일 실시예에 따라, 게임 슬라이스 코드를 발생시키기 위한 시스템의 예시도;
도 7a는, 본 발명의 일 실시예에 따라, 비디오 게임의 게임 슬라이스를 발생시키려는 목적으로 가상 공간의 수정의 예시도;
도 7b는, 본 발명의 실시예에 따라, 게임 슬라이스를 발생시키려는 목적으로 장면 그래프의 수정의 예시도;
도 8은, 본 발명의 일 실시예에 따라, 게임 슬라이스를 발생시키기 위한 방법의 예시도;
도 9a는, 본 발명의 일 실시예에 따라, 다양한 게임 타이틀과 연관된 게임 슬라이스를 브라우징하기 위한 인터페이스의 예시도;
도 9b는, 본 발명의 일 실시예에 따라, 게임 슬라이스 정보 페이지의 예시도;
도 10은, 본 발명의 일 실시예에 따라, 클라우드 게이밍 소셜 네트워크 내 친구의 라이브 뷰를 포함하는, 사용자의 계정 정보의 뷰의 예시도;
도 11은, 본 발명의 일 실시예에 따라, 현재 사용자의 친구의 라이브 게임플레이 피드를 제시하기 위한 방법의 예시도;
도 12는, 본 발명의 일 실시예에 따라, 소셜 네트워크 및 클라우드 게이밍 시스템을 포함하는 시스템의 예시도;
도 13은, 본 발명의 실시예에 따라, 시간에 걸친 다양한 게임 상태 변수를 예시하는 그래프;
도 14a는, 본 발명의 일 실시예에 따라, 선형 유형 비디오게임에 대한 게임 슬라이스를 발생시키기 위한 방법의 예시도;
도 14b는, 본 발명의 일 실시예에 따라, 오픈 월드 유형 비디오게임에 대한 게임 슬라이스를 발생시키기 위한 방법의 예시도;
도 14c는, 본 발명의 일 실시예에 따라, 스포츠 비디오게임에 대한 게임 슬라이스를 발생시키기 위한 방법의 예시도;
도 15는, 본 발명의 일 실시예에 따라, 멀티-게임 슬라이스 게임의 형성의 개념적 예시도;
도 16은, 본 발명의 일 실시예에 따라, 멀티-게임 슬라이스 게임의 발생의 개념적 예시도;
도 17은, 본 발명의 일 실시예에 따라, 게임플레이를 공유하기 위한 인터페이스의 예시도;
도 18은, 본 발명의 일 실시예에 따라, 공유를 위해 레코딩된 게임플레이 비디오의 일부를 선택하기 위한 인터페이스(1800)의 예시도;
도 19는, 본 발명의 일 실시예에 따라, 사용자의 게임플레이의 라이브 비디오 스트림을 보기 위한 인터페이스(1900)의 예시도;
도 20은, 본 발명의 일 실시예에 따라, 비디오 게임과의 대화성을 제공하도록 사용될 수 있는 사용자 인터페이스 및 하드웨어의 예시도;
도 21은, 본 발명의 일 실시예에 따라, 명령어를 프로세싱하도록 사용될 수 있는 부가적 하드웨어의 예시도;
도 22는, 본 발명의 일 실시예에 따라, 인터넷을 통하여 서버 프로세싱에 접속되는 게임 클라이언트(1102)와 각각의 사용자(A) 내지 사용자(E)가 대화하고 있는 장면(A) 내지 장면(E)의 일례의 예시도; 및
도 23은 정보 서비스 제공자 아키텍처의 일 실시예의 예시도.BRIEF DESCRIPTION OF THE DRAWINGS The present invention may be best understood by reference to the following description taken in conjunction with the accompanying drawings:
1A is an illustration of a user playing a cloud-based video game, in accordance with an embodiment of the present invention;
1B is an illustration of multiple users in multiple venues engaging in gameplay of a cloud-based video game;
2A is an illustration of a system for cloud gaming, in accordance with an embodiment of the present invention;
2B is a conceptual illustration of the accumulation of game titles across various generations of gaming consoles, in accordance with an embodiment of the present invention;
3 is an exemplary diagram of a method for providing a game demo to a user, in accordance with an embodiment of the present invention;
4A is an illustration of a hierarchical organization of various portions of a videogame, in accordance with an embodiment of the present invention;
4B is an illustration of an interface for selecting a portion of a gameplay timeline for generation of a minigame or game slice, in accordance with an embodiment of the present invention;
4C is an illustration of an interface for selecting a portion of a gameplay timeline for generation of a minigame, in accordance with an embodiment of the present invention;
5 is an illustrative series of screenshots demonstrating a method for generating a minigame from an existing cloud-based videogame, in accordance with an embodiment of the present invention;
6 is an exemplary diagram of a system for generating game slice codes, in accordance with an embodiment of the present invention;
7A is an illustration of a modification of a virtual space for the purpose of generating a game slice of a video game, in accordance with an embodiment of the present invention;
7B is an illustration of a modification of a scene graph for the purpose of generating a game slice, in accordance with an embodiment of the present invention;
8 is an illustration of a method for generating a game slice, in accordance with an embodiment of the present invention;
9A is an illustration of an interface for browsing game slices associated with various game titles, in accordance with an embodiment of the present invention;
9B is an exemplary diagram of a game slice information page, in accordance with an embodiment of the present invention;
10 is an illustrative view of a user's account information, including a live view of a friend in a cloud gaming social network, in accordance with an embodiment of the present invention;
11 is an illustration of a method for presenting a live gameplay feed of a friend of a current user, in accordance with an embodiment of the present invention;
12 is an exemplary diagram of a system including a social network and a cloud gaming system, in accordance with an embodiment of the present invention;
13 is a graph illustrating various game state variables over time, in accordance with an embodiment of the present invention;
14A is an illustration of a method for generating a game slice for a linear type videogame, in accordance with an embodiment of the present invention;
14B is an illustration of a method for generating a game slice for an open world type videogame, in accordance with an embodiment of the present invention;
14C is an illustration of a method for generating a game slice for a sports videogame, in accordance with an embodiment of the present invention;
15 is a conceptual illustration of the formation of a multi-game slice game, in accordance with an embodiment of the present invention;
16 is a conceptual illustration of the generation of a multi-game slice game, in accordance with an embodiment of the present invention;
17 is an exemplary diagram of an interface for sharing gameplay, in accordance with an embodiment of the present invention;
18 is an illustration of an
19 is an illustration of an
20 is an illustration of a user interface and hardware that may be used to provide interactivity with a video game, in accordance with one embodiment of the present invention;
21 is an illustration of additional hardware that may be used to process instructions, in accordance with one embodiment of the present invention;
22 is a view showing a
23 is an exemplary diagram of one embodiment of an information service provider architecture.
이하의 실시예는 레코딩된 게임플레이에 기반하여 제안된 미니-게임의 자동 발생, 레코딩된 게임플레이에 기반하여 클라우드-게이밍을 위한 멀티-파트 미니-게임의 발생, 레코딩된 게임플레이를 소셜 그래프에 공유, 및 제2 사용자에 의한 제1 사용자의 게임플레이의 원격 제어를 위한 방법 및 장치를 설명한다.The following embodiments provide automatic generation of suggested mini-games based on recorded gameplay, generation of multi-part mini-games for cloud-gaming based on recorded gameplay, and recording recorded gameplay into social graphs. A method and apparatus for sharing and remote control of a first user's gameplay by a second user are described.
그렇지만, 본 발명이 이들 특정 상세 중 일부 또는 전부 없이 실시될 수 있음은 당업자에게 자명할 것이다. 다른 경우에 있어서, 주지의 프로세스 연산은 본 발명을 불필요하게 모호하게 하지 않기 위하여 상세히 설명되지는 않았다.However, it will be apparent to one skilled in the art that the present invention may be practiced without some or all of these specific details. In other instances, well-known process operations have not been described in detail in order not to unnecessarily obscure the present invention.
도 1a는, 본 발명의 실시예에 따라, 사용자가 클라우드-기반 비디오 게임을 플레이하는 것을 예시하고 있다. 도시된 바와 같이, 사용자(U1)는 디스플레이(100) 상에 보이는 클라우드-기반 비디오 게임을 플레이한다. 클라우드-기반 비디오 게임은 주로 원격 서버 상에서 실행되는 비디오 게임이다. 서버는, 일 실시예에 있어서, 가상 기계 데이터 센터에서 실행되는 개개의 서버 또는 서버들을 포함할 수 있으며, 이 경우 많은 서버는 요청된 프로세싱을 제공하도록 가상화될 수 있다. 도시된 실시예에 있어서, 클라우드 게이밍 서버(들)(104)는 디스플레이(100) 상에서 렌더링되는 비디오 게임을 실행한다. 클라이언트(101)는 입력을 수신 및 프로세싱하고 이들을 클라우드 게이밍 서버(104)에 통신하도록, 그리고 또한 클라우드 게이밍 서버(104)로부터 비디오 및 오디오 데이터를 수신하도록 사용자의 장소에 놓여 있다. 클라이언트(101) 및 클라우드 게이밍 서버(104)는 인터넷과 같은 네트워크(102)를 통하여 통신한다. 다른 실시예에 있어서, 클라이언트는, 클라이언트가 네트워크와 통신하고 게임 플레이를 렌더링하도록 디스플레이로의 액세스를 제공하고 사용자로부터의 입력이 대화성을 구동 가능하게 할 수 있는 한, 포터블이든 아니든, 무선이든 아니든, 어떠한 디바이스라도 될 수 있다. 일 실시예에 있어서, 클라이언트는 씬 클라이언트이다. 그렇지만, 다른 실시예에 있어서, 클라이언트는 범용 컴퓨터, 특수 목적 컴퓨터, 게이밍 콘솔, 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 모바일 컴퓨팅 디바이스, 포터블 게이밍 디바이스, 셀룰러 폰, 셋-톱 박스, 스트리밍 미디어 인터페이스/디바이스, 스마트 텔레비전 또는 네트워크형 디스플레이, 또는 여기에서 정의된 바와 같은 클라이언트의 기능성을 수행하도록 구성될 수 있는 어떠한 다른 컴퓨팅 디바이스라도 될 수 있다. 일 실시예에 있어서, 클라우드 게이밍 서버는 사용자에 의해 이용되고 있는 클라이언트 디바이스의 유형을 검출하고 사용자의 클라이언트 디바이스에 적합한 클라우드-게이밍 체험을 제공하도록 구성된다. 예를 들어, 이미지 설정, 오디오 설정 및 다른 유형의 설정이 사용자의 클라이언트 디바이스에 최적화될 수 있다. 1A illustrates a user playing a cloud-based video game, in accordance with an embodiment of the present invention. As shown, user U1 plays a cloud-based video game shown on
다양한 실시예에 있어서, 클라이언트에 의해 수행되는 프로세싱의 정도는 입력 및 출력 프로세싱에 관하여 달라질 수 있다. 그렇지만, 대체로, 비디오 게임 상태는 실질적으로 클라우드 게이밍 서버(104) 상에서 유지 및 실행되며, 클라이언트는 주로 사용자 입력을 수신 및 통신하고 렌더링을 위해 비디오/오디오 데이터를 수신하도록 기능한다. 클라이언트(101)는 디스플레이(100)에 접속되고 디스플레이(100) 상의 렌더링을 위한 비디오 데이터를 제공하는 자립형 디바이스일 수 있다. 다른 실시예에 있어서, 클라이언트는 디스플레이(100) 내에 통합될 수 있다. 일 실시예에 있어서, 디스플레이(100)는 디스플레이의 네트워크 접속성을 이용하여 애플리케이션 또는 "앱"을 위한 플랫폼 운영 체제를 제공하는 네트워크형 디스플레이이다. 그러한 일 실시예에 있어서, 클라이언트는 디스플레이의 운영 체제에 의해 제공된 플랫폼 상에서 실행되는 애플리케이션에 의해 정의될 수 있다.In various embodiments, the degree of processing performed by the client may vary with respect to input and output processing. However, for the most part, the video game state is maintained and executed substantially on the
도 1b는 다수 장소 내 다수 사용자가 클라우드-기반 비디오 게임의 게임플레이에 참여한 것을 예시하고 있다. 사용자(U1)는 제1 장소에서 디스플레이(100) 상에 렌더링된 비디오 게임과 대화하고 있는 것으로 도시되어 있다. 사용자(U2, U3)는 제2 장소에서 디스플레이(106) 상에 렌더링된 비디오 게임과 대화하고 있는 것으로 도시되어 있다. 사용자(U4)는 제3 장소에서 디스플레이(108) 상에 렌더링된 비디오 게임을 플레이하고 있는 것으로 도시되어 있다. 사용자(U5, U6, U7)는 제4 장소에서 디스플레이(110) 상에 렌더링된 비디오 게임과 대화하고 있는 것으로 도시되어 있다. 1B illustrates the participation of multiple users in multiple venues in gameplay of a cloud-based video game. A user U1 is shown having a conversation with a video game rendered on the
제1, 제2, 제3 및 제4 장소의 각각에는, 다양한 사용자로부터의 입력을 프로세싱하고 그들 각각의 디스플레이 상에 클라우드-기반 비디오 게임을 렌더링하기 위한 적어도 하나의 컴퓨팅 디바이스가 제공된다. 컴퓨팅 디바이스는 디스플레이 내에 통합될 수도 있고, 데이터를 프로세싱 및 저장하기 위한 적어도 하나의 프로세서 및 메모리를 갖는 퍼스널 컴퓨터, 셋톱 박스, 게이밍 콘솔, 또는 어느 다른 유형의 디바이스와 같은 자립형 디바이스일 수도 있음을 인식하여야 한다. 컴퓨팅 디바이스는, 위에서 설명된 바와 같이, 클라이언트를 실행하거나 정의할 수 있다. 컴퓨팅 디바이스는 네트워크형이고, 인터넷(102)과 같은 네트워크를 통하여 클라우드 게이밍 서버(104)와 통신한다. At each of the first, second, third and fourth venues, at least one computing device is provided for processing input from the various users and rendering the cloud-based video game on their respective displays. It should be appreciated that the computing device may be integrated into a display and may be a stand-alone device such as a personal computer, set-top box, gaming console, or any other type of device having at least one processor and memory for processing and storing data do. A computing device may execute or define a client, as described above. The computing device is networked and communicates with the
클라우드 게이밍 서버(104)는, 사용자에 의해 플레이되고, 순간순간 소정 비디오 게임의 게임 상태를 정의하고, (이미지 데이터 및 오디오 데이터를 포함하는) 비디오 데이터를 특정 장소에서의 컴퓨팅 디바이스에 보내고 있는 다양한 비디오 게임을 실행한다. 소정 장소에서의 컴퓨팅 디바이스는 비디오 게임을 플레이하는 사용자(들)로부터의 입력을 프로세싱하고, 입력 데이터를 클라우드 게이밍 서버에 송신하고, 그러면, 차례로, 비디오 게임의 게임 상태에 영향을 미치도록 입력 데이터를 프로세싱한다. 클라우드-기반 게이밍은 네트워크를 통하여 모든 플레이어가 액세스가능한 원격 서버에서의 비디오 게임의 실행을 위해 제공함으로써 여러 다른 장소에 위치하는 플레이어로부터의 멀티-플레이어 게이밍을 용이하게 함을 인식하여야 한다. 이러한 방식으로, 비디오 게임의 실행은 어느 단일 플레이어의 하드웨어 또는 네트워크 접속성에도, 그러한 것이 그 소정 플레이어에 대한 사용자 체험에 영향을 미칠 것이더라도, 종속적이지 않다.The
도 2a는, 본 발명의 일 실시예에 따라, 클라우드 게이밍을 위한 시스템을 예시하고 있다. 도시된 바와 같이, 사용자(200)는 클라우드-기반 비디오 게임에 입력을 제공하도록 컨트롤러(202)를 조작한다. 컨트롤러(202)는, 버튼, 조이스틱, 터치패드, 트랙볼, 및 가속도계 및 자력계와 같은 모션 감지 하드웨어와 같은, 다양한 종류의 입력 디바이스 중 어느 것이라도 포함할 수 있다. 일 실시예에 있어서, 컨트롤러(202)는 컨트롤러(202)의 위치를 결정하도록 추적될 수 있는 조명 물체를 포함할 수 있다. 컨트롤러(202)는 씬 게임 클라이언트(204)와 무선으로 통신할 수 있다. 클라이언트(204)는 네트워크(208)를 통하여 클라우드 게이밍 서비스(210)와 통신한다. 클라이언트(204)는 클라우드 게이밍 서비스(210)에 의해 실행된 비디오 게임에 통신되는 입력 데이터를 발생시키도록 컨트롤러(202)로부터의 데이터를 프로세싱한다. 부가적으로, 클라이언트(204)는, 디스플레이(206) 상의 렌더링을 위해, 클라우드 게이밍 서비스(210)로부터의 비디오 데이터를 수신한다. 일 실시예에 있어서, 클라이언트(204)는 디스플레이(206)와 호환가능한 포맷으로 비디오 스트림을 제공하도록 그 수신된 비디오 데이터를 프로세싱할 수 있다. 일 실시예에 있어서, 클라이언트(204)는 컨트롤러 디바이스 또는 컨트롤러 디바이스 상에 위치하는 물체를 추적하기 위한 카메라를 포함할 수 있다. 언급된 바와 같이, 물체는 카메라로부터 캡처링된 이미지 프레임의 분석에 기반하여 추적을 더 용이하게 하도록 조명될 수 있다.2A illustrates a system for cloud gaming, in accordance with an embodiment of the present invention. As shown, the
클라우드 게이밍 서비스(210)는 비디오 게임이 실행될 수 있는 환경을 제공하기 위한 자원을 포함한다. 대체로, 자원은, 프로세서, 저장 디바이스, 및 네트워크 장비를 포함하는, 다양한 종류의 컴퓨터 서버 하드웨어를 포함할 수 있으며, 비디오 게임 애플리케이션의 실행을 용이하게 하도록 이용될 수 있다. 도시된 실시예에 있어서, 비디오 게임 라이브러리(212)는 다양한 게임 타이틀을 포함한다. 각각의 게임 타이틀은 실행가능한 코드와 더불어, 비디오 게임을 실체화하도록 이용되는 연관된 데이터 및 자산 라이브러리도 정의한다. 호스트(214)는 가상 기계(216)를 실체화하기 위한 플랫폼을 정의하는 단일 컴퓨팅 디바이스일 수 있다. 다른 일 실시예에 있어서, 호스트(214)는 자체가 가상화된 자원 플랫폼일 수 있다. 환언하면, 호스트(214)는 하나 이상의 서버 컴퓨팅 디바이스에 걸쳐 동작하여, 서버 컴퓨팅 디바이스에 의해 정의된 자원의 할당 및 사용을 취급하는 한편, 가상 기계(216)가 실체화될 수 있는 통합형 플랫폼을 제시할 수 있다.The
각각의 가상 기계(216)는, 비디오 게임 애플리케이션(218)이 실행될 수 있는, 운영 체제를 지원할 수 있는 자원 환경을 정의한다. 일 실시예에 있어서, 가상 기계는 게이밍 콘솔의 하드웨어 자원 환경을 에뮬레이팅하도록 구성될 수 있으며, 게이밍 콘솔과 연관된 운영 체제는 그 게이밍 콘솔에 대해 개발된 게이밍 타이틀의 실행을 지원할 가상 기계 상에서 실행된다. 다른 일 실시예에 있어서, 운영 체제는, 기저 가상 기계가 게이밍 콘솔의 하드웨어를 에뮬레이팅하도록 구성될 수도 있고 그렇지 않을 수도 있더라도, 게이밍 콘솔의 네이티브 운영 체제 환경을 에뮬레이팅하도록 구성될 수 있다. 다른 일 실시예에 있어서, 에뮬레이터 애플리케이션이 가상 기계의 운영 체제 위에 실행되며, 에뮬레이터는 그 게이밍 콘솔에 대해 설계된 비디오 게임을 지원하도록 게이밍 콘솔의 네이티브 운영 체제 환경을 에뮬레이팅하도록 구성된다. 각종 현재 및 구형 게이밍 콘솔이 클라우드-기반 게이밍 시스템에서 에뮬레이팅될 수 있음을 인식하여야 한다. 이러한 방식으로, 사용자는 클라우드-게이밍 시스템을 통하여 여러 다른 게이밍 콘솔로부터 게임 타이틀에 액세스할 수 있다.Each
사용자(200)가 특정 비디오 게임 타이틀을 플레이하도록 요청할 때, 비디오 게임 타이틀은 라이브러리(212)로부터 검색된다. 호환가능한 가상 기계가 이미 실체화되지 않았거나 사용에 이용가능하지 않으면, 그때는 새로운 호환가능한 가상 기계가 호스트(214) 상에 실체화된다. 그 후 검색된 비디오 게임 타이틀은 이용가능한 또는 새롭게 실체화된 가상 기계(216) 상에서 애플리케이션(218)으로서 실행된다. 일 실시예에 있어서, 이것은 비디오 게임 타이틀에 적합한 플랫폼(예를 들어, 어느 게이밍 콘솔 또는 운영 체제를 게임이 실행하도록 요구하는지)을 결정하는 것 및 실행에 적합한 가상 기계, 예를 들어, 비디오 게임 타이틀의 실행을 취급할 수 있는 에뮬레이터 애플리케이션을 갖는 것에 비디오 게임 타이틀을 배정하는 것을 수반할 수 있다. 실행 중 비디오 게임은 대화형 게이밍 체험을 사용자(200)에 제공하도록 게임 클라이언트(204)와 통신한다. 더 구체적으로, 실행 중 비디오게임 애플리케이션(218)은 네트워크(208)를 통하여 클라이언트(204)로부터 입력 데이터를 수신한다. 애플리케이션(218)은 실행 중 애플리케이션의 게임 상태를 업데이트하도록 입력 데이터를 프로세싱한다. 게임 상태가 변화할 때, 애플리케이션(218)은 디스플레이(206) 상의 렌더링을 위해 클라이언트(204)에 보내지는 비디오 데이터를 출력한다. 부가적으로, 애플리케이션(218)은 또한 부가적 피드백 메커니즘을 사용자에게 제공하도록 이용되는 피드백 데이터를 클라이언트(204)에 출력할 수 있다. 예로서, 사용자의 컨트롤러(202)는 비디오 게임 애플리케이션으로부터의 출력 피드백 데이터에 기반하여 활성화될 수 있는 촉각 진동 피드백 메커니즘을 포함할 수 있다.When the
일 실시예에 있어서, 클라우드 게이밍 시스템은 사용자와 연관된 클라이언트 디바이스의 유형, 및 또한 사용자가 클라우드-기반 비디오 게임으로의 입력을 제공하는데 이용가능한 컨트롤러의 유형을 검출하도록 구성된다. 예를 들어, 일 실시예에 있어서, 사용자가 클라우드 게이밍 시스템에 로그인할 때, 그들은 그들이 클라우드 게이밍 시스템에 액세스하고 있는 클라이언트 디바이스의 유형을 지정하는 옵션을 제시받을 수 있다. 일 실시예에서는, 사용자가 그들 클라이언트 디바이스에 대응하는 것을 선택할 수 있는 일련의 클라이언트 디바이스 옵션이 제시된다. 또한 그들이 비디오 게임을 플레이하는데 사용할 컨트롤러 디바이스의 유형을 지정하는 옵션이 사용자에게 제시될 수 있다. 일 실시예에서는, 사용자가 그들 컨트롤러 하드웨어에 대응하는 컨트롤러 유형을 지정하도록 선택할 수 있는 일련의 컨트롤러 옵션이 사용자에게 제시될 수 있다. 다른 실시예에 있어서, 클라우드 게이밍 시스템은 클라이언트 디바이스 유형 및/또는 컨트롤러 디바이스 유형을 자동으로 검출하도록 구성될 수 있다.In one embodiment, the cloud gaming system is configured to detect the type of client device associated with the user, and also the type of controller available to the user to provide input to the cloud-based video game. For example, in one embodiment, when users log into the cloud gaming system, they may be presented with an option to specify the type of client device they are accessing the cloud gaming system. In one embodiment, a set of client device options are presented from which the user may select the corresponding one for their client device. The user may also be presented with an option to specify the type of controller device they will use to play the video game. In one embodiment, the user may be presented with a set of controller options from which the user may select to specify a controller type corresponding to their controller hardware. In another embodiment, the cloud gaming system may be configured to automatically detect a client device type and/or a controller device type.
예를 들어, 로그인시에, 클라이언트 디바이스는 (예를 들어, 클라우드 게이밍 서버로부터의 요청에 응답하여) 자신과 더불어 접속된 컨트롤러 디바이스도 식별시키는 정보를 클라우드 게이밍 서버에 보낼 수 있다. 이러한 정보에 기반하여, 클라우드 게이밍 서버는 사용자의 클라이언트 디바이스 및 컨트롤러 디바이스에 최적화된 게이밍 체험을 제공하기에 적합한 비디오 게임 출력 구성 및 입력 파라미터 구성을 결정할 수 있다. 일 실시예에서는, 검출된 클라이언트 디바이스 및 검출된 컨트롤러 디바이스에 기반하여 비디오 게임 구성 및 입력 파라미터 구성을 결정하도록 룩-업 테이블이 채용된다.For example, upon login, the client device may send information to the cloud gaming server (eg, in response to a request from the cloud gaming server) identifying itself as well as the connected controller device. Based on this information, the cloud gaming server may determine an appropriate video game output configuration and input parameter configuration to provide an optimized gaming experience to the user's client device and controller device. In one embodiment, a look-up table is employed to determine the video game configuration and input parameter configuration based on the detected client device and the detected controller device.
소정 비디오 게임이 특정 플랫폼 및 특정 연관된 컨트롤러 디바이스에 대해 개발될 수 있음을 인식하여야 한다. 그렇지만, 그러한 게임이 여기에서 제시된 바와 같은 클라우드 게이밍 시스템을 통하여 이용가능하게 될 때, 사용자는 다른 컨트롤러 디바이스로 비디오 게임에 액세스하고 있을 수 있다. 예를 들어, 게임이 게임 콘솔 및 그 연관된 컨트롤러에 대해 개발되었지만, 반면 사용자는 키보드 및 마우스를 이용하여 퍼스널 컴퓨터로부터 게임의 클라우드-기반 버전에 액세스하고 있을 수 있다. 그러한 시나리오에 있어서, 입력 파라미터 구성은 사용자의 이용가능한 컨트롤러 디바이스(이 경우에는, 키보드 및 마우스)에 의해 발생될 수 있는 입력으로부터 비디오 게임의 실행을 위해 받아들여질 수 있는 입력으로의 매핑을 정의할 수 있다. It should be appreciated that certain video games may be developed for particular platforms and particular associated controller devices. However, when such games become available through a cloud gaming system as presented herein, the user may be accessing the video game with another controller device. For example, a game may be developed for a game console and its associated controller, whereas a user may be accessing a cloud-based version of the game from a personal computer using a keyboard and mouse. In such a scenario, the input parameter configuration may define a mapping from inputs that may be generated by the user's available controller devices (in this case, keyboard and mouse) to inputs that may be accepted for execution of the video game. there is.
다른 일례에 있어서, 사용자는 태블릿 컴퓨팅 디바이스, 터치스크린 스마트폰, 또는 다른 터치스크린 구동 디바이스를 통하여 클라우드 게이밍 시스템에 액세스할 수 있다. 이 경우에 있어서, 클라이언트 디바이스 및 컨트롤러 디바이스는 동일 디바이스 내 함께 통합되며, 검출된 터치스크린 입력/제스처에 의해 입력이 제공된다. 그러한 디바이스에 대해, 입력 파라미터 구성은 비디오 게임에 대한 게임 입력에 대응하는 특정 터치스크린 입력을 정의할 수 있다. 예를 들어, 버튼, 방향성 패드, 또는 다른 유형의 입력 엘리먼트는 사용자가 게임 입력을 발생시키도록 터치할 수 있는 터치스크린 상의 위치를 나타내도록 비디오 게임의 실행 동안 디스플레이 또는 오버레이될 수 있다. 특정 터치 모션 또는 특정 방향으로의 스와이핑과 같은 제스처가 또한 게임 입력으로서 검출될 수 있다. 일 실시예에서는, 사용자가 터치스크린 상의 컨트롤의 조작에 익숙하게 하도록, 예를 들어 비디오 게임의 게임플레이를 시작하기 이전에, 게임플레이를 위해 터치스크린을 통하여 어떻게 입력을 제공하는지 나타내는 튜토리얼이 사용자에게 제공될 수 있다.In another example, a user may access the cloud gaming system through a tablet computing device, touchscreen smartphone, or other touchscreen powered device. In this case, the client device and the controller device are integrated together in the same device, and the input is provided by a detected touchscreen input/gesture. For such devices, the input parameter configuration may define a specific touchscreen input that corresponds to a game input for a video game. For example, a button, directional pad, or other type of input element may be displayed or overlaid during execution of a video game to indicate a location on a touchscreen that a user may touch to generate game input. Gestures such as specific touch motion or swiping in a specific direction may also be detected as game input. In one embodiment, to familiarize the user with the manipulation of controls on the touchscreen, for example, prior to beginning gameplay of a video game, a tutorial is provided to the user showing how to provide input via the touchscreen for gameplay can be provided.
일부 실시예에 있어서, 클라이언트 디바이스는 컨트롤러 디바이스에 대한 접속 포인트로서 역할한다. 즉, 컨트롤러 디바이스는 컨트롤러 디바이스로부터 클라이언트 디바이스로 입력을 송신하도록 무선 또는 유선 접속을 통하여 클라이언트 디바이스와 통신한다. 차례로 클라이언트 디바이스는 이들 입력을 프로세싱하고 그 후 입력 데이터를 (예를 들어, 라우터와 같은 로컬 네트워크 디바이스를 통하여 액세스되는) 네트워크를 통하여 클라우드 게이밍 서버에 송신할 수 있다. 그렇지만, 다른 실시예에 있어서, 컨트롤러는 그 자체로, 우선 클라이언트 디바이스를 통해 그러한 입력을 통신하도록 요구됨이 없이, 클라우드 게이밍 서버에 네트워크를 통하여 직접 입력을 통신할 수 있는 능력을 갖는 네트워크형 디바이스일 수 있다. 예를 들어, 컨트롤러는 데이터를 클라우드 게이밍 서버에 보내고 그로부터 수신하도록 (전술한 라우터와 같은) 로컬 네트워크 디바이스에 접속될 수 있다. 그리하여, 클라이언트 디바이스가 여전히 클라우드-기반 비디오 게임으로부터의 비디오 출력을 수신하고 그것을 로컬 디스플레이 상에 렌더링하도록 요구될 수 있으면서도, 컨트롤러가, 클라이언트 디바이스를 우회하여, 클라우드 게이밍 서버에 네트워크를 통하여 직접 입력을 보낼 수 있게 함으로써 입력 레이턴시가 감축될 수 있다.In some embodiments, the client device serves as a point of attachment to the controller device. That is, the controller device communicates with the client device via a wireless or wired connection to transmit input from the controller device to the client device. The client device in turn may process these inputs and then transmit the input data to the cloud gaming server via a network (eg, accessed via a local network device such as a router). However, in other embodiments, the controller may itself be a networked device with the ability to communicate input directly over the network to the cloud gaming server without being required to first communicate such input through the client device. there is. For example, the controller may be connected to a local network device (such as the router described above) to send data to and receive data from the cloud gaming server. Thus, the controller can send input directly over the network to the cloud gaming server, bypassing the client device, while the client device may still be required to receive video output from the cloud-based video game and render it on a local display. By doing so, the input latency can be reduced.
일 실시예에 있어서, 네트워크형 컨트롤러 및 클라이언트 디바이스는 특정 유형의 입력을 클라우드 게이밍 서버에 컨트롤러로부터 직접, 그리고 다른 유형의 입력을 클라이언트 디바이스를 통하여 보내도록 구성될 수 있다. 예를 들어, 그 검출이 컨트롤러 자체 외의 어느 부가적 하드웨어 또는 프로세싱에도 종속하지 않는 입력은, 클라이언트 디바이스를 우회하여, 네트워크를 통하여 클라우드 게이밍 서버에 컨트롤러로부터 직접 보내질 수 있다. 그러한 입력은 버튼 입력, 조이스틱 입력, 매립된 모션 검출 입력(예를 들어, 가속도계, 자력계, 자이로스코프) 등을 포함할 수 있다. 그렇지만, 부가적 하드웨어를 이용하거나 클라이언트 디바이스에 의한 프로세싱을 요구하는 입력은 클라이언트 디바이스에 의해 클라우드 게이밍 서버에 보내질 수 있다. 이들은 클라우드 게이밍 서버에 보내기 전에 클라이언트 디바이스에 의해 프로세싱될 수 있는 게임 환경으로부터의 캡처링된 비디오 또는 오디오를 포함할 수 있다. 부가적으로, 컨트롤러의 모션 검출 하드웨어로부터의 입력은 컨트롤러의 위치 및 모션을 검출하도록 캡처링된 비디오와 함께 클라이언트 디바이스에 의해 프로세싱될 수 있어서, 후속하여 클라이언트 디바이스에 의해 클라우드 게이밍 서버에 통신될 것이다. 다양한 실시예에 따른 컨트롤러 디바이스가 또한 클라이언트 디바이스로부터 또는 클라우드 게이밍 서버로부터 직접 데이터(예를 들어, 피드백 데이터)를 수신할 수 있음을 인식하여야 한다.In one embodiment, the networked controller and client device may be configured to send certain types of input to the cloud gaming server directly from the controller and other types of input through the client device. For example, input whose detection does not depend on any additional hardware or processing other than the controller itself may be sent directly from the controller to the cloud gaming server via the network, bypassing the client device. Such inputs may include button inputs, joystick inputs, embedded motion detection inputs (eg, accelerometer, magnetometer, gyroscope), and the like. However, input using additional hardware or requiring processing by the client device may be sent by the client device to the cloud gaming server. These may include captured video or audio from the gaming environment that may be processed by the client device prior to sending it to the cloud gaming server. Additionally, input from the controller's motion detection hardware may be processed by the client device along with the captured video to detect the controller's position and motion, which would subsequently be communicated by the client device to the cloud gaming server. It should be appreciated that a controller device according to various embodiments may also receive data (eg, feedback data) directly from a client device or from a cloud gaming server.
도 2b는, 본 발명의 실시예에 따라, 다양한 세대의 게이밍 콘솔에 걸친 게임 타이틀의 누적을 개념적으로 예시하고 있다. 비디오 게이밍 산업에 있어서, 비디오 게임은 특정 비디오 게임 콘솔에 대해 개발된다. 시간에 걸쳐 게임 타이틀의 라이브러리는 특정 게임 콘솔에 대해 축적된다. 예를 들어, 예시된 선도에 있어서, 제1 세대 콘솔(220)은 그에 대해 개발되어 온 게임 타이틀 집합(228)을 갖는다. 제2 세대 콘솔(222)은 그에 대해 개발되어 온 게임 타이틀 집합(230)을 그와 연관되어 갖는다. 그리고 제3 세대 콘솔(224)이 또한 그에 대해 개발된 게임 타이틀 집합(232)을 갖는 것으로 도시되어 있다. 다른 실시예에서는, 클라이언트(226)와 함께 사용을 위해 클라우드-기반 게임으로서 특히 개발되어 온 게임 타이틀 집합(234)이 있을 수 있다. 더욱, 인터넷 게임과 같은 다른 유형의 게임이, 여기에서 설명되는 바와 같이, 클라우드 게이밍 시스템에 걸친 분산을 위해 개발 및 수집될 수 있다. 여러 다른 세대의 게임 콘솔로부터의 게임 타이틀이 클라우드 게이밍 라이브러리(212)에서 수집 및 통합될 수 있다. 도시된 바와 같이, 라이브러리(212)는 제1 세대 콘솔(220)에 대해 개발되어 온 게임 타이틀을 포함하는 제1 세대 콘솔 라이브러리(236)를 포함한다. 유사한 방식으로, 라이브러리(212)는 또한, 각각, 제2 및 제3 세대 콘솔에 대해 개발되어 온 비디오 게임을 포함하고 있는 제2 세대 콘솔 라이브러리(238) 및 제3 세대 콘솔 라이브러리(240)를 포함한다. 클라이언트(226)에 대해 개발되어 온 게임 및 인터넷 게임과 같은 다른 유형의 게임이 또한 게임 라이브러리(212)에 포함될 수 있다. 알 수 있는 바와 같이, 다양한 세대의 비디오 게이밍 콘솔에 걸쳐 온 다수의 게임 타이틀이 클라우드 게이밍 라이브러리를 통하여 축적되고 이용가능하게 될 수 있다. 설명된 바와 같이, 이들 게임의 각각은 게임이 개발된 소정 게이밍 콘솔과 연관된 운영 체제 환경을 시뮬레이팅하는 가상 기계 상에서 실행될 수 있다. 이러한 방식으로, 클라우드-기반 게이밍 시스템에 액세스하는 사용자는 여러 다른 콘솔에 걸쳐 온 게임과 더불어 클라우드-기반 게이밍 시스템과의 사용을 위해 특히 개발되어 온 게임 및 인터넷 게임과 같은 다른 콘택트로부터의 게임에도 용이하게 액세스하여 플레이할 수 있다.2B conceptually illustrates the accumulation of game titles across various generations of gaming consoles, in accordance with an embodiment of the present invention. In the video gaming industry, video games are developed for specific video game consoles. Over time a library of game titles accumulates for a particular game console. For example, in the diagram illustrated, a
도 3은, 본 발명의 일 실시예에 따라, 사용자에게 게임 데모를 제공하기 위한 방법을 예시하고 있다. 데모에 이용가능한 다양한 게임 타이틀의 비네트 또는 아이콘(302, 304, 306, 308, 310, 312)을 제공하는 인터페이스(300)가 도시되어 있다. 각각의 아이콘은 그것이 표현하는 게임을 나타내는 이미지를 제공하도록 구성될 수 있다. 일 실시예에 있어서, 사용자가 소정 아이콘으로 항행할 때, 아이콘은 비디오 게임을 표현하는 또는 그렇지 않으면 비디오 게임의 컨텐트에 대해 사용자에게 부가적 정보를 제공하는 애니메이션 또는 비디오 클립을 보여주도록 활성화될 수 있다. 도시된 실시예에 있어서, 사용자는 아이콘(302)으로 항행하였고, 그래서 하이라이트 표시되어 비디오 게임으로부터의 장면을 보여주는 활동적 애니메이션을 디스플레이한다. 사용자가 아이콘을 선택할 때, 미리보기 비디오가 방법 연산(314)에 따라 보여질 수 있다. 사용자가 계속하여 방법 연산(316)에서 게임을 선택하면, 그때 방법 연산(318)에서는, 데모를 위한 게임 코드가 론칭된다. 방법 연산(320)에서는, 게임 데모가 사용자에 의한 게임플레이를 위해 즉석으로 이용가능하게 된다. 게임 데모가 클라우드 기반이기 때문에, 그것은 클라우드-기반 시스템에서 미리 로딩된 게임 데모 실체화로부터 즉석으로 이용가능하게 될 수 있음을 인식하여야 한다. 게임 데모가 론칭될 때, 미리 로딩된 게임 데모 실체화가 실행하도록 트리거링된다(triggered). 방법 연산(322)에서는, 사용자가 게임 데모의 게임플레이를 계속하기를 바라는지 또는, 하나가 이용가능하면, 비디오게임의 부가적 데모를 플레이하기를 바라는지 결정된다. 그러하면, 그때 방법은 연산(322)으로 복귀하여 게임 데모를 계속 실행하거나 또는 비디오게임에 대한 새로운 게임 데모를 실행한다. 아니라면, 그때는 방법 연산(324)에서, 사용자에게 비디오게임의 미니 버전을 구입하는 옵션이 제시된다. 부가적으로, 방법 연산(326)에서는, 사용자에게 비디오게임의 풀 버전을 구입하는 옵션이 제시될 수 있다. 사용자가 게임의 미니 버전 또는 풀 버전 중 어느 하나를 구입하기를 선택하면, 그때 방법 연산(328)에서는 그 게임 버전이 사용자의 계정에 부가된다. 게임이 클라우드-기반 게이밍 시스템을 통하여 이용가능하게 되기 때문에, 사용자의 계정에 게임의 부가는 단순히 게임의 특정 버전으로의 액세스 특권을 사용자의 계정과 연관시키는 것을 수반할 수 있음을 인식하여야 한다. 더욱, 구입되고 나면, 게임은, 특히 게임이 클라우드-기반 시스템에서 미리-실체화될 수 있으므로, 사용자에 의한 게임플레이를 위해 클라우드-기반 시스템으로부터 즉석으로 실제로 이용가능하게 될 수 있다.3 illustrates a method for providing a game demo to a user, in accordance with an embodiment of the present invention. An
도 4a는, 본 발명의 일 실시예에 따라, 비디오게임의 다양한 부분의 계층적 조직을 예시하고 있다. 예로서, 비디오게임은 다양한 섹션(400)으로 조직될 수 있다. 도시된 실시예에 있어서, 이들은 설정 섹션, 도입 섹션, 다양한 레벨 섹션, 및 아우트로 섹션을 포함할 수 있다. 소정 레벨은 다양한 장면으로 더 분할될 수 있다. 도시된 바와 같이, 레벨 3 섹션은 다양한 장면(402)으로 나뉜다. 사용자가 소정 장면을 통해 플레이할 때, 실행된 게임 애플리케이션의 게임 상태 및 레코딩된 입력 데이터뿐만 아니라 사용자의 게임플레이의 레코딩된 비디오도 포함하는, 그 장면의 게임플레이 타임라인이 레코딩될 수 있다. 예시된 실시예에서는, 게임플레이 타임라인(404)이 게임의 레벨 3의 장면 2의 사용자 게임플레이를 표현하는 것으로서 도시되어 있다. 본 발명의 실시예에 의하면, 사용자는 그들의 레코딩된 게임플레이의 어느 부분으로부터 미니 게임 또는 게임 슬라이스를 발생시킬지 선택할 수 있다. 예를 들어, 도시된 실시예에 있어서, 게임플레이 타임라인(404)은 시작 시간(T0) 및 종료 시간(Tz)을 갖는다. 시간(Tx)으로부터 시간(Ty)까지의 게임플레이 타임라인의 일부로부터 미니게임을 발생시키도록 선택되었다.4A illustrates the hierarchical organization of various parts of a videogame, in accordance with an embodiment of the present invention. As an example, a videogame may be organized into
도 4b는, 본 발명의 일 실시예에 따라, 미니게임 또는 게임 슬라이스의 발생을 위해 게임플레이 타임라인의 일부를 선택하기 위한 인터페이스를 예시하고 있다. 도시된 실시예에 있어서, 인터페이스(412)는 디바이스(410)의 터치스크린(411) 상에 제시된다. 일 실시예에 있어서, 디바이스(410)는 태블릿 컴퓨팅 디바이스이다. 인터페이스(412)는 선택가능한 게임플레이 타임라인(414)을 포함한다. 게임플레이 타임라인(414)의 확대도(430)에 있어서, 일 실시예에서는 게임플레이 타임라인(414)이 조절가능한 마커(416, 418)를 갖는 필름 스트립으로서 표현됨을 알 수 있다. 마커(416)는 선택의 게임플레이 타임라인(414)을 따른 시작 포인트를 지정하는 반면, 마커(418)는 선택의 게임플레이 타임라인을 따른 종료 포인트를 지정한다. 더욱, 마커(419)는 시작 마커(416)와 종료 마커(418)에 의해 찾은 게임플레이 타임라인(414) 부분 내 위치결정될 수 있다. 사용의 용이함을 위해 그리고 그들의 게임플레이의 어떤 부분이 선택되고 있는지의 시각적 이해를 사용자에게 제공하기 위해, 시작 프레임(420)은 마커(416)가 위치결정된 게임플레이 타임라인을 따른 포인트에 대응하여 보여질 수 있다. 시작 프레임(420)은 시작 마커(416)가 위치결정되는 시간에 대응하는 레코딩된 게임플레이 비디오의 이미지이다. 마찬가지로, 대표적 종료 프레임(424)은 마커(418)가 위치결정된 게임플레이 타임라인을 따른 포인트에 대응하여 보여질 수 있다. 유사한 방식으로, 종료 프레임(424)은 종료 마커(418)가 위치결정되는 시간에 대응하는 레코딩된 게임플레이 비디오의 이미지이다. 부가적으로, 대표적 프레임(422)은 게임플레이 타임라인을 따른 마커(419)의 포인트에 대응하여 디스플레이될 수 있다. 대표적 프레임(422)은 게임플레이 타임라인의 선택된 부분에 기반하여 생성되는 미니게임에 대한 대표적 이미지로서 이용될 수 있다. 도시된 실시예에서는 터치스크린 인터페이스가 제공 및 설명되고 있더라도, 다른 실시예에서는 다양한 다른 종류의 입력이 미니게임의 생성을 위한 게임플레이의 일부를 정의할 시작 및 종료 포인트를 선택하도록 이용될 수 있음을 인식하여야 한다. 예를 들어, 입력은 레코딩된 게임플레이 비디오로부터의 대표적 이미지 프레임의 선택과 함께 게임플레이의 일부의 선택을 가능하게 하도록 게임 컨트롤러, 키보드를 통하여, 제스처 입력, 음성 입력을 통하여, 그리고 다른 유형의 입력 디바이스 및 메커니즘에 따라 제공될 수 있다.4B illustrates an interface for selecting a portion of a gameplay timeline for generation of a minigame or game slice, in accordance with an embodiment of the present invention. In the illustrated embodiment,
일부 실시예에 있어서, 선택 마커는 게임플레이 타임라인을 따라 연속적으로 조절가능하지 않을 수 있고, 대신에 게임플레이 타임라인을 따른 기-정의된 시간 포인트로 똑딱하도록 구성될 수 있다. 예를 들어, 미리 정의된 시간 포인트는 게임플레이 타임라인에서 일어나는 특정 이벤트와 대응하도록 정의될 수 있다. 미리 정의된 시간 포인트가 배정될 소정 게임플레이 타임라인의 특정 이벤트는 사용자 게임플레이의 분석에 기반하여 발생될 수 있고, 비디오게임 게임플레이의 특정 아키텍처에 종속할 것이다. 일 실시예에 있어서, 미리 정의된 시간 포인트는 비디오게임에 의해 정의된 가상 세계 내 캐릭터의 지리적 위치에 기반하여 배정될 수 있다. 예를 들어, 미리 정의된 시간 포인트는 캐릭터가, 예를 들어, 하나의 장면 위치로부터 다른 장면 위치로 이동하여, 하나의 도시로부터 다른 도시로 이동하여, 구조물에 들어가, 구조물 내 방에 들어가, 차량에 들어가, 다른 유형의 환경에 들어가, 또는 유의미한 어느 다른 종류의 지리적 이행으로, 하나의 지리적 무대로부터 다른 지리적 무대로 이동한 특정 시간에 배정될 수 있다. 다른 일 실시예에 있어서, 미리 정의된 시간 포인트는 비디오게임에서 제어되는 사용자의 캐릭터 또는 엔티티의 진화에 기반하여 배정될 수 있다. 예를 들어, 미리 정의된 시간 포인트는 사용자에 의해 제어되는 캐릭터 또는 엔티티가 과업을 성취하거나, 스킬을 취득하거나, 물체를 취득하거나, 레벨을 통과하거나 아니면 비디오게임의 일부를 완료하거나, 또는 비디오 게임에서 어느 다른 종류의 유의미한 활동을 수행 또는 달성할 때 배정될 수 있다.In some embodiments, the selection marker may not be continuously adjustable along the gameplay timeline, but instead may be configured to tick to pre-defined time points along the gameplay timeline. For example, predefined time points may be defined to correspond to specific events occurring in the gameplay timeline. Certain events in a given gameplay timeline to which predefined time points will be assigned may occur based on analysis of user gameplay and will depend on the particular architecture of videogame gameplay. In one embodiment, the predefined time points may be assigned based on the geographic location of the character within the virtual world defined by the videogame. For example, a predefined time point may indicate that a character moves, eg, from one scene location to another, moves from one city to another, enters a structure, enters a room within the structure, enters a vehicle may be assigned to a specific time of movement from one geographic stage to another, into a location, into a different type of environment, or any other kind of geographic transition that is significant. In another embodiment, predefined time points may be assigned based on the evolution of a user's character or entity controlled in the videogame. For example, a predefined time point may indicate that a character or entity controlled by the user accomplishes a task, acquires a skill, acquires an object, passes a level, or otherwise completes a portion of a videogame, or a videogame. may be assigned when performing or accomplishing any other kind of meaningful activity in
도 4c는, 본 발명의 일 실시예에 따라, 미니게임의 발생을 위해 게임플레이 타임라인의 일부를 선택하기 위한 인터페이스를 예시하고 있다. 게임플레이 타임라인(414)은 일반적으로는, 미니게임을 발생시킬 게임플레이의 선택을 지정하도록, 사용자가 시작 및 종료 마커(416, 418)를 설정할 수 있는 타임라인을 예시하고 있다. 시작 마커(416)의 위치에 대응하는 시작 프레임(410)과 더불어, 종료 마커(418)의 위치에 대응하는 종료 프레임(424)도 보여지고 있다. 프레임은 사용자의 게임플레이의 레코딩된 비디오로부터 식별될 수 있음을 인식할 것이다. 여러 후보 프레임(440, 442, 444, 446)이 제시되며, 그로부터 사용자는 미니게임에 대한 대표적 프레임으로서 이용될 하나를 선택할 수 있다. 후보 프레임은 다양한 방법에 따라 결정될 수 있다. 예를 들어, 후보 프레임은 게임플레이 타임라인의 선택된 부분의 프랙션 인터벌로부터 제시될 수 있다. 인터벌은, 후보 프레임이 게임플레이 타임라인을 따라 동등하게 이격되어 있도록 균등할 수 있거나, 또는 인터벌은, 일부 프레임이 게임플레이 타임라인을 따른 다른 것들보다 서로 더 근접하여 있도록 비-균등일 수 있다. 일 실시예에 있어서, 더 높은 밀도의 후보 프레임은 게임플레이 타임라인의 선택된 부분의 나중 부분에 비해 게임플레이 타임라인의 선택된 부분의 앞선 부분으로부터 발생된다. 일 실시예에 있어서, 더 높은 밀도의 후보 프레임은 게임플레이 타임라인의 선택된 부분의 앞선 영역으로부터도 그리고 나중 영역으로부터도 발생되는 반면, 더 낮은 밀도의 후보 프레임은 게임플레이 타임라인의 선택된 부분의 중심 부분으로부터 발생된다.4C illustrates an interface for selecting a portion of a gameplay timeline for generation of a minigame, in accordance with an embodiment of the present invention.
사용자가 미니게임을 생성할 게임플레이의 일부를 선택한 후에, 본 발명의 실시예는 게임플레이의 선택된 부분에 기반하여 플레이가능한 미니게임을 생성할 방법 및 시스템을 제공한다. 더 구체적으로, 미니게임은 원래 사용자가 플레이한 비디오 게임의 실질적 동일 부분을 플레이하게 할 수 있고, 실질적으로 동일 조건 및 파라미터 하에서 가능하다. 이러한 의미에서, 미니게임은 (원래 사용자의 게임플레이의 리플레이 비디오 클립이 미니게임과 함께 제시될 수 있더라도) 단순히 원래 사용자의 게임플레이의 리플레이 비디오 이상이지만, 그들 자신의 게임플레이의 사용자 선택에 기반하여 지정된 비디오 게임 자체의 플레이가능한 부분이다. 그리하여 이차 사용자는 원래 사용자와 실질적으로 유사한 게임플레이 체험을 경험할 수 있다.After the user has selected a portion of gameplay for which to create a minigame, embodiments of the present invention provide a method and system for creating a playable minigame based on the selected portion of gameplay. More specifically, the minigame may cause the user to play substantially the same portion of the video game originally played, and under substantially the same conditions and parameters. In this sense, minigames are more than simply replay videos of the original user's gameplay (even if a replay video clip of the original user's gameplay can be presented with the minigame), but are based on user selections of their own gameplay. A playable part of the designated video game itself. Thus, the secondary user may experience a gameplay experience substantially similar to that of the original user.
도 5는, 본 발명의 일 실시예에 따라, 기존 클라우드-기반 비디오게임으로부터 미니게임을 발생시키기 위한 방법을 실증하는 일련의 스크린샷을 예시하고 있다. 스크린샷(500)은 사용자의 비디오게임 플레이를 보여주고 있다. 도시된 실시예에 있어서, 사용자는 비디오게임의 레벨 3을 플레이한다. 스크린샷(502)에서, 사용자는 비디오게임의 레벨 3을 완료하였다. 레벨의 완료시, 사용자에게는 그 레벨의 사용자의 게임플레이에 기반하여 게임 슬라이스 또는 미니게임을 발생시키는 옵션이 제공된다. 사용자가 게임 슬라이스를 발생시키기로 동의할 때, 그 후 스크린샷(504)에서 사용자에게는 사용자의 레코딩된 게임플레이로부터 게임 슬라이스에 대한 시작 포인트를 선택하는 인터페이스가 제시된다. 설명된 바와 같이, 게임플레이 타임라인의 표현은 사용자가 게임 슬라이스에 대한 시작 포인트를 지정하도록 움직일 수 있는 조절가능한 슬라이더와 보여질 수 있다. 사용자가 시작 포인트를 정의한 후에, 그 후 스크린샷(506)에서, 사용자에게는 게임 슬라이스에 대한 종료 포인트의 선택을 가능하게 하도록 구성된 인터페이스가 제시된다. 또다시, 조절가능한 슬라이더는 인터페이스에서 대표적 게임플레이 타임라인을 따라 종료 포인트를 지정하도록 사용자에 의해 움직여진다. 사용자의 게임플레이 타임라인으로부터 시작 및 종료 포인트가 지정된 후에, 게임 슬라이스 또는 미니게임이 여기 다른 곳에서 설명되는 바와 같이 시스템에 의해 발생된다. 스크린샷(508)에서, 사용자에게는, 새롭게 생성된 게임 슬라이스를 다른 사용자와 공유하거나 아니면 새롭게 발생된 게임 슬라이스를 다른 사용자에게 알려주는 옵션, 동일 게임플레이 타임라인으로부터 다른 게임 슬라이스를 발생시키는 옵션, 현재 비디오게임의 게임플레이를 계속하는 옵션, 사용자의 기존 게임 슬라이스를 보는 옵션 등과 같은, 부가적 옵션이 제시될 수 있다. 사용자가 그들의 기존 게임 슬라이스를 보기로 선택하면, 그때 스크린샷(510)에서는, 사용자의 이전 생성된 게임 슬라이스를 디스플레이하는 인터페이스가 보여진다. 도시된 실시예에 있어서, 사용자는, 스크린샷(512)에 도시된 바와 같이, 이전에 생성된 게임 슬라이스 중 하나를 선택하고, 그 게임 슬라이스와 관련된 정보 및 통계를 볼 수 있다. 소정 게임 슬라이스와 관련된 정보 및 통계는 이하의 것 중 어느 것을 포함할 수 있다: 게임 슬라이스의 타이틀, 게임 슬라이스가 원래 생성된 비디오게임, 게임 슬라이스가 생성된 일자, 게임 슬라이스가 다른 사용자에 의해 플레이된 횟수, 게임 슬라이스를 플레이하도록 착수한 사용자에 의해 완료되어 있는 게임 슬라이스의 평균 백분율을 나타내는 완료 백분율, 다른 사용자에 의해 남겨진 코멘트 등.5 illustrates a series of screenshots demonstrating a method for generating a minigame from an existing cloud-based videogame, in accordance with an embodiment of the present invention.
현재 설명된 실시예에서는 게임 슬라이스를 발생시키는 옵션이 비디오게임의 레벨의 완료에 뒤이어 사용자에게 제시되고 있더라도, 다른 실시예에서는, 게임 슬라이스에 대해 사용자에 의해 선택이 정의될 수 있는 비디오게임의 레코딩된 게임플레이가 존재하면, 사용자는 비디오게임의 게임플레이 동안 또는 그 외 어느 다른 시간에서라도 게임 슬라이스를 발생시킬 수 있음을 인식하여야 한다. 예를 들어, 일 실시예에서는 사용자와 연관되는 다양한 비디오 게임으로부터 다양한 레코딩된 게임플레이로의 액세스를 제공하는 인터페이스가 제시될 수 있다. 사용자는 특정 비디오게임의 게임플레이를 선택하고 여기에서 설명되는 실시예에 따라 게임 슬라이스를 발생시킬 레코딩된 게임플레이의 일부를 선택함으로써 게임 슬라이스를 발생시킬 수 있다.Although in the presently described embodiment the option to generate a game slice is presented to the user following completion of a level in the videogame, in another embodiment, a recorded videogame of a videogame in which selections can be defined by the user for the game slice. If gameplay is present, it should be appreciated that the user may generate game slices during gameplay of the videogame or at any other time. For example, in one embodiment, an interface may be presented that provides access to various recorded gameplay from various video games associated with the user. A user may generate a game slice by selecting the gameplay of a particular videogame and selecting a portion of the recorded gameplay for which to generate a game slice according to embodiments described herein.
도 6은, 본 발명의 일 실시예에 따라, 게임 슬라이스 코드를 발생시키기 위한 시스템을 예시하고 있다. 용어 게임 슬라이스 및 미니게임은 여기에서는 기존 레코딩된 게임플레이로부터 사용자 선택에 기반하여 발생되는 비디오게임의 디스크리트 및 플레이가능한 부분을 정의하도록 호환가능하게 사용된다. 도시된 실시예에 있어서, 사용자 게임플레이(600)는 비디오게임의 풀 버전과 대화하는 사용자를 개념적으로 표현한다. 주 게임 코드(602)는 사용자에 의해 디스플레이되는 비디오게임의 풀 버전을 정의하도록 실행된다. 비디오 게임이 플레이될 때, 그것은, 비디오 데이터, 게임 상태 데이터, 및 사용자 입력 데이터를 포함하는, 다양한 유형의 게임플레이 출력을 발생시킨다. 이들은 사용자의 레코딩된 게임플레이를 정의하도록 레코딩될 수 있다. 도시된 실시예에 있어서, 이미지 스트림(604)은 비디오게임에 의해 출력되는 비디오 데이터를 개념적으로 표현한다. 게임 상태 메타데이터(606) 및 사용자 입력 데이터(608)가 또한 도시되어 있다. 게임 상태 데이터(606)는 게임플레이 동안 순간순간 실행 중 비디오게임의 게임 상태를 정의하는 데이터를 포함한다. 게임 상태 데이터는 비디오게임의 실행 상태를 정의하는 어떠한 변수의 값이라도 포함할 수 있다. 사용자 입력 데이터는, 컨트롤러 디바이스 상의 입력 디바이스의 활성화, 센서 데이터(예를 들어, 모션 센서)의 검출, 캡처링된 오디오 입력 등을 통하여 제공될 수 있는 바와 같이, 비디오게임과의 대화 동안 일어나는 사용자 개시된 액션을 캡처링함으로써 발생된 데이터이다.6 illustrates a system for generating game slice codes, in accordance with an embodiment of the present invention. The terms game slice and minigame are used herein interchangeably to define discrete and playable portions of a videogame that are generated based on user selections from existing recorded gameplay. In the illustrated embodiment,
설명된 바와 같이, 사용자 인터페이스는 게임 슬라이스를 발생시킬 사용자의 게임플레이의 일부의 사용자에 의한 선택을 용이하게 하도록 사용자의 레코딩된 게임플레이를 그래픽 묘사할 수 있다. 도시된 실시예에 있어서, 사용자는 그들 레코딩된 게임플레이로부터 선택(610)을 정의하였다. 사용자의 레코딩된 게임플레이의 이러한 선택은 사용자의 게임플레이의 선택된 부분에 기반하여 제한된 게임을 정의하는 게임 슬라이스 코드(622)를 발생시키도록 게임 슬라이스 발생기에 의해 이용된다. 게임 슬라이스 발생기(612)는 레코딩된 선택(610)의 게임 상태를 분석하는 게임 상태 분석기(614)를 포함한다. 레코딩된 선택의 게임 상태의 분석에 기반하여, 게임 브레이크포인트 프로세서는 게임 슬라이스의 시작 및 종료를 정의하기에 적합한 브레이크포인트를 결정한다. 브레이크포인트는 지리, 시간, 과업 또는 목표 성취, 장면 경계(물리적 또는 시간적), 또는 비디오 게임의 게임플레이가 게임 슬라이스를 발생시키도록 따라 세그먼팅될 수 있는 비디오 게임의 어느 다른 태양에 기반하여 정의될 수 있다. 일부 예시적 실시예의 간략한 설명이 브레이크포인트 결정에 대한 특정 가능성을 강조하는 역할을 할 것이다.As described, the user interface may graphically depict the user's recorded gameplay to facilitate selection by the user of a portion of the user's gameplay to generate a game slice. In the illustrated embodiment, the user has defined
예를 들어, 일부 비디오 게임은 하나의 지리적 장면 또는 무대로부터 다른 장면 또는 무대로 이동될 수 있는 캐릭터의 제어를 수반한다. 사용자의 게임플레이의 선택된 부분은 특정 장면에서의 게임플레이로부터 발생되도록 결정될 수 있다. 그러한 일 실시예에 있어서, 특정 장면의 경계는 게임 슬라이스에 대한 지리적 브레이크포인트를 정의하여, 인접하지 않거나 맞닿지 않은 아니면 특정 장면과 덜 관련되거나 무관한 장면뿐만 아니라 다른 인접하거나 맞닿은 장면의 배제를 수반하는, 다른 장면의 배제로, 장면을 선택할 수 있다. 레코딩된 게임플레이 선택(610)은 다수의 장면으로부터의 게임플레이를 수반할 수 있고, 그 경우에, 게임 브레이크포인트 프로세서(616)는 레코딩된 게임플레이 선택을 위해 이용되는 다수의 장면의 경계에 따라 브레이크포인트를 정의하도록 구성될 수 있음을 인식하여야 한다.For example, some video games involve controlling a character that can be moved from one geographic scene or stage to another. A selected portion of the user's gameplay may be determined to result from gameplay in a particular scene. In one such embodiment, the boundaries of a particular scene define geographic breakpoints for the game slice, entailing the exclusion of non-adjacent or non-contiguous or less relevant or irrelevant scenes, as well as other adjacent or abutting scenes. A scene can be selected by excluding other scenes. The recorded
장면은 본질상 지리적이고 또한 시간적일 수 있음을 유념해야 한다. 즉, 장면은 비디오 게임에 의해 정의된 가상 공간 내 지리적 영역을 정의할 수 있을 뿐만 아니라, 또한 비디오 게임의 더 큰 맥락 내 특정 연대기적 포인트에서 또는 특정 시간 동안 존재하도록 구성될 수 있다. 그러한 장면은 플레이어에 의해 성취되어야 하는 목적 또는 목표를 정의하였을 수 있다. 그리하여, 게임 브레이크포인트는 비디오 게임에 의해 정의된 바와 같이 연대기적 또는 다른 시간적 태양에 기반하여 정의될 수 있다. It should be noted that a scene can be both geographical and temporal in nature. That is, a scene may not only define a geographic area within the virtual space defined by the video game, but may also be configured to exist at a specific chronological point or for a specific time within the larger context of the video game. Such a scene may have defined an objective or goal to be achieved by the player. Thus, game breakpoints may be defined based on chronological or other temporal aspects as defined by video games.
더욱, 소정 장면은 게임플레이 동안 장면의 일부분으로서 제시되는 물체 또는 피처(feature)를 연관시켰을 수 있다. 이들 물체 또는 피처는 그들 포함에 따라 추가적 브레이크포인트를 정의하도록 분석될 수 있다. 예를 들어, 장면 내 물체는 자산 라이브러리의 부분 집합으로부터 취해질 수 있고, 그 경우 자산 라이브러리의 부분 집합은, 레코딩된 게임플레이 선택과 연관된 장면(들)에서 이용되지 않는 자산 라이브러리 내 다른 물체를 배제하고, 게임 브레이크포인트 프로세서(616)에 의해 게임 슬라이스에 대해 정의될 수 있다. 물체 및 피처는 소정 장면의 동적 엘리먼트일 수 있으며, 연관된 메커니즘은 비디오 게임에서 일어나는 이벤트에 응답하여 그들 변화를 정의할 수 있음을 이해하여야 한다. 예를 들어, 물체는 그것이 손상될 때(예를 들어, 무기에 맞았을 때) 물체의 외관을 결정 및 조절하는 손상 모델링 모듈을 갖고 있을 수 있다. 또는 피처는 장면 동안 이용가능하게 되는 차량일 수 있으며, 차량은 게임플레이 동안 그 외관과 더불어 그 조작 및 사용자 입력에 대한 반응도 정의하는 로직을 연관시켰을 수 있다. 그러한 로직 또는 손상 모델링은 게임 슬라이스의 발생을 위한 게임 브레이크포인트를 더 정의할 수 있다.Moreover, certain scenes may have associated objects or features that are presented as part of the scene during gameplay. These objects or features can be analyzed to define additional breakpoints according to their inclusion. For example, objects in a scene may be taken from a subset of the asset library, in which case the subset of the asset library excludes other objects in the asset library that are not used in the scene(s) associated with the recorded gameplay selection and , may be defined for the game slice by the
비디오 게임의 선택된 부분에 대해 이용되거나 그렇지 않으면 정의하는 비디오 게임의 다양한 태양이 게임 브레이크포인트를 정의하기 위한 기반일 수 있다. 현재 설명되는 예들은 단지 예로서 제공될 뿐이고 제한으로서가 아니다. 다른 실시예에 있어서, 비디오 게임의 다른 태양이 게임 슬라이스를 발생시킬 브레이크포인트를 정의하기 위한 기반을 형성할 수 있다.Various aspects of a video game that are used or otherwise defined for a selected portion of the video game may be the basis for defining game breakpoints. The examples currently described are provided by way of example only and not limitation. In other embodiments, other aspects of a video game may form the basis for defining breakpoints at which game slices will occur.
일 실시예에 있어서, 비디오 게임은, 나중 장면은 그 선행하는 장면이 우선 완료될 때까지 시도될 수 없게 되도록, 선형 방식으로 완료되어야 하는 다양한 장면으로 조직될 수 있다. 각각의 장면은 여러 목적 또는 목표를 포함할 수 있으며, 그 중 일부는 장면의 완료에 요구될 수 있고, 그 중 일부는 장면의 완료에 선택사항일 수 있다. 목적은 장면 내 미리 정의된 종료 위치로 시작 위치로부터 항행하는 것, 미리 정의된 시간 길이 동안 살아남는 것, 미리 정의된 수의 적을 죽이는 것, 소정 수의 포인트를 취득하는 것, 특정 적을 물리치는 것, 또는 게임 내 목적을 정의할 수 있는 어떠한 다른 활동이라도 포함할 수 있다. 장면은 다양한 미리 정의된 완료 포인트, 즉, 사용자가, 완료 포인트를 달성하고 나면, 사용자가 어떤 이유(예를 들어, 사용자가 게임을 그만 둠, 사용자의 캐릭터가 죽거나 생명 또는 건강을 다함, 사용자의 차량 박살 등)로 게임플레이를 계속할 수 없게 되면 그 포인트로 복귀할 수 있는 포인트를 가질 수 있다. 미리 정의된 완료 포인트에서, 비디오 게임은 사용자의 진행을 자동으로 저장하거나, 또는 그들 진행을 저장하는 옵션을 사용자에게 제시하도록 구성될 수 있다.In one embodiment, the video game may be organized into various scenes that must be completed in a linear fashion such that later scenes cannot be attempted until their predecessors have been completed first. Each scene may include several objectives or goals, some of which may be required for completion of the scene, some of which may be optional for completion of the scene. The objective is to navigate from the starting position to a predefined end position in the scene, to survive for a predefined length of time, to kill a predefined number of enemies, to obtain a predefined number of points, to defeat a specific enemy, or any other activity that may define an in-game purpose. A scene may contain a variety of predefined completion points, i.e., once the user achieves the completion point, the user may be prompted for some reason (e.g., the user quits the game, the user's character dies or runs out of life or health, the user's If you can't continue gameplay due to a vehicle smashed, etc.), you can have points to return to those points. At a predefined point of completion, the video game may be configured to automatically save the user's progress, or to present the user an option to save their progress.
일 실시예에 있어서, 게임 브레이크포인트 프로세서(616)는 미리 정의된 완료 포인트에서 게임 브레이크포인트를 정의하도록 구성된다. 일 실시예에 있어서, 이것은, 사용자의 레코딩된 게임플레이 선택의 선택된 시작 및 종료 포인트에 가장 가까운 완료 포인트를 찾고, 그리고 이들 가장 가까운 완료 포인트를 이용하여 게임 슬라이스에 대한 게임 브레이크포인트를 정의함으로써 성취된다. 다른 일 실시예에 있어서, 레코딩된 게임플레이 선택의 선택된 시작 포인트 전에 일어나는 가장 가까운 완료 포인트는 시작 브레이크포인트를 정의하도록 이용되는 반면, 레코딩된 게임플레이 선택의 선택된 종료 포인트 후에 일어나는 가장 가까운 완료 포인트는 게임 슬라이스의 생성을 위한 종료 브레이크포인트를 정의하도록 이용된다. 또 다른 일 실시예에 있어서, 완료 포인트가 사용자의 레코딩된 게임플레이 선택의 시작 또는 종료 포인트 중 어느 하나의 (예를 들어, 그 전이든 그 후이든) 미리 정의된 반경 내 놓여 있으면, 그때 그 완료 포인트는 게임 슬라이스에 대한 대응하는 시작 또는 종료 게임 브레이크포인트를 정의하도록 이용된다. 반면에, 완료 포인트가 미리 정의된 반경 내에 놓여 있지 않으면, 그때는 레코딩된 선택에 대한 사용자의 선택된 시작 또는 종료 포인트와 더 밀접하게 매칭하는 게임 브레이크포인트가 정의된다. 다른 실시예에 있어서, 시작 및 종료 포인트에 대한 미리 정의된 반경은 게임 브레이크포인트를 정의하는데 기존 완료 포인트를 이용할지 결정하려는 목적으로 다를 수 있다.In one embodiment, the
논의된 바와 같이, 게임 브레이크포인트 프로세서(616)는 사용자 레코딩된 게임플레이 선택의 분석에 기반하여 비디오게임의 다양한 태양에 적용가능한 적합한 브레이크포인트를 결정한다. 프로세서(616)에 의해 정의된 브레이크포인트는 사용자 레코딩된 게임플레이 선택에 기반하여 산출될 게임 슬라이스의 제한된 범위를 정의하는 역할을 한다. 일 실시예에 있어서, 오버레이 프로세서(617)는 게임 슬라이스 발생기(612)에 의해 발생된 게임 슬라이스를 플레이할 때 개선된 사용자 체험에 기여할 수 있는 오버레이를 발생시키도록 제공된다. 예를 들어, 일 실시예에 있어서, 오버레이 프로세서(617)는 게임 슬라이스의 실제 게임플레이 이전에 게임 슬라이스로의 도입부로서 제공될 수 있는 비디오 또는 게임플레이 또는 부가적 정보를 정의하는 프리-게임 슬라이스 데이터를 정의한다. 프리-게임 슬라이스 데이터의 일례는 슬라이스가 된 게임플레이를 개시하는 사용자에게 맥락을 제공할 수 있는 입문 비디오이다. 다른 일 실시예에 있어서, 프리게임 슬라이스 데이터는, 슬라이스 게임을 플레이하는데 요구되거나 유용할 수 있는 스킬을 배울 기회를 사용자에게 제공할 수 있는, 게임 슬라이스에 대한 입문 게임플레이를 정의할 수 있다. 다른 일 실시예에 있어서, 프리게임 슬라이스 데이터는 게임 슬라이스에 대한 정보를 사용자에게 제공하는 일련의 하나 이상의 정보 스크린 또는 이미지를 정의할 수 있다. 그러한 정보는 사용자에게 유용하거나 아니면 게임 슬라이스를 플레이하는 사용자의 체험을 개선할 수 있는 게임 슬라이스와 관련한 컨트롤러 구성, 스토리 배경 정보, 목적 또는 목표, 맵, 또는 어느 다른 유형의 정보를 포함할 수 있다.As discussed, the
오버레이 프로세서(617)는 또한 포스트게임 슬라이스 데이터를 정의하도록 구성될 수 있다. 일부 실시예에 있어서, 포스트게임 슬라이스 데이터는 게임 슬라이스의 게임 플레이의 완료에 뒤이어 보여질 비디오 또는 이미지를 정의할 수 있다. 예를 들어, 사용자가 게임 슬라이스를 완료한 후에 축하 비디오가 보여질 수 있다. 그러한 비디오는, 예를 들어, 사용자의 게임플레이에 기반하는 정보 또는 이미지를 보여줌으로써 게임 슬라이스의 사용자의 게임플레이에 기반하여 커스터마이징될 수 있다. 일 실시예에 있어서, 포스트게임 슬라이스 데이터는 그 완료에 뒤이어 게임 슬라이스의 사용자의 게임플레이의 레코딩된 부분을 플레이하는 재생 메커니즘을 정의할 수 있다. 다른 일 실시예에 있어서, 포스트게임 슬라이스 데이터는 게임 슬라이스의 사용자 게임플레이에 대한 통계를 디스플레이하도록 구성될 수 있고, 게임 슬라이스의 원래 생성자의 것 또는 다른 사용자의 것에 대해 사용자 게임플레이의 비교를 나타낼 수 있다. 또 다른 실시예에 있어서, 포스트게임 슬라이스 데이터는 게임 슬라이스의 완료시 사용자에게 제시될 부가적 대화형 엘리먼트를 정의할 수 있다. 이들은 게임 슬라이스가 기반하는 비디오 게임을 전체로 또는 부분적으로 구입하는 옵션, 비디오게임과 관련한 부가적 정보 소스로의 리디렉트 옵션 등을 포함할 수 있다.The
일부 실시예에 있어서, 오버레이 프로세서(617)는 게임 슬라이스 내로 오버레이되는 엘리먼트를 정의하도록 구성될 수 있다. 이들은, 캐릭터, 물체, 속성, 및 다른 유형의 커스터마이징 옵션의 커스터마이징과 같이, 게임 슬라이스를 플레이하는 사용자에 의해 커스터마이징될 수 있는 엘리먼트를 포함할 수 있다. 일부 실시예에 있어서, 오버레이 프로세서(617)는 게임 슬라이스를 실행하는데 요구되는 자원량 및 게임 슬라이스 코드의 복잡도를 감축하도록 게임 슬라이스에 대해 단순화된 엘리먼트를 정의하도록 구성될 수 있다. 예로서, 많은 비디오 게임은 캐릭터, 차량, 적 등과 같은 인공 지능(AI) 엔티티를 포함한다. 이들 AI 엔티티는 풀 비디오게임에서는 비디오게임에서 일어나는 이벤트에 기반하여 AI 엔티티의 리액션 및 활동을 정의하는 인공 지능 모델에 의해 지배될 수 있다. 그렇지만, 제한된 범위인 게임 슬라이스의 맥락에서는, 풀 비디오게임에서 그러할 바와 같이 AI 엔티티의 활동을 풀 모델링하기보다는, 하드코딩된 정의 또는 단순화된 외삽을 통해 AI 엔티티의 활동을 단순히 정의하는 것이 수용가능할 수 있다. In some embodiments,
예를 들어, 풀 비디오게임의 레코딩된 게임플레이 선택에 있어서 소정 AI 캐릭터가 게임 슬라이스에서 변화할 것 같지 않은 그 AI 모델에 따라 특정 방식으로 움직이면, 그때는 게임 슬라이스에 대한 AI 캐릭터의 움직임의 근사를 정의하는 것이 더 효율적일 수 있다. 그러한 근사는 게임 슬라이스 코드의 일부분으로서 풀 AI 모델이 포함될 것을 요구하지는 않을 것이지만, 게임 슬라이스를 플레이하는 사용자에게 그 AI 캐릭터에 관해 게임 슬라이스가 발생된 원래 사용자의 게임 플레이의 것과 실질적으로 유사한 체험을 제공할 것이다. AI 엔티티의 근사를 통해 실현된 자원 절약은 사용자의 레코딩된 게임플레이 선택에서 다수의 AI 엔티티가 존재하여 대화하고 있을 때 훨씬 더 상당할 수 있다. AI 엔티티의 각각에 대하여 다른 AI 엔티티의 것들의 출력에 종속하는 AI 모델을 가질 수 있다. 그렇지만, 게임플레이가 레코딩되었을 때 이들 AI 엔티티의 각각의 활동은 알려져 있고, 그래서 그들 활동의 근사 및 그들 제어 변수의 직접 인코딩과 같은 단순화된 메커니즘을 통해 게임 슬라이스에서 재현될 수 있다.For example, in the recorded gameplay selection of a full videogame, if a given AI character moves in a certain way according to that AI model, which is unlikely to change in the game slice, then an approximation of the AI character's motion relative to the game slice It may be more efficient to define Such an approximation would not require the full AI model to be included as part of the game slice code, but would provide a user playing a game slice with an experience substantially similar to that of the original user's gameplay for which the game slice was generated for that AI character. something to do. The resource savings realized through approximation of AI entities can be even more significant when multiple AI entities are present and conversing in the user's recorded gameplay choices. For each of the AI entities you can have an AI model that depends on the output of those of the other AI entities. However, the activities of each of these AI entities are known when the gameplay is recorded, so they can be reproduced in the game slice through simplified mechanisms such as approximation of their activities and direct encoding of their control variables.
도 6을 계속 참조하면, 게임 설정 상태 프로세서(618)는 게임 슬라이스의 초기 상태를 정의하도록 제공된다. 게임 상태 분석기(614), 게임 브레이크포인트 프로세서(616), 및 게임 설정 상태 프로세서(618)의 연산에 기반하여, 코드 어셈블리 매니저(620)는 게임 슬라이스 코드(622)를 정의하도록 다양한 코드 부분을 어셈블링한다. 게임 슬라이스 코드(622)가 실행될 때, 사용자 게임플레이(624)는, 사용자에게 게임 슬라이스를 렌더링하도록 비디오 데이터 및 피드백 데이터를 포함하는 게임플레이 출력을 산출하는, 게임 슬라이스 코드의 실행의 상태를 정의하도록 입력을 제공한다. 비디오 데이터는 프리게임 슬라이스 오버레이 비디오(622), 게임 슬라이스의 게임플레이로부터 초래되는 비디오인 게임 슬라이스 비디오(624), 및 포스트게임 슬라이스 오버레이 비디오(626)를 포함할 수 있다.With continued reference to FIG. 6 , a game
일 실시예에 있어서, 게임 슬라이스 코드(622)는, 게임 슬라이스를 실행하도록 요구되는 모든 코드 부분을 포함하여, 완전히 자체-포함되어 있음을 인식하여야 한다. 그렇지만, 다른 실시예에 있어서, 게임 슬라이스 코드(622)는 풀 비디오 게임의 주 게임 코드 내 기존 코드 부분으로의 참조 또는 포인터를 편입시킬 수 있다. 더욱, 게임 슬라이스 코드(622)는 풀 비디오 게임의 주 게임 코드의 자산 라이브러리 내 기존 자산을 이용하거나 참조를 포함할 수 있다. 그렇지만, 다른 실시예에 있어서는, 새로운 자산 라이브러리가 게임 슬라이스 코드에 대해 발생될 수 있다.It should be noted that, in one embodiment, the
도 7a는, 본 발명의 일 실시예에 따라, 비디오 게임의 게임 슬라이스를 발생시키려는 목적으로 가상 공간의 수정을 예시하고 있다. 맵(700)은 비디오 게임의 지리적 부분 또는 장면을 표현한다. 도시된 바와 같은 맵은 비디오 게임의 실제 게임플레이 동안 항행 및 체험되는 3-차원 가상 공간을 표현할 수 있는 2-차원 표현이다. 도시된 바와 같이, 맵(700)은 영역(702), 및 수개의 경로(704, 706, 708, 710)를 예시하고 있다. 비디오 게임의 레코딩된 게임플레이에 있어서, 사용자의 캐릭터(712)는 영역(702)으로부터 경로(710)로 이동한다. 비디오 게임의 게임플레이의 이러한 레코딩된 이동 및 다른 분석에 기반하여, 부가적 경로(704, 706, 708)가 그 게임 슬라이스의 발생에는 필요하지 않다고 결정될 수 있다. 그 경로들은 경로(710)에 비해 옳지 않은 선택을 표현할 수 있거나, 게임 슬라이스와 관련 없는 구역에 이를 수 있거나, 경로를 따르고 원래 사용자의 것과 유사한 게임플레이를 체험할 수 있는 게임 슬라이스 플레이어의 능력을 손상시킬 수 있다. 더욱, 경로(704, 706, 708)가 이르게 되는 구역이 게임 슬라이스에서 지원되지 않는 것이면, 그때 그러한 경로의 포함은 플레이어들 간 혼동을 야기하거나, 적어도 불량한 사용자 체험일 수 있다. 그래서, 수정된 맵(720)에서, 경로(704, 706, 708)는 게임 슬라이스에서의 게임플레이에 이용불가능하게 되는 반면, 경로(710)와 더불어 영역(702)은 변하지 않고 남아있다. 그리하여, 사용자가 맵(720)에 의해 정의된 토포그래피를 편입시키는 게임 슬라이스를 플레이할 때, 그는 경로(704, 706, 708)가 횡단에 이용가능하지 않은 가상 공간을 체험할 것이다. 그때 사용자는 원래 사용자가 했었던 바와 같이 경로(710)를 횡단할 가능성이 더 클 것이고, 그리하여 유사한 게임플레이를 체험한다.7A illustrates a modification of a virtual space for the purpose of generating a game slice of a video game, in accordance with an embodiment of the present invention.
게임 슬라이스 또는 미니게임에 대해 정의된 가상 공간의 부분은 사용자의 레코딩된 게임플레이에 기반하여 결정되는 경계에 의해 정의될 수 있음을 인식할 것이다. 경계는 더 큰 가상 공간의 부분-영역을 정의하고, 더 큰 가상 공간에서 이용가능한 피처의 부분 집합을 포함할 것이다. 일부 실시예에 있어서, 가상 공간 경계는 사용자의 게임플레이에 의해 정의된 가상 공간 내 위치를 결정하고, 그 후 그들 위치에 가장 가깝고 그것들을 망라하도록 배열되는 가상 공간과 연관된 미리 정의된 경계를 결정함으로써 결정될 수 있다. 예를 들어, 사용자의 게임플레이는 사용자의 비디오 게임 캐릭터에 의해 횡단된 경로를 정의할 수 있다. 이러한 경로는 분석될 수 있고, 가상 공간 내 경로의 위치에 기반하여, 미리 정의된 경계 세트가 그 경로를 망라하는 영역을 정의하도록 선택될 수 있다. 일부 실시예에 있어서, 미리 정의된 경계는 가상 공간의 부분들을 고유하게 정의하는 특정 피처, 예를 들어, 문, 창, 벽, 방, 복도, 펜스, 도로, 교차로, 복도 등에 의해 정의될 수 있다.It will be appreciated that the portion of virtual space defined for a game slice or minigame may be defined by boundaries determined based on the user's recorded gameplay. A boundary defines a sub-region of a larger virtual space and will contain a subset of features available in the larger virtual space. In some embodiments, the virtual space boundary is determined by determining a location within the virtual space defined by the user's gameplay, and then determining a predefined boundary associated with the virtual space that is closest to and arranged to encompass them. can be decided. For example, the user's gameplay may define a path traversed by the user's video game character. This path may be analyzed and, based on the path's location in virtual space, a predefined set of boundaries may be selected to define an area encompassing the path. In some embodiments, predefined boundaries may be defined by specific features that uniquely define portions of virtual space, eg, doors, windows, walls, rooms, corridors, fences, roads, intersections, corridors, etc. .
도 7b는, 본 발명의 실시예에 따라, 게임 슬라이스를 발생시키려는 목적으로 장면 그래프의 수정을 예시하고 있다. 장면 그래프(730)는 비디오 게임의 다양한 장면(A 내지 G)의 조직을 개념적으로 예시하고 있다. 여기에서 설명된 바와 같은 장면은 본질상 지리적 및/또는 시간적일 수 있고, 각각은 플레이어가 하나의 장면으로부터 다른 장면으로 따라 진행할 수 있는 비디오게임 내 스테이지, 레벨, 섹션, 위치 또는 어느 다른 조직적 유닛과 같은, 비디오게임의 플레이가능한 부분을 표현할 수 있다. 장면 그래프(730)에서는, 장면(A 내지 G)을 표현하는 다양한 노드가 도시되어 있다. 도시된 바와 같이, 플레이어는 장면(A)으로부터 장면(B)으로, 그리고 장면(B)으로부터 장면(D 또는 E) 중 어느 하나로 진행할 수 있다. 플레이어는 또한 장면(A)으로부터 장면(C)으로, 그리고 장면(C)으로부터 장면(F 또는 G) 중 어느 하나로 진행할 수 있다. 장면 그래프(730)는 풀 비디오 게임의 장면 조직을 예시하고 있다. 그렇지만, 게임 슬라이스를 생성하려는 목적으로, 이용가능한 장면 중 전부가 게임 슬라이스에 요구되는 것은 아닐 수 있다. 그리하여, 예로서, 장면 그래프(732)는 게임 슬라이스에 대한 장면의 조직을 예시하고 있다. 도시된 바와 같이, 장면 그래프(732)는 장면(A, B, C, F)을 포함하지만, 풀 비디오 게임의 장면 그래프(730)에 포함되었던 나머지 장면은 포함하지 않는다. 그리하여, 사용자는 장면(A)으로부터 장면(B 또는 C) 중 어느 하나로, 그리고 장면(C)으로부터 장면(F)으로 진행할 수 있다. 그렇지만, 풀 비디오 게임 장면 그래프(730)로부터의 다른 장면은 게임 슬라이스에서의 게임플레이에는 이용가능하지 않다. 설명된 바와 같이, 본 발명의 실시예에 따른 시스템은 게임 슬라이스를 발생시킬 때 장면의 포함을 제한하도록 구성될 수 있다. 이러한 방식으로, 게임 슬라이스는 그 게임플레이의 제한된 맥락 및 의도된 목적에 요구되지 않는 장면을 포함하지 않는다.7B illustrates a modification of a scene graph for the purpose of generating a game slice, in accordance with an embodiment of the present invention. The
도 8은, 본 발명의 일 실시예에 따라, 게임 슬라이스를 발생시키기 위한 방법을 예시하고 있다. 방법 연산(800)에서, 비디오게임의 사용자 게임플레이는 레코딩되며, 비디오게임의 게임 상태 데이터 및 입력 데이터와 같은 비디오게임 데이터 및 사용자 게임플레이의 비디오의 레코딩을 포함한다. 방법 연산(802)에서는 게임 슬라이스를 발생시키도록 레코딩된 게임플레이의 선택을 위해 사용자 인터페이스가 제시된다. 인터페이스는 레코딩된 게임플레이로부터 시작 및 종료 포인트를 정의하도록 사용자 입력을 수신하기 위한 메커니즘을 정의한다. 예를 들어, 레코딩된 게임플레이 비디오를 검토하기 위한 인터페이스는 게임플레이 비디오의 재생 또는 항행에 기반하여 게임플레이 비디오 내 시작 및 종료 포인트를 사용자가 정의 가능하게 하도록 제공될 수 있다. 방법 연산(804)에서는, 게임플레이 비디오의 사용자-정의된 선택이 수신된다. 방법 연산(806)에서, 비디오게임 브레이크포인트는 게임플레이 비디오의 수신된 사용자-정의된 선택에 기반하여 식별된다. 일 실시예에 있어서는, 비디오게임에 대해 미리 정의된 브레이크포인트가 있다. 게임플레이 비디오의 사용자-정의된 선택에 기반하여, 사용자-정의된 선택의 시작 및 종료 포인트에 가장 가까운 게임 브레이크포인트는 발생될 게임 슬라이스에 대한 게임 브레이크포인트로서 선택될 수 있다. 방법 연산(808)에서는, 게임 코드가 식별된 브레이크포인트에 의해 정의된 바와 같은 슬라이스 선택에 대해 정의된다. 방법 연산(810)에서는, 게임 설정 상태가 슬라이스 선택에 대해 정의된다. 일 실시예에 있어서, 게임 설정 상태는 사용자의 레코딩된 게임플레이 동안 존재한 게임 상태에 기반한다. 방법 연산(812)에서는, 게임 슬라이스 코드가 발생되고, 방법 연산(814)에서는, 게임 슬라이스 코드가 게임 슬라이스 라이브러리에 저장되고 사용자의 계정과 연관된다.8 illustrates a method for generating a game slice, according to an embodiment of the present invention. In
일 실시예에 있어서, 방법은 제안된 게임 슬라이스 비디오 선택이 사용자의 레코딩된 게임플레이 비디오 및 데이터에 기반하여 발생되는 방법 연산(816)을 포함할 수 있다. 사용자 게임플레이의 제안된 선택은 사용자의 레코딩된 게임플레이의 분석에 기반하여 결정될 수 있다. 예를 들어, 더 높은 활동 레벨(예를 들어, 미리 정의된 임계치를 초과하는 활동 레벨)이 검출되는 게임플레이의 부분이 가능한 게임 슬라이스 비디오 선택으로서 제안될 수 있다. 방법 연산(818)에서, 게임 슬라이스 선택을 위한 전술한 사용자 인터페이스는 제안된 게임 슬라이스 비디오 선택을 사용자에게 제시할 수 있다. 일 실시예에 있어서는, 각각의 제안된 게임 슬라이스 비디오 선택을 표현하는 스크린샷이 사용자에게 제시될 수 있다. 방법 연산(820)에서는 제안된 게임 슬라이스 비디오 선택 중 하나의 사용자에 의한 선택이 수신된다. 사용자 선택에 기반하여, 게임 슬라이스 코드가 앞서 설명된 바와 같이 발생 및 저장될 수 있다.In one embodiment, the method may include a
도 9a는, 본 발명의 일 실시예에 따라, 다양한 게임 타이틀과 연관된 게임 슬라이스를 브라우징하기 위한 인터페이스를 예시하고 있다. 도시된 실시예에 있어서, 인터페이스는 선택될 때 여러 다른 게임 타이틀에 대응하는 다양한 페이지로의 액세스를 제공하는, 탭(900, 902, 904)을 포함하는, 일련의 탭으로 조직된다. 도시된 실시예에 있어서는, 탭(900)이 현재 선택되어서, 제시된 페이지는 특정 게임 타이틀(T1)에 대해 생성된 게임 슬라이스에 대한 정보를 제공한다. 게임 슬라이스 목록(904)은 게임 타이틀(T1)로부터 생성되었던 다양한 게임 슬라이스를 열거하고 있다. 일 실시예에 있어서, 게임 슬라이스 목록(904)은 또한 게임 슬라이스를 생성한 사용자를 식별시킨다(예를 들어, 게임 슬라이스를 생성한 사용자의 사용자명을 디스플레이한다). 일 실시예에 있어서, 게임 슬라이스 목록(904)은 게임 슬라이스 목록(904) 내 열거된 게임 슬라이스 중 다른 것들을 하이라이트 표시하도록 항행 또는 브라우징될 수 있다. 도시된 실시예에서는, 사용자(A)에 의해 생성된 게임 슬라이스(A)가 현재 하이라이트 표시되어, 게임 슬라이스(A)와 관련한 상세(906)가 디스플레이되게 야기한다. 상세(906)는, 게임 슬라이스가 발생된 레벨 또는 스테이지, 게임 슬라이스가 생성된 위치에 대한 더 구체적 정보를 제공하는 게임 상세, 게임 슬라이스를 생성한 사용자(A)에 의한 코멘트, 타인으로부터의 코멘트의 수, 게임 슬라이스가 플레이된 횟수, 또는 게임 슬라이스의 목록이 하이라이트 표시될 때 제공될 수 있는 게임 슬라이스에 대한 어느 다른 유형의 정보와 같은, 게임 슬라이스와 관련된 다양한 종류의 정보를 포함할 수 있다.9A illustrates an interface for browsing game slices associated with various game titles, in accordance with an embodiment of the present invention. In the illustrated embodiment, the interface is organized into a series of tabs, including
도 9b는, 본 발명의 일 실시예에 따라, 게임 슬라이스 정보 페이지를 예시하고 있다. 게임 슬라이스 정보 페이지는 도 9a를 참조하여 논의된 게임 슬라이스(A)에 대한 것이고, 도 9a에 도시된 바와 같이 게임 슬라이스(A)의 목록을 사용자가 선택할 때 도달될 수 있다. 도 9b를 계속 참조하면, 게임 슬라이스 정보 페이지는 게임 슬라이스와 관련된 다양한 종류의 정보를 제공한다. 게임 슬라이스에 대한 서지 정보(예를 들어, 타이틀, 게임 슬라이스를 생성한 사용자의 사용자명, 생성 일자 등)에 부가하여, 게임 슬라이스의 비디오(910)가 디스플레이될 수 있다. 일 실시예에 있어서, 비디오(910)는 게임 슬라이스를 생성한 원래 사용자의 레코딩된 게임플레이 비디오이다. 다른 일 실시예에 있어서, 비디오(910)는, 게임 슬라이스에서 가장 높은 득점을 달성한 사용자, 또는 게임 슬라이스를 가장 최근에 플레이한 사용자와 같은, 다른 사용자의 레코딩된 게임플레이 비디오일 수 있다. 일 실시예에 있어서, 비디오(910)는 게임 슬라이스를 현재 플레이하고 있는 사용자의 라이브 피드일 수 있다. 다른 실시예에서는, 비디오 대신에 게임 슬라이스의 대표적 이미지가 보여질 수 있다.9B illustrates a game slice information page, in accordance with an embodiment of the present invention. The game slice information page is for the game slice (A) discussed with reference to FIG. 9A and can be reached when the user selects a list of game slices (A) as shown in FIG. 9A . With continued reference to FIG. 9B , the game slice information page provides various types of information related to game slices. In addition to bibliographic information about the game slice (eg, title, username of the user who created the game slice, creation date, etc.), a
게임 슬라이스 정보 페이지는 게임 슬라이스의 게임플레이를 개시하기 위한 선택가능한 버튼(912)을 더 포함할 수 있다. 게임 슬라이스 정보 페이지는 또한, 플레이의 수, 평균 완료율 등과 같은, 게임 슬라이스에 대한 다양한 상세 및 통계 정보의 특징을 나타낼 수 있는, 상세 섹션(914)을 포함할 수 있다. 게임 슬라이스 정보 페이지는 또한, 사용자들에 의해 남겨진 코멘트를 특징으로 하는, 코멘트 섹션(916)을 포함할 수 있다. 분류 버튼(918)은 코멘트를 분류하기 위한 다양한 옵션을 선택하도록 제공될 수 있다(예를 들어, 연대기 순서, 역 연대기 순서, 가장 인기 있는 것, 순위 평가로, 현재 사용자에 대한 관계로(예를 들어, 소셜 그래프 내 사용자의 친구에 의한 코멘트가 우선순위) 등).The game slice information page may further include a
도 10은, 본 발명의 일 실시예에 따라, 클라우드 게이밍 소셜 네트워크 내 친구의 라이브 뷰를 포함하는, 사용자의 계정 정보의 뷰를 예시하고 있다. 라이브러리 섹션(1002)은 사용자의 라이브러리 내 다양한 게임 타이틀을 디스플레이한다. 이들은 사용자가 구입하였거나 아니면 취득한 게임 타이틀일 수 있다. 게임 타이틀의 디스플레이는, 타이틀 정보에 부가하여, 대표적 그래픽의 디스플레이를 포함할 수 있다. 게임은 풀 버전 게임 타이틀일 수 있지만, 각각 풀 버전 게임 타이틀의 일부이거나 풀 버전 게임 타이틀에 비해 일부 용량이 제한될 수 있는, 제한된 버전인 미니 버전일 수도 있음을 인식할 것이다. 친구 목록(1004)은 클라우드 게이밍 시스템과 연관된 소셜 네트워크 내 현재 사용자의 친구(즉, 현재 사용자의 소셜 그래프 내 다른 사용자)를 열거한다. 소셜 네트워크는 클라우드 게이밍 시스템에 특정한 소셜 네트워크일 수 있거나, 클라우드 게이밍 시스템이 사용자의 소셜 그래프에 대한 정보를 획득하도록 통신하는, 클라우드 게이밍 시스템과는 별개로 존재하는 (제3자) 소셜 네트워크일 수도 있다. 친구 목록(1004)은, 각각의 친구에 의해 소유되는 게임을 묘사하는 것, 친구의 온라인 상태(예를 들어, 온라인, 오프라인, 비활동 등)를 식별시키는 것, 친구의 마지막 로그인 및 그 지속시간, 친구에 의해 플레이된 마지막 게임 등과 같은, 사용자의 친구에 대한 부가적 정보를 포함할 수 있다.10 illustrates a view of a user's account information, including a live view of a friend in a cloud gaming social network, in accordance with an embodiment of the present invention. The
일 실시예에 있어서, 라이브 활동 사용자 섹션(1006)은 현재 온라인으로 있고 비디오 게임을 플레이하고 있을 수 있는 친구의 게임플레이의 라이브 뷰를 제공한다. 일 실시예에 있어서, 각각의 사용자는 그들의 라이브 게임플레이를 다른 사용자에 의한 라이브 보기에 이용가능하게 할지 여부를 정의하는 옵션을 갖는다. 그러한 일 실시예에 있어서, 라이브 뷰는 그들의 라이브 게임플레이가 다른 사용자에 의해 보일 수 있게 허용하도록 지정된 옵션을 갖는 그들 사용자로부터만 제시된다. 도시된 실시예에 있어서, 라이브 활동 사용자 섹션(1006)은 친구(A)의 현재 게임플레이의 라이브 뷰(1008)와 더불어, 친구(B)의 현재 게임플레이의 라이브 뷰(1010)도 포함한다. 일 실시예에 있어서, 현재 사용자는 친구 목록(1004)의 친구를 항행 또는 브라우징하고 그리고/또는 라이브 활동 사용자 섹션(1006)에서 이용가능한 라이브 뷰를 브라우징할 수 있다. 일 실시예에 있어서, 라이브 뷰는 현재 사용자가 거기로 항행할 때 하이라이트 표시될 수 있고, 다른 라이브 뷰와는 구별되는 방식으로 렌더링될 수 있다. 예를 들어, 라이브 뷰는 디폴트로 채도가 감소된 컬러 기법으로 디스플레이될 수 있지만, 하이라이트 표시되거나 선택될 때는 완전 채도의 컬러 기법으로 디스플레이될 수 있다. 라이브 뷰는 디폴트로 또한 더 낮은 해상도, 프레임레이트 또는 사이즈로 디스플레이될 수 있지만, 선택될 때는 더 높은 해상도, 프레임레이트 또는 사이즈로 디스플레이될 수 있다. 이러한 방식으로, 대역폭은, 사용자가 보기에 관심 있는 라이브 뷰를 동시에 활동하고 있을 수 있는 다른 라이브 뷰보다 더 큰 하이파이로 제공하도록, 사용자 선택에 기반하여 특정 라이브 뷰에 할당될 수 있다. 라이브 뷰는 단지 비디오 게임의 특정 게임플레이만이 아니라, 그들 클라우드 게이밍 세션과 관련된 다른 유형의 활동 또는 메뉴를 통한 그들의 항행과 같이, 클라우드 게이밍 시스템 상의 친구의 다른 활동도 디스플레이할 수 있음을 인식하여야 한다.In one embodiment, the live
일 실시예에 있어서, 라이브 뷰는 비디오 게임의 게임플레이에 현재 활동적으로 참여하고 있는 그들 사용자에게만 이용가능하다. 환언하면, 사용자가 오프라인으로 있거나, 온라인이지만 비디오 게임의 게임플레이에 활동적으로 참여하고 있지 않을 때는 소정 사용자의 라이브 뷰가 이용가능하지 않다. 그리하여, 사용자가 클라우드 게이밍 시스템 상에서 다른 비-게임플레이 활동을 수행(예를 들어, 시스템에 로그인하는 동안 클라우드 게이밍 시스템의 그래픽 인터페이스를 항행)하고 있을 때, 그러한 활동은 타인이 보도록 라이브 피드에서 이용가능하게 되지 않는다. 다른 일 실시예에 있어서, 라이브 뷰는, 사용자의 게임플레이와 더불어 다른 비-게임플레이 활동도 포함하는, 클라우드 게이밍 시스템에 로그인되는 사용자의 모든 활동을 포함할 수 있다. In one embodiment, the live view is only available to those users who are currently actively participating in the gameplay of the video game. In other words, a live view of a given user is not available when the user is offline or online but not actively participating in the gameplay of the video game. Thus, when the user is performing other non-gameplay activities on the cloud gaming system (eg, navigating the graphical interface of the cloud gaming system while logging into the system), those activities are available in the live feed for others to view. not done In another embodiment, the live view may include all activities of a user logged into the cloud gaming system, including other non-gameplay activities in addition to the user's gameplay.
일 실시예에 있어서, 소정 사용자의 라이브 뷰는 타인이 보기에 잠재적으로 민감하거나 개인적인 정보를 노출시키지 않도록 필터링될 수 있다. 예를 들어, 클라우드 게이밍 시스템은 채팅 기능을 지원할 수 있다. 일부 사용자가 그들의 채팅이 비밀로 남아있기를 바랄 수 있으므로, 라이브 뷰를 제시할 때 채팅 로그를 배제하는 옵션이 제공될 수 있다. 채팅 기능은 게임플레이 활동 동안은 물론 비-게임플레이 활동 동안에도 구현될 수 있고, 이들 상황 중 어느 하나 또는 둘 다의 라이브 뷰로부터 필터링될 수 있음을 인식하여야 한다. 다른 일 실시예에서는, 비디오 게임의 태양이 라이브 뷰로부터 필터링될 수 있다. 예를 들어, 사용자는 특정 사용자-정의된 설정을 비밀로 유지하기를 바랄 수 있는데 그것들이 게임플레이 동안 그 사용자에게 이점을 부여할 수 있기 때문이다. 그리하여, (예를 들어, 사용자가 비디오 게임의 설정 인터페이스에 액세스할 때) 설정과 관련된 활동이 라이브 피드의 일부분으로서 디스플레이되지 않는 옵션이 제공될 수 있다. 다른 일 실시예에 있어서, 라이브 뷰는 개인적인 정보의 보기를 방지(예를 들어, 사용자가 개인적 정보 페이지에 액세스할 때, 지불 정보를 입력할 때, 비밀번호를 입력할 때 등 보기를 방지)하도록 구성될 수 있다.In one embodiment, a given user's live view may be filtered so as not to expose potentially sensitive or personal information to others to view. For example, a cloud gaming system may support a chat function. As some users may wish their chats to remain confidential, the option to exclude chat logs may be provided when presenting a live view. It should be appreciated that the chat function may be implemented during gameplay activity as well as during non-gameplay activity, and may be filtered from the live view of either or both of these situations. In another embodiment, aspects of the video game may be filtered from the live view. For example, a user may wish to keep certain user-defined settings secret as they may confer an advantage to that user during gameplay. As such, an option may be provided that activity related to settings is not displayed as part of the live feed (eg, when the user accesses the settings interface of the video game). In another embodiment, the live view is configured to prevent viewing of personal information (eg, preventing viewing when a user accesses a personal information page, enters payment information, enters a password, etc.) can be
일 실시예에 있어서, 인터페이스는 현재 온라인으로 있는 이차 사용자의 게이밍 세션에 합류하도록 요청하는 옵션을 일차 사용자에게 제공한다. 예를 들어, 일차 사용자는 이차 사용자의 라이브 게임플레이 피드를 보고 이차 사용자의 게임플레이에 합류하기를 바랄 수 있다. 일 실시예에 있어서, 옵션의 활성화는 요청을 이차 사용자에게 보내어 일차 사용자가 그들 세션에 합류하기를 바란다고 이차 사용자에게 통지한다. 이차 사용자가 그 요청을 수락하면, 그때는 비디오 게임의 멀티플레이어 모드가 개시되어, 제1 및 제2 사용자에 의한 멀티플레이어 게임플레이를 용이하게 한다. 다른 일 실시예에 있어서, 2 이상의 이차 사용자가 이미 멀티플레이어 게임플레이에 참여하고 있을 수 있다. 그러한 일 실시예에 있어서, 일차 사용자는 멀티플레이어 게임플레이에 합류하는 요청을 보낼 수 있다. 이차 사용자 중 하나(예를 들어, 게임플레이 세션의 지정된 호스트)에 의한 요청의 수락시, 일차 사용자는 비디오 게임의 멀티플레이어 세션에 합류할 수 있다. 이차 사용자의 라이브 게임플레이 피드를 보여주는 전술한 인터페이스는 일차 사용자가 그들의 게임플레이를 볼 수 있은 후에 이차 사용자의 게임플레이에 합류하는 것을 용이하게 함을 인식하여야 한다. In one embodiment, the interface provides the primary user with an option to request to join the gaming session of the secondary user who is currently online. For example, a primary user may view a secondary user's live gameplay feed and wish to join the secondary user's gameplay. In one embodiment, activation of the option sends a request to the secondary user notifying the secondary user that the primary user wishes to join their session. If the secondary user accepts the request, then a multiplayer mode of the video game is initiated, facilitating multiplayer gameplay by the first and second users. In another embodiment, two or more secondary users may already be engaged in multiplayer gameplay. In one such embodiment, the primary user may send a request to join the multiplayer gameplay. Upon acceptance of the request by one of the secondary users (eg, the designated host of the gameplay session), the primary user may join the multiplayer session of the video game. It should be appreciated that the aforementioned interface showing the secondary user's live gameplay feed facilitates joining the secondary user's gameplay after the primary user has been able to view their gameplay.
일 실시예에 있어서, 이차 사용자의 게임플레이에 합류하도록 요청하는 옵션은 일차 사용자에 의한 비디오 게임의 소유권 상황의 결정시 예측된다. 일차 사용자가 그 비디오 게임을 소유하고 있지 않으면, 그때는 옵션이 제시되지 않을 수 있는 반면, 일차 사용자가 이차 사용자와 동일한 비디오 게임을 소유하고 있으면, 그때는 이차 사용자의 게임플레이에 합류하도록 요청하는 옵션이 인터페이스의 일부분으로서 이용가능하게 된다. 일 실시예에 있어서, 일차 사용자가 그 비디오 게임의 소유자가 아니라고 결정될 때, 그때 일차 사용자는 여전히 이차 사용자의 게임플레이에 멀티플레이어 모드로 그러나, 게임플레이의 지속시간, 이용가능한 장면/레벨/스테이지/등, 커스터마이징 옵션, 능력, 스킬, 무기, 캐릭터, 차량, 또는 제한될 수 있는 비디오 게임의 어느 다른 태양의 관점에서 제한되는 것과 같은, 제한된 용량으로 합류할 수 있다. 일 실시예에 있어서, 비디오 게임의 제한된 버전의 게임플레이에 뒤이어, 일차 사용자에게 풀 비디오 게임을 구입하는 옵션이 제공된다. 다른 일 실시예에서는, 일차 사용자에게 비디오 게임의 부가적 부분을 구입하는 옵션이 제공된다.In one embodiment, the option to request to join the secondary user's gameplay is predicted upon determination of the status of ownership of the video game by the primary user. If the primary user does not own the video game, then the option may not be presented, whereas if the primary user owns the same video game as the secondary user, then the option to request to join the secondary user's gameplay It is made available as part of this interface. In one embodiment, when it is determined that the primary user is not the owner of the video game, then the primary user is still in multiplayer mode to the secondary user's gameplay, however, the duration of the gameplay, available scenes/levels/stages/ etc., may join with limited capacity, such as limited in terms of customization options, abilities, skills, weapons, characters, vehicles, or any other aspect of the video game that may be limited. In one embodiment, following gameplay of the limited version of the video game, the primary user is provided with the option to purchase the full video game. In another embodiment, the primary user is provided with the option to purchase an additional portion of the video game.
도 10을 계속 참조하면, 디스플레이된 정보는 또한 사용자의 친구의 게임 이력 정보(1012)를 포함할 수 있다. 게임 이력 정보(1012)는, 플레이된 가장 최근 게임, 게임플레이 세션의 지속시간, 게임플레이와 관련한 통계 등과 같은, 소정 친구의 게임플레이 이력에 대한 정보를 제공할 수 있다.With continued reference to FIG. 10 , the displayed information may also include
클라우드 게이밍 인터페이스를 제시하기 위한 많은 방법 및 구성이 본 발명의 다양한 실시예에 따라 가능함을 인식할 것이다. 그러한 일 실시예에 있어서는, 클라우드 게이밍 시스템의 사용자의 현재 게이밍 상황을 디스플레이하기 위한 방법으로서, 이하의 방법 연산: 일차 사용자의 클라우드 게이밍 인터페이스를 제시하는 연산; 일차 사용자의 친구인 하나 이상의 이차 사용자를 결정하는 연산; 이차 사용자의 각각의 현재 상황으로서, 온라인 또는 오프라인 중 하나인 현재 상황을 결정하는 연산; 적어도 하나의 온라인 이차 사용자에 대하여, 온라인 이차 사용자의 현재 게이밍 세션의 라이브 피드로서, 온라인 이차 사용자의 현재 게이밍 세션에 합류하는 옵션을 일차 사용자에게 제공하는 것을 포함하는 라이브 피드를 일차 사용자의 클라우드 게이밍 인터페이스에서 제시하는 연산; 일차 사용자가 온라인 이차 사용자의 현재 게이밍 세션에 합류하는 옵션을 활성화시키는 요청을 수신하는 것에 응답하여, 온라인 이차 사용자의 현재 게이밍 세션의 멀티플레이어 모드로서, 온라인 이차 사용자의 현재 게이밍 세션에서 일차 사용자의 게임플레이를 위해 제공되는 멀티플레이어 모드를 개시하는 연산을 포함하되, 멀티플레이어 모드를 개시하는 연산은 온라인 이차 사용자의 현재 게이밍 세션을 정의하는 비디오 게임에 관하여 일차 사용자의 소유권 상황을 결정하는 연산을 포함하고; 일차 사용자가 그 비디오 게임을 소유하고 있다고 결정될 때, 그때는 비디오 게임의 풀 버전의 게임플레이에 대해 멀티플레이어 모드가 제공되고; 일차 사용자가 그 비디오 게임을 소유하고 있지 않다고 결정될 때, 그때는 비디오 게임의 제한된 버전의 게임플레이에 대해 멀티플레이어 모드가 제공되는 방법이 제공된다.It will be appreciated that many methods and configurations for presenting a cloud gaming interface are possible in accordance with various embodiments of the present invention. In one such embodiment, there is provided a method for displaying a current gaming situation of a user of a cloud gaming system, comprising: an operation for presenting a cloud gaming interface of a primary user; an operation for determining one or more secondary users that are friends of the primary user; an operation for determining, as each current situation of the secondary user, a current situation that is one of online or offline; providing, for the at least one online secondary user, a live feed of the online secondary user's current gaming session, the live feed comprising providing the primary user with an option to join the online secondary user's current gaming session to the primary user's cloud gaming interface operation presented in ; In response to the primary user receiving a request to activate an option to join the online secondary user's current gaming session, a multiplayer mode of the online secondary user's current gaming session, the primary user's game in the online secondary user's current gaming session an operation for initiating a multiplayer mode provided for play, wherein the operation for initiating a multiplayer mode comprises an operation for determining an ownership situation of a primary user with respect to a video game defining a current gaming session of an online secondary user; ; When it is determined that the primary user owns the video game, then a multiplayer mode is provided for the gameplay of the full version of the video game; When it is determined that the primary user does not own the video game, then a method is provided in which a multiplayer mode is provided for the gameplay of the limited version of the video game.
일 실시예에 있어서, 비디오 게임의 제한된 버전은, 비디오 게임의 풀 버전에 비할 때, 하나 이상의 이용가능한 레벨, 이용가능한 장면, 이용가능한 피처, 시간 제한, 가상 공간, 캠페인 길이, 생명의 수, 또는 리플레이의 수에 있어서의 감축을 정의한다.In one embodiment, the limited version of the video game, when compared to the full version of the video game, includes one or more available levels, available scenes, available features, time restrictions, virtual space, campaign length, number of lives, or Defines the reduction in the number of replays.
일 실시예에 있어서, 방법은, 비디오 게임이 일차 사용자에 의해 소유되고 있지 않을 때, 그 비디오 게임의 적어도 일부를 구입하는 옵션을 일차 사용자에게 제시하는 방법 연산을 더 포함한다.In one embodiment, the method further comprises a method operation of presenting to the primary user an option to purchase at least a portion of the video game when the video game is not owned by the primary user.
일 실시예에 있어서, 온라인 이차 사용자의 라이브 피드는 제1 해상도로 제시되고, 라이브 피드의 선택은 제1 해상도보다 더 높은 제2 해상도로 온라인 이차 사용자의 라이브 피드의 제시를 트리거링한다.In one embodiment, the online secondary user's live feed is presented at a first resolution, and selection of the live feed triggers presentation of the online secondary user's live feed at a second resolution higher than the first resolution.
일 실시예에 있어서, 온라인 이차 사용자의 라이브 피드는 채도가 감소된 컬러 모드로 제시되고, 라이브 피드의 선택은 채도가 있는 컬러 모드로 온라인 이차 사용자의 라이브 피드의 제시를 트리거링한다.In one embodiment, the online secondary user's live feed is presented in a desaturated color mode, and selection of the live feed triggers presentation of the online secondary user's live feed in a saturated color mode.
일 실시예에 있어서, 클라우드 게이밍 인터페이스를 제시하는 것은 이차 사용자의 각각과 연관된 게임 타이틀의 라이브러리를 제시하는 것을 포함한다.In one embodiment, presenting the cloud gaming interface includes presenting a library of game titles associated with each of the secondary users.
일 실시예에 있어서, 하나 이상의 이차 사용자를 결정하는 것은 일차 사용자와 연관된 소셜 그래프에 액세스하는 것을 포함한다. 일 실시예에 있어서, 소셜 그래프에 액세스하는 것은 소셜 네트워크의 API에 액세스하는 것을 포함한다.In one embodiment, determining the one or more secondary users comprises accessing a social graph associated with the primary user. In one embodiment, accessing the social graph comprises accessing an API of the social network.
일 실시예에 있어서, 일차 사용자의 클라우드 게이밍 인터페이스를 제시하는 것은 우선순위 순서로 이차 사용자의 각각의 목록을 제시하는 것을 포함하고, 우선순위 순서는 현재 상황, 로그인의 최근성, 또는 일차 사용자와의 게임의 공통 소유권 중 하나 이상에 기반한다.In one embodiment, presenting the cloud gaming interface of the primary user comprises presenting each list of secondary users in a priority order, wherein the priority order is current situation, recentity of login, or relationship with the primary user. Based on one or more of the common ownership of the game.
도 11은, 본 발명의 일 실시예에 따라, 현재 사용자의 친구의 라이브 게임플레이 피드를 제시하기 위한 방법을 예시하고 있다. 방법 연산(1100)에서, 현재 사용자는 클라우드 게이밍 시스템에 로그온한다. 방법 연산(1102)에서, 현재의 사용자의 친구가 현재 사용자의 소셜 그래프로부터 식별된다. 언급된 바와 같이, 현재 사용자의 소셜 그래프는 클라우드 게이밍 시스템에 특정한 소셜 네트워크로부터일 수도 있고 클라우드 게이밍 시스템과는 별개로 존재하는 소셜 네트워크로부터일 수도 있다. 방법 연산(1104)에서는, 사용자의 친구의 라이브러리 정보가 검색된다. 사용자의 친구의 라이브러리 정보는 사용자의 친구 라이브러리 내 게임 타이틀을 식별시킬 수 있다. 방법 연산(1106)에서는, 현재 사용자의 친구의 현재 상황이 식별된다. 소정 친구의 현재 상황이 온라인이면, 그때 방법 연산(1108)에서는 그 소정 친구가 클라우드-기반 시스템 상의 비디오게임의 게임플레이에 현재 참여하고 있는지 결정된다. 그렇다면, 그때 방법 연산(1112)에서는, 그 사용자에 대한 라이브 게임플레이 피드가 획득된다. 방법 연산(1110)에서, 현재 사용자의 친구는 다양한 인자 또는 선호도에 기반하여 디스플레이를 위한 우선순위가 결정된다. 방법 연산(1114)에서는, 현재 사용자의 친구 및 그들 상황 정보 및 라이브 게임플레이 피드가 우선순위 순서로 제시된다. 일 실시예에 있어서는, 온라인으로 있는 현재 사용자의 친구가 현재 오프-라인으로 있는 친구에 비해 우선순위로 될 수 있다. 일 실시예에 있어서는, 활동 중 게임플레이에 현재 참여하고 있는 현재 사용자의 친구가 활동 중 게임플레이에 현재 참여하고 있지 않은 친구에 비해 우선순위로 될 수 있다. 일 실시예에 있어서는, 이용가능한 라이브 게임플레이 피드를 갖는 친구가 다른 친구에 비해 우선순위로 될 수 있다. 일 실시예에 있어서, 친구는 클라우드 게이밍 시스템에 로그인한 최근성에 기반하여 우선순위가 결정될 수 있다. 다른 일 실시예에 있어서, 친구는 비디오게임의 공통 소유권에 기반하여 우선순위가 결정될 수 있다. 친구의 우선순위결정의 상기 예들은 단지 예로서 제공될 뿐이고 제한으로서가 아니다. 다른 실시예에서, 현재 사용자의 친구는 어느 다른 관련 있는 인자에 기반하는 우선순위 배치에 따라 우선순위결정 및 제시될 수 있음을 당업자는 인식할 것이다.11 illustrates a method for presenting a live gameplay feed of a friend of a current user, in accordance with an embodiment of the present invention. At
도 12는, 본 발명의 일 실시예에 따라, 소셜 네트워크 및 클라우드 게이밍 시스템을 포함하는 시스템을 예시하고 있다. 클라우드 게이밍 시스템(1200)은 클라우드-기반의 당신의 게임으로의 액세스를 제공한다. 클라우드 게이밍 시스템은 사용자에 의해 플레이될 수 있는 다양한 게임 타이틀을 포함하고 있는 게임 라이브러리(1202)를 포함한다. 사용자 데이터(1204)는, 사용자에 의해 소유되고 있는 게임 타이틀, 및 사용자의 어느 저장된 게임플레이와 같이, 사용자 계정과 연관되어 있는 다양한 종류의 데이터를 포함하고 있다. 도시된 실시예에 있어서는, 세션(A), 세션(B) 및 세션(C)을 포함하는, 다양한 게임플레이 세션이 개념적으로 도시되어 있다. 세션(A)은, 디스플레이(1208) 상에서 세션(A)의 게임플레이를 보는, 사용자(A)의 게임플레이를 정의한다. 세션(A)의 게임플레이는 사용자(A)의 디스플레이(1208) 상에 뷰(1210)로서 렌더링된다. 마찬가지로, 세션(B)은, 뷰(1214)로서 사용자(B)의 디바이스(1212) 상에 렌더링되는, 사용자(B)의 게임플레이를 정의한다. 도시된 실시예에 있어서, 사용자(B)의 세션의 뷰(1214)는, 세션(A)의 라이브 뷰 및 세션(C)의 라이브 뷰를 포함하는, 다른 사용자로부터의 라이브 뷰를 포함하는 인터페이스를 도시하고 있다. 세션(A, C)으로부터의 게임플레이가 진행함에 따라, 사용자(B)의 뷰(1214)에서 디스플레이되도록, 게임플레이 비디오가 세션(A, C)으로부터 출력되어 사용자(B)의 세션을 통하여 스트리밍될 수 있다. 게임플레이 비디오는 사용자(B)의 세션을 통하여 스트리밍하도록 프로세싱될 수 있다, 예를 들어, 대역폭을 아끼도록 해상도, 사이즈, 프레임레이트, 컬러 채도 등을 낮출 수 있다.12 illustrates a system including a social network and a cloud gaming system, in accordance with an embodiment of the present invention. The
도 12를 계속 참조하면, 소셜 네트워크(1216)가 또한 도시되어 있다. 소셜 네트워크(1216)는, 사용자의 소셜 그래프, 게시물, 사진, 비디오, 약력 정보 등과 같은 데이터를 포함하는, 사용자 데이터(1218)를 포함한다. 앱(1220)이 소셜 네트워크 플랫폼 상에서 실행될 수 있다. 그래픽 사용자 인터페이스(GUI)(1222)는 소셜 네트워크와 대화하기 위한 인터페이스를 정의한다. API(1224)는 소셜 네트워크로의 액세스를 용이하게 한다. 통지 모듈(1226)은 소셜 네트워크 사용자에 대한 통지를 그들 선호도에 따라 취급한다. 언급된 바와 같이, 사용자(B)의 뷰(1214)는 다른 사용자의 세션으로부터의 라이브 피드를 포함한다. 일 실시예에 있어서, 사용자(B)의 친구는 사용자(B)의 소셜 그래프의 구성원을 결정하도록 소셜 네트워크(1216)의 API(1224)에 액세스하는 것에 기반하여 결정될 수 있다. 이들 구성원은, 세션(A, C)으로부터의 피드를 포함하는, 사용자(B)의 친구로부터의 라이브 게임플레이 피드를 제공하도록 클라우드 게이밍 시스템의 사용자에 대비하여 상호-참조되었다. With continued reference to FIG. 12 , a
일 실시예에 있어서, 사용자(A)는 그의 게임플레이 세션(A)으로부터 그의 소셜 그래프에 공유하는데 동의한다. 사용자(A)의 세션(A)은 사용자(A)의 소셜 그래프 내 친구에게 적합한 통지를 보내기 위해 소셜 네트워크(1216)의 통지 모듈(1226)을 활성화시키도록 API(1224)를 통하여 통신한다. 사용자(A)의 소셜 그래프 내에 있는 소셜 네트워크 사용자(1230)가 디바이스(1228)를 통하여 소셜 네트워크에 액세스할 때, 그들은 사용자(A)의 세션에 대한 사용자(A)로부터의 메시지 또는 게시물을 볼 수 있다. 설정되면, 사용자는 사용자(A)가 소셜 네트워크 상에 무언가를 공유하였음을 나타내는 이-메일과 같은 통지를 수신할 수 있다. 사용자(A)는, 비디오 게임에서의 업적, 비디오 게임을 플레이하도록 초대, 비디오 게임에 대한 코멘트, 사용자(A)가 생성한 게임 슬라이스를 보거나 플레이하도록 초대, 사용자(A)의 게임플레이의 비디오 클립 등과 같은, 다양한 비디오 게임 관련 활동에 대해 공유할 수 있음을 인식하여야 한다.In one embodiment, user A agrees to share on his social graph from his gameplay session A. User A's session A communicates via
도 13은, 본 발명의 실시예에 따라, 시간에 걸친 다양한 게임 상태 변수를 예시하는 그래프이다. 다양한 실시예에 있어서, 특정 비디오 게임에 특정할 여러 다른 종류의 게임 상태 변수가 있을 수 있음을 인식하여야 한다. 도시된 실시예를 참조하여 도시 및 설명되는 것들은 단지 예로서 제공될 뿐이고 제한으로서가 아니다. 게임 상태 변수는 실행 중 비디오 게임에 의해 정의되는 값은 물론 사용자 입력에 의해 정의되는 값도 포함할 수 있다. 도시된 실시예에 있어서는, 캐릭터 또는 차량과 같이 비디오게임의 가상 공간 내 물체의 X, Y 및 Z 위치를 나타내는 위치 변수가 도시되어 있다. 카메라 각도 변수는 비디오게임에서 가상 카메라 또는 가상 뷰의 방향을 나타낸다. 일 실시예에 있어서, 카메라 각도는 방위각 기준에 상대적으로 (예를 들어, 수평 평면을 따라) 측정된 방위각 성분 및 경사각 기준에 상대적으로 (예를 들어, 수직선에 상대적으로) 측정된 경사각 성분에 의해 정의된다. 예시된 액션(A, B)과 같은 액션 변수는 비디오게임 내 다양한 액션의 개시 및 지속을 나타낸다. 소정 비디오게임에 대한 액션이 그 비디오게임의 맥락에 특정할 것임을 인식하여야 한다. 예로서, 액션은 특정 책략의 개시, 스킬의 적용, 그 강도 또는 빈도 레벨을 증가시키는 것 등과 같이 기존 액션을 수정하는 수정 메커니즘의 트리거링, 또는 비디오게임의 코스 동안 사용자 입력에 의해 트리거링될 수 있는 어느 다른 유형의 액션 또는 활동을 포함할 수 있다. 도 13을 계속 참조하면, 무기 변수는 비디오게임에서 무기의 트리거링을 나타낸다. 건강 변수는, 예를 들어, 비디오게임에서 사용자의 캐릭터의 건강 레벨을 나타낸다. 버튼 변수는 컨트롤러 디바이스 상의 버튼의 상태, 예를 들어, 버튼이 눌려진 상태에 있는지 풀린 상태에 있는지를 나타낸다. 도시된 실시예에 있어서 조이스틱 상태 변수는 중립 위치에 상대적인 조이스틱 움직임의 크기를 나타낸다. 도시된 실시예를 참조하여 설명된 상기 게임 상태 변수는 단지 예시일 뿐이며, 여러 다른 유형의 게임 상태 변수가 시간에 걸쳐 추적될 수 있음을 당업자는 인식할 것이다.13 is a graph illustrating various game state variables over time, in accordance with an embodiment of the present invention. It should be appreciated that, in various embodiments, there may be several different kinds of game state variables that are specific to a particular video game. Those shown and described with reference to the illustrated embodiments are provided by way of example only and not limitation. The game state variable may include values defined by the video game during execution as well as values defined by user input. In the illustrated embodiment, position variables are shown representing the X, Y and Z positions of objects in the virtual space of the videogame, such as characters or vehicles. The camera angle variable represents the direction of the virtual camera or virtual view in the videogame. In one embodiment, the camera angle is determined by an azimuth component measured relative to an azimuth reference (eg, along a horizontal plane) and a tilt angle component measured relative to an inclination angle reference (eg, relative to a vertical line). Defined. Action variables, such as illustrated actions (A, B), represent the initiation and duration of various actions in the videogame. It should be appreciated that actions for a given videogame will be specific to the context of that videogame. For example, an action may be triggered by user input during the course of a videogame, triggering a modification mechanism that modifies an existing action, such as initiating a particular maneuver, applying a skill, increasing its intensity or frequency level, etc. It may contain other types of actions or activities. With continued reference to Figure 13, the weapon variable represents the triggering of the weapon in the videogame. A health variable represents, for example, a health level of a user's character in a video game. The button variable represents the state of a button on the controller device, eg, whether the button is in a pressed or released state. In the illustrated embodiment, the joystick state variable indicates the magnitude of the joystick movement relative to the neutral position. Those skilled in the art will recognize that the game state variables described with reference to the illustrated embodiments are exemplary only, and that many other types of game state variables may be tracked over time.
도 6의 실시예를 또다시 참조하면, 일 실시예에 있어서, 게임 상태 분석기(614)는 사용자의 레코딩된 게임플레이의 게임 상태 변수를 분석하도록 구성될 수 있다. 사용자의 레코딩된 게임플레이의 분석에 기반하여, 사용자의 레코딩된 게임플레이의 관심 있는 다양한 영역이 정의되고 게임 슬라이스를 발생시킬 가능한 선택으로서 사용자에게 제시될 수 있다. 예를 들어, 특정 게임 상태 변수에 대한 높은 활동 레벨을 특징으로 하는 게임플레이의 영역은 사용자의 레코딩된 게임플레이의 선택을 정의할 수 있다. 소정 게임 상태 변수에 대한 활동 레벨은 강도 레벨, 활성화 빈도, 지속 시간 등과 같은 다양한 인자에 기반할 수 있음을 인식하여야 한다. 일부 실시예에 있어서, 게임 상태 변수의 분석은 2 이상의 다른 게임 상태 변수의 활동 레벨이 미리 정의된 방식으로 상관되는, 예를 들어, 2 이상의 변수가 동시에 높은 활동 레벨을 갖는 게임플레이의 영역을 찾는 것을 수반할 수 있다. 높은 활동 레벨은 미리 정의된 임계치에 기반하여 결정될 수 있다.Referring again to the embodiment of FIG. 6 , in one embodiment,
다양한 실시예에 있어서, 사용자의 레코딩된 게임플레이의 관심 있는 영역은 이하의 것 중 어느 하나 이상의 임계 검출에 기반하여 자동으로 결정될 수 있다: 하나 이상의 사용자 입력, 사용자의 입력 레이트, 입력 빈도, 입력 유형의 반복, 입력 패턴의 발생, 조합 입력(예를 들어, 콤보 키), 모션 벡터, 컨트롤러 상에 발휘된 압력, (예를 들어, 사용자의 캡처링된 이미지 또는 오디오 데이터에 기반하여 검출되는) 사용자의 흥분.In various embodiments, the region of interest of the user's recorded gameplay may be automatically determined based on threshold detection of any one or more of the following: one or more user inputs, the user's input rate, input frequency, input type. repetition of, occurrence of input patterns, combinational input (e.g., combo keys), motion vectors, pressure exerted on the controller, user (e.g., detected based on the user's captured image or audio data) of excitement.
도 14a는, 본 발명의 일 실시예에 따라, 선형 유형 비디오게임에 대한 게임 슬라이스를 발생시키기 위한 방법을 예시하고 있다. 대체로, 선형 비디오게임은 비디오게임을 통한 플레이어의 진행이 선형 코스를 따르되, 비디오게임을 통해 진행하기 위하여 플레이어는 나중 목적으로 진행하기 전에 앞선 목적을 완료해야 하는 것이다. 그리하여, 모든 플레이어는 비디오게임을 통해 진행하기 위하여 동일 목적을 동일 순서로 완료해야 한다. 선형 비디오게임에서의 목적은 비디오게임의 시공 스토리라인의 맥락 내 지리적은 물론 시간적 위치에도 묶여 있을 수 있다. 방법 연산(1400)에서는, 비디오게임의 장면이 식별된다. 장면은 본질상 공간적이고 또한 시간적이고, 거기 내에 정의된 다양한 목적을 가질 수 있다. 방법 연산(1402)에서는, 장면의 공간적 또는 시간적 길이가 정의된다. 장면의 길이는 사용자 입력에 따라 정의될 수 있고, 또한 장면에 묶여 있는 목적에 기반하여 정의될 수 있다. 방법 연산(1404)에서는, 속성이 배정될 수 있는 장면 내 아이템, 캐릭터 또는 어느 다른 물체의 초기 속성이 정의된다. 방법 연산(1406)에서는, 앞서 정의된 바와 같은 초기 속성을 갖는 장면의 식별된 길이에 대해 게임 슬라이스가 발생된다.14A illustrates a method for generating a game slice for a linear type videogame, in accordance with an embodiment of the present invention. In general, linear videogames are such that the player's progression through the videogame follows a linear course, but in order to progress through the videogame, the player must complete an earlier objective before proceeding to a later objective. Thus, all players must complete the same objectives in the same order in order to progress through the videogame. Objects in linear videogames can be tied to geographic as well as temporal locations within the context of the videogame's space-time storyline. At
도 14b는, 본 발명의 일 실시예에 따라, 오픈 월드 유형 비디오게임에 대한 게임 슬라이스를 발생시키기 위한 방법을 예시하고 있다. 오픈 월드 비디오게임은 사용자가 어떠한 수의 목적이라도 그들 자신의 선택의 순서로 추구할 자유가 있는 것으로서 특징지어질 수 있다. 전형적으로 오픈 월드 유형 비디오 게임은 또한 사용자가 하나 이상의 가상 공간을 마음대로 항행 가능하게 한다. 비디오게임의 여러 다른 레벨로 진행하거나 비디오게임을 완료하기 위하여, 특정 목적 세트의 완료가 요구될 수 있지만, 그렇지만 사용자는 이들 목적을 여러 다른 순서로 자유롭게 완료할 수 있다. 방법 연산(1410)에서는, 비디오게임의 가상 세계 내 위치가 식별된다. 방법 연산(1412)에서는, 가상 세계의 제한된 부분이 정의된다. 가상 세계의 제한된 부분은 여기에서 설명된 바와 같이 레코딩된 게임플레이의 선택을 정의하는 사용자 입력에 기반하여 정의될 수 있다. 예를 들어, 오픈 월드 비디오게임 내 사용자의 게임플레이는 게임플레이의 코스 동안 매우 다양한 위치에 걸쳐 미칠 수 있다. 그렇지만, 게임 슬라이스를 발생시키려는 목적으로, 사용자는 비디오게임의 가상 세계의 제한된 지리적 영역 내에서 일어나는 게임플레이의 일부를 선택할 수 있다. 이러한 제한된 지리적 영역은 그들 레코딩된 게임플레이의 사용자 선택된 부분의 분석에 기반하여, 예를 들어, 가상 세계 내 사용자 제어되는 캐릭터의 위치를 추적하고 캐릭터가 존재하는 것으로 발견된 모든 위치를 포함하는 경계를 정의하여 결정될 수 있다. 방법 연산(1414)에서는, 사용자의 레코딩된 게임플레이 선택으로부터 앞서 결정된 제한된 지리적 영역 내에서 발견되는 다양한 물체, 캐릭터, 아이템, 차량 또는 어느 다른 물체의 초기 속성이 정의된다. 방법 연산(1416)에서는, 오픈 월드의 제한된 지리적 영역 및 앞서 정의된 속성에 기반하여 게임 슬라이스가 발생된다.14B illustrates a method for generating a game slice for an open world type videogame, in accordance with an embodiment of the present invention. An open world video game can be characterized as one in which the user is free to pursue any number of goals in the order of their own choice. Typically open world type video games also allow the user to freely navigate one or more virtual spaces. In order to progress through the different levels of a videogame or complete a videogame, completion of a specific set of objectives may be required, however, the user is free to complete these objectives in any number of different orders. At
도 14c는, 본 발명의 일 실시예에 따라, 스포츠 비디오게임에 대한 게임 슬라이스를 발생시키기 위한 방법을 예시하고 있다. 게임 슬라이스는 사용자 레코딩된 게임플레이의 사용자 정의된 선택에 기반하여 발생될 수 있다. 방법 연산(1420)에서는, 사용자의 레코딩된 게임플레이의 선택에 기반하여 설정이 식별된다. 예로서, 설정은, 비디오게임의 스포츠 이벤트가 일어날 수 있는 코트, 스타디움, 트랙 또는 어느 다른 장소 설정과 같은, 스포츠 이벤트의 위치를 정의할 수 있다. 방법 연산(1422)에서는, 사용자의 레코딩된 게임플레이의 선택에 기반하여 시간 기간이 식별된다. 시간 기간은 게임 슬라이스가 발생될 시간적 부분을 정의하고, 레코딩된 게임플레이의 사용자 선택에 기반하여 정의될 수 있다. 스포츠 비디오 게임의 시간 기간은, 스포츠 동안 특정 시간 기간에 일어나는 특별 규칙 또는 활동의 포함과 같은, 비디오 게임 슬라이스의 특정 태양을 결정할 수 있다. 방법 연산(1424)에서는, 사용자의 레코딩된 게임플레이 선택에 포함된 플레이어에 기반하여 게임 슬라이스의 플레이어가 결정된다. 플레이어는 사용자에 의해 정의된 하나 이상의 캐릭터와 더불어, 게임플레이 때에 실행 중 비디오 게임의 인공 지능(AI) 캐릭터 제어 로직에 의해 제어된 AI 캐릭터도 포함할 수 있다. 여기 다른 곳에서 설명된 바와 같이, AI 캐릭터의 액션은 일부 경우에서는 근사될 수 있다. 반면 일부 실시예에 있어서, AI 캐릭터 제어 로직은 사용자의 레코딩된 게임플레이 선택에서 정의된 바와 같은 파라미터로 게임 슬라이스에 대해 정의된다. 방법 연산(1426)에서는, 스포츠 비디오 게임 슬라이스의 위치 설정에 대한 장면 속성이 정의된다. 예를 들어, 이들은 날씨, 트랙 또는 코트 조건, 및 스포츠 설정의 다른 속성과 같은 속성을 포함할 수 있다. 방법 연산(1428)에서는, 전술한 파라미터에 기반하여 비디오 게임에 대한 게임 슬라이스가 발생된다.14C illustrates a method for generating a game slice for a sports videogame, in accordance with an embodiment of the present invention. Game slices may be generated based on user-defined selections of user recorded gameplay. At
도 15는, 본 발명의 일 실시예에 따라, 멀티-게임 슬라이스 게임의 형성을 개념적으로 예시하고 있다. 비디오게임은 다양한 레벨 또는 스테이지로 조직될 수 있다. 도시된 실시예에 있어서는, 비디오게임의 다양한 레벨로부터의 사용자 게임플레이가 도시되어 있다. 특히, 게임플레이 타임라인(1500)은 비디오게임의 제1 레벨로부터의 사용자의 게임플레이를 표현하는 반면, 게임플레이 타임라인(1502) 및 게임플레이 타임라인(1506)은, 각각, 비디오게임의 제2 및 제3 레벨로부터의 사용자의 게임플레이를 표현한다. 본 발명의 일 실시예에 따라, 사용자는 더 큰 멀티-게임 슬라이스 미니게임을 형성하도록 비디오게임으로부터 다수의 게임 슬라이스를 연접할 수 있다. 도시된 실시예에 있어서, 사용자의 게임플레이 타임라인(1500)으로부터의 선택(1502)은 제1 게임 슬라이스(1514)를 정의하도록 이용된다. 2의 사용자의 게임플레이 타임라인(15)으로부터의 선택(1504)은 제2 게임 슬라이스(1818)를 정의하도록 이용된다. 그리고 사용자의 게임플레이 타임라인(1506)으로부터의 선택(1508)은 제3 팀 슬라이스(1522)를 정의하도록 이용된다. 제1, 제2 및 제3 게임 슬라이스는 미니게임(1510)을 정의하도록 순차적 순서로 배열된다. 그렇게 함에 있어서, 미니게임(1510)은 비디오게임의 제1, 제2 및 제3 레벨의 각각으로부터의 게임 슬라이스를 포함한다. 이러한 방식으로, 미니게임(1510)을 플레이하는 사용자는 미니게임(1510)을 통해 플레이함으로써 비디오게임의 다수 레벨의 제한된 부분을 체험할 수 있다. 이것은 사용자가 비디오 게임의 하나의 레벨 또는 스테이지로부터의 하나의 부분만을 플레이할 수 있는 관용적 게임 데모보다 비디오 게임의 더 많은 강렬한 미리보기 또는 데모를 제공하는데 유용할 수 있다. 체험은, 전형적으로는, 단지 단일 클립이 아니라, 동일 영화의 여러 다른 부분으로부터의 클립을 제공하는, 영화 미리보기의 그것과 유사하다. 본 발명의 실시예에 의하면, 사용자는 풀 비디오게임의 더 나은 의미의 범위를 제공하는, 그리고 하나의 부분으로부터 다음으로 연속적 방식으로 게임플레이의 특징을 나타낼 수 있는 다수-부분 게임 데모를 즐길 수 있다. 15 conceptually illustrates the formation of a multi-game slice game, according to an embodiment of the present invention. Videogames can be organized into various levels or stages. In the illustrated embodiment, user gameplay from various levels of a videogame is shown. In particular,
일 실시예에 있어서, 사용자는, 게임 슬라이스 전에 또는 다음에, 사용자 정의된 비디오, 메시지, 이미지 또는 어느 다른 유형의 정보와 같은, 부가적 자료를 삽입할 수 있다. 도시된 실시예에 있어서, 도입부(1512)는 미니게임(1510)에 대한 플레이어를 소개하고 아마도 제1 게임 슬라이스(1514)에 대한 플레이어도 소개하도록 제공된다. 부가적으로, 메시지(1516)는 제1 게임 슬라이스(1514)와 제2 게임 슬라이스(1518)의 사이에 삽입되는 한편, 다른 메시지(1520)는 제2 게임 슬라이스(1518)와 제3 게임 슬라이스(1522)의 사이에 삽입된다. 일 실시예에 있어서, 삽입된 자료는 게임 슬라이스가 발생된 원래 사용자의 레코딩된 게임플레이의 레코딩된 게임플레이 비디오를 포함할 수 있다. 레코딩된 게임플레이가 게임 슬라이스를 플레이하기 전에 보여지면, 게임 슬라이스를 개시하는 플레이어는 게임플레이를 시작하기 전에 게임 슬라이스 및 그 목적을 더 잘 이해할 수 있는 반면, 게임 슬라이스의 게임플레이 후에 보여지면, 플레이어는 게임 슬라이스의 그들의 게임플레이가 원래 사용자의 그것에 얼마나 필적하는지 이해할 수 있다.In one embodiment, the user may insert additional material, such as a user-defined video, message, image, or any other type of information, before or after a game slice. In the illustrated embodiment, an
도 16은, 본 발명의 일 실시예에 따라, 멀티-게임 슬라이스 게임의 발생을 개념적으로 예시하고 있다. 도시된 실시예에 있어서는, 게임(B)에 대한 사용자의 레코딩된 게임플레이 타임라인(1604), 및 게임(C)에 대한 사용자의 레코딩된 게임플레이 타임라인(1608)과 함께, 게임(A)에 대한 사용자의 레코딩된 게임플레이 타임라인(1600)이 도시되어 있다. 일 실시예에 있어서, 사용자는 여러 다른 비디오 게임으로부터의 게임 슬라이스에 기반하여 멀티-게임 슬라이스 미니게임을 발생시킬 수 있다. 도시된 실시예에 있어서는, 사용자의 레코딩된 게임플레이(1600)의 선택(1602)이 게임 슬라이스(1616)를 정의하도록 이용되는 반면, 사용자의 레코딩된 게임플레이(1604)로부터의 선택(1606)은 게임 슬라이스(1620)를 정의하도록 이용되고, 및 사용자의 레코딩된 게임플레이(1608)로부터의 선택(1610)은 게임 슬라이스(1624)를 정의하도록 이용된다. 게임 슬라이스(1616, 1620, 1624)는 미니게임(1612)을 정의하도록 순차적으로 배열된다. 선택사항으로서, 게임 슬라이스 전에 또는 다음에 부가적 자료가 삽입될 수 있다. 도시된 실시예에 있어서, 도입부(1614)는 게임 슬라이스(1616) 전에 삽입되는 반면, 막간(1618)은 게임 슬라이스(1616)와 게임 슬라이스(1620)의 사이에 정의되고, 다른 막간(1622)은 게임 슬라이스(1620)와 게임 슬라이스(1624)의 사이에 정의된다.16 conceptually illustrates the generation of a multi-game slice game, in accordance with an embodiment of the present invention. In the illustrated embodiment, game (A), along with the user's recorded
도시된 실시예에 있어서, 게임 슬라이스는 여러 다른 비디오 게임으로부터 취해짐을 인식할 것이다. 이것은 사용자가 여러 다른 게임 타이틀, 장르, 및 또한 콘솔 플랫폼 세대에 걸쳐 그로부터의 게임 슬라이스를 함께 혼합할 수 있는 큰 융통성을 허용한다. 단지 예로서, 사용자는 단수형 비디오 게임 시리즈 내 수개의 게임 타이틀의 각각으로부터의 게임 슬라이스를 갖는 미니게임을 생성할 수 있다. 이러한 방식으로, 미니게임의 플레이어는 비디오 게임 시리즈의 진화를 연속적 게임플레이 체험으로 경험 및 인식할 수 있다. It will be appreciated that in the illustrated embodiment, game slices are taken from several different video games. This allows great flexibility for users to mix together different game titles, genres, and also game slices from across console platform generations. By way of example only, a user may create a minigame with game slices from each of several game titles in a singular video game series. In this way, the player of the minigame can experience and perceive the evolution of the video game series as a continuous gameplay experience.
본 발명의 실시예들은 일반적으로 클라우드-기반 게이밍 시스템을 참조하여 설명되었다. 그렇지만, 여기에서 설명된 바와 유사한 개념 및 원리가 전통적 콘솔-기반 비디오게임 시스템에 적용될 수 있으며, 클라우드-기반 게이밍 시스템과 함께 가능함을 당업자는 인식하여야 한다. 예를 들어, 사용자는 콘솔-기반 비디오게임을 플레이하고 사용자의 게임플레이 입력 데이터 및 게임 체류 메타데이터가 게임플레이 동안 레코딩되게 할 수 있다. 사용자의 게임플레이 입력 데이터 및 게임 상태 메타데이터에 기반하여, 비디오게임의 실제 게임플레이 출력이 추후 시간에 재생될 수 있다. 그래서, 레코딩된 입력 데이터 및 게임 상태 메타데이터는, 설명된 바와 같이, 미니게임을 발생시킬 사용자의 게임플레이의 일부의 선택을 위한 인터페이스를 제공하도록 비디오게임 코드와 함께 이용될 수 있다. 미니게임 코드는 콘솔에서 발생되고 클라우드 시스템에 업로드되어 다른 사용자에 의한 다운로드에 이용가능하게 될 수 있다. 다른 일 실시예에 있어서, 미니게임 코드는 사용자 게임플레이 입력 데이터 및 게임 상태 메타데이터의 선택된 부분을 수신한 후에 클라우드 시스템에 의해 발생된다. 클라우드 시스템은 클라우드 시스템에 저장된 비디오게임 코드에 기반하여 미니게임 코드를 발생시키도록 사용자 게임플레이 입력 데이터 및 게임 상태 메타데이터의 선택된 부분을 프로세싱한다. 발생되고 나면, 미니게임은 미니게임의 실행이 클라우드-기반 시스템에서 일어나는 클라우드-기반 게이밍에 이용가능하게 될 수 있지만, 미니게임의 콘솔-기반 게임플레이를 용이하게 하도록 콘솔 상에서의 실행을 위해 전통적 콘솔-기반 시스템으로의 다운로드에도 이용가능하게 될 수 있다. 이러한 방식으로, 미니게임은 콘솔-기반 비디오 게이밍 시스템의 사용자에 의해서도 그리고 클라우드-기반 비디오 게이밍 시스템의 사용자에 의해서도 생성 및 플레이될 수 있다.Embodiments of the present invention have been described generally with reference to a cloud-based gaming system. However, it should be appreciated by those skilled in the art that similar concepts and principles as described herein may be applied to traditional console-based video game systems, and possibly with cloud-based gaming systems. For example, a user may play a console-based videogame and have the user's gameplay input data and game dwell metadata recorded during gameplay. Based on the user's gameplay input data and game state metadata, the actual gameplay output of the videogame may be played back at a later time. Thus, the recorded input data and game state metadata can be used in conjunction with the videogame code to provide an interface for the user's selection of a portion of gameplay to generate a minigame, as described. The minigame code may be generated on the console and uploaded to a cloud system to make it available for download by other users. In another embodiment, the minigame code is generated by the cloud system after receiving the selected portion of the user gameplay input data and game state metadata. The cloud system processes the selected portion of the user gameplay input data and game state metadata to generate minigame code based on the videogame code stored in the cloud system. Once generated, the minigame may be made available for cloud-based gaming, where the execution of the minigame takes place on a cloud-based system, but is a traditional console for execution on the console to facilitate console-based gameplay of the minigame - can also be made available for download to the underlying system. In this way, minigames can be created and played both by users of console-based video gaming systems and by users of cloud-based video gaming systems.
본 발명의 실시예는 일반적으로 비디오 게임의 플레이가능한 사용자-정의된 부분 또는 미니게임을 참조하여 설명되었다. 그렇지만, 여기에서 설명된 원리 중 다수는, 레코딩된 게임플레이 비디오, 스크린샷, 및 활동 게임플레이의 라이브 스트리밍을 공유하는 것을 포함하는, 레코딩된 게임플레이의 발생 및 공유에도 쉽게 적용됨을 당업자는 인식할 것이다. 일부 실시예에 있어서, (예를 들어, 통지를 수신하는 것에 응답하여) 미니게임으로의 액세스를 제공하는 것은 미니게임에 대한 기반을 형성한 원래 사용자의 게임플레이의 레코딩된 비디오의 제시를 포함할 수 있다. 또 다른 실시예에 있어서는, 사용자의 소셜 그래프로의 사용자의 게임플레이의 공유를 용이하게 하기 위한 방법, 시스템 및 인터페이스가 고려된다.Embodiments of the present invention have been described generally with reference to a playable user-defined portion or minigame of a video game. However, those skilled in the art will appreciate that many of the principles described herein also readily apply to the generation and sharing of recorded gameplay, including sharing live streaming of recorded gameplay videos, screenshots, and active gameplay. will be. In some embodiments, providing access to the minigame (eg, in response to receiving the notification) may include presentation of a recorded video of the original user's gameplay that formed the basis for the minigame. can In yet another embodiment, methods, systems, and interfaces are contemplated for facilitating sharing of a user's gameplay to a user's social graph.
일 실시예에 있어서는, 게임플레이를 저장하기 위한 방법이 고려된다. 게임플레이는, 소망 게임플레이와 연관된 데이터 세트에 관하여 표준 파일 작업의 형태로 올 수 있는, 사용자 요청에 응답하여 게임 콘솔의 운영 체제에 의해 실행될 수 있다. 요청은 게임과 연관된 애플리케이션으로부터 송신될 수 있다. 게임플레이는, 예를 들어, 월페이퍼, 테마, 코드 "애드-온" 컨텐트, 또는 게임과 연관된 어느 다른 유형의 컨텐트를 포함하는, 비디오 컨텐트, 오디오 컨텐트 및/또는 정적 시각적 컨텐트를 포함할 수 있다. 그러한 컨텐트는 사용자- 또는 개발자-생성되거나, 무료 또는 유료이거나, 완전판 또는 체험판이거나, 그리고/또는 판매용 또는 대여용일 수 있는 것으로 고려된다.In one embodiment, a method for storing gameplay is contemplated. Gameplay may be executed by the game console's operating system in response to a user request, which may come in the form of a standard file operation with respect to a data set associated with the desired gameplay. The request may be sent from an application associated with the game. Gameplay may include video content, audio content, and/or static visual content, including, for example, wallpapers, themes, code "add-on" content, or any other type of content associated with a game. It is contemplated that such content may be user- or developer-generated, free or paid, full or trial, and/or for sale or rental.
게임플레이의 일부는 버퍼링, 즉, 일시적으로 저장될 수 있다. 예를 들어, 게임플레이 내 이전 액션에 대해, 이전 15초, 이전에 완료된 레벨이, 여기에서 더 설명되는 바와 같이, 일시적으로 저장될 수 있다. 여기에서 사용되는 용어 "부분"은 단일 또는 다수 데이터 비트 또는 바이트의 어느 관련 또는 임의 그룹으로 분할가능한 게임플레이의 어느 일부분에 대응할 수 있다. 예를 들어, 게임플레이의 "부분"은 레벨, 챕터, 장면, 단계, 캐릭터, 배경, 텍스처, 코스, 액션, 노래, 테마, 지속시간, 사이즈, 파일, 그 일부분, 및 그 조합에 대응할 수 있다. 더욱, 게임플레이의 부분은 비디오 캡처의 규정된 지속시간 또는 스크린샷을 포함할 수 있다.Part of the gameplay may be buffered, ie temporarily stored. For example, for previous actions in gameplay, the previous 15 seconds, previously completed levels, may be temporarily stored, as further described herein. As used herein, the term “portion” may correspond to any portion of gameplay that is divisible into any related or arbitrary group of single or multiple bits or bytes of data. For example, a “portion” of gameplay may correspond to a level, chapter, scene, stage, character, background, texture, course, action, song, theme, duration, size, file, portion thereof, and combinations thereof. . Moreover, part of the gameplay may include a screen shot or a defined duration of video capture.
일 실시예에 있어서, 게임플레이의 부분은 일시적 또는 영구적 저장소에 게임 콘솔 상에 로컬 저장될 수 있다. 대안으로 또는 부가적으로, 게임플레이의 부분은 네트워크를 통하여 송신되어 원격으로 저장될 수 있다. 예를 들어, 게임플레이의 부분은 무선 또는 유선 네트워크를 통하여 다른 컴퓨팅 디바이스에, 다른 게임 콘솔에, 또는 원격 서버에 송신될 수 있다. 그러한 원격 서버는 소셜 미디어 서버를 포함할 수 있다.In one embodiment, portions of gameplay may be stored locally on the game console in either temporary or permanent storage. Alternatively or additionally, portions of gameplay may be transmitted over a network and stored remotely. For example, portions of gameplay may be transmitted over a wireless or wired network to another computing device, to another game console, or to a remote server. Such remote servers may include social media servers.
선택사항으로서, 버퍼로부터 검색되지 않는 게임플레이의 부분 또는 특정 게이밍 인터벌(예를 들어, 특정 지속시간, 레벨, 챕터, 코스 등) 밖의 게임플레이의 부분은 버퍼로부터 제거될 수 있다. 이러한 제거 프로세스는 운영 체제 상에서 표준 파일 작업을 사용하여 완료될 수 있다.Optionally, portions of gameplay that are not retrieved from the buffer or portions of gameplay outside a specific gaming interval (eg, a specific duration, level, chapter, course, etc.) may be removed from the buffer. This removal process can be completed using standard file operations on the operating system.
게임플레이의 부분은 저장된 게임플레이로의 액세스를 갖는 여러 디스플레이 디바이스 중 어디에라도 디스플레이될 수 있다. 예를 들어, 저장된 게임플레이는 게임플레이가 캡처링된 게임 콘솔에 접속된 텔레비전 세트 상에서 디스플레이될 수 있다. 다른 일례에 있어서, 저장된 게임플레이는 저장된 게임플레이가 송신된 컴퓨터 상에 디스플레이될 수 있다. 저장된 게임플레이는, 소셜 미디어 웹사이트 상에와 같이, 다른 정보와 함께 또는 단독으로 디스플레이될 수 있다. Portions of gameplay may be displayed on any of several display devices that have access to the stored gameplay. For example, the stored gameplay may be displayed on a television set connected to the game console from which the gameplay was captured. In another example, the stored gameplay may be displayed on a computer to which the stored gameplay was transmitted. Stored gameplay may be displayed alone or with other information, such as on a social media website.
일 실시예에 있어서, 게임플레이의 부분은 게임플레이를 버퍼링하거나 캡처링한 사용자 이외의 사용자와 연관된 다른 게임 콘솔에 의해 디스플레이된다. 이러한 실시예에 의하면, 게임플레이의 부분은, 제1 사용자의 관점에서, 제1 사용자로부터 제2 사용자에게로 던져지는 공을 보여줄 수 있다. 게임플레이의 부분은 그 후 제2 사용자의 게임 콘솔에 송신될 수 있다. 그리하여, 제2 사용자는 그 후 제1 사용자의 관점에서 게임플레이를 볼 수 있다. 제2 사용자는 또한, 제2 사용자의 관점에서, 제1 사용자에 의해 던져지고 제2 사용자에 의해 잡히는 공을 보여주는 게임플레이의 부분이 저장되게 할 수 있다. 이러한 실시예에 있어서, 제2 사용자는 제1 사용자의 관점에서도 그리고 제2 사용자의 관점에서도 게임플레이를 검토할 수 있다. 더더욱, 제2 사용자에 의해 저장된 게임플레이의 부분은 제1 사용자의 게임 콘솔에 송신될 수 있어서, 제1 사용자는 2개의 관점에서 게임플레이를 검토할 수 있다. 이러한 실시예는 어떠한 수의 관점이라도 갖는 어떠한 수의 사용자에게라도 적용될 수 있고, 그래서 게임플레이는 어떠한 수의 다른 관점에서라도 검토될 수 있다.In one embodiment, the portion of the gameplay is displayed by another game console associated with the user other than the user who buffered or captured the gameplay. According to this embodiment, a portion of the gameplay may show, from the first user's perspective, a ball being thrown from a first user to a second user. The portion of the gameplay may then be transmitted to the second user's game console. Thus, the second user can then view the gameplay from the perspective of the first user. The second user may also have a portion of the gameplay stored, from the second user's point of view, showing the ball thrown by the first user and caught by the second user. In such an embodiment, the second user may review the gameplay both from the first user's perspective and from the second user's perspective. Even more, the portion of the gameplay stored by the second user may be transmitted to the game console of the first user, so that the first user may review the gameplay from two perspectives. This embodiment can be applied to any number of users with any number of viewpoints, so that gameplay can be reviewed from any number of different viewpoints.
여기에서 설명되는 바와 같은 게임플레이의 부분의 저장, 송신 및/또는 디스플레이에 관하여, 게임플레이의 부분은 이미지 또는 비디오 데이터로서 저장, 송신 및 디스플레이될 수 있는 것으로 고려된다. 그렇지만, 다른 일 실시예에 있어서, 게임플레이의 부분은 이미지 또는 비디오 데이터를 표현하는 메타데이터 또는 원격 계측으로서 저장 및 송신될 수 있고, 디스플레이 이전에 게임 콘솔 또는 다른 디바이스에 의해 이미지 또는 비디오로서 재-생성될 수 있다.With respect to storage, transmission, and/or display of portions of gameplay as described herein, it is contemplated that portions of gameplay may be stored, transmitted, and displayed as image or video data. However, in another embodiment, portions of gameplay may be stored and transmitted as metadata or telemetry representing image or video data and re-as images or video by a game console or other device prior to display. can be created
일부 실시예에 있어서, 게임플레이의 부분은 실행된 게임플레이와 미리 결정된 관계를 갖는다. 예를 들어, 게임플레이의 부분은, 게임플레이의 이전 10초와 같이, 현재 실행 중 게임플레이 이전 특정량의 게임플레이에 대응할 수 있다. 다른 일 실시예에 있어서, 게임플레이의 제1 부분은 게임플레이의 제2 부분과 미리 결정된 관계를 갖는다. 예를 들어, 게임플레이의 제1 부분은, 캡처 버튼의 선택 이전 10초와 같이, 게임플레이의 제2 부분을 캡처링하는 요청의 수신 이전 특정량의 게임플레이에 대응할 수 있다. 이들 실시예의 각각에 있어서, 현재 게임플레이 또는 요청된 게임플레이 이전에 버퍼링된 게임플레이의 양은 그 또는 그녀의 특정 선호도에 따라 사용자에 의해 구성 및 조절될 수 있다.In some embodiments, a portion of the gameplay has a predetermined relationship to the executed gameplay. For example, a portion of gameplay may correspond to a certain amount of gameplay prior to gameplay currently in execution, such as the previous 10 seconds of gameplay. In another embodiment, the first portion of the gameplay has a predetermined relationship with the second portion of the gameplay. For example, a first portion of gameplay may correspond to a certain amount of gameplay prior to receipt of a request to capture a second portion of gameplay, such as 10 seconds prior to selection of a capture button. In each of these embodiments, the amount of gameplay buffered prior to the current gameplay or requested gameplay may be configured and adjusted by the user according to his or her specific preferences.
다른 실시예에 있어서, 버퍼는, 그것이 시간에 관계 없이 변수에 따라 게임플레이를 캡처링하게 되도록, "스마트" 또는 "탄력적"이다. 일부 실시예에 있어서, 게임플레이의 제1 부분은 게임플레이와 관련된 이벤트와 미리 결정된 관계를 갖는다. 예를 들어, 게임플레이의 제1 부분은, 고득점에 도달, 단시간량에 다수의 포인트 모으기, 컨트롤러 상에서 버튼의 다중 선택, 및 다른 드문 이벤트와 같은, 통계적 이례를 포함하도록 버퍼링될 수 있다. 그러한 통계적 이례는 일반적으로 모든 게임에 대한 또는 특정 게임 또는 장면에 대한 평균 메트릭에 게임플레이 메트릭을 비교함으로써 결정될 수 있다. 그러한 평균 메트릭은 비교를 위해 원격 또는 로컬 저장될 수 있다. 예를 들어, 게임 콘솔은 특정 게임에 대한 세계적 고득점을 추적하고, 그리고 사용자가 그 고득점에 다가가 능가하는 게임플레이를 버퍼링할 수 있다. 다른 일례에 있어서, 원격 서버는 특정 게임에 대한 세계적 고득점을 추적할 수 있고, 그리고 그 정보를 게임 콘솔에 통신할 수 있어서, 사용자가 그 고득점에 다가가 능가하는 게임플레이를 버퍼링한다.In other embodiments, the buffer is "smart" or "elastic" such that it captures gameplay according to a variable, regardless of time. In some embodiments, the first portion of gameplay has a predetermined relationship to an event related to gameplay. For example, a first portion of gameplay may be buffered to include statistical anomalies, such as reaching a high score, collecting multiple points in a short amount of time, multiple selection of buttons on a controller, and other rare events. Such statistical anomalies can generally be determined by comparing the gameplay metric to an average metric for all games or for a particular game or scene. Such average metrics may be stored remotely or locally for comparison. For example, a game console may track a global high score for a particular game, and buffer gameplay as the user approaches and surpasses that high score. In another example, a remote server may track a global high score for a particular game, and communicate that information to the game console, thereby buffering gameplay as the user approaches and surpasses that high score.
다른 일례에 있어서, 게임플레이의 부분은, 획득되는 트로피 또는 도달되는 다른 랜드마크와 같은, 업적을 포함하도록 버퍼링될 수 있다. 그러한 트로피 또는 랜드마크는, 획득되는 특정 포인트 수, 도달되는 특정 레벨 등과 같은, 어느 목표 또는 게이밍 업적을 기념하였다. 예를 들어, 게임플레이는 레벨 10에 도달하는 것, 100,000 포인트에 도달하는 것 등에 대한 트로피의 수여를 포함하도록 버퍼링될 수 있다.In another example, portions of gameplay may be buffered to include achievements, such as trophies earned or other landmarks reached. Such trophies or landmarks commemorated some goal or gaming achievement, such as a specific number of points earned, a specific level reached, and the like. For example, gameplay may be buffered to include the awarding of trophies for reaching level 10, reaching 100,000 points, and the like.
유사하게, 이벤트에 도달을 향한 진행은, 통계적 이례 또는 트로피의 실제 획득에 부가하여, 게임플레이의 부분에 포함되도록 버퍼링될 수 있다. 예를 들어, 스크린샷은 레벨 일 내지 10의 각각에서 취해져, 레벨 10에 도달한 것에 대한 트로피의 수령을 기념할 포토 앨범을 생성할 수 있다. 다른 일례로서, 제1 내지 제5 회에 대해 레이스에서 사용자가 승리한 것에 대한 비디오가 취해질 수 있고, 여기서 트로피는 5번의 승리에 대해 수여된다.Similarly, progress towards reaching an event may be buffered for inclusion as part of gameplay, in addition to statistical anomalies or actual winning of trophies. For example, screenshots may be taken at each of levels one through ten to create a photo album to commemorate the receipt of a trophy for reaching level ten. As another example, a video may be taken of a user winning a race for innings 1-5, where a trophy is awarded for victories 5 times.
그리하여, 본 발명의 실시예에 따라, 실행된 게임플레이의 적어도 일부는 작동 중 버퍼에 항상 유지될 수 있다. 환언하면, 게임플레이의 일부를 공유하는 요청이 수신될 때, 이전 게임플레이의 일부는 이미 이전 푸티지(footage)를 포함하도록 캡처링될 수 있다. 예를 들어, 게임플레이를 공유하는 요청이 사용자가 레이싱 게임에서 결승선을 통과한 후에 수신되면, 버퍼링된 게임플레이는 사용자가 결승선을 통과하는 푸티지를 포함할 수 있다. 환언하면, 사용자는 게임플레이를 공유하는 요청이 이루어지기 전에 일어나는 순간을 캡처링할 수 있을 것이다.Thus, in accordance with an embodiment of the present invention, at least a portion of the executed gameplay may always be held in a buffer during operation. In other words, when a request to share a portion of the gameplay is received, the portion of the previous gameplay may already be captured to include the previous footage. For example, if a request to share gameplay is received after the user crosses the finish line in a racing game, the buffered gameplay may include footage of the user crossing the finish line. In other words, the user will be able to capture the moment that occurs before the request to share gameplay is made.
도 17은, 본 발명의 일 실시예에 따라, 게임플레이를 공유하기 위한 인터페이스를 예시하고 있다. 도시된 바와 같은 인터페이스(1700)는 사용자의 친구, 예를 들어, 사용자의 소셜 그래프의 구성원에게 공유하는 것을 용이하게 하도록 다양한 선택가능한 아이콘을 포함한다. 일 실시예에 있어서, 인터페이스(1700)는 컨트롤러 디바이스 상의 전용 버튼으로부터 액세스될 수 있다. 버튼이 게임플레이 동안 눌러질 때, 인터페이스(1700)는 사용자가 그들 게임플레이를 공유 가능하게 하도록 제시될 수 있다.17 illustrates an interface for sharing gameplay, according to an embodiment of the present invention.
아이콘(1702)은 사용자의 게임플레이로부터의 스크린샷의 업로드를 개시하도록 선택될 수 있다. 일 실시예에 있어서, 아이콘(1702)의 영역(1704)에는 사용자의 최근 게임플레이로부터의 대표적 스크린샷이 거처하고 있고, 그로써 공유될 수 있는 스크린샷의 작은-스케일 미리보기를 제공한다. 일 실시예에 있어서, 아이콘(1702)의 선택은 사용자의 소셜 그래프로의 공유를 위해 사용자의 레코딩된 게임플레이로부터의 특정 스크린샷을 사용자가 선택할 수 있게 하는 부가적 스크린샷 선택 인터페이스로의 액세스를 제공할 수 있다. 이것은, 게임플레이 내 특정 시간 포인트 및 그 대응하는 스크린샷을 식별하도록 항행 또는 횡단될 수 있는, 항행가능한 게임플레이 비디오 타임라인의 형태를 취할 수 있다.
아이콘(1706)은 사용자의 게임플레이의 비디오의 업로드를 개시하도록 선택될 수 있다. 아이콘(1706)의 영역(1708)은 사용자의 최근 게임플레이로부터의 대표적 비디오 클립, 예를 들어, 사용자의 게임플레이의 마지막 5초, 최근 업적 등을 디스플레이하고, 그로써 타인과 공유될 수 있는 사용자의 게임플레이로부터의 비디오 클립의 작은-스케일 미리보기를 디스플레이하도록 구성될 수 있다.
아이콘(1710)은 사용자의 활동 게임플레이의 라이브 비디오 스트리밍을 개시하도록 선택될 수 있다. 일 실시예에 있어서, 아이콘(1710)의 선택은 사용자의 게임플레이의 재개를 트리거링하는 한편 사용자의 게임플레이의 라이브 비디오 스트리밍을 개시할 것이다. 다른 일 실시예에 있어서, 아이콘(1710)의 선택은, 누구와 스트리밍 비디오를 공유할지, 게임플레이 동안 사용자 그녀/그 자신에게 보여주도록 의도된 로컬 이미지 캡처 디바이스로부터의 비디오 스트림을 포함할지, 코멘트를 가능하게 할지 등과 같이, 스트리밍 비디오 브로드캐스트에 대한 설정을 결정하도록 인터페이스로의 액세스를 제공한다.
사용자는 게임플레이(예를 들어, 선택된 스크린샷, 비디오, 또는 라이브 게임플레이 스트림)을 하나 이상의 특별 선택된 친구에게, 그들 소셜 그래프 전체에게, 또는 소셜 네트워크의 어느 사용자에게 공유할 수 있음을 인식할 것이다. 소셜 네트워크는 비디오 게임이 실행되는 플랫폼과 연관된 게이밍 소셜 네트워크이거나, 비디오 게임 또는 그 플랫폼과는 별개로 존재하는 제3자 소셜 네트워크일 수 있다. 소셜 네트워크는 소셜 네트워크와의 인터페이싱을 가능하게 하도록 정의된 API를 통해 액세스될 수 있다. 게임플레이가 공유된 사용자는 공유된 게임플레이에 대해 그들에게 알려주는 통지를 수신할 수 있다. 그러한 통지는 소셜 뉴스 피드로의 게시, 소셜 네트워크를 통한 비밀 메시지, 게임-내 통지, 이-메일, 채팅 통지 등의 형태를 취할 수 있다. 소셜 네트워크에 게임플레이를 공유하는 것은 공유하는 사용자의 소셜 그래프의 일부분일 수도 있고 아닐 수도 있는 소셜 네트워크의 사용자의 다른 부분 집합에 게임플레이를 이용가능하게 하는 것을 수반할 수 있다. 예를 들어, 소정 비디오 게임에 대하여, 게임플레이는 비디오 게임을 또한 소유하고 그래서 비디오 게임의 공유된 게임플레이로의 액세스를 승인받은 소셜 네트워크의 어느 사용자에게 공유 또는 이용가능하게 될 수 있다. 그러한 공유된 게임플레이는 비디오 게임의 플레이어에게만 이용가능한 온라인 포럼, 채팅 방, 또는 다른 온라인 채널을 통해 액세스될 수 있다. 일 실시예에 있어서, 비디오 게임은 소셜 네트워크 상에 전용 페이지 또는 사이트를 가질 수 있다. 공유된 게임플레이는 비디오 게임의 페이지 또는 사이트에 액세스하는 사용자에게 이용가능하게 될 수 있다. 물론, 공유하는 사용자의 관점에서, 사용자가 그들의 게임플레이가 누구에게 그리고 어떤 포럼에 공유될지 특정하고 맞출 수 있게 하는 옵션이 제공될 수 있음을 인식할 것이다.Users will appreciate that they can share gameplay (eg, selected screenshots, videos, or live gameplay streams) to one or more specially selected friends, to their entire social graph, or to any user on a social network. . The social network may be a gaming social network associated with the platform on which the video game is run, or a third party social network that exists independently of the video game or the platform. The social network may be accessed through APIs defined to enable interfacing with the social network. Users with whom gameplay has been shared may receive a notification informing them about the shared gameplay. Such notifications may take the form of postings to social news feeds, confidential messages via social networks, in-game notifications, e-mails, chat notifications, and the like. Sharing gameplay on a social network may involve making the gameplay available to a different subset of users of the social network that may or may not be part of the sharing user's social graph. For example, for a given video game, the gameplay may be shared or made available to any user on a social network who also owns the video game and is thus granted access to the video game's shared gameplay. Such shared gameplay may be accessed through online forums, chat rooms, or other online channels available only to players of the video game. In one embodiment, the video game may have a dedicated page or site on the social network. The shared gameplay may be made available to users accessing a page or site of the video game. Of course, it will be appreciated that, in terms of sharing users, options may be provided that allow users to specify and tailor their gameplay to whom and on what forums.
도 18은, 본 발명의 일 실시예에 따라, 공유를 위해 레코딩된 게임플레이 비디오의 일부를 선택하기 위한 인터페이스(1800)를 예시하고 있다. 인터페이스(1800)는, 사용자의 게임플레이로부터의 비디오의 현재 선택된 부분의 미리보기를 루프로 나타내는, 미리보기 영역(1802)을 포함한다. 스크린샷(1804, 1806, 1808, 1810, 1812)은 게임플레이 비디오의 컨텐트를 나타내는 스크린샷의 타임라인을 정의하도록 연대기 순서로 서로 인접하여 위치결정된다. 다양한 스크린샷(1804, 1806, 1808, 1810, 1812)은 게임플레이 비디오로부터 규칙적 인터벌로 추출된 이미지 프레임일 수 있다. 스크린샷 타임라인은 현재 디스플레이되는 것들에 선행하거나 속행하는 부가적 프레임을 보여주도록 좌측 또는 우측으로 스크롤링될 수 있다. 마커(1814, 1816)는 현재 선택된 비디오 클립(또는 세그먼트 또는 부분)에 대한 시작 및 종료 포인트를 나타낸다. 현재 선택된 비디오 클립은, 언급된 바와 같이, 미리보기 영역(1802)에서 반복적으로 재생될 수 있다.18 illustrates an
일 실시예에 있어서, 버튼(1818, 1820)은, 각각, 선택된 비디오 부분의 지속시간을 감축 또는 증가시키도록 선택될 수 있다. 미리보기 옵션(1822)은 현재 선택된 비디오 클립의 풀스크린 미리보기의 재생을 트리거링하도록 선택될 수 있다. 트리밍 옵션(1824)은 부가적 비디오 트리밍 특징에 액세스하도록 선택될 수 있다.In one embodiment,
도 19는, 본 발명의 일 실시예에 따라, 사용자의 게임플레이의 라이브 비디오 스트림을 보기 위한 인터페이스(1900)를 예시하고 있다. 참조(1902)에서는, 그들의 게임플레이를 스트리밍하고 있는 사용자의 이름 및/또는 별명이 보여진다. 참조(1904)에서는, 라이브 비디오 스트림을 현재 보고 있는 사용자의 수가 보여진다. 사용자의 게임플레이의 라이브 비디오 스트림은 비디오 디스플레이 영역(1906)에 디스플레이된다. 부가적으로, 게임플레이가 라이브 스트리밍되고 있는 실제 사용자의 라이브 비디오를 보여주는, 라이브 사용자 비디오(1908)가 포함될 수 있다. 보고 있는 사용자가 비디오 게임에 영향을 미치는 커맨드를 발행하거나, 스트리밍 사용자의 게임플레이를 제어할 수도 있게 하는 커맨드 옵션(1910)이 선택될 수 있다. 게임-내 커맨드의 발행 또는 사용자의 게임플레이의 원격 제어는, 보고 있는 사용자가 그러한 액션을 수행 가능하게 하도록 게임을 플레이하는 사용자로부터, 게임플레이 때 요청되든 기정의되든, 허가를 요구할 수 있음을 인식할 것이다.19 illustrates an
옵션(1912)은 보고 있는 사용자가 스트리밍 사용자의 게임플레이에 합류 가능하게 한다. 그리고 옵션(1914)은 보고 있는 사용자가 진행-중 비디오 게임을 구입 가능하게 한다.
더욱, 인터페이스는, 라이브 비디오 스트림을 보고 있는 사용자로부터의 코멘트를 디스플레이하여 각각의 코멘트의 시간을 나타내는 코멘트 섹션(1916)을 포함할 수 있다. 코멘트 입력 필드(1918)는 보고 있는 사용자가 게시될 코멘트에 대한 문자를 입력하도록 제공된다. 그리고 보내기 버튼(1920)은 라이브 스트리밍 사용자 및 라이브 비디오 스트림을 보고 있는 타인에 의한 보기를 위해 코멘트를 업로드하도록 눌려진다.Furthermore, the interface may include a
본 발명의 실시예가 전용 버튼 누르기로부터 공유를 위한 다양한 인터페이스에 액세스하는 것을 참조하여 설명되었더라도, 다른 실시예에서는, 이들 인터페이스 중 일부 또는 전부가 사용자 소셜 그래프로의 게임플레이의 공유를 용이하게 하는데 요구되지 않을 수 있음을 인식할 것이다. 예를 들어, 일 실시예에 있어서, 컨트롤러 버튼은 눌려질 때 사용자 게임플레이의 스크린샷을 캡처링하도록 구성될 수 있다. 캡처링된 스크린샷은 그 후 자동으로 업로드되어 사용자 소셜 그래프에 공유될 수 있다.Although embodiments of the present invention have been described with reference to accessing various interfaces for sharing from a dedicated button press, in other embodiments, some or all of these interfaces are not required to facilitate sharing of gameplay to the user's social graph. You will realize that you may not. For example, in one embodiment, a controller button may be configured to capture a screenshot of the user's gameplay when pressed. Captured screenshots can then be automatically uploaded and shared on user social graphs.
다른 일 실시예에 있어서, 컨트롤러 상의 특정 버튼을 누르는 것은 게임플레이 비디오의 레코딩을 개시한다. 특정 버튼이 제2 회 눌려질 때, 게임플레이 비디오의 레코딩은 중단되고, 비디오 클립은 업로드되어 사용자 소셜 그래프에 공유될 수 있다. 일 실시예에 있어서, 사용자 소셜 그래프로의 비디오 클립의 업르도 및 공유는 비디오 레코딩 작업의 종료에 뒤이어 자동으로 일어날 수 있다. 그렇지만, 다른 일 실시예에 있어서는, 특정 버튼이 레코딩을 중단하도록 제2 회 눌려질 때, 비디오를 트리밍하는 것, 비디오에 대한 대표적 스크린샷을 선택하는 것, 비디오를 함께 공유할 특정 사용자를 결정하는 것, 캡션 또는 타이틀을 부가하는 것 등과 같은 다양한 옵션을 사용자가 커스터마이징 가능하게 하는 인터페이스가 제시된다. 사용자에 의한 커스터마이징 후에, 비디오는 타인과 공유되거나 아니면 보기에 이용가능하게 될 수 있다.In another embodiment, pressing a specific button on the controller initiates the recording of gameplay video. When the particular button is pressed a second time, the recording of the gameplay video is stopped, and the video clip can be uploaded and shared to the user social graph. In one embodiment, uploading and sharing of video clips to the user social graph may occur automatically following the end of the video recording operation. However, in another embodiment, when a particular button is pressed a second time to stop recording, trimming the video, selecting a representative screenshot for the video, determining a particular user to share the video with An interface is presented that allows the user to customize various options, such as adding text, captions or titles, and the like. After customization by the user, the video may be shared with others or otherwise made available for viewing.
일 실시예에 있어서, 컨트롤러 상의 특정 버튼은 소셜 네트워크 상에서 게임플레이 비디오의 미리 정의된 지속시간을 공유하도록 구성될 수 있다. 예를 들어, 사용자는 버튼이 눌려질 때 게임플레이 비디오의 이전 10초가 사용자 소셜 그래프에 공유될 것을 특정할 수 있다. 다른 일 실시예에 있어서는, 버튼이 눌려질 때 게임플레이 비디오의 다음 10초가 레코딩되어 소셜 그래프에 공유될 것이 특정될 수 있다. 비디오를 트리밍하고 다른 유형의 커스터마이징을 수행하기 위한 옵션은 레코딩된 게임플레이 비디오에 적용될 수 있음을 인식하여야 한다. 더욱, 버튼 트리거에 뒤이은 미리 정의된 지속시간의 레코딩된 게임플레이 비디오는 설명된 바와 같이 이전에 버퍼링된 게임플레이 비디오와 조합될 수 있다.In one embodiment, a specific button on the controller may be configured to share a predefined duration of a gameplay video on a social network. For example, the user may specify that the previous 10 seconds of gameplay video will be shared to the user social graph when a button is pressed. In another embodiment, it may be specified that the next 10 seconds of gameplay video will be recorded and shared to the social graph when the button is pressed. It should be appreciated that options for trimming the video and performing other types of customization may apply to recorded gameplay video. Moreover, recorded gameplay video of a predefined duration following a button trigger may be combined with previously buffered gameplay video as described.
또 다른 일 실시예에 있어서, 컨트롤러 디바이스 상의 특정 버튼은 사용자 활동 게임플레이의 라이브 비디오 스트리밍을 개시하도록 구성될 수 있다. 라이브 비디오 스트리밍은 단지 사용자 소셜 그래프의 구성원에게, 또는, 사용자 소셜 그래프의 특정 부분 집합, 동일 비디오 게임을 소유하거나 아니면 그것으로의 액세스를 갖는 모든 사용자, 게이밍 플랫폼의 어느 사용자 등과 같은, 다른 더 작거나 더 큰 사용자 그룹에 이용가능하게 될 뿐이도록 기정의될 수 있다.In yet another embodiment, a specific button on the controller device may be configured to initiate a live video streaming of a user active gameplay. Live video streaming is only available to members of the user social graph, or other smaller or It can be predefined to only be made available to a larger group of users.
레코딩된 게임플레이에 기반하여 클라우드-게이밍에 대한 제안된 미니-게임의 자동 발생 Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay
일 실시예에 있어서는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 방법으로서, 이하의 방법 연산: 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하는 연산; 관심 있는 영역을 결정하도록 사용자의 레코딩된 게임플레이를 분석하는 연산; 결정된 관심 있는 영역에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 연산; 및 정의된 경계들에 기반하여 비디오 게임의 제한된 버전을 발생시키는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In one embodiment, there is provided a method for generating a playable restricted version of a video game, the method operation comprising: recording a user's gameplay of a full version of the video game; analyzing the user's recorded gameplay to determine areas of interest; an operation that defines boundaries within the gameplay context of the video game based on the determined region of interest; and generating a limited version of the video game based on the defined boundaries, the method being executed by the processor.
일 실시예에 있어서, 사용자의 게임플레이를 레코딩하는 것은 사용자 입력 데이터 또는 게임 상태 데이터 중 하나 이상을 레코딩하는 것을 포함한다. 일 실시예에 있어서, 사용자의 레코딩된 게임플레이를 분석하는 것은 사용자 입력 데이터 또는 게임 상태 데이터의 활동 레벨을 결정하는 것을 포함하고, 관심 있는 영역은 미리 정의된 임계치를 초과하는 활동 레벨을 갖는 영역이다.In one embodiment, recording the user's gameplay comprises recording one or more of user input data or game state data. In one embodiment, analyzing the recorded gameplay of the user comprises determining an activity level of user input data or game state data, wherein the region of interest is an region having an activity level that exceeds a predefined threshold. .
일 실시예에 있어서, 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 것은 비디오 게임의 가상 공간 내 공간적 경계를 정의하는 것을 포함한다. 일 실시예에 있어서, 비디오 게임의 가상 공간 내 공간적 경계는 가상 공간의 전체보다 작은 가상 공간의 일부를 정의하고, 가상 공간의 일부는 가상 공간의 피처의 부분 집합을 갖는다.In one embodiment, defining boundaries within the gameplay context of the video game includes defining spatial boundaries within the virtual space of the video game. In one embodiment, a spatial boundary within the virtual space of the video game defines a portion of the virtual space that is smaller than the entire virtual space, the portion of the virtual space having a subset of the features of the virtual space.
일 실시예에 있어서, 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 것은 비디오 게임의 시간적 맥락 내 시간적 경계를 정의하는 것을 포함한다.In one embodiment, defining boundaries within the gameplay context of the video game includes defining temporal boundaries within the temporal context of the video game.
일 실시예에 있어서, 경계를 정의하는 것은 스테이지, 레벨 또는 장면 중 하나 이상의 가장 가까운 시작 포인트 또는 가장 가까운 종료 포인트를 식별하는 것을 포함한다.In one embodiment, defining the boundary comprises identifying a closest start point or a closest end point of one or more of a stage, level, or scene.
일 실시예에 있어서, 사용자의 레코딩된 게임플레이를 분석하는 것은 사용자의 레코딩된 게임플레이에 기반하여 사용자 게임 상태 설정들을 결정하는 것을 포함하고, 비디오 게임의 제한된 버전을 발생시키는 것은 결정된 사용자 게임 상태 설정들에 기반하여 초기 게임 상태 설정들을 갖도록 비디오 게임의 제한된 버전을 정의하는 것을 포함한다.In one embodiment, analyzing the user's recorded gameplay comprises determining user game state settings based on the user's recorded gameplay, and generating a limited version of the video game comprises the determined user game state settings defining a limited version of the video game to have initial game state settings based on the
일 실시예에 있어서, 관심 있는 영역은 하나 이상의 임계치에 대한 대응에 기반하여 자동으로 식별된다. 일 실시예에 있어서, 상기 임계치 중 적어도 하나는 사용자 입력, 사용자 입력의 레이트, 사용자 입력의 빈도, 사용자 입력의 반복들, 입력 패턴, 다른 사용자들과의 게임플레이 맥락의 공유, 소셜 네트워크 상에 게임플레이와 연관된 코멘트들의 게시, 또는 소셜 네트워크 공유 레벨들에 기반하는 비디오 게임의 부분들의 인기 중 하나 이상과 연관된다.In one embodiment, regions of interest are automatically identified based on correspondence to one or more thresholds. In one embodiment, at least one of the thresholds is: user input, rate of user input, frequency of user input, repetitions of user input, input pattern, sharing of gameplay context with other users, game on social network associated with one or more of the posting of comments associated with the play, or the popularity of portions of the video game based on social network sharing levels.
다른 일 실시예에 있어서는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 방법으로서, 이하의 방법 연산: 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하는 연산; 관심 있는 영역을 결정하도록 사용자의 레코딩된 게임플레이를 분석하는 연산; 선택을 위해 관심 있는 영역의 각각을 제시하는 연산; 선택된 관심 있는 영역을 나타내는 선택 입력을 수신하는 연산; 선택된 관심 있는 영역에 대해, 선택된 관심 있는 영역에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 연산; 및 정의된 경계들에 기반하여 비디오 게임의 제한된 버전을 발생시키는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In another embodiment, there is provided a method for generating a playable limited version of a video game, the method operation comprising: recording a user's gameplay of a full version of the video game; analyzing the user's recorded gameplay to determine areas of interest; an operation that presents each of the regions of interest for selection; an operation for receiving a selection input representing a selected region of interest; an operation for defining, for the selected region of interest, boundaries within the gameplay context of the video game based on the selected region of interest; and generating a limited version of the video game based on the defined boundaries, the method being executed by the processor.
일 실시예에 있어서, 사용자의 게임플레이를 레코딩하는 것은 사용자 입력 데이터 또는 게임 상태 데이터 중 하나 이상을 레코딩하는 것을 포함한다. 일 실시예에 있어서, 사용자의 레코딩된 게임플레이를 분석하는 것은 사용자 입력 데이터 또는 게임 상태 데이터의 활동 레벨을 결정하는 것을 포함하고, 각각의 관심 있는 영역은 미리 정의된 임계치를 초과하는 활동 레벨을 갖는 영역이다.In one embodiment, recording the user's gameplay comprises recording one or more of user input data or game state data. In one embodiment, analyzing the user's recorded gameplay comprises determining an activity level of user input data or game state data, wherein each region of interest has an activity level that exceeds a predefined threshold. is the area
일 실시예에 있어서, 사용자의 레코딩된 게임플레이를 분석하는 것은 사용자의 레코딩된 게임플레이에 기반하여 사용자 게임 상태 설정들을 결정하는 것을 포함하고, 비디오 게임의 제한된 버전을 발생시키는 것은 결정된 사용자 게임 상태 설정들에 기반하여 초기 게임 상태 설정들을 갖도록 비디오 게임의 제한된 버전을 정의하는 것을 포함한다.In one embodiment, analyzing the user's recorded gameplay comprises determining user game state settings based on the user's recorded gameplay, and generating a limited version of the video game comprises the determined user game state settings defining a limited version of the video game to have initial game state settings based on the
일 실시예에 있어서, 각각의 관심 있는 영역은 하나 이상의 임계치에 대한 대응에 기반하여 자동으로 식별된다.In one embodiment, each region of interest is automatically identified based on a correspondence to one or more thresholds.
다른 일 실시예에 있어서는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 방법으로서, 이하의 방법 연산: 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하는 연산으로서, 사용자 입력 데이터 또는 게임 상태 데이터 중 하나 이상을 레코딩하는 연산을 포함하는 사용자의 게임플레이를 레코딩하는 연산; 하나 이상의 관심 있는 영역을 결정하도록 사용자의 레코딩된 게임플레이를 분석하는 연산으로서, 각각의 관심 있는 영역은 하나 이상의 임계치에 대한 대응에 기반하여 자동으로 식별되는 분석하는 연산; 선택을 위해 관심 있는 영역의 각각을 제시하는 연산; 선택된 관심 있는 영역을 나타내는 선택 입력을 수신하는 연산; 선택된 관심 있는 영역에 대해, 선택된 관심 있는 영역에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 연산; 정의된 경계들에 기반하여 비디오 게임의 제한된 버전을 발생시키는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In another embodiment, there is provided a method for generating a playable limited version of a video game, the method operation comprising: recording user's gameplay of a full version of a video game, either user input data or game state data an operation for recording a user's gameplay, including operations for recording one or more; an operation of analyzing the user's recorded gameplay to determine one or more regions of interest, wherein each region of interest is automatically identified based on a correspondence to one or more thresholds; an operation that presents each of the regions of interest for selection; an operation for receiving a selection input representing a selected region of interest; an operation for defining, for the selected region of interest, boundaries within the gameplay context of the video game based on the selected region of interest; A method is provided, comprising an operation that generates a limited version of the video game based on defined boundaries, the method being executed by a processor.
일 실시예에 있어서, 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 것은 비디오 게임의 가상 공간 내 공간적 경계를 정의하는 것을 포함하고, 비디오 게임의 가상 공간 내 공간적 경계는 가상 공간의 전체보다 작은 가상 공간의 일부를 정의하고, 가상 공간의 일부는 가상 공간의 피처의 부분 집합을 갖는다.In one embodiment, defining boundaries within the gameplay context of the video game comprises defining a spatial boundary within a virtual space of the video game, wherein the spatial boundary within the virtual space of the video game is a virtual space that is less than the entirety of the virtual space. defines a part of , and a part of the virtual space has a subset of the features of the virtual space.
일 실시예에 있어서, 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 것은 비디오 게임의 시간적 맥락 내 시간적 경계를 정의하는 것을 포함한다.In one embodiment, defining boundaries within the gameplay context of the video game includes defining temporal boundaries within the temporal context of the video game.
일 실시예에 있어서, 경계를 정의하는 것은 스테이지, 레벨 또는 장면 중 하나 이상의 가장 가까운 시작 포인트 또는 가장 가까운 종료 포인트를 식별하는 것을 포함한다.In one embodiment, defining the boundary comprises identifying a closest start point or a closest end point of one or more of a stage, level, or scene.
일 실시예에 있어서, 상기 임계치 중 적어도 하나는 사용자 입력, 사용자 입력의 레이트, 사용자 입력의 빈도, 사용자 입력의 반복들, 입력 패턴, 다른 사용자들과의 게임플레이 맥락의 공유, 소셜 네트워크 상에 게임플레이와 연관된 코멘트들의 게시, 또는 소셜 네트워크 공유 레벨들에 기반하는 비디오 게임의 부분들의 인기 중 하나 이상과 연관된다.In one embodiment, at least one of the thresholds is: user input, rate of user input, frequency of user input, repetitions of user input, input pattern, sharing of gameplay context with other users, game on social network associated with one or more of the posting of comments associated with the play, or the popularity of portions of the video game based on social network sharing levels.
레코딩된 게임플레이에 기반하여 클라우드-게이밍에 대한 멀티-파트 미니-게임의 발생Generation of multi-part mini-games for cloud-gaming based on recorded gameplay
일 실시예에 있어서는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 방법으로서, 이하의 방법 연산: 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하는 연산; 사용자의 레코딩된 게임플레이의 복수의 사용자-정의된 부분을 결정하는 연산; 각각의 사용자-정의된 부분에 대해, 사용자-정의된 부분에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하고, 정의된 경계들에 기반하여 비디오 게임의 플레이가능한 부분을 발생시키는 연산; 비디오 게임의 제한된 버전을 정의하도록 비디오 게임의 플레이가능한 부분의 각각을 시리즈로 배열하는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In one embodiment, there is provided a method for generating a playable restricted version of a video game, the method operation comprising: recording a user's gameplay of a full version of the video game; an operation that determines a plurality of user-defined portions of the user's recorded gameplay; for each user-defined portion, defining boundaries within the gameplay context of the video game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; A method is provided, comprising the operation of arranging each of the playable portions of the video game in a series to define a limited version of the video game, the method being executed by a processor.
일 실시예에 있어서, 사용자의 레코딩된 게임플레이의 각각의 사용자-정의된 부분을 결정하는 것은 사용자의 레코딩된 게임플레이 내 사용자-정의된 시작 포인트 및 사용자-정의된 종료 포인트를 수신하는 것, 및 수신된 사용자-정의된 시작 포인트 및 사용자-정의된 종료 포인트에 기반하여 사용자-정의된 부분을 결정하는 것을 포함한다.In one embodiment, determining each user-defined portion of the user's recorded gameplay comprises receiving a user-defined start point and a user-defined end point within the user's recorded gameplay, and and determining a user-defined portion based on the received user-defined start point and user-defined end point.
일 실시예에 있어서, 사용자의 게임플레이를 레코딩하는 것은 사용자 입력 데이터 또는 게임 상태 데이터 중 하나 이상을 레코딩하는 것을 포함한다. 일 실시예에 있어서, 비디오 게임의 플레이가능한 부분을 발생시키는 것은 코드 엘리먼트(code element)들을 식별하도록 게임 상태 데이터를 분석하는 것, 및 비디오 게임의 플레이가능한 부분을 정의하는 실행가능한 코드를 정의하도록 코드 엘리먼트들을 어셈블링하는 것을 포함한다.In one embodiment, recording the user's gameplay comprises recording one or more of user input data or game state data. In one embodiment, generating the playable portion of the video game includes analyzing game state data to identify code elements, and code to define executable code defining the playable portion of the video game. It involves assembling elements.
일 실시예에 있어서, 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 것은 비디오 게임의 가상 공간 내 공간적 경계를 정의하는 것을 포함한다. 일 실시예에 있어서, 비디오 게임의 가상 공간 내 공간적 경계는 가상 공간의 전체보다 작은 가상 공간의 일부를 정의하고, 가상 공간의 일부는 가상 공간의 피처의 부분 집합을 갖는다.In one embodiment, defining boundaries within the gameplay context of the video game includes defining spatial boundaries within the virtual space of the video game. In one embodiment, a spatial boundary within the virtual space of the video game defines a portion of the virtual space that is smaller than the entire virtual space, the portion of the virtual space having a subset of the features of the virtual space.
일 실시예에 있어서, 비디오 게임의 게임플레이 맥락 내 경계들을 정의하는 것은 비디오 게임의 시간적 맥락 내 시간적 경계를 정의하는 것을 포함한다.In one embodiment, defining boundaries within the gameplay context of the video game includes defining temporal boundaries within the temporal context of the video game.
일 실시예에 있어서, 방법은, 각각의 사용자-정의된 부분에 대해, 사용자 게임 상태 설정을 결정하도록 사용자의 레코딩된 게임플레이를 분석하는 연산을 더 포함하되, 비디오 게임의 플레이가능한 부분을 발생시키는 것은 결정된 사용자 게임 상태 설정들에 기반하여 초기 게임 상태 설정들을 갖도록 비디오 게임의 플레이가능한 부분을 정의하는 것을 포함한다.In one embodiment, the method further comprises, for each user-defined portion, analyzing the user's recorded gameplay to determine a user game state setting, generating a playable portion of the video game. includes defining the playable portion of the video game to have initial game state settings based on the determined user game state settings.
일 실시예에 있어서, 경계를 정의하는 것은 스테이지, 레벨 또는 장면 중 하나 이상의 가장 가까운 시작 포인트 또는 종료 포인트를 식별하는 것을 포함한다.In one embodiment, defining the boundary comprises identifying a closest start or end point of one or more of a stage, level, or scene.
일 실시예에 있어서, 방법은 사용자-정의된 비디오를 레코딩하는 연산을 더 포함하되, 비디오 게임의 플레이가능한 부분을 배열하는 것은 비디오 게임의 플레이가능한 부분 중 하나에 선행하는 또는 후행하는 시리즈 내 위치에 사용자-정의된 비디오를 배열하는 것을 포함한다. 일 실시예에 있어서, 사용자-정의된 비디오는 사용자의 레코딩된 게임플레이의 사용자-정의된 부분들 중 적어도 하나로부터의 비디오를 포함한다.In one embodiment, the method further comprises the operation of recording a user-defined video, wherein arranging the playable portion of the video game at a position in the series preceding or following one of the playable portions of the video game and arranging user-defined videos. In one embodiment, the user-defined video comprises video from at least one of the user-defined portions of the user's recorded gameplay.
다른 일 실시예에 있어서는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 프로그램 명령어가 구체화되어 있는 유형적 컴퓨터 판독가능한 매체로서, 이하의 명령어: 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하기 위한 프로그램 명령어; 사용자의 레코딩된 게임플레이의 복수의 사용자-정의된 부분을 결정하기 위한 프로그램 명령어; 각각의 사용자-정의된 부분에 대해, 사용자-정의된 부분에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하고, 정의된 경계들에 기반하여 비디오 게임의 플레이가능한 부분을 발생시키기 위한 프로그램 명령어; 비디오 게임의 제한된 버전을 정의하도록 비디오 게임의 플레이가능한 부분의 각각을 시리즈로 배열하기 위한 프로그램 명령어를 포함하는 매체가 제공된다.In another embodiment, there is provided a tangible computer readable medium embodied on program instructions for generating a playable limited version of a video game, the instructions comprising: a program for recording gameplay of a user of a full version of the video game command; program instructions for determining a plurality of user-defined portions of the user's recorded gameplay; program instructions for, for each user-defined portion, defining boundaries within a gameplay context of the video game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; A medium is provided containing program instructions for arranging each of the playable portions of the video game in series to define a limited version of the video game.
일 실시예에 있어서, 사용자의 레코딩된 게임플레이의 각각의 사용자-정의된 부분을 결정하는 것은 사용자의 레코딩된 게임플레이 내 사용자-정의된 시작 포인트 및 사용자-정의된 종료 포인트를 수신하는 것, 및 수신된 사용자-정의된 시작 포인트 및 사용자-정의된 종료 포인트에 기반하여 사용자-정의된 부분을 결정하는 것을 포함한다.In one embodiment, determining each user-defined portion of the user's recorded gameplay comprises receiving a user-defined start point and a user-defined end point within the user's recorded gameplay, and and determining a user-defined portion based on the received user-defined start point and user-defined end point.
일 실시예에 있어서, 사용자의 게임플레이를 레코딩하는 것은 사용자 입력 데이터 또는 게임 상태 데이터 중 하나 이상을 레코딩하는 것을 포함한다. 일 실시예에 있어서, 비디오 게임의 플레이가능한 부분을 발생시키는 것은 코드 엘리먼트들을 식별하도록 게임 상태 데이터를 분석하는 것, 및 비디오 게임의 플레이가능한 부분을 정의하는 실행가능한 코드를 정의하도록 코드 엘리먼트들을 어셈블링하는 것을 포함한다.In one embodiment, recording the user's gameplay comprises recording one or more of user input data or game state data. In one embodiment, generating the playable portion of the video game includes analyzing game state data to identify code elements, and assembling the code elements to define executable code that defines the playable portion of the video game. includes doing
일 실시예에 있어서, 유형적 컴퓨터 판독가능한 매체는, 각각의 사용자-정의된 부분에 대해, 사용자 게임 상태 설정을 결정하도록 사용자의 레코딩된 게임플레이를 분석하기 위한 프로그램 명령어를 더 포함하되, 비디오 게임의 플레이가능한 부분을 발생시키는 것은 결정된 사용자 게임 상태 설정들에 기반하여 초기 게임 상태 설정들을 갖도록 비디오 게임의 플레이가능한 부분을 정의하는 것을 포함한다.In one embodiment, the tangible computer-readable medium further comprises, for each user-defined portion, program instructions for analyzing a user's recorded gameplay to determine a user game state setting, the video game's Generating the playable portion includes defining the playable portion of the video game to have initial game state settings based on the determined user game state settings.
다른 일 실시예에 있어서는, 시스템으로서: 적어도 하나의 서버 컴퓨팅 디바이스를 포함하고, 적어도 하나의 서버 컴퓨팅 디바이스는, 비디오 게임의 풀 버전의 사용자의 게임플레이를 레코딩하기 위한 로직; 사용자의 레코딩된 게임플레이의 복수의 사용자-정의된 부분을 결정하기 위한 로직; 각각의 사용자-정의된 부분에 대해, 사용자-정의된 부분에 기반하여 비디오 게임의 게임플레이 맥락 내 경계들을 정의하고, 정의된 경계들에 기반하여 비디오 게임의 플레이가능한 부분을 발생시키기 위한 로직; 비디오 게임의 제한된 버전을 정의하도록 비디오 게임의 플레이가능한 부분의 각각을 시리즈로 배열하기 위한 로직을 포함하는, 비디오 게임의 플레이가능한 제한된 버전을 발생시키기 위한 로직을 갖는 시스템이 제공된다.In another embodiment, a system includes: at least one server computing device, the at least one server computing device comprising: logic for recording gameplay of a user of a full version of a video game; logic for determining a plurality of user-defined portions of the user's recorded gameplay; logic for, for each user-defined portion, defining boundaries within a gameplay context of the video game based on the user-defined portion, and generating a playable portion of the video game based on the defined boundaries; A system with logic for generating a playable limited version of a video game is provided, comprising logic for arranging each of the playable portions of the video game in a series to define a limited version of the video game.
일 실시예에 있어서, 사용자의 레코딩된 게임플레이의 각각의 사용자-정의된 부분을 결정하는 것은 사용자의 레코딩된 게임플레이 내 사용자-정의된 시작 포인트 및 사용자-정의된 종료 포인트를 수신하는 것, 및 수신된 사용자-정의된 시작 포인트 및 사용자-정의된 종료 포인트에 기반하여 사용자-정의된 부분을 결정하는 것을 포함한다.In one embodiment, determining each user-defined portion of the user's recorded gameplay comprises receiving a user-defined start point and a user-defined end point within the user's recorded gameplay, and and determining a user-defined portion based on the received user-defined start point and user-defined end point.
일 실시예에 있어서, 사용자의 게임플레이를 레코딩하는 것은 사용자 입력 데이터 또는 게임 상태 데이터 중 하나 이상을 레코딩하는 것을 포함한다. 일 실시예에 있어서, 비디오 게임의 플레이가능한 부분을 발생시키는 것은 코드 엘리먼트들을 식별하도록 게임 상태 데이터를 분석하는 것, 및 비디오 게임의 플레이가능한 부분을 정의하는 실행가능한 코드를 정의하도록 코드 엘리먼트들을 어셈블링하는 것을 포함한다.In one embodiment, recording the user's gameplay comprises recording one or more of user input data or game state data. In one embodiment, generating the playable portion of the video game includes analyzing game state data to identify code elements, and assembling the code elements to define executable code that defines the playable portion of the video game. includes doing
일 실시예에 있어서, 상기 로직은, 각각의 사용자-정의된 부분에 대해, 사용자 게임 상태 설정을 결정하도록 사용자의 레코딩된 게임플레이를 분석하기 위한 로직을 더 포함하되, 비디오 게임의 플레이가능한 부분을 발생시키는 것은 결정된 사용자 게임 상태 설정들에 기반하여 초기 게임 상태 설정들을 갖도록 비디오 게임의 플레이가능한 부분을 정의하는 것을 포함한다.In one embodiment, the logic further comprises, for each user-defined portion, logic to analyze the user's recorded gameplay to determine a user game state setting, wherein: Generating includes defining the playable portion of the video game to have initial game state settings based on the determined user game state settings.
레코딩된 게임플레이를 소셜 그래프에 공유Share your recorded gameplay to social graphs
일 실시예에 있어서는, 레코딩된 게임플레이를 소셜 그래프에 공유하기 위한 방법으로서, 이하의 방법 연산: 게임플레이 세션의 활동 상태 동안 사용자의 게임플레이의 비디오를 레코딩하는 연산; 게임플레이 세션의 활동 상태 동안 공유하는 연산을 개시하는 커맨드를 수신하는 연산; 커맨드를 수신하는 것에 응답하여, 게임플레이 세션의 휴지 상태에 들어가고 공유하는 인터페이스를 제시하는 연산; 레코딩된 비디오의 사용자-정의된 선택을 결정하도록 공유하는 인터페이스를 통하여 수신된 입력을 프로세싱하는 연산; 레코딩된 비디오의 사용자-정의된 선택을 사용자의 소셜 그래프에 공유하는 연산; 게임플레이 세션의 활동 상태를 재개하는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In one embodiment, there is provided a method for sharing recorded gameplay to a social graph, comprising the following method operations: recording a video of a user's gameplay during an active state of a gameplay session; an operation that receives a command to initiate a shared operation during an active state of a gameplay session; in response to receiving the command, entering an idle state of the gameplay session and presenting a sharing interface; processing input received via the sharing interface to determine a user-defined selection of recorded video; an operation to share a user-defined selection of recorded video to the user's social graph; A method is provided, comprising an operation for resuming an active state of a gameplay session, wherein the method is executed by a processor.
일 실시예에 있어서, 사용자의 게임플레이의 비디오를 레코딩하는 것은 게임플레이 세션의 활동 상태 동안 버퍼에 비디오를 저장하는 것을 포함한다.In one embodiment, recording a video of the user's gameplay includes storing the video in a buffer during an active state of the gameplay session.
일 실시예에 있어서, 공유하는 인터페이스를 제시하는 것은 버퍼로부터 비디오의 하나 이상의 부분을 검색하여 제시하는 것을 포함한다.In one embodiment, presenting the sharing interface includes retrieving and presenting one or more portions of the video from a buffer.
일 실시예에 있어서, 공유하는 인터페이스는 사용자-정의된 선택의 지속시간을 정의하기 위한 지속시간 선택기를 포함한다.In one embodiment, the sharing interface includes a duration selector for defining the duration of the user-defined selection.
일 실시예에 있어서, 선택을 공유하는 것은 사용자의 소셜 그래프를 정의하는 소셜 네트워크 서비스 상에서 이용가능하도록 선택을 업로드하는 것을 포함한다.In one embodiment, sharing the selection includes uploading the selection for use on a social networking service that defines the user's social graph.
일 실시예에 있어서, 선택을 업로드하는 것은 선택을 압축하고 압축된 선택을 업로드하는 것을 포함한다.In one embodiment, uploading the selection includes compressing the selection and uploading the compressed selection.
일 실시예에 있어서, 선택을 공유하는 것은 사용자의 소셜 그래프의 구성원에게 통지를 발생시키는 것을 포함한다.In one embodiment, sharing the selection includes generating a notification to members of the user's social graph.
일 실시예에 있어서, 통지는 비밀 메시지, 채팅 메시지, 게임-내 통지, 소셜 뉴스 피드로의 게시, 이-메일 중 하나 이상에 의해 정의된다.In one embodiment, the notification is defined by one or more of a confidential message, a chat message, an in-game notification, posting to a social news feed, or e-mail.
일 실시예에 있어서, 선택을 공유하는 것은 사용자의 프로파일 페이지(profile page) 상에 선택을 제시하는 것을 포함한다.In one embodiment, sharing the selection includes presenting the selection on the user's profile page.
일 실시예에 있어서, 공유하는 연산을 개시하는 커맨드를 수신하는 것은 컨트롤러 디바이스 상의 버튼 누르기로부터 정의된다.In one embodiment, receiving a command to initiate a sharing operation is defined from a button press on the controller device.
다른 일 실시예에 있어서는, 레코딩된 게임플레이를 소셜 그래프에 공유하기 위한 방법으로서, 이하의 방법 연산: 게임플레이 세션의 활동 상태 동안 사용자의 게임플레이의 비디오를 레코딩하는 연산; 게임플레이 세션의 활동 상태 동안 공유하는 연산을 개시하는 커맨드를 수신하는 연산; 커맨드를 수신하는 것에 응답하여, 레코딩된 비디오의 사용자-정의된 선택을 결정하는 연산; 레코딩된 비디오의 사용자-정의된 선택을 사용자의 소셜 그래프에 공유하는 연산을 포함하되, 방법은 프로세서에 의해 실행되는 방법이 제공된다.In another embodiment, there is provided a method for sharing recorded gameplay to a social graph, comprising the following method operations: recording a video of a user's gameplay during an active state of a gameplay session; an operation that receives a command to initiate a shared operation during an active state of a gameplay session; in response to receiving the command, determining a user-defined selection of recorded video; A method is provided, comprising the operation of sharing a user-defined selection of recorded video to a user's social graph, wherein the method is executed by a processor.
일 실시예에 있어서, 사용자의 게임플레이의 비디오를 레코딩하는 것은 게임플레이 세션의 활동 상태 동안 버퍼에 비디오를 저장하는 것을 포함한다.In one embodiment, recording a video of the user's gameplay includes storing the video in a buffer during an active state of the gameplay session.
일 실시예에 있어서, 레코딩된 비디오의 사용자-정의된 선택을 결정하는 것은 버퍼로부터 비디오를 검색하여 제시하는 것, 및 비디오의 일부를 식별하는 사용자 입력을 프로세싱하는 것을 포함한다.In one embodiment, determining a user-defined selection of recorded video includes retrieving and presenting the video from a buffer, and processing user input identifying a portion of the video.
일 실시예에 있어서, 선택을 공유하는 것은 사용자의 소셜 그래프를 정의하는 소셜 네트워크 서비스 상에서 이용가능하도록 선택을 업로드하는 것을 포함한다.In one embodiment, sharing the selection includes uploading the selection for use on a social networking service that defines the user's social graph.
일 실시예에 있어서, 공유하는 연산을 개시하는 커맨드를 수신하는 것은 컨트롤러 디바이스 상의 버튼 누르기로부터 정의된다.In one embodiment, receiving a command to initiate a sharing operation is defined from a button press on the controller device.
다른 일 실시예에 있어서는, 레코딩된 게임플레이를 소셜 그래프에 공유하기 위한 프로그램 명령어가 정의되어 있는 비-일시적 컴퓨터 판독가능한 매체가 제공된다. 프로그램 명령어는: 게임플레이 세션의 활동 상태 동안 사용자의 게임플레이의 비디오를 레코딩하기 위한 프로그램 명령어; 게임플레이 세션의 활동 상태 동안 공유하는 연산을 개시하는 커맨드를 수신하기 위한 프로그램 명령어; 커맨드를 수신하는 것에 응답하여, 레코딩된 비디오의 사용자-정의된 선택을 결정하기 위한 프로그램 명령어; 레코딩된 비디오의 사용자-정의된 선택을 사용자의 소셜 그래프에 공유하기 위한 프로그램 명령어를 포함한다.In another embodiment, a non-transitory computer readable medium having program instructions defined for sharing recorded gameplay to a social graph is provided. The program instructions include: program instructions for recording a video of a user's gameplay during an active state of a gameplay session; program instructions for receiving a command to initiate a shared operation during an active state of a gameplay session; program instructions for determining, in response to receiving the command, a user-defined selection of recorded video; program instructions for sharing a user-defined selection of recorded video to a user's social graph.
일 실시예에 있어서, 사용자의 게임플레이의 비디오를 레코딩하는 것은 게임플레이 세션의 활동 상태 동안 버퍼에 비디오를 저장하는 것을 포함한다.In one embodiment, recording a video of the user's gameplay includes storing the video in a buffer during an active state of the gameplay session.
일 실시예에 있어서, 레코딩된 비디오의 사용자-정의된 선택을 결정하는 것은 버퍼로부터 비디오를 검색하여 제시하는 것, 및 비디오의 일부를 식별하는 사용자 입력을 프로세싱하는 것을 포함한다.In one embodiment, determining a user-defined selection of recorded video includes retrieving and presenting the video from a buffer, and processing user input identifying a portion of the video.
일 실시예에 있어서, 선택을 공유하는 것은 사용자의 소셜 그래프를 정의하는 소셜 네트워크 서비스 상에서 이용가능하도록 선택을 업로드하는 것을 포함한다.In one embodiment, sharing the selection includes uploading the selection for use on a social networking service that defines the user's social graph.
일 실시예에 있어서, 공유하는 연산을 개시하는 커맨드를 수신하는 것은 컨트롤러 디바이스 상의 버튼 누르기로부터 정의된다.In one embodiment, receiving a command to initiate a sharing operation is defined from a button press on the controller device.
제2 사용자에 의한 제1 사용자의 게임플레이의 원격 제어Remote control of the first user's gameplay by the second user
일 실시예에 있어서는, 사용자의 게임플레이의 원격 제어를 제공하기 위한 방법으로서, 이하의 방법 연산: 제1 사용자의 게임플레이의 라이브 비디오 피드를 원격의 제2 사용자에게 제시하는 연산; 제1 사용자의 게임플레이의 제어를 제2 사용자에게 이행하는 요청을 프로세싱하는 연산; 제2 사용자에 의한 제1 사용자의 게임플레이의 제어를 개시하는 연산을 포함하되, 방법은 적어도 하나의 프로세서에 의해 실행되는 방법이 제공된다.In one embodiment, there is provided a method for providing remote control of a user's gameplay, the method operation comprising: presenting a live video feed of a first user's gameplay to a remote second user; processing a request to transfer control of the first user's gameplay to the second user; A method is provided, comprising an operation that initiates control of gameplay of a first user by a second user, the method being executed by at least one processor.
일 실시예에 있어서, 제2 사용자에 의한 제1 사용자의 게임플레이의 제어를 개시하는 것은 제1 사용자와 연관된 제1 컨트롤러 디바이스에 의한 제1 사용자의 게임플레이의 제어를 비활성화시키는 것, 및 제2 사용자와 연관된 제2 컨트롤러 디바이스에 의한 제1 사용자의 게임플레이의 제어를 활성화시키는 것을 포함한다.In one embodiment, initiating control of the first user's gameplay by the second user comprises disabling control of the first user's gameplay by a first controller device associated with the first user, and a second and activating control of gameplay of the first user by a second controller device associated with the user.
일 실시예에 있어서, 제2 컨트롤러 디바이스에 의한 제1 사용자의 게임플레이의 제어는 제2 컨트롤러 디바이스로부터 입력 커맨드들을 수신하는 것 및 제1 사용자의 게임플레이를 정의하도록 입력 커맨드들을 적용하는 것을 포함한다.In one embodiment, control of the gameplay of the first user by the second controller device comprises receiving input commands from the second controller device and applying the input commands to define the gameplay of the first user. .
일 실시예에 있어서, 라이브 비디오 피드는 소셜 인터페이스를 통해 제2 사용자에게 제시되고, 소셜 인터페이스는 제2 사용자의 소셜 그래프로의 액세스를 제공하고, 제1 사용자는 제2 사용자의 소셜 그래프의 구성원으로서 정의된다.In one embodiment, the live video feed is presented to a second user via a social interface, the social interface providing access to the second user's social graph, and the first user as a member of the second user's social graph. Defined.
일 실시예에 있어서, 소셜 인터페이스는 제1 사용자의 게임플레이 동안 코멘트들을 게시하기 위한 코멘트 인터페이스를 포함한다.In one embodiment, the social interface includes a comments interface for posting comments during gameplay of the first user.
일 실시예에 있어서, 제어를 이행하는 요청을 프로세싱하는 것은 제2 사용자에 의한 제1 사용자의 게임플레이의 제어를 허용하는 제1 사용자로부터의 확인응답을 수신하는 것을 포함한다.In one embodiment, processing the request to exercise control includes receiving an acknowledgment from the first user allowing control of the first user's gameplay by the second user.
일 실시예에 있어서, 제1 사용자의 게임플레이의 라이브 비디오 피드를 제2 사용자에게 제시하는 것은 비-풀스크린 포맷으로 라이브 비디오 피드를 제시하는 것을 포함하고, 제2 사용자에 의한 제1 사용자의 게임플레이의 제어를 개시하는 것은 풀스크린 포맷으로 라이브 비디오 피드의 제시를 트리거링하는 것을 포함한다.In one embodiment, presenting the live video feed of the first user's gameplay to the second user comprises presenting the live video feed in a non-full screen format, wherein the game by the second user is Initiating control of play includes triggering presentation of a live video feed in a full screen format.
다른 일 실시예에 있어서는, 멀티플레이어 게임플레이를 제공하기 위한 방법으로서, 이하의 방법 연산: 제1 사용자의 게임플레이 세션의 라이브 비디오 피드를 원격의 제2 사용자에게 제시하는 연산; 제2 사용자가 제1 사용자의 게임플레이 세션에 합류하는 요청을 프로세싱하는 연산; 제1 사용자의 게임플레이 세션에서 제2 사용자에 의한 게임플레이를 개시하는 연산을 포함하되, 방법은 적어도 하나의 프로세서에 의해 실행되는 방법이 제공된다.In another embodiment, there is provided a method for providing multiplayer gameplay comprising the following method operations: presenting a live video feed of a gameplay session of a first user to a remote second user; processing a request for a second user to join a gameplay session of the first user; A method is provided, comprising the operation of initiating gameplay by a second user in a gameplay session of a first user, the method being executed by at least one processor.
일 실시예에 있어서, 제1 사용자의 게임플레이 세션에서 제2 사용자에 의한 게임플레이를 개시하는 것은 비디오 게임의 멀티플레이어 모드를 개시하는 것을 포함한다.In one embodiment, initiating gameplay by a second user in a gameplay session of the first user comprises initiating a multiplayer mode of the video game.
일 실시예에 있어서, 라이브 비디오 피드는 소셜 인터페이스를 통해 제2 사용자에게 제시되고, 소셜 인터페이스는 제2 사용자의 소셜 그래프로의 액세스를 제공하고, 제1 사용자는 제2 사용자의 소셜 그래프의 구성원으로서 정의된다.In one embodiment, the live video feed is presented to a second user via a social interface, the social interface providing access to the second user's social graph, and the first user as a member of the second user's social graph. Defined.
일 실시예에 있어서, 소셜 인터페이스는 제1 사용자의 게임플레이 동안 코멘트들을 게시하기 위한 코멘트 인터페이스를 포함한다.In one embodiment, the social interface includes a comments interface for posting comments during gameplay of the first user.
일 실시예에 있어서, 제1 사용자의 게임플레이 세션에 합류하는 요청을 프로세싱하는 것은 제1 사용자의 게임플레이 세션에서 제2 사용자에 의한 게임플레이를 허용하는 제1 사용자로부터의 확인응답을 수신하는 것을 포함한다.In one embodiment, processing the request to join the gameplay session of the first user includes receiving an acknowledgment from the first user allowing gameplay by the second user in the gameplay session of the first user. include
일 실시예에 있어서, 제1 사용자의 게임플레이의 라이브 비디오 피드를 제2 사용자에게 제시하는 것은 비-풀스크린 포맷으로 라이브 비디오 피드를 제시하는 것을 포함하고, 제1 사용자의 게임플레이 세션에서 제2 사용자에 의한 게임플레이를 개시하는 것은 풀스크린 포맷으로 라이브 비디오 피드의 제시를 트리거링하는 것을 포함한다.In one embodiment, presenting the live video feed of the gameplay of the first user to the second user comprises presenting the live video feed in a non-fullscreen format, wherein the second user in a gameplay session of the first user Initiating gameplay by the user includes triggering presentation of a live video feed in a full screen format.
다른 일 실시예에 있어서는, 사용자의 게임플레이의 원격 제어를 제공하기 위한 프로그램 명령어가 구체화되어 있는 비-일시적 컴퓨터 판독가능한 매체가 제공되며, 프로그램 명령어는: 제1 사용자의 게임플레이의 라이브 비디오 피드를 원격의 제2 사용자에게 제시하기 위한 프로그램 명령어; 제1 사용자의 게임플레이의 제어를 제2 사용자에게 이행하는 요청을 프로세싱하기 위한 프로그램 명령어; 제2 사용자에 의한 제1 사용자의 게임플레이의 제어를 개시하기 위한 프로그램 명령어를 포함한다.In another embodiment, a non-transitory computer readable medium embodied in program instructions for providing remote control of a user's gameplay is provided, the program instructions comprising: a live video feed of a first user's gameplay program instructions for presentation to a remote second user; program instructions for processing a request to transfer control of gameplay of a first user to a second user; program instructions for initiating control of the first user's gameplay by the second user.
일 실시예에 있어서, 제2 사용자에 의한 제1 사용자의 게임플레이의 제어를 개시하는 것은 제1 사용자와 연관된 제1 컨트롤러 디바이스에 의한 제1 사용자의 게임플레이의 제어를 비활성화시키는 것, 및 제2 사용자와 연관된 제2 컨트롤러 디바이스에 의한 제1 사용자의 게임플레이의 제어를 활성화시키는 것을 포함한다.In one embodiment, initiating control of the first user's gameplay by the second user comprises disabling control of the first user's gameplay by a first controller device associated with the first user, and a second and activating control of gameplay of the first user by a second controller device associated with the user.
일 실시예에 있어서, 제2 컨트롤러 디바이스에 의한 제1 사용자의 게임플레이의 제어는 제2 컨트롤러 디바이스로부터 입력 커맨드들을 수신하는 것 및 제1 사용자의 게임플레이를 정의하도록 입력 커맨드들을 적용하는 것을 포함한다.In one embodiment, control of the gameplay of the first user by the second controller device comprises receiving input commands from the second controller device and applying the input commands to define the gameplay of the first user. .
일 실시예에 있어서, 라이브 비디오 피드는 소셜 인터페이스를 통해 제2 사용자에게 제시되고, 소셜 인터페이스는 제2 사용자의 소셜 그래프로의 액세스를 제공하고, 제1 사용자는 제2 사용자의 소셜 그래프의 구성원으로서 정의된다.In one embodiment, the live video feed is presented to a second user via a social interface, the social interface providing access to the second user's social graph, and the first user as a member of the second user's social graph. Defined.
일 실시예에 있어서, 소셜 인터페이스는 제1 사용자의 게임플레이 동안 코멘트들을 게시하기 위한 코멘트 인터페이스를 포함한다.In one embodiment, the social interface includes a comments interface for posting comments during gameplay of the first user.
일 실시예에 있어서, 제어를 이행하는 요청을 프로세싱하는 것은 제2 사용자에 의한 제1 사용자의 게임플레이의 제어를 허용하는 제1 사용자로부터의 확인응답을 수신하는 것을 포함한다.In one embodiment, processing the request to exercise control includes receiving an acknowledgment from the first user allowing control of the first user's gameplay by the second user.
일 실시예에 있어서, 제1 사용자의 게임플레이의 라이브 비디오 피드를 제2 사용자에게 제시하는 것은 비-풀스크린 포맷으로 라이브 비디오 피드를 제시하는 것을 포함하고, 제2 사용자에 의한 제1 사용자의 게임플레이의 제어를 개시하는 것은 풀스크린 포맷으로 라이브 비디오 피드의 제시를 트리거링하는 것을 포함한다.In one embodiment, presenting the live video feed of the first user's gameplay to the second user comprises presenting the live video feed in a non-full screen format, wherein the game by the second user is Initiating control of play includes triggering presentation of a live video feed in a full screen format.
도 20은, 본 발명의 일 실시예에 따라, 비디오 게임과의 대화성을 제공하도록 사용될 수 있는 사용자 인터페이스 및 하드웨어를 예시하고 있다. 도 20은, 본 발명의 실시예에 따라 베이스 컴퓨팅 디바이스에서 실행되는 컴퓨터 프로그램과 제어 디바이스를 인터페이싱시키도록 호환가능할 수 있는 콘솔인, 소니(Sony)(등록상표) 플레이스테이션3(Playstation3)(등록상표) 엔터테인먼트 디바이스의 전반적 시스템 아키텍처를 도식적으로 예시하고 있다. 시스템 유닛(2000)에는 시스템 유닛(2000)에 접속가능한 다양한 주변 디바이스가 제공된다. 시스템 유닛(2000)은: 셀 프로세서(2028); 램버스(Rambus)(등록상표) 동적 램(XDRAM) 유닛(2026); 전용 비디오 램(VRAM) 유닛(2032)을 갖는 리얼리티 합성기 그래픽 유닛(2030); 및 I/O 브릿지(2034)를 포함한다. 시스템 유닛(2000)은 또한, I/O 브릿지(2034)를 통해 액세스가능한, 디스크(2040a)로부터 판독하기 위한 블루 레이(Blu Ray)(등록상표) 디스크 BD-ROM(등록상표) 광학 디스크 리더(2040) 및 착탈식 슬롯-인 하드 디스크 드라이브(HDD)(2036)를 포함한다. 선택사항으로서, 시스템 유닛(2000)은 또한, 유사하게 I/O 브릿지(2034)를 통해 액세스가능한, 콤팩트 플래시 메모리 카드를 판독하기 위한 메모리 카드 리더(2038), 및 Memory Stick(등록상표) 메모리 카드 등을 포함한다.20 illustrates a user interface and hardware that may be used to provide interactivity with a video game, in accordance with one embodiment of the present invention. 20 is a Sony(R) PlayStation3(R) console that may be compatible to interface a control device with a computer program running on a base computing device in accordance with an embodiment of the present invention; ) schematically illustrates the overall system architecture of the entertainment device. The
I/O 브릿지(2034)는 또한 6개의 범용 직렬 버스(USB) 2.0 포트(2024); 기가비트 이더넷 포트(2022); IEEE 802.11 b/g 무선 네트워크(와이-파이) 포트(2020); 및 7개의 블루투스 접속까지 지원할 수 있는 Bluetooth(등록상표) 무선 링크 포트(2018)에 접속된다.The I/
동작에 있어서, I/O 브릿지(2034)는, 하나 이상의 게임 컨트롤러(2002-2003)로부터의 데이터를 포함하여, 모든 무선, USB 및 이더넷 데이터를 취급한다. 예를 들어, 사용자가 게임을 플레이하고 있을 때, I/O 브릿지(2034)는 블루투스 링크를 통하여 게임 컨트롤러(2002-2003)로부터 데이터를 수신하고 그것을 셀 프로세서(2028)로 지향시키며, 그러면 그에 따라 게임의 현재 상태를 업데이트한다.In operation, I/
무선, USB 및 이더넷 포트는 또한: 리모컨(2004); 키보드(2006); 마우스(2008); Sony 플레이스테이션(Playstation) Portable(등록상표)과 같은 포터블 엔터테인먼트 디바이스(2010); EyeToy(등록상표) 비디오 카메라(2012)와 같은 비디오 카메라; 마이크로폰 헤드셋(2014); 및 마이크로폰(2015)과 같이, 게임 컨트롤러(2002-2003)에 부가하여 다른 주변 디바이스에 대한 접속성을 제공한다. 그래서 그러한 주변 디바이스는 원칙적으로는 시스템 유닛(2000)에 무선으로 접속될 수 있다; 예를 들어 포터블 엔터테인먼트 디바이스(2010)는 와이-파이 애드-혹 접속을 통하여 통신할 수 있는 한편, 마이크로폰 헤드셋(2014)은 블루투스 링크를 통하여 통신할 수 있다.Wireless, USB and Ethernet ports also include: remote control (2004); keyboard (2006); mouse (2008);
이들 인터페이스의 제공은 플레이스테이션 3 디바이스가 또한 잠재적으로 디지털 비디오 레코더(DVR), 셋-톱 박스, 디지털 카메라, 포터블 미디어 플레이어, VoIP 전화기, 모바일 전화기, 프린터 및 스캐너와 같은 다른 주변 디바이스와 호환가능함을 의미한다.The provision of these interfaces makes the
부가적으로, 구형 메모리 카드 리더(2016)가 USB 포트(2024)를 통하여 시스템 유닛에 접속되어, 플레이스테이션(Playstation)(등록상표) 또는 플레이스테이션(Playstation) 2(등록상표) 디바이스에 의해 사용되는 종류의 메모리 카드(2048)의 판독을 가능하게 할 수 있다.Additionally, an older
게임 컨트롤러(2002-2003)는 블루투스 링크를 통하여 시스템 유닛(2000)과 무선으로 통신하도록, 또는 USB 포트에 접속되어, 그로써 또한 게임 컨트롤러(2002-2003)의 배터리를 충전할 전력을 제공하도록 동작가능하다. 게임 컨트롤러(2002-2003)는 또한 메모리, 프로세서, 메모리 카드 리더, 플래시 메모리와 같은 영구적 메모리, 조명 구 섹션, LED 또는 적외선 광과 같은 발광기, 초음파 통신을 위한 마이크로폰 및 스피커, 음향 챔버, 디지털 카메라, 내부 클록, 게임 콘솔에 대향하는 구 섹션과 같은 인지가능한 형상, 및 Bluetooth(등록상표), 와이파이(WiFi)(상표명) 등과 같은 프로토콜을 사용하는 무선 통신을 포함할 수 있다.The game controller 2002-2003 is operable to communicate wirelessly with the
게임 컨트롤러(2002)는 2개의 손으로 사용되도록 설계된 컨트롤러이고, 게임 컨트롤러(2003)는 부착물을 갖는 한-손 컨트롤러이다. 하나 이상의 아날로그 조이스틱 및 관용적 제어 버튼에 부가하여, 게임 컨트롤러는 3-차원 위치 결정이 쉽다. 그 결과 게임 컨트롤러의 사용자에 의한 제스처 및 움직임은 관용적 버튼 또는 조이스틱 커맨드에 부가하여 또는 그 대신에 게임으로의 입력으로서 변환될 수 있다. 선택사항으로서, 플레이스테이션(Playstation)(상표명) 포터블 디바이스와 같은 다른 무선 가능 주변 디바이스가 컨트롤러로서 사용될 수 있다. 플레이스테이션(Playstation)(상표명) 포터블 디바이스의 경우에, 부가적 게임 또는 제어 정보(예를 들어, 제어 명령어 또는 생명의 수)가 디바이스의 스크린 상에 제공될 수 있다. 댄스 매트(도시되지 않음), 라이트 건(도시되지 않음), 스티어링 휠 및 페달(도시되지 않음), 또는 신속한-응답 퀴즈 게임을 위한 단일 또는 수개의 큰 버튼(또한 도시되지 않음)과 같은 맞춤형 컨트롤러와 같은, 다른 대안 또는 보충 제어 디바이스가 또한 사용될 수 있다.
리모컨(2004)은 또한 블루투스 링크를 통하여 시스템 유닛(2000)과 무선으로 통신하도록 동작가능하다. 리모컨(704)은 블루 레이(Blu Ray)(상표명) 디스크 BD-ROM 리더(2040)의 조작에 그리고 디스크 컨텐트의 항행에 적합한 컨트롤을 포함한다.The
블루 레이(Blu Ray)(상표명) 디스크 BD-ROM 리더(2040)는, 관용적 기-레코딩된 그리고 레코딩가능한 CD, 및 소위 슈퍼 오디오 CD에 부가하여, 플레이스테이션 및 플레이스테이션 2 디바이스와 호환가능한 CD-ROM을 판독하도록 동작가능하다. 리더(2040)는 또한, 관용적 기-레코딩된 그리고 레코딩가능한 DVD에 부가하여, 플레이스테이션 2 및 플레이스테이션 3 디바이스와 호환가능한 DVD-ROM을 판독하도록 동작가능하다. 리더(2040)는, 관용적 기-레코딩된 그리고 레코딩가능한 블루-레이 디스크뿐만 아니라, 플레이스테이션 3 디바이스와 호환가능한 BD-ROM을 판독하도록 더 동작가능하다.The Blu Ray (trade name) disc BD-
시스템 유닛(2000)은 오디오 및 비디오를, 리얼리티 합성기 그래픽 유닛(2030)을 통하여 플레이스테이션 3 디바이스에 의해 디코딩되든 발생되든, 오디오 및 비디오 커넥터를 통해 디스플레이(2044) 및 하나 이상의 라우드스피커(2046)를 갖는 텔레비전 세트 또는 모니터와 같은 디스플레이 및 사운드 출력 디바이스(2042)에 공급하도록 동작가능하다. 오디오 커넥터(2050)는 관용적 아날로그 및 디지털 출력을 포함할 수 있는 한편, 비디오 커넥터(2052)는 다양하게 컴포넌트 비디오, S-비디오, 콤포지트 비디오 및 하나 이상의 고선명 멀티미디어 인터페이스(HDMI) 출력을 포함할 수 있다. 그 결과, 비디오 출력은 PAL 또는 NTSC와 같은 포맷이거나, 720p, 1080i 또는 1080p 고선명일 수 있다.
오디오 프로세싱(발생, 디코딩 등)은 셀 프로세서(2028)에 의해 수행된다. 플레이스테이션 3 디바이스의 운영 체제는 돌비(Dolby)(등록상표) 5.1 서라운드 사운드, 돌비(Dolby)(등록상표) 씨어터 서라운드(DTS), 및 블루 레이(Blu Ray)(등록상표) 디스크로부터의 7.1 서라운드 사운드의 디코딩을 지원한다.Audio processing (generation, decoding, etc.) is performed by
본 실시예에 있어서, 비디오 카메라(2012)는 단일 전하 결합 디바이스(CCD), LED 인디케이터, 및 압축된 비디오 데이터가 시스템 유닛(2000)에 의한 디코딩을 위해 인트라-이미지 기반 MPEG(motion picture expert group) 표준과 같은 적합한 포맷으로 송신될 수 있도록 하드웨어-기반 실시간 데이터 압축 및 인코딩 장치를 포함한다. 카메라 LED 인디케이터는, 예를 들어, 조명 악조건을 나타내도록 시스템 유닛(2000)으로부터의 적합한 제어 데이터에 응답하여 조명하도록 배열된다. 비디오 카메라(2012)의 실시예는 다양하게 USB, 블루투스 또는 와이-파이 통신 포트를 통하여 시스템 유닛(700)에 접속될 수 있다. 비디오 카메라의 실시예는 하나 이상의 연관된 마이크로폰을 포함할 수 있고 또한 오디오 데이터를 송신 가능할 수 있다. 비디오 카메라의 실시예에 있어서, CCD는 고-선명 비디오 캡처에 적합한 해상도를 가질 수 있다. 사용에 있어서, 비디오 카메라에 의해 캡처링된 이미지는 예를 들어 게임 제어 입력으로서 해석되거나 게임 내 편입될 수 있다. 다른 일 실시예에 있어서, 카메라는 적외선 광을 검출하기에 적합한 적외선 카메라이다.In this embodiment, the
일반적으로, 시스템 유닛(2000)의 통신 포트 중 하나를 통하여 리모컨 또는 비디오 카메라와 같은 주변 디바이스와 성공적 데이터 통신이 일어나기 위하여, 디바이스 드라이버와 같은 적합한 한 가지의 소프트웨어가 제공되어야 한다. 디바이스 드라이버 기술은 주지되어 있고, 당업자는 디바이스 드라이버 또는 유사한 소프트웨어 인터페이스가 설명된 본 실시예에서 요구될 수 있음을 알고 있을 것이라고 말하는 것 외에는, 여기서 상세히 설명되지 않을 것이다.In general, in order to successfully communicate data with a peripheral device such as a remote control or a video camera through one of the communication ports of the
도 21은, 본 발명의 일 실시예에 따라, 명령어를 프로세싱하도록 사용될 수 있는 부가적 하드웨어를 예시하고 있다. 셀 프로세서(2028)는 4개의 기본 컴포넌트를 포함하는 아키텍처를 갖는다: 메모리 컨트롤러(2160) 및 듀얼 버스 인터페이스 컨트롤러(2170A, B)를 포함하는 외부 입력 및 출력 구조; 파워 프로세싱 엘리먼트(2150)라고 지칭되는 메인 프로세서; 시너지스틱 프로세싱 엘리먼트(SPE)(2110A-H)라고 지칭되는 8개의 코-프로세서; 및 엘리먼트 상호접속 버스(2180)라고 지칭되는 위 컴포넌트를 접속시키는 순환 데이터 버스. 셀 프로세서의 총 부동 소수점 성능은, 플레이스테이션 2 디바이스의 이모션 엔진의 6.2 GFLOPS에 비해, 218 GFLOPS이다.21 illustrates additional hardware that may be used to process instructions, in accordance with one embodiment of the present invention.
파워 프로세싱 엘리먼트(PPE)(2150)는 3.2 GHz의 내부 클록으로 동작하는 2-방향 동시 멀티스레딩 파워 570 준수 파워PC 코어(PPU) 855에 기반한다. 그것은 512 kB 레벨 2(L2) 캐시 및 32 kB 레벨 1(L1) 캐시를 포함한다. PPE(2150)는, 3.2 GHz에서 25.6 GFLOPS로 해석되는, 클록 사이클당 8개의 단일 포지션 연산을 할 수 있다. PPE(2150)의 주 역할은, 계산 작업부하의 대부분을 취급하는, 시너지스틱 프로세싱 엘리먼트(2110A-H)를 위한 컨트롤러로서 역할하는 것이다. 동작에 있어서, PPE(2150)는 작업 큐를 유지하여, 시너지스틱 프로세싱 엘리먼트(2110A-H)에 대한 작업을 스케줄링하고 그들 진행을 모니터링한다. 그 결과, 각각의 시너지스틱 프로세싱 엘리먼트(2110A-H)는 역할이 작업을 인출하고, 그것을 실행하고 PPE(2150)와 동기화시키는 것인 커널을 실행한다.The Power Processing Element (PPE) 2150 is based on a two-way simultaneous multithreading Power 570 compliant PowerPC Core (PPU) 855 operating with an internal clock of 3.2 GHz. It contains a 512 kB level 2 (L2) cache and a 32 kB level 1 (L1) cache. The
각각의 시너지스틱 프로세싱 엘리먼트(SPE)(2110A-H)는 각각의 시너지스틱 프로세싱 유닛(SPU)(2120A-H), 및 각각의 동적 메모리 액세스 컨트롤러(DMAC)(2142A-H), 각각의 메모리 관리 유닛(MMU)(2144A-H) 및 버스 인터페이스(도시되지 않음)를 차례로 포함하는 각각의 메모리 플로 컨트롤러(MFC)(2140A-H)를 포함한다. 각각의 SPU(2120A-H)는 원칙적으로는 4 GB까지 확장가능한 256 kB 로컬 RAM(2130A-H)을 포함하고 3.2 GHz에서 클록킹되는 RISC 프로세서이다. 각각의 SPE는 이론적 25.6 GFLOPS의 단일 정밀도 성능을 준다. SPU는 단일 클록 사이클에서 4개의 단일 정밀도 부동 소수점 멤버, 4개의 32-비트 넘버, 8개의 16-비트 정수, 또는 16개의 8-비트 정수에 대해 연산할 수 있다. 동일한 클록 사이클에서 그것은 또한 메모리 연산을 수행할 수 있다. SPU(2120A-H)는 시스템 메모리(XDRAM)(2026)에 직접 액세스하지 않는다; SPU(2120A-H)에 의해 형성된 64-비트 어드레스는 엘리먼트 상호접속 버스(2180) 및 메모리 컨트롤러(2160)를 통하여 메모리에 액세스하도록 그 DMA 컨트롤러(2142A-H)에 지시하는 MFC(2140A-H)에 넘겨진다.Each synergistic processing element (SPE) 2110A-H includes a respective synergistic processing unit (SPU) 2120A-H, and a respective dynamic memory access controller (DMAC) 2142A-H, each memory management each memory flow controller (MFC) 2140A-H, which in turn includes a unit (MMU) 2144A-H and a bus interface (not shown). Each
엘리먼트 상호접속 버스(EIB)(2180)는 셀 프로세서(2028) 내부의 논리적 순환 통신 버스로서, 위 프로세서 엘리먼트, 즉, PPE(2150), 메모리 컨트롤러(2160), 듀얼 버스 인터페이스(2170A, B) 및 8개의 SPE(2110A-H), 총 12개의 참가자를 접속시킨다. 참가자는 클록 사이클당 8 바이트의 레이트로 버스에 동시에 기록 및 판독할 수 있다. 앞서 언급된 바와 같이, 각각의 SPE(2110A-H)는 더 긴 판독 또는 기록 시퀀스를 스케줄링하기 위한 DMAC(2142A-H)를 포함한다. EIB는, 시계방향과 반-시계방향으로 각각 2개인, 4개의 채널을 포함한다. 그 결과, 12개의 참가자에 대해, 어느 2개의 참가자 간 가장 긴 단계별 데이터-플로는 적합한 방향으로 6개의 단계이다. 그래서 12개의 슬롯에 대한 이론적 피크 순시 EIB 대역폭은, 참가자 간 아비트레이션을 통한 완전 이용의 경우에, 클록당 96B이다. 이것은 3.2 GHz의 클록 레이트에서 307.2 GB/s(초당 기가바이트)의 이론적 피크 대역폭과 같다.Element interconnect bus (EIB) 2180 is a logical cyclic communication bus inside
메모리 컨트롤러(2160)는 램버스사에 의해 개발된 XDRAM 인터페이스(2162)를 포함한다. 메모리 컨트롤러는 25.6 GB/s의 이론적 피크 대역폭으로 램버스 XDRAM(2026)과 인터페이싱한다. The
듀얼 버스 인터페이스(2170A, B)는 Rambus FlexIO(등록상표) 시스템 인터페이스(2172A, B)를 포함한다. 인터페이스는 각각 8 비트 폭인 12개의 채널로 조직되며, 5개 경로는 인바운드이고 7개는 아웃바운드이다. 이것은 컨트롤러(2170B)를 통하여 리얼리티 시뮬레이터 그래픽 유닛(2130)과 컨트롤러(2170A)를 통하여 I/O 브릿지(2034) 및 셀 프로세서 간 62.4 GB/s(36.4 GB/s 아웃바운드, 26 GB/s 인바운드)의 이론적 피크 대역폭을 제공한다.Dual bus interfaces 2170A, B include Rambus FlexIO(R) system interfaces 2172A, B. The interface is organized into 12 channels, each 8 bits wide, with 5 paths inbound and 7 outbound. This is 62.4 GB/s (36.4 GB/s outbound, 26 GB/s inbound) between reality simulator graphics unit 2130 via
셀 프로세서(2128)에 의해 리얼리티 시뮬레이터 그래픽 유닛(2130)에 보내지는 데이터는 전형적으로는, 정점을 그리고, 다각형에 텍스처를 적용하고, 조명 조건을 특정하는 등의 커맨드 시퀀스인, 디스플레이 리스트를 포함할 것이다.The data sent by the cell processor 2128 to the reality simulator graphics unit 2130 will typically include a display list, which is a sequence of commands to draw vertices, apply textures to polygons, specify lighting conditions, and the like. will be.
도 22는, 본 발명의 일 실시예에 따라, 인터넷을 통하여 서버 프로세싱에 접속되는 게임 클라이언트(2202)와 각각의 사용자(A) 내지 사용자(E)가 대화하고 있는 장면(A) 내지 장면(E)의 일례를 도시하고 있다. 게임 클라이언트는 사용자가 인터넷을 통하여 서버 애플리케이션 및 프로세싱에 접속할 수 있게 하는 디바이스이다. 게임 클라이언트는 사용자가, 국한되는 것은 아니지만, 게임, 영화, 음악 및 사진과 같은 온라인 엔터테인먼트 컨텐트에 액세스하여 재생할 수 있게 한다. 부가적으로, 게임 클라이언트는 VOIP, 문자 채팅 프로토콜, 및 이메일과 같은 온라인 통신 애플리케이션으로의 액세스를 제공할 수 있다. 22 is a view showing a game client 2202 connected to server processing via the Internet and each user A to E having a conversation, according to an embodiment of the present invention. ) is shown as an example. A game client is a device that allows a user to access server applications and processing via the Internet. Game clients allow users to access and play online entertainment content such as, but not limited to, games, movies, music and photos. Additionally, the game client may provide access to online communication applications such as VOIP, text chat protocols, and email.
사용자는 컨트롤러를 통하여 게임 클라이언트와 대화한다. 일부 실시예에 있어서, 컨트롤러는 게임 클라이언트 특정 컨트롤러인 한편, 다른 실시예에 있어서, 컨트롤러는 키보드와 마우스 조합일 수 있다. 일 실시예에 있어서, 게임 클라이언트는 모니터/텔레비전 및 연관된 오디오 장비를 통해 멀티미디어 환경을 생성하도록 오디오 및 비디오 신호를 출력할 수 있는 자립형 디바이스이다. 예를 들어, 게임 클라이언트는, 국한되는 것은 아니지만, 씬 클라이언트, 내부 PCI-익스프레스 카드, 외부 PCI-익스프레스 디바이스, 익스프레스카드 디바이스, 내부, 외부 또는 무선 USB 디바이스, 또는 파이어와이어 디바이스 등일 수 있다. 다른 실시예에 있어서, 게임 클라이언트는 DVR, 블루-레이 플레이어, DVD 플레이어 또는 멀티-채널 수신기와 같은 다른 멀티미디어 디바이스 또는 텔레비전과 통합된다. The user interacts with the game client through the controller. In some embodiments, the controller is a game client specific controller, while in other embodiments, the controller may be a keyboard and mouse combination. In one embodiment, the game client is a standalone device capable of outputting audio and video signals to create a multimedia environment via a monitor/television and associated audio equipment. For example, a game client may be, but is not limited to, a thin client, an internal PCI-Express card, an external PCI-Express device, an ExpressCard device, an internal, external or wireless USB device, or a FireWire device, or the like. In another embodiment, the game client is integrated with a television or other multimedia device such as a DVR, Blu-ray player, DVD player or multi-channel receiver.
도 22의 장면(A) 내에서, 사용자(A)는 게임 클라이언트(2202A)와 페어링된 컨트롤러(2206A)를 사용하여 모니터(2204A) 상에 디스플레이된 클라이언트 애플리케이션과 대화한다. 유사하게, 장면(B) 내에서, 사용자(B)는 게임 클라이언트(2202B)와 페어링된 컨트롤러(2206B)를 사용하여 모니터(2204B) 상에 디스플레이되는 다른 클라이언트 애플리케이션과 대화한다. 장면(C)는 사용자(C)가 게임 클라이언트(2202C)로부터 게임 및 친구 목록을 디스플레이하는 모니터를 주시하고 있을 때 그 뒤로부터 본 것을 예시하고 있다. 도 22가 단일 서버 프로세싱 모듈을 도시하고 있기는 하지만, 일 실시예에서는, 세계 곳곳의 다수의 서버 프로세싱 모듈이 있다. 각각의 서버 프로세싱 모듈은 사용자 세션 제어, 공유/통신 로직, 사용자 지리적-위치, 및 부하 균형 프로세싱 서비스를 위한 서브-모듈을 포함한다. 더욱, 서버 프로세싱 모듈은 네트워크 프로세싱 및 분산형 저장을 포함한다. Within scene A of FIG. 22 , user A uses
게임 클라이언트(2202)가 서버 프로세싱 모듈에 접속할 때, 사용자 세션 제어는 사용자를 인증하도록 사용될 수 있다. 인증된 사용자는 연관된 가상화된 분산형 저장 및 가상화된 네트워크 프로세싱을 가질 수 있다. 사용자의 가상화된 분산형 저장의 일부분으로서 저장될 수 있는 예시적 아이템은, 국한되는 것은 아니지만, 게임, 비디오 및 음악 등과 같은 구입한 미디어를 포함한다. 부가적으로, 분산형 저장은 다수 게임에 대한 게임 상황, 개개의 게임에 대한 커스터마이징된 설정, 및 게임 클라이언트에 대한 일반적 설정을 저장하도록 사용될 수 있다. 일 실시예에 있어서, 서버 프로세싱의 사용자 지리적-위치 모듈은 사용자 및 그 각각의 게임 클라이언트의 지리적 위치를 결정하도록 사용된다. 사용자의 지리적 위치는 다수의 서버 프로세싱 모듈의 프로세싱 요구 및 지리적 위치에 기반하여 성능을 최적화하도록 부하 균형 프로세싱 서비스에 의해서도 그리고 공유/통신 로직에 의해서도 사용될 수 있다. 네트워크 프로세싱 및 네트워크 저장 중 어느 하나 또는 둘 다를 가상화하는 것은 게임 클라이언트로부터의 프로세싱 태스크가 덜 이용된 서버 프로세싱 모듈(들)로 동적으로 시프트 가능하게 할 것이다. 그리하여, 부하 균형은 저장소로부터의 리콜과도 그리고 서버 프로세싱 모듈과 게임 클라이언트 간 데이터 송신과도 연관된 레이턴시를 최소화하도록 사용될 수 있다.When the game client 2202 connects to the server processing module, user session control may be used to authenticate the user. Authenticated users may have associated virtualized distributed storage and virtualized network processing. Exemplary items that may be stored as part of a user's virtualized distributed storage include, but are not limited to, purchased media such as games, videos, and music. Additionally, distributed storage can be used to store game situations for multiple games, customized settings for individual games, and general settings for game clients. In one embodiment, the user geo-location module of server processing is used to determine the geographic location of the user and their respective game clients. A user's geographic location may be used both by the load balancing processing service and by the sharing/communication logic to optimize performance based on geographic location and processing needs of multiple server processing modules. Virtualizing either or both of network processing and network storage will allow processing tasks from the game client to be dynamically shiftable to less utilized server processing module(s). As such, load balancing can be used to minimize the latency associated with recalls from storage and also with data transmission between the server processing module and the game client.
서버 프로세싱 모듈은 서버 애플리케이션(A) 및 서버 애플리케이션(B)의 인스턴스를 갖는다. 서버 프로세싱 모듈은 서버 애플리케이션(X1) 및 서버 애플리케이션(X2)에 의해 나타낸 바와 같은 다수의 서버 애플리케이션을 지원할 수 있다. 일 실시예에 있어서, 서버 프로세싱은 클러스터 내 다수의 프로세서가 서버 애플리케이션을 프로세싱할 수 있게 하는 클러스터 컴퓨팅 아키텍처에 기반한다. 다른 일 실시예에 있어서는, 다른 유형의 멀티-컴퓨터 프로세싱 기법이 서버 애플리케이션을 프로세싱하도록 적용된다. 이것은 다수의 클라이언트 애플리케이션 및 대응하는 서버 애플리케이션을 실행하는 다수의 게임 클라이언트를 수용하기 위하여 서버 프로세싱이 스케일링될 수 있게 한다. 대안으로, 서버 프로세싱은 그래픽 프로세싱 또는 게임, 비디오 압축, 또는 애플리케이션 복잡도를 더 요구함으로써 필요하게 된 증가된 컴퓨팅 수요를 수용하도록 스케일링될 수 있다. 일 실시예에 있어서, 서버 프로세싱 모듈은 서버 애플리케이션을 통하여 프로세싱의 대다수를 수행한다. 이것은 그래픽 프로세서, RAM 및 범용 프로세서와 같은 비교적 비싼 컴포넌트가 중앙에 위치할 수 있게 하여 게임 클라이언트의 비용을 감축한다. 프로세싱된 서버 애플리케이션 데이터는 인터넷을 통하여 대응하는 게임 클라이언트에 다시 보내져 모니터 상에 디스플레이된다.The server processing module has an instance of a server application (A) and a server application (B). The server processing module may support a number of server applications as represented by server application (X 1 ) and server application (X 2 ). In one embodiment, server processing is based on a cluster computing architecture that allows multiple processors in the cluster to process server applications. In another embodiment, other types of multi-computer processing techniques are applied to process server applications. This allows server processing to be scaled to accommodate multiple game clients running multiple client applications and corresponding server applications. Alternatively, server processing can be scaled to accommodate the increased computing demands made by requiring more graphics processing or gaming, video compression, or application complexity. In one embodiment, the server processing module performs the majority of processing through the server application. This reduces the cost of the game client by allowing relatively expensive components such as graphics processors, RAM and general purpose processors to be centrally located. The processed server application data is sent back to the corresponding game client via the Internet and displayed on the monitor.
장면(C)은 게임 클라이언트 및 서버 프로세싱 모듈에 의해 실행될 수 있는 일례의 애플리케이션을 예시하고 있다. 예를 들어, 일 실시예에 있어서, 게임 클라이언트(2202C)는 사용자(C)가 사용자(A), 사용자(B), 사용자(D) 및 사용자(E)를 포함하는 친구 목록(2220)을 생성하고 볼 수 있게 한다. 도시된 바와 같이, 장면(C)에서, 사용자(C)는 모니터(2204C) 상에서 각각의 사용자의 실시간 이미지 또는 아바타를 볼 수 있다. 서버 프로세싱은 게임 클라이언트(2202C) 및 사용자(A), 사용자(B), 사용자(D) 및 사용자(E)의 각각의 게임 클라이언트(2202)의 각각의 애플리케이션을 실행한다. 서버 프로세싱은 게임 클라이언트(B)에 의해 실행되고 있는 애플리케이션을 알고 있기 때문에, 사용자(A)에 대한 친구 목록은 어느 게임 사용자(B)가 플레이하고 있는지 나타낼 수 있다. 더더욱, 일 실시예에 있어서, 사용자(A)는 사용자(B)로부터 직접 게임 비디오 내 실제를 볼 수 있다. 이것은 단지 사용자(B)에 대한 프로세싱된 서버 애플리케이션 데이터를 게임 클라이언트(B)에 부가하여 게임 클라이언트(A)에 보냄으로써 가능하게 된다. Scene (C) illustrates an example application that may be executed by the game client and server processing modules. For example, in one embodiment,
친구로부터의 비디오를 볼 수 있는 것에 부가하여, 통신 애플리케이션은 친구들 간 실시간 통신을 가능하게 할 수 있다. 앞선 예에 적용된 바와 같이, 이것은 사용자(A)가 사용자(B)의 실시간 비디오를 시청하면서 격려 또는 힌트를 제공 가능하게 한다. 일 실시예에서는, 2-방향 실시간 음성 통신이 클라이언트/서버 애플리케이션을 통해 확립된다. 다른 일 실시예에 있어서, 클라이언트/서버 애플리케이션은 문자 채팅을 가능하게 한다. 또 다른 일 실시예에 있어서, 클라이언트/서버 애플리케이션은 친구의 스크린 상에 디스플레이하기 위해 음성을 문자로 변환한다. In addition to being able to view videos from friends, the communication application may enable real-time communication between friends. As applied to the previous example, this enables user A to provide encouragement or hints while watching real-time video of user B. In one embodiment, two-way real-time voice communication is established via a client/server application. In another embodiment, the client/server application enables text chat. In another embodiment, the client/server application converts speech to text for display on a friend's screen.
장면(D) 및 장면(E)은 각각 게임 콘솔(2210D, 2210E)과 대화하는 각각의 사용자(D) 및 사용자(E)를 예시하고 있다. 각각의 게임 콘솔(2210D, 2210E)은 서버 프로세싱 모듈에 접속되어 있고 서버 프로세싱 모듈이 게임 콘솔과 게임 클라이언트 양자에 대해 게임 플레이를 조정하는 네트워크를 예시하고 있다.Scenes D and E illustrate users D and E, respectively, interacting with
도 23은 정보 서비스 제공자 아키텍처의 일 실시예를 도시하고 있다. 정보 서비스 제공자(ISP)(2370)는 지리적으로 분산되고 네트워크(2386)를 통하여 접속된 사용자(2382)에게 다수의 정보 서비스를 전달한다. ISP는, 주가 업데이트와 같은 단 하나의 유형의 서비스, 또는 브로드캐스트 미디어, 뉴스, 스포츠, 게이밍 등과 같은 다양한 서비스를 전달할 수 있다. 부가적으로, 각각의 ISP에 의해 제공되는 서비스는 동적이다, 즉, 서비스는 어느 시점에라도 부가되거나 없어질 수 있다. 그리하여, 특정 개인에 특정 유형의 서비스를 제공하는 ISP는 시간에 걸쳐 바뀔 수 있다. 예를 들어, 사용자는 사용자가 그녀의 고향에 있는 동안은 사용자에게 가까운 근처에 있는 ISP에 의해 서비스 제공받을 수 있고, 사용자는 사용자가 다른 도시로 여행할 때는 다른 ISP에 의해 서비스 제공받을 수 있다. 고향 ISP는, 사용자 정보가 새로운 도시로의 사용자를 "따라" 데이터가 사용자에게 더 가깝고 액세스가 더 용이하게 하도록, 요구되는 정보 및 데이터를 새로운 ISP로 이관할 것이다. 다른 일 실시예에 있어서는, 사용자에 대한 정보를 관리하는 마스터 ISP와 마스터 ISP로부터의 제어 하에 사용자와 직접 인터페이싱하는 서버 ISP 간 마스터-서버 관계가 확립될 수 있다. 다른 실시예에 있어서는, 사용자에게 서비스를 제공하기에 더 나은 위치에 있는 ISP가 이들 서비스를 전달하는 것이게 하도록 클라이언트가 세계를 돌아다닐 때 데이터가 하나의 ISP로부터 다른 하나의 ISP로 이관된다.23 illustrates one embodiment of an information service provider architecture. An information service provider (ISP) 2370 delivers a number of information services to
ISP(2370)는, 컴퓨터-기반 서비스를 네트워크를 통하여 고객에게 제공하는, 애플리케이션 서비스 제공자(ASP)(2372)를 포함한다. ASP 모델을 사용하여 제공된 소프트웨어는 때로는 주문형 소프트웨어 또는 서비스형 소프트웨어(SaaS)라고도 불린다. (고객 관계 관리와 같은) 특정 애플리케이션 프로그램으로의 액세스를 제공하는 단순 형태는 HTTP와 같은 표준 프로토콜을 사용하는 것에 의한다. 애플리케이션 소프트웨어는 벤더의 시스템 상에 상주하고, 벤더에 의해 제공된 특수 목적 클라이언트 소프트웨어, 또는 씬 클라이언트와 같은 다른 원격 인터페이스에 의해, HTML을 사용하는 웹 브라우저를 통해 사용자에 의해 액세스된다.
넓은 지리적 지역을 통하여 전달되는 서비스는 흔히 클라우드 컴퓨팅을 사용한다. 클라우드 컴퓨팅은 동적으로 스케일링가능한 그리고 흔히 가상화된 자원이 인터넷을 통하여 서비스로서 제공되는 컴퓨팅 스타일이다. 사용자는 그들을 지원하는 "클라우드" 내 기술 기반구조에 전문가일 필요가 없다. 클라우드 컴퓨팅은, 서비스형 기반구조(IaaS), 서비스형 플랫폼(PaaS), 및 서비스형 소프트웨어(SaaS)와 같은, 여러 다른 서비스로 나뉠 수 있다. 클라우드 컴퓨팅 서비스는 흔히 웹 브라우저로부터 액세스되는 공통 비즈니스 애플리케이션을 온라인으로 제공하는 한편, 소프트웨어 및 데이터는 서버 상에 저장된다. 용어 클라우드는, 인터넷이 컴퓨터 네트워크 선도에서 어떻게 묘사되는지에 기반하여, 인터넷에 대한 은유로서 사용되고 그것이 은닉하는 복잡한 기반구조에 대한 추상화이다.Services delivered over a large geographic area often use cloud computing. Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users do not have to be experts in the technology infrastructure in the "cloud" to support them. Cloud computing can be divided into several different services, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Cloud computing services provide common business applications online, often accessed from a web browser, while software and data are stored on servers. The term cloud, based on how the Internet is depicted in computer network diagrams, is used as a metaphor for the Internet and is an abstraction to the complex infrastructure it conceals.
더욱, ISP(2370)는 단일 및 멀티플레이어 비디오 게임을 플레이하도록 게임 클라이언트에 의해 사용되는 게임 프로세싱 서버(GPS)(2374)를 포함한다. 인터넷을 통하여 플레이되는 대부분의 비디오 게임은 게임 서버로의 접속을 통하여 동작한다. 전형적으로, 게임은 플레이어로부터 데이터를 수집하는 전용 서버 애플리케이션을 사용하고 그것을 다른 플레이어에게 배포한다. 이것은 피어-투-피어 배열보다 더 효율적이고 효과적이지만, 그것은 서버 애플리케이션을 호스팅할 별개의 서버를 요구한다. 다른 일 실시예에 있어서, GPS는 플레이어 간 통신을 확립하고 그들 각각의 게임-플레이하는 디바이스는 중앙집중형 GPS에 의존하지 않고 정보를 교환한다.Further,
전용 GPS는 클라이언트와 독립적으로 동작하는 서버이다. 그러한 서버는 보통 데이터 센터 내 위치하는 전용 하드웨어 상에서 동작되어, 더 많은 대역폭 및 전용 프로세싱 능력을 제공한다. 전용 서버는 대부분의 PC-기반 멀티플레이어 게임을 위한 게임 서버를 호스팅하는 선호되는 방법이다. 게임 타이틀을 소유하는 소프트웨어 회사에 의해 통상 호스팅되는 전용 서버 상에서 실행되는 멀티플레이어 온라인 게임은 대규모이며, 그들이 컨텐트를 제어 및 업데이트 가능하게 한다.A dedicated GPS is a server that operates independently of the client. Such servers are typically run on dedicated hardware located within the data center, providing more bandwidth and dedicated processing power. Dedicated servers are the preferred way to host game servers for most PC-based multiplayer games. Multiplayer online games running on dedicated servers typically hosted by the software companies that own the game titles are large-scale, allowing them to control and update the content.
브로드캐스트 프로세싱 서버(BPS)(2376)는 시청자에게 오디오 또는 비디오 신호를 배포한다. 매우 좁은 범위의 시청자에게 브로드캐스팅하는 것은 때로는 내로우캐스팅이라고 불린다. 브로드캐스트 배포의 최종 여정은 신호가 청취자 또는 관람자에게 어떻게 도달하는가이고, 그것은 라디오 스테이션 또는 TV 스테이션에 대해서와 같이 공중으로 안테나 및 수신기로 올 수도 있고, 네트워크로부터 직접 또는 스테이션을 통하여 케이블 TV 또는 케이블 라디오(또는 "무선 케이블")를 통해 올 수도 있다. 또한 인터넷은, 특히 신호 및 대역폭이 공유될 수 있게 하는 멀티캐스팅으로, 라디오 또는 TV를 수신자에게로 이끌 수 있다. 역사적으로, 브로드캐스트는, 국영 방송 또는 지역 방송과 같이, 지리적 영역에 의해 획정되어 왔다. 그렇지만, 고속 인터넷의 급증으로, 컨텐트가 세계 어느 나라에라도 거의 도달할 수 있으므로 브로드캐스트는 지리에 의해 정의되지 않는다.A broadcast processing server (BPS) 2376 distributes audio or video signals to viewers. Broadcasting to a very narrow audience is sometimes called narrowcasting. The final journey of broadcast distribution is how the signal gets to the listener or spectator, it may come to the antenna and receiver in the air, such as for a radio station or TV station, directly from the network or through a cable TV or cable radio station. (or "wireless cable"). The Internet can also lead radio or TV to recipients, particularly with multicasting that allows signals and bandwidth to be shared. Historically, broadcasts, such as national or regional broadcasts, have been delimited by geographic area. However, with the proliferation of high-speed Internet, broadcast is not defined by geography as the content can reach almost any country in the world.
저장 서비스 제공자(SSP)(2378)는 컴퓨터 저장 공간 및 관련 관리 서비스를 제공한다. SSP는 또한 주기적 백업 및 아카이빙을 제공한다. 서비스형 저장을 제공함으로써, 사용자는 필요에 따라 더 많은 저장을 주문할 수 있다. 또 다른 주요 이점은 SSP가 백업 서비스를 포함하고 사용자는 그들 컴퓨터의 하드 드라이브가 고장나더라도 모든 그들 데이터를 잃지는 않을 것이라는 것이다. 더욱, 복수의 SSP는 사용자의 데이터의 전체 또는 부분 사본을 갖고 있을 수 있어, 사용자가 위치하고 있는 곳 또는 데이터에 액세스하는데 사용되는 디바이스와는 독립적으로 효율적인 방식으로 사용자가 데이터에 액세스할 수 있게 한다. 예를 들어, 사용자는 집 컴퓨터에서는 물론, 사용자가 이동하고 있는 동안에는 모바일 폰에서도 개인 파일에 액세스할 수 있다.A storage service provider (SSP) 2378 provides computer storage space and related management services. SSP also provides periodic backup and archiving. By providing storage-as-a-service, users can order more storage as needed. Another major advantage is that SSP includes a backup service and users won't lose all their data if their computer's hard drive fails. Moreover, the plurality of SSPs may have full or partial copies of the user's data, allowing the user to access the data in an efficient manner independent of where the user is located or the device used to access the data. For example, users can access personal files from their home computer as well as from their mobile phone while the user is on the go.
통신 제공자(380)는 사용자에게 접속성을 제공한다. 통신 제공자의 한 종류는 인터넷으로의 액세스를 제공하는 인터넷 서비스 제공자(ISP)이다. ISP는, 다이얼-업, DSL, 케이블 모뎀, 무선 또는 전용 고속 상호접속과 같이, 인터넷 프로토콜 데이터그램을 전달하기에 적합한 데이터 전송 기술을 사용하여 그 고객을 접속시킨다. 통신 제공자는 또한, 이-메일, 인스턴트 메시징, 및 SMS 문자와 같은, 메시징 서비스를 제공할 수 있다. 다른 유형의 통신 제공자는 인터넷으로의 다이렉트 백본 액세스를 제공함으로써 네트워크 액세스 또는 대역폭을 판매하는 네트워크 서비스 제공자(NSP)이다. 네트워크 서비스 제공자는 원격 통신 회사, 데이터 캐리어, 무선 통신 제공자, 인터넷 서비스 제공자, 고속 인터넷 액세스를 제공하는 케이블 텔레비전 오퍼레이터 등으로 이루어질 수 있다.Communication provider 380 provides connectivity to users. One type of communication provider is an Internet Service Provider (ISP) that provides access to the Internet. ISPs connect their customers using a data transmission technology suitable for carrying Internet Protocol datagrams, such as dial-up, DSL, cable modem, wireless or dedicated high-speed interconnect. Communication providers may also provide messaging services, such as e-mail, instant messaging, and SMS text messages. Another type of communication provider is a network service provider (NSP) that sells network access or bandwidth by providing direct backbone access to the Internet. Network service providers may consist of telecommunications companies, data carriers, wireless communication providers, Internet service providers, cable television operators providing high-speed Internet access, and the like.
데이터 교환(2388)은 ISP(2370) 내부 수개의 모듈을 상호접속하고 이들 모듈을 네트워크(2386)를 통하여 사용자(2382)에 접속시킨다. 데이터 교환(2388)은 ISP(2370)의 모든 모듈이 가까운 근처에 있는 작은 지역을 맡을 수 있거나, 여러 다른 모듈이 지리적으로 분산되어 있을 때에는 큰 지리적 지역을 맡을 수 있다. 예를 들어, 데이터 교환(2388)은 데이터 센터의 캐비넷 내 고속 기가비트 이더넷(또는 더 고속), 또는 대륙간 가상지역망(VLAN)을 포함할 수 있다.
사용자(2382)는, 적어도 CPU, 디스플레이 및 I/O을 포함하는, 클라이언트 디바이스(2384)로 원격 서비스에 액세스한다. 클라이언트 디바이스는 PC, 모바일 폰, 넷북, PDA 등일 수 있다. 일 실시예에 있어서, ISP(2370)는 클라이언트에 의해 사용되는 디바이스의 유형을 인식하고 채용되는 통신 방법을 조절한다. 다른 경우에 있어서, 클라이언트 디바이스는 ISP(2370)에 액세스하도록, html과 같은, 표준 통신 방법을 사용한다.
본 발명의 실시예는 핸드-헬드 디바이스, 마이크로프로세서 시스템, 마이크로프로세서-기반 또는 프로그래밍 가능한 소비자 전자 제품, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다양한 컴퓨터 시스템 구성으로 실시될 수 있다. 본 발명은 또한 유선-기반 또는 무선 네트워크를 통해 링크되어 있는 원격 프로세싱 디바이스에 의해 태스크가 수행되는 분산형 컴퓨팅 환경에서 실시될 수 있다. Embodiments of the present invention may be practiced in a variety of computer system configurations, including hand-held devices, microprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a wire-based or wireless network.
위 실시예들을 염두에 두고, 본 발명은 컴퓨터 시스템에 저장된 데이터를 관여시키는 다양한 컴퓨터-구현된 연산을 채용할 수 있음을 이해하여야 한다. 이들 연산은 물리적 수량의 물리적 조작을 요구하는 것들이다. 본 발명의 일부분을 형성하는 여기에서 설명된 연산 중 어느 것이라도 유용한 기계 연산이다. 본 발명은 또한 이들 연산을 수행하기 위한 장치 또는 디바이스에 관한 것이다. 장치는 요구되는 목적으로 특수 구성될 수 있거나, 또는 장치는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 구성되는 범용 컴퓨터일 수 있다. 특히, 다양한 범용 기계가 여기에서의 교시에 따라 작성된 컴퓨터 프로그램과 사용될 수 있거나, 또는 요구되는 연산을 수행하도록 더 전문적 장치를 구성하는 것이 더 편리할 수 있다.With the above embodiments in mind, it should be understood that the present invention may employ a variety of computer-implemented operations involving data stored in a computer system. These operations are those that require physical manipulation of physical quantities. Any of the operations described herein that form part of the present invention are useful machine operations. The invention also relates to an apparatus or device for performing these operations. The apparatus may be specially constructed for the required purpose, or the apparatus may be a general purpose computer selectively activated or configured by a computer program stored in the computer. In particular, various general purpose machines may be used with computer programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required operations.
본 발명은 또한 컴퓨터 판독가능한 매체 상에 컴퓨터 판독가능한 코드로서 구체화될 수 있다. 컴퓨터 판독가능한 매체는, 이후 컴퓨터 시스템에 의해 판독될 수 있는, 데이터를 저장할 수 있는 어느 데이터 저장 디바이스이다. 컴퓨터 판독가능한 매체의 예는 하드 드라이브, NAS(network attached storage), 롬, 램, CD-ROM, CD-R, CD-RW, 자기 테이프 및 다른 광학 및 비-광학 데이터 저장 디바이스를 포함한다. 컴퓨터 판독가능한 매체는 컴퓨터 판독가능한 코드가 분산형 방식으로 저장 및 실행되도록 네트워크-결합형 컴퓨터 시스템을 통하여 분산된 컴퓨터 판독가능한 유형적 매체를 포함할 수 있다.The invention may also be embodied as computer readable code on a computer readable medium. A computer readable medium is any data storage device capable of storing data, which can then be read by a computer system. Examples of computer-readable media include hard drives, network attached storage (NAS), ROM, RAM, CD-ROM, CD-R, CD-RW, magnetic tape, and other optical and non-optical data storage devices. Computer-readable media may include computer-readable tangible media distributed over a network-coupled computer system such that the computer-readable code is stored and executed in a distributed fashion.
방법 연산이 특정 순서로 설명되었기는 하지만, 다른 하우스키핑 연산이 연산들 사이에 수행될 수도 있고, 연산이 조금 다른 시간에 일어나도록 그것이 조절될 수도 있고, 오버레이 연산의 프로세싱이 소망 방식으로 수행되는 한, 프로세싱과 연관된 다양한 인터벌로 프로세싱 연산의 발생을 허용하는 시스템에서 연산이 분산될 수도 있음을 이해하여야 한다.Although the method operations have been described in a specific order, other housekeeping operations may be performed between the operations, they may be adjusted to occur at slightly different times, and as long as the processing of the overlay operations is performed in the desired manner. , it should be understood that operations may be distributed in a system that allows for the occurrence of processing operations at various intervals associated with processing.
상기 발명이 이해의 명확성의 목적으로 일부 상세히 설명되었기는 하지만, 첨부 청구범위의 범위 내에서 특정한 변경 및 수정이 실시될 수 있음은 명백할 것이다. 따라서, 본 실시예는 제한이 아니라 예시로서 생각되어야 하며, 본 발명은 여기에서 주어진 상세로 한정되는 것이 아니라, 첨부된 청구범위의 범위 및 균등물 내에서 수정될 수 있다.Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. Accordingly, this embodiment is to be considered as illustrative and not restrictive, and the invention is not limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
Claims (7)
게임플레이 세션의 활동 상태 동안 사용자의 게임플레이의 비디오를 레코딩하는 단계;
상기 게임플레이 세션의 상기 활동 상태 동안 공유하는 연산을 개시하는 커맨드를 수신하는 단계;
상기 커맨드를 수신하는 단계에 응답하여 상기 게임플레이 세션의 휴지 상태에 들어가고, 상기 게임플레이 세션이 휴지 상태인 동안에 공유하는 인터페이스를 제시하는 단계;
레코딩된 상기 비디오의 사용자-정의된 선택을 결정하도록 상기 공유하는 인터페이스를 통하여 수신된 입력을 프로세싱하는 단계;
레코딩된 상기 비디오의 상기 사용자-정의된 선택을 상기 사용자의 소셜 그래프로의 공유를 진행하기 위한 상기 공유하는 인터페이스를 통하여 요청을 프로세싱하는 단계;
상기 사용자-정의된 선택의 공유를 진행하기 위한 상기 요청의 프로세싱에 응답하여, 상기 게임플레이 세션의 상기 활동 상태를 재개하는 단계를 포함하되,
상기 사용자의 게임플레이의 비디오를 레코딩하는 단계는 상기 게임플레이 세션의 활동 상태 동안 상기 비디오를 버퍼에 저장하는 단계를 포함하고,
상기 공유 인터페이스는 상기 사용자의 게임플레이의 상기 레코딩된 비디오의 상기 사용자-정의된 선택을 가능하게 하며, 상기 공유하는 인터페이스는 상기 사용자-정의된 선택의 지속시간을 정의하기 위한 지속시간 선택기를 포함하고,
상기 사용자-정의된 선택의 공유는 웹사이트를 통하여 상기 사용자-정의된 선택에 액세스할 수 있게 하며,
상기 방법은 프로세서에 의해 실행되고,
상기 공유하는 연산을 개시하는 커맨드를 수신하는 단계는 상기 게임플레이 세션의 상기 활동 상태 동안 컨트롤러 디바이스 상의 버튼 누르기로부터 정의되는 방법.A method for sharing recorded gameplay to a social graph, comprising:
recording a video of the user's gameplay during an active state of the gameplay session;
receiving a command to initiate a shared operation during the active state of the gameplay session;
entering an idle state of the gameplay session in response to receiving the command, and presenting a shared interface while the gameplay session is idle;
processing input received via the sharing interface to determine a user-defined selection of the recorded video;
processing a request via the sharing interface to proceed with sharing the user-defined selection of the recorded video to the user's social graph;
in response to processing the request to proceed with sharing the user-defined selection, resuming the active state of the gameplay session;
wherein recording a video of the user's gameplay comprises storing the video in a buffer during an active state of the gameplay session;
wherein the sharing interface enables the user-defined selection of the recorded video of the user's gameplay, the sharing interface comprising a duration selector for defining a duration of the user-defined selection; ,
sharing the user-defined selection allows access to the user-defined selection through a website;
The method is executed by a processor,
wherein receiving a command to initiate a sharing operation is defined from a button press on a controller device during the active state of the gameplay session.
Applications Claiming Priority (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261745290P | 2012-12-21 | 2012-12-21 | |
US201261745281P | 2012-12-21 | 2012-12-21 | |
US61/745,281 | 2012-12-21 | ||
US61/745,290 | 2012-12-21 | ||
US13/831,190 | 2013-03-14 | ||
US13/831,178 US9352226B2 (en) | 2012-12-21 | 2013-03-14 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
US13/831,178 | 2013-03-14 | ||
US13/831,190 US9364743B2 (en) | 2012-12-21 | 2013-03-14 | Generation of a multi-part mini-game for cloud-gaming based on recorded gameplay |
US13/839,486 US9242176B2 (en) | 2012-12-21 | 2013-03-15 | Remote control of a first user's gameplay by a second user |
US13/839,382 | 2013-03-15 | ||
US13/839,486 | 2013-03-15 | ||
US13/839,382 US9345966B2 (en) | 2012-03-13 | 2013-03-15 | Sharing recorded gameplay to a social graph |
KR1020207018763A KR20200083658A (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
PCT/US2013/077320 WO2014100770A2 (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recordes gameplay |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207018763A Division KR20200083658A (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210094149A true KR20210094149A (en) | 2021-07-28 |
Family
ID=50979420
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177014398A KR20170061196A (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
KR1020197021762A KR20190090077A (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
KR1020207018764A KR102292820B1 (en) | 2012-12-21 | 2013-12-20 | Remote control of gameplay |
KR1020207018763A KR20200083658A (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
KR1020217023036A KR20210094149A (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
KR1020197014565A KR20190057448A (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
KR1020157019834A KR101742662B1 (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177014398A KR20170061196A (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
KR1020197021762A KR20190090077A (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
KR1020207018764A KR102292820B1 (en) | 2012-12-21 | 2013-12-20 | Remote control of gameplay |
KR1020207018763A KR20200083658A (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197014565A KR20190057448A (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
KR1020157019834A KR101742662B1 (en) | 2012-12-21 | 2013-12-20 | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay |
Country Status (7)
Country | Link |
---|---|
JP (4) | JP6196147B2 (en) |
KR (7) | KR20170061196A (en) |
BR (1) | BR102013033136B1 (en) |
MX (3) | MX353111B (en) |
RU (1) | RU2605840C2 (en) |
TW (3) | TWI559965B (en) |
WO (1) | WO2014100770A2 (en) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6612019B2 (en) | 2014-08-19 | 2019-11-27 | 株式会社ソニー・インタラクティブエンタテインメント | Information processing apparatus, control data transmission method, and information processing system |
US9919208B2 (en) * | 2014-12-11 | 2018-03-20 | Immersion Corporation | Video gameplay haptics |
JP5770918B1 (en) * | 2014-12-18 | 2015-08-26 | 株式会社Cygames | Information processing program and information processing method |
US10207185B2 (en) | 2015-03-07 | 2019-02-19 | Sony Interactive Entertainment America Llc | Using connection quality history to optimize user experience |
JP6893392B2 (en) * | 2015-08-04 | 2021-06-23 | 任天堂株式会社 | Game system, game device, control program and game control method |
US10315108B2 (en) * | 2015-08-19 | 2019-06-11 | Sony Interactive Entertainment America Llc | Local application quick start with cloud transitioning |
US10744407B2 (en) * | 2015-09-08 | 2020-08-18 | Sony Interactive Entertainment LLC | Dynamic network storage for cloud console server |
WO2017058539A1 (en) * | 2015-09-30 | 2017-04-06 | Sony Interactive Entertainment America Llc | Multi-user demo streaming service for cloud gaming |
CN105610868B (en) * | 2016-03-03 | 2019-08-06 | 腾讯科技(深圳)有限公司 | A kind of method of information exchange, equipment and system |
US10238965B2 (en) * | 2016-04-28 | 2019-03-26 | Sony Interactive Entertainment America Llc | Cloud gaming device handover |
US10625156B2 (en) * | 2016-06-30 | 2020-04-21 | Sony Interactive Entertainment LLC | Method and system for sharing video game content |
GB2570305A (en) * | 2018-01-18 | 2019-07-24 | Sony Interactive Entertainment Europe Ltd | User analysis system and method |
GB2571306A (en) * | 2018-02-23 | 2019-08-28 | Sony Interactive Entertainment Europe Ltd | Video recording and playback systems and methods |
TWI716706B (en) * | 2018-03-01 | 2021-01-21 | 致伸科技股份有限公司 | Ai-assisted operating system |
KR102551254B1 (en) * | 2018-04-06 | 2023-07-04 | 주식회사 엔씨소프트 | Method and computer program for providing a service of sharing a game |
KR102319298B1 (en) * | 2018-09-21 | 2021-10-29 | 주식회사 엔씨소프트 | System, sever and method for contrllling game character |
WO2020129861A1 (en) * | 2018-12-21 | 2020-06-25 | 株式会社ソニー・インタラクティブエンタテインメント | Information processing device for presenting preview screen |
JP7222722B2 (en) * | 2019-01-17 | 2023-02-15 | 株式会社ソニー・インタラクティブエンタテインメント | Information processing system, information processing method and computer program |
US10741215B1 (en) | 2019-06-28 | 2020-08-11 | Nvidia Corporation | Automatic generation of video playback effects |
KR102329749B1 (en) * | 2019-08-05 | 2021-11-22 | 주식회사 엔씨소프트 | Sever, system and method for control of game character |
US11524230B2 (en) | 2019-10-01 | 2022-12-13 | Sony Interactive Entertainment Inc. | Encoder tuning to improve tradeoffs between latency and video quality in cloud gaming applications |
CN111147885B (en) * | 2020-01-03 | 2021-04-02 | 北京字节跳动网络技术有限公司 | Live broadcast room interaction method and device, readable medium and electronic equipment |
CN111494965B (en) * | 2020-04-15 | 2021-09-14 | 腾讯科技(深圳)有限公司 | Information processing method, device, equipment and storage medium |
CN111603764B (en) * | 2020-05-28 | 2021-05-28 | 腾讯科技(深圳)有限公司 | Cloud game processing method and equipment |
US20220008824A1 (en) * | 2020-07-13 | 2022-01-13 | Nvidia Corporation | Game generation using one or more neural networks |
CN111917768B (en) * | 2020-07-30 | 2022-05-13 | 腾讯科技(深圳)有限公司 | Virtual scene processing method and device and computer readable storage medium |
JP6923726B1 (en) * | 2020-08-13 | 2021-08-25 | 株式会社コロプラ | Methods, computer-readable media, and information processing equipment |
KR102606834B1 (en) * | 2021-05-10 | 2023-11-29 | 주식회사 엔씨소프트 | System and method for providing game service |
TWI790801B (en) * | 2021-11-01 | 2023-01-21 | 宏碁股份有限公司 | Remote game executing method and remote game executing system |
JP7216314B1 (en) | 2022-02-17 | 2023-02-01 | 株式会社Mixi | Program, information processing device, and information processing method |
JPWO2023157618A1 (en) * | 2022-02-18 | 2023-08-24 | ||
EP4417278A1 (en) * | 2023-02-15 | 2024-08-21 | Sony Interactive Entertainment Inc. | Apparatus, systems and method for video compositing |
WO2024190569A1 (en) * | 2023-03-13 | 2024-09-19 | ソニーグループ株式会社 | Information processing device, information processing method, program, and content distribution system |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6280323B1 (en) * | 1996-11-21 | 2001-08-28 | Konami Co., Ltd. | Device, method and storage medium for displaying penalty kick match cursors in a video soccer game |
US6699127B1 (en) * | 2000-06-20 | 2004-03-02 | Nintendo Of America Inc. | Real-time replay system for video game |
RU2236702C2 (en) * | 2002-09-02 | 2004-09-20 | Савин Вадим Георгиевич | Method for computer game |
JP3534343B2 (en) * | 2002-09-12 | 2004-06-07 | 株式会社コナミコンピュータエンタテインメントジャパン | GAME PROGRAM AND GAME DEVICE |
JP3703800B2 (en) * | 2002-11-15 | 2005-10-05 | 株式会社スクウェア・エニックス | Communication game system |
US8930561B2 (en) * | 2003-09-15 | 2015-01-06 | Sony Computer Entertainment America Llc | Addition of supplemental multimedia content and interactive capability at the client |
JP4494882B2 (en) * | 2004-06-29 | 2010-06-30 | 株式会社バンダイナムコゲームス | Program, game device, display control device, server, and information storage medium |
KR100682455B1 (en) * | 2005-03-17 | 2007-02-15 | 엔에이치엔(주) | Game scrap system, game scrap method, and computer readable recording medium recording program for implementing the method |
JP5001445B2 (en) * | 2005-05-06 | 2012-08-15 | 任天堂株式会社 | Communication game system |
CN101365522B (en) * | 2005-12-27 | 2012-03-28 | 巨大股份有限公司 | Streaming media casts, such as in a video game or mobile device environment |
US20070173325A1 (en) * | 2006-01-20 | 2007-07-26 | Microsoft Corporation | Join in-progress on-line game session |
US20070294089A1 (en) * | 2006-06-02 | 2007-12-20 | Garbow Zachary A | Gameplay Recording and Marketplace |
JP5068080B2 (en) * | 2007-01-09 | 2012-11-07 | 株式会社バンダイナムコゲームス | GAME DEVICE, PROGRAM, AND INFORMATION STORAGE MEDIUM |
KR20090000260A (en) * | 2007-02-09 | 2009-01-07 | 주식회사 엠게임 | Beta game providing system and its method for gradually opening to the gamers to arouse gamer's interest |
JP4203524B2 (en) * | 2007-02-14 | 2009-01-07 | 株式会社コナミデジタルエンタテインメント | GAME SYSTEM AND GAME DEVICE INCLUDING THE SAME |
JP5203646B2 (en) * | 2007-07-17 | 2013-06-05 | 株式会社ソニー・コンピュータエンタテインメント | GAME GUIDING SYSTEM, GAME GUIDING DEVICE, GAME SERVER, GAME GUIDING METHOD, PROGRAM, AND INFORMATION STORAGE MEDIUM |
US8235817B2 (en) * | 2009-02-12 | 2012-08-07 | Sony Computer Entertainment America Llc | Object based observation |
US8515253B2 (en) * | 2008-02-15 | 2013-08-20 | Sony Computer Entertainment America Llc | System and method for automated creation of video game highlights |
JP2010178010A (en) * | 2009-01-29 | 2010-08-12 | Funai Electric Co Ltd | Moving image editor |
JP2010220089A (en) * | 2009-03-18 | 2010-09-30 | Sony Corp | Digest reproducing apparatus, digest reproducing method and program |
US8292742B2 (en) * | 2009-03-23 | 2012-10-23 | Utah State University | Systems and methods for simulation and regeneration of a virtual environment |
US9898675B2 (en) * | 2009-05-01 | 2018-02-20 | Microsoft Technology Licensing, Llc | User movement tracking feedback to improve tracking |
JP5449859B2 (en) * | 2009-05-18 | 2014-03-19 | 任天堂株式会社 | GAME PROGRAM, GAME DEVICE, AND GAME SYSTEM |
JP2010284473A (en) * | 2009-06-11 | 2010-12-24 | Gonichi Sasaki | Game player evaluation system |
JP5417111B2 (en) * | 2009-10-01 | 2014-02-12 | 株式会社コナミデジタルエンタテインメント | GAME SYSTEM, GAME SYSTEM CONTROL METHOD, AND PROGRAM |
JP5193242B2 (en) * | 2010-03-11 | 2013-05-08 | 株式会社コナミデジタルエンタテインメント | Game system, game part execution support method, and program |
KR101139498B1 (en) * | 2010-04-20 | 2012-05-02 | 주식회사 넥슨코리아 | Watching system and method thereof of other user game play picture in online game |
JP2010201180A (en) * | 2010-04-30 | 2010-09-16 | Nintendo Co Ltd | Game apparatus and game program |
JP5991649B2 (en) * | 2010-08-05 | 2016-09-14 | 株式会社ソニー・インタラクティブエンタテインメント | Game device |
JP2012038042A (en) * | 2010-08-05 | 2012-02-23 | Sony Computer Entertainment Inc | Game device |
JP5271319B2 (en) * | 2010-08-12 | 2013-08-21 | 株式会社コナミデジタルエンタテインメント | GAME SYSTEM AND PLAY CONTENT BROWSE CONTROL METHOD |
JP5542020B2 (en) * | 2010-09-22 | 2014-07-09 | 株式会社ソニー・コンピュータエンタテインメント | Information processing system, information processing method, program, and information storage medium |
JP5740972B2 (en) * | 2010-09-30 | 2015-07-01 | ソニー株式会社 | Information processing apparatus and information processing method |
KR101269411B1 (en) * | 2010-12-31 | 2013-05-30 | (주)네오위즈게임즈 | Game server, method, and recording medium for providing sport game including chatting service |
US9345966B2 (en) * | 2012-03-13 | 2016-05-24 | Sony Interactive Entertainment America Llc | Sharing recorded gameplay to a social graph |
US10406429B2 (en) * | 2012-08-29 | 2019-09-10 | Sony Interactive Entertainment, LLC | User-based mini-game generation and distribution |
-
2013
- 2013-12-20 TW TW102147625A patent/TWI559965B/en active
- 2013-12-20 JP JP2013263620A patent/JP6196147B2/en active Active
- 2013-12-20 TW TW102147624A patent/TWI564062B/en active
- 2013-12-20 KR KR1020177014398A patent/KR20170061196A/en active Application Filing
- 2013-12-20 RU RU2013156817/12A patent/RU2605840C2/en active
- 2013-12-20 BR BR102013033136-8A patent/BR102013033136B1/en active IP Right Grant
- 2013-12-20 KR KR1020197021762A patent/KR20190090077A/en active Application Filing
- 2013-12-20 KR KR1020207018764A patent/KR102292820B1/en active IP Right Grant
- 2013-12-20 KR KR1020207018763A patent/KR20200083658A/en active Application Filing
- 2013-12-20 TW TW102147609A patent/TWI573619B/en active
- 2013-12-20 KR KR1020217023036A patent/KR20210094149A/en not_active IP Right Cessation
- 2013-12-20 KR KR1020197014565A patent/KR20190057448A/en active Application Filing
- 2013-12-20 KR KR1020157019834A patent/KR101742662B1/en active IP Right Grant
- 2013-12-20 WO PCT/US2013/077320 patent/WO2014100770A2/en active Application Filing
-
2014
- 2014-01-07 MX MX2014000231A patent/MX353111B/en active IP Right Grant
- 2014-01-07 MX MX2014000227A patent/MX356707B/en active IP Right Grant
- 2014-01-07 MX MX2014000229A patent/MX353112B/en active IP Right Grant
-
2017
- 2017-08-17 JP JP2017157465A patent/JP6434583B2/en active Active
-
2018
- 2018-11-08 JP JP2018210743A patent/JP2019018076A/en active Pending
-
2020
- 2020-03-11 JP JP2020041601A patent/JP7461174B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7461174B2 (en) | Minigames accessed via shared interface | |
US11014012B2 (en) | Sharing gameplay in cloud gaming environments | |
US10016677B2 (en) | Remote control of a first user's session by a second user | |
EP2745893B1 (en) | Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay | |
US11406906B2 (en) | Network connected controller for direct to cloud gaming | |
US12064699B2 (en) | Method for sharing a portion of gameplay of a video game |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X601 | Decision of rejection after re-examination |