KR20210064914A - 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치 - Google Patents

게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치 Download PDF

Info

Publication number
KR20210064914A
KR20210064914A KR1020190153664A KR20190153664A KR20210064914A KR 20210064914 A KR20210064914 A KR 20210064914A KR 1020190153664 A KR1020190153664 A KR 1020190153664A KR 20190153664 A KR20190153664 A KR 20190153664A KR 20210064914 A KR20210064914 A KR 20210064914A
Authority
KR
South Korea
Prior art keywords
game
streaming
module
interface
user terminal
Prior art date
Application number
KR1020190153664A
Other languages
English (en)
Inventor
공희원
노영민
박수빈
정현석
Original Assignee
주식회사 엔씨소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엔씨소프트 filed Critical 주식회사 엔씨소프트
Priority to KR1020190153664A priority Critical patent/KR20210064914A/ko
Publication of KR20210064914A publication Critical patent/KR20210064914A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/497Partially or entirely replaying previous game actions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/408Peer to peer connection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features 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
    • A63F2300/572Communication between players during game play of non game information, e.g. e-mail, chat, file transfer, streaming of audio and streaming of video

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치가 개시된다. 개시되는 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서들, 및 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치로서, 컴퓨팅 장치에는 게임 소프트웨어가 설치되고, 게임 소프트웨어는, 게임을 실행시키는 게임 실행 모듈 및 사용자 단말의 스트리밍 요청에 따라 게임 실행 모듈에서 실행되는 게임의 게임 플레이 영상 데이터를 사용자 단말로 스트리밍 전송하는 스트리밍 모듈을 포함한다.

Description

게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치{METHOD FOR SERVING A GAME AND COMPUTING DEVICE FOR EXECUTING THE METHOD}
개시되는 실시예는 게임 서비스 기술과 관련된다.
최근, 스마트 폰 등과 같은 사용자 단말의 보급이 크게 증가함에 따라 사용자 단말에서 실행할 수 있는 게임의 종류 및 이용자도 증가하고 있는 추세이다. 사용자 단말에서 게임을 오랜 시간 실행시키면 발열이 심하게 발생하는 문제점이 있다.
또한, 게임에 자동 사냥과 같은 자동 플레이 기능이 도입되면서 사용자들이 직접 게임을 플레이 하기 보다는 자동 플레이 되는 게임을 즐기거나 다른 사용자의 게임 플레이 영상 데이터를 관전하는 방식으로 게임을 즐기는 사용자가 늘어나고 있다. 이에 이러한 동향에 부합하여 게임 서비스를 제공할 수 있는 기술이 요구된다.
개시되는 실시예는 게임 유저가 원격에서 게임을 즐길 수 있도록 하기 위한 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치를 제공하기 위한 것이다.
개시되는 일 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치로서, 상기 컴퓨팅 장치에는 게임 소프트웨어가 설치되고, 상기 게임 소프트웨어는, 게임을 실행시키는 게임 실행 모듈; 및 사용자 단말의 스트리밍 요청에 따라 상기 게임 실행 모듈에서 실행되는 게임의 게임 플레이 영상 데이터를 상기 사용자 단말로 스트리밍 전송하는 스트리밍 모듈을 포함한다.
상기 컴퓨팅 장치는, PC 운영 체제를 포함하고, 상기 게임은 모바일 게임이며, 상기 모바일 게임을 상기 컴퓨팅 장치에서 구동시키기 위한 에뮬레이터를 더 포함할 수 있다.
상기 컴퓨팅 장치는, 상기 스트리밍 모듈과 상기 사용자 단말 간에 P2P 커넥션 및 중계 서버를 통한 연결 중 하나 이상을 수행하기 위한 웹 RTC(Real Time Communication) 모듈을 더 포함할 수 있다.
상기 스트리밍 모듈은, 상기 스트리밍 모듈과 상기 게임 실행 모듈 간 인터페이스를 제공하는 제1 인터페이스; 상기 스트리밍 모듈과 상기 웹 RTC 모듈 간 인터페이스를 제공하는 제2 인터페이스; 상기 사용자 단말로부터 수신한 게임 상태 정보를 저장하는 상태 에이전트; 및 상기 게임 실행 모듈에서 실행되는 게임 플레이 영상 데이터를 상기 제1 인터페이스를 통해 수신하고 상기 제2 인터페이스를 통해 상기 웹 RTC 모듈로 전달하여 상기 사용자 단말로 스트리밍 전송되도록 하는 스트리밍 컨트롤러를 포함할 수 있다.
상기 스트리밍 컨트롤러는, 상기 제2 인터페이스로부터 스트리밍 요청이 수신되는 경우, 상기 제1 인터페이스를 통해 스트리밍 개시 호출을 상기 게임 실행 모듈로 전달하여 상기 게임 실행 모듈에서 실행되는 게임 플레이 영상 데이터를 수신하고, 상기 제2 인터페이스를 통해 상기 게임 플레이 영상 데이터를 상기 웹 RTC 모듈로 전달할 수 있다.
상기 스트리밍 컨트롤러는, 상기 게임 상태 정보에 따라 상기 게임 플레이 영상 데이터의 스트리밍 전송 여부를 제어할 수 있다.
상기 스트리밍 컨트롤러는, 상기 게임 상태 정보가 백 그라운드 상태인 경우, 상기 제1 인터페이스를 통해 스트리밍 정지 호출을 상기 게임 실행 모듈로 전달할 수 있다.
상기 스트리밍 컨트롤러는, 상기 게임 상태 정보가 포어 그라운드 상태인 경우, 상기 제1 인터페이스를 통해 스트리밍 재개 호출을 상기 게임 실행 모듈로 전달하고, 상기 게임 실행 모듈에서 실행되는 게임 플레이 영상 데이터를 수신하여 상기 사용자 단말로 스트리밍 송신을 재개할 수 있다.
상기 스트리밍 컨트롤러는, 상기 제2 인터페이스를 통해 상기 사용자 단말로부터 게임 조작 정보가 수신되는 경우, 상기 게임 조작 정보를 상기 제1 인터페이스를 통해 상기 게임 실행 모듈로 전달할 수 있다.
개시되는 일 실시예에 따른 게임 서비스 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 상기 컴퓨팅 장치에는 게임 실행 모듈 및 스트리밍 모듈을 포함하는 게임 소프트웨어가 설치되고, 상기 게임 실행 모듈에서 게임을 실행시키는 동작; 상기 스트리밍 모듈에서 사용자 단말로부터 스트리밍 요청을 수신하는 동작; 상기 스트리밍 모듈에서 상기 게임 실행 모듈로부터 상기 게임의 게임 플레이 영상 데이터를 수신하여 상기 사용자 단말로 스트리밍 전송하는 동작을 포함한다.
상기 컴퓨팅 장치는, 상기 스트리밍 모듈과 상기 사용자 단말 간에 P2P 커넥션 및 중계 서버를 통한 연결 중 하나 이상을 수행하기 위한 웹 RTC(Real Time Communication) 모듈을 더 포함하고, 상기 스트리밍 전송하는 동작은, 상기 스트리밍 모듈에서 제1 인터페이스를 통해 상기 게임 실행 모듈로 스트리밍 개시 호출을 전달하는 동작; 상기 스트리밍 모듈에서 상기 제1 인터페이스를 통해 상기 게임 실행 모듈로부터 게임 플레이 영상 데이터를 수신하는 동작; 및 상기 스트리밍 모듈에서 상기 수신한 게임 플레이 영상 데이터를 제2 인터페이스를 통해 상기 웹 RTC 모듈로 전달하여 상기 사용자 단말로 스트리밍 하는 동작을 포함할 수 있다.
상기 게임 서비스 방법은, 상기 스트리밍 모듈에서 상기 웹 RTC 모듈을 통해 상기 사용자 단말의 게임 상태 정보를 수신하는 동작; 및 상기 스트리밍 모듈에서 상기 게임 상태 정보에 따라 상기 게임 플레이 영상 데이터의 스트리밍 전송 여부를 제어하는 동작을 포함할 수 있다.
상기 스트리밍 전송 여부를 제어하는 동작은, 상기 게임 상태 정보가 백 그라운드 상태인 경우, 상기 스트리밍 모듈에서 제1 인터페이스를 통해 스트리밍 정지 호출을 상기 게임 실행 모듈로 전달하는 동작을 포함할 수 있다.
상기 스트리밍 전송 여부를 제어하는 동작은, 상기 게임 상태 정보가 포어 그라운드 상태인 경우, 상기 스트리밍 모듈에서 상기 제1 인터페이스를 통해 스트리밍 재개 호출을 상기 게임 실행 모듈로 전달하는 동작; 상기 스트리밍 모듈에서 상기 제1 인터페이스를 통해 상기 게임 실행 모듈로부터 게임 플레이 영상 데이터를 수신하는 동작; 및 상기 스트리밍 모듈에서 제2 인터페이스를 통해 상기 게임 플레이 영상 데이터를 상기 웹 RTC 모듈로 전달하여 스트리밍 송신을 재개하는 동작을 포함할 수 있다.
상기 게임 서비스 방법은, 상기 스트리밍 모듈에서 상기 웹 RTC 모듈로부터 상기 사용자 단말의 게임 조작 정보를 수신하는 동작; 및 상기 스트리밍 모듈에서 상기 제1 인터페이스를 통해 상기 게임 조작 정보를 상기 게임 실행 모듈로 전달하는 동작을 더 포함할 수 있다.
개시되는 실시예에 의하면, 원격 실행 단말에 설치된 게임 소프트웨어 자체에 게임 플레이 영상 데이터를 스트리밍 할 수 있는 기능을 SDK(Software Development Kit) 형태로 내장함으로써, 게임 유저는 원격 실행 단말을 통해 실행되는 게임 플레이 영상 데이터를 자신의 단말에서 볼 수 있으며, 그로 인해 단말 기기의 자원 소모 및 발열을 최소화 하면서 게임을 즐길 수 있게 된다.
또한, 개시되는 실시예에 의하면, 원격 실행 단말에 설치된 게임 소프트웨어 자체에 게임 플레이 영상 데이터를 스트리밍 할 수 있는 기능을 SDK 형태로 내장함으로써, 스트리밍을 위한 별도의 소프트웨어 또는 어플리케이션의 설치 없이도 간편히 게임의 스트리밍을 지원할 수 있게 된다.
도 1은 개시되는 일 실시예에 따른 게임 서비스 시스템의 구성을 나타낸 도면이다.
도 2는 개시되는 일 실시예에 따른 원격 실행 단말에서 게임 소프트웨어가 게임 플레이 영상 데이터를 사용자 단말로 스트리밍 하기 위한 구성을 나타낸 도면이다.
도 3은 개시되는 일 실시예에 따른 게임 서비스 방법을 나타낸 흐름도이다.
도 4는 개시되는 다른 실시예에 따른 게임 서비스 시스템의 구성을 나타낸 도면이다.
도 5는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 명세서에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다.
또한, 제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하에서 "게임"이란, 한 명 또는 그 이상의 게이머들이 게이밍 디바이스에 탑재되거나 연결된 입력장치를 이용하여 즐길 수 있는 소프트웨어를 의미한다. 통상 플레이어 캐릭터를 직접 조작하거나, 게임 내 오브젝트의 움직임을 조작하는 등의 방식으로 진행되며, 롤플레잉, 어드벤쳐, 아케이드 등으로 장르가 구분되기도 한다.
이하에서 "게이밍 디바이스"란 게임 소프트웨어를 실행하되 입력장치를 통한 사용자의 입력에 따라 연산을 수행하며, 출력장치를 통해 결과를 출력하는 하드웨어를 의미한다. 예컨대, 개인용 컴퓨터(Personal Computer), 랩탑(Laptop Computer), 게임 콘솔(Game Console), 스마트폰(Smart Phone), 타블렛(Tablet) PC, 스마트 밴드(Smart Band)나 스마트 와치(Smart Watch) 등의 웨어러블 디바이스(Wearable Device)의 형태일 수 있다. 이외에도 상기 정의를 만족하는 하드웨어라면 게이밍 디바이스에 속하는 것으로 해석된다.
이하에서 "온라인 게임"이란, 게임의 플레이를 위하여 네트워크를 경유하여야 하는 게임을 의미한다. 통상 원격지의 둘 이상의 게이밍 디바이스가 네트워크를 통해 서로 연결되거나, 서버를 통해 동기화되어 즐기는 게임을 의미한다. 상기의 정의를 만족하는 것이라면 게임을 실행하는 게이밍 디바이스의 형태에 제한을 두지 아니한다. 개인용 컴퓨터나 게임 콘솔에서 실행되는 게임뿐만 아니라, 스마트폰과 같은 모바일에서 실행되는 게임, 또는 서로 다른 복수개의 게이밍 디바이스(서로 다른 종류의 게이밍 디바이스도 포함한다)가 연동되거나 클라우드에서 실행되는 게임 또한 상기 정의를 만족하는 것이라면 온라인 게임에 속하는 것으로 해석된다.
이하에서 "입력장치(Input Device)"란, 게이밍 디바이스에 데이터를 입력하기 위한 장치를 의미한다. 예컨대, 조이스틱, 마우스, 키보드, 터치스크린, 하드웨어 버튼 또는 스티어링 휠, 악기, 총, 장갑, 발판 등의 형태로 제조된 게임 조작 전용 입력장치를 들 수 있다. 이외에도 게이밍 디바이스에 탑재되거나 연동되는 각종 센서(온도 센서, 적외선 센서, 모션센서, 자이로센서, 가속도 센서, 중력 센서 등)나 글로벌 포지셔닝 시스템(GPS; Global Positioning System), 실내 위치 확인 시스템(Indoor Positioning System) 등의 위치 확인 수단 또한 입력장치의 일 예로 들 수 있다.
도 1은 개시되는 일 실시예에 따른 게임 서비스 시스템의 구성을 나타낸 도면이다.
도 1을 참조하면, 게임 서비스 시스템(100)은 사용자 단말(102) 및 원격 실행 단말(104)을 포함할 수 있다. 사용자 단말(102) 및 원격 실행 단말(104)은 통신 네트워크(150)를 통해 상호 통신 가능하게 연결된다. 예시적인 실시예에서, 사용자 단말(102)과 원격 실행 단말(104)은 P2P 방식으로 연결될 수 있으나, 이에 한정되는 것은 아니며 별도의 중계 서버(미도시)(예를 들어, TURN(Traversal Using Relays around NAT) 서버 등)를 통해 연결될 수도 있다.
몇몇 실시예들에서, 통신 네트워크(150)는 인터넷, 하나 이상의 로컬 영역 네트워크(local area networks), 광역 네트워크(wide area networks), 셀룰러 네트워크, 모바일 네트워크, 그 밖에 다른 종류의 네트워크들, 또는 이러한 네트워크들의 조합을 포함할 수 있다.
사용자 단말(102)은 게임을 플레이(또는 시청) 하고자 하는 게임 유저의 단말일 수 있다. 예시적인 실시예에서, 사용자 단말(102)은 모바일 기기(예를 들어, 스마트 폰 또는 태블릿 PC 등)일 수 있으나, 이에 한정되는 것은 아니며 노트북 또는 데스크 탑 PC 등도 포함될 수 있다. 이하에서는, 사용자 단말(102)이 모바일 기기이고, 사용자가 모바일 게임을 플레이 또는 시청하고자 하는 것을 일 예로 설명하기로 한다.
사용자 단말(102)에는 개시되는 실시예에 따른 게임 서비스를 제공하기 위한 어플리케이션(이하, 원격 게임 제공 어플리케이션)(102a)이 설치될 수 있다. 원격 게임 제공 어플리케이션(102a)은 원격 실행 단말(104)에서 실행되는 모바일 게임의 실행 결과(예를 들어, 게임 플레이 영상 데이터)를 원격 실행 단말(104)로부터 수신하여 사용자 단말(102)에 표시하기 위한 어플리케이션일 수 있다.
여기서, 원격 게임 제공 어플리케이션(102a)은 원격 실행 단말(104)에서 모바일 게임이 이미 실행 중인 경우 스트리밍 요청을 하여 게임 실행 결과를 수신할 수 있다. 그러나, 이에 한정되는 것은 아니며 원격 게임 제공 어플리케이션(102a)은 원격 실행 단말(104)로 게임 플레이 요청을 하여 모바일 게임을 실행시킨 후 게임 실행 결과를 수신할 수도 있다.
원격 게임 제공 어플리케이션(102a)은 사용자 단말(102)의 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 원격 게임 제공 어플리케이션(102a)은 사용자 단말(102)의 프로세서에 의해 실행 가능한 명령어의 소정의 집합을 포함한다. 이러한 명령어는 사용자 단말(102)의 프로세서로 하여금 예시적인 실시예에 따른 동작을 수행하게 할 수 있다. 사용자 단말(102)의 컴퓨터 판독 가능 저장 매체는 사용자 단말(102) 상에서 원격 게임 제공 어플리케이션(102a)과 같은 명령어 집합을 실행하기 위한 모바일 운영 체제의 컴포넌트들을 포함한다. 예를 들어, 이러한 모바일 운영 체제는 애플(Apple) 사의 iOS 또는 구글(Google) 사의 Android 일 수 있다.
예시적인 실시예에서, 원격 게임 제공 어플리케이션(102a)은 원격 실행 단말(104)로 모바일 스트리밍 요청을 송신할 수 있다. 원격 게임 제공 어플리케이션(102a)은 원격 실행 단말(104)에서 실행되는 게임 플레이 영상 데이터를 스트리밍으로 수신하여 사용자 단말(102)의 화면에 표시할 수 있다.
즉, 개시되는 실시예에서, 게임 유저가 플레이 하고자 하는 모바일 게임의 실행(게임의 구동)은 원격 실행 단말(104)에서 이루어지며, 사용자 단말(102)은 원격 실행 단말(104)에서 실행되는 게임 플레이 영상 데이터를 스트리밍을 통해 수신하여 표시하게 된다.
또한, 원격 게임 제공 어플리케이션(102a)은 사용자 단말(102)에 표시되는 게임 플레이 영상 데이터에서 게임 유저의 조작에 따른 게임 조작 정보(예를 들어, 화면 터치 좌표 등)를 원격 실행 단말(104)로 송신할 수 있다. 이 경우, 게임 유저는 원격 실행 단말(104)에서 실행되는 모바일 게임을 원격 조작 할 수 있게 된다.
또한, 원격 게임 제공 어플리케이션(102a)은 사용자 단말(102)의 게임 상태 정보를 원격 실행 단말(104)로 송신할 수 있다. 여기서, 게임 상태 정보는 사용자 단말(102)에서 해당 모바일 게임이 백 그라운드(Background)에 있는 상태인지 아니면 포어 그라운드(Foreground)에 있는 상태인지를 나타내는 정보일 수 있다.
원격 실행 단말(104)은 사용자 단말(102)을 대신하여 모바일 게임을 실행시키는 단말일 수 있다. 예시적인 실시예에서, 원격 실행 단말(104)은 데스크 탑 PC일 수 있으나, 이에 한정되는 것은 아니다. 이 경우, 원격 실행 단말(104)은 모바일 기기인 사용자 단말(102)과는 다른 PC 운영 체제(예를 들어, 마이크로소프트(Microsoft) 사의 윈도우즈 또는 애플(Apple) 사의 맥(Mac) 등)를 포함할 수 있다.
원격 실행 단말(104)은 에뮬레이터(104a) 및 게임 소프트웨어(104b)를 포함할 수 있다. 이하에서, 게임 소프트웨어(104b)는 모바일 게임을 위한 소프트웨어인 것을 일 예로 설명하기로 하나, 이에 한정되는 것은 아니며 PC 게임을 위한 소프트웨어인 경우도 포함됨은 물론이다.
에뮬레이터(104a)는 PC 운영 체제인 원격 실행 단말(104)에 설치된 게임 소프트웨어(104b)를 구동시키기 위한 것일 수 있다. 즉, 에뮬레이터(104a)는 모바일 운영 체제에서 실행되도록 제작된 게임 소프트웨어(104b)를 PC 운영 체제인 원격 실행 단말(104)에서도 구동되도록 마련된 것일 수 있다.
게임 소프트웨어(104b)는 원격 실행 단말(104)에 설치되는 게임 프로그램(예를 들어, 모바일 게임 프로그램 등)으로서, 사용자 단말(102)로부터 수신되는 게임 조작 정보에 따라 게임을 진행하거나 기 설정된 룰에 따라 자동 플레이를 수행할 수 있다. 게임 소프트웨어(104b)는 사용자 단말(102)과 접속되는 경우, 사용자 단말(102)로 게임 플레이 영상 데이터를 스트리밍 전송할 수 있다. 즉, 개시되는 실시예에서는, 원격 실행 단말(104)에 설치되는 모바일 게임 자체에 게임 플레이 영상 데이터를 스트리밍 할 수 있는 기능이 포함될 수 있다.
여기서, 원격 실행 단말(104)은 게임 플레이 영상 데이터를 사용자 단말(102)로 스트리밍 전송할 수 있도록 마련되면 되는 것으로, 별도의 모니터 없이 구현될 수도 있다. 즉, 원격 실행 단말(104) 자체에는 게임 플레이 영상을 표시할 모니터가 없어도 된다.
도 2는 개시되는 일 실시예에 따른 원격 실행 단말에서 게임 소프트웨어가 게임 플레이 영상 데이터를 사용자 단말로 스트리밍 하기 위한 구성을 나타낸 도면이다.
도 2를 참조하면, 원격 실행 단말(104)은 에뮬레이터(104a), 게임 소프트웨어(104b), 및 웹 RTC(Web RTC(Real Time Communication)) 모듈(104c)를 포함할 수 있다.
또한, 게임 소프트웨어(104b)는 게임 실행 모듈(202) 및 스트리밍 모듈(204)을 포함할 수 있다. 여기서, 게임 실행 모듈(202)은 에뮬레이터(104a)에 의해 구동되어 모바일 게임을 실행시킬 수 있다. 게임 실행 모듈(202)은 스트리밍 모듈(204)로 게임 실행에 따른 게임 플레이 영상 데이터를 전달할 수 있다.
스트리밍 모듈(204)은 원격 실행 단말(104)에서 실행되는 게임의 게임 플레이 영상 데이터를 사용자 단말(102)로 스트리밍 하기 위한 구성이다. 즉, 원격 실행 단말(104)에 설치된 게임 소프트웨어(104b)는 게임 플레이 영상 데이터를 사용자 단말(102)로 스트리밍 하기 위한 기능을 포함하고 있다. 여기서, 스트리밍 모듈(204)은 SDK(Software Development Kit) 형태로 게임 소프트웨어(104b)에 내장될 수 있다.
웹 RTC 모듈(104c)은 사용자 단말(102)과 P2P 커넥션을 수행할 수 있다. 웹 RTC 모듈(104c)은 사용자 단말(102)의 스트리밍 요청을 수신하여 사용자 단말(102)과 P2P 커넥션을 수행할 수 있다. 웹 RTC 모듈(104c)은 사용자 단말(102)과의 P2P 커넥션에 따른 P2P 커넥션 정보를 스트리밍 모듈(204)로 전달할 수 있다.
웹 RTC 모듈(104c)은 스트리밍 모듈(204)로부터 게임 플레이 영상 데이터를 수신하여 사용자 단말(102)로 스트리밍 송신할 수 있다. 또한, 웹 RTC 모듈(104c)은 사용자 단말(102)로부터 사용자 단말(102)의 게임 상태 정보를 수신하여 스트리밍 모듈(204)로 전달할 수 있다.
또한, 웹 RTC 모듈(104c)은 네트워크 통신 환경이 사용자 단말(102)과 P2P 커넥션을 수행하기 어려운 환경인 경우(예를 들어, 방화벽 등에 의해 사용자 단말(102)과 P2P 커넥션을 맺기 어려운 경우 등), 별도의 중계 서버(예를 들어, TURN(Traversal Using Relays around NAT) Server 등)(미도시)를 통해 우회적으로 사용자 단말(102)과 통신을 수행하여 게임 플레이 영상 데이터를 송신할 수 있다.
본 명세서에서 모듈이라 함은, 개시되는 실시예들의 기술적 사상을 수행하기 위한 하드웨어 및 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 본 명세서에서 "모듈"은 소정의 코드 및 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아니다.
한편, 스트리밍 모듈(204)은 제1 인터페이스(211), 상태 에이전트(213), 제2 인터페이스(215), 및 스트리밍 컨트롤러(217)를 포함할 수 있다.
제1 인터페이스(211)는 게임 실행 모듈(202)과 스트리밍 모듈(204) 간 인터페이스를 제공할 수 있다. 제1 인터페이스(211)는 게임 실행 모듈(202)로부터 게임 플레이 영상 데이터를 수신하여 스트리밍 컨트롤러(217)로 전달할 수 있다. 제1 인터페이스(211)는 사용자 단말(102)의 스트리밍 요청에 대응하여 게임 실행 모듈(202)에 스트리밍 개시 호출을 전달하고, 게임 실행 모듈(202)로부터 게임 플레이 영상 데이터를 수신할 수 있다. 제1 인터페이스(211)는 스트리밍 컨트롤러(217)의 제어에 의해 게임 실행 모듈(202)로 스트리밍 개시 호출을 전달할 수 있다.
여기서, 모바일 게임은 게임 실행 모듈(202)에 의해 원격 실행 단말(104)에서 실행되고 있는 상태이며, 스트리밍 전송은 대기 중인 상태일 수 있다. 이때, 제1 인터페이스(211)로부터 스트리밍 개시 호출이 수신되면, 게임 실행 모듈(202)은 실행되고 있는 게임 플레이 영상 데이터를 제1 인터페이스(211)로 전달할 수 있다.
상태 에이전트(213)는 제2 인터페이스(215)를 통해 사용자 단말(102)의 게임 상태 정보를 수신하여 저장할 수 있다. 예시적인 실시예에서, 상태 에이전트(213)는 사용자 단말(102)의 게임 상태 정보를 코드화하여 저장할 수 있다. 또한, 상태 에이전트(213)는 원격 실행 단말(104)과 사용자 단말(102) 간 P2P 커넥션 정보(예를 들어, 계정 정보, 채널 정보 등)를 저장할 수 있다.
제2 인터페이스(215)는 스트리밍 모듈(204)과 웹 RTC 모듈(104c) 간에 인터페이스를 제공할 수 있다. 즉, 제2 인터페이스(215)는 게임 소프트웨어(104b)가 웹 RTC 라이브러리를 통해 게임 플레이 영상 데이터를 사용자 단말(102)로 스트리밍 할 수 있도록 스트리밍 모듈(204)과 웹 RTC 모듈(104c) 간에 인터페이스를 제공할 수 있다. 제2 인터페이스(215)는 스트리밍 컨트롤러(217)의 제어에 따라 게임 플레이 영상 데이터를 웹 RTC 모듈(104c)로 전달할 수 있다.
스트리밍 컨트롤러(217)는 스트리밍 모듈(204)의 전반적인 동작을 제어할 수 있다. 구체적으로, 스트리밍 컨트롤러(217)는 웹 RTC 모듈(104c)로부터 사용자 단말(102)의 스트리밍 요청을 수신하는 경우, 제1 인터페이스(211)를 통해 스트리밍 개시 호출을 게임 실행 모듈(202)로 전달할 수 있다.
스트리밍 컨트롤러(217)는 제1 인터페이스(211)로부터 게임 실행 모듈(202)의 게임 플레이 영상 데이터를 수신하고, 제2 인터페이스(215)를 통해 게임 플레이 영상 데이터를 웹 RTC 모듈(104c)로 전달할 수 있다. 그러면, 웹 RTC 모듈(104c)은 게임 플레이 영상 데이터를 사용자 단말(102)로 스트리밍 송신하게 된다.
스트리밍 컨트롤러(217)는 웹 RTC 모듈(104c) 및 제2 인터페이스(215)로부터 사용자 단말(102)의 게임 조작 정보를 수신하는 경우, 제1 인터페이스(211)를 통해 게임 조작 정보를 게임 실행 모듈(202)로 전달할 수 있다. 그러면, 게임 실행 모듈(202)은 게임 조작 정보에 따라 해당 모바일 게임이 진행되도록 할 수 있다.
스트리밍 컨트롤러(217)는 상태 에이전트(213)에서 사용자 단말(102)의 게임 상태 정보를 확인하여 게임 플레이 영상 데이터의 스트리밍 송신 여부를 제어할 수 있다. 스트리밍 컨트롤러(217)는 게임 상태 정보가 포어 그라운드 상태인 경우, 게임 플레이 영상 데이터를 사용자 단말(102)로 스트리밍 송신할 수 있다. 스트리밍 컨트롤러(217)는 게임 상태 정보가 백 그라운드 상태인 경우, 제1 인터페이스(211)를 통해 스트리밍 정지 호출을 게임 실행 모듈(202)로 전달하여 스트리밍을 정지시킬 수 있다. 한편, 게임 상태 정보가 포어 그라운드 상태로 변경되는 경우, 스트리밍 컨트롤러(217)는 제1 인터페이스(211)를 통해 스트리밍 재개 호출을 게임 실행 모듈(202)로 전달하여 스트리밍 전송을 재개할 수 있다.
개시되는 실시예에 의하면, 원격 실행 단말에 설치된 게임 소프트웨어 자체에 게임 플레이 영상 데이터를 스트리밍 할 수 있는 기능을 SDK(Software Development Kit) 형태로 내장함으로써, 게임 유저는 원격 실행 단말을 통해 실행되는 게임 플레이 영상 데이터를 자신의 단말에서 볼 수 있으며, 그로 인해 단말의 자원 소모 및 발열을 최소화 하면서 게임을 즐길 수 있게 된다. 또한, 스트리밍을 위한 별도의 소프트웨어 또는 어플리케이션의 설치 없이도 간편히 게임의 스트리밍을 지원할 수 있게 된다.
도 3은 개시되는 일 실시예에 따른 게임 서비스 방법을 나타낸 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 여기서는, 설명의 편의상 웹 RTC 모듈(104c)은 생략하였다.
단계 301에서, 사용자 단말(102)은 원격 실행 단말(104)로 모바일 게임의 스트리밍 요청을 전송한다. 이때, 사용자 단말(102)은 원격 실행 단말(104)의 웹 RTC 모듈(104c)과 P2P 커넥션을 수행하며, P2P 커넥션이 수행된 경우 웹 RTC 모듈(104c)은 스트리밍 요청을 스트리밍 모듈(204)로 전달할 수 있다.
단계 303에서, 스트리밍 모듈(204)은 게임 실행 모듈(202)로 스트리밍 개시 호출을 전달한다. 단계 305에서, 스트리밍 모듈(204)은 게임 실행 모듈(202)로부터 게임 플레이 영상 데이터를 수신한다. 단계 307에서, 스트리밍 모듈(204)은 웹 RTC 모듈(104c)을 통해 게임 플레이 영상 데이터를 사용자 단말(102)로 스트리밍 송신한다.
단계 309에서, 스트리밍 모듈(204)은 사용자 단말(102)로부터 게임 조작 정보를 수신하여 게임 실행 모듈(202)로 전달한다. 그러면, 게임 실행 모듈(202)은 게임 조작 정보에 따라 해당 모바일 게임을 진행할 수 있다.
단계 311에서, 스트리밍 모듈(204)은 사용자 단말(102)로부터 사용자 단말(102)의 게임 상태 정보를 수신한다. 단계 313에서, 사용자 단말(102)의 게임 상태 정보가 백 그라운드 상태인 경우, 스트리밍 모듈(204)은 게임 실행 모듈(202)로 스트리밍 정지 호출을 전달하여 게임 플레이 영상 데이터의 스트리밍 송신을 중지할 수 있다.
단계 315에서, 스트리밍 모듈(204)은 사용자 단말(102)로부터 사용자 단말(102)의 게임 상태 정보를 수신한다. 단계 317에서, 사용자 단말(102)의 게임 상태 정보가 포어 그라운드 상태인 경우, 스트리밍 모듈(204)은 게임 실행 모듈(202)로 스트리밍 재개 호출을 전달한다.
단계 319에서, 스트리밍 모듈(204)은 게임 실행 모듈(202)로부터 게임 플레이 영상 데이터를 수신한다. 단계 321에서, 스트리밍 모듈(204)은 사용자 단말(102)로 게임 플레이 영상 데이터를 다시 스트리밍 송신한다.
한편, 여기서는 원격 실행 단말(104)이 데스크 탑 PC인 것으로 설명하였으나, 이에 한정되는 것은 아니며 원격 실행 단말(104)은 사용자 단말(102)과 같이 모바일 기기일 수 있다. 이 경우, 원격 실행 단말(104)은 도 4에 도시된 바와 같이, 별도의 에뮬레이터가 필요 없으며 게임 소프트웨어(104b)를 포함하게 된다. 도 4를 참조하면, 사용자 단말(102)은 다른 모바일 기기인 원격 실행 단말(104)에서 실행되는 모바일 게임의 게임 플레이 영상 데이터를 스트리밍 수신하여 화면에 표시할 수 있다.
도 5는 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 사용자 단말(102)일 수 있다. 또한, 컴퓨팅 장치(12)는 공유 단말(104)일 수 있다. 또한, 컴퓨팅 장치(12)는 중계 서버(미도시)일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 게임 서비스 시스템
102 : 사용자 단말
102a : 원격 게임 제공 어플리케이션
104 : 원격 실행 단말
104a : 에뮬레이터
104b : 게임 소프트웨어
104c : 웹 RTC 모듈
202 : 게임 실행 모듈
204 : 스트리밍 모듈
211 : 제1 인터페이스
213 : 상태 에이전트
215 : 제2 인터페이스
217 : 스트리밍 컨트롤러

Claims (15)

  1. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치로서,
    상기 컴퓨팅 장치에는 게임 소프트웨어가 설치되고,
    상기 게임 소프트웨어는,
    게임을 실행시키는 게임 실행 모듈; 및
    사용자 단말의 스트리밍 요청에 따라 상기 게임 실행 모듈에서 실행되는 게임의 게임 플레이 영상 데이터를 상기 사용자 단말로 스트리밍 전송하는 스트리밍 모듈을 포함하는, 컴퓨팅 장치.
  2. 청구항 1에 있어서,
    상기 컴퓨팅 장치는, PC 운영 체제를 포함하고,
    상기 게임은, 모바일 게임이며,
    상기 모바일 게임을 상기 컴퓨팅 장치에서 구동시키기 위한 에뮬레이터를 더 포함하는, 컴퓨팅 장치.
  3. 청구항 1에 있어서,
    상기 컴퓨팅 장치는,
    상기 스트리밍 모듈과 상기 사용자 단말 간에 P2P 커넥션 및 중계 서버를 통한 연결 중 하나 이상을 수행하기 위한 웹 RTC(Real Time Communication) 모듈을 더 포함하는, 컴퓨팅 장치.
  4. 청구항 3에 있어서,
    상기 스트리밍 모듈은,
    상기 스트리밍 모듈과 상기 게임 실행 모듈 간 인터페이스를 제공하는 제1 인터페이스;
    상기 스트리밍 모듈과 상기 웹 RTC 모듈 간 인터페이스를 제공하는 제2 인터페이스;
    상기 사용자 단말로부터 수신한 게임 상태 정보를 저장하는 상태 에이전트; 및
    상기 게임 실행 모듈에서 실행되는 게임 플레이 영상 데이터를 상기 제1 인터페이스를 통해 수신하고 상기 제2 인터페이스를 통해 상기 웹 RTC 모듈로 전달하여 상기 사용자 단말로 스트리밍 전송되도록 하는 스트리밍 컨트롤러를 포함하는, 컴퓨팅 장치.
  5. 청구항 4에 있어서,
    상기 스트리밍 컨트롤러는,
    상기 제2 인터페이스로부터 스트리밍 요청이 수신되는 경우, 상기 제1 인터페이스를 통해 스트리밍 개시 호출을 상기 게임 실행 모듈로 전달하여 상기 게임 실행 모듈에서 실행되는 게임 플레이 영상 데이터를 수신하고, 상기 제2 인터페이스를 통해 상기 게임 플레이 영상 데이터를 상기 웹 RTC 모듈로 전달하는, 컴퓨팅 장치.
  6. 청구항 4에 있어서,
    상기 스트리밍 컨트롤러는,
    상기 게임 상태 정보에 따라 상기 게임 플레이 영상 데이터의 스트리밍 전송 여부를 제어하는, 컴퓨팅 장치.
  7. 청구항 6에 있어서,
    상기 스트리밍 컨트롤러는,
    상기 게임 상태 정보가 백 그라운드 상태인 경우, 상기 제1 인터페이스를 통해 스트리밍 정지 호출을 상기 게임 실행 모듈로 전달하는, 컴퓨팅 장치.
  8. 청구항 7에 있어서,
    상기 스트리밍 컨트롤러는,
    상기 게임 상태 정보가 포어 그라운드 상태인 경우, 상기 제1 인터페이스를 통해 스트리밍 재개 호출을 상기 게임 실행 모듈로 전달하고, 상기 게임 실행 모듈에서 실행되는 게임 플레이 영상 데이터를 수신하여 상기 사용자 단말로 스트리밍 송신을 재개하는, 컴퓨팅 장치.
  9. 청구항 4에 있어서,
    상기 스트리밍 컨트롤러는,
    상기 제2 인터페이스를 통해 상기 사용자 단말로부터 게임 조작 정보가 수신되는 경우, 상기 게임 조작 정보를 상기 제1 인터페이스를 통해 상기 게임 실행 모듈로 전달하는, 컴퓨팅 장치.
  10. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
    상기 컴퓨팅 장치에는 게임 실행 모듈 및 스트리밍 모듈을 포함하는 게임 소프트웨어가 설치되고,
    상기 게임 실행 모듈에서 게임을 실행시키는 동작;
    상기 스트리밍 모듈에서 사용자 단말로부터 스트리밍 요청을 수신하는 동작; 및
    상기 스트리밍 모듈에서 상기 게임 실행 모듈로부터 상기 게임의 게임 플레이 영상 데이터를 수신하여 상기 사용자 단말로 스트리밍 전송하는 동작을 포함하는, 게임 서비스 방법.
  11. 청구항 10에 있어서,
    상기 컴퓨팅 장치는, 상기 스트리밍 모듈과 상기 사용자 단말 간에 P2P 커넥션 및 중계 서버를 통한 연결 중 하나 이상을 수행하기 위한 웹 RTC(Real Time Communication) 모듈을 더 포함하고,
    상기 스트리밍 전송하는 동작은,
    상기 스트리밍 모듈에서 제1 인터페이스를 통해 상기 게임 실행 모듈로 스트리밍 개시 호출을 전달하는 동작;
    상기 스트리밍 모듈에서 상기 제1 인터페이스를 통해 상기 게임 실행 모듈로부터 게임 플레이 영상 데이터를 수신하는 동작; 및
    상기 스트리밍 모듈에서 상기 수신한 게임 플레이 영상 데이터를 제2 인터페이스를 통해 상기 웹 RTC 모듈로 전달하여 상기 사용자 단말로 스트리밍 하는 동작을 포함하는, 게임 서비스 방법.
  12. 청구항 11에 있어서,
    상기 게임 서비스 방법은,
    상기 스트리밍 모듈에서 상기 웹 RTC 모듈을 통해 상기 사용자 단말의 게임 상태 정보를 수신하는 동작; 및
    상기 스트리밍 모듈에서 상기 게임 상태 정보에 따라 상기 게임 플레이 영상 데이터의 스트리밍 전송 여부를 제어하는 동작을 포함하는, 게임 서비스 방법.
  13. 청구항 12에 있어서,
    상기 스트리밍 전송 여부를 제어하는 동작은,
    상기 게임 상태 정보가 백 그라운드 상태인 경우, 상기 스트리밍 모듈에서 제1 인터페이스를 통해 스트리밍 정지 호출을 상기 게임 실행 모듈로 전달하는 동작을 포함하는, 게임 서비스 방법.
  14. 청구항 13에 있어서,
    상기 스트리밍 전송 여부를 제어하는 동작은,
    상기 게임 상태 정보가 포어 그라운드 상태인 경우, 상기 스트리밍 모듈에서 상기 제1 인터페이스를 통해 스트리밍 재개 호출을 상기 게임 실행 모듈로 전달하는 동작;
    상기 스트리밍 모듈에서 상기 제1 인터페이스를 통해 상기 게임 실행 모듈로부터 게임 플레이 영상 데이터를 수신하는 동작; 및
    상기 스트리밍 모듈에서 제2 인터페이스를 통해 상기 게임 플레이 영상 데이터를 상기 웹 RTC 모듈로 전달하여 스트리밍 송신을 재개하는 동작을 포함하는, 게임 서비스 방법.
  15. 청구항 11에 있어서,
    상기 게임 서비스 방법은,
    상기 스트리밍 모듈에서 상기 웹 RTC 모듈로부터 상기 사용자 단말의 게임 조작 정보를 수신하는 동작; 및
    상기 스트리밍 모듈에서 상기 제1 인터페이스를 통해 상기 게임 조작 정보를 상기 게임 실행 모듈로 전달하는 동작을 더 포함하는, 게임 서비스 방법.
KR1020190153664A 2019-11-26 2019-11-26 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치 KR20210064914A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190153664A KR20210064914A (ko) 2019-11-26 2019-11-26 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190153664A KR20210064914A (ko) 2019-11-26 2019-11-26 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치

Publications (1)

Publication Number Publication Date
KR20210064914A true KR20210064914A (ko) 2021-06-03

Family

ID=76396721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190153664A KR20210064914A (ko) 2019-11-26 2019-11-26 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR20210064914A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230075365A (ko) 2021-11-22 2023-05-31 주식회사 컬러버스 웹 브라우저를 이용한 복수 3차원 컨텐츠 제공 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230075365A (ko) 2021-11-22 2023-05-31 주식회사 컬러버스 웹 브라우저를 이용한 복수 3차원 컨텐츠 제공 시스템 및 방법

Similar Documents

Publication Publication Date Title
US11724204B2 (en) In-game location based game play companion application
US11786821B2 (en) Instant streaming of a mobile user interface to a device of a secondary user without application install
KR20140109974A (ko) 2차 터치 컨트롤러를 구비한 컨텐츠 시스템
JP7339318B2 (ja) ゲーム内位置ベースのゲームプレイコンパニオンアプリケーション
JP7343355B2 (ja) ゲーム制御方法および装置
CN107921319B (zh) 用于提高用户输入的操作性的程序、游戏系统、电子装置、服务器和游戏控制方法
KR102392522B1 (ko) 온라인 서비스 접속 제어 장치 및 방법
KR20200113834A (ko) 애플리케이션 정보 제공 장치 및 방법
KR20210064914A (ko) 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR20220011872A (ko) 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치
KR20210019358A (ko) 사용자 인터페이스 제공 장치 및 방법
KR101744684B1 (ko) 클라우드 게임 서비스 제공 장치 및 방법
KR102275320B1 (ko) 공유 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치
US9954718B1 (en) Remote execution of applications over a dispersed network
KR102141477B1 (ko) 게임 제어 장치 및 방법
KR102170825B1 (ko) 게임 제어 장치 및 방법
US12120121B2 (en) Apparatus and method for online service access control
US20240207729A1 (en) Game controller mobile bridge
US20240042313A1 (en) Multi-user cross-device synchronization of metaverse instantiation
KR102211564B1 (ko) 게임 서비스 제공 방법 및 장치
KR102148701B1 (ko) 게임 플레이 관리 장치 및 방법
KR20200131058A (ko) 커뮤니케이션 공간 관리 방법 및 이를 수행하기 위한 장치
KR20220018835A (ko) 게임 서비스 방법 및 이를 수행하기 위한 컴퓨팅 장치
JP2020089722A (ja) 過去のゲームデータを利用するゲーム提供方法およびそのシステム
CN116785715A (zh) 游戏中的游戏角色控制方法和装置、存储介质、电子设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application