KR20220047878A - 프로그램, 방법, 및 정보 처리 단말 - Google Patents

프로그램, 방법, 및 정보 처리 단말 Download PDF

Info

Publication number
KR20220047878A
KR20220047878A KR1020227010228A KR20227010228A KR20220047878A KR 20220047878 A KR20220047878 A KR 20220047878A KR 1020227010228 A KR1020227010228 A KR 1020227010228A KR 20227010228 A KR20227010228 A KR 20227010228A KR 20220047878 A KR20220047878 A KR 20220047878A
Authority
KR
South Korea
Prior art keywords
user
image
game
virtual space
display
Prior art date
Application number
KR1020227010228A
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 가부시키가이샤 코로프라
Publication of KR20220047878A publication Critical patent/KR20220047878A/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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/323Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections between game devices with different hardware characteristics, e.g. hand-held game devices connectable to game consoles or arcade machines
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • 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/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • 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/60Generating 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/65Generating 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 automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • 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/60Generating 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/65Generating 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 automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • A63F13/655Generating 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 automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/847Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
    • 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
    • A63F13/86Watching games played by other 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/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5553Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

수행자의 움직임에 따라 실시간으로 동작하는 캐릭터가 배치되어 있는 가상 공간을 표시하기 위한 표시용 데이터를 수신한다. 표시용 데이터에 기반하는 가상 공간 내의 이미지 중에서 표시부에 표시하는 이미지가 상이한 복수 종류의 시청 모드 중의 어느 하나를 특정한다. 표시용 데이터에 기반하는 가상 공간 내의 이미지 중에서 특정된 시청 모드에 따른 이미지를 상기 표시부에 표시한다.

Description

프로그램, 방법, 및 정보 처리 단말
본 발명은, 프로그램, 방법, 및 정보 처리 단말에 관한 것이다.
특허문헌 1에는, 라이브 동영상을 시청 단말에서 표시하기 위한 동영상 데이터를 해당 시청 단말에 배포하는 정보 처리 시스템이 기재되어 있다. 해당 정보 처리 시스템에서는, 콘텐츠 서버로부터 배포된 동영상 데이터에 의해 특정되는 동영상이 시청 단말에 표시된다.
특허문헌 1: 일본 특허 공개 2012-120098호 공보
하지만, 특허문헌 1의 시스템에서는, 동영상의 표시 모드를 사용자의 취향에 따라 변경할 수가 없다. 이 때문에, 해당 시스템에서는 선호 성향(好趣, partiality)이 부족하다는 문제가 있었다.
본 발명은, 관련 실정을 감안하여 고안된 것으로서, 그 목적은, 선호 성향을 향상시킬 수 있는, 프로그램, 방법, 및 정보 처리 단말을 제공하는 것이다.
본 개시에 나타낸 일 실시 형태(태양)의 어떤 국면(aspect)에 의하면, 프로세서, 메모리, 및 표시부를 구비(포함)하는 정보 단말 장치에서 실행되는 프로그램으로서, 프로세서에게, 수행자(performer)의 움직임에 따라 실시간(realtime)으로 동작하는 캐릭터가 배치되어 있는 가상 공간을 표시하기 위한 표시용 데이터를 수신하는 스텝과, 표시용 데이터에 기반(기초)하는 가상 공간 내의 이미지(畵像) 중에서 표시부에 표시하는 이미지가 상이한 복수 종류의 시청 모드 중에서 어느 하나를 특정하는 스텝과, 표시용 데이터에 기반하는 가상 공간 내의 이미지 중에서 특정하는 스텝에 의해 특정된 시청 모드에 따른 이미지를 표시부에 표시하는 스텝을 실행시킨다.
본 발명에 따르면, 선호 성향(선호도)을 향상시킬 수가 있다.
[도 1] 일 실시의 형태에 따른 시스템의 개요의 일례를 나타내는 도면이다.
[도 2] 일 실시의 형태에 따른 사용자 단말의 하드웨어 구성의 일례를 나타내는 블록도이다.
[도 3] 일 실시의 형태에 따른 서버의 하드웨어 구성의 일례를 나타내는 블록도이다.
[도 4] 일 실시의 형태에 따른 게임 플레이 단말의 하드웨어 구성의 일례를 나타내는 블록도이다.
[도 5] 일 실시의 형태에 따른 배포 단말의 하드웨어 구성의 일례를 나타내는 블록도이다.
[도 6] 일 실시의 형태에 따른 사용자 단말, 서버, HMD 세트의 기능적 구성의 일례를 나타내는 블록도이다.
[도 7] 일 실시의 형태에 따른 배포 단말의 기능적 구성의 일례를 나타내는 블록도이다.
[도 8] 일 실시의 형태에 따른 사용자 단말 및 게임 플레이 단말에서 실행되는 처리의 일부를 나타내는 흐름도(플로우 차트)이다.
[도 9] 일 실시의 형태에 따른, 플레이어에게 제공되는 가상 공간, 및 플레이어가 눈으로 확인하는 시야(視界, field of vision) 이미지의 일례를 나타내는 도면이다.
[도 10] 일 실시의 형태에 따른, 사용자 단말의 사용자에게 제공되는 가상 공간, 및 해당 사용자가 눈으로 확인하는 시야 이미지의 일례를 나타내는 도면이다.
[도 11] 사용자 단말의 사용자가 눈으로 확인하는 시야 이미지의 다른 예를 나타내는 도면이다.
[도 12] 사용자 단말의 사용자가 눈으로 확인하는 시야 이미지의 또 다른 예를 나타내는 도면이다.
[도 13] 일 실시의 형태에 따른 게임 플레이 단말에서 실행되는 처리의 일부를 나타내는 흐름도이다.
[도 14] 일 실시의 형태에 따른 사용자 단말에서 실행되는 처리의 일부를 나타내는 흐름도이다.
[도 15] 일 실시의 형태에 따른 서버에서 실행되는 처리의 일부를 나타내는 흐름도이다.
[도 16] 일 실시의 형태에 따른, 게임에 참여한 사용자 리스트(목록)의 일 구체적 예를 나타내는 도면이다.
[도 17] 일 실시의 형태에 따른 배포 단말에서 실행되는 처리의 일부를 나타내는 흐름도이다.
[도 18] 일 실시의 형태에 따른 배포 단말에 표시되는 화면의 일 구체적 예를 나타내는 도면이다.
[도 19] 일 실시의 형태에 따른 배포 단말에 표시되는 화면의 다른 구체적 예를 나타내는 도면이다.
[도 20] 일 실시의 형태에 따른, 플레이어에 의한 음성 입력의 일 구체적 예를 나타내는 도면이다.
[도 21] 일 실시의 형태에 따른 배포 단말에 표시되는 화면의 또 다른 구체적인 예와, 동작 지시 데이터의 배포의 개요를 나타내는 도면이다.
[도 22] 일 실시의 형태에 따른, 플레이어에 의한 음성 입력의 다른 구체적 예를 나타내는 도면이다.
[도 23] 일 실시의 형태에 따른 배포 단말에 표시되는 화면의 또 다른 구체적인 예와, 동작 지시 데이터의 배포의 개요를 나타내는 도면이다.
[도 24] 일 실시의 형태에 따른 게임 플레이 단말에서 사용자 단말으로의 게임 진행 정보의 송신의 개요를 나타내는 도면이다.
[도 25] 일 실시의 형태에 따른 사용자 단말에서 실행되는 처리의 일부를 나타내는 흐름도이다.
[도 26] 동영상 재생의 일 구체적 예를 나타내는 도면이다.
[도 27] 동영상 재생의 다른 구체적 예를 나타내는 도면이다.
[도 28] (A)는 가위바위보 게임의 진행 시에 게임 플레이 단말 측에서 규정되는 가상 공간을 모식적으로 설명하기 위한 도면이고, (B)는 사용자 단말 측에서 규정되어, 취득 이미지에 중첩시키는 증강(확장) 현실용의 가상 공간을 모식적으로 설명하기 위한 도면이다.
[도 29] 모드 전환 시의 처리의 흐름의 일례를 나타내는 흐름도이다.
[도 30] 모드 전환 시의 처리의 흐름의 일례를 나타내는 흐름도이다.
[도 31] 통상 모드 이행(전환)용 아이콘에 대한 입력 조작이 받아들여진(접수된) 후에 있어서의 표시예를 나타내는 도면이다.
[도 32] TV 모드 이행용 아이콘에 대한 입력 조작이 받아들여진 후에 있어서의 표시예를 나타내는 도면이다.
[도 33] AR 모드 이행용 아이콘에 대한 입력 조작이 받아들여진 후에 있어서의 표시예를 나타내는 도면이다.
본 개시에 따른 시스템은, 복수의 사용자에게 게임을 제공하기 위한 시스템이다. 이하, 해당 시스템에 대해 도면을 참조하면서 설명한다. 또한, 본 발명은 이들 예시에 한정되는 것이 아니고, 특허청구범위에 의해 나타나고, 특허청구범위와 균등의 의미 및 범위 내에서의 모든 변경이 본 발명에 포함되는 것이 의도된다. 이하의 설명에서는, 도면의 설명에서 동일한 요소에는 동일한 부호를 붙이고, 중복되는 설명을 반복하지 않는다.
<시스템(1)의 동작 개요>
도 1은, 본 실시 형태에 관련된 시스템(1)의 개요를 나타내는 도면이다. 시스템(1)은, 복수의 사용자 단말(100)(컴퓨터), 서버(200), 게임 플레이 단말(300)(외부 장치, 제2 외부 장치), 배포 단말(400)(외부, 제1 외부 장치)를 포함한다. 또한, 도 1에서는, 복수의 사용자 단말(100)의 일례로서, 사용자 단말(100A ~ 100C), 다시 말해, 3대의 사용자 단말(100)를 기재하고 있지만, 사용자 단말(100)의 대수는 도시된 예에 한정되는 것이 아니다. 또한, 본 실시 형태에서는, 사용자 단말(100A ~ C)를 구별할 필요가 없는 경우, '사용자 단말(100)'라고 기재한다. 사용자 단말(100), 게임 플레이 단말(300), 및 배포 단말(400)는, 서버(200)과 네트워크(2)를 통해 접속(연결)한다. 네트워크(2)는, 인터넷 및 도시하지 않은 무선 기지국에 의해 구축되는 각종 이동 통신 시스템 등으로 구성된다. 이 이동 통신 시스템으로서는, 예를 들어, 소위 3G, 4G 이동 통신 시스템, LTE(Long Term Evolution), 및 소정의 액세스 포인트에 의해 인터넷에 접속 가능한 무선 네트워크(예를 들면 Wi-Fi(등록 상표)) 등을 들 수 있다.
(게임의 개요)
본 실시 형태에서는, 시스템(1)에 의해 제공되는 게임(이하, 본 게임)의 일례로서, 게임 플레이 단말(300)의 사용자가 주가 되어 플레이하는 게임을 설명한다. 이하, 게임 플레이 단말(300)의 사용자를 '플레이어'라고 칭한다. 플레이어(수행자, performer)는, 일례로서, 본 게임에 등장하는 캐릭터를 조작함에 의해, 게임을 진행시킨다. 또한, 본 게임에서, 사용자 단말(100)의 사용자는, 플레이어에 의한 게임의 진행을 지원(서포트)하는 역할을 맡는다. 본 게임의 상세에 대해서는 후술한다. 또한, 시스템(1)에 의해 제공하는 게임은, 복수의 사용자가 참가하는 게임이면 되고, 이 예에 한정되지 않는다.
(게임 플레이 단말(300))
게임 플레이 단말(300)는, 플레이어에 의한 입력 조작에 따라 게임을 진행시킨다. 또한, 게임 플레이 단말(300)는, 플레이어의 게임 플레이에 의해 생성된 정보(이하, 게임 진행 정보)를, 순차적으로, 서버(200)에 실시간으로 배포한다.
(서버(200))
서버(200)는, 게임 플레이 단말(300)로부터 실시간으로 수신한 게임 진행 정보(제2 데이터)를, 사용자 단말(100)에 송신한다. 또한, 서버(200)는, 사용자 단말(100), 게임 플레이 단말(300), 및 배포 단말(400) 사이의 각종 정보의 송수신을 중개한다.
(배포 단말(400))
배포 단말(400)는, 배포 단말(400)의 사용자에 의한 입력 조작에 따라, 동작 지시 데이터(제1 데이터)를 생성하고, 서버(200)을 통해 사용자 단말(100)에 동작 지시 데이터를 배포한다. 동작 지시 데이터란, 사용자 단말(100)에서 동영상을 재생하기 위한 데이터이며, 구체적으로는, 동영상에 등장하는 캐릭터를 동작시키기 위한 데이터이다.
본 실시 형태에서는, 일례로서, 배포 단말(400)의 사용자는, 본 게임의 플레이어이다. 또한, 일례로서, 사용자 단말(100)에서 동작 지시 데이터에 기반하여 재생되는 동영상은, 플레이어가 게임에서 조작한 캐릭터가 동작하는 동영상이다. '동작'이란, 캐릭터의 신체의 적어도 일부를 움직이는 것이며, 발화(發話, Utterance)도 포함한다. 이를 위해, 본 실시 형태에 관련된 동작 지시 데이터는, 예를 들어, 캐릭터가 발화시키기 위한 음성 데이터와, 캐릭터의 신체를 움직이기 위한 모션 데이터를 포함한다.
동작 지시 데이터는, 일례로서, 본 게임의 종료 후에 사용자 단말(100)에 송신된다. 동작 지시 데이터, 및 해당 동작 지시 데이터에 기반하여 재생되는 동영상의 상세에 대해서는 후술한다.
(사용자 단말(100))
사용자 단말(100)은, 게임 진행 정보를 실시간으로 수신하고, 해당 정보를 이용하여 게임 화면을 생성하여 표시한다. 다시 말해, 사용자 단말(100)은, 실시간 렌더링에 의해, 플레이어가 플레이하고 있는 게임의 게임 화면을 재생한다. 이에 따라, 사용자 단말(100)의 사용자는, 플레이어가 게임을 플레이하면서 눈으로 확인하고 있는 게임 화면과 동일한 게임 화면을, 플레이어와 거의 같은 타이밍에 눈으로 확인할 수 있다.
또한, 사용자 단말(100)은, 사용자에 의한 입력 조작에 따라, 플레이어에 의한 게임의 진행을 지원하기 위한 정보를 생성하고, 해당 정보를, 서버(200)을 통해 게임 플레이 단말(300)에 송신한다. 해당 정보의 상세에 대해서는 후술한다.
또한, 사용자 단말(100)는, 배포 단말(400)로부터 동작 지시 데이터를 수신하고, 해당 동작 지시 데이터를 이용하여 동영상(영상)를 생성하여 재생한다. 다시 말해, 사용자 단말(100)는, 동작 지시 데이터를 렌더링하여 재생한다.
<시스템(1)의 하드웨어 구성>
도 2는, 사용자 단말(100)의 하드웨어 구성을 나타내는 도면이다. 도 3은 서버(200)의 하드웨어 구성을 나타내는 도면이다. 도 4는, 게임 플레이 단말(300)의 하드웨어 구성을 나타내는 도면이다. 도 5는, 배포 단말(400)의 하드웨어 구성을 나타내는 도면이다.
(사용자 단말(100))
본 실시 형태에서는, 일례로, 사용자 단말(100)이 스마트폰으로서 실현(구현)되는 예를 설명하지만, 사용자 단말(100)은 스마트폰에 한정되지 않는다. 예를 들어, 사용자 단말(100)는, 피처폰, 태블릿 형 컴퓨터, 랩탑형 컴퓨터(이른바, 노트북), 또는 데스크탑형 컴퓨터 등으로 실현(구현)되어도 된다. 또한, 사용자 단말(100)은, 게임 플레이에 적합한 게임 장치이어도 된다.
사용자 단말(100)은 도 2에 나타낸 바와 같이, 프로세서(10), 메모리(11), 스토리지(12), 통신 인터페이스(IF)(13), 입출력 IF(14), 터치 스크린(15)(표시부), 카메라(17), 측거(거리 측정) 센서(18)를 구비한다. 사용자 단말(100)이 구비하는 이들 구성은, 통신 버스에 의해 서로 전기적으로 접속된다. 또한, 사용자 단말(100)은, 터치 스크린(15) 대신에, 또는 추가하여, 사용자 단말(100) 본체와는 별개로 구성된 디스플레이(표시부)에 접속 가능한 입출력 IF(14)을 구비하고 있어도 된다.
또한, 도 2에 나타난 바와 같이, 사용자 단말(100)은, 하나 이상의 제어기(controller)(1020)과 통신 가능하게 구성되는 것으로 해도 된다. 제어기(1020)는, 예를 들어, Bluetooth(등록 상표) 등의 통신 규격에 따라, 사용자 단말(100)과 통신을 확립한다. 제어기(1020)은, 하나 이상의 버튼 등을 가지고 있어도 되고, 해당 버튼 등에 대한 사용자의 입력 조작에 기반하는 출력 값을 사용자 단말(100)에 송신한다. 또한, 제어기(1020)은, 가속도 센서, 및 각속도 센서 등의 각종 센서를 가지고 있어도 되고, 해당 각종 센서의 출력 값을 사용자 단말(100)에 송신한다.
또한, 사용자 단말(100)이 카메라(17) 및 측거 센서(18)를 구비하는 대신에, 또는 추가적으로, 제어기(1020)가 카메라(17) 및 측거 센서(18)를 가지고 있어도 된다.
사용자 단말(100)은, 예를 들어 게임 시작시에, 제어기(1020)을 사용하는 사용자에게, 해당 사용자의 이름 또는 로그인 ID 등의 사용자 식별 정보를, 해당 제어기(1020)을 통해 입력시키는 것이 바람직하다. 이에 따라, 사용자 단말(100)은, 제어기(1020)과 사용자를 연관시키는 것이 가능해지고, 수신한 출력 값의 송신 소스(제어기(1020))에 기반하여, 해당 출력 값이 어느 사용자의 것인지를 특정할 수 있다.
사용자 단말(100)이 복수의 제어기(controller)(1020)와 통신하는 경우, 각 제어기(1020)를 각 사용자가 파지함(retain)에 의해, 네트워크(2)를 통해 서버(200) 등의 다른 장치와 통신하지 않고, 해당 1대의 사용자 단말(100)에서 멀티 플레이를 실현할 수 있다. 또한, 각 사용자 단말(100)이 무선 LAN(Local Area Network) 규격 등의 무선 규격에 의해 서로 통신 접속하는(서버(200)를 거치지 않고 통신 접속하는) 것에 의해, 복수대의 사용자 단말(100)에 의해 로컬에서 멀티 플레이를 실현시킬 수도 있다. 1대의 사용자 단말(100)에 의해 로컬에서 상술한 멀티 플레이를 실현하는 경우, 사용자 단말(100)는, 더욱이, 서버(200)가 구비하는 후술할 여러가지 기능의 적어도 일부를 구비하고 있어도 된다. 또한, 복수의 사용자 단말(100)에 의해 로컬에서 상술한 멀티 플레이를 실현하는 경우, 복수의 사용자 단말(100)은, 서버(200)가 구비한 후술할 여러가지 기능을 분산하여 구비하고 있어도 된다.
또한, 로컬에서 상술한 멀티 플레이를 실현하는 경우라도, 사용자 단말(100)은 서버(200)와 통신을 수행해도 된다. 예를 들어, 어떤 게임에서의 성적 또는 승패 등의 플레이 결과를 나타내는 정보와, 사용자 식별 정보를 대응시켜서 서버(200)에 송신해도 된다.
또한, 제어기(1020)은, 사용자 단말(100)에 착탈가능한 구성인 것으로 해도 된다. 이 경우, 사용자 단말(100)의 케이스(housing)에서의 적어도 어느 하나의 면에, 제어기(1020)과의 결합부가 마련되어 있어도 된다. 상기 결합부를 통해 유선에 의해 사용자 단말(100)과 제어기(1020)가 결합하고 있는 경우는, 사용자 단말(100)과 제어기(1020)는, 유선을 통해 신호를 송수신한다.
도 2에 나타낸 바와 같이, 사용자 단말(100)은, 외부의 메모리 카드 등의 기억 매체(1030)의 장착을, 입출력 IF(14)을 통해 받아들여도(접수해도) 된다. 이에 따라, 사용자 단말(100)은, 기억 매체(1030)에 기록되는 프로그램 및 데이터를 읽어들일 수 있다. 기억 매체(1030)에 기록되는 프로그램은, 예를 들어 게임 프로그램이다.
사용자 단말(100)은, 서버(200) 등의 외부 장치와 통신함에 의해 취득한 게임 프로그램을 사용자 단말(100)의 메모리(11)에 기억(저장)해도 되고, 기억 매체(1030)에서의 읽어들임에 의해 취득한 게임 프로그램을 메모리(11)에 기억해도 된다.
이상에서 설명한 대로, 사용자 단말(100)은, 해당 사용자 단말(100)에 대해 정보를 입력하는 기구의 일례로서, 통신 IF(13), 입출력 IF(14), 터치 스크린(15), 카메라(17), 및 측거 센서 (18)를 구비한다. 입력하는 기구로서의 상술한 각 부는, 사용자의 입력 조작을 받아들일 수 있도록 구성된 조작부로 인식할 수 있다.
예를 들어, 조작부가, 카메라(17) 및 측거 센서(18) 중 적어도 어느 한쪽으로 구성되는 경우, 해당 조작부가, 사용자 단말(100)의 근방의 물체(1010)를 검출(검지)하고, 해당 물체의 검출 결과로부터 입력 조작을 특정한다. 일례로서, 물체(1010)로서의 사용자의 손, 미리 정해진 형상의 마커 등이 검출되고, 검출 결과로 얻어진 물체(1010)의 색깔, 형상, 움직임, 또는 종류 등에 기반하여 입력 조작이 특정된다. 보다 구체적으로는, 사용자 단말(100)는, 카메라(17)의 촬영 이미지로부터 사용자의 손이 검출된 경우, 해당 촬영 이미지에 기반하여 검출되는 제스처(사용자의 손의 일련의 움직임)을, 사용자의 입력 조작으로 특정하여, 받아들인다. 또한, 촬영 이미지는 정지 이미지이어도 되고 동영상이어도 된다.
또는, 조작부가 터치 스크린(15)으로 구성되는 경우, 사용자 단말(100)은, 터치 스크린(15)의 입력부(151)에 대해 실시된 사용자의 조작을 사용자의 입력 조작으로 특정하여, 받아들인다. 또는, 조작부가 통신 IF(13)로 구성된 경우, 사용자 단말(100)은, 제어기(1020)에서 송신되는 신호(예를 들어, 출력 값)을 사용자의 입력 조작으로 특정하여, 받아들인다. 또는, 조작부가 입출력 IF(14)로 구성된 경우, 해당 입출력 IF(14)과 접속되는 제어기(1020)과는 상이한 입력 장치(도시하지 않음)에서 출력되는 신호를 사용자의 입력 조작으로 특정하여, 받아들인다.
(서버(200))
서버(200)는, 일례로서, 워크 스테이션 또는 퍼스널 컴퓨터 등의 범용 컴퓨터이어도 된다. 서버(200)는, 프로세서(20), 메모리(21), 스토리지(22), 통신 IF(23), 입출력 IF(24)을 구비한다. 서버(200)가 구비하는 이들 구성은, 통신 버스에 의해 서로 전기적으로 접속된다.
(게임 플레이 단말(300))
게임 플레이 단말(300)는, 일레로서, 퍼스널 컴퓨터 등의 범용 컴퓨터이어도 된다. 게임 플레이 단말(300)는, 프로세서(30), 메모리(31), 스토리지(32), 통신 IF(33), 입출력 IF(34)을 구비한다. 게임 플레이 단말(300)이 구비하는 이들 구성은, 통신 버스에 의해 서로 전기적으로 접속된다.
도 4에 나타낸 바와 같이, 본 실시 형태에 따른 게임 플레이 단말(300)는, 일례로서, HMD(Head Mounted Display) 세트(1000)에 포함된다. 즉, HMD 세트(1000)가, 시스템(1)에 포함되어 있다고 표현할 수 있으며, 또한, 플레이어는 HMD 세트(1000)을 이용하여 게임을 플레이한다고 표현할 수도 있다. 또한, 플레이어가 게임을 플레이하기 위한 장치는, HMD 세트(1000)에 한정되지 않는다. 일례로, 해당 장치는, 플레이어가 게임을 가상 체험하는 것이 가능한 수 있는 장치이면 된다. 또한, 해당 장치는, 스마트 폰, 피처 폰, 태블릿 형 컴퓨터, 랩탑 형 컴퓨터(이른바, 노트북), 또는 데스크탑형 컴퓨터 등으로 실현되어 있어도 된다. 또한, 해당 장치는, 게임 플레이에 적합한 게임 장치이어도 된다.
HMD 세트(1000)은, 게임 플레이 단말(300) 외에, HMD(500), HMD 센서(510), 모션 센서(520), 디스플레이(530), 제어기(540)를 구비한다. HMD(500)는, 모니터(51), 주시 센서(52), 제1 카메라(53), 제2 카메라(54), 마이크(55), 스피커(56)를 포함한다. 제어기(540)는, 모션 센서(520)를 포함할 수 있다.
HMD(500)는, 플레이어의 머리(두부)에 장착되어, 동작 중에 가상 공간을 플레이어에게 제공할 수 있다. 보다 구체적으로는, HMD(500)는, 오른쪽 눈 용의 이미지 및 왼쪽 눈 용의 이미지를 모니터(51)에 각각 표시한다. 플레이어의 각 눈이 각각의 이미지를 확인하면, 플레이어는, 두 눈의 시차(視差)에 기반하여 해당 이미지를 3차원 이미지로 인식할 수 있다. HMD(500)는, 모니터를 구비한 소위 헤드 마운트 디스플레이와, 스마트 폰 그 밖의 모니터를 가지는 단말을 장착 가능한 헤드 마운트 기기 중 어느 하나를 포함할 수 있다.
모니터(51)는, 예를 들어, 비 투과형의 표시 장치로서 실현된다. 어떤 국면에서, 모니터(51)은, 플레이어의 두 눈의 전방에 위치하도록 HMD(500)의 본체에 배치되어 있다. 따라서, 플레이어는, 모니터(51)에 표시되는 3차원 이미지를 눈으로 확인하면, 가상 공간에 몰입할 수 있다. 어떤 국면에서, 가상 공간은, 예를 들어, 배경, 플레이어가 조작 가능한 객체, 플레이어가 선택 가능한 메뉴의 이미지를 포함한다. 어떤 국면에서, 모니터(51)는, 소위 스마트 폰 기타 정보 표시 단말이 구비하는 액정 모니터 또는 유기 EL(Electro Luminescence) 모니터로 실현될 수 있다.
다른 국면에서, 모니터(51)는 투과형의 표시 장치로 실현될 수 있다. 이 경우, HMD(500)은, 도 1에 나타낸 바와 같이 플레이어의 눈을 덮는 밀폐형은 아니고, 안경형 같은 개방형일 수 있다. 투과형의 모니터(51)는, 그 투과율을 조정함에 의해, 일시적으로 비 투과형의 표시 장치로 구성 가능해도 된다. 모니터(51)는, 가상 공간을 구성하는 이미지의 일부와, 현실 공간을 동시에 표시하는 구성을 포함하고 있어도 된다. 예를 들어, 모니터(51)는, HMD(500)에 탑재된 카메라로 촬영한 현실 공간의 이미지를 표시해도 되고, 일부의 투과율을 높게 설정함으로써 현실 공간을 눈으로 확인 가능하게 해도 된다.
어떤 국면에서, 모니터(51)는, 오른쪽 눈 용의 이미지를 표시하기 위한 서브 모니터와, 왼쪽 눈 용의 이미지를 표시하기 위한 서브 모니터를 포함할 수 있다. 다른 국면에서, 모니터(51)는, 오른쪽 눈 용의 이미지와 왼쪽 눈 용의 이미지를 일체로서 표시하는 구성이어도 된다. 이 경우, 모니터(51)는, 고속 셔터를 포함한다. 고속 셔터는, 이미지가 어느 한쪽 눈에만 인식되도록, 오른쪽 눈 용의 이미지와 왼쪽 눈 용의 이미지를 교대로 표시 가능하게 작동한다.
어떤 국면에서, HMD(500)는, 도시하지 않은 복수의 광원을 포함한다. 각 광원은 예를 들어, 적외선을 발하는 LED(Light Emitting Diode)에 의해 실현된다. HMD 센서(510)는, HMD(500)의 움직임을 검출하기 위한 위치 추적(position tracking) 기능을 가진다. 보다 구체적으로는, HMD 센서(510)는, HMD(500)가 발하는 복수의 적외선을 판독하여, 현실 공간내에서의 HMD(500)의 위치 및 기울기를 검출한다.
다른 국면에서, HMD 센서(510)는, 카메라에 의해 실현되어도 된다. 이 경우, HMD 센서(510)는, 카메라로부터 출력되는 HMD(500)의 이미지 정보를 이용하여, 이미지 해석(분석) 처리를 실행함에 의해, HMD(500)의 위치 및 기울기를 검출할 수 있다.
다른 국면에서, HMD(500)는, 위치 검출기로서, HMD 센서(510) 대신에, 혹은 HMD 센서(510)에 부가하여 센서(미도시)를 구비해도 된다. HMD(500)는, 해당 센서를 이용하여, HMD(500) 자신의 위치 및 기울기를 검출할 수 있다. 예를 들어, 해당 센서가 각속도 센서, 지자기 센서, 또는 가속도 센서인 경우, HMD(500)는 HMD 센서(510) 대신에, 이들 각 센서 중 어느 하나를 이용하여, 자신의 위치 및 기울기를 검출할 수 있다. 일례로서, HMD(500)에 구비된 센서가 각속도 센서인 경우, 각속도 센서는, 현실 공간에서 HMD(500)의 3축 주위의 각속도를 경과 시간순으로(chronologically) 검출한다. HMD(500)는, 각 각속도에 기반하여, HMD(500)의 3축 주위의 각도의 시간적 변화를 산출하고, 게다가, 각도의 시간적 변 화에 기반하여, HMD(500)의 기울기를 산출한다.
주시 센서(52)는, 플레이어의 오른쪽 눈 및 왼쪽 눈의 시선이 향해 있는 방향을 검출한다. 즉, 주시 센서(52)는, 플레이어의 시선을 검출한다. 시선 방향의 검출은, 예를 들어, 공지된 아이 트래킹(eye tracking) 기능에 의해 실현된다. 주시 센서(52)는, 해당 아이 트래킹 기능을 갖는 센서에 의해 실현된다. 어떤 국면에서, 주시 센서(52)는, 오른쪽 눈 용의 센서 및 왼쪽 눈 용의 센서를 포함하는 것이 바람직하다. 주시 센서(52)는, 예를 들어, 플레이어의 오른쪽 눈 및 왼쪽 눈에 적외선을 조사(照射)함과 더불어, 조사광에 대한 각막 및 홍채로부터의 반사광을 받음에 의해 각 안구의 회전각을 검출하는 센서이어도 된다. 주시 센서(52)는 검출한 각 회전각에 기반하여, 플레이어의 시선을 검지할 수 있다.
제1 카메라(53)는, 플레이어의 얼굴의 아래부분을 촬영한다. 보다 구체적으로는, 제1 카메라(53)는 플레이어의 코 및 입 등을 촬영한다. 제2 카메라(54)는, 플레이어의 눈 및 눈썹 등을 촬영한다. HMD(500)의 플레이어 측의 케이스를 HMD(500)의 내측, HMD(500)의 플레이어와는 반대 측의 케이스를 HMD(500)의 외측인 것으로 정의한다. 어떤 국면에서, 제1 카메라(53)는, HMD(500)의 외측에 배치되고, 제2 카메라(54)는, HMD(500)의 내측에 배치될 수 있다. 제1 카메라(53) 및 제2 카메라(54)가 생성한 이미지는, 게임 플레이 단말(300)에 입력된다. 다른 국면에서, 제1 카메라(53)와 제2 카메라(54)를 1 대의 카메라로 실현하고, 이 1대의 카메라로 플레이어의 얼굴을 촬영하도록 해도 된다.
마이크(55)는, 플레이어의 발화를 음성 신호(전기 신호)로 변환하여 게임 플레이 단말(300)에 출력한다. 스피커(56)는, 음성 신호를 음성으로 변환하여 플레이어에 출력한다. 다른 국면에서, HMD(500)는, 스피커(56) 대신에 이어폰을 포함할 수 있다.
제어기(540)은, 유선 또는 무선에 의해 게임 플레이 단말(300)에 접속되어 있다. 제어기(540)은, 플레이어로부터 게임 플레이 단말(300)에의 명령의 입력을 받아들인다. 어떤 국면에서, 제어기(540)은, 플레이어에 의해 파지 가능하게 구성된다. 다른 국면에서, 제어기(540)은, 플레이어의 신체 또는 의류의 일부에 장착 가능하게 구성된다. 또 다른 국면에서, 제어기(540)은, 게임 플레이 단말(300)로부터 송신되는 신호에 기반하여, 진동, 소리, 빛 중 적어도 어느 하나를 출력하도록 구성되어도 된다. 또 다른 국면에서, 제어기(540)은, 플레이어로부터, 가상 공간에 배치되는 객체의 위치나 움직임을 제어하기 위한 조작을 받아들인다.
어떤 국면에서, 제어기(540)은, 복수의 광원을 포함한다. 각 광원은 예를 들어, 적외선을 발하는 LED에 의해 실현된다. HMD 센서(510)는, 위치 추적 기능을 가진다. 이 경우, HMD 센서(510)는, 제어기(540)이 발하는 복수의 적외선을 판독하여(읽어들여), 현실 공간 내에서의 제어기(540)의 위치 및 기울기를 검출한다. 다른 국면에서, HMD 센서(510)는, 카메라에 의해 실현되어도 된다. 이 경우, HMD 센서(510)는, 카메라로부터 출력되는 제어기(540)의 이미지 정보를 이용하여, 이미지 해석 처리를 실행함에 의해, 제어기(540)의 위치 및 기울기를 검출할 수가 있다.
모션 센서(520)는, 어떤 국면에서, 플레이어의 손에 부착(장착)되어, 플레이어의 손의 움직임을 검출한다. 예를 들어, 모션 센서(520)는, 손의 회전 속도, 회전 수 등을 검출한다. 검출된 신호는, 게임 플레이 단말(300)에 보내진다. 모션 센서(520)는, 예를 들어, 제어기(540)에 설치되어 있다. 어떤 국면에서, 모션 센서(520)는, 예를 들어, 플레이어에 파지가능하게 구성된 제어기(540)에 설치되어 있다. 다른 국면에서, 현실 공간에서의 안전을 위해, 제어기(540)은, 장갑형과 같이 플레이어의 손에 장착됨에 의해 쉽게 날라가지 않는 것에 장착된다. 또 다른 국면에서, 플레이어에 장착되지 않은 센서가 플레이어의 손의 움직임을 검출해도 된다. 예를 들어, 플레이어를 촬영하는 카메라의 신호가, 플레이어의 동작을 나타내는 신호로서, 게임 플레이 단말(300)에 입력되어도 된다. 모션 센서(520)나 게임 플레이 단말(300)는, 일례로서, 무선에 의해 서로 접속된다. 무선인 경우, 통신 형태는 특별히 한정되지 않으며, 예를 들면, Bluetooth 그 밖의 공지된 통신 방법이 이용된다.
디스플레이(530)는, 모니터(51)에 표시되어 있는 이미지와 같은 이미지를 표시한다. 이에 따라, HMD(500)를 장착하고 있는 플레이어 이외의 사용자에게도 플레이어와 마찬가지의(동일 모양의) 이미지를 시청시킬 수 있다. 디스플레이(530)에 표시되는 이미지는, 3차원 이미지일 필요는 없고, 오른쪽 눈 용의 이미지나 왼쪽 눈 용의 이미지이어도 된다. 디스플레이(530)로서는, 예를 들면, 액정 디스플레이나 유기 EL 모니터 등을 들 수 있다.
게임 플레이 단말(300)는, HMD(500)의 각 부, 제어기(540), 및 모션 센서(520)로부터 취득한 각종 정보에 기반하여, 플레이어의 조작 대상이 되는 캐릭터를 동작시켜, 게임을 진행시킨다. 여기에서의 '동작'에는, 신체의 각 부분을 움직이는 것, 자세를 바꾸는 것, 얼굴 표정을 바꾸는 것, 이동, 발화, 가상 공간에 배치된 객체에 접촉하거나, 움직이거나 하는 것, 캐릭터가 파지하는 무기, 도구 등을 사용하는 것 등이 포함된다. 즉, 본 게임에서는, 플레이어가 신체의 각 부분을 움직이는 것에 의해, 캐릭터도 플레이어와 마찬가지로(같은 모양으로) 신체의 각 부분을 움직인다. 또한, 본 게임에서는, 플레이어가 발화한 내용을 캐릭터가 발화한다. 다시 말해, 본 게임에서, 캐릭터는 플레이어의 분신으로서 행동하는 아바타 객체이다. 일례로서, 캐릭터의 동작의 적어도 일부가, 플레이어에 의한 제어기(540)에 대한 입력에 의해 실행되어도 된다.
본 실시 형태에서는, 모션 센서(520)는, 일례로서, 플레이어의 양 손, 플레이어의 양 발, 플레이어의 허리부, 및 플레이어의 머리에 장착할 수 있다. 플레이어의 양 손에 장착되는 모듈 센서(520)는, 상술한 바와 같이, 제어기(540)에 설치되어(마련되어) 있어도 된다. 또한, 플레이어의 머리에 부착되는 모션 센서(520)는, HMD(500)에 설치되어 있어도 된다. 모션 센서(520)는, 또한, 사용자의 두 팔꿈치나 두 무릎에 장착되어도 된다. 플레이어에 장착되는 모션 센서(520)의 수를 증가시킴에 의해, 플레이어의 움직임을 보다 정확하게 캐릭터에 반영시킬 수 있다. 또한, 플레이어는, 모션 센서(520)를 신체의 각 부분에 장착하는 대신에, 하나 이상의 모션 센서(520)가 장착된 슈트(suit)를 착용해도 된다. 즉, 모션 캡처 방법은, 모션 센서(520)를 이용하는 예에 한정되지 않는다.
(배포 단말(400))
배포 단말(400)는 스마트 폰, PDA(Personal Digital Assistant), 또는 태블릿형 컴퓨터 등의 휴대 단말이어도 된다. 또한, 배포 단말(400)는, 데스크톱 PC 등의, 이른바 거치형 단말이어도 된다.
배포 단말(400)는, 도 5에 나타낸 바와 같이, 프로세서(40), 메모리(41), 스토리지(42), 통신 IF(43), 입출력 IF(44), 터치 스크린(45)을 구비한다. 또한, 배포 단말(400)는, 터치 스크린(45) 대신에, 또는 추가하여, 배포 단말(400) 본체와는 별도로 구성된 디스플레이(표시부)에 접속 가능한 입출력 IF(44)을 구비하고 있어도 된다.
제어기(1021)는, 하나 이상의 버튼, 레버, 스틱, 호일 등의 물리적인 입력 기구를 가지고 있어도 된다. 제어기(1021)는, 배포 단말(400)의 조작자(본 실시 형태에서는 플레이어)가 해당 입력 기구에 대해 입력한 입력 조작에 기반하는 출력 값을 배포 단말(400)에 송신한다. 또한, 제어기(1021)은, 가속도 센서, 및 각속도 센서 등의 각종 센서를 가지고 있어도 되고, 해당 각종 센서의 출력 값을 배포 단말(400)에 송신해도 된다. 상술한 출력 값은, 통신 IF(43)을 거쳐서 배포 단말(400)에서 받아들여질 수 있다.
배포 단말(400)는, 카메라와, 측거 센서(함께 미도시)를 구비하고 있어도 된다. 배포 단말(400)이 구비하는 대신에, 또는 추가하여, 제어기(1021)가 카메라와 측거 센서를 가지고 있어도 된다.
이상에서 설명한 대로, 배포 단말(400)는, 해당 배포 단말(400)에 대해 정보를 입력하는 기구의 일례로서, 통신 IF(43), 입출력 IF(44), 터치 스크린(45)을 구비한다. 입력하는 기구로서 상술한 각부는, 사용자의 입력 조작을 받아들일 수 있도록 구성된 조작부로 인식할 수 있다.
조작부가 터치 스크린(45)으로 구성되어 있는 경우, 배포 단말(400)는, 터치 스크린(45)의 입력부(451)에 대해 실시된 사용자의 조작을 사용자의 입력 조작으로 특정하고, 받아들인다. 또는, 조작부가 통신 IF(43)로 구성되는 경우, 배포 단말(400)는, 제어기(1021)로부터 송신되는 신호(예를 들어, 출력 값)을 사용자의 입력 조작으로 특정하여, 받아들인다. 또는, 조작부가 입출력 IF(44)로 구성되는 경우, 배포 단말(400)은, 해당 출력 IF(44)과 접속되는 입력 장치(도시하지 않음)에서 출력되는 신호를 사용자의 입력 조작으로 특정하고, 받아들인다.
<각 장치의 하드웨어 구성 요소>
프로세서(10,20,30,40)은 각각, 사용자 단말(100), 서버(200), 게임 플레이 단말(300), 배포 단말(400)의 전체 동작을 제어한다. 프로세서(10,20,30,40)는, CPU(Central Processing Unit), MPU(Micro Processing Unit) 및 GPU(Graphics Processing Unit)를 포함한다. 프로세서(10,20,30,40)은 각각, 후술하는 스토리지(12,22,32,42)로부터 프로그램을 읽어낸다. 그리고, 프로세서(10,20,30,40)은 각각, 읽어낸 프로그램을, 후술하는 메모리(11,21,31,41)에 전개한다. 프로세서(10,20,30)는, 전개한 프로그램을 실행한다.
메모리(11,21,31,41)은 주기억 장치이다. 메모리(11,21,31,41)는, ROM(Read Only Memory) 및 RAM(Random Access Memory) 등의 기억 장치로 구성된다. 메모리(11)는, 프로세서(10)가 후술할 스토리지(12)에서 읽어낸 프로그램 및 각종 데이터를 일시적으로 저장함에 의해, 프로세서(10)에 작업 영역을 제공한다. 메모리 (11)는, 프로세서(10)가 프로그램에 따라 동작하고 있는 동안 생성한 각종 데이터도 일시적으로 기억한다. 메모리(21)는, 프로세서(20)가 후술할 스토리지(22)에서 읽어낸 각종 프로그램 및 데이터를 일시적으로 기억함에 의해, 프로세서(20)에 작업 영역을 제공한다. 메모리(21)는, 프로세서(20)가 프로그램에 따라 동작하고 있는 동안 생성된 각종 데이터도 일시적으로 기억한다. 메모리(31)는, 프로세서(30)가 후술할 스토리지(32)에서 읽어낸 각종 프로그램 및 데이터를 일시적으로 기억함에 의해, 프로세서(30)에 작업 영역을 제공한다. 메모리(31)는, 프로세서(30)가 프로그램에 따라 동작하고 있는 동안 생성한 각종 데이터도 일시적으로 기억한다. 메모리(41)는, 프로세서(40)가 후술할 스토리지(42)에서 읽어낸 프로그램 및 각종 데이터를 일시적으로 기억함에 의해, 프로세서(40)에 작업 영역을 제공한다. 메모리(41)는, 프로세서(40)가 프로그램에 따라 동작하고 있는 동안 생성한 각종 데이터도 일시적으로 기억한다.
본 실시 형태에서, 프로세서(10 및 30)이 실행하는 프로그램은, 본 게임의 게임 프로그램이어도 된다. 본 실시 형태에서, 프로세서(40)가 실행하는 프로그램은, 동작 지시 데이터의 배포를 실현하기 위한 배포 프로그램이어도 된다. 또한, 프로세서(10)는, 추가로, 동영상 재생을 실현하기 위한 시청 프로그램을 실행해도 된다.
본 실시 형태에서, 프로세서(20)가 실행하는 프로그램은, 상술한 게임 프로그램, 배포 프로그램, 시청 프로그램 중의 적어도 어느 하나이어도 된다. 프로세서(20)는, 사용자 단말(100), 게임 플레이 단말(300), 및 배포 단말(400) 중의 적어도 어느 하나로부터의 요구 등에 따라, 게임 프로그램, 배포 프로그램, 시청 프로그램 중의 적어도 어느 하나를 실행시킨다. 또한, 배포 프로그램과 시청 프로그램은, 병행하여 실행되어도 된다.
즉, 게임 프로그램은, 게임을 사용자 단말(100), 서버(200), 및 게임 플레이 단말(300)의 협동에 의해 실현하는 프로그램이어도 된다. 배포 프로그램은, 동작 지시 데이터의 배포를, 서버(200)와 배포 단말(400)의 협동에 의해 실현하는 프로그램이어도 된다. 시청 프로그램은, 동영상의 재생을, 사용자 단말(100)과 서버(200)의 협동에 의해 실현하는 프로그램이어도 된다.
스토리지(12,22,32,42)는 보조 기억 장치이다. 스토리지(12,22,32,42)은, 플래시 메모리 또는 HDD(Hard Disk Drive) 등의 기억 장치로 구성된다. 스토리지(12,32)에는, 예를 들어, 게임에 관한 각종 데이터가 저장된다. 스토리지(42)에는, 동작 지시 데이터의 배포에 관한 각종 데이터가 저장된다. 또한, 스토리지(12)에는, 동영상 재생에 관한 각종 데이터가 저장된다. 스토리지(22)에는, 게임, 동작 지시 데이터의 배포, 및 동영상 재생 각각에 관한 각종 데이터 중에서, 적어도 일부가 포함되어 있어도 된다.
통신 IF(13,23,33,43)는, 각각, 사용자 단말(100), 서버(200), 게임 플레이 단말(300), 배포 단말(400)에서의 각종 데이터의 송수신을 제어한다. 통신 IF(13,23,33,43)는 예를 들어, 무선 LAN(Local Area Network)을 통한 통신, 유선 LAN, 무선 LAN, 또는 휴대 전화 회선망을 통한 인터페이스 통신, 및 근거리 무선 통신 등을 이용한 통신을 제어한다.
입출력 IF(14,24,34,44)는, 각각, 사용자 단말(100), 서버(200), 게임 플레이 단말(300), 배포 단말(400)이 데이터의 입력을 받아들이기 위한, 또한 데이터를 출력하기 위한 인터페이스이다. 입출력 IF(14,24,34,44)는, USB(Universal Serial Bus) 등을 통해 데이터의 입출력을 수행해도 된다. 입출력 IF(14,24,34,44)은, 물리적 버튼, 카메라, 마이크, 스피커, 마우스, 키보드, 디스플레이, 스틱, 레버 등을 포함할 수 있다. 또한, 입출력 IF(14,24,34,44)는, 주변 기기와의 사이에서 데이터를 송수신하기 위한 접속부를 포함할 수 있다.
터치 스크린(15)는, 입력부(151)과 표시부(152)(디스플레이)를 조합한 전자 부품이다. 터치 스크린(45)는, 입력부(451)과 표시부(452)을 조합한 전자 부품이다. 입력부(151 및 451)은, 일례로서, 터치에 민감(touch sensitive)한 장치이며, 예를 들어 터치 패드에 의해 구성된다. 표시부(152 및 452)은, 예를 들어 액정 디스플레이, 또는 유기 EL(Electro-Luminescence) 디스플레이 등에 의해 구성된다.
입력부(151 및 451)은, 입력면에 대하여 사용자의 조작(주로 터치 조작, 슬라이드 조작, 스와이프(swipe) 조작, 및 탭(tap) 조작 등의 물리적 접촉 조작)이 입력된 위치를 검지하고, 위치를 나타내는 정보를 입력 신호로서 송신하는 기능을 구비한다. 입력부(151 및 451)는, 도시하지 않은 터치 센싱부를 구비하고 있으면 좋다. 터치 센싱부는, 정전 용량 방식 또는 저항막 방식 등 어떤 방식을 사용한 것이라도 된다.
도시하지 않았지만, 사용자 단말(100) 및 배포 단말(400)는, 각각, 사용자 단말(100) 및 배포 단말(400)의 보유(保持) 자세를 특정하기 위한 하나 이상의 센서를 구비하고 있어도 된다. 이 센서는, 예를 들면, 가속도 센서, 또는 각속도 센서 등이어도 된다.
사용자 단말(100) 및 배포 단말(400)이 센서를 구비하고 있는 경우, 프로세서(10 및 40)은, 각각, 센서의 출력으로부터 사용자 단말(100) 및 배포 단말(400)의 보유 자세를 특정하여, 보유 자세에 따른 처리를 수행하는 것도 가능해진다. 예를 들어, 프로세서(10 및 40)은, 각각, 사용자 단말(100) 및 배포 단말(400)이 세로 방향(vertical orientation)으로 보유되어 있는 경우에는, 세로가 긴 이미지를 표시부(152 및 452)에 표시시키는 세로 화면 표시로 해도 된다. 한편, 사용자 단말(100) 및 배포 단말(400)이 가로 방향으로 보유되는 경우에는, 가로가 긴 이미지를 표시부에 표시시키는 가로 화면 표시로 해도 된다. 이처럼, 프로세서(10 및 40)은, 각각, 사용자 단말(100) 및 배포 단말(400)의 보유 자세에 따라 세로 화면 표시와 가로 화면 표시 사이에서 전환 가능해도 된다.
<시스템(1)의 기능적 구성>
도 6은, 시스템(1)에 포함된 사용자 단말(100), 서버(200) 및 HMD 세트(1000)의 기능적인 구성을 나타내는 블록도이다. 도 7은, 도 6에 나타낸 배포 단말(400)의 기능적인 구성을 나타내는 블록도이다.
사용자 단말(100)은, 사용자의 입력 조작을 받아들이는 입력 장치로서의 기능과, 게임의 이미지나 음성을 출력하는 출력 장치로서의 기능을 갖는다. 사용자 단말(100)은, 프로세서(10), 메모리(11), 스토리지(12), 통신 IF(13), 입출력 IF(14), 및 터치 스크린(15) 등의 협동에 의해, 제어부(110) 및 기억부(120)로서 기능한다.
서버(200)는, 사용자 단말(100), HMD 세트(1000), 및 배포 단말(400) 사이의 각종 정보의 송수신을 중개하는 기능을 가진다. 서버(200)는, 프로세서(20), 메모리(21), 스토리지(22), 통신 IF(23), 및 입출력 IF(24) 등의 협동에 의해, 제어부(210) 및 기억부(220)로서 기능한다.
HMD 세트(1000)(게임 플레이 단말(300))는, 플레이어의 입력 조작을 받아들이는 입력 장치로서의 기능과, 게임의 이미지나 음성을 출력하는 출력 장치로서의 기능과, 게임 진행 정보를, 서버(200)을 통해 사용자 단말(100)에 실시간으로 송신하는 기능을 갖는다. HMD 세트(1000)은, 게임 플레이 단말(300)의 프로세서(30), 메모리(31), 스토리지(32), 통신 IF(33), 입출력 IF(34), 그리고 HMD(500), HMD 센서(510), 모션 센서(520), 및 제어기(540) 등의 협동에 의해, 제어부(310) 및 기억부(320)로서 기능한다.
배포 단말(400)는, 동작 지시 데이터를 생성하여, 해당 동작 지시 데이터를, 서버(200)을 통해 사용자 단말(100)에 송신하는 기능을 가진다. 배포 단말(400)은, 프로세서(40), 메모리(41), 스토리지(42), 통신 IF(43), 입출력 IF(44), 및 터치 스크린(45) 등의 협동에 의해, 제어부(410) 및 기억부(420)로서 기능한다.
(각 장치의 기억부가 저장하는 데이터)
기억부(120)는, 게임 프로그램(131)(프로그램), 게임 정보(132), 및 사용자 정보(133)를 저장한다. 기억부(220)는, 게임 프로그램(231), 게임 정보(232), 사용자 정보(233), 및 사용자 리스트(234)를 저장한다. 기억부(320)는, 게임 프로그램(331), 게임 정보(332), 및 사용자 정보(333)를 포함한다. 기억부(420)는, 사용자 리스트(421), 모션 리스트(422), 배포 프로그램(423)(프로그램, 제2 프로그램)을 저장한다.
게임 프로그램(131, 231, 331)은, 각각, 사용자 단말(100), 서버(200), HMD 세트(1000)가 실행하는 게임 프로그램이다. 게임 프로그램(131, 231, 331)에 기초하여 각 장치가 협동하여 동작함에 의해, 본 게임이 실현된다. 또한, 게임 프로그램(131 및 331)는, 기억부(220)에 저장되고, 사용자 단말(100) 및 HMD 세트(1000)에 각각 다운로드되는 구성이어도 된다. 또한, 본 실시 형태에서는, 사용자 단말(100)은, 게임 프로그램(131)에 기반하여, 배포 단말(400)으로부터 수신한 데이터를 렌더링하여, 동영상을 재생하는 것으로 한다. 다시 말해, 게임 프로그램(131)은, 배포 단말(400)로부터 배포된 동영상 지시 데이터를 이용하여, 동영상을 재생하기 위한 프로그램이다. 해당 동영상을 재생하기 위한 프로그램은, 게임 프로그램(131)과 상이해도 된다. 이 경우, 기억부(120)는, 게임 프로그램(131)과는 별개로, 해당 동영상을 재생하기 위한 프로그램을 저장한다.
게임 정보(132, 232, 332)은, 각각, 사용자 단말(100), 서버(200), HMD 세트(1000)가 게임 프로그램을 실행할 때 참조하는 데이터이다. 사용자의 정보(133, 233, 333)은, 사용자 단말(100)의 사용자의 계정(account)에 관한 데이터이다. 게임 정보(232)는, 각 사용자 단말(100)의 게임 정보(132), 및 HMD 세트(1000)의 게임 정보(332)이다. 사용자 정보(233)은, 각 사용자 단말(100)의 사용자 정보(133), 및 사용자 정보(333)에 포함되는, 플레이어의 사용자 정보이다. 사용자 정보(333)은, 각 사용자 단말(100)의 사용자 정보(133), 및, 플레이어의 사용자 정보이다.
사용자 리스트(234) 및 사용자 리스트(421)은, 게임에 참가한 사용자의 리스트다. 사용자 리스트(234) 및 사용자 리스트(421)은, 플레이어에 의한 가장 최근의 게임 플레이에서의 참가한 사용자의 리스트 외에, 해당 게임 플레이 이전의 각 게임 플레이에서의 참가한 사용자의 리스트를 포함하고 있어도 된다. 모션 리스트(422)은, 미리 작성되어 있는 복수의 모션 데이터의 리스트다. 모션 리스트(422)는, 예를 들어, 각 모션을 식별하는 정보(예를 들어, 모션명)의 각각에, 모션 데이터가 대응된 리스트다. 배포 프로그램(423)은, 사용자 단말(100)에서 동영상을 재생하기 위한 동작 지시 데이터의, 사용자 단말(100)으로의 배포를 실현하기 위한 프로그램이다.
(서버(200)의 기능적 구성)
제어부(210)는, 기억부(220)에 저장된 게임 프로그램(231)를 실행함에 의해, 서버(200)을 통괄적으로 제어한다. 예를 들어 제어부(210)는, 사용자 단말(100), HMD 세트(1000), 및 배포 단말(400) 간의 각종 정보의 송수신을 중개한다.
제어부(210)는 게임 프로그램(231)의 기술(description)에 따라, 통신 중계부(211), 로그 생성부(212), 리스트 생성부(213)로서 기능한다. 제어부(210)는, 게임 플레이 및 동작 지시 데이터의 배포에 관련된 각종 정보의 송수신의 중개, 그리고, 게임 진행의 지원을 위해, 도시하지 않은 그 밖의 기능 블록으로서도 기능할 수가 있다.
통신 중계부(211)는, 사용자 단말(100), HMD 세트(1000), 및 배포 단말(400) 간의 각종 정보의 송수신을 중개한다. 예를 들어, 통신 중계부(211)는, HMD 세트(1000)로부터 수신한 게임 진행 정보를 사용자 단말(100)에 송신한다. 게임 진행 정보는, 플레이어에 의해 조작되는 캐릭터의 움직임, 해당 캐릭터의 파라미터, 해당 캐릭터가 소지하고 있는 아이템이나 무기, 적 캐릭터 등의 정보 등을 나타내는 데이터가 포함된다. 서버(200)는, 게임 진행 정보를, 게임에 참가하고 있는 모든 사용자의 사용자 단말(100)에 송신한다. 다시 말해, 서버(200)는, 공통의 게임 진행 정보를 게임에 참가하고 있는 모든 사용자의 사용자 단말(100)에 송신한다. 이에 따라, 게임에 참가하고 있는 모든 사용자의 사용자 단말(100) 각각에서, HMD 세트(1000)와 마찬가지로 게임이 진행한다.
또한, 예를 들어, 통신 중계부(211)는, 사용자 단말(100) 중 어느 하나로부터 수신한, 플레이어에 의한 게임의 진행을 지원하기 위한 정보를, 그 밖의 사용자 단말(100), 및 HMD 세트(1000)로 송신한다. 해당 정보는, 일레로서, 플레이어가 게임을 유리하게 진행하기 위한 아이템으로서, 플레이어(캐릭터)에 제공되는 아이템을 나타내는 아이템 정보이어도 된다. 아이템 정보는, 아이템을 제공하는 사용자를 나타내는 정보(사용자 이름, 사용자 ID 등)를 포함한다. 또한, 통신 중계부(211)는, 배포 단말(400)에서 사용자 단말(100)으로의 동작 지시 데이터의 배포를 중개해도 된다.
로그 생성부(212)는, HMD 세트(1000)으로부터 수신하는 게임 진행 정보에 기반하여, 게임 진행의 로그를 생성한다. 리스트 생성부(213)는, 게임 플레이의 종료 후에 사용자 리스트(234)을 생성한다. 상세한 내용에 대하여 후술하지만, 사용자 리스트(234)에서의 각 사용자에는, 그 사용자가 수행한 플레이어에 대한 지원의 내용을 나타내는 태그가 관련지어져 있다. 리스트 생성부(213)는, 로그 생성부(212)가 생성한 게임 진행의 로그에 기반하여, 태그를 생성하고, 해당하는 사용자에 관련시킨다. 또한, 리스트 생성부(213)는, 게임의 운영자 등이 퍼스널 컴퓨터 등의 단말 장치를 이용하여 입력한, 각 사용자가 수행한 플레이어에 대한 지원의 내용을, 태그로서, 해당하는 사용자에 관련시켜도 된다. 이에 따라, 각 사용자가 수행한 지원의 내용이 더욱 상세한 것이 된다. 또한, 사용자 단말(100)은, 사용자가 게임에 참가할 때, 사용자의 조작에 기반하여, 사용자를 나타내는 정보를 서버(200)에 송신한다. 예를 들어, 사용자 단말(100)은, 사용자가 입력한 사용자 ID를 서버(200)에 송신한다. 즉, 서버(200)는, 게임에 참가하고 있는 모든 사용자에 대해, 각 사용자를 나타내는 정보를 보유하고 있다. 리스트 생성부(213)는, 해당 정보를 이용하여, 사용자 리스트(234)를 생성하면 된다.
(HMD 세트(1000)의 기능적 구성)
제어부(310)는, 기억부(320)에 저장된 게임 프로그램(331)를 실행함에 의해, HMD 세트(1000)을 통괄적으로 제어한다. 예를 들어, 제어부(310)는, 게임 프로그램(331), 및, 플레이어의 조작에 따라, 게임을 진행시킨다. 또한, 제어부(310)는 게임을 진행시키고 있는 동안, 필요에 따라, 서버(200)와 통신하여, 정보의 송수신을 수행한다. 제어부(310)는, 정보의 송수신을, 서버(200)을 거치지 않고 사용자 단말(100)과 직접 수행할 수 있다.
제어부(310)는, 게임 프로그램(331)의 기술에 따라, 조작 접수부(311), 표시 제어부(312), UI 제어부(313), 애니메이션 생성부(314), 게임 진행부(315), 가상 공간 제어부(316) 및 반응 처리부(317)로서 기능한다. 제어부(310)는, 실행되는 게임의 성질에 따라, 해당 게임에 등장하는 캐릭터의 제어 등을 위해, 도시하지 않은 그 밖의 기능 블록으로서도 기능할 수가 있다.
조작 접수부(311)는, 플레이어의 입력 조작을 검지하고, 받아들인다. 조작 접수부(311)는, HMD(500), 모션 센서(520), 제어기(540) 등에서 입력된 신호를 받아들여, 어떠한 입력 조작이 이루어졌는지를 판별하고, 그 결과를 제어부(310)의 각 요소로 출력한다.
UI 제어부(313)은, 모니터(51), 디스플레이(530) 등에 표시시키는 사용자 인터페이스(이하, UI) 이미지를 제어한다. UI 이미지는, 플레이어가, 게임의 진행상 필요한 입력을 HMD 세트(1000)에 대해 수행하기 위한 툴(tool), 또는 게임의 진행중에 출력되는 정보를 HMD 세트(1000)로부터 얻기 위한 툴이다. UI 이미지는, 이에 한정되지는 않지만, 예를 들면, 아이콘, 버튼, 리스트, 메뉴 화면 등이다.
애니메이션 생성부(314)는, 각종 객체의 제어 태양에 기반하여, 각종 객체의 모션을 나타내는 애니메이션을 생성한다. 예를 들어, 애니메이션 생성부(314)는, 객체(예를 들어, 플레이어의 아바타 객체)가 마치 거기에 있는 것처럼 움직이거나, 입을 움직이거나, 표정을 바꾸거나 하는 모습을 표현한 애니메이션 등을 생성해도 된다.
게임 진행부(315)는, 게임 프로그램(3031), 플레이어에 의한 입력 조작, 및 해당 입력 조작에 따른 아바타 객체의 동작 등에 기반하여, 게임을 진행한다. 예를 들어, 게임 진행부(315)는, 아바타 객체가 소정의 동작을 수행한 경우에, 소정의 게임 처리를 수행한다. 또한, 예를 들어, 게임 진행부(315)는, 사용자 단말(100)에서의 사용자의 조작을 나타내는 정보를 수신하고, 해당 사용자의 조작에 기반하여 게임 처리를 수행해도 된다. 또한, 게임 진행부(315)는, 게임의 진행에 따라 게임 진행 정보를 생성하고, 서버(200)에 송신한다. 해당 게임 진행 정보는, 서버(200)을 통해 사용자 단말(100)에 송신된다. 이에 따라, HMD 세트(1000)에서의 게임의 진행이, 사용자 단말(100)에서 공유된다. 다시 말해, HMD 세트(1000)에서의 게임의 진행과, 사용자 단말(100)에서의 게임의 진행이 동기화된다.
가상 공간 제어부(316)은, 게임의 진행에 따라, 플레이어에게 제공되는 가상 공간에 관한 각종의 제어를 수행한다. 일례로서, 가상 공간 제어부(316)은, 각종 객체를 생성하고, 가상 공간에 배치한다. 또한, 가상 공간 제어부(316)은, 가상 카메라를 가상 공간에 배치한다. 또한, 가상 공간 제어부(316)은, 게임의 진행에 따라, 가상 공간에 배치한 각종 객체를 동작시킨다. 또한, 가상 공간 제어부(316)은, 게임의 진행에 따라, 가상 공간에 배치한 가상 카메라의 위치, 기울기를 제어한다.
표시 제어부(312)는, 모니터(51), 디스플레이(530)에 대하여, 상술한 각 요소에 의해 실행된 처리 결과가 반영된 게임 화면을 출력한다. 표시 제어부(312)는, 가상 공간에 배치된 가상 카메라로부터의 시야에 기반하는 이미지를, 게임 화면으로서, 모니터(51), 디스플레이(530)에 표시해도 된다. 또한, 표시 제어부(312)는, 애니메이션 생성부(314)에 의해 생성된 애니메이션을 해당 게임 화면에 포함시켜도 된다. 또한, 표시 제어부(312)는, UI 제어부(313)에 의해 제어되는 상술한 UI 이미지를, 해당 게임 화면에 중첩하여 묘화(描畵)해도 된다.
반응 처리부(317)는, 사용자 단말(100)의 사용자에 의한, 플레이어의 게임 플레이에 대한 반응에 대해 피드백을 접수하고(받아들이고), 이것을, 플레이어에 대해 출력한다. 본 실시 형태에서는, 예를 들면, 사용자 단말(100)은, 사용자의 입력 조작에 기반하여, 아바타 객체를 대상으로 하는 코멘트(메시지)를 작성할 수 있다. 반응 처리부(317)는, 해당 코멘트의 코멘트 데이터를 접수하고, 이를 출력한다. 반응 처리부(317)는, 사용자의 코멘트에 대응하는 텍스트 데이터를, 모니터(51), 디스플레이(530)에 표시해도 되고, 사용자 코멘트에 대응하는 음성 데이터를, 도시하지 않은 스피커에서 출력해도 된다. 전자의 경우, 반응 처리부(317)는, 상기 텍스트 데이터에 대응하는 이미지(즉, 코멘트의 내용을 포함하는 이미지)를, 게임 화면에 중첩하여 묘화해도 된다.
(사용자 단말(100)의 기능적 구성)
제어부(110)는, 기억부(120)에 저장된 게임 프로그램(131)를 실행함에 의해, 사용자 단말(100)을 통괄적으로 제어한다. 예를 들어, 제어부(110)는, 게임 프로그램(131), 및, 사용자의 조작에 따라, 게임을 진행시킨다. 또한, 제어부(110)는, 게임을 진행하고 있는 동안, 필요에 따라, 서버(200)와 통신하여, 정보의 송수신을 수행한다. 제어부(110)는, 정보의 송수신을, 서버(200)을 거치지 않고 HMD 세트(1000)와 직접 수행해도 된다.
제어부(110)는, 게임 프로그램(131)의 기술에 따라, 조작 접수부(111), 표시 제어부(112), UI 제어부(113), 애니메이션 생성부(114), 게임 진행부(115), 가상 공간 제어부(116), 및 동영상 재생부(117)로서 기능한다. 제어부(110)는, 실행되는 게임의 성질에 따라, 게임의 진행을 위해, 도시되지 않은 그 밖의 기능 블록으로서도 기능할 수가 있다.
조작 접수부(111)는, 입력부(151)에 대한 사용자의 입력 조작을 검지하여 받아들인다. 조작 접수부(111)는, 터치 스크린(15) 및 그 밖의 입출력 IF(14)을 통한 콘솔에 대해 사용자가 행사(exert)한 작용에서, 어떤 입력 조작이 이루어졌는지를 판별하고, 그 결과를 제어부(110)의 각 요소에 출력한다.
예를 들어, 조작 접수부(111)는, 입력부(151)에 대한 입력 조작을 받아들여, 해당 입력 조작의 입력 위치의 좌표를 검출하고, 해당 입력 조작의 종류를 특정한다. 조작 접수부(111)는, 입력 조작의 종류로서, 예를 들어 터치 조작, 슬라이드 조작, 스와이프 조작, 및 탭 조작 등을 특정한다. 또한, 조작 접수부(111)는, 연속하여 검지되고 있던 입력이 중단되면, 터치 스크린(15)에서 접촉 입력이 해제되었다는 것을 검지한다.
UI 제어부(113)은, 사용자의 입력 조작, 및 수신한 게임 진행 정보의 적어도 어느 하나에 따라, UI를 구축하기 위해 표시부(152)에 표시되는 UI 이미지를 제어한다. UI 이미지는, 사용자가, 게임의 진행상 필요한 입력을 사용자 단말(100)에 대하여 수행하기 위한 툴, 또는, 게임의 진행중에 출력되는 정보를 사용자 단말(100)로부터 얻기 위한 툴이다. UI 이미지는, 이에 한정되지는 않지만, 예를 들면, 아이콘, 버튼, 리스트, 메뉴 화면 등이다.
애니메이션 생성부(114)는, 각종 객체의 제어 태양에 기반하여, 각종 객체의 모션을 나타내는 애니메이션을 생성한다.
게임 진행부(115)는, 게임 프로그램(131), 수신한 게임 진행 정보, 및 사용자에 의한 입력 조작 등에 기반하여, 게임을 진행한다. 게임 진행부(115)는, 사용자에 의한 입력 조작에 의해, 소정의 게임 처리를 수행한 경우, 해당 게임 처리에 관한 정보를, 서버(200)을 통해 HMD 세트(1000) 로 송신한다. 이에 따라, 해당 소정의 게임 처리가, HMD 세트(1000)에서 공유된다. 다시 말해, HMD 세트(1000)에서의 게임의 진행과, 사용자 단말(100)에서의 게임의 진행이 동기화된다. 소정의 게임 처리란, 예를 들어, 아바타 객체에 아이템을 제공하는 처리이며, 이 예의 경우, 게임 처리에 관한 정보는, 상술한 아이템 정보이다.
가상 공간 제어부(116)는, 게임의 진행에 따라, 사용자에게 제공되는 가상 공간에 관한 각종 제어를 수행한다. 예를 들어, 가상 공간 제어부(116)는, 각종 객체를 생성하고, 가상 공간에 배치한다. 또한, 가상 공간 제어부(116)는, 가상 카메라를 가상 공간에 배치한다. 또한, 가상 공간 제어부(116)는, 게임의 진행, 구체적으로는, 수신한 게임 진행 정보에 따라, 가상 공간에 배치한 각종 객체를 동작시킨다. 또한, 가상 공간 제어부(316)은, 게임의 진행, 구체적으로는, 수신한 게임 진행 정보에 따라, 가상 공간에 배치한 가상 카메라의 위치, 기울기를 제어한다.
표시 제어부(112)는, 표시부(152)에 대하여, 상술한 각 요소에 의해 실행된 처리 결과가 반영된 게임 화면을 출력한다. 표시 제어부(112)는, 사용자에 제공되는 가상 공간에 배치된 가상 카메라의 시야에 기반하는 이미지를, 게임 화면으로서, 표시부(152)에 표시해도 된다. 또한, 표시 제어부(112)는, 애니메이션 생성부(114)에 의해 생성된 애니메이션을 해당 게임 화면에 포함시켜도 된다. 또한, 표시 제어부(112)는, UI 제어부(113)에 의해 제어되는 상술한 UI 이미지를, 해당 게임 화면에 중첩하여 묘화해도 된다. 어떤 경우이든, 표시부(152)에 표시되는 게임 화면은, 다른 사용자 단말(100), 및, HMD 세트(1000)에서 표시되는 게임 화면과 마찬가지의(같은 모습의) 게임 화면이다.
동영상 재생부(117)은, 배포 단말(400)에서 수신한 동작 지시 데이터를 해석(렌더링)하고, 동영상을 재생한다.
(배포 단말(400)의 기능적 구성)
제어부(410)는, 기억부(420)에 저장된 프로그램(미도시)를 실행함에 의해, 배포 단말(400)를 통괄적으로 제어한다. 예를 들어, 제어부(410)는, 해당 프로그램, 및, 배포 단말(400)의 사용자(본 실시 형태에서는 플레이어)의 조작에 따라, 동작 지시 데이터를 생성하고, 사용자 단말(100)에 배포한다. 또한, 제어부(410)는 필요에 따라, 서버(200)와 통신하여, 정보의 송수신을 수행한다. 제어부(410)는, 정보의 송수신을, 서버(200)을 거치지 않고 사용자 단말(100)과 직접 행하여도 된다.
제어부(410)는, 프로그램의 기술에 따라, 통신 제어부(411), 표시 제어부(412), 조작 접수부(413), 음성 접수부(414), 모션 특정부(415), 및 동작 지시 데이터 생성부(416)로서 기능한다. 제어부(410)는, 동작 지시 데이터의 생성 및 배포를 위해, 도시되지 않은 그 밖의 기능 블록으로서도 기능할 수 있다.
통신 제어부(411)는, 서버(200), 또는 서버(200)를 통한 사용자 단말(100)과의 정보의 송수신을 제어한다. 통신 제어부(411)는, 일례로서, 서버(200)로부터 사용자 리스트(421)를 수신한다. 또한, 통신 제어부(411)는, 일례로서, 동작 지시 데이터를 사용자 단말(100)에 송신한다.
표시 제어부(412)은, 표시부(452)에 대하여, 각 요소에 의해 실행된 처리 결과가 반영된 각종 화면을 출력한다. 또한, 표시 제어부(412)는, 일례로서, 수신한 사용자 리스트(234)을 포함하는 화면을 표시한다. 또한, 표시 제어부(412)는, 일례로서, 배포하는 동작 지시 데이터에 포함되는, 아바타 객체를 동작시키기 위한 모션 데이터를, 플레이어가 선택하도록 하기 위한 모션 리스트(422)를 포함하는 화면을 표시한다.
조작 접수부(413)은, 입력부(151)에 대한 플레이어의 입력 조작을 검지하여 받아들인다. 조작 접수부(111)는, 터치 스크린(45) 및 기타 입출력 IF(44)을 통한 콘솔에 대하여 플레이어가 행사한 작용에서, 어떠한 입력 조작이 이루어졌는지를 판별하고, 그 결과를 제어부(410)의 각 요소에 출력한다.
예를 들어, 조작 접수부(413)은, 입력부(451)에 대한 입력 조작을 받아들여, 해당 입력 조작의 입력 위치의 좌표를 검출하고, 해당 입력 조작의 종류를 특정한다. 조작 접수부(413)는, 입력 조작의 종류로서, 예를 들어 터치 조작, 슬라이드 조작, 스와이프 조작, 및 탭 조작 등을 특정한다. 또한, 조작 접수부(413)은, 연속하여 검지되고 있던 입력이 중단되면, 터치 스크린(45)으로부터 접촉 입력이 해제되었다는 것을 검지한다.
음성 접수부(414)는, 배포 단말(400)의 주위에서 발생한 음성을 받아들여, 해당 음성의 음성 데이터를 생성한다. 음성 접수부(414)은, 일례로서, 플레이어가 발화한 음성를 받아들여, 해당 음성의 음성 데이터를 생성한다.
모션 특정부(415)은, 플레이어의 입력 조작에 따라, 모션 리스트(422)에서, 플레이어가 선택한 모션 데이터를 특정한다.
동작 지시 데이터 생성부(416)는, 동작 지시 데이터를 생성한다. 일례로서, 동작 지시 데이터 생성부(416)는, 생성된 음성 데이터와, 특정된 모션 데이터를 포함하는 동작 지시 데이터를 생성한다.
또한, 도 6에 나타내는 HMD 세트(1000), 서버(200), 및 사용자 단말(100)의 기능, 그리고 도 7에 도시하는 배포 단말(400)의 기능은 일례에 불과하다. HMD 세트(1000), 서버(200), 사용자 단말(100) 및 배포 단말(400)의 각 장치는, 다른 장치가 구비하는 기능의 적어도 일부를 구비하고 있어도 된다. 또한, HMD 세트(1000), 서버(200), 사용자 단말(100), 및 배포 단말(400) 이외의 또 다른 장치를 시스템(1)의 구성 요소로 하고, 해당 다른 장치에 시스템(1)에서의 처리의 일부를 실행시켜도 된다. 즉, 본 실시 형태에서 게임 프로그램을 실행하는 컴퓨터는, HMD 세트(1000), 서버(200), 사용자 단말(100), 및 배포 단말(400), 및, 그 이외의 다른 장치 중의 어느 하나이어도 되고, 이들 복수의 장치의 조합에 의해 실현되어도 된다.
<가상 공간의 제어 처리>
도 8은, 플레이어에게 제공되는 가상 공간, 및, 사용자 단말(100)의 사용자에게 제공되는 가상 공간의 제어 처리의 흐름의 일례를 나타내는 흐름도다. 도 9는, 일 실시의 형태에 따르는, 플레이어에게 제공되는 가상 공간(600A), 및 플레이어가 눈으로 확인하는 시야 이미지를 나타내는 도면이다. 도 10은, 일 실시 형태에 따르는, 사용자 단말(100)의 사용자에게 제공되는 가상 공간(600B), 및 사용자가 눈으로 확인하는 시야 이미지를 나타내는 도면이다. 또한 이후, 가상 공간(600A 및 600B)를 구별할 필요가 없는 경우, '가상 공간(600)'이라 기재한다.
스텝 S1에서, 프로세서(30)는, 가상 공간 제어부(316)로서, 도 9에 나타내는 가상 공간(600A)를 규정한다. 프로세서(30)는, 가상 공간 데이터(미도시)를 이용하여, 가상 공간(600A)를 규정한다. 가상 공간 데이터는, 게임 플레이 단말(300)에 기억되어 있어도 되고, 프로세서(30)가, 게임 프로그램(331)에 기반하여 생성해도 되고, 프로세서(30)가, 서버(200) 등의 외부 장치로부터 취득해도 된다.
가상 공간(600)는, 일례로서, 중심으로 정의된 점의 360도 방향의 전체를 덮는 전체 천구 모양의 구조를 가진다. 도 9와 도 10에서는, 설명을 복잡하게 하지 않기 위하여, 가상 공간(600) 중에서 상반부분(top half)의 천구가 예시되어 있다.
스텝 S2에서, 프로세서(30)는, 가상 공간 제어부(316)로서, 가상 공간(600A)에, 아바타 객체(610)(캐릭터)을 배치한다. 아바타 객체(610)은, 플레이어에 관련시킨 아바타 객체이며, 플레이어의 입력 조작에 따라 동작한다.
스텝 S3에서, 프로세서(30)는, 가상 공간 제어부(316)로서, 가상 공간(600A)에, 그 밖의 객체를 배치한다. 도 9의 예에서는, 프로세서(30)는, 객체(631 ~ 634)을 배치한다. 그 밖의 객체는, 예를 들어, 게임 프로그램(331)에 따라 동작하는 캐릭터 객체(이른바 non-player character, NPC), 가상 손 등의 조작 객체, 게임의 진행에 따라 배치되는 동물, 식물, 인공물, 자연물 등을 모방한(imitating) 객체 등을 포함할 수 있다.
스텝 S4에서, 프로세서(30)는, 가상 공간 제어부(316)로서, 가상 공간(600A)에 가상 카메라(620A)를 배치한다. 프로세서(30)는, 일례로서, 가상 카메라(620A)를, 아바타 객체(610)의 머리의 위치에 배치한다.
스텝 S5에서, 프로세서(30)는, 시야 이미지(650)을 모니터(51) 및 디스플레이(530)에 표시한다. 프로세서(30)는, 가상 카메라(620A)의 초기 위치와 기울기에 따라, 가상 공간(600A)에서의 가상 카메라(620A)로부터의 시야인 시야 영역(640A)를 정의한다. 그리고, 프로세서(30)는, 시야 영역(640A)에 대응하는 시야 이미지(650)을 정의한다. 프로세서(30)는, 시야 이미지(650)을 모니터(51) 및 디스플레이(530)에 출력함에 의해, 시야 이미지(650)를 HMD(500) 및 디스플레이(530)에 표시시킨다.
도 9의 예에서, 도 9(A)에 나타낸 바와 같이, 객체(634)의 일부가 시야 영역(640A)에 포함되어 있기 때문에, 시야 이미지(650)은, 도 9(B)에 나타낸 바와 같이 객체(634)의 일부를 포함한다.
스텝 S6에서, 프로세서(30)는, 초기 배치 정보를, 서버(200)을 통해 사용자 단말(100)에 송신한다. 초기 배치 정보란, 가상 공간(600A)에서의 각종 객체의 초기의 배치 위치를 나타내는 정보이다. 도 9의 예에서, 초기 배치 정보는, 아바타 객체(610), 및 객체(631 ~ 634)의 초기의 배치 위치의 정보를 포함한다. 초기 배치 정보는, 게임 진행 정보 중의 하나라고 표현할 수도 있다.
스텝 S7에서, 프로세서(30)는, 가상 공간 제어부(316)로서, HMD(500)의 움직임에 따라 가상 카메라(620A)를 제어한다. 구체적으로는, 프로세서(30)는, HMD(500)의 움직임, 즉 플레이어의 머리의 자세에 따라, 가상 카메라(620A)의 방향 및 기울기를 제어한다. 후술하는 바와 같이, 프로세서(30)는, 플레이어가 머리를 움직이면(머리의 자세를 변경하면), 이 움직임에 맞춰서, 아바타 객체(610)의 머리를 움직인다. 프로세서(30)는, 예를 들어, 아바타 객체(610)의 시선의 방향과 가상 카메라(620A)의 시선의 방향이 일치하도록, 가상 카메라(620A)의 방향 및 기울기를 제어한다. 스텝 S8에서, 프로세서(30)는, 가상 카메라(620A)의 방향 및 기울기가 변경된 것에 따라, 시야 이미지(650)을 갱신한다.
스텝 S9에서, 프로세서(30)는, 가상 공간 제어부(316)로서, 플레이어의 움직임에 따라, 아바타 객체(610)를 움직인다. 일례로서, 프로세서(30)는, 플레이어가 현실 공간에서 이동한 것에 따라, 가상 공간(600A)에서 아바타 객체(610)를 이동시킨다. 또한, 프로세서(30)는, 플레이어가 현실 공간에서 머리를 움직인 것에 따라, 가상 공간(600A)에서 아바타 객체(610)의 머리를 움직인다.
스텝 S10에서, 프로세서(30)는, 가상 공간 제어부(316)로서, 가상 카메라(620A)를, 아바타 객체(610)에 따라가도록 이동시킨다. 즉, 가상 카메라(620A)는, 아바타 객체(610)이 이동해도, 항상 아바타 객체(610)의 머리의 위치에 있다.
프로세서(30)는, 가상 카메라(620A)의 이동에 따라, 시야 이미지(650)을 갱신한다. 즉, 프로세서(30)는, 플레이어의 머리의 자세와, 가상 공간(600A)에서의 가상 카메라(620A)의 위치에 따라, 시야 영역(640A)를 갱신한다. 그 결과, 시야 이미지(650)가 갱신된다.
스텝 S11에서, 프로세서(30)는, 아바타 객체(610)의 동작 지시 데이터를, 서버(200)을 통해 사용자 단말(100)에 송신한다. 여기에서의 동작 지시 데이터는, 가상 체험 중(예를 들어, 게임 플레이 중)에서, 플레이어의 동작을 집어넣은 모션 데이터, 플레이어가 발화한 음성 데이터, 제어기(540)에 대한 입력 조작의 내용을 나타내는 조작 데이터 중의 적어도 어느 하나를 포함한다. 플레이어가 게임을 플레이하고 있는 경우, 동작 지시 데이터는, 예를 들어, 게임 진행 정보로서 사용자 단말(100)에 송신된다.
스텝 S7 ~ S11의 처리는, 플레이어가 게임을 플레이하는 동안, 계속해서 반복하여 실행된다.
스텝 S21에서, 사용자(3)의 사용자 단말(100)의 프로세서(10)는, 가상 공간 제어부(116)로서, 도 10에 나타낸 가상 공간(600B)를 규정한다. 프로세서(10)는, 가상 공간 데이터(미도시)를 이용하여, 가상 공간(600B)를 규정한다. 가상 공간 데이터는, 사용자 단말(100)에 기억되어 있어도 되고, 프로세서(10)가, 게임 프로그램(131)에 기반하여 생성해도 되고, 프로세서(10)가, 서버(200) 등의 외부 장치로부터 취득해도 된다.
스텝 S22에서, 프로세서(10)는, 초기 배치 정보를 수신한다. 스텝 S23에서, 프로세서(10)는, 가상 공간 제어부(116)로서, 초기 배치 정보에 따라, 각종 객체를 가상 공간(600B)에 배치한다. 도 10의 예의 경우, 각 객체는, 아바타 객체(610), 및 객체(631 ~ 634)이다.
스텝 S24에서, 프로세서(10)는, 가상 공간 제어부(116)로서, 가상 공간(600B)에 가상 카메라(620B)를 배치한다. 프로세서(10)는, 일례로서, 가상 카메라(620B)를, 도 10(A)에 도시하는 위치에 배치한다.
스텝 S25에서, 프로세서(10)는, 시야 이미지(660)를 표시부(152)에 표시한다. 프로세서(10)는, 가상 카메라(620B)의 초기 위치와 기울기에 따라, 가상 공간(600B)에서의 가상 카메라(620B)로부터의 시야인 시야 영역(640B)를 정의한다. 그리고, 프로세서(10)는, 시야 영역(640B)에 대응하는 시야 이미지(660)을 정의한다. 프로세서(10)는, 시야 이미지(660)을 표시부(152)에 출력함에 의해, 시야 이미지(660)를 표시부(152)에 표시시킨다.
도 10의 예에서, 도 10(A)에 나타낸 바와 같이, 아바타 객체(610) 및 객체(631)이 시야 영역(640B)에 포함되어 있기 때문에, 시야 이미지(660)은, 도 10(B)에 나타낸 바와 같이 아바타 객체(610) 및 객체(631)를 포함한다.
스텝 S26에서, 프로세서(10)는, 동작 지시 데이터를 수신한다. 스텝 S27에서, 프로세서(10)는, 가상 공간 제어부(116)로서, 동작 지시 데이터에 따라, 가상 공간(600B)에서 아바타 객체(610)를 움직인다. 다시 말해, 프로세서(10)는, 실시간 렌더링에 의해, 아바타 객체(610)이 동작하고 있는 영상을 재생한다.
스텝 S28에서, 프로세서(10)는, 가상 공간 제어부(116)로서, 조작 접수부(111)로 접수한 사용자의 조작에 따라 가상 카메라(620B)를 제어한다. 스텝 S29에서, 프로세서(10)는, 가상 카메라(620B)의 가상 공간(600B)에서의 위치, 가상 카메라(620B)의 방향 및 기울기가 변경된 것에 따라, 시야 이미지(660)을 갱신한다. 또한, 스텝 S28에서, 프로세서(10)는, 아바타 객체(610)의 움직임, 예를 들어, 아바타 객체(610)의 이동이나, 방향의 변경에 따라 가상 카메라(620B)를 자동적으로 제어해도 된다. 예를 들어, 프로세서(10)는, 항상 아바타 객체(610)을 정면에서 촬영하도록 자동적으로 가상 카메라(620B)를 이동시키거나, 방향 및 기울기를 변경하거나 해도 된다. 또한, 일례로서, 프로세서(10)는, 아바타 객체(610)의 움직임에 따라, 항상 아바타 객체(610)를 후방에서 촬영하도록 자동적으로 가상 카메라(620B)를 이동시키거나, 방향 및 기울기를 변경하거나 해도 된다.
이와 같이, 가상 공간(600A)에서, 아바타 객체(610)는, 플레이어의 움직임에 따라 동작한다. 이 동작을 나타내는 동작 지시 데이터는, 사용자 단말(100)에 송신된다. 가상 공간(600B)에서, 아바타 객체(610)는, 수신한 동작 지시 데이터에 따라 동작한다. 이에 따라, 가상 공간(600A)와 가상 공간(600B)에서, 아바타 객체(610)는 마찬가지의(동일한 모습의) 동작을 수행한다. 다시 말해, 사용자(3)은, 사용자 단말(100)을 이용하여, 플레이어의 동작에 따른 아바타 객체(610)의 동작을 눈으로 확인할 수 있다.
<게임 개요>
도 11은, 사용자 단말(100)에서 표시되는 시야 이미지의 다른 예를 나타내는 도면이다. 구체적으로는, 플레이어가 플레이하고 있는, 시스템(1)이 실행하는 게임(본 게임)의 게임 화면의 일례를 나타내는 도면이다.
본 게임은, 일례로서, 총, 칼 등의 무기를 조작하는 아바타 객체(610)와, NPC인 복수의 적(enemy) 객체(671)를 가상 공간(600)에 등장시켜서, 아바타 객체(610)가 적 객체(671)과의 대전을 수행하도록 하는 게임이다. 아바타 객체(610)의 체력, 사용가능한 탄창(magazine)의 수, 총의 잔탄(殘彈) 수, 적 객체(671)의 남은 수 등의 각종 게임 파라미터는, 게임의 진행에 따라 갱신된다.
본 게임에는, 복수의 스테이지가 준비되어 있으며, 플레이어는, 각 스테이지에 관련되어 있는 소정의 달성 조건을 성립시킴에 의해, 해당 스테이지를 클리어할 수 있다. 소정의 달성 조건으로서는, 예를 들어, 출현하는 적 객체(671)을 모두 쓰러뜨리는 것이나, 출현하는 적 객체(671) 중에서 보스 객체를 쓰러뜨리는 것, 소정의 아이템을 획득하는 것, 소정 위치에 도달하는 것 등에 의해 성립하는 조건을 포함하는 것이어도 된다. 해당 달성 조건은, 게임 프로그램(131) 내에서 정의되어 있다. 또한, 본 게임에서는, 게임의 내용에 따라(의거하여), 달성 조건이 성립된 경우에 플레이어는 스테이지를 클리어, 다시 말해, 아바타 객체(610)의 적 객체(671)에 대한 승리(아바타 객체(610)와 적 객체(671) 간의 승패)가 결정된다. 이에 대해, 예를 들어, 시스템(1)에서 실행되는 게임이 레이스(race) 게임 등인 경우, 골(goal)에 도달한다는 조건이 성립한 경우에, 아바타 객체(610)의 순위가 결정된다.
본 게임에서는, HMD 세트(1000) 및 복수의 사용자 단말(100) 사이에서 가상 공간을 공유하기 위해, 게임 진행 정보가, 소정 시간마다 복수의 사용자 단말(100)에 라이브 배포된다. 그 결과, 게임을 시청 중인 사용자 단말(100)의 터치 스크린(15)에는, 사용자 단말(100)에 대응하는 가상 카메라(620B)에 의해 규정되는 시야 영역의 시야 이미지가 표시된다. 또한, 시야 이미지의 오른쪽 상단 및 왼쪽 상단에는, 아바타 객체(610)의 체력, 사용가능한 탄창의 수, 총의 잔탄 수, 적 객체(671)의 남은 수 등을 나타내는 파라미터 이미지가 중첩적으로 표시된다. 이 시야 이미지는, 게임 화면이라 표현하는 것도 가능하다.
게임 진행 정보는, 상술한 바와 같이, 플레이어의 동작을 포함시킨 모션 데이터, 플레이어가 발화한 음성의 음성 데이터, 제어기(540)에 대한 입력 조작의 내용을 나타내는 조작 데이터를 포함한다. 이들 데이터는 즉, 아바타 객체(610)의 위치, 자세, 방향 등을 특정하기 위한 정보, 적 객체(671)의 위치, 자세, 방향 등을 특정하는 정보, 기타 객체(예를 들어, 장애물 객체(672, 673))의 위치 등을 특정하는 정보이다. 프로세서(10)는, 게임 진행 정보를 해석(렌더링)함에 의해, 각 객체의 위치, 자세, 방향 등을 특정한다.
게임 정보(132)는, 아바타 객체(610), 적 객체(671), 장애물 객체(672,673) 등의 각종 객체의 데이터를 포함한다. 프로세서(10)는, 해당 데이터와, 게임 진행 정보의 해석 결과를 이용하여, 각 객체의 위치, 자세, 방향 등을 갱신한다. 이에 따라, 게임이 진행되고, 가상 공간(600B)에서의 각 객체는, 가상 공간(600A)에서의 각 객체와 마찬가지로(같은 모양으로) 움직인다. 구체적으로는, 가상 공간(600B)에서, 아바타 객체(610)를 포함하는 각 객체는, 사용자 단말(100)에 대한 사용자로부터의 조작의 유무에 상관없이, 게임 진행 정보에 기반하여 동작한다.
사용자 단말(100)의 터치 스크린(15)에서는, 일례로서, UI 이미지(701 및 702)가, 시야 이미지에 중첩되어 표시된다. UI 이미지(701)은, 아바타 객체(610)을 지원하기 위한 아이템 투입 조작을 사용자(3)로부터 받아들이는 UI 이미지(711)을, 터치 스크린(15)에 표시하기 위한 조작을 받아들이는 UI 이미지다. UI 이미지(702)은, 아바타 객체(610)(다시 말해, 플레이어(4))에 대한 코멘트를 입력하고, 송신하기 위한 조작을 사용자(3)으로부터 받아들이는 UI 이미지(후술)를, 터치 스크린(15)에 표시하기 위한 조작을 받아들이는 UI 이미지다. UI 이미지(701 및 702)가 받아들이는 조작은, 예를 들어, UI 이미지(701 및 702)를 탭하는 조작이어도 된다.
UI 이미지(701)이 탭되면, UI 이미지(711)이, 시야 이미지에 중첩하여 표시된다. UI 이미지(711)은, 예를 들어, 탄창의 아이콘이 그려진 UI 이미지(711A), 구급 상자 아이콘이 그려진 UI 이미지(711B), 삼각(원뿔형) 콘의 아이콘이 그려진 UI 이미지(711C), 바리케이드의 아이콘이 그려진 UI 이미지(711D)를 포함한다. 아이템 투입 조작은, 예를 들어, 어느 하나의 UI 이미지를 탭하는 조작에 상당한다.
일례로서, UI 이미지(711A)가 탭되면, 아바타 객체(610)이 사용하는 총의 잔탄 수가 증가한다. UI 이미지(711B)가 탭되면, 아바타 객체(610)의 체력이 회복한다. UI 이미지(711C 및 711D)가 탭되면, 적 객체(671)의 이동을 방해하는 장애물 객체(672, 673)가 가상 공간에 배치된다. 장애물 객체(672, 673)은, 하나가 다른 하나에 비해, 적 객체(671)의 이동을 더 방해하는 것이어도 된다.
프로세서(10)는, 아이템 투입 조작이 행해진 것을 나타내는 아이템 투입 정보를, 서버(200)에 송신한다. 아이템 투입 정보에는, 아이템 투입 조작에 의해 지정된 아이템의 종별(assortment)을 특정하기 위한 정보가 적어도 포함된다. 아이템 투입 정보에는, 아이템이 배치되는 위치를 나타내는 정보 등, 아이템에 관한 기타 정보가 포함되어 있어도 된다. 아이템 투입 정보는, 서버(200)을 통해, 다른 사용자 단말(100), 및 HMD 세트(1000)로 송신된다.
도 12은, 사용자 단말(100)에서 표시되는 시야 이미지의 다른 예를 나타내는 도면이다. 구체적으로는, 본 게임의 게임 화면의 일례를 나타내는 도면이며, 게임 플레이중인 플레이어와 사용자 단말(100)간의 커뮤니케이션에 대해 설명하기 위한 도면이다.
도 12(A)의 예에서, 사용자 단말(100)는, 아바타 객체(610)에 발화(691)을 실행시키고 있다. 구체적으로는, 사용자 단말(100)은, 게임 진행 정보에 포함되는 음성 데이터에 따라, 아바타 객체(610)에게 발화(691)을 실행시키고 있다. 발화(691)의 내용은, 플레이어4가 발화한 '총알이 없어-!'라는 것이다. 즉, 발화(691)의 내용은, 탄창이 0, 총에 장전한 총탄이 1이 된 것에 의해, 적 객체(671)을 공격하는 수단을 잃을 것 같다는 것을 각 사용자에 전달하는 것이다.
또한, 도 12(A)에서는, 아바타 객체(610)의 발화를 시각적으로 보여주기 위해 말풍선(speech bubble)을 이용하고 있지만, 실제로는, 사용자 단말(100)의 스피커에서 음성이 출력된다. 또한, 음성 출력과 더불어, 도 12(A)에 나타내는 말풍선(즉, 음성의 내용의 텍스트를 포함하는 말풍선)이 시야 이미지 중에 표시되어도 된다. 이것은, 후술하는 발화(692)에서도 마찬가지이다.
UI 이미지(702)에 대한 탭 조작을 접수하면, 사용자 단말(100)은, 도 12(B)에 나타낸 바와 같이, UI 이미지(705 및 706)(메세지 UI)를 시야 이미지에 중첩해서 표시한다. UI 이미지(705)은, 아바타 객체(610)(다시 말해, 플레이어)에 대한 코멘트를 표시하는 UI 이미지다. UI 이미지(706)은, 입력된 코멘트를 송신하기 위한 코멘트 송신 조작을 사용자 3으로부터 받아들이는 UI 이미지다.
사용자 단말(100)은, 일례로서, UI 이미지(705)에의 탭 입력을 받아들이면, 키보드를 모방한 UI 이미지(미도시, 이하, 단순히 '키보드'라고 기재)를 터치 스크린(15)에 표시시킨다. 사용자 단말(100)은, 키보드에 대한 사용자의 입력 조작에 따른 텍스트를, UI 이미지(705)에 표시시킨다. 도 12(B)의 예에서는 '탄창 보낼게'라는 텍스트가 UI 이미지(705)에 표시되어 있다.
사용자 단말(100)은, 텍스트 입력 후에, 일례로서, UI 이미지(706)에 터치 조작을 받아들이면, 입력한 내용(텍스트의 내용)을 나타내는 정보와, 사용자를 나타내는 정보를 포함하는 코멘트 정보를 서버(200)에 송신한다. 코멘트 정보는, 서버(200)을 통해, 다른 사용자 단말(100), 및 HMD 세트(1000)로 송신된다.
UI 이미지(703A)는, 코멘트를 송신한 사용자의 사용자 이름(사용자명)을 나타내는 UI 이미지이며, UI 이미지(704A)는, 해당 사용자가 송신한 코멘트의 내용을 나타내는 UI 이미지다. 도 12(B)의 예에서는, 사용자 이름이 'BBBBB'인 사용자가, 자신의 사용자 단말(100)를 이용하여, '위험해!'라는 내용의 코멘트 정보를 송신한 것에 의해, UI 이미지(703A) 및 UI 이미지(704A)가 표시되어 있다. UI 이미지(703A) 및 UI 이미지(704A)는, 본 게임에 참가하고 있는 모든 사용자 단말(100)의 터치 스크린(15), 및 HMD(500)의 모니터(51)에 표시된다. 또한, UI 이미지(703A 및 704A)는, 하나의 UI 이미지이어도 된다. 즉, 하나의 UI 이미지에 사용자 이름과 코멘트의 내용이 포함되어 있어도 된다.
도 12(C)의 예에서는, 도 12에 나타낸 사용자 단말(100)의 사용자인, 'AAAAA'라고 하는 사용자 이름의 사용자가, 상술한 대로 코멘트를 입력하여, 송신한 것에 의해, 터치 스크린(15)에 UI 이미지(703B 및 704B)가 표시되어 있다. UI 이미지(703B)에는 사용자 이름'AAAAA'가 포함되어 있으며, UI 이미지(704B)에는, 도 12(B)의 예에서 입력된 '탄창 보낼게'라는 코멘트가 포함되어 있다.
또한, 도 12(C)의 예는, 사용자'AAAAA'가 추가로, UI 이미지(701)에의 탭 조작을 입력하고, UI 이미지(711)을 터치 스크린(15)에 표시시켜, UI 이미지(711A)에의 탭 조작을 입력한 후의 시야 이미지(611)이다. 즉, 사용자'AAAAA'의 사용자 단말(100)로부터, 다른 사용자 단말(100) 및 HMD 세트(1000)에, 탄창을 나타내는 아이템 투입 정보가 송신된 결과, 사용자 단말(100) 및 HMD 세트(1000)은, 연출 객체(674)(후술)를 가상 공간(600)에 배치하고 있다. 일례로서, 사용자 단말(100) 및 HMD 세트(1000)는, 아이템 투입 정보에서 나타난 경과 시간이 경과한 후에, 연출 객체(674)에 관한 연출을 실행하고, 아이템 객체의 효과를 발동시키는 처리를 실행한다.
도 12(D)의 예에서는, 아이템 객체의 효과를 발동시키는 처리의 실행에 의해, 탄창의 수가 0에서 1로 증가해 있다. 이 결과, 플레이어는 사용자 'AAAAA'에 대하여, '고마워!'라고 발화하고, 해당 발화의 음성 데이터가, 각 사용자 단말(100)에 송신된다. 이에 의해, 각 사용자 단말(100)는, 아바타 객체(610)의 발화(692)로서, '고마워!'라는 음성을 출력한다.
이상과 같이, 본 게임에서는, 플레이어의 발화에 기반하는 아바타 객체(610)의 발화 음성의 출력과, 각 사용자에 의한 코멘트의 입력에 의해, 사용자와 아바타 객체(610)간의 커뮤니케이션이 실현된다.
(게임 플레이 단말(300)에서의 게임 진행 처리)
도 13은, 게임 플레이 단말(300)에서 실행되는 게임 진행 처리의 흐름의 일례를 나타내는 흐름도다.
스텝 S31에서, 프로세서(30)는, 게임 진행부(315)로서, 게임 프로그램(331)과 플레이어의 움직임에 기반하여 게임을 진행시킨다. 스텝 S32에서, 프로세서(30)는, 게임 진행 정보를 생성하고, 사용자 단말(100)에 배포한다. 구체적으로는, 프로세서(30)는, 생성한 게임 진행 정보를, 서버(200)을 통해, 각 사용자 단말(100)에 송신한다.
스텝 S33에서, 프로세서(30)는, 아이템 투입 정보를 수신하면(S33에서 YES), 스텝 S34에서, 아이템 투입 정보에 기반하여, 아이템 객체를 가상 공간(600A)에 배치한다. 일례로서, 프로세서(30)는, 아이템 객체의 배치 전에, 연출 객체(674)을 가상 공간(600A)에 배치한다(도 11(C) 참조). 연출 객체(674)는, 예를 들어, 선물 상자를 모방한 객체이어도 된다. 프로세서(30)는, 일례로서, 아이템 투입 정보에서 나타난 경과 시간이 경과한 후에, 연출 객체(674)에 관한 연출을 실행해도 된다. 해당 연출은, 예를 들어, 선물 상자의 뚜껑이 열리는 애니메이션이어도 된다. 프로세서(30)는, 해당 애니메이션의 실행후, 아이템 객체의 효과를 발동시키는 처리를 실행한다. 예를 들어, 도 11(D)의 예에서는, 장애물 객체(673)을 배치한다.
프로세서(30)는, 애니메이션의 실행 후, 탭 조작된 UI 이미지에 대응하는 아이템 객체를 가상 공간(600A)에 배치해도 된다. 예를 들어, UI 이미지(711A)에 대해 탭 조작이 수행되는 경우, 프로세서(30)는, 애니메이션의 실행 후, 탄창을 나타내는 탄창 객체를 가상 공간(600A)에 배치한다. 또한, UI 이미지(711B)에 대해 탭 조작이 수행되는 경우, 프로세서(30)는, 애니메이션의 실행 후, 구급 상자를 나타내는 구급 상자 객체를 가상 공간(600A)에 배치한다. 프로세서(30)는, 예를 들어, 탄창 객체 또는 구급 상자 객체의 위치로, 아바타 객체(610)가 이동한 경우, 탄창 객체 또는 구급 상자 객체의 효과를 발동시키는 처리를 실행해도 된다.
프로세서(30)는, 게임이 종료될 때까지, 스텝 S31 ~ S34의 처리를 계속하고, 반복한다. 게임이 종료한 경우, 예를 들면, 플레이어가 게임을 종료하기 위한 소정의 입력 조작을 입력한 경우(스텝 S35에서 YES), 도 13에 나타낸 처리는 종료한다.
(사용자 단말(100)에서의 게임 진행 처리)
도 14은, 사용자 단말(100)에서 실행되는 게임 진행 처리의 흐름의 일례를 나타내는 흐름도다.
스텝 S41에서, 프로세서(10)는, 게임 진행 정보를 수신한다. 스텝 S42에서, 프로세서(10)는, 게임 진행부(115)로서, 게임 진행 정보에 기반하여 게임을 진행시킨다.
스텝 S43에서, 프로세서(10)이, 사용자 3에 의한 아이템 투입 조작을 접수하면(스텝 S43에서 YES), 스텝 S44에서, 프로세서(10)는, 가상 통화를 소비하고, 연출 객체(674)을 가상 공간(600B)에 배치한다. 여기서, 가상 화폐는, 게임에 참가전, 또는 게임에 참가중에, 사용자 3가 프로세서(10)에 대하여 소정의 조작을 수행하는 것에 의하여 구입(본 게임에 대하여 과금)되는 것이어도 되고, 소정의 조건을 충족한 경우에 사용자 3에 부여되는 것이어도 된다. 소정의 조건이란, 본 게임에서의 퀘스트(quest)의 클리어 등, 본 게임에의 참가가 필요한 것이어도 되고, 앙케이트에 답하는 등, 본 게임에의 참가가 불필요한 것이어도 된다. 가상 통화의 금액(가상 통화의 소유량)은, 일례로서, 게임 정보(132)로서 사용자 단말(100)에 기억된다.
스텝 S45에서, 프로세서(10)는, 아이템 투입 정보를 서버(200)에 송신한다. 아이템 투입 정보는, 서버(200)을 통해 게임 플레이 단말(300)에 송신된다.
프로세서(10)은, 연출 객체(674)의 배치 후, 소정 시간이 경과하면, 아이템 객체를 가상 공간(600A)에 배치한다. 도 11의 예에서는, 장애물 객체(673)을 배치한다. 즉, 사용자 3가, UI 이미지(711C)에의 탭 조작을 입력하는 것에 의해, 소 정량의 가상 통화가 소비되어, 장애물 객체(673)가 배치된다.
프로세서(10)는, 게임이 종료될 때까지, 스텝 S41 ~ S45의 처리를 계속하고, 반복한다. 게임이 종료한 경우, 예를 들면, 플레이어가 게임을 종료하기 위한 소정의 입력 조작을 수행한 경우나, 사용자 3가 게임에서 중도 퇴장하기 위한 소정의 입력 조작을 행한 경우(스텝 S46에서 YES), 도 14에 나타내는 처리는 종료한다.
(서버(200)에서의 게임 진행 처리)
도 15은, 서버(200)에서 실행되는 게임 진행 처리의 흐름의 일례를 나타내는 흐름도다.
스텝 S51에서, 프로세서(20)는, 게임 진행 정보를 게임 플레이 단말(300)로부터 수신한다. 스텝 S52에서, 프로세서(20)는 로그 생성부(212)로서, 게임 진행의 로그(이하, 플레이 로그)를 갱신한다. 또한, 플레이 로그는, 일례로서, 게임 플레이 단말(300)로부터, 초기 배치 정보를 수신했을 때, 프로세서(20)가 생성한다.
스텝 S53에서, 프로세서(20)는, 수신한 게임 진행 정보를, 각 사용자 단말(100)에 송신한다.
스텝 S54에서, 아이템 투입 정보를 어느 하나의 사용자 단말(100)로부터 수신한 경우(스텝 S54에서 YES), 스텝 S55에서, 프로세서(20)는, 로그 생성부(212)로서 플레이 로그를 갱신한다. 스텝 S56에서, 프로세서(20)는, 수신한 아이템 투입 정보를 게임 플레이 단말(300)에 송신한다.
프로세서(20)는, 게임이 종료될 때까지, 스텝 S51 ~ S56의 처리를 계속하고, 반복한다. 게임이 종료한 경우, 예를 들어, 게임 플레이 단말(300)로부터, 게임이 종료했다는 것을 나타내는 정보를 수신한 경우(스텝 S57에서 YES), 스텝 S58에서, 프로세서(20)는, 리스트 생성부(213)로서, 플레이 로그로부터 게임에 참가한 사용자의 리스트(사용자 리스트(234))를 생성한다. 프로세서(20)는, 생성한 사용자 리스트(234)을 서버(200)에 기억한다.
도 16은, 사용자 리스트(234)의 일 구체적 예를 나타내는 도면이다. '사용자'의 열(column)에는, 게임에 참가한 각 사용자를 나타내는 정보(예를 들어, 사용자 이름)이 저장되어 있다. '태그'의 열에는, 각 사용자가 플레이어에 대해 수행한 지원에 기반하여 생성된 정보(태그)가 저장되어 있다. 도 16의 예에서, '태그'의 열에 저장된 태그 중에서, 키괄호「」를 갖지 않는 것은, 프로세서(20)가 자동 생성한 정보이며, 키괄호를 가지는 것은, 게임의 운영자가 수동으로 입력한 정보이다.
도 16의 예에서, 사용자'AAAAA'에는, 탄창, 10F, 보스, 「탄창의 선물에 의해 보스에게 승리」라는 정보가 대응 붙여져 있다. 이것은, 예를 들어, 10F라는 스테이지에서의 보스전에서, 사용자'AAAAA'이 탄창을 투입하고, 그 투입된 탄창의 총탄으로 아바타 객체(610)가 보스한테 승리한 것을 나타내고 있다.
또한, 사용자'BBBBB'에는, 구급 상자, 3F, 피라미, 「게임 오버 직전에 회복」이라는 정보가 대응 붙여져 있다. 이것은, 예를 들어, 3F라는 스테이지의 피라미 적과의 전투에서, 사용자'BBBBB'이 구급 상자를 투입하고, 그 결과, 아바타 객체(610)의 체력이 0이 되기(게임 오버가 되기) 직전에 체력이 회복된 것을 나타내고 있다.
또한, 사용자'CCCCC'에는, 바리케이드, 5F, 피라미, 「바리케이드로 좀비를 두 명 발묶음」이라는 정보가 대응시켜져 있다. 이것은, 예를 들어, 5F라는 스테이지의 피라미 적과의 전투에서, 사용자'CCCCC'가 바리케이드(도 11에서의 장애물 객체(672))를 투입하고, 그 결과, 두 명의 피라미 적의 발묶음(confinement)에 성공한 것을 나타내고 있다.
도 16의 예에서는, 각 사용자 3의 사용자 이름에 대하여, 수행한 지원이 하나 대응 붙여져 있지만, 지원을 복수회 수행한 사용자 3의 사용자 이름에는, 복수회의 지원 각각의 태그가 대응 붙여진다. 사용자 리스트(234)에서, 해당 각각의 태그는 구별되어 있는 것이 바람직하다. 이에 따라, 게임 종료 후에, 배포 단말(400)를 이용하여 사용자 리스트(421)를 참조하는 플레이어가, 각 지원의 내용을 정확하게 파악할 수 있다.
<동작 지시 데이터의 배포>
(배포 단말(400)에서의 배포 처리)
도 17은, 배포 단말(400)에서 실행되는 배포 처리의 흐름의 일례를 나타내는 흐름도다. 도 18는, 배포 장치(400)에 표시되는 화면의 일 구체적 예를 나타내는 도면이다. 도 19는, 배포 장치에 표시되는 화면의 다른 구체적 예를 나타내는 도면이다.
스텝 S61에서, 프로세서(40)는, 조작 접수부(413)로서, 게임에 참가한 사용자의 리스트(사용자 리스트(234))를 표시하기 위한 제1 조작을 접수한다. 도 18(A)에 나타나는 다운로드 화면(721)은, 사용자 리스트(234)을 서버(200)로부터 다운로드하고, 표시부(452)에 표시시키기 위한 화면이다. 다운로드 화면(721)은, 일례로서, 도 17에 나타내는 배포 처리를 실행하는 어플리케이션의 기동(start) 조작을, 배포 단말(400)에 입력한 직후에 표시되는 화면이다.
다운로드 화면(721)은, 일례로서, UI 이미지(722 및 723)를 포함한다. UI 이미지(722)은, 사용자 리스트(234)을 다운로드하기 위한 조작, 즉 상기 제1 조작을 접수한다. 제1 조작은, 예를 들어, UI 이미지(722)을 탭하는 조작이어도 된다. UI 이미지(723)은, 어플리케이션을 종료하기 위한 조작을 접수한다. 해당 조작은, 예를 들어, UI 이미지(723)을 탭하는 조작이어도 된다.
UI 이미지(722)에 대한 탭 조작을 받아들이면, 스텝 S62에서, 프로세서(40)는, 통신 제어부(411)로서, 사용자 리스트(234)을 서버(200)로부터 취득(수신)한다. 스텝 S63에서, 프로세서(40)는, 표시 제어부(412)로서, 사용자 리스트(234)를 표시부(452)에 표시시킨다. 구체적으로는, 프로세서(40)는, 사용자 리스트(234)에 기반하여 생성된 사용자 리스트 화면을, 표시부(452)에 표시시킨다. 사용자 리스트 화면은, 일례로서, 도 18(B)에 나타내는 사용자 리스트 화면(731)이어도 된다. 사용자 리스트 화면(731)은, 사용자 리스트(234)에서의 각 레코드(기록)에 대응하는 레코드 이미지로 이루어진다. 도 18(B)의 예에서는, 레코드 이미지로서, 레코드 이미지(732A ~ 732C)를 기재하고 있지만, 레코드 이미지의 수는 3개로 한정되지 않는다. 도 18(B)의 예에서, 사용자 리스트(234)에서의 레코드의 수는 3보다 많은(즉, 게임에 참가한 사용자의 사람 수가 3명보다 많은) 경우, 플레이어는, 예를 들어 화면을 스크롤하는 조작(예를 들어, 드래그 조작이나 플릭(flick) 조작)을 터치 스크린(45)에 입력함에 의해, 다른 레코드 이미지를 표시부(452)에 표시시키는 것이 가능하다.
일례로서, 레코드 이미지(732A ~ 732C)는, 각각, 사용자 이름(733A ~ 733C), 태그 정보(734A ~ 734C), 및 아이콘(735A ~ 735C)를 포함한다. 이후, 레코드 이미지(732A ~ 732C), 사용자 이름(733A ~ 733C), 태그 정보(734A ~ 734C), 및 아이콘 (735A ~ 735C)에 대해, 구별할 필요가 없는 경우, 각각, '레코드 이미지(732)', '사용자 이름(733)', '태그 정보(734)', '아이콘(735)'라고 기재한다.
사용자 이름(733)은, 사용자 리스트(234)에서, '사용자'의 열에 저장되어 있는, 게임에 참가한 각 사용자를 나타내는 정보이다. 태그 정보(734)는, 사용자 리스트(234)에서, 게임에 참가한 각 사용자를 나타내는 정보의 각각에 대응 붙여져 있는 태그를 나타내는 정보이다. 예를 들어, 레코드 이미지(732A)는, 사용자 이름(733A)로서, 'AAAAA'을 포함한다. 이 때문에, 레코드 이미지(732A)는, 태그 정보(734A)로서, 사용자 리스트(234)에서 'AAAAA'에 대응 붙여져 있는 "탄창, 10F, 보스, '탄창 선물에 의해 보스에게 승리' "를 포함한다. 아이콘(735)은, 예를 들어, 사용자가 사전에 설정한 이미지다.
또한, 프로세서(40)는, 수신한 사용자 리스트를 배포 단말(400)에 기억해도 된다(도 7의 사용자 리스트(421)). 다운로드 화면(721)은, 사용자 리스트(421)를 표시부(452)에 표시하기 위한 UI 이미지(미도시)를 포함하고 있어도 된다. 이 예에서, 해당 UI 이미지가 탭된 경우, 프로세서(40)는, 사용자 리스트(234)의 다운로드를 수행하지 않고, 사용자 리스트(421)을 읽어내어, 해당 사용자 리스트(421)로부터 사용자 리스트 화면을 생성하고, 표시부(452)에 표시시킨다.
스텝 S64에서, 프로세서(40)는, 조작 접수부(413)로서, 사용자 리스트 화면(731)에 포함되는 사용자 중에서 어느 하나를 선택하기 위한 제2 조작을 접수한다. 제2 조작은, 일례로서, 사용자 리스트 화면(731)에서 레코드 이미지(732)의 어느 하나를 탭하는 조작이어도 된다. 도 18(B)의 예에서는, 플레이어는, 레코드 이미지(732A)에 탭 조작을 입력하고 있다. 즉, 플레이어는, 동작 지시 데이터를 배포하는 사용자로서 사용자'AAAAA'를 선택하고 있다.
레코드 이미지(732)에 대한 탭 조작을 받아들이면, 스텝 S65에서, 프로세서(40)는, 표시 제어부(412)로서, 모션 리스트(422)를 표시부(452)에 표시시킨다. 구체적으로는, 프로세서(40)는, 모션 리스트(422)에 기반하여 생성된 모션 리스트 화면을, 표시부(452)에 표시한다. 모션 리스트 화면은, 일례로서, 도 19에 나타내는 모션 리스트 화면(741)이어도 된다. 모션 리스트 화면(741)는, 모션 리스트(422)에서의 각 레코드에 대응하는 레코드 이미지로 이루어진다. 도 19의 예에서는, 레코드 이미지로서, 레코드 이미지(742A ~ 742C)를 기재하고 있지만, 레코드 이미지의 수는 3개로 한정되지 않는다. 도 19의 예에서, 모션 리스트(422)에서의 레코드의 수가 4보다 많을 경우, 플레이어는, 예를 들어 화면을 스크롤하는 조작(예를 들어, 드래그 조작이나 플릭 조작)을 터치 스크린(45)에 입력함에 의해, 다른 레코드 이미지를 표시부(452)에 표시시키는 것이 가능하다.
일례로서, 레코드 이미지(742A ~ 742C)는, 각각, 모션 명칭(743A ~ 743C), 모션 이미지(744A ~ 744C), 및 UI 이미지(745A ~ 745C)를 포함한다. 이후, 레코드 이미지(742A ~ 742C), 모션 명칭(743A ~ 743C), 모션 이미지(744A ~ 744C), 및 UI 이미지(745A ~ 745C)에 대해, 구별할 필요가 없는 경우, 각각, '레코드 이미지(742)', '모션 명칭(743)', '모션 이미지(744)', 'UI 이미지 745'라고 기재한다.
모션 명칭(743)은, 모션 리스트(422)에 저장되어 있는 모션을 식별하는 정보이다. 모션 이미지(744)는, 모션 리스트(422)에서, 각 모션 명칭에 대응붙여져 있는 모션 데이터로부터 생성되는 이미지이다. 프로세서(40)는, 일례로서, 각 모션 데이터에서의 최초의 자세를 취하는 아바타 객체(610)의 이미지를, 모션 이미지(744)로 하여 레코드 이미지(742)에 포함시킨다. 모션 이미지(744)은, 플레이어에 의한 소정의 조작(예를 들어, 모션 이미지(744)에 대한 탭 조작)을 받아들이는 UI 이미지이어도 된다. 프로세서(40)는, 해당 소정의 조작을 받아들인 경우, 모션 데이터에 기반하여 아바타 객체(610)가 동작하는 모션 동영상을 재생해도 된다. 프로세서(40)는, 모션 동영상이 종료하면, 자동적으로 모션 리스트 화면(741)을 다시 표시해도 된다.
또한, 레코드 이미지(742)는, 모션 이미지(744) 대신에, 예를 들면, '모션 재생'이라는 텍스트를 포함하는 UI 이미지를 포함해도 된다.
스텝 S66에서, 프로세서(40)는, 조작 접수부(413)로서 모션을 선택하는 제3 조작을 받아들인다. 제3 조작은, 일례로서, UI 이미지(745)에 대한 탭 조작이어도 된다. 즉, UI 이미지(745)는, 각 레코드 이미지(742)에 대응하는 모션 데이터를 선택하는 조작을 받아들인다. 제3 조작을 받아들인 것에 의해, 프로세서(40)는, 모션 특정부(415)로서, 플레이어가 선택한 모션 데이터를 특정한다.
스텝 S67에서, 프로세서(40)는, 표시 제어부(412) 및 음성 접수부(414)으로서, 아바타 객체(610)가, 선택된 모션 데이터에 기반하여 동작하는 모션 동영상을 재생하면서, 플레이어의 음성 입력을 받아들인다.
도 20은, 플레이어 4에 의한 음성 입력의 일 구체적 예를 나타내는 도면이다. 도 20에 나타낸 바와 같이, 플레이어 4는, 모션 동영상(810A)를 재생하면서, 발화 음성(820A)를 입력하고 있다. 이 발화 음성(820A)는, 사용자 이름이 'AAAAA'인 사용자 3(이하, 사용자 3A)가 대상(수신자)인 발화 음성이다. 즉, 도 20의 예에서, 플레이어 4는, 스텝 S64에서, 사용자 3A(제1 사용자)를 선택하고, 해당 사용자 3A를 대상(수신자)로 하는 동작 지시 데이터를 작성하고 있다. 또한, 사용자 3A가 사용하는 사용자 단말(100)은, 사용자 단말(100A)인 것으로 한다.
발화 음성(820A)는, 사용자 3A를 대상으로 하는 발화 음성이기 때문에, 해당 사용자 3A가 아바타 객체(610)(다시 말해, 플레이어 4)에 대해 수행한 지원의 내용에 기반하는 발화 음성으로 되어 있다. 구체적으로는, 사용자 3A는, 10F라는 스테이지에서의 보스 전에서, 탄창을 투입하고, 그 투입된 탄창의 총탄으로 아바타 객체(610)이 보스에게 승리했다. 이 때문에, 발화 음성(820A)는, '보스전에서 탄창을 선물해줘서 고마워! 타이밍도 완벽했지! AAAAA씨 덕분에 클리어할 수 있었어!'라는 내용이다. 이처럼, 발화 음성은, 사용자 3이 게임에서 수행한 지원의 내용과, 사용자 3에 대한 감사를 포함하는 것이 바람직하다.
어떤 국면에서, 플레이어 4는, 음성 입력을 개시하기 전에, 즉, 제3 조작을 배포 단말 400에 입력하기 전에, 사용자 3을 대상(수신자)로 하는 발화 내용을 작성한다. 다른 국면에서, 사용자 3을 대상으로 하는 발화 내용은, 프로세서(40)가 자동 생성해도 된다. 또한, 프로세서(40)는, 제2 조작에 의해 선택된 사용자 3에 대응붙여진 태그를, 모션 동영상(810A)에 중첩해서 표시시켜도 된다.
프로세서(40)는, 접수한 음성을 음성 데이터로 변환한다. 스텝 S68에서, 프로세서(40)는, 동작 지시 데이터 생성부(416)로서, 해당 음성 데이터와, 선택된 모션의 모션 데이터를 포함하는 동작 지시 데이터를 생성한다.
스텝 S69에서, 프로세서(40)는, 통신 제어부(411)로서, 생성한 동작 지시 데이터를 선택된 사용자 3(도 20의 예에서는 사용자 3A)의 사용자 단말(100)(제1 컴퓨터)에 배포한다. 도 21는, 배포 장치(400)에 표시되는 화면의 또 다른 구체적 예를 나타내는 도면이다. 프로세서(40)는, 스텝 S68의 실행 후, 표시 제어부(412)로서, 배포 화면을 표시부(452)에 표시시킨다. 배포 화면은, 일례로서, 도 21(A)에 나타내는 배포 화면(751)이어도 된다. 배포 화면(751)은, UI 이미지(752), 및 모션 이미지(753A)를 포함한다. 또한, 배포 화면(751)은, 도 21(A)에 나타낸 바와 같이, 동작 지시 데이터의 배포 대상인 사용자를 나타내는 정보를 포함하는 것이어도 된다.
UI 이미지(752)은, 동작 지시 데이터를 선택된 사용자 3에 배포하기 위한 조작을 접수한다. 해당 조작은, 예를 들어, UI 이미지(752)에 대한 터치 조작이어도 된다. 모션 이미지(753A)는, 생성한 동작 지시 데이터에 기반하는 동영상, 즉 사용자 3A용으로 생성한 동작 지시 데이터에 기반하는 동영상을 재생하기 위한 조작을 접수하는 UI 이미지다. 해당 조작은, 예를 들어, 모션 이미지(753A)에 대한 탭 조작이어도 된다. 또한, 생성한 동영상을 재생하기 위한 조작을 접속하는 UI 이미지는, 모션 이미지(753A)로 한정되지 않는다. 예를 들어, '동영상 재생'이라는 텍스트를 포함하는 UI 이미지이어도 된다. 프로세서(40)는, 동영상이 종료하면, 자동적으로 배포 화면(751)을 다시 표시해도 된다.
배포 화면(751)은, 음성 입력의 접수로 되돌아가기 위한 조작을 접수하는 UI 이미지를 더 포함하는 것이 바람직하다. 해당 조작은, 예를 들면, 해당 UI 이미지에 대한 탭 조작이어도 된다. 배포 화면(751)이 해당 UI 이미지를 포함하는 것에 의해, 플레이어 4는, 예를 들면, 발화하는 내용을 틀린 경우 등, 음성 입력에 실패한 경우에, 다시 음성 입력을 수행할 수 있다. 또한, 해당 UI 이미지는, 모션 데이터의 선택으로 되돌아가기 위한 조작을 접수하는 UI 이미지이어도 된다.
UI 이미지(752)에 대한 탭 조작을 접수하면, 프로세서(40)는, 사용자 3A를 나타내는 정보와 함께, 동작 지시 데이터를 서버(200)에 송신한다. 서버(200)는, 사용자 3A를 나타내는 정보에 기반하여, 동작 지시 데이터의 송신 대상인 사용자 단말(100)을 특정하고, 해당 동작 지시 데이터를 특정한 사용자 단말(100)(즉, 사용자 단말(100A)에 송신한다.
프로세서(40)는, 동작 지시 데이터의 송신이 종료한 경우, 일례로서, 도 21(B)에 나타내는 배포 완료 화면(761)을 표시부(452)에 표시시켜도 된다. 배포 완료 화면(761)은, 일례로서, UI 이미지(762 및 763)를 포함한다. 또한, 배포 완료 화면(761)은, 도 21(B)에 나타낸 바와 같이, 동작 지시 데이터의 송신이 완료되었음을 나타내는 텍스트를 포함하는 것이어도 된다.
UI 이미지(762)은, 다른 사용자 3을 대상으로 하는 동작 지시 데이터의 작성을 개시하기 위한 조작을 접수한다. 해당 조작은, 예를 들어, UI 이미지(762)을 탭하는 조작이어도 된다. 프로세서(40)는, 해당 탭 조작을 접수하면, 사용자 리스트 화면을, 표시부(452)에 다시 표시시킨다. 즉, 해당 탭 조작을 받아들인 경우, 배포 처리는, 스텝 S63로 되돌아간다. 이 때, 프로세서(40)는, 배포 단말(400)에 기억한 사용자 리스트(421)에 기반하여, 사용자 리스트 화면을 생성하고, 표시부(452)에 표시시켜도 된다. UI 이미지(763)은, 어플리케이션을 종료하기 위한 조작을 접수한다. 해당 조작은, 예를 들어, UI 이미지(763)을 탭하는 조작이어도 된다. 해당 조작을 접수하면, 배포 처리는 종료한다.
도 20, 도 21을 참조하여 설명한 예에서는, 도 21(C)에 나타낸 바와 같이, 배포 단말(400)는, 사용자 3A(사용자 이름이 'AAAAA'인 사용자 3)를 수신자(대상)로 하는 동영상의 동작 지시 데이터를, 사용자 단말(100A)로만 송신한다.
도 22은, 플레이어 4에 의한 음성 입력의 다른 구체적 예를 나타내는 도면이다. 도 22에 나타낸 바와 같이, 플레이어 4는, 모션 동영상(810B)를 재생하면서, 발화 음성(820B)를 입력하고 있다. 이 발화 음성(820B)는, 사용자 이름이 'BBBBB'인 사용자 3(이하, 사용자 3B)을 대상으로 하는 발화 음성이다. 즉, 도 22의 예에서, 플레이어 4는, 스텝 S64에서, 사용자 3B에 대응하는 레코드 이미지(732B)에의 탭 조작을 입력하고, 사용자 3B를 대상으로 하는 동작 지시 데이터를 작성하고 있다. 또한, 사용자 3B가 사용하는 사용자 단말(100)은, 사용자 단말(100B)인 것으로 한다.
발화 음성(820B)는, 사용자 3B를 대상으로 하는 발화 음성이기 때문에, 해당 사용자 3B가 아바타 객체(610)(다시 말해, 플레이어 4)에 대하여 수행한 지원의 내용에 기반하는 발화 음성으로 되어 있다. 구체적으로는, 사용자 3B는, 3F라는 스테이지의 피라미 적과의 전투에서, 사용자'BBBBB'가 구급 상자를 투입하고, 그 결과, 아바타 객체(610)의 체력이 0이 되기(게임 오버가 되기) 직전에 체력이 회복하였다. 이 때문에, 발화 음성(820B)는 'BBBBB 씨가 선물해준 구급 상자 덕분에, 3F에서 게임 오버가 되지 않고 넘어갔어. 정말 고마워!'라는 내용이다.
도 23는, 배포 장치(400)에 표시되는 화면의 또 다른 구체적 예를 나타내는 도면이다. 도 23(A)에 나타난 송신 화면(751)은, UI 이미지(752), 및 모션 이미지(753B)를 포함한다. 모션 이미지(753B)는, 탭 조작을 접수하면, 사용자 3B용으로 생성한 동작 지시 데이터에 기반하는 동영상을 재생한다.
UI 이미지(752)에 대한 탭 조작을 접수하면, 프로세서(40)는, 사용자 3B를 나타내는 정보와 함께, 동작 지시 데이터를 서버(200)에 송신한다. 서버(200)는, 사용자 3B를 나타내는 정보에 기반하여, 동작 지시 데이터의 송신 대상인 사용자 단말(100)을 특정하고, 해당 동작 지시 데이터를 특정된 사용자 단말(100)(즉, 사용자 단말(100B))로 송신한다.
도 22, 도 23을 참조하여 설명한 예에서는, 도 23(C)에 나타낸 바와 같이, 배포 단말(400)은, 사용자 3B(사용자 이름이 'BBBBB'인 사용자 3)을 대상으로 하는 동영상의 동작 지시 데이터를, 사용자 단말(100B)에만 송신한다.
이상과 같이, 동작 지시 데이터에 포함되는 음성 데이터에 기반하는 음성의 내용은, 사용자 3이 가장 최근의 게임에의 참가에서, 플레이어 4에 대하여 수행한 지원의 내용에 기반하는 것이 된다. 해당 지원의 내용은 사용자 3마다 다르기 때문에, 음성의 내용은, 사용자 3마다 다른 내용이 된다. 즉, 게임의 종료 후, 게임에 참가한 사용자 3의 적어도 일부의 사용자 단말(100)에는, 각각 상이한 내용의 음성을 포함하는 동작 지시 데이터가 송신된다.
또한, 도 22의 예에서 아바타 객체(610)의 모션은, 도 20의 예에서의 모션과 다르다. 즉, 플레이어 4는, 사용자 3B를 대상으로 하는 동작 지시 데이터 생성에서, 사용자 3A를 대상으로 하는 동작 지시 데이터 생성할 때와 다른 모션 데이터를 선택하고 있다. 구체적으로는, 플레이어 4는, 스텝 S66에서, 레코드 이미지(742B)에 대응하는 모션 데이터를 선택하는, UI 이미지(745B)에의 탭 조작을 입력하고 있다. 이와 같이, 플레이어 4는, 동작 지시 데이터에 포함되는 모션 데이터를, 사용자 3마다 다르게 할 수 있다.
그리고, 사용자 3마다 상이한 내용의 음성 데이터와, 사용자 3마다 선택된 모션 데이터를 포함하는, 사용자 3마다의 동작 지시 데이터는, 각 사용자 3의 사용자 단말(100)에만 송신된다. 다시 말해, 사용자 단말(100)마다 유니크(一意)한 동작 지시 데이터가, 선택된 사용자 3의 사용자 단말(100)의 각각에 송신된다.
도 24은, 게임 플레이 단말(300)에서 사용자 단말(100)로의 게임 진행 정보의 송신의 개요를 나타내는 도면이다. 사용자 단말(100)에서의 동영상 재생을 위한 동작 지시 데이터가, 사용자 단말(100)마다 유니크한 한편, 도 24에 나타낸 바와 같이, 게임 실행 중에, 게임에 참가하고 있는 모든 사용자 3의 사용자 단말(100)에 송신되는 게임 진행 정보는, 각 사용자 단말(100) 사이에서 공통이다. 즉, 게임 진행 정보에 포함되는 동작 지시 데이터도 또한, 각 사용자 단말(100) 사이에서 공통이다. 이와 같이, 동영상 재생을 위한 동작 지시 데이터와, 게임을 진행시키기 위한 동작 지시 데이터는, 사용자 단말(100) 사이에서의 동의(同異) 및 송신 대상이라는 관점에서 상이한 데이터라고 할 수 있다.
(사용자 단말(100)에서의 동영상 재생 처리)
도 25은, 사용자 단말(100)에서 실행되는 동영상 재생 처리의 흐름의 일례를 나타내는 흐름도다.
스텝 S71에서, 프로세서(10)는, 동영상 재생부(117)로서, 동작 지시 데이터를 수신한다. 스텝 S72에서, 프로세서(10)는, 동영상 재생부(117)로서, 동작 지시 데이터의 수신을 사용자 3에 통지한다. 프로세서(10)는, 일례로서, 통지 이미지의 표시부(152)에의 표시, 스피커(미도시)에서의 통지 음성의 재생, LED(light-emitting diode) 등으로 구성되는 점등부(미도시)의 점등 또는 점멸 중의 적어도 어느 하나에 따라, 동작 지시 데이터의 수신을 사용자 3에 통지한다.
스텝 S73에서, 프로세서(10)는, 조작 접수부(111)로서, 동영상을 재생하기 위한 제1 재생 조작을 접수한다. 제1 재생 조작은, 일례로서, 통지 이미지를 탭하는 조작이어도 된다. 스텝 S74에서, 프로세서(10)는, 동영상 재생부(117)로서, 동작 지시 데이터를 렌더링하고, 동영상을 재생한다. 프로세서(10)는, 일례로서, 본 게임을 플레이하기 위한 어플리케이션을 기동하고, 동영상을 재생해도 되고, 상기 어플리케이션과는 다른, 동영상 재생용의 어플리케이션을 기동하고, 동영상을 재생해도 된다. 이후, 해당 동영상을, '고마워 동영상'이라고 기재한다.
도 26은, 고마워 동영상의 재생의 일 구체적 예를 나타내는 도면이다. 구체적으로는, 사용자 3A의 사용자 단말(100)에서의, 고마워 동영상의 재생의 일례를 나타내는 도면이다. 해당 사용자 단말(100)에서 재생된 고마워 동영상(910A)에서, 아바타 객체(610)는 특정(some) 모션을 실행하면서, 음성(920A)를 발화하고 있다. 다시 말해, 프로세서(10)는, 특정 모션을 실행하는 아바타 객체(610)를 포함하는 고마워 동영상(910A)를 재생하면서, 음성(920A)를 스피커(미도시)에서 출력시키고 있다.
고마워 동영상(910A)에서의 모션은, 사용자 3A를 대상으로 하는 동작 지시 데이터의 생성에서, 플레이어 4가 선택한 모션 데이터에 기반하는 것이며, 음성(920A)는, 해당 동작 지시 데이터의 생성에서, 플레이어 4가 입력한 발화 음성(820A)으로부터 생성된 음성 데이터에 기반하는 것이다. 즉, 음성 920A는, 사용자 3A가 게임에서 수행한 지원의 내용과, 해당 지원에 대한 감사를 포함하는 음성이다. 이처럼, 사용자 3A는, 제1 재생 조작의 입력에 따라, 자신이 게임에서 수행한 지원의 내용과, 해당 지원에 대한 감사를, 아바타 객체(610)가 발화하는 고마워 동영상을 시청할 수 있다.
사용자 단말(100)은, 일례로서, 고마워 동영상(910A)의 재생이 종료한 후, 적어도 하나의 UI 이미지를 터치 스크린(15)에 표시시켜도 된다. 해당 UI 이미지는, 예를 들어, 고마워 동영상(910A)를 한번 더 재생하기 위한 조작을 접수하는 UI 이미지이어도 되고, 다른 화면으로 천이(migration)하기 위한 조작을 접수하는 UI 이미지이어도 되고, 어플리케이션을 종료하기 위한 조작을 접수하는 UI 이미지이어도 된다.
또한, 사용자 단말(100)은, 일례로서, 고마워 동영상(910A)의 재생 중에, 적어도 하나의 UI 이미지를 터치 스크린(15)에 표시시켜도 된다. 해당 UI 이미지는, 예를 들어, 재생중인 고마워 동영상(910A)를 일시적으로 정지시키거나, 종료시키거나, 재생하는 장면을 변경시키거나 하는 조작을 각각 접수하는, 복수의 UI 이미지이어도 된다.
또한, 고마워 동영상(910A)의 재생 중, 및 고마워 동영상(910A)의 재생이 종료한 후에 표시되는 이들 UI 이미지에는, 아바타 객체(610)에 대한 응답을 수행하기 위한 UI 이미지는 포함되지 않는다. 즉, 본 실시 형태에 관한 고마워 동영상(910A)에서는, 아바타 객체(610)에 대한 응답(reply)을 수행하기 위한 수단이 구비되어 있지 않다.
도 27은, 고마워 동영상의 재생의 다른 구체적 예를 나타내는 도면이다. 구체적으로는, 사용자 3B의 사용자 단말(100)에서의, 고마워 동영상의 재생의 예를 나타내는 도면이다. 해당 사용자 단말(100)에서 재생된 고마워 동영상(910B)에서, 아바타 객체(610)는, 특정 모션을 실행하면서, 음성(920B)을 발화하고 있다. 다시 말해, 프로세서(10)는, 특정 모션을 실행하는 아바타 객체(610)를 포함하는 고마워 동영상(910B)를 재생하면서, 음성(920B)를 스피커(미도시)에서 출력시키고 있다.
고마워 동영상(910B)에서의 모션은, 사용자 3B를 대상으로 하는 동작 지시 데이터의 생성에서, 플레이어 4가 선택한 모션 데이터에 기반하는 것이며, 음성(920B)는, 해당 동작 지시 데이터의 생성에서, 플레이어 4가 입력한 발화 음성(820B)으로부터 생성된 음성 데이터에 기반하는 것이다. 이 때문에, 도 27의 예에서, 아바타 객체(610)이 수행하고 있는 모션은, 도 26의 예의 모션과는 다르다. 또한, 음성(920B)는, 사용자 3B가 게임에서 수행한 지원의 내용과, 해당 지원에 대한 감사를 포함하는 음성이다. 이 때문에, 도 27의 예에서, 음성(920B)의 내용은, 도 26의 예에서의 음성(920A)의 내용과는 다르다.
이처럼, 게임의 종료 후에, 게임에 참가한 사용자 3 중의 적어도 일부의 사용자 단말(100)이 수신하는 고마워 동영상은, 사용자 3마다 아바타 객체(610)의 발화 내용이 다른 동영상이다.
또한, 프로세서(10)는, 다음 번 게임에의 참가를 재촉하는 내용을 포함하는 UI 이미지(930)를, 동영상(910)에 중첩시켜 표시시켜도 된다. UI 이미지(930)은, 동작 지시 데이터와 함께 배포되어도 되고, 게임 정보(132)로서, 사용자 단말(100)이 기억하고 있어도 된다.
상기 실시 형태에서는, 수행자의 움직임에 따라 실시간으로 동작하는 아바타 객체(610)를 게임 플레이 단말(300)에 의해 규정되는 가상 공간(600A)와 같은 가상 공간(600B) 내에서 동작시켜, 가상 공간(600B)에 배치되어 있는 가상 카메라(620B)의 위치, 방향 및 경사(기울기)에 따라 시야 영역(640B)의 시야 이미지(660)를 사용자 단말(100)의 터치 스크린(15)에 표시하는 예에 대해 설명했다. 이 때, 가상 카메라(620B)의 위치, 방향 등은 사용자 단말(100)의 터치 스크린(15)에 대한 스와이프 동작에 따라 변경된다. 그러나, 가상 카메라(620B)의 위치, 방향 등의 변경이 이에 한정되는 것은 아니다.
예를 들어, 시스템(1)의 운영자 또는 수행자에 의한 도시되지 않은 스위처(switcher)의 조작에 따라 위치, 방향, 및 기울기를 변화시키는 카메라 객체(630)를 가상 공간(600A)에 배치하고(도 28(A) 참조), 해당 카메라 객체(630)의 위치, 방향 등의 변화에 따라 가상 공간(600B)에 배치되어 있는 가상 카메라(620B)의 위치, 방향 등을 변경하도록 해도 된다. 또한, 카메라 객체(630)는 수행자가 확인할 수 있도록 게임 플레이 단말(300)에 접속된 HMD(500)의 모니터(51)에만 표시된다. 그 결과, 수행자는 카메라 객체 시선으로 발화 등을 행할 수 있다.
또한, 아바타 객체(610) 등을 동작시키는 공간은, 가상 공간에 한정되지 않으며, 현실 공간이어도 된다. 현실 공간으로서는, 예를 들면, 카메라(촬상부)(17)에 의해 촬영되어 취득한 취득 이미지에 의해 특정되는 공간이어도 된다. 이 경우, 카메라(17)로부터의 취득 이미지에 대해 아바타 객체(610) 등을 배치하여 이루어지는 공간(이하, 증강 현실 공간이라고도 함)을 생성함과 함께, 해당 증강 현실 공간에 가상 카메라(620B)를 배치하고, 예를 들면 카메라(17)의 위치, 방향의 변경 등에 따라 해당 가상 카메라(620B)의 위치, 방향 등을 변경하도록 해도 된다.
게다가, 가상 카메라(620B)의 위치, 방향 등의 변경 방법은 사용자가 선택할 수 있게 해도 된다. 예를 들어, 사용자 단말(100)이 선택 가능한 시청 모드로서 복수 종류의 시청 모드를 마련하고, 사용자 단말(100)에서 TV 모드(제3 시청 모드)가 선택되어 있을 때는, 운영자 또는 수행자에 의한 스위처의 조작에 따라 위치, 방향 등이 변화하는 카메라 객체(630)에 연동시켜 가상 카메라(620B)의 위치, 방향 등을 변경하고, 사용자 단말(100)에서 통상 모드(제1 시청 모드)가 선택되어 있을 때는, 사용자에 의한 스와이프 조작에 따라 가상 카메라(620B)의 위치, 방향 등을 변경하고, AR 모드(제2 시청 모드)가 선택되어 있을 때는, 카메라(17)로부터의 취득 이미지에 대하여 아바타 객체(610) 등을 배치하여 이루어지는 공간(이하, 증강 현실 공간이라고도 함)을 생성함과 함께, 해당 증강 현실 공간에 가상 카메라(620B)를 배치하고, 카메라(17)의 위치, 방향 등의 변경에 따라 해당 가상 카메라(620B)의 위치, 방향 등을 변경하도록 해도 된다. 이에 의해, 터치 스크린(15)에 표시되는 이미지의 시점을 사용자의 취향에 맞춰서 변경할 수가 있다.
이하에 있어서는, 아바타 객체(610) 등이 가상 공간(600B) 또는 증강 현실 공간 내에서 동작하고, 가상 카메라(620B)의 위치, 방향 등이 변경되는 예에 대하여, 시청 모드마다 설명한다. 구체적으로는, 도 28 내지 도 32를 참조하여, 사용자가 가상 공간(600B) 또는 증강 현실 공간 내에서 라이브로 동작하는 아바타 객체(610)와 가위바위보에 의해 대결하는 게임(이하, 가위바위보 게임이라고도 함)을 행하는 예에 대하여 설명한다.
(통상 모드 및 TV 모드)
도 28(A)는, 가위바위보 게임의 진행시에, 게임 플레이 단말(300) 측에서 규정되는 가상 공간(600A)을 모식적으로 설명하기 위한 도면이다. 도 28(A)에서는, 가상 공간(600A) 내에 있어서 아바타 객체(610)와, 선택지(選擇肢, choices) 객체(281 ~ 283)과, 화환을 상기시키는 화환 객체(284)가 배치되어 있다. 아바타 객체(610)은, 라이브로 수행하고 있는 플레이어(수행자)의 모션에 따라 움직이고, 해당 수행자에 의한 음성을 발화한다. 아바타 객체(610)의 머리(頭部)의 위치에는, 가상 카메라(620A)가 배치되어 있다. 또한, 가상 공간(600A)에는, 도시하고 있지 않지만, 그 밖의 객체로서, 아바타 객체(610)의 주위를 장식하는 객체나, 시청자에 대응하는 시청자 객체, 배경 객체, 바닥(floor) 객체 등이 배치되어 있다.
또한, 선택지 객체(281 ~ 283)는 각각, 막대부와, 끝단의 원판부로 구성되어 있다. 원판부의 면에는, 묵·찌·빠를 나타내는 일러스트가 그려져 있다. 선택지 객체(281 ~ 283)은, 각각, 플레이어에 의한 잡는(grab) 모션에 따라, 막대부를 잡을 수 있다. 플레이어에 의해 선택지 객체(281 ~ 283) 등을 잡는 조작(모션)은, 플레이어의 손에 부착되어 해당 손의 움직임(손의 동작(예를 들어, 각 손가락의 위치, 움켜짐(grip)의 형상·방향 등)를 검출하는 모션 센서(520)가 설치되는 제어기(540)에 의해 검지된다. 플레이어는, 선택지 객체(281 ~ 283) 중에서, 최종적으로 내는 손(묵·찌·빠)에 대응하는 선택지 객체를 잡고 상방으로 올리는(raise) 것에 의해, 아바타 객체(610)가 내는 손이 확정되게 된다.
게임 플레이 단말(300)은, 가상 공간(600A) 내에 배치되어 있는 객체 중에서, 적어도 아바타 객체(610) 및 선택지 객체(281 ~ 283)의 위치, 자세, 방향 등을 특정하기 위한 정보(표시용 데이터)나 음성 데이터(이들을 모아서 동작 지시 데이터라고도 함) 등을 포함하는 게임 진행 정보를, 소정 시간마다 복수의 사용자 단말(100)을 향해 라이브 배포한다. 복수의 사용자 단말(100)를 향해 배포되는 게임 진행 정보는, 복수의 사용자 단말(100) 사이에서 공통의 정보이다. 이것에 의해, 게임 플레이 단말(300) 및 복수의 사용자 단말(100) 각각의 사이에서, 적어도 아바타 객체(610) 및 선택지 객체(281 ~ 283)의 동작 등을 공유(동기화)할 수 있다. 게임 플레이 단말(300) 및 복수의 사용자 단말(100) 사이에서 공유하는 객체는, 가상 공간(600A)내에 배치되어 있는 객체 중에서, 적어도 수행자에 의해 라이브로 수행될 수 있는 아바타 객체(610)를 포함하는 것이면, 아바타 객체(610)만이어도 되고, 또한, 아바타 객체(610)나 선택지 객체(281 ~ 283) 이외의 다른 객체를 포함하는 것이어도 된다. 또한, 게임 플레이 단말(300)로부터 복수의 사용자 단말(100)를 향해 배포되는 데이터에는, 게임 진행 정보뿐만 아니라, 초기 배치 정보나, 게임 정보(132), 아바타 객체(610)가 내는 손으로서 확정된 선택지 객체의 종류(묵, 찌, 빠)를 특정하기 위한 정보 등이 포함된다. 또한, 해당 데이터에는, 카메라 객체(630)의 위치, 방향, 기울기, 즉 시점(視点)을 특정할 수 있는 시점 정보가 포함된다.
사용자 단말(100)에 있어서 규정된 가상 공간(600B)에는 가상 카메라(620B)가 배치된다. 카메라 객체(630)의 시점(視点)은, 운영자 등에 의한 스위처의 조작에 따라 변화하고, TV 모드가 선택되어 있는 사용자 단말(100)에서는, 해당 카메라 객체(630)의 시점 정보에 기초하여 가상 카메라(620B)의 위치, 방향, 기울기가 변경된다.
카메라 객체(630)는 HDM(500)의 모니터(51)에 표시되기 때문에, 수행자는 카메라 객체(630)에 시선을 맞추는 것이 가능해진다. TV 모드가 선택되어 있을 때, 가상 카메라(620B)는 아바타 객체(610)를 정면에서 시인(視認, 눈으로 확인)하기 쉬운 위치에 자동으로 배치 가능하게 되고, 표시부(152)에 표시되는 영상은 아바타 객체(610)를 정면에서 본 영상이 되기 쉬워진다.
통상 모드가 선택되어 있는 사용자 단말기(100)에서, 가상 카메라(620B)의 위치, 방향 등은, 해당 시점 정보가 아니라, 사용자에 의한 예를 들어 스와이프 조작에 따라 변화한다. 이에 의해, 가상 공간(600B)에 배치되어 있는 객체를 사용자가 원하는 시점에서 시인하는 것이 가능해진다.
(AR 모드)
도 28(B)는, AR 모드가 선택되어 있는 사용자 단말(100)측에서 규정되고, 취득 이미지에 중첩시키는 증강 현실용의 가상 공간(600C)(이하, AR용 가상 공간(600C)이라고도 함)을 모식적으로 설명하기 위한 도면이다. 도 28(B)의 예에서는, 가상 공간(600A)에 배치되어 있는 객체 중, 아바타 객체(610) 및 선택지 객체(281~283)만이 배치되어 있다.
해당 사용자 단말(100)에 있어서는, 카메라(17)에 의해 촬영되어 취득한 취득 이미지를 해석함으로써, 바닥면 등의 평면부가 특정된다. AR용 가상 공간(600C) 내의 시야 이미지는, 해당 평면부의 소정 위치(예를 들면, 평면부의 중심 위치)에 배치된다. 가상 카메라(620B)는, 취득 이미지를 촬영했을 때의 카메라(17)의 촬영 방향과 같은 방향에서 AR용 가상 공간(600C)을 보는 위치에 배치된다. 그 결과, 카메라(17)로부터의 취득 이미지에 대하여 가상 카메라(620B)로부터의 시야 이미지(640C)을 중첩시켜 이루어지는 증강 현실 공간 내의 이미지가 표시부(152)에 표시된다. 가상 카메라(620B)의 위치, 방향 등은 카메라(17)의 위치, 방향 등의 변경에 따라 변경된다. 취득 이미지는, 카메라(17)의 위치, 방향 등의 변경에 따라 변화하고, 시야 이미지(640C)은 카메라(17)의 위치, 방향 등과 연동하는 가상 카메라(620B)의 위치, 방향 등의 변화에 따라 변화한다.
AR 모드가 선택되어 있는 사용자 단말(100)에 있어서는, 카메라(17)로부터 취득한 취득 이미지에 대하여 아바타 객체(610)를 포함하는 객체를 배치시켜서 이루어지는 증강 현실 공간 내에 있어서, 아바타 객체(610) 등이 동작한다. 이에 의해, 사용자의 눈앞의 현실 공간에 있어서 아바타 객체(610) 등이 실제로 동작하고 있는 것 같은 인상(임장감)을 사용자에게 안겨줄 수 있다.
(플로우 차트(흐름도))
도 29는 터치 스크린(15)에 대한 입력 조작 등에 기초하여 시청 모드가 전환된 경우의 사용자 단말(100)의 처리의 흐름의 일례를 나타내는 흐름도이다. 또한, 시청 모드의 전환에는, AR 모드의 리셋(재기동)도 포함된다.
스텝 S81에 있어서, 사용자 단말(100)의 프로세서(10)는, 시청 모드가 TV 모드 또는 통상 모드로 전환되었는지 여부를 터치 스크린(15)에 대한 입력 동작에 기초하여 판정한다. TV 모드 또는 통상 모드로 전환되었다고 판정된 경우에는 스텝 S82로 진행하고, TV 모드 또는 통상 모드로 전환되었다고 판정되지 않았을 때, 즉 AR 모드로 전환었다고 판정되거나 또는 AR 모드가 리셋되었다고 판정된 때는, 스텝 S88로 진행한다.
스텝 S82에 있어서, 프로세서(10)는, 도 28(A)에 도시된 가상 공간(600A)과 같은 가상 공간(600B)을 규정한다. 스텝 S83에 있어서, 프로세서(10)는 가상 공간(600A)에 배치되어 있는 각종 객체와 같은 객체를 가상 공간(600B)에 배치한다. 이 때, 해당 객체는 가상 공간(600A)에 배치되어 있는 각종 객체와 같은 위치 관계가 되도록 배치한다.
스텝 S84에 있어서, 프로세서(10)는, 시청 모드가 TV 모드로 전환되었는지 여부를 판정한다. TV 모드로 전환되었다고 판정되었을 때는, 스텝 S85로 진행하고, 시스템(1)의 운영자 등에 의한 스위처의 조작에 따라 서버(200)로부터 송신되는 시점 정보에 기초하여, 가상 카메라(620B)를 가상 공간(600B)에 배치한다. 그 결과, 가상 카메라(620B)의 위치, 방향 등은 카메라 객체(630)의 위치, 방향 등과 일치한다.
스텝 S84에 있어서 TV 모드로 전환되었다고 판정되지 않았을 때는, 프로세서(10)는, 통상 모드로 전환된 것으로 간주하고, 스텝 S86으로 진행한다. 스텝 S86에 있어서, 프로세서(10)는, 시청 모드가 전환되기 전에 가상 카메라(620B)가 배치되어 있던 위치에 대응하는 위치에, 가상 카메라(620B)를 배치한다. 구체적으로는, 전환 전의 시청 모드가 TV 모드이면, 가상 공간(600B)에서의 가상 카메라(620B)의 배치를 유지한다. 한편, 전환 전의 시청 모드가 AR 모드이면, AR용 가상 공간(600C)에 있어서 가상 카메라(620B)가 배치되어 있던 위치를 특정하고, 가상 공간(600B) 중 해당 특정한 위치와 같은 위치에 가상 카메라(620B)를 배치한다. 이에 따라, 통상 모드로 전환했을 때는, 전환 전의 시점이 유지 가능해진다.
스텝 S87에 있어서, 프로세서(10)는, 시야 이미지(660)을 표시부(152)에 표시한다. 프로세서(10)는, 가상 카메라(620B)의 위치 및 기울기에 따라, 가상 공간(600B)에서 가상 카메라(620B)로부터의 시야인 시야 영역(640B)을 정의한다. 그리고, 프로세서(10)는 시야 영역(640B)에 대응하는 시야 이미지(660)를 정의한다. 프로세서(10)는, 시야 이미지(660)을 표시부(152)에 출력함으로써, 시야 이미지(660)을 표시부(152)에 표시시킨다. 스텝 S87의 처리가 완료하면, 리턴한다.
이에 대하여 AR 모드로 전환된 경우, 스텝 S88에 있어서, 프로세서(10)는, 이미지 인식이나 공간 인식에 관한 기술을 이용하여, 카메라(17)에 의해 촬영되어 취득한 취득 이미지를 해석한다. 이에 의해, 예를 들면, 취득 이미지로부터 3차원 공간이 특정됨과 함께, 평면부(예를 들면, 수평부, 구체적으로는 바닥면) 및 해당 평면부의 크기(넓이) 등이 특정된다.
다음으로, 스텝 S89에 있어서, 프로세서(10)는, 특정한 평면부에 기초하여, AR용 가상 공간(600C) 내의 시야 이미지를 취득 이미지 상에 배치(중첩)하는 배치 위치를 설정한다. 프로세서(10)는, 평면부의 소정 위치(예를 들면, 평면부의 중심 위치)를, AR용 가상 공간(600C) 내의 시야 이미지를 배치하는 위치로서 설정한다. 이에 의해, 시야 이미지의 배치 위치가 평면부의 소정 위치에 연관된다.
스텝 S90에 있어서, 프로세서(10)는, 도 28(B)에 도시된 AR용 가상 공간(600C)을 규정한다. 스텝 S91에 있어서, 프로세서(10)는, 가상 공간(600A)에 배치되어 있는 각종 객체 중 일부의 객체를 AR용 가상 공간(600C)에 배치한다. 도 28(B)의 경우, 해당 일부의 객체는 아바타 객체(610) 및 선택지 객체(281~283)이다. 도 28(B)에서는, 아바타 객체(610) 및 선택지 객체(281~283)가 도 28(A)와 같은 위치 관계가 되도록 배치되어 있다.
스텝 S92에 있어서, 프로세서(10)는, 예를 들면, 취득 이미지를 촬영했을 때의 카메라(17)의 촬영 방향(방향, 기울기 등)을 특정하고, 해당 촬영 방향과 같은 방향으로부터 AR용 가상 공간(600C)을 보는 위치에 가상 카메라(620B)를 배치한다. 구체적으로, 촬영 방향이 대략 수평 방향인 경우에는 AR용 가상 공간(600C)을 수평 방향에서 보는 위치(예를 들어, 도 33(A))에 가상 카메라(620B)를 배치하고, 촬영 방향이 비스듬히 위쪽에서 내려다보는 방향인 경우에는 AR용 가상 공간(600C)을 비스듬히 위쪽에서 내려다보는 위치에 가상 카메라(620B)를 배치한다.
이와 같이, AR 모드로 전환된 때는, 가상 카메라(620B)의 위치는 모드 전환 전의 위치와 다르게 될 수 있다. 그 결과, AR 모드에서의 시야 이미지도, TV 모드 또는 통상 모드에서의 시야 이미지와 다르게 될 수 있다. 그 결과, AR 모드에서의 시야 이미지를, TV 모드 또는 통상 모드에 비해 눈에 띄도록 하는 것이 가능해진다.
스텝 S93에 있어서, 프로세서(10)는, 카메라(17)로부터의 취득 이미지에 대하여 가상 카메라(620B)로부터의 시야 이미지(640C)을 중첩시켜 이루어지는 증강 현실 공간 내의 이미지를 표시부(152)에 표시시킨다. 이 때, 프로세서(10)는, 시야 이미지(640C)를, 스텝 S89에서 설정된 취득 이미지상의 소정 위치에서, 스텝 S88에 의해 특정된 평면부의 크기에 대응하는 표시 사이즈로 중첩시켜서 증강 현실 공간 내의 이미지를 생성하고 표시한다. 스텝 S93의 처리가 완료하면, 리턴한다.
도 30은, 시청 모드가 전환된 후의 사용자 단말(100)의 처리의 흐름의 일례를 도시하는 흐름도이다. 해당 처리는 동작 지시 데이터를 수신할 때마다나 소정 시간마다 등에 실행된다.
스텝 S101에 있어서, 프로세서(10)는 동작 지시 데이터를 수신한다. 스텝 S102에 있어서, 프로세서(10)는, 해당 동작 지시 데이터에 따라 가상 공간(600B) 또는 증강 현실 공간에서 아바타 객체(610) 등을 이동시킨다. 다시 말해서, 프로세서(10)는, 실시간 렌더링을 통해 아바타 객체(610) 등이 해당 가상 공간(600B) 또는 증강 현실 공간 내에서 동작하고 있는 영상을 재생한다.
스텝 S103에 있어서, 프로세서(10)는, 스텝 S81의 처리 결과에 기초하여 TV 모드가 선택되어 있는지 여부를 판정한다. 해당 TV 모드가 선택되어 있다고 판정된 때는, 스텝 S104로 진행하여 시스템(1)의 운영자 등에 의한 스위처의 조작에 따라 서버(200)로부터 송신되는 시점 정보에 기초하여 가상 카메라(620B)를 제어한다. 스텝 S103에 있어서 TV 모드가 선택되어 있다고 판정되지 않은 경우, 프로세서(10)는, 스텝 S106으로 진행하여, 스텝 S81의 처리 결과에 기초하여 통상 모드가 선택되어 있는지 여부를 판정한다. 해당 통상 모드가 선택되어 있다고 판정된 때는, 스텝 S107로 진행하여 사용자의 스와이프 조작에 따라 가상 카메라(620B)를 제어한다. 이에 따라, 사용자가 원하는 시점(예를 들어, 아바타 객체(610)의 옆얼굴을 포착하는 시점)에서 촬영되도록 가상 카메라(620B)의 위치, 방향 등이 변경된다.
스텝 S104 또는 S107의 처리가 완료되면, 스텝 S105로 진행한다. 스텝 S105에 있어서, 프로세서(10)는, 가상 카메라(620B)의 위치, 방향 등이 변경된 것에 따라 시야 이미지(660)을 갱신한다. 이에 의해, 게임 플레이 단말(300) 측에서의 가상 공간(600A) 내에서의 아바타 객체(610) 및 선택지 객체(281~283) 각각의 동작과, 사용자 단말(100) 측에서의 가상 공간(600B) 내에서의 아바타 객체(610) 및 선택지 객체(281~283) 각각의 동작을 동기화시킬 수가 있다. 스텝 S105의 처리가 완료되면, 리턴한다.
스텝 S106에 있어서, TV 모드가 선택되어 있다고 판정되지 않은 경우, 프로세서(10)는, AR 모드가 선택되었다고 간주하고, 스텝 S108로 진행한다. 스텝 S108에 있어서, 프로세서(10)는, 카메라(17)의 위치, 방향 및 기울기 등의 변화에 동기화시켜서 가상 카메라(620B)를 제어한다.
스텝 S109에 있어서, 프로세서(10)는, 취득 이미지 및 시야 이미지를 갱신한다. 이에 의해, 카메라(17)의 위치 등의 변화에 따라 취득 이미지가 변화함과 더불어, 가상 카메라(620B)의 위치 등의 변화에 따라 시야 이미지가 변화한다. 그 결과, 예를 들면, 아바타 객체(610)의 좌측면을 촬영하는 것처럼 카메라(17)를 좌측으로 선회시킨 때에는, 카메라(17)에 의해 촬영되어 취득되는 취득 이미지에 대하여, 아바타 객체(610) 등을 좌측면에서 본 시야 이미지로 갱신된다. 스텝 S105의 처리가 완료하면, 리턴한다.
(표시예)
도 31 ~ 도 33은 가위바위보 게임 진행중의 사용자 단말(100)의 표시부(152)의 표시예를 나타내는 도면이다. 도 31 ~ 도 33은 같은 동작 지시 데이터를 수신하고 있을 때의 표시예를 나타내고 있다. 구체적으로는, 도 31은 통상 모드가 설정되어 있을 때의 표시예를 나타내고, 도 32는 TV 모드가 설정되어 있을 때의 표시예를 나타내고, 도 33은 AR 모드가 설정되어 있을 때의 표시예를 나타내고 있다.
(통상 모드에서의 표시예)
통상 모드에서, 프로세서(10)는, 게임 플레이 단말(300)에 있어서의 가상 공간(600A)과 동기화하는 가상 공간(600B)을 규정하고, 아바타 객체(610), 선택지 객체(281~283), 화환 객체(284), 시청자 객체, 배경 객체 등의 객체를 해당 가상 공간(600B) 내에 배치한다. 또한, 프로세서(10)는, 해당 가상 공간(600B) 내에 있어서 게임 진행 정보에 기초하여 아바타 객체(610) 등을 동작시켜서, 가상 카메라(620B)로부터의 시야 이미지를 표시부(152)에 표시한다. 이를 위해, 표시부(152)에는 아바타 객체(610)의 배후에 화환 객체(284)가 표시됨과 함께, 바닥 객체나 배경 객체가 표시된다.
도 31(A)에서의 아바타 객체(610)는, 예를 들면 '무엇을 낼까~, 어느 것으로 할까~' 등 궁리(고민)하고 있는 모습(모션)과 함께 음성이 출력되고 있는 듯한 장면을 나타내고 있다. 또한, 가위바위보 게임 진행 중에는 각종 UI나 게임 정보 등이 표시부(152)에 표시된다. 도 31(A)에 있어서는, 예를 들면, 선택용 UI(180), 룰 설명 표시(181), 아이템 투입용 아이콘(185), 코멘트 입력용 아이콘(186) 등이 가상 공간(600B) 내의 이미지에 중첩시켜 표시된다. 또한, 표시부(152)의 왼쪽 아래에는, 아바타 객체(610)를 대상으로 입력된 코멘트 내용을 표시하기 위한 코멘트 표시부(184)가 마련되어 있다.
룰 설명 표시(181)는 가위바위보 게임에 대한 룰을 설명하기 위한 이미지다. 도 31(A)에서는, 예를 들어, '·다합쳐서 3판!', '·제한 시간 내에 버튼을 누르자!', '승리 50P', '비김 10P', '패배 0P'라는 메세지 등이 표시되어 있다.
선택용 UI(180)은, 사용자가 내는 손을 선택하기 위한 버튼 아이콘을 포함하고, 해당 버튼 아이콘에의 입력 조작(탭 조작)를 받아들이기 위한 UI이다. 이를 위해, 도 31(A)에 나타내듯이, 선택용 UI(180)는, 아바타 객체(610)나, 코멘트 표시부(184), 아이템 투입용 아이콘(185), 코멘트 입력용 아이콘(186) 등보다도 우선적으로 표시된다. 도 31(A)에서는 '내는 손을 선택하자!'라는 메시지가 표시되는 것과 더불어, 그 아래 방향에서 왼쪽부터 묵에 대응하는 버튼 아이콘, 찌에 대응하는 버튼 아이콘, 빠에 대응하는 버튼 아이콘이 표시되어 있다. 이에 따라, 사용자는, 직관적으로 버튼 아이콘에 대한 터치 조작에 의해 내는 손을 선택할 수 있음을 인식 가능해진다. 또한, '내는 손을 선택하자!'의 메시지의 좌측에는, 내는 손을 선택할 수 있는 제한 시간(여기에서는 '10')이 표시되고, 해당 메시지의 우측에는, 해당 선택용 UI(180) 자체의 표시를 삭제하기 위한 'x'버튼이 표시되어 있다.
사용자는, 내는 손의 선택을 마치지 않았어도, 'x'버튼을 선택함에 의해 선택용 UI(180)을 삭제할 수 있다. 이것은, 선택용 UI(180)이 표시되어 있으면, 선택용 UI(180)에서 아바타 객체(610)(캐릭터)나, 코멘트 표시부(184), 아이템 투입용 아이콘(185)이 숨겨져 버려서, 사용자로부터 아바타 객체(610) 등의 이미지가 보이기 어려워지기 때문이다. 또한, 선택용 UI(180)을 삭제한 결과, 사용자가 제한 시간 내에 내는 손을 선택하지 않은 경우, 사용자의 내는 손은 자동적으로 결정되면 된다. 또한, 선택용 UI(180)을 삭제한 상태에서는, 다시 선택용 UI(180)를 표시하기 위한 아이콘('게임으로 돌아간다'라는 메시지 아이콘 등)을 표시하고, 해당 아이콘에 대한 입력 조작에 의해 선택용 UI(180)가 다시 표시되도록 해도 되고, 수행자의 지시에 의해 선택용 UI(180)가 다시 표시되도록 해도 되고, 어떠한 조건의 성립(예를 들면, 제한 시간이 특정값이 되는 것)에 의해, 선택용 UI(180)가 다시 표시되도록 해도 된다.
아이템 투입용 아이콘(185)은, 아이템을 투입하여 아바타 객체(610)에 부여하는 계기가 되는 아이콘이다. 아이템 투입용 아이콘(185)에 대한 입력 조작이 받아들여진 때에는, 복수 종류의 아이템으로부터 선택하여 투입하기 위한 윈도우가 표시된다. 전술한 바와 같이 선택용 UI(180)은, 아이템 투입용 아이콘(185)보다도 우선적으로 표시된다. 이 때문에, 선택용 UI(180)이 아이템 투입용 아이콘(185)에 중첩하여 표시되어 있는 경우에는, 해당 선택용 UI(180)의 표시를 지우지 않으면, 아이템 투입용 아이콘(185)에 대한 입력 조작을 유효하게 받아들이지 않도록 해도 된다.
코멘트 입력용 아이콘(186)은, 아바타 객체(610)를 대상으로 코멘트를 입력하는 계기(기회)가 되는 아이콘이다. 코멘트 입력용 아이콘(186)에 대한 입력 조작이 받아들여진 경우에는, 코멘트를 입력하여 송신하기 위한 윈도우가 표시된다. 또한, 코멘트 입력용 아이콘(186)에 대해서는, 선택용 UI(180)가 중첩하여 표시될 일이 없는 위치에 표시되어 있지만, 아이템 투입용 아이콘(185)과 마찬가지로, 선택용 UI(180)의 표시를 지우지 않으면, 코멘트 입력용 아이콘(186)에 대한 입력 조작을 유효하게 받아들이지 않도록 해도 된다. 코멘트 표시부(184)에서는, 아바타 객체(610)를 대상으로 입력된 코멘트 중 새로운 것부터 차례로 소정 개수분의 코멘트가 사용자 이름과 함께 표시된다.
도 31(B)는, 사용자가 내는 손을 선택했을 때의 표시예이다. 도 31(B)에서는, '묵'이 선택된 예를 보여준다. '묵'가 선택되면, 도 31(B)에 도시된 바와 같이, 선택용 UI(180) 내의 '묵' 버튼 아이콘이 선택된 상태(이중 동그라미로 둘러싸인 상태)로 갱신된다. 또한, 도 31(B)에서는, 제한 시간이 '7'로 되어 있기 때문에, 사용자는 나머지 7초를 남기고 내는 손을 결정한 것이 된다. 이에 대하여, 도 31(B)에서의 아바타 객체(610)에 대해서는, 선택지 객체(281 ~ 283)을 잡고(grab), '어느 것으로 할까~, 찌나 빠로 할까~' 등으로 고민하고 있는 모습(모션)과 함께 음성이 출력되고 있는 장면이 나타나 있다. 아바타 객체(610)는, 제한 시간이 경과한 후에, 수행자의 타이밍으로 '가위바위보'라는 구호와 함께, 선택지 객체(281 ~ 283) 중 어느 하나를 상방으로 올린다.
도 31(C)는, 제한 시간 경과 후에 있어서 아바타 객체(610)가 손을 냈을 때의 표시예이다. 도 31(C)에서는, 아바타 객체(610)에 의해 '찌'의 선택지 객체(282)가 올라가(들려져) 있다. 이에 따라, 아바타 객체(610)가 '찌'를 낸 것이 통지된다. 아바타 객체(610)이 손을 낸 때에는, 아바타 객체(610)가 내는 손으로서 확정된 선택지 객체의 종류(묵, 찌, 빠)를 특정하기 위한 정보를 수신한다. 프로세서(10)는, 해당 정보에 기반하여, 사용자가 낸 손과 비교하여 사용자의 승패를 판정한다. 도 31에서는, 사용자 A가 '묵'을 선택하고 있었기 때문에, 사용자 A의 승리로 판정된다. 그 결과, 아바타 객체(610)의 위쪽에서 '승리'라는 메시지가 표시된다.
통상 모드에서, 가상 카메라(620B)의 위치, 방향 등은 사용자에 의한 스와이프 조작에 따라 제어된다. 따라서, 좌측 방향으로 스와이프 조작이 수행된 때는, 프로세서(10)는, 가상 카메라(620B)의 위치를 좌측으로 변경한다. 또한, 우측 방향으로 스와이프 조작이 수행된 때는, 프로세서(10)는, 가상 카메라(620B)의 위치를 우측으로 변경한다. 그 결과, 가상 카메라(620B)의 위치가 좌측으로 변경된 때에는, 도 31(B)에 도시된 표시예로 전환되고, 가상 카메라(620B)의 위치가 우측으로 변경된 때는, 도 31(C)에 도시된 표시예로 전환한다. 이에 따라, 사용자가 선호하는 시점에서 시야 이미지(660)을 표시하는 것이 가능해진다.
또한, 도 31(B)의 타이밍에서는, 도 31(A)의 상태와 비교하여, 수행자의 움직임에 따라 아바타 객체(610)가 좌측으로 방향을 변화시키고 있는 상태가 나타나 있고, 도 31(C)의 타이밍에서는, 도 31(A)의 상태와 비교하여, 수행자의 움직임에 따라 아바타 객체(610)가 우측으로 방향을 변화시키고 있는 상태가 나타나 있다. 이 때, 사용자는 아바타 객체(610)를 선호하는 시점에서 포착하기 위해 스와이프 조작을 수행할 수 있다. 도 31(B)의 타이밍에서는, 왼쪽에서 오른쪽 방향으로의 스와이프 조작에 의해 가상 카메라(620B)를 좌측으로 이동시킨 것에 의해, 아바타 객체(610)의 우측 전방부를 포착한 표시예를 나타내고 있다. 또한, 도 31(C)의 타이밍에서는, 오른쪽에서 왼쪽 방향으로의 스와이프 조작에 의해 가상 카메라(620B)를 우측으로 이동시킨 것에 의해, 아바타 객체(610)의 좌측 전방부를 포착한 표시예를 나타내고 있다.
(TV 모드에서의 표시예)
도 32는 TV 모드가 설정되어 있을 때의 표시예이며,도 32(A) ~ 도 32(C)는 각각 도 31(A) ~ 도 31(C)와 같은 타이밍의 표시예를 나타내고 있다. 도 32(B) 및 도 32(C)로부터 알 수 있듯이, 아바타 객체(610)는, 도 31과 마찬가지로, 도 32(A)의 상태와 비교하여, 도 32(B)의 타이밍에서 좌측으로 방향을 바꾸고 있으며, 도 32(C)의 타이밍에서 우측으로 방향을 바꾸고 있다.
서버(200)는 시스템(1)의 운영자 등에 의한 스위처의 조작에 따른 카메라 객체(630)의 시점 정보를 복수의 사용자 단말(100)에 배포한다. TV 모드에서, 가상 카메라(620B)의 위치, 방향 등은 카메라 객체(630)의 위치, 방향 등과 일치하도록 해당 시점 정보에 기초하여 제어된다. 도 32(B)는 카메라 객체(630)의 배치가 가상 공간(600A)의 정면보다도 우측의 위치로 전환되고, 이에 따라 아바타 객체(610)가 카메라 객체(630) 측으로 방향을 바꾸었을 때의 표시예이다. 또한, 도 32(C)는 카메라 객체(630)의 배치가 가상 공간(600A)의 정면보다도 좌측의 위치로 전환되고, 이에 따라 아바타 객체(610)가 카메라 객체(630) 측으로 방향을 바꾸었을 때의 표시예이다. 즉, 아바타 객체(610)가 카메라 객체(630)의 시선과 일치하도록 아바타 객체(610)의 방향이 변경되면, 터치 스크린(15)에는 아바타 객체(610)를 정면에서 보는 시점에서 시야 이미지(660)가 표시된다. 따라서, TV 모드를 선택하면, 사용자는 운영자 등이 베스트라고 생각하는 시점에서 본 이미지를 시인하는 것이 가능해진다.
(AR 모드에서의 표시예)
도 33은 AR 모드가 설정되어 있을 때의 표시예이며, 도 33(A) ~ 도 33(C)는 각각 도 31(A) ~ 도 31(C)나 도 32(A) ~ 도 32(C)와 같은 타이밍의 표시예를 나타내고 있다. 도 33(B)는, 도 31(B)를 표시하고 있는 타이밍에서 카메라(17)의 위치(즉, 사용자 단말(100)의 위치)를 AR용 가상 공간(600C)의 정면의 위치로부터 아바타 객체(610)를 중심으로 40° 정도 우측으로 이동시켰을 때의 표시예이다. 도 33(C)는, 도 31(C)를 표시하고 있는 타이밍에서 카메라(17)의 위치를 AR용 가상 공간(600C)의 정면의 위치로부터 아바타 객체(610)를 중심으로 50° 정도 더 우측으로 이동시켰을 때의 표시예다. 도 33(A) ~ 도 33(C)에서는, 카메라(17)에 의해 촬영되어 취득된 취득 이미지(벽에 그림이 장식됨과 함께 책상이 놓여 있는 방의 이미지)에 대해서 아바타 객체(610) 등이 배치되어 있는 증강 현실 공간의 이미지가 터치 스크린(15)에 표시된다.
구체적으로, 도 33(A)는, 예를 들어 가상 공간(600A) 내의 아바타 객체(610) 등이 도 28(A)에서 나타내는 상태일 때의 표시예를 도시한다. 취득 이미지는 수평 방향으로부터 촬영된 이미지다. 따라서, 가상 카메라(620B)는 수평 방향에서 AR용 가상 공간(600C)을 보는 위치에 배치된다. 그 결과, 도 33(A)에서는, 아바타 객체(610)를 정면으로 보게 된다. 도 33(A)에 도시된 바와 같이, 아바타 객체(610)는 취득 이미지에서의 평면부인 바닥의 대략 중앙 위치에서 기립하고 있는 상태로 표시되고, 해당 아바타 객체(610)를 기준으로 하여, 해당 아바타 객체(610)의 우측 전방(도 28(A)와 동일한 위치 관계)에 선택지 객체(281~283)가 배치되어 있다.
AR 모드에서, 가상 카메라(620B)의 위치, 방향 등은 카메라(17)의 위치 · 방향 등의 변경에 따라 제어된다. 따라서, 카메라(17)의 위치(즉, 사용자 단말(100)의 위치)를 AR용 가상 공간(600C)의 정면의 위치로부터 40° 정도 우측으로 변경한 때는, 프로세서(10)는, 가상 카메라(620B)의 위치를 40° 정도 우측으로 변경한다. 또한, 카메라(17)의 위치를 AR용 가상 공간(600C)의 정면의 위치로부터 추가로 50°정도 우측으로 변경했을 때에는, 프로세서(10)는, 가상 카메라(620B)의 위치를 추가로 50°정도 우측으로 변경한다. 그 결과, 가상 카메라(620B)의 위치가 40° 정도 우측으로 변경된 때는, 도 33(B)에 도시된 표시예로 전환되고, 가상 카메라(620B)의 위치가 추가로 50°(합계 90°) 정도 우측으로 변경된 때는, 도 33(C)에 도시된 표시예로 전환된다.
(모드 전환)
AR 모드 이행용 아이콘(182a)은 AR 모드로 이행시키기 위한 아이콘이다. TV 모드 이행용 아이콘(182b)은 TV 모드로 이행시키기 위한 아이콘이다. 통상 모드에서는, AR 모드 이행용 아이콘(182a)과 TV 모드 이행용 아이콘(182b)이 시야 이미지(660)의 우측 상단에 중첩되어 통상 태양(normal appearance)으로 표시된다(도 31 참조). 따라서, TV 모드 이행용 아이콘(182b)에 대한 터치 조작 등을 검출함으로써, 시청 모드를 통상 모드로부터 TV 모드로 전환할 수 있다. 또한, AR 모드 이행용 아이콘(182a)에 대한 터치 조작 등이 검출됨으로써, 시청 모드를 통상 모드로부터 AR 모드로 전환할 수가 있다.
TV 모드에서는, AR 모드 이행용 아이콘(182a)이 통상 모드와 동일한 위치에 통상 태양으로 표시되고, TV 모드 이행용 아이콘(182b)이 통상 모드와 동일한 위치에 강조 태양으로 표시(예를 들면, 흑백 반전 표시)된다(도 32 참조). 해당 강조 태양으로의 표시에 의해, TV 모드 중이라는 취지가 통지된다. AR 모드 이행용 아이콘(182a)을 탭하면, 시청 모드는 TV 모드로부터 AR 모드로 전환된다. 한편, 강조 태양으로 표시되고 있는 TV 모드 이행용 아이콘(182b)을 탭하면, 시청 모드는 TV 모드로부터 통상 모드로 전환된다.
AR 모드에서는, AR 모드 이행용 아이콘(182a)이 증강 현실 공간의 이미지의 오른쪽위 위치(통상 모드와 동일한 위치)에 강조 태양으로 표시(예를 들면, 흑백 반전 표시)되고, AR 모드 이행용 아이콘(182a)의 하측에 있어서 TV 모드 이행용 아이콘(182b) 대신에 AR 모드 리셋용 아이콘(182c)이 통상 태양으로 표시된다(도 33 참조). AR 모드 이행용 아이콘(182a)의 강조 태양으로의 표시에 의해, AR 모드 중이라는 취지가 통지되고, AR 모드 리셋용 아이콘(182c)의 통상 태양으로의 표시에 의해 AR 모드를 리셋할 수 있음이 통지된다. 강조 태양으로 표시되고 있는 AR 모드 이행용 아이콘(182a)을 탭하면, 시청 모드는 AR 모드로부터 통상 모드로 전환된다. 한편, AR 모드 리셋용 아이콘(182c)을 탭하면, 바닥면 등의 평면부가 다시 특정되고, 해당 평면부의 소정 위치에 AR용 가상 공간(600C) 내의 시야 이미지가 배치된다.
즉, 본 실시 형태에서는, 통상 모드에서는 해당 통상 모드와 다른 시청 모드에 대응하는 아이콘이 표시된다. 아이콘이 터치되면, 해당 아이콘에 대응하는 시청 모드로 이행함과 함께, 해당 아이콘이 강조 태양으로 표시된다. 이행(전환)에 따른 시청 모드에서 강조 태양으로 표시되고 있는 아이콘이 터치되면, 통상 모드로 되돌아간다. 또한, 이행에 따른 시청 모드에서 통상 태양으로 표시되고 있는 아이콘이 터치되면, 해당 아이콘에 대응하는 모드로 이행한다. 이에 따라, 사용자는 선택 중인 시청 모드가 어느 모드인지를 인식하면서 시청 모드를 전환하는 것이 가능해진다.
TV 모드로 전환되면, 서버(200)로부터 송신되는 시점 정보에 기초하여 가상 카메라(620B)가 가상 공간(600B)에 배치된다. 그 결과, 가상 카메라(620B)의 위치, 방향 등은 카메라 객체(630)의 위치, 방향 등과 일치한다.
AR 모드로 전환되면, 취득 이미지를 촬영했을 때의 카메라(17)의 촬영 방향(방향, 기울기 등)이 특정되고, 해당 촬영 방향과 동일한 방향으로부터 AR용 가상 공간(600C)을 보는 위치에 가상 카메라(620B)가 배치된다. 구체적으로, 촬영 방향이 대략 수평 방향인 경우에는, AR용 가상 공간(600C)을 수평 방향에서 보는 위치에 가상 카메라(620B)가 배치된다. 한편, 촬영 방향이 비스듬히 위쪽에서 내려다 보는 방향인 경우에는, AR용 가상 공간(600C)을 비스듬히 위쪽에서 내려다 보는 위치에 가상 카메라(620B)가 배치된다.
통상 모드로 전환되면, 모드 전환 전에 가상 카메라(620B)가 배치되어 있던 위치에 대응하는 위치에 가상 카메라(620B)가 배치된다. 구체적으로는, 전환 전의 시청 모드가 TV 모드이면, 가상 공간(600B)에서의 가상 카메라(620B)의 배치가 유지된다. 한편, 전환 전의 시청 모드가 AR 모드이면, AR용 가상 공간(600C)에서 가상 카메라(620B)가 배치되어 있던 위치가 특정되고, 가상 공간(600B) 중 해당 특정한 위치와 동일한 위치에 가상 카메라(620B)가 배치된다.
<본 실시 형태의 효과>
본 실시 형태에 따르면, 아바타 객체(610)는 수행자의 움직임에 따라 실시간으로 동작하는 캐릭터이며, 서버(200)로부터 송신되는 동작 지시 데이터는 해당 아바타 객체(610)가 배치되어 있는 가상 공간을 표시하기 위한 데이터이다. 사용자 단말(100)에서는, 해당 동작 지시 데이터에 기초한 가상 공간 내의 이미지 중 표시부(152)에 표시되는 이미지가 상이한 복수 종류의 시청 모드 중의 어느 하나가 특정되고, 해당 특정된 시청 모드에 따른 이미지가 표시부(152)에 표시된다. 이에 의해, 시청 모드에 따라 상이한 이미지를 표시하는 것이 가능해져서, 흥미가 향상된다.
또한, 본 실시 형태에 따르면, 복수 종류의 시청 모드는 사용자의 조작에 따른 시점에서 가상 공간(600B) 내의 이미지를 표시하는 통상 모드를 포함한다. 따라서, 통상 모드를 선택함으로써, 가상 공간(600B)에 배치되어 있는 객체를 사용자가 원하는 시점에서 시인하는 것이 가능해진다.
게다가, 본 실시 형태에 의하면, 복수 종류의 시청 모드는, 카메라(17)에 의해 취득된 취득 이미지에 대하여 아바타 객체(610) 등이 배치되어 있는 증강 현실 공간 내의 이미지를 표시하는 AR 모드를 포함한다. 이에 의해, 사용자의 눈앞의 현실 공간에서 아바타 객체(610) 등이 실제로 동작하고 있는 것 같은 인상(임장감)을 사용자에게 안겨줄 수 있다.
또한, 본 실시 형태에 따르면, 복수 종류의 시청 모드는 가상 공간(600A)에 배치되어 있는 카메라 객체(630)의 시점과 동일한 시점에서 가상 공간(600B) 내의 영상을 표시하는 TV 모드를 포함한다. 이에 의해, 분배 측의 스위처가 베스트라고 생각하는 시점에서 본 이미지를 사용자가 시인 가능해진다.
게다가, 본 실시 형태에 따르면, 카메라 객체(630)의 시점과 동일한 시점은 서버(200)로부터 송신되는 시점 정보에 기초하여 특정된다. 이에 따라, 데이터 양이 증대해버리는 것을 방지할 수 있다.
또한, 본 실시 형태에 따르면, 동작 지시 데이터는 아바타 객체(610)를 수행하는 수행자가 입력한 모션 데이터를 포함한다. 통상 모드에서는, 아바타 객체(610)가 배치되어 있는 가상 공간(600B) 내의 이미지가, 사용자의 조작에 따른 시점으로 표시된다. AR 모드에서는, 카메라(17)에 의해 취득된 취득 이미지에 대하여 아바타 객체(610)가 배치되어 있는 증강 현실 공간 내의 이미지가 표시된다. TV 모드에서는, 아바타 객체(610)가 배치되어 있는 가상 공간(600B) 내의 이미지가, 가상 공간(600A)에 배치되어 있는 카메라 객체(630)의 시점과 동일한 시점으로 표시된다. 이에 의해, 동일한 모션 데이터(동작 지시 데이터)를 수신하고 있음에도 불구하고, 시청 모드에 따라 다른 이미지를 표시하는 것이 가능해진다.
게다가, 본 실시 형태에 따르면, 시청 모드를 전환하기 위한 아이콘이 터치 스크린(15)에 표시된다. 따라서 아이콘 탭과 같은 간단한 조작으로 시청 모드를 전환하는 것이 가능해진다.
<변형예>
이상 설명한 실시 형태의 변형예 등을 이하에 열거한다.
(1) 상기 실시 형태에서는, AR 모드에서 아바타 객체(610)나 선택지 객체(281~283)를 카메라(17)로부터 취득한 취득 이미지에 배치하는 예에 대하여 설명했다. 그러나, AR 모드에서는, 취득 이미지에 대하여 배치하는 아바타 객체(610)나 선택지 객체(281~283)의 사이즈를 사용자 조작에 따라 조정 가능하도록 해도 된다.
아바타 객체(610)나 선택지 객체(281~283)를 포함하는 시야 이미지가 배치될 때의 표시 사이즈는, 취득 이미지를 해석함으로써 특정된 평면부의 크기에 따라 결정되기 때문에, 해석 결과에 따라서는, 취득 이미지에 대하여 아바타 객체(610) 등이 극단적으로 크게 표시되어 버리는 경우나 반대로 작게 표시되어 버리는 경우가 발생할 수 있다. 이러한 경우에, 사용자 조작을 받아들임에 의해, 아바타 객체(610) 등의 표시 사이즈를 취득 이미지에 대하여 적절한 표시 사이즈 또는 사용자가 선호하는 표시 사이즈로 조정함으로써, 아바타 객체(610) 등의 표시에 대하여 위화감을 느끼는 문제(결함)를 회피할 수 있다.
(2) 상기 실시 형태에서는, 증강 현실 공간이 카메라(17)로부터의 취득 이미지에 대하여 가상 공간(600A)에서의 일부 객체만을 배치시킨 공간인 예에 대하여 설명했다. 그러나, 카메라(17)로부터의 취득 이미지에 대하여 배치하는 객체는, 플레이어가 수행하는 아바타 객체(610)를 포함하는 것이라면 이에 한정되지 않고, 가상 공간(600A)에 배치되어 있는 모든 객체로 해도 된다. 즉, 증강 현실 공간은, 카메라(17)로부터의 취득 이미지에 대하여 가상 공간(600A)과 같은 가상 공간 전체를 배치시켜 이루어지는 공간이어도 된다. 구체적으로는, 카메라(17)로부터의 취득 이미지에 대하여, 상술한 가상 공간(600A) 전체를 소형(miniature)화하여 배치시켜 이루어지는 증강 현실 공간을 생성하고, 해당 증강 현실 공간 내에서 아바타 객체(610) 등을 동작시키도록 해도 된다.
(3) 상기 실시 형태에서는, 복수의 시청 모드에 대응하는 아이콘을 표시하고(예를 들면, 통상 모드에서는 AR 모드 이행용 아이콘(182a)과 TV 모드 이행용 아이콘(182b)을 표시), 조작된 아이콘에 대응하는 시청 모드로 전환하는 예에 대하여 설명하였다. 그러나, 탭할 때마다 시청 모드를 소정의 순서로 전환하는 하나의 아이콘을 표시하도록 해도 된다. 이 경우, 예를 들면, 해당 하나의 아이콘을 탭할 때마다, 통상 모드 → TV 모드 → AR 모드 → 통상 모드 ...의 순서로 시청 모드를 전환하도록 해도 된다. 이에 의해, 제한된 표시 영역을 효과적으로 활용할 수 있다.
(4) 상기 실시 형태에서는, 통상 모드에서 AR 모드 이행용 아이콘(182a)과 TV 모드 이행용 아이콘(182b)을 표시하고, AR 모드 이행용 아이콘(182a)에 대한 조작에 따라 AR 모드로 전환하고, 해당 AR 모드 중에는 TV 모드 이행용 아이콘(182b)에 대하여 비표시로 함과 함께 AR 모드 이행용 아이콘(182a)을 강조 태양으로 표시하는(도 33 참조) 한편, TV 모드 이행용 아이콘(182b)에 대한 조작에 따라 TV 모드로 전환하고, 해당 TV 모드에서는 AR 모드 이행용 아이콘(182a)의 표시를 계속시키면서 TV 모드 이행용 아이콘(182b)을 강조 태양으로 표시하는(도 32 참조) 예에 대하여 설명하였다. 하지만, 모드를 전환하는 아이콘을 어떻게 표시할지에 대해서는, 이에 한정되는 것이 아니다.
예를 들면, AR 모드 중에는, TV 모드 이행용 아이콘(182b)에 대하여 비표시로 하는 것에 한정되지 않고, TV 모드 이행용 아이콘(182b)의 표시를 계속시키면서 AR 모드 이행용 아이콘(182a)을 강조 태양으로 표시하도록 해도 된다. 구체적으로, 상기 실시 형태에서의 AR 모드 중에는 TV 모드 이행용 아이콘(182b)을 통상 태양으로 표시하면서 AR 모드 이행용 아이콘(182a)을 강조 태양으로 표시함과 함께, AR 모드 리셋용 아이콘(182c)을 추가하여 표시하도록 해도 된다. 이에 의해, 사용자는 TV 모드 이행용 아이콘(182b)을 터치함으로써 AR 모드에서 TV 모드로 이행할 수 있다. 즉, 소정의 모드(예를 들면 통상 모드)를 기준으로 하여, 해당 소정의 모드와 다른 모드에 대응하는 아이콘을 표시하고, 어느 하나의 아이콘에 대한 조작에 의해 해당 아이콘에 대응하는 모드로 이행하고, 이행된 모드(예를 들면, AR 모드, TV 모드) 중에는 해당 모드에 대응하는 아이콘을 강조 태양으로 표시하고, 다른 아이콘을 통상 태양인 채로 계속 표시하도록 해도 된다.
또한, TV 모드 중에는, AR 모드 이행용 아이콘(182a)을 계속해서 표시하는 것에 한정되지 않고, AR 모드 이행용 아이콘(182a)을 비표시로 하도록 해도 된다. 구체적으로, 상기 실시 형태의 TV 모드 중에는, AR 모드 이행용 아이콘(182a)을 비표시로 하고, TV 모드 이행용 아이콘(182b)을 강조 태양으로 표시하도록 해도 된다. 즉, 소정의 모드(통상 모드)를 기준으로 하여, 해당 소정의 모드와 다른 모드에 대응하는 아이콘을 표시하고, 어느 하나의 아이콘에 대한 조작에 의해 해당 아이콘에 대응하는 모드로 이행하고, 이행된 모드(예를 들면, AR 모드, TV 모드) 중에는 해당 모드에 대응하는 아이콘을 강조 태양으로 표시하는 한편, 다른 모드에 대응하는 아이콘을 비표시로 하도록 해도 된다.
또한, AR 모드나 TV 모드에서도, 통상 모드와 마찬가지로, 선택 중인 시청 모드와 다른 모드에 대응하는 아이콘을 표시하고, 해당 아이콘에 대한 조작에 의해 해당 아이콘에 대응하는 모드로 이행하도록 해도 된다. 구체적으로, TV 모드에서는 통상 모드로 이행시키기 위한 통상 모드 이행용 아이콘과 AR 모드 이행용 아이콘(182a)을 표시하고, AR 모드에서는 해당 통상 모드 이행용 아이콘과 TV 모드 이행용 아이콘(182b)을 표시하도록 해도 된다.
또한, 선택 중인 시청 모드가 어느 시청 모드인지 여부에 관계없이, 이행 가능한 모든 시청 모드에 대응하는 아이콘을 표시하도록 해도 된다. 구체적으로는, 선택 중인 시청 모드가 통상 모드, TV 모드, AR 모드 중 어느 것이라도, 통상 모드 이행용 아이콘과, AR 모드 이행용 아이콘(182a)과, TV 모드 이행용 아이콘(182b)을 표시하도록 해도 된다. 이 경우에는, 선택 중인 시청 모드에 대응하는 아이콘을 강조 태양으로 표시하도록 해도 된다.
(5) 상기 실시 형태에서는 사용자의 조작에 따라 시청 모드를 전환하도록 하고 있다. 그러나, 운영자가 TV 모드로의 전환을 요구하는 정보를 배포할 수 있도록 하고, 해당 정보가 배포되고 있는 기간에는 시청 모드를 TV 모드로 설정하도록 해도 된다. 이에 따라, 예를 들어 아바타 객체(610)가 옷갈아입기 등을 수행하는 기간에, 카메라 객체(630)의 방향을 아바타 객체(610)를 촬영할 수 없는 방향으로 변경하고, 해당 옷갈아입기의 씬(scene)이 사용자 단말(100)에 표시되는 문제를 회피할 수가 있다. 또한, 해당 정보가 배포되고 있는 기간에도 프리미엄 사용자 등의 특정 사용자에 대해서는 시청 모드의 전환을 허가하도록 해도 된다.
(6) 상기 실시 형태에서, 사용자는 아바타 객체(610)와 가위바위보 게임을 수행한다. 여기서, 가위바위보를 이긴 사용자의 사용자 단말(100)에 표시되어 있는 아바타 객체(610)에 대해서는 의상을 탈의하는 등으로 노출을 증가시키도록 해도 된다. 이에 의해, 가위바위보 게임의 선호 성향을 높이는 것이 가능해진다.
(7) 상기 실시 형태에서는, 통상 모드에서 가상 카메라(620B)를 이동 가능한 범위가 사용자의 시청 빈도나 가위바위보에 이긴 횟수에 관계없이 고정적이다. 그러나, 해당 이동 가능한 범위는, 해당 시청 빈도나 가위바위보에 이긴 횟수의 증가에 따라 확대시키도록 해도 된다.
(8) 상기 실시 형태에서 증강 현실 공간을 구성하는 취득 이미지는 카메라(17)에 의해 실시간으로 촬영된 이미지인 예에 대하여 설명하였다. 그러나, 증강 현실 공간을 구성하는 취득 이미지는 실시간으로 촬영된 이미지에 한정되지 않고, 과거에 촬영한 이미지이어도 된다. 또한, 증강 현실 공간을 구성하는 취득 이미지는, 현실 공간의 다양한 장소에서 촬영된 이미지(파노라마 이미지 등을 포함)을 제공하는 서비스 제공 장치(서버)로부터 제공되는 이미지이어도 된다. 이 경우에 제공되는 이미지는, 예를 들면, 사용자 단말(100)이 존재하는 위치의 이미지이어도 되고, 또한, 맵 상을 이동하는 소위 위치 게임을 행하고 있을 때에는 해당 맵에 대하여 사용자가 지정한 위치의 이미지이어도 된다.
또한, 증강 현실 공간의 생성에 있어서는, 취득한 취득 이미지를 그대로 사용하고, 그 위에 캐릭터 등을 중첩시켜서 터치 스크린(15)에 표시하는 예에 대해서 설명하였다. 그러나, 증강 현실 공간의 생성에 이용하는 취득 이미지에 대해서는, 소정의 가공·편집 처리를 행하고, 해당 가공·편집 처리가 실시된 이미지에 캐릭터 등을 중첩시켜서 터치 스크린(15)에 표시하도록 해도 된다. 소정의 가공·편집 처리는, 예를 들면, 입력 조작에 따라 확대·축소 등을 행하는 것이어도 되고, 또한 현재의 상황(예를 들면, 시기, 일자, 시간 등)에 따라 그라데이션, 샤프니스, 색보정, 특수 효과 등을 행하도록 해도 된다.
(9) 상기 실시 형태에서는, 가상 공간(600A)의 일부의 객체를 취득 이미지 상에 배치시켜서 이루어지는 증강 현실 공간 내의 이미지를 표시하는 방법으로서, 도 28(B) 및 도 33을 참조하여 일 예를 나타내었다. 그러나, 이러한 증강 현실 공간 내의 이미지를 표시하는 방법으로서는, 카메라(17)에 의해 취득한 취득 이미지에 대하여 아바타 객체(610) 등을 배치시켜 동작시키는 것이면 되고, 그 밖의 방법을 이용하는 것이어도 된다. 예를 들면, AR용 가상 공간(600C) 내에서 가상 공간(600A)과 마찬가지로 모든 객체(시청자 객체나, 바닥 객체, 배경 객체 등)를 배치시킨 후, 아바타 객체(610) 및 선택지 객체(281~283) 이외의 기타 객체(시청자 객체나 장식 객체)의 표시 설정을 비표시 설정으로 하고, 가상 카메라(620B)로부터의 시야 이미지로서 아바타 객체(610) 및 선택지 객체(281~283)만이 포함되고, 그 밖의 객체가 포함되지 않도록 하여, 해당 시야 이미지를 카메라(17)로부터의 취득 이미지에 대하여 중첩시킴으로써 증강 현실 공간 내의 이미지를 생성하도록 해도 된다. 이 경우에 있어서 강조 표시되고 있는 AR 모드 이행용 아이콘(182a)에 대한 입력 조작이 받아들여졌을 때에는, AR용 가상 공간(600C) 내에서 배치되어 있지만 비표시 설정으로 되어 있는 객체(시청자 객체나, 바닥 객체, 배경 객체 등)에 대해, 표시되는 설정으로 전환함으로써, 증강 현실 공간에서가 아니라 가상 공간(600A)과 동일한 가상 공간 내에서 아바타 객체(610) 등을 동작시키도록 해도 된다. 이에 의해, 통상 모드 이행시 등에 있어서의 처리를 간이화할 수 있음과 더불어 처리 부담을 경감할 수 있다.
(10) 상기 실시형태에 있어서의 아바타 객체(610)의 표시 태양은, 예를 들면, 증강 현실 공간의 생성에 이용되는 취득 이미지의 종류(예를 들면, 방의 이미지, 쇼핑몰의 이미지, 풍경 이미지)에 따라 사용자마다 다를 수 있도록 해도 된다. 예를 들어, 게임 플레이 단말(300) 측으로부터 송신되는 게임 진행 정보가 동일하더라도, 취득 이미지가 방의 이미지인 사용자 단말에 대해서는, 아바타 객체(610)의 의상을 파자마로 해도 되고, 취득 이미지가 산의 이미지인 사용자 단말에 대해서는, 아바타 객체(610)의 의상을 등산복으로 해도 된다. 이 경우, 아바타 객체(610)의 의상 데이터는, 각 사용자 단말(100) 측에서 미리 복수 종류 기억되어 있는 것처럼 해도 된다. 또한, 아바타 객체(610)의 표시 태양을 다르게 하는 대상은, 의상에 한하지 않으며, 머리 모양, 피부색, 화장의 정도 등이어도 된다. 이에 따라, 게임 진행 정보를 출력하는 게임 플레이 단말(300) 측의 처리 부담을 증대시키는 일 없이, 증강 현실 공간의 변화(variation)를 늘릴 수 있기(취득 이미지에 따라 실질적으로 무한이 되기) 때문에, 사용자를 끌어들이는 것이 가능해진다.
이에 갈음하여 또는 추가하여, 아바타 객체(610)의 표시 태양은, 게임 중에서 사용자에 따른 과금에 따라, 다른 사용자의 사용자 단말에서 표시되는 표시 태양과 다르게 하는 것이 가능하도록 해도 된다. 또한, 아바타 객체(610)의 표시 태양은, 라이브 게임 등의 결과에 따라 갱신되는 사용자의 랭킹에 따라 다르도록 해도 된다.
(11) 상기 실시 형태에서 도 29의 스텝 S92에서는, 취득 이미지를 촬영했을 때의 카메라(17)의 촬영 방향(방향, 기울기 등)에 기초하여, 해당 촬영 방향과 동일한 방향이 되도록 가상 카메라(620B)를 배치하는 예에 대하여 설명했다. 그러나, 가상 카메라(620B)를 초기 배치하는 위치·방향 등에 대해서는, 이에 한정되지 않으며, 콘텐츠의 종류에 따라 설정되는 것이나, 스텝 S88에서의 해석 결과에 기초하여 설정되는 것, 미리 정해져 있는 위치·방향 등으로 설정되는 것이어도 된다.
또한, 스텝 S92에서 가상 카메라(620B)가 초기 배치된 후에는, 도 30의 스텝 S108에서 나타낸 바와 같이, 카메라(17)의 위치, 방향 및 기울기 등의 변화에 동기화시켜 가상 카메라(620B)를 제어하는 예에 대하여 설명했다. 그러나, 초기 배치 후의 가상 카메라(620B)는 사용자로부터의 입력 조작(예를 들어, 스와이프 조작, 터치 조작 등)에 따라 위치, 방향, 기울기 등을 제어할 수 있도록 해도 된다. 이에 의해, 사용자로부터의 입력 조작에 따라 가상 카메라(620B)의 시야 영역을 변경할 수 있고, 그 결과, 취득 이미지 상에 배치되는 시야 이미지를 변경할 수 있다. 구체적으로는, 스와이프 조작에 의해, 취득 이미지 상에 배치되는 아바타 객체 등(예를 들면, 아바타 객체(610)만, 아바타 객체(610) 및 그 밖의 객체, 가상 공간 전체)를 회전시키거나, 이동시키거나 할 수 있도록 해도 된다. 이에 의해, 예를 들어, 사용자 단말(100)의 위치나 방향 등을 충분히 조정할 수 없을 것 같은 좁은 공간에서 증강 현실 공간을 생성하여 아바타 객체(610) 등을 동작시키고 있을 때라도, 터치 스크린(15)에 대한 입력 조작에 의해 해당 아바타 객체(610) 등을 회전·이동시키는 것이 가능해진다.
(12) 상기 실시 형태에서는, 가상 공간(600B) 또는 증강 현실 공간에서 진행하는 콘텐츠로서, 도 31 ~ 도 33에 도시된 가위바위보 게임 등의 플레이어와 사용자가 대전하는 라이브 게임을 예시했다. 그러나, 가상 공간(600B) 또는 증강 현실 공간 내에서 진행하는 라이브 게임은, 이에 한정되지 않고, 플레이어와 사용자가 교대로 파칭코를 조작하여, 전방에 배치되어 있는 트레이를 모방한 객체상에, 해당 파칭코에서 날린(let loose) 과일을 모방한 객체를 얼마나 실을 수 있는지(어느 쪽이 실패하지 않고 실을 수 있는지)를 겨루는 퍼즐 게임이어도 되고, 플레이어에 의해 조작되는 아바타 객체와, 복수의 사용자 각각에 의해 조작되는 병사 객체와, 게임 프로그램에 의해 동작하는 적 객체가 등장하고, 사용자가 아바타 객체(610)를 지키면서 적 객체를 쓰러뜨리는 것과 같은 참가형 게임이어도 된다.
또한, 가상 공간(600B) 또는 증강 현실 공간 내에서 진행되는 콘텐츠는 라이브 게임에 한정되지 않고, 예를 들면, 아바타 객체(610)가 라이브로 노래하고 있는 모습이나, 라이브로 수다를 보고 있는 모습을 사용자가 시청하기 위한 시청형의 콘텐츠여도 된다.
(15) 상기 실시 형태에서는, 사용자가 플레이어에 대하여 액션을 행하기 위해, 도 31 내지 도 33에서는 선택용 UI(180)를 표시하는 예에 대하여 설명했다. 이들은 모두 게임 진행과 관련된 액션을 수행하기 위한 UI라고 할 수 있다. 하지만, 사용자가 플레이어에 대하여 행하는 액션은, 게임 진행에 관련된 액션에 관련되는 것에 한정되지 않고, 전술한 바와 같이 사용자로부터 플레이어에 대하여 코멘트를 송신하는 액션이나, 음성 채팅을 행하는 액션 등이어도 된다. 이 경우, 가상 공간(600B) 또는 증강 현실 공간 내의 이미지를 표시할 때, 전술한 코멘트 입력용 아이콘(186)이나 음성 채팅을 수행하기 위한 UI 이미지를 표시하도록 해도 된다.
(16) 상기 실시 형태에서는, 사용자 단말(100)의 카메라(17)가, 표시부(152)가 형성되어 있는 면과 반대측의 면에 형성되어 있고, 카메라(17)로 촬영하고 있을 때에 표시부(152)에 표시되는 취득 이미지가, 사용자가 직접 눈으로 확인하고 있는 현실의 풍경 내에 포함되어 있는(합치하고 있는) 것을 상정하고 있다. 그러나, 사용자 단말(100)의 카메라(17)는, 표시부(152)가 형성되어 있는 면과 반대측의 면에 형성되어 있는 것에 한정되지 않고, 표시부(152)가 형성되어 있는 면에 형성되어 있는 것(사용자 자신이 포함되는 취득 이미지 상에 아바타 객체(610) 등을 배치시켜서 동작시키는 듯한 것)이어도 되고, 사용자 단말(100)과 통신 가능하게 되도록 해당 사용자 단말(100)과는 별개로 형성되어 있는 것이어도 된다.
(17) 상기 실시 형태에서는, TV 모드에서 통상 모드로의 모드 전환이 행해진 경우에도, 스텝 S82 및 S83의 처리가 실행된다. 그러나, 해당 모드 전환이 수행된 경우에는, 스텝 S82 및 S83의 처리를 생략하도록 해도 된다. 이 경우는, 스텝 S84 ~ S86의 처리에 의해, 가상 카메라(620B)의 시점만이 제어된다. 이에 따라, 처리 부담을 경감할 수 있음과 함께, 전환에 필요한 시간을 단축할 수 있다.
(18) 상기 실시 형태에서는, 통상 모드에서 AR 모드로 전환된 경우에 있어서, 촬영 방향이 대략 수평 방향인 경우에는, AR용 가상 공간(600C)을 수평 방향에서 보는 위치에 가상 카메라(620B)가 배치된다. 이 경우, 가상 카메라(620B)는 모드 전환 후의 아바타 객체(610)의 방향이 모드 전환 전의 방향과 일치하도록 가상 카메라(620B)를 배치하도록 해도 된다.
(19) 상기 실시 형태에서는, 아바타 객체(610)가 동작하고 있는 영상은 실시간 렌더링에 의해 배포되는 동작 지시 데이터에 기초하여 표시부(152)에 표시된다. 그러나, 해당 영상은, 동영상 배포 방식에 의해 배포되는 예를 들어 360° 동영상 데이터 등에 기초하여 표시하도록 해도 된다. 또한, 360° 동영상 데이터의 경우에는, 시청 모드에 따라 제어되는 시점으로부터의 이미지를 표시하도록 해도 된다.
(20) 상기 실시 형태에서는, AR 모드로부터 통상 모드로 전환된 경우에는, AR용 가상 공간(600C)에 있어서 가상 카메라(620B)가 배치되어 있던 위치를 특정하고, 가상 공간(600B) 중 해당 특정한 위치와 동일한 위치에 가상 카메라(620B)를 배치하도록 하고 있다. 그러나, 통상 모드에서의 가상 카메라(620B)의 이동 가능 범위를 AR 모드에서의 이동 가능 범위보다도 좁게 하고, AR 모드에서의 가상 카메라(620B)의 위치가 통상 모드에서의 이동 가능 범위 외인 경우에는, 해당 이동 가능 범위 내에서 가상 카메라(620B)의 이동량이 최소가 되는 위치나, 해당 이동 가능 범위 내의 초기 위치에 가상 카메라(620B)를 배치하도록 해도 된다.
(21) 상기 실시 형태에서는 AR 모드에서도 코멘트 표시부(184)와, 아이템 투입용 아이콘(185)과, 코멘트 입력용 아이콘(186)을 표시하도록 하고 있다. 그러나, AR 모드에서는, 해당 표시부(184)와 해당 아이콘(185 및 186)을 비표시로 하도록 해도 된다. 이에 따라, 증강 현실 공간에 등장한 아바타 객체(610)의 표시가 방해되는 것을 방지할 수 있다.
<부기>
이상의 각 실시 형태에서 설명한 사항을, 이하에 부기한다.
(부기 1):
본 개시에 보여주는 일 실시 형태의 어떤 국면에 의하면, 프로세서, 메모리, 및 표시부를 구비하는 정보 단말 장치(사용자 단말(100))에서 실행되는 프로그램으로서, 상기 프로세서에게, 수행자의 움직임에 따라 실시간으로 동작하는 캐릭터(아바타 객체(610))가 배치되어 있는 가상 공간을 표시하기 위한 표시용 데이터(동작 지시 데이터)를 수신하는 스텝(S26)과, 상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중에서 상기 표시부에 표시하는 이미지가 상이한 복수 종류의 시청 모드 중의 어느 하나를 특정하는 스텝(S81, S103, S106)과, 상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중에서 상기 특정하는 스텝에 의해 특정된 시청 모드에 따른 이미지를 상기 표시부에 표시하는 스텝(S85 ~ S87, S92, S93, S104, S105, S7 ~ S109)을 실행시킨다.
(부기 2):
(부기 1)에 있어서, 상기 복수 종류의 시청 모드는, 상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중에서 사용자의 조작에 따른 시점에서 본 이미지를 표시하는 제1 시청 모드(통상 모드)를 포함한다.
(부기 3):
(부기 1) 또는 (부기 2)에 있어서, 상기 정보 단말 장치는 촬상부(카메라(17))를 구비하고, 상기 복수 종류의 시청 모드는, 상기 촬상부에 의해 취득된 취득 이미지에 대하여 상기 표시용 데이터에 기초하는 상기 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 표시하는 제2 시청 모드(AR 모드)를 포함한다.
(부기 4):
(부기 1) 내지 (부기 3) 중 어느 하나에 있어서, 상기 복수 종류의 시청 모드는, 상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중에서 소정의 시점(카메라 객체(630)의 시점과 같은 시점)에서 본 이미지를 표시하는 제3 시청 모드(TV 모드)를 포함한다.
(부기 5):
(부기 4)에 있어서, 상기 프로세서에게, 외부에서 송신되는 시점 정보에 기초하여 상기 소정의 시점을 특정하는 스텝(S104)을 실행시킨다.
(부기 6):
(부기 1) 내지 (부기 5) 중 어느 하나에 있어서, 상기 정보 단말 장치는 촬상부(카메라(17))를 구비하고, 상기 표시용 데이터는, 수행자가 입력한 모션 데이터를 포함하고, 상기 표시하는 스텝은, 제1 시청 모드(통상 모드)에서, 상기 표시용 데이터에 기초하는 가상 공간 내의 이미지 중에서 사용자의 조작에 따른 시점에서 본 이미지를 표시하는 스텝(S107)과, 제2 시청 모드(AR 모드)에서, 상기 촬상부에 의해 취득된 취득 이미지에 대하여 상기 표시용 데이터에 기초한 상기 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 표시하는 스텝(S108)과, 제3 시청 모드(TV 모드)에서, 상기 표시 데이터에 기초한 가상 공간 내의 이미지 중에서 소정의 시점에서 본 이미지를 표시하는 스텝(S104)을 포함한다.
(부기 7):
(부기 1) 내지 (부기 6) 중 어느 하나에 있어서, 상기 프로세서에게, 시청 모드를 전환하기 위한 아이콘을 표시하는 스텝을 실행시킨다.
(부기 8):
(부기 7)에 있어서, 상기 아이콘은, 복수 종류의 시청 모드마다 각각 할당되어 있는 복수의 아이콘을 포함한다.
(부기 9):
(부기 7)에 있어서, 상기 아이콘은, 탭할 때마다 시청 모드를 소정의 순서로 전환하는 하나의 아이콘을 포함한다.
(부기 10);
본 개시에 나타내는 일 실시 형태의 한 국면에 따르면, 프로세서, 메모리, 및 표시부를 구비하는 정보 단말 장치에 의해 수행되는 방법으로서, 수행자의 움직임에 따라 실시간으로 동작하는 캐릭터가 배치되어 있는 가상 공간을 표시하기 위한 표시용 데이터를 수신하는 스텝과, 상기 표시용 데이터에 기초하는 가상 공간 내의 이미지 중에서 상기 표시부에 표시하는 이미지가 상이한 복수 종류의 시청 모드 중에서 어느 하나를 특정하는 스텝과, 상기 표시용 데이터에 기초하는 가상 공간 내의 이미지 중에서 상기 특정하는 스텝에 의해 특정된 시청 모드에 따른 이미지를 상기 표시부에 표시하는 스텝을 구비한다.
(부기 11):
본 개시에 나타내는 일 실시 형태의 한 국면에 따르면, 프로세서, 메모리, 및 표시부를 구비하는 정보 단말 장치로서, 수행자의 움직임에 따라 실시간으로 동작하는 캐릭터가 배치되어 있는 가상 공간을 표시하기 위한 표시용 데이터를 수신하고, 상기 표시용 데이터에 기초한 가상 공간 내의 이미지 중에서 상기 표시부에 표시하는 이미지가 상이한 복수 종류의 시청 모드 중 어느 하나를 특정하고, 상기 표시용 데이터에 기초하는 가상 공간 내의 이미지 중 상기 특정된 시청 모드에 따른 이미지를 상기 표시부에 표시한다.
[소프트웨어에 의한 실현 예]
사용자 단말(100), 서버(200), 게임 플레이 단말(300)(HMD 세트(1000)), 및 배포 단말(400)의 제어 블록(특히 제어부(110,210,310,410)은, 집적 회로(IC 칩) 등에 형성된 논리 회로(하드웨어)에 의해 실현되어도 되고, 소프트웨어에 의해 실현되어도 된다.
후자의 경우, 사용자 단말(100), 서버(200), 게임 플레이 단말(300)(HMD 세트(1000)), 및 배포 단말(400)은, 각 기능을 실현하는 소프트웨어인 프로그램의 명령을 실행하는 컴퓨터를 구비하고 있다. 이 컴퓨터는, 예를 들어 하나 이상의 프로세서를 구비하고 있음과 더불어, 상기 프로그램을 기억한 컴퓨터 판독 가능한 기록 매체를 구비하고 있다. 그리고, 상기 컴퓨터에 있어서, 상기 프로세서가 상기 프로그램을 상기 기록 매체로부터 읽어들여서(판독하여) 실행하는 것에 의해, 본 발명의 목적이 달성된다. 상기 프로세서로서는, 예를 들면 CPU(Central Processing Unit)를 이용할 수 있다. 상기 기록 매체로서는 '일시적이 아닌 유형의 매체', 예를 들어, ROM(Read Only Memory) 등 외에, 테이프, 디스크, 카드, 반도체 메모리, 프로그래밍할 수 있는(programmable) 논리 회로 등을 이용할 수 있다. 또한, 상기 프로그램을 전개하는 RAM(Random Access Memory) 등을 더 구비해도 된다. 또한, 상기 프로그램은, 해당 프로그램을 전송 가능한 임의의 전송 매체(통신 네트워크나 방송파 등)를 통해 상기 컴퓨터에 공급되어도 된다. 또한, 본 발명의 일 태양은, 상기 프로그램이 전자적인 전송에 의해 구현화된, 반송파에 삽입된 데이터 신호의 형태로도 실현될 수 있다.
본 발명은 상술한 각 실시 형태로 한정되는 것은 아니며, 청구항에 나타낸 범위에서 여러가지 변경이 가능하며, 상이한 실시 형태에 각각 개시된 기술적 수단을 적절히 조합하여 얻을 수 있는 실시 형태에 대하여도 본 발명의 기술적 범위에 포함된다.
1 시스템, 2 네트워크, 3,3A,3B 사용자(제1 사용자), 4 플레이어(수행자), 10,20,30,40 프로세서, 11,21,31,41 메모리, 12, 22,32,42 스토리지, 13,23,33,43 통신 IF, 14,24,34,44 입출력 IF, 15,45 터치 스크린, 17 카메라, 18 측거 센서, 51 모니터, 52 주시 센서, 53 제1 카메라, 54 제2 카메라, 55 마이크, 56 스피커, 100,100A,100B,100C 사용자 단말(컴퓨터, 제1 컴퓨터, 제1 정보 처리 장치), 110,210,310,410 제어부(제1 제어부, 제2 제어부), 111,311,413 조작 접수부, 112,312,412 표시 제어부, 113,313 UI 제어부, 114,314 애니메이션 생성부, 115,315 게임 진행부, 116,316 가상 공간 제어부, 117 동영상 재생부, 120,220,320,420 기억부(제1 기억부, 제2 기억부), 131,231,331 게임 프로그램(프로그램, 제1 프로그램), 132,232,332 게임 정보, 133,233,333 사용자 정보, 151,451 입력부, 152,452 표시부(디스플레이), 200 서버, 211 통신 중개부, 212 로그 생성부, 213 리스트 생성부, 234,421 사용자 리스트, 300 게임 플레이 단말(외부 장치, 제2 외부 장치), 317 반응 처리부, 400 배포 단말(외부, 제1 외부 장치, 컴퓨터, 제2 정보 처리 장치), 411 통신 제어부, 414 음성 접수부, 415 모션 특정부, 416 동작 지시 데이터 생성부, 422 모션 리스트, 423 배포 프로그램(프로그램, 제2 프로그램), 540,1020,1021 제어기, 500 HMD, 510 HMD 센서, 520 모션 센서, 530 디스플레이, 600A, 600B 가상 공간, 610 아바타 객체(캐릭터), 620A, 620B 가상 카메라, 631,632,633,634 객체, 640A, 640B 시야 영역, 650,660 시야 이미지, 671 적 객체 672,673 장애물 객체, 674 연출 객체, 691,692 발화, 701,702,703A,70B,704A,704B,705,706,711,711A,711B,711C,711D,722,723,745,745A,745B,745C,752,762,763,930,2011,2022,2031,2032,2033,2034,2037,2038,2051,2063,2072,2073,2075 UI 이미지(메세지 UI, UI), 721 다운로드 화면, 731 사용자 리스트 화면(리스트), 732,732A,732B,732C,742,742A,742B,742C 레코드 이미지, 733,733A,733B,733C 사용자 이름, 734,734A,734B,734C 태그 정보, 735,735A,735B,735C 아이콘, 741 모션 리스트 화면(선택지), 743,743A,743B,743C 모션 명칭, 744,744A,744B,744C,753 모션 이미지, 751 배포 화면, 761 배포 완료 화면, 810A,810B 모션 동영상, 820A, 820B 발화 목소리, 910A, 910B 동영상, 920A, 920B 음성, 1000 HMD 세트, 1010 물체, 1030 기억 매체, 2010 홈 화면, 2020 랭킹 화면, 2021 타이틀 이미지, 2026,2026A,2026B 순위, 2027,2027A,2027B 과금액, 2028,2028A,2028B 송신 회수, 2029 송신 완료 통지, 2030 지난번 송신일, 2035 상세 표시 영역, 2036 스크롤바, 2040 상세 화면, 2050,2060 준비 화면, 2052 텍스트, 2053,2061 선택 화면, 2054A,2054B,2054C,2062A,2062B,2062C,2062D,2062E,2062F 선택지, 2070 음성 입력 화면, 2074 태그 이미지

Claims (9)

  1. 프로세서, 메모리, 및 표시부를 포함하는 정보 단말 장치에서 실행되는 프로그램으로서,
    상기 프로세서에게,
    수행자의 움직임에 따라 실시간으로 동작하는 캐릭터가 배치되어 있는 가상 공간을 표시하기 위한 표시용 데이터를 수신하는 스텝과,
    상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중 상기 표시부에 표시하는 이미지가 상이한 복수 종류의 시청 모드 중의 어느 하나를 특정하는 스텝과,
    상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중 상기 특정하는 스텝에 의해 특정된 시청 모드에 따른 이미지를 상기 표시부에 표시하는 스텝을 실행시키는, 프로그램.
  2. 제1항에 있어서, 상기 복수 종류의 시청 모드는, 상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중 사용자의 조작에 따른 시점에서 본 이미지를 표시하는 제1 시청 모드를 포함하는, 프로그램.
  3. 제1항 또는 제2항에 있어서,
    상기 정보 단말 장치는 촬상부를 포함하고,
    상기 복수 종류의 시청 모드는, 상기 촬상부에 의해 취득된 취득 이미지에 대하여 상기 표시용 데이터에 기반하는 상기 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 표시하는 제2 시청 모드를 포함하는, 프로그램.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 복수 종류의 시청 모드는, 상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중 소정의 시점에서 본 이미지를 표시하는 제3 시청 모드를 포함하는, 프로그램.
  5. 제4항에 있어서, 상기 프로세서에게, 외부에서 송신되는 시점 정보에 기반하여 상기 소정의 시점을 특정하는 스텝을 실행시키는, 프로그램.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 정보 단말 장치는 촬상부를 포함하고,
    상기 표시용 데이터는, 수행자가 입력한 모션 데이터를 포함하고, 상기 표시하는 스텝은,
    제1 시청 모드에서, 상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중에서 사용자의 조작에 따른 시점에서 본 이미지를 표시하고,
    제2 시청 모드에서, 상기 촬상부에 의해 취득된 취득 이미지에 대하여 상기 표시용 데이터에 기반한 상기 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 표시하는 스텝과,
    제3 시청 모드에서, 상기 표시 데이터에 기반한 가상 공간 내의 이미지 중 소정의 시점에서 본 이미지를 표시하는 스텝을 실행시키는, 프로그램.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 프로세서에게, 시청 모드를 전환하기 위한 아이콘을 표시하는 스텝을 실행시키는, 프로그램.
  8. 프로세서, 메모리, 및 표시부를 포함하는 정보 단말 장치에 의해 실행되는 방법으로서,
    수행자의 움직임에 따라 실시간으로 동작하는 캐릭터가 배치되어 있는 가상 공간을 표시하기 위한 표시용 데이터를 수신하는 스텝과,
    상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중 상기 표시부에 표시하는 이미지가 상이한 복수 종류의 시청 모드 중의 어느 하나를 특정하는 스텝과,
    상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중 상기 특정하는 스텝에 의해 특정된 시청 모드에 따른 이미지를 상기 표시부에 표시하는 스텝을 포함하는, 방법.
  9. 프로세서, 메모리, 및 표시부를 포함하는 정보 단말 장치로서,
    수행자의 움직임에 따라 실시간으로 동작하는 캐릭터가 배치되어 있는 가상 공간을 표시하기 위한 표시용 데이터를 수신하고,
    상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중 상기 표시부에 표시하는 이미지가 상이한 복수 종류의 시청 모드 중의 어느 하나를 특정하고,
    상기 표시용 데이터에 기반하는 가상 공간 내의 이미지 중 상기 특정된 시청 모드에 따른 이미지를 상기 표시부에 표시하는, 정보 처리 단말.
KR1020227010228A 2019-08-30 2020-08-06 프로그램, 방법, 및 정보 처리 단말 KR20220047878A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019157899A JP6971282B2 (ja) 2019-08-30 2019-08-30 プログラム、方法、および情報端末装置
JPJP-P-2019-157899 2019-08-30
PCT/JP2020/030181 WO2021039346A1 (ja) 2019-08-30 2020-08-06 プログラム、方法、および情報処理端末

Publications (1)

Publication Number Publication Date
KR20220047878A true KR20220047878A (ko) 2022-04-19

Family

ID=74684691

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227010228A KR20220047878A (ko) 2019-08-30 2020-08-06 프로그램, 방법, 및 정보 처리 단말

Country Status (6)

Country Link
US (1) US20220323862A1 (ko)
EP (1) EP4023311A4 (ko)
JP (1) JP6971282B2 (ko)
KR (1) KR20220047878A (ko)
CN (1) CN114302762A (ko)
WO (1) WO2021039346A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7083380B2 (ja) * 2020-09-28 2022-06-10 グリー株式会社 コンピュータプログラム、方法及びサーバ装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012120098A (ja) 2010-12-03 2012-06-21 Linkt Co Ltd 情報提供システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3780536B2 (ja) * 1994-09-20 2006-05-31 ソニー株式会社 シミュレーションシステム、仮想空間提供装置及び方法、並びにユーザ端末装置及び仮想空間画像生成方法
JP3342393B2 (ja) * 1998-03-19 2002-11-05 株式会社コナミコンピュータエンタテインメントジャパン ビデオゲーム装置、コンピュータ読み取り可能な記録媒体
US8907983B2 (en) * 2010-10-07 2014-12-09 Aria Glassworks, Inc. System and method for transitioning between interface modes in virtual and augmented reality applications
US10022619B2 (en) * 2014-04-18 2018-07-17 Sony Interactive Entertainment, LLC System and method for multi-player video gaming
US9746933B2 (en) * 2015-05-20 2017-08-29 Survios, Inc. Systems and methods for natural motion interaction with a virtual environment
US20170011554A1 (en) * 2015-07-01 2017-01-12 Survios, Inc. Systems and methods for dynamic spectating
WO2017019530A1 (en) * 2015-07-24 2017-02-02 Silver Curve Games, Inc. Augmented reality rhythm game
US10445925B2 (en) * 2016-09-30 2019-10-15 Sony Interactive Entertainment Inc. Using a portable device and a head-mounted display to view a shared virtual reality space
WO2018235744A1 (ja) * 2017-06-22 2018-12-27 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、制御方法、及びプログラム
JP6463535B1 (ja) * 2018-04-27 2019-02-06 株式会社コロプラ プログラム、情報処理装置、および方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012120098A (ja) 2010-12-03 2012-06-21 Linkt Co Ltd 情報提供システム

Also Published As

Publication number Publication date
EP4023311A4 (en) 2023-09-20
JP2021036378A (ja) 2021-03-04
CN114302762A (zh) 2022-04-08
WO2021039346A1 (ja) 2021-03-04
JP6971282B2 (ja) 2021-11-24
US20220323862A1 (en) 2022-10-13
EP4023311A1 (en) 2022-07-06

Similar Documents

Publication Publication Date Title
JP6776400B1 (ja) プログラム、方法、および情報端末装置
JP6776393B2 (ja) 視聴プログラム、視聴方法、および情報端末装置
JP2021053181A (ja) プログラム、方法、および視聴端末
JP2021010181A (ja) 視聴プログラム、視聴方法、および情報端末装置
KR20220052363A (ko) 프로그램, 방법, 및 단말 장치
KR20220024630A (ko) 게임 프로그램, 게임 방법, 및 단말 장치
KR20220024602A (ko) 게임 프로그램, 게임 방법, 및 정보 단말 장치
KR20220047878A (ko) 프로그램, 방법, 및 정보 처리 단말
JP7332562B2 (ja) プログラム、方法、および情報端末装置
JP6818106B1 (ja) プログラム、方法、および視聴端末
EP3991816A1 (en) Game program, game method, and information terminal device
WO2020255996A1 (ja) プログラム、方法、および端末装置
JP6776425B1 (ja) プログラム、方法、および配信端末
JP2022000218A (ja) プログラム、方法、情報処理装置、およびシステム
JP7191181B2 (ja) プログラム、方法、および情報端末装置
JP7377790B2 (ja) ゲームプログラム、ゲーム方法、および情報端末装置
JP2022112769A (ja) プログラム、方法、および情報端末装置
JP2021053455A (ja) プログラム、方法、および視聴端末
JP2021053454A (ja) ゲームプログラム、ゲーム方法、および情報端末装置
JP2021053358A (ja) プログラム、方法、および視聴端末