KR20230015826A - 프로그램, 방법, 및 정보 단말 장치 - Google Patents
프로그램, 방법, 및 정보 단말 장치 Download PDFInfo
- Publication number
- KR20230015826A KR20230015826A KR1020217038400A KR20217038400A KR20230015826A KR 20230015826 A KR20230015826 A KR 20230015826A KR 1020217038400 A KR1020217038400 A KR 1020217038400A KR 20217038400 A KR20217038400 A KR 20217038400A KR 20230015826 A KR20230015826 A KR 20230015826A
- Authority
- KR
- South Korea
- Prior art keywords
- image
- user
- game
- data
- processor
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing 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/428—Processing 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/212—Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/215—Input arrangements for video game devices characterised by their sensors, purposes or types comprising means for detecting acoustic signals, e.g. using a microphone
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
- A63F13/525—Changing parameters of virtual cameras
- A63F13/5255—Changing 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/53—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
- A63F13/533—Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/54—Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
- A63F13/655—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/822—Strategy games; Role-playing games
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/847—Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/85—Providing additional services to players
- A63F13/86—Watching games played by other players
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8082—Virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Optics & Photonics (AREA)
- Heart & Thoracic Surgery (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Acoustics & Sound (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
촬상부에 의해 취득된 취득 이미지에 대하여 캐릭터가 배치되어 있는 확장 현실 공간 내의 이미지를 표시부에 표시하고, 외부로부터 배포되는 데이터로서 캐릭터를 라이브로 플레이하는 플레이어가 입력한 모션 데이터 및 음성 데이터에 기초하여, 캐릭터를 증강 현실 공간 내에서 동작시킨다.
Description
본 발명은, 프로그램, 방법, 및 정보 단말 장치에 관한 것이다.
정보 단말 장치 등에 설치되는 어플리케이션으로서, 카메라에 의해 촬영된 촬영 이미지(畵像)에 대해 소정의 캐릭터 등을 중첩시켜서 동작시키는 어플리케이션이고, 해당 캐릭터의 모션이나 발(發)하는 대사를 시간대에 따라 변경시키는 것이 있다.
비특허문헌1: MoguLive, VTuber의 세계와 현실을 잇는 AR 어플 '엘미나AR' 배포 개시, 2018년 6월 18일, [online], 헤이세이 31년 4월 23일 검색, URL, https://www.moguravr.com/vtuber-elmina-ar/
하지만, 종래의 어플리케이션에서는, 캐릭터의 모션이나 대사가 사전에 수록되어서 준비되어 있는 데이터에 기초하여, 해당 캐릭터를 제어하는 것이었다. 이 때문에, 캐릭터의 행동의 변화(variation)가 부족하고 단조롭게 되어 버려서, 사용자(유저)를 끌어들이는 면에서 개선의 여지가 있다.
본 발명은, 관련 실정을 감안하여 고안된 것으로서, 그 목적은, 종래보다도 사용자를 끌어들이는 것이 가능한, 프로그램, 방법, 및 정보 단말 장치를 제공하는 것이다.
본 개시에 나타낸 일 실시 형태의 어떤 국면(aspect)에 의하면, 프로세서, 메모리, 입력부, 표시부, 및 촬상부를 구비(포함)하는 정보 단말 장치에서 실행되는 프로그램으로서, 프로세서에게, 촬상부에 의해 취득된 취득 이미지에 대해 캐릭터가 배치되어 있는 증강 현실(확장 현실) 공간 내의 이미지를 표시부에 표시하는 스텝과, 외부에서 배포(서비스 제공 또는 전달)되는 데이터로서 캐릭터를 라이브로 맡는(플레이하는) 플레이어(맡은 사람)가 입력한 모션 데이터 및 음성 데이터에 기반하여, 캐릭터를 증강 현실 공간 내에서 동작시키는 스텝을 실행시킨다.
일 실시 형태의 어떤 국면에 의하면, 프로세서, 메모리, 입력부, 표시부, 및 촬상부를 구비하는 정보 단말 장치가 실행하는 방법으로서, 촬상부에 의해 취득된 취득 이미지에 대하여 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 표시부에 표시하는 스텝과, 외부에서 배포되는 데이터로서 캐릭터를 라이브로 맡는 플레이어가 입력한 모션 데이터 및 음성 데이터에 기반하여, 캐릭터를 증강 현실 공간 내에서 동작시키는 스텝을 구비한다.
일 실시 형태의 어떤 국면에 의하면, 프로세서, 메모리, 입력부, 표시부, 및 촬상부를 구비하는 정보 단말 장치로서, 촬상부에 의해 취득된 취득 이미지에 대해 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 표시부에 표시하고, 외부에서 배포되는 데이터로서 캐릭터를 라이브로 맡는 플레이어가 입력한 모션 데이터 및 음성 데이터에 기반하여, 캐릭터를 증강 현실 공간 내에서 동작시킨다.
본 발명에 따르면, 종래보다도 사용자를 끌어들이는 것이 가능해진다.
[도 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)는 가위바위보 게임 진행 시에 게임 플레이 단말 측에서 규정되는 가상 공간을 모식적으로(schematically) 설명하기 위한 도면이며, (B)는 사용자 단말 측에서 규정되고, 취득 이미지에 중첩시키는 증강 현실용의 가상 공간을 모식적으로 설명하기 위한 도면이다.
[도 29] 증강 현실 공간 내의 이미지를 표시하기 위한 처리의 흐름의 일례를 나타내는 흐름도이다.
[도 30] 사용자 A가 소유하는 사용자 단말의 카메라에 의해 촬영되어 취득된 취득 이미지 A에 대해 아바타 객체(object) 등이 배치되어 있는 표시예를 나타내는 도면이다.
[도 31] 사용자 B가 소유하는 사용자 단말의 카메라에 의해 촬영되어 취득된 취득 이미지 B에 대해 아바타 객체 등이 배치되어 있는 표시예를 나타내는 도면이다.
[도 32] 일반 모드(통상 모드) 전환용(이행용) 아이콘에 대한 입력 조작(operation)이 받아들여진(접수된) 후에서의 표시예를 나타내는 도면이다.
[도 33] 카메라로부터의 획득 이미지에 대해 가상 공간 전체를 미니어처화(소형화)하여 배치시켜서 이루어지는 증강 현실 공간을 생성하고, 해당 증강 현실 공간 내에서 아바타 객체 등을 동작시키는 표시예를 나타내는 도면이다.
[도 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)는 가위바위보 게임 진행 시에 게임 플레이 단말 측에서 규정되는 가상 공간을 모식적으로(schematically) 설명하기 위한 도면이며, (B)는 사용자 단말 측에서 규정되고, 취득 이미지에 중첩시키는 증강 현실용의 가상 공간을 모식적으로 설명하기 위한 도면이다.
[도 29] 증강 현실 공간 내의 이미지를 표시하기 위한 처리의 흐름의 일례를 나타내는 흐름도이다.
[도 30] 사용자 A가 소유하는 사용자 단말의 카메라에 의해 촬영되어 취득된 취득 이미지 A에 대해 아바타 객체(object) 등이 배치되어 있는 표시예를 나타내는 도면이다.
[도 31] 사용자 B가 소유하는 사용자 단말의 카메라에 의해 촬영되어 취득된 취득 이미지 B에 대해 아바타 객체 등이 배치되어 있는 표시예를 나타내는 도면이다.
[도 32] 일반 모드(통상 모드) 전환용(이행용) 아이콘에 대한 입력 조작(operation)이 받아들여진(접수된) 후에서의 표시예를 나타내는 도면이다.
[도 33] 카메라로부터의 획득 이미지에 대해 가상 공간 전체를 미니어처화(소형화)하여 배치시켜서 이루어지는 증강 현실 공간을 생성하고, 해당 증강 현실 공간 내에서 아바타 객체 등을 동작시키는 표시예를 나타내는 도면이다.
본 개시에 따른 시스템은, 복수의 사용자에게 게임을 제공하기 위한 시스템이다. 이하, 해당 시스템에 대해 도면을 참조하면서 설명한다. 또한, 본 발명은 이들 예시에 한정되는 것이 아니고, 특허청구범위에 의해 나타나고, 특허청구범위와 균등의 의미 및 범위 내에서의 모든 변경이 본 발명에 포함되는 것이 의도된다. 이하의 설명에서는, 도면의 설명에서 동일한 요소에는 동일한 부호를 붙이고, 중복되는 설명을 반복하지 않는다.
<시스템(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)의 사용자를 '플레이어'라고 칭한다. 플레이어(맡은 자)는, 일례로서, 본 게임에 등장하는 캐릭터를 조작함에 의해, 게임을 진행시킨다. 또한, 본 게임에서, 사용자 단말(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)이 복수의 제어기(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)이 기억하고 있어도 된다.
상기 실시 형태에서, 게임 플레이 단말(300)에 의해 규정되는 가상 공간(600A)와 같은 가상 공간(600B)내에서 아바타 객체(610)를 동작시켜, 가상 카메라(620B)의 위치, 방향 및 경사(기울기)에 따라 시야 영역(640B)의 시야 이미지(660)을 사용자 단말(100)의 터치 스크린(15)에 표시하는 예에 대해 설명했다. 그러나, 아바타 객체(610) 등을 동작시키는 공간은, 가상 공간에 한정되지 않으며, 현실 공간이어도 된다. 현실 공간으로서는, 예를 들어, 카메라(17)에 의해 촬영되어 취득한 취득 이미지에 의해 특정되는 공간이어도 된다.
사용자 단말(100) 측에서는, 카메라(17)에서의 취득 이미지에 대해 아바타 객체(610) 등이 배치되어 있는 공간(이하, 증강 현실 공간이라고도 함)내에서, 아바타 객체(610) 등을 게임 진행 정보에 기반하여 동작시키도록 해도 된다. 이에 따라, 사용자의 눈앞의 현실 공간에서 아바타 객체(610) 등이 실제로 동작하고 있는 것 같은 인상을 사용자에 안겨줄 수 있다.
또한, 증강 현실 공간내에서의 아바타 객체(610)은, 라이브로 맡고(play) 있는 플레이어(맡은 자)의 모션에 따라 움직이고, 해당 플레이어에 의한 음성을 발화한다. 이 때문에, 증강 현실 공간내에서의 아바타 객체(610)의 동작 등의 변화가 현격히 많아져서(플레이어에 따라 실질적으로 무한이 된다), 또한 현상황에 따라 동작 · 발화 등을 시킬 수 있기 때문에, 사용자를 끌어들이는 것이 가능해진다. 이하에서는, 아바타 객체(610) 등이 증강 현실 공간 내에서 동작하는 예에 대하여 설명한다.
도 28 ~ 도 32를 참조하여, 사용자가, 증강 현실 공간 내에서 라이브로 동작하는 아바타 객체(610)와 가위바위보에 의해 대결하는 게임(이하, 가위바위보 게임이라고도 함)를 수행하는 예에 대해 설명한다. 도 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)가 내는 손으로서 확정된 선택지 객체의 종류(묵, 찌, 빠)를 특정하기 위한 정보 등이 포함된다.
도 28(B)는, 사용자 단말(100) 측에서 규정되고, 취득 이미지에 중첩시키는 증강 현실용의 가상 공간(600C)(이하, AR용 가상 공간(600C)라고도 함)를 모식적으로 설명하기 위한 도면이다. 또한, 도 29은, 증강 현실 공간내의 이미지를 표시하기 위한 처리의 흐름의 일례를 나타내는 흐름도다.
우선, 스텝 S80에서, 프로세서(10)는, 이미지 인식이나 공간 인식에 관한 기술을 이용하여, 카메라(17)에 의해 촬영되어 취득한 취득 이미지를 해석한다. 이것에 의해, 예를 들어, 취득 이미지로부터 3차원 공간이 특정됨과 더불어, 평면부(예를 들면 수평부, 구체적으로는 바닥면) 및 해당 평면부의 크기(넓이) 등이 특정된다.
다음으로, 스텝 S81에서, 프로세서(10)는, 특정한 평면부에 기반하여, AR용 가상 공간(600C)의 시야 이미지를 취득 이미지 상에 배치(중첩)할 배치 위치를 설정한다. 프로세서(10)는, 평면부의 소정 위치(예를 들어 평면부의 중심 위치)를, AR용 가상 공간(600C)내의 시야 이미지를 배치하는 위치로서 설정한다. 이에 의해, 시야 이미지의 배치 위치가 시야 이미지의 소정 위치에 연관시켜진다.
스텝 S82에서, 프로세서(10)는, 도 28(B)에 나타내는 AR용 가상 공간(600C)를 규정한다. 스텝 S83에서, 프로세서(10)는, 초기 배치 정보를 수신한다(도 8의 S6, S22 등 마찬가지). 스텝 S84에서, 프로세서(10)는, 초기 배치 정보에 따라 각종 객체를 AR용 가상 공간(600C)에 배치한다. 도 28(B)의 경우, 각종 객체는, 가상 공간(600A)에서 일부의 객체이며, 아바타 객체(610) 및 선택지 객체(281 ~ 283)이다. 도 28(B)에서는, 아바타 객체(610) 및 선택지 객체(281 ~ 283)이 도 28(A)와 같은 위치 관계가 되도록 배치되어 있다.
스텝 S85에서, 프로세서(10)는, AR용 가상 공간(600C)에 가상 카메라(620B)를 배치한다. 프로세서(10)는, 예를 들어, 취득 이미지를 촬영했을 때의 카메라(17)의 촬영 방향(방향, 기울기 등)에 기반하여 해당 촬영 방향과 같은 방향에서 AR용 가상 공간(600C)를 보는 위치에 가상 카메라(620B)를 배치한다. 구체적으로, 촬영 방향이 대략 수평 방향인 경우에는 AR용 가상 공간(600C)를 수평 방향에서 보는 위치(예를 들어 도 30 등)에 가상 카메라(620B)를 배치하고, 촬영 방향이 비스듬하게 위쪽에서 내려다보는 방향인 경우에는 AR용 가상 공간(600C)를 비스듬히 위쪽에서 내려다보는 위치(예를 들어 도 33 등)에 가상 카메라(620B)를 배치한다.
스텝 S86에서, 프로세서(10)는, 카메라(17)로부터의 취득 이미지에 대해 가상 카메라(620B)로부터의 시야 이미지(640C)를 중첩시켜 이루어지는 증강 현실 공간 내의 이미지를 표시부(152)에 표시시킨다. 이 때, 프로세서(10)는, 시야 이미지(640C)를, 스텝 S81에서 설정된 취득 이미지 상의 소정 위치에서, 스텝 S80에 의해 특정한 평면부의 크기에 따른 표시 사이즈로 중첩시켜 증강 현실 공간 내의 이미지를 생성하여 표시한다.
스텝 S87에서, 프로세서(10)는, 동작 지시 데이터를 수신한다(도 8의 S26 등 마찬가지). 스텝 S88에서, 프로세서(10)는 동작 지시 데이터에 따라, 증강 현실 공간 내에서 아바타 객체(610) 등을 움직인다(도 8의 S27 등 마찬가지). 다시 말해, 프로세서(10)는, 실시간 렌더링에 의해, 아바타 객체(610) 등이 해당 증강 현실 공간 내에서 동작하고 있는 영상을 재생한다. 이에 따라, 게임 플레이 단말(300) 측에서의 가상 공간(600A)내에서 아바타 객체(610) 및 선택지 객체(281 ~ 283) 각각의 동작과, 사용자 단말(100) 측에서의 증강 현실 공간내에서의 아바타 객체(610) 및 선택지 객체(281 ~ 283) 각각의 동작을 동기화시킬 수 있다.
스텝 S89에서, 프로세서(10)는, 카메라(17)의 위치, 방향 및 경사 등의 변화에 동기화시켜서 가상 카메라(620B)를 제어한다. 스텝 S90에서, 프로세서(10)는, 취득 이미지 및 시야 이미지를 갱신한다. 이에 따라, 카메라(17)의 위치 등의 변화에 따라 취득 이미지가 변화함과 더불어, 소정 위치가 변화하기 위해 시야 이미지의 표시 위치도 변화하고, 게다가 가상 카메라(620B)의 위치 등의 변화에 따라 시야 이미지가 변화한다. 이에 따라, 예를 들어, 아바타 객체(610)의 좌측면을 촬영하는 것처럼 카메라(17)를 왼쪽으로 선회시킨 경우에는, 카메라(17)에 의해 촬영되어 취득되는 취득 이미지에 대하여, 아바타 객체(610) 등을 좌측면에서 본 시야 이미지로 갱신된다. 또한, 아바타 객체(610)의 우측면을 촬영하는 것처럼 카메라(17)를 오른쪽으로 선회시킨 경우에는, 카메라(17)에 의해 촬영되어 취득되는 취득 이미지에 대하여, 아바타 객체(610) 등을 우측면에서 본 시야 이미지로 갱신된다.
도 30 ~ 도 32은, 가위바위보 게임 진행중에서의 사용자 단말(100)의 표시부(152)의 표시예를 나타내는 도면이다. 도 30은, 사용자 A가 소유하는 사용자 단말(100A)의 카메라(17)에 의해 촬영되어 취득된 취득 이미지 A(벽에 그림이 장식됨(decorated)과 더불어 책상이 놓여있는 방의 이미지)에 대하여 아바타 객체(610) 등이 배치되어 있는 표시예이다.
도 30(A)는, 예를 들어, 가상 공간(600A)내의 아바타 객체(610) 등이 도 28(A)에서 나타내는 상태일 때의 표시예를 나타내고 있다. 취득 이미지 A는, 수평 방향에서 촬영된 이미지이다. 이 때문에, 가상 카메라(620B)는, 수평 방향에서 AR용 가상 공간(600C)를 보는 위치에 배치된다. 그 결과, 도 30(A)에서는, 아바타 객체(610)을 정면에서 보게 된다. 도 30(A)에 도시된 바와 같이, 아바타 객체(610)가 취득 이미지 A 중에서 평면부인 바닥의 대략 중앙 위치에서 기립하고 있는 상태에서 표시되어, 해당 아바타 객체(610)를 기준으로 하여 해당 아바타 객체(610)의 우전방(도 28(A)와 같은 위치 관계)에 선택지 객체(281 ~ 283)이 배치되어 있다. 도 30(A)에서의 아바타 객체(610)는, 예를 들면 '무엇을 낼까~, 어느 것으로 할까~' 등 궁리(고민)하고 있는 모습(모션)과 함께 음성이 출력되고 있는 것 같은 장면을 나타내고 있다.
또한, 가위바위보 게임 진행중에서는, 각종 UI나 게임 정보 등이 표시부(152)에 표시된다. 도 30(A)에서는, 예를 들어, 선택용 UI(180), 룰 설명 표시(181), 일반 모드 전환용 아이콘(182a), 표시 사이즈 조정용 UI(183), 아이템 투입용 아이콘(185), 코멘트 입력용 아이콘(186) 등이 증강 현실 공간 내의 이미지에 중첩시켜 표시된다. 또한, 표시부(152)의 왼쪽 아래에는, 아바타 객체(610)를 대상으로 입력된 코멘트 내용을 표시하기 위한 코멘트 표시부(184)가 마련되어 있다.
룰 설명 표시(181)은, 가위바위보 게임에 대한 룰을 설명하기 위한 이미지다. 도 30(A)에서는, 예를 들어, '·다합쳐서 3판!', '·제한 시간 내에 버튼을 누르자!', '승리 50P', '비김 10P', '패배 0P'라는 메세지 등이 표시되어 있다.
선택용 UI(180)은, 사용자가 내는 손을 선택하기 위한 버튼 아이콘을 포함하고, 해당 버튼 아이콘에의 입력 조작(탭 조작)를 받아들이기 위한 UI이다. 이 때문에, 도 30(A)에 도시된 바와 같이, 선택용 UI(180)는, 아바타 객체(610)나, 코멘트 표시부(184), 아이템 투입용 아이콘(185), 코멘트 입력용 아이콘(186) 등 보다도 우선적으로 표시된다. 도 30(A)에서는 '내는 손을 선택하자!'라는 메시지 조치 메시지가 표시되는 것과 더불어, 그 아래 방향에서 왼쪽부터 묵에 대응하는 버튼 아이콘, 찌에 대응하는 버튼 아이콘, 빠에 대응하는 버튼 아이콘이 표시되어 있다. 이에 따라, 사용자는, 직관적으로 버튼 아이콘에 대한 터치 조작에 의해 내는 손을 선택할 수 있음을 인식 가능해진다. 또한, '내는 손을 선택하자!'의 메시지의 좌측에는, 내는 손을 선택할 수 있는 제한 시간(여기에서는 '10')이 표시되고, 해당 메시지의 우측에는, 해당 선택용 UI(180) 자체의 표시를 삭제하기 위한 'Х'버튼이 표시되어 있다.
사용자는, 내는 손의 선택을 끝내지 않았어도, 'Х'버튼을 선택함에 의해 선택용 UI(180)을 삭제할 수 있다. 이것은, 선택용 UI(180)이 표시되어 있으면, 선택용 UI(180)에서 아바타 객체(610)(캐릭터)나, 코멘트 표시부(184), 아이템 투입용 아이콘(185)이 숨겨져 버려서, 사용자에게 아바타 객체(610) 등의 이미지가 보이기 어렵게 되어 버리기 때문이다. 또한, 선택용 UI(180)을 삭제한 결과, 사용자가 제한 시간 내에 내는 손을 선택하지 않은 경우, 사용자가 내는 손은 자동으로 결정되면 된다. 또한, 선택용 UI(180)을 삭제한 상태에서는, 다시 선택용 UI(180)을 표시하기 위한 아이콘('게임으로 돌아간다'라는 메시지 아이콘 등)을 표시하고, 해당 아이콘에의 입력 조작에 의해 선택용 UI(180)가 다시 표시되도록 해도 되고, 플레이어의 지시에 따라 선택용 UI(180)가 다시 표시되도록 해도 되고, 어떤 조건의 성립(예를 들어, 제한 시간이 특정 값이 되는 것)에 의해, 선택용 UI(180)가 다시 표시되도록 해도 된다.
화면 사이즈 조정용 UI(183)는, 취득 이미지에 대해 배치하는 아바타 객체(610)나 선택지 객체(281 ~ 283)를 포함하는 시야 이미지의 표시 사이즈를 조정하기 위한 입력 조작을 받아들이기 위한 UI이다. 도 30(A)에서는, '캐릭터의 표시 사이즈 조정'이라는 메시지의 아래쪽에 입력 게이지가 표시되고, 해당 입력 게이지의 왼쪽단 위에 '소'가 표시되고, 해당 입력 게이지의 오른쪽단 위에 '대'가 표시되어 있다. 프로세서(10)는, 입력 게이지에 대한 입력 조작(탭 조작)을 받아들이는 것에 의해, 해당 입력 조작에 따라 시야 이미지에 포함되는 아바타 객체(610) 등의 표시 사이즈를 조정하는 처리를 수행한다.
도 30(A')는, 입력 게이지에 대해 표시 사이즈를 최대로 하는 입력 조작(예를 들어, 입력 게이지 오른쪽단을 탭 조작)이 수행된 경우의 표시예이다. 표시 사이즈 조정용 UI(183)의 게이지는, 입력 조작에 따라 최대가 됨과 더불어, 아바타 객체(610)나 선택지 객체(281 ~ 283)를 포함하는 시야 이미지의 표시 사이즈는, 도 30(A)보다도 크게 최대 사이즈로 표시되어 있다.
아바타 객체(610)나 선택지 객체(281 ~ 283)를 포함하는 시야 이미지가 배치될 때의 표시 사이즈는, 전술한 바와 같이, 해석된 평면부의 크기에 따라 결정된다. 이 때문에, 해석 결과에 따라서는, 취득 이미지에 대해 아바타 객체(610) 등이 극단적으로 크게 표시되어 버리는 경우나 반대로 작게 표시되어 버리는 경우가 생길 수 있다. 이러한 경우에, 입력 게이지에 대한 입력 조작에 의해, 아바타 객체(610) 등의 표시 사이즈를 취득 이미지에 비하여 적정한 표시 사이즈 또는 사용자가 선호하는 표시 사이즈로 조정할 수 있다.
일반 모드 전환용 아이콘(182a)는, 가위바위보 게임 중에서의 아바타 객체(610) 등을, 증강 현실 공간이 아니라 게임 플레이 단말(300) 측에서의 가상 공간(600A)와 같은 가상 공간 내에서 동작시키는 모드로 전환하기 위한 아이콘이다. 프로세서(10)는, 일반 모드 전환용 아이콘(182a)에 대한 입력 조작을 받아들임에 의해, 예를 들어, 도 8에 나타낸 사용자 단말(100) 측의 처리를 실행하여, 게임 플레이 단말(300)에서 가상 공간(600A)와 동기화하는 가상 공간(600B)를 규정하고, 해당 가상 공간(600B)내에서 아바타 객체(610) 등을 동작시켜서, 가상 카메라(620B)로부터의 시야 이미지를 표시한다. 이에 대해서는, 도 32를 이용하여 후술한다.
아이템 투입용 아이콘(185)은, 아이템을 투입하여 아바타 객체(610)에 부여하는 계기가 되는 아이콘이다. 아이템 투입용 아이콘(185)에 대한 입력 조작이 받아들여진 때에는, 복수 종류의 아이템으로부터 선택하여 투입하기 위한 윈도우가 표시된다. 전술한 바와 같이 선택용 UI(180)은, 아이템 투입용 아이콘(185)보다도 우선적으로 표시된다. 이 때문에, 선택용 UI(180)이 아이템 투입용 아이콘(185)에 중첩하여 표시되어 있는 경우에는, 해당 선택용 UI(180)의 표시를 지우지 않으면, 아이템 투입용 아이콘(185)에 대한 입력 조작을 유효하게 받아들이지 않도록 해도 된다. 또한, 선택용 UI(180)이 아이템 투입용 아이콘(185)에 중첩하여 표시되어 있는 경우라도, 해당 선택용 UI(180)의 표시를 유지한 채의 상태에서, 아이템 투입용 아이콘(185)에 대한 입력 조작을 유효하게 받아들이도록 해도 된다.
코멘트 입력용 아이콘(186)은, 아바타 객체(610)를 대상으로 코멘트를 입력하는 계기(기회)가 되는 아이콘이다. 코멘트 입력용 아이콘(186)에 대한 입력 조작이 받아들여진 경우에는, 코멘트를 입력하여 송신하기 위한 윈도우가 표시된다. 또한, 코멘트 입력용 아이콘(186)에 대해서는, 선택용 UI(180)가 중첩하여 표시될 일이 없는 위치에 표시되어 있지만, 아이템 투입용 아이콘(185)과 마찬가지로, 선택용 UI(180)의 표시를 지우지 않으면, 코멘트 입력용 아이콘(186)에 대한 입력 조작을 유효하게 받아들이지 않도록 해도 된다. 또한, 선택용 UI(180)가 표시되어 있는 경우라도, 해당 선택용 UI(180)의 표시를 유지한 채의 상태에서, 코멘트 입력용 아이콘(186)에 대한 입력 조작을 유효하게 받아들이도록 해도 된다. 코멘트 표시부(184)에서는, 아바타 객체(610)를 대상으로 입력된 코멘트 중 새로운 것부터 차례로 소정 개수분의 코멘트가 사용자 이름과 함께 표시된다.
도 30(B)는, 사용자가 내는 손을 선택했을 때의 표시예이다. 도 30(B)에서는, '묵'이 선택된 예를 보여준다. '묵'가 선택되면, 도 30(B)에 도시된 바와 같이, 선택용 UI(180) 내의 '묵' 버튼 아이콘이 선택된 상태(이중 동그라미로 둘러싸인 상태)로 갱신된다. 또한, 도 30(B)에서는, 제한 시간이 '7'로 되어 있기 때문에, 사용자는 나머지 7초를 남기고 내는 손을 결정한 것이 된다. 이에 대하여, 도 30(B)에서의 아바타 객체(610)에 대해서는, 선택지 객체(281 ~ 283)을 잡고(grab), '어느 것으로 할까~, 찌나 빠로 할까~' 등으로 고민하고 있는 모습(모션)과 함께 음성이 출력되고 있는 장면이 나타나 있다. 아바타 객체(610)는, 제한 시간이 경과한 후에, 플레이어의 타이밍에서 '가위바위보'라는 구호(외침)과 함께, 선택지 객체(281 ~ 283) 중 어느 하나를 위쪽으로 든다(올린다).
도 30(C)는, 제한 시간 경과 후에 있어서 아바타 객체(610)가 손을 냈을 때의 표시예이다. 도 30(C)에서는, 아바타 객체(610)에 의해 '찌'의 선택지 객체(282)가 올라가(들려져) 있다. 이에 따라, 아바타 객체(610)가 '찌'를 낸 것이 통지된다. 아바타 객체(610)이 손을 낸 때에는, 아바타 객체(610)가 내는 손으로 확정된 선택지 객체의 종류(묵, 찌, 빠)를 특정하기 위한 정보를 수신한다. 프로세서(10)는, 해당 정보에 기반하여, 사용자가 낸 손과 비교하여 사용자의 승패를 판정한다. 도 30에서는, 사용자 A가 '묵'을 선택하고 있었기 때문에, 사용자 A의 승리로 판정된다. 그 결과, 아바타 객체(610)의 위쪽에서 '승리'라는 메시지가 표시된다.
도 31은, 사용자 B가 소유하는 사용자 단말(100B)의 카메라(17)에 의해 촬영되어 취득된 취득 이미지 B(벽에 거울이 달려 있는 입구(entrance)의 이미지)에 대해 아바타 객체(610) 등이 배치되어 있는 표시예이다. 도 31에서도, 아바타 객체(610)가 취득 이미지 B 중에서 평면부인 바닥의 대략 중앙 위치에서 기립하고 있는 상태에서 표시되어, 해당 아바타 객체(610)을 기준으로 하여 해당 아바타 객체(610)의 오른쪽 전방에 선택지 객체(281 ~ 283)이 배치되어 있다.
도 31(A)는, 도 30(A)와 같은 타이밍에서의 사용자 단말(100B)의 표시예이다. 마찬가지로, 도 31(B) 및 도 31(C)는, 도 30(B) 및 도 30(C) 각각과 동일한 타이밍에서의 사용자 단말(100B)의 표시예이다. 도 31(A) ~ 도 31(C) 각각과, 도 30(A) ~ 도 30(C) 각각을 비교하면, 취득 이미지가 다른 것에 기인하여, 해당 취득 이미지에 대해 아바타 객체(610) 기립하고 있는 위치(즉, 가상 카메라(620B)로부터의 시야 이미지의 배치 위치)가 상이할 수 있지만, 공통의 게임 진행 정보에 기반하여 아바타 객체(610) 등이 동작하기 때문에, 아바타 객체(610) 및 선택지 객체(281 ~ 283)이 복수의 사용자 단말 간에 동기화한다.
한편, 사용자 B는, 제한 시간이 '7'로 되어 있는 도 31(B)에서 아직 내는 손을 선택하지 않았기 때문에, 어떤 버튼 아이콘에 대해서도 선택된 상태로 갱신되지 않았다. 그 후, 사용자 B는, 제한 시간 내에서 '빠'를 선택했다고 친다. 도 31(C)에서 도시한 바와 같이, 아바타 객체(610)에 의해 '찌'의 선택지 객체(282)를 들어서 '찌'를 내게 되므로(도 30(C)와 마찬가지), 사용자 B의 패가 된다. 이와 같이, 플레이어가 맡는(play) 아바타 객체(610) 등의 동작은, 복수의 사용자 단말간에서 같게 되지만, 가위바위보 게임의 결과에 대해서는, 사용자의 입력 조작에 따라 복수의 사용자 단말간에 다른 것이 된다.
도 32은, 가위바위보 게임 진행 중 어느 하나의 사용자가 소유하는 사용자 단말(100)에서, 일반 모드 전환용 아이콘(182a)에 대한 입력 조작이 받아들여진 후의 표시예를 나타내는 도면이다.
도 32(A)는, 도 30(A)나 도 31(A)를 표시하고 있는 타이밍에서 일반 모드 전환용 아이콘(182a)의 입력 조작이 받아들여진 경우의 표시예이다. 프로세서(10)는, 일반 모드 전환용 아이콘(182a)에 대한 입력 조작을 받아들이는 것에 의해, 예를 들어, 도 8에 나타낸 사용자 단말(100) 측의 처리를 실행하여, 게임 플레이 단말(300)에서의 가상 공간(600A)와 동기화하는 가상 공간(600B)를 규정한다. 이 때문에, 가상 공간(600B)내에서는, 아바타 객체(610)나 선택지 객체(281 ~ 283)뿐만 아니라, 화환 객체(284)나, 시청자 객체, 배경 객체 등의 객체가 배치된다. 또한, 프로세서(10)는, 해당 가상 공간(600B)내에서 게임 진행 정보에 기반하여 아바타 객체(610) 등을 동작시켜서, 가상 카메라(620B)로부터의 시야 이미지를 표시부(152)에 표시한다. 따라서, 도 30 및 도 31와 달리, 아바타 객체(610)의 배후에서 화환 객체(284)이 표시되는 것과 더불어, 바닥 객체나 배경 객체가 표시된다.
또한, 일반 모드 전환용 아이콘(182a)에 대한 입력 조작을 받아들여서 가상 공간(600B)내에서 아바타 객체(610) 등을 동작시키는 모드로 전환할 때에, 프로세서(10)는, 사용자 단말(100)의 터치 스크린(15)의 표시 영역 내에서 아바타 객체(610) 등의 표시 사이즈 및 표시 위치가 크게 변화하지 않도록 제어해도 된다. 예를 들어, 프로세서(10)는, 사용자 단말(100)의 터치 스크린(15)의 표시 영역 내에서 아바타 객체(610)의 표시 사이즈 및 표시 위치가 변화하지 않는 듯한 위치에 가상 카메라(620B)를 배치하도록 하여도 된다. 이에 따라, 가상 공간(600B)내에서 아바타 객체(610) 등을 동작시키는 모드로 전환하는 전후에서, 사용자가 주목하고 있는 아바타 객체(610) 등의 표시가 크게 변화해 버리는 것을 방지할 수 있다.
또한, 도 32(A)에서는, 일반 모드 전환용 아이콘(182a)를 대신하여, AR 모드 전환용 아이콘(182b)가 표시된다. AR 모드 전환용 아이콘(182b)는, 가위바위보 게임 중에서의 아바타 객체(610) 등을, 다시 증강 현실 공간 내에서 동작시키는 모드로 전환하기 위한 아이콘이다. 프로세서(10)는, AR 모드 전환용 아이콘(182b)에 대한 입력 조작을 받아들이는 것에 의해, 예를 들어, 도 29에 나타내는 사용자 단말(100) 측의 처리를 실행하여, 취득 이미지에 대하여 아바타 객체(610) 등이 배치된 증강 현실 공간 내에서, 해당 아바타 객체(610) 등을 동작시키는 모드로 전환한다. 또한, AR 모드 전환용 아이콘(182b)에 대한 입력 조작을 받아들이고 증강 현실 공간 내에서 아바타 객체(610) 등을 동작시키는 모드로 전환할 때에도, 프로세서(10)는, 사용자 단말(100)의 터치 스크린(15)의 표시 영역 내에서 아바타 객체(610) 등의 표시 사이즈 및 표시 위치가 크게 변화하지 않도록 제어해도 된다.
도 32(B) 및 도 32(C)는, 가상 공간(600B) 내에서 아바타 객체(610) 등을 동작시키고 있는 경우이고, 도 30(B) 및 도 30(C) 각각과 동일한 타이밍에서의 표시예이다. 예를 들어, 도 30(B)를 표시하는 타이밍에서 일반 모드 전환용 아이콘(182a)에의 입력 조작이 받아들여진 경우에는, 도 32(B)에 나타내는 표시예로 전환하고, 도 30(C)를 표시하고 있는 타이밍에서 일반 모드 전환용 아이콘(182a)에 대한 입력 조작이 받아들여진 경우에는, 도 32(C)에 나타내는 표시 예로 전환한다.
도 29 ~ 도 31에서는, 증강 현실 공간이, 카메라(17)로부터의 취득 이미지에 대해 가상 공간(600A)에서 일부 객체만을 배치시킨 공간인 예에 대하여 설명했다. 하지만, 카메라(17)로부터의 취득 이미지에 대해 배치하는 객체는, 플레이어가 맡는 아바타 객체(610)를 포함하는 것이라면 이에 한정되지 않고, 가상 공간(600A)에 배치되어 있는 모든 객체로 해도 된다. 즉, 증강 현실 공간은, 카메라(17)로부터의 취득 이미지에 대해 가상 공간(600A)와 같은 가상 공간 전체를 배치시켜 이루어지는 공간이어도 된다.
이 경우, 프로세서(10)는, 라이브 배포되는 콘텐츠의 종류(게임의 종류)에 따라, 카메라(17)로부터의 취득 이미지에 대하여, 가상 공간(600A)와 같은 가상 공간 전체를 배치하거나, 가상 공간(600A)에서의 일부의 객체만을 배치할지 여부를 특정하도록 해도 된다. 구체적으로, 아바타 객체(610)만 또는 아바타 객체(610)의 주위의 상황을 사용자가 특정할 수 있으면 게임을 진행할 수 있는 것 같은 종류의 라이브 게임(예를 들어, 도 9 및 도 10 등에서 도시된 게임이나, 가위바위보 게임)을 행하는 경우, 프로세서(10)는, 도 29 ~ 도 30 등에서 나타난 바와 같이, 카메라(17)로부터의 취득 이미지에 대하여, 가상 공간(600A)에서의 일부의 객체만을 배치시켜서, 아바타 객체(610) 등을 증강 현실 공간 내에서 동작시킨다.
이에 대하여, 아바타 객체(610)를 포함하는 가상 공간 전체를 사용자가 부감(俯瞰)할 수 있는 편이 게임을 진행하기 쉬워지는 것 같은 종류(유형)의 라이브 게임을 실시하는 경우, 프로세서(10)는, 카메라(17)로부터의 취득 이미지에 대하여, 가상 공간(600A)와 같은 가상 공간 전체를 미니어처화하여 배치시켜서, 아바타 객체(610) 등을 증강 현실 공간 내에서 동작시킨다. 가상 공간 전체를 사용자가 부감할 수 있는 편이 게임을 진행하기 쉬워지는 것 같은 종류의 라이브 게임으로는, 예를 들어, 도 11 및 도 12 등에서 도시한 라이브게임 등이 해당한다.
도 11 및 도 12은, 사용자 단말(100) 측에서 라이브 게임 진행 중에 게임 플레이 단말(300) 측의 가상 공간(600A)와 같은 가상 공간이 규정되어, 해당 가상 공간 중 가상 카메라(620B)의 시야 영역에 대응하는 시야 이미지가 나타나 있다. 도 33에서는, 카메라(17)로부터의 취득 이미지에 대하여, 전술한 가상 공간(600A) 전체를 미니어처화하여 배치시켜 이루어지는 증강 현실 공간을 생성하고, 해당 증강 현실 공간 내에서 아바타 객체(610) 등을 동작시키는 표시예에 대하여 설명한다.
도 33에서는, 카메라(17)에 의해 취득 이미지 C(큰 책상을 비스듬히 위쪽에서 촬영한 이미지)가 취득되어, 도 29의 스텝 S81에 의해 해당 취득 이미지 C 중에서 책상의 상판(top board)이 평면부로서 특정되어, 해당 평면부의 소정 위치가 가상 카메라(620B)로부터의 시야 이미지를 배치하는 배치 위치로서 설정된 것으로 한다. 또한, 도 33에서는, 가상 공간(600A) 전체가 AR용 가상 공간(600C)으로서 규정되어, 가상 카메라(620B)에 의해 AR용 가상 공간(600C) 전체를 비스듬히 위쪽에서 내려다보듯이 포착(capture)하고 있는 이미지를 시야 이미지로서 특정하여 있는 것으로 한다. 이 때문에, 도 33에 나타낸 바와 같이, 가상 공간(600A)와 같은 AR용 가상 공간(600C) 전체를 부감 가능하게 하는 시야 이미지가 책상 상판의 소정 위치에 배치되어 이루어지는 증강 현실 공간이 생성된다.
도 33(A)는, 도 11(A)의 타이밍에서의 가상 공간(600A) 전체가 AR용 가상 공간(600C)로 규정되어, 가상 카메라(620B)에 의해 AR용 가상 공간(600C) 전체를 비스듬히 위쪽에서 포착하고 있는 이미지가, 책상의 상판 상에 배치되어 이루어지는 증강 현실 공간이 표시되어 있다. 도 33(B)는, 도 11(C)의 타이밍에서 가상 공간(600A) 전체가 AR용 가상 공간(600C)로 규정되어서, 가상 카메라(620B)에 의해 AR용 가상 공간(600C) 전체를 비스듬히 위쪽에서 포착하고 있는 이미지가, 책상의 상판 상에 배치되어 이루어지는 증강 현실 공간이 표시되어 있다.
도 33(A) 및 도 33(B)의 AR용 가상 공간(600C)에서의 점선 둘레 내의 이미지는, 각각, 도 11(A) 및 도 11(C)에서 나타낸 이미지와 일치하고 있다. 또한, 도 33(A) 및 도 33(B)에서는, 가상 공간(600A) 전체가 미니어처화되어 있기 때문에, 도 11(A) 및 도 11(C)에서 표시되지 않은 부분의 이미지(점선 둘레 바깥)에 대해서도 나타나고 있다. 도 33(A) 및 도 33(B)의 AR용 가상 공간(600C)에서는, 도 11 등에서 도시한 바와 같이, 아바타 객체(610)를 포함하는 복수의 객체가 동작하고 있다. 이 때문에, 도 33(A) 및 도 33(B)에서 나타내는 증강 현실 공간에서도, 아바타 객체(610)를 포함하는 복수의 객체가 동작하게 된다.
또한, 도 33에서도 도 11 등과 마찬가지로, UI 이미지(711) 등을 포함하는 각종 아이콘이 표시되어 있다. 이 때문에, 예를 들어, 가상 공간 내에서 아바타 객체(610)를 향해 오고 있는 피라미 적 등의 수를 파악할 수 있는 것과 더불어, 해당 피라미 적을 발묶음 하는 것 같은 장애물 객체가 어디에 투입되어 있는지 라는 것을 사용자에게 파악시킨 후에, 아이템을 투입해야 하는가, 어느 위치에 투입해야 하는가 등에 대한 점에 대하여 검토시킨다는 재미를 사용자에게 제공할 수 있다.
또한, 도 33에서는, 도시하고 있지 않지만, 도 30 등과 마찬가지로, 일반 모드 전환용 아이콘(182a)이나 표시 사이즈 조정용 UI(183) 등을 표시하도록 해도 된다. 이 경우, 프로세서(10)는, 일반 모드 전환용 아이콘(182a)에 대한 입력 조작을 받아들임에 의해, 예를 들어, 도 8에 나타낸 사용자 단말(100) 측의 처리를 실행하여, 도 11 등에서 도시한 시야 이미지로 전환하도록 해도 된다. 또한, 프로세서(10)는, 표시 사이즈 조정용 UI(183)의 입력 게이지에 대한 입력 조작을 받아들임에 의해, 해당 입력 조작에 따라 책상 상판에 배치하는 AR용 가상 공간(600C) 전체의 표시 사이즈를 조정하는 처리를 실시하도록 해도 된다.
<본 실시 형태의 효과>
본 실시 형태에 따르면, 카메라(17)로부터 취득한 취득 이미지에 대해 아바타 객체(610)를 포함하는 객체를 배치시켜 이루어지는 증강 현실 공간 내에서, 아바타 객체(610) 등을 동작시킬 수가 있다. 이에 따라, 사용자의 눈앞의 현실 공간에서 아바타 객체(610) 등이 실제로 동작하는 것 같은 인상(현장감)을 사용자에 안겨줄 수 있다. 또한, 증강 현실 공간 내에서의 아바타 객체(610)은, 라이브로 맡고 있는 플레이어의 모션에 따라 움직이고, 해당 플레이어에 의한 음성을 발화한다. 이 때문에, 증강 현실 공간내에서의 아바타 객체(610)의 동작 등의 변화가 현격히 많아지고(플레이어에 따라 실질적으로 무한이 된다), 또한 현 상황에 따라 동작 · 발화 등을 시킬 수 있기 때문에, 사용자를 끌어들이는 것이 가능해진다.
또한, 증강 현실 공간 내에서 아바타 객체(610) 등을 동작시키고 있는 경우에는, 일반 모드 전환용 아이콘(182a)에 대한 입력 조작에 의해, 도 32에서 예시하는 바와 같이, 가상 공간 내에서 아바타 객체(610) 등을 동작시키는 모드로 전환할 수 있다. 또한, 가상 공간 내에서 아바타 객체(610) 등을 동작시키고 있는 경우에는, AR 모드 전환용 아이콘(182b)에 대한 입력 조작에 의해, 도 30 등에서 예시하는 바와 같이, 증강 현실 공간 내에서 아바타 객체(610) 등을 동작 모드로 전환할 수 있다. 이에 따라, 사용자의 취향 등에 맞춰서 모드를 선택할 수가 있어서, 사용자를 더 한층 끌어들이는 것이 가능해진다.
또한, 증강 현실 공간 내에서 아바타 객체(610) 등을 동작시키고 있는 경우에는, 표시 사이즈 조정용 UI(183)의 입력 게이지에 대한 입력 조작에 의해, 시야 이미지에 포함되는 아바타 객체(610) 등의 표시 사이즈를 사용자의 취향 등에 맞춰서 조정할 수 있다. 또한, 스텝 S80의 해석 결과에 기반하여 취득 이미지에 대해 아바타 객체(610) 등이 극단적으로 크게 표시되어 버리는 경우나 반대로 작게 표시되어 버린 경우라도, 아바타 객체(610) 등의 표시 사이즈를 취득 이미지에 대하여 적정한 표시 사이즈로 조정할 수 있다. 이 때문에, 위화감을 남긴 채로 게임을 진행시켜 버리는 것을 방지할 수 있다.
또한, 도 30 및 도 31 등에서 나타난 바와 같이, 취득 이미지에 배치하는 아바타 객체(610)의 동작에 대해서는 복수의 사용자 단말 간에서 동기화하는 한편, 증강 현실 공간 내의 이미지(해당 아바타 객체(610) 등의 배경)에 대해서는, 취득 이미지에 따라 복수의 사용자 단말 간에 다르게 할 수 있다. 이에 따라, 게임 진행 정보를 출력하는 게임 플레이 단말(300) 측의 처리 부담을 증대시키는 일이 없이, 증강 현실 공간의 변화(variation)를 증가시킬 수 있기(취득 이미지에 따라 실질적으로 무한이 되기) 때문에, 사용자를 끌어들이는 것이 가능하게 된다. 또한, 게임 결과(승패 등)에 대해서도 사용자로부터의 입력 조작에 따라 복수의 사용자 단말간에 다르게 할 수 있다. 이에 따라, 사용자가 승리한 경우에는 다른 사용자에 대한 우월감을 안겨줄 수 있고, 사용자가 패배한 경우에는 또 한번의 게임 플레이에 대한 의욕을 향상시킬 수가 있다.
또한, 증강 현실 공간 내에서 진행하는 게임은, 도 30이나 도 33 등에서 나타난 바와 같이 플레이어가 라이브로 진행하는 라이브 게임이다. 이에 따라, 사용자가 품는 현장감을 향상시킴과 더불어, 게임의 좋은 분위기(好趣)(흥취(興趣))을 향상시킬 수 있다.
또한, 라이브 게임 중 가위바위보 게임은, 선택용 UI(180)에 대한 사용자로부터의 입력 조작과, 아바타 객체(610)이 선택지 객체를 올리는 동작에 기반하여 진행하기 때문에, 게임의 좋은 분위기(好趣)를 향상시킬 수 있다.
또한, 사용자가 게임의 진행(예를 들면, 가위바위보 게임에서는 1회전, 2회전 등, 도 33에 도시하는 게임에서는 피라미 적의 수의 변동 등)에 따라, 플레이어에 대해 액션을 행하기 위한 UI(예를 들어, 선택용 UI(180), 아이템 투입 조작을 받아들이기 위한 UI 이미지(711))가 표시된다. 이에 따라, 게임 진행을 위한 사용자의 조작성을 향상시킬 수 있다.
또한, 도 30 및 도 33 등에서 나타난 바와 같이, 콘텐츠의 종류(라이브 게임의 종류)에 따라, 취득 이미지에 대하여 가상 공간의 일부를 배치할지, 가상 공간 전체를 배치할지를 구분할 수 있다. 이에 따라, 콘텐츠의 내용에 따라 상이한 증강 현실 공간을 생성하는 것이 가능해지며, 게임의 좋은 분위기(好趣)를 향상시킬 수 있다.
<변형 예>
이상에서 설명한 실시 형태의 변형 예 등을 이하에서 열거한다.
(1) 상기 실시 형태에서 증강 현실 공간을 구성하는 취득 이미지는, 카메라(17)에 의해 실시간으로 촬영된 이미지인 예에 대하여 설명했다. 그러나, 증강 현실 공간을 구성하는 취득 이미지는, 실시간으로 촬영된 이미지에 한정되지 않으며, 과거에 촬영한 이미지이어도 된다. 또한, 증강 현실 공간을 구성하는 취득 이미지는, 현실 공간의 다양한 장소에서 촬영된 이미지(파노라마 이미지 등을 포함함)를 제공하는 서비스 제공 장치(서버)에서 제공되는 이미지이어도 된다. 이 경우에 있어서 제공되는 이미지는, 예를 들어, 사용자 단말(100)이 존재하는 위치의 이미지이어도 되고, 또한, 맵 상을 이동하는 이른바 위치 게임을 실시하고 있는 경우에는 해당 맵에 대하여 사용자가 지정한 위치의 이미지이어도 된다.
또한, 증강 현실 공간의 생성에 있어서는, 취득한 취득 이미지를 그대로 이용하여, 그 위에 캐릭터 등을 중첩시켜서 터치 스크린(15)에 표시하는 예에 대해 설명했다. 그러나, 증강 현실 공간의 생성에 이용되는 취득 이미지에 대해서는, 소정의 가공 · 편집 처리를 수행하고, 해당 가공 · 편집 처리가 가해진 이미지에 캐릭터 등을 중첩시켜서 터치 스크린(15)에 표시하도록 해도 된다. 소정의 가공 · 편집 처리는, 예를 들어, 입력 조작에 따라, 하고 확장 · 축소 등을 실시하는 것이어도 되고, 또한, 현재의 상황(예를 들면, 시간, 날짜, 시간 등)에 따라, 그라데이션, 선명도(sharpness), 색 보정, 특수 효과 등을 수행하도록 해도 된다.
(2) 상기 실시 형태에서는, 가상 공간(600A)의 일부의 객체를 취득 이미지 상에 배치시켜 이루어지는 증강 현실 공간 내의 이미지를 표시하는 수법으로서, 도 28(B) 및 도 29를 참조하여 일례를 나타내었다. 하지만, 이러한 증강 현실 공간 내의 이미지를 표시하는 수법으로서는, 카메라(17)에 의해 취득한 취득 이미지에 대하여 아바타 객체(610) 등을 배치시켜 동작시키는 것이면 되고, 그 밖의 수법을 이용하는 것이어도 된다. 예를 들어, AR용 가상 공간(600C)내에서 가상 공간(600A)와 같도록 모든 객체(시청자 객체나, 바닥 객체, 배경 객체 등)을 배치시킨 후, 아바타 객체(610) 및 선택지 객체(281 ~ 283) 이외의 기타 객체(시청자 객체나 장식 객체)의 표시 설정을 비표시 설정으로 하고, 가상 카메라(620B)으로부터의 시야 이미지로서 아바타 객체(610) 및 선택지 객체(281 ~ 283)만이 포함되고, 그 밖의 객체가 포함되지 않도록 하고, 해당 시야 이미지를 카메라(17)로부터의 취득 이미지에 대해 중첩시키는 것에 의해 증강 현실 공간 내의 이미지를 생성하도록 해도 된다. 이 경우에 있어서 일반 모드 전환용 아이콘(182a)에 대한 입력 조작이 받아들여진 경우에는, AR용 가상 공간(600C)내에 있어서 배치되어 있지만 비표시 설정으로 되어 있는 객체(시청자 객체나, 바닥 객체, 배경 객체 등)에 대하여, 표시되는 설정으로 전환함에 의해, 증강 현실 공간이 아닌 가상 공간(600A)와 같은 가상 공간 내에서 아바타 객체(610) 등을 동작시키도록 해도 된다. 이에 따라, 일반 모드 이행시 등에 있어서의 처리를 간이화할 수 있음과 더불어 처리 부담을 경감시킬 수 있다.
(3) 상기 실시 형태에서의 아바타 객체(610)의 표시 태양은, 예를 들어, 증강 현실 공간의 생성에 이용되는 취득 이미지의 종류(예를 들면, 방(room)의 이미지, 쇼핑몰의 이미지, 풍경 이미지)에 따라 사용자마다 다를 수 있도록 해도 된다. 예를 들어, 게임 플레이 단말(300) 측으로부터 송신되는 게임 진행 정보가 동일하더라도, 취득 이미지가 방의 이미지인 사용자 단말에 대해서는, 아바타 객체(610)의 의상을 파자마로 해도 되고, 취득 이미지가 산의 이미지인 사용자 단말에 대해서는, 아바타 객체(610)의 의상을 등산복으로도 해도 된다. 이 경우, 아바타 객체(610)의 의상 데이터는, 각 사용자 단말(100) 측에서 미리 복수 종류 기억되어 있는 것처럼 해도 된다. 또한, 아바타 객체(610)의 표시 태양을 다르게 하는 대상은, 의상에 한하지 않고, 머리 모양, 피부색, 화장의 정도 등이어도 된다. 이에 따라, 게임 진행 정보를 출력하는 게임 플레이 단말(300) 측의 처리 부담을 증대시키지 않고, 증강 현실 공간의 변화(variation)를 늘릴 수 있기(취득 이미지에 따라 실질적으로 무한이 되기) 때문에, 사용자를 끌어들이는 것이 가능해진다.
이에 갈음하여 또는 추가하여, 아바타 객체(610)의 표시 태양은, 게임 중에서 사용자에 따른 과금에 따라, 다른 사용자의 사용자 단말에서 표시되는 표시 태양과 다르게 하는 것이 가능하도록 해도 된다. 또한, 아바타 객체(610)의 표시 태양은, 라이브 게임 등의 결과에 따라 갱신되는 사용자의 랭킹에 따라 다르도록 해도 된다.
(4) 상기 실시 형태에서 도 29의 스텝 S85에서는, 취득 이미지를 촬영했을 때의 카메라(17)의 촬영 방향(방향, 기울기 등)에 기반하여, 해당 촬영 방향과 같은 방향이 되도록 가상 카메라(620B)를 배치하는 예에 대하여 설명했다. 하지만, 가상 카메라(620B)를 초기 배치하는 위치 · 방향 등에 대해서는, 이에 한정되지 않으며, 콘텐츠의 종류에 따라 설정되는 것이나, 스텝 S80에서의 해석 결과에 기반하여 설정되는 것, 미리 정해져 있는 위치 · 방향 등으로 설정되는 것 등이어도 된다.
또한, 스텝 S85에서 가상 카메라(620B)가 초기 배치된 후에서는, 도 29의 스텝 S89에서 도시한 바와 같이, 카메라(17)의 위치, 방향, 및 경사 등의 변화를 동기화시켜서 가상 카메라(620B)를 제어하는 예에 대해 설명했다. 그러나, 초기 배치 후의 가상 카메라(620B)는, 사용자로부터의 입력 조작(예를 들면, 스와이프 조작, 터치 조작 등)에 따라, 위치, 방향, 및 기울기 등을 제어할 수 있도록 해도 된다. 이에 따라, 사용자로부터의 입력 조작에 따라, 가상 카메라(620B)의 시야 영역을 변경할 수 있고, 그 결과, 취득 이미지 상에 배치되는 시야 이미지를 변경할 수 있다. 구체적으로는, 스와이프 조작에 의해, 취득 이미지 상에 배치되는 아바타 객체 등(예를 들어, 아바타 객체(610)만(only), 아바타 객체(610) 및 그 밖의 객체, 가상 공간 전체)를 회전시키거나, 이동시키거나 할 수 있도록 해도 된다. 이에 따라, 예를 들어, 사용자 단말(100)의 위치나 방향 등을 충분히 조정할 수 없을 것 같은 좁은 스페이스에서 증강 현실 공간을 생성하고 아바타 객체(610) 등을 동작시키고 있는 경우라도, 터치 패널(15)에 대한 입력 조작에 의해 해당 아바타 객체(610) 등을 회전 · 이동시키는 것이 가능해진다.
(5) 상기 실시 형태에 있어서는, 증강 현실 공간 내에서 진행하는 콘텐츠로서, 도 30 등에 나타나는 가위바위보 게임 등의 플레이어와 사용자가 대전하는 라이브 게임이나, 도 33 등에 도시한 게임 등의 플레이어가 진행하는 게임에서 지원 등을 함으로써 참가하는 라이브 게임을 예시했다. 하지만, 증강 현실 공간 내에서 진행하는 라이브 게임은, 이에 한정되지 않으며, 플레이어와 사용자가 교대로 파칭코를 조작하고(operate), 전방에 배치되어 있는 트레이를 모방한 객체 상에, 해당 파칭코로 날린 과일을 모방한 객체를 얼마나 실을 수 있는가(어느 쪽이 실패하지 않고 실을 수 있는가)를 다투는 퍼즐 게임이어도 되고, 플레이어에 의해 조작되는 아바타 객체와, 복수의 사용자 각각에 의해 조작되는 병사(soldier) 객체와, 게임 프로그램에 의해 동작하는 적 객체가 등장하고, 사용자가 아바타 객체(610)을 지키면서 적 객체를 쓰러뜨리는 것 같은 참가형 게임이어도 된다. 퍼즐 게임은, 도 30 등에 도시하는 가위바위보 게임 등과 마찬가지로, 가상 공간(600A)의 일부의 객체를 취득 이미지 상에 배치하여 증강 현실 공간을 생성하고, 참가형 게임은, 도 33 등에 도시한 게임과 마찬가지로, 가상 공간(600A) 전체를 취득 이미지 상에 배치하여 증강 현실 공간을 생성하도록 해도 된다.
또한, 증강 현실 공간 내에서 진행하는 콘텐츠는, 라이브 게임에 한정하지 않으며, 예를 들어, 아바타 객체(610)가 라이브로 노래하는 모습이나, 라이브로 수다를 떨고 있는 모습을 사용자가 시청하기 위한 시청형의 콘텐츠이어도 된다.
(6) 상기 실시 형태에 있어서는, 사용자가 플레이어에 대하여 액션을 수행하기 위해, 도 30에서는 선택용 UI(180)를 표시하고, 도 33에서는 UI 이미지(711)을 표시하는 예에 대하여 설명했다. 이들은, 모두 게임 진행에 관련된 액션을 행하기 위한 UI라 할 수 있다. 하지만, 사용자가 플레이어에 대하여 수행하는 액션은, 게임 진행에 관련된 액션에 관련된 것에 한정되지 않으며, 전술한 바와 같은 사용자로부터 플레이어에 대하여 코멘트를 송신하는 액션이나, 보이스 채팅을 수행하는 액션 등이어도 된다. 이 경우, 증강 현실 공간 내의 이미지를 표시할 때, 전술한 코멘트 입력용 아이콘(186)이나, 보이스 채팅을 수행하기 위한 UI 이미지를 표시하도록 해도 된다.
(7) 상기 실시 형태에 있어서는, 사용자 단말(100)의 카메라(17)가, 표시부(152)가 설치되어 있는 면과 반대측의 면에 설치되어 있어서, 카메라(17)로 촬영하고 있을 때에 표시부(152)에 표시되는 취득 이미지가, 사용자가 직접 눈으로 확인하고 있는 현실의 풍경 내에 포함되어 있는(합치하고 있는) 것을 상정(想定)하고 있다. 하지만, 사용자 단말(100)의 카메라(17)는, 표시부(152)가 설치되어 있는 면과 반대측의 면에 설치되어 있는 것에 한정되지 않으며, 표시부(152)가 설치되어 있는 면에 설치되어 있는 것(사용자 자신이 포함되는 취득 이미지 상에 아바타 객체(610) 등을 배치시켜서 동작시키는 듯한 것)이어도 되고, 사용자 단말(100)과 통신 가능해지도록 해당 사용자 단말(100)과는 별개로 설치되어 있는 것이어도 된다.
<부기>
이상의 각 실시 형태에서 설명한 사항을, 이하에 부기한다.
(부기 1):
본 개시에 보여주는 일 실시 형태의 어떤 국면에 의하면, 프로세서, 메모리, 입력부, 표시부 및 촬상부를 구비하는 정보 단말 장치에서 실행되는 프로그램으로서, 상기 프로세서에게, 상기 촬상부에 의해 취득된 취득 이미지에 대하여 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 상기 표시부에 표시하는 스텝(S86, S90)과, 외부로부터 배포되는 데이터로서 상기 캐릭터를 라이브로 맡는 플레이어가 입력한 모션 데이터 및 음성 데이터에 기반하여, 상기 캐릭터를 상기 증강 현실 공간 내에서 동작시키는 스텝(S88)를 실행시킨다.
(부기 2):
(부기 1)에 있어서, 상기 프로세서에게, 상기 증강 현실 공간과는 달리 가상 공간 내에서 상기 캐릭터가 배치되어 있는 이미지를 상기 표시부에 표시하는 스텝 (S25)와,
사용자로부터의 입력 조작에 기반하여, 상기 표시부에 표시하는 이미지를 상기 증강 현실 공간 내의 이미지 및 상기 가상 공간 내의 이미지 중 어느 하나로 전환하는 스텝(예를 들면, 일반 모드 전환용 아이콘(182a)에 대한 입력 조작을 받아들였을 때의 처리, AR 모드 전환용 아이콘(182b)에 대한 입력 조작을 받아들였을 때의 처리, 도 30, 도 32 등)을 실행시킨다.
(부기 3):
(부기 1) 또는 (부기 2)에 있어서, 상기 프로세서에게, 상기 캐릭터의 크기를 사용자로부터의 입력 조작에 기반하여 조정하는 스텝(예를 들어, 표시 사이즈 조정용 UI(183)에 대한 입력 조작을 받아들인 때의 처리, 도 30(A') 등)을 실행시킨다.
(부기 4):
(부기 1) 내지 (부기 3) 중 어느 하나에 있어서, 상기 플레이어가 입력한 모션 데이터 및 음성 데이터는, 복수의 사용자가 사용하는 복수의 정보 단말 장치에 공통으로 배포되는 데이터이고, 상기 캐릭터의 동작은, 상기 복수의 정보 단말 장치에 있어서 같아지는 한편, 해당 캐릭터가 배치되는 증강 현실 공간의 이미지는, 상기 복수의 정보 단말 장치 각각의 촬상부에 의해 취득된 취득 이미지에 따라 상기 복수의 정보 단말 장치 간에 있어서 상이하다(도 30 및 도 31 참조).
(부기 5):
(부기 1) 내지 (부기 4) 중 어느 하나에 있어서, 외부로부터 배포되는 상기 데이터는, 게임을 라이브로 진행하고 있는 플레이어가 입력한 모션 데이터 및 음성 데이터를 포함하고, 상기 동작시키는 스텝은, 외부로부터 배포되는 상기 데이터에 기반하여 상기 게임을 진행시키는 것처럼 상기 캐릭터를 동작시킨다(도 30 및 도 31 참조).
(부기 6):
(부기 5)에 있어서, 상기 게임은, 상기 캐릭터의 동작(모션)과 상기 정보 단말 장치에 대한 사용자로부터의 입력 조작(선택용 UI(180)에 대한 입력 조작)에 기반하여 진행한다.
(부기 7):
(부기 6)에 있어서, 외부로부터 배포되는 상기 데이터는, 복수의 사용자가 사용하는 복수의 정보 단말 장치에 공통으로 배포되는 데이터이고, 상기 캐릭터의 동작은, 상기 복수의 정보 단말 장치 간에서 같게 되는 한편, 상기 게임의 결과는, 상기 복수의 정보 단말 장치 각각에 대한 사용자로부터의 입력 조작에 따라 상기 복수의 정보 단말 장치 간에 상이하다(도 30 및 도 31 참조).
(부기 8):
(부기 1) 내지 (부기 7) 중 어느 하나에 있어서, 상기 프로세서에게, 사용자가 상기 플레이어에 대한 액션을 행하기 위한 UI(User Interface)를 상기 표시부에 표시하는 스텝(도 30 및 도 33 등)를 실행시킨다.
(부기 9):
(부기 8)에 있어서, 외부로부터 배포되는 상기 데이터는, 게임을 진행하고 있는 플레이어가 입력한 모션 데이터 및 음성 데이터를 포함하고, 상기 동작시키는 스텝은, 상기 증강 현실 공간 내에서 외부로부터 배포되는 상기 데이터에 기초하여 상기 게임을 진행하고 있는 것처럼 상기 캐릭터를 동작시키고, 상기 UI에는, 상기 게임의 진행에 따라 상기 액션을 행하기 위한 UI(선택용 UI(180), UI 이미지(711))가 포함된다.
(부기 10):
(부기 1) 내지 (부기 9) 중 어느 하나에 있어서, 외부로부터 배포되는 상기 데이터에는, 가상 공간 내에서 상기 캐릭터가 배치되어 있는 이미지를 상기 표시부에 표시 가능하게 하기 위한 데이터가 포함되고, 상기 증강 현실 공간 내의 이미지를 상기 표시부에 표시하는 스텝은, 배포되는 상기 데이터가 제1 유형(종류)의 콘텐츠 데이터인 경우에는, 상기 취득 이미지에 대하여, 상기 캐릭터를 포함하는 상기 가상 공간 전체가 배치되어 있는 이미지를 상기 표시부에 표시하고(도 33), 배포되는 상기 데이터가 제2 유형(종류)의 콘텐츠 데이터인 경우에는, 상기 취득 이미지에 대하여, 상기 캐릭터를 포함하는 상기 가상 공간의 일부가 배치되어 있는 이미지를 상기 표시부에 표시한다(도 30).
(부기 11):
본 개시에 보여주는 일 실시 형태의 어떤 국면에 의하면, 프로세서, 메모리, 입력부, 표시부 및 촬상부를 구비하는 정보 단말 장치가 실행하는 방법으로서, 상기 촬상부에 의해 취득된 취득 이미지에 대하여 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 상기 표시부에 표시하는 스텝(S86, S90)과, 외부로부터 배포되는 데이터로서 상기 캐릭터를 라이브로 맡는 플레이어가 입력한 모션 데이터 및 음성 데이터에 기반하여, 상기 캐릭터를 상기 증강 현실 공간 내에서 동작시키는 스텝(S88)을 구비한다.
(부기 12):
본 개시에 나타내는 일 실시 형태의 어떤 국면에 의하면, 프로세서, 메모리, 입력부, 표시부 및 촬상부를 구비하는 정보 단말 장치로서, 상기 촬상부에 의해 취득된 취득 이미지에 대하여 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 상기 표시부에 표시하고(S86, S90), 외부로부터 배포되는 데이터로서 상기 캐릭터를 라이브로 맡는 플레이어가 입력한 모션 데이터 및 음성 데이터에 기반하여, 상기 캐릭터를 상기 증강 현실 공간 내에서 동작시킨다(S88).
[소프트웨어에 의한 실현 예]
사용자 단말(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 (12)
- 프로세서, 메모리, 입력부, 표시부, 및 촬상부를 구비하는 정보 단말 장치에서 실행되는 프로그램으로서,
상기 프로세서에게,
상기 촬상부에 의해 취득된 취득 이미지에 대하여 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 상기 표시부에 표시하는 스텝과,
외부로부터 배포되는 데이터로서 상기 캐릭터를 라이브로 맡는 플레이어가 입력한 모션 데이터 및 음성 데이터에 기반하여, 상기 캐릭터를 상기 증강 현실 공간 내에서 동작시키는 스텝을 실행시키는, 프로그램. - 제1항에 있어서,
상기 프로세서에게,
상기 증강 현실 공간과는 달리 가상 공간 내에서 상기 캐릭터가 배치되어 있는 이미지를 상기 표시부에 표시하는 스텝과,
사용자로부터의 입력 조작에 기반하여, 상기 표시부에 표시하는 이미지를 상기 증강 현실 공간 내의 이미지 및 상기 가상 공간 내의 이미지 중 어느 하나로 전환하는 스텝을 실행시키는, 프로그램. - 제1항 또는 제2항에 있어서, 상기 프로세서에게,
상기 캐릭터의 크기를 사용자로부터의 입력 조작에 기반하여 조정하는 스텝을 실행시키는, 프로그램. - 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 플레이어가 입력한 모션 데이터 및 음성 데이터는, 복수의 사용자가 사용하는 복수의 정보 단말 장치에 공통으로 배포되는 데이터이며,
상기 캐릭터의 동작은, 상기 복수의 정보 단말 장치 간에 있어서 같아지는 한편, 해당 캐릭터가 배치되는 증강 현실 공간의 이미지는, 상기 복수의 정보 단말 장치 각각의 촬상부에 의해 취득된 취득 이미지에 따라 상기 복수의 정보 단말 장치 간에 있어서 상이한, 프로그램. - 제1항 내지 제4항 중 어느 한 항에 있어서, 외부로부터 배포되는 상기 데이터는, 게임을 라이브로 진행하고 있는 플레이어가 입력한 모션 데이터 및 음성 데이터를 포함하고,
상기 동작시키는 스텝은, 외부로부터 배포되는 상기 데이터에 기반하여 상기 게임을 진행하는 것처럼 상기 캐릭터를 동작시키는, 프로그램. - 제5항에 있어서, 상기 게임은, 상기 캐릭터의 동작과 상기 정보 단말 장치에 대한 사용자로부터의 입력 조작에 기반하여 진행하는, 프로그램.
- 제6항에 있어서, 외부로부터 배포되는 상기 데이터는, 복수의 사용자가 사용하는 복수의 정보 단말 장치에 공통으로 배포되는 데이터이며,
상기 캐릭터의 동작은, 상기 복수의 정보 단말 장치 간에 있어서 같아지는 한편, 상기 게임의 결과는, 상기 복수의 정보 단말 장치 각각에 대한 사용자로부터의 입력 조작에 따라 상기 복수의 정보 단말 장치 간에 상이한, 프로그램. - 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 프로세서에게,
사용자가 상기 플레이어에 대하여 액션을 행하기 위한 UI(User Interface)를 상기 표시부에 표시하는 스텝을 실행시키는, 프로그램. - 제8항에 있어서, 외부로부터 배포되는 상기 데이터는, 게임을 진행하고 있는 플레이어가 입력한 모션 데이터 및 음성 데이터를 포함하고,
상기 동작시키는 스텝은, 상기 증강 현실 공간 내에서 외부로부터 배포되는 상기 데이터에 기반하여 상기 게임을 진행하는 것처럼 상기 캐릭터를 동작시키고,
상기 UI에는, 상기 게임의 진행에 따라 상기 액션을 행하기 위한 UI가 포함되는, 프로그램. - 제1항 내지 제9항 중 어느 한 항에 있어서, 외부로부터 배포되는 상기 데이터에는, 가상 공간 내에서 상기 캐릭터가 배치되어 있는 이미지를 상기 표시부에서 표시 가능하게 하기 위한 데이터가 포함되고,
상기 증강 현실 공간 내의 이미지를 상기 표시부에 표시하는 스텝은,
배포되는 상기 데이터가 제1 종류의 콘텐츠 데이터인 경우에는, 상기 취득 이미지에 대해, 상기 캐릭터를 포함하는 상기 가상 공간 전체가 배치되어 있는 이미지를 상기 표시부에 표시하고,
배포되는 상기 데이터가 제2 종류의 콘텐츠 데이터인 경우에는, 상기 취득 이미지에 대해, 상기 캐릭터를 포함하는 상기 가상 공간의 일부가 배치되어 있는 이미지를 상기 표시부에 표시하는, 프로그램. - 프로세서, 메모리, 입력부, 표시부 및 촬상부를 구비하는 정보 단말 장치가 실행하는 방법으로서,
상기 촬상부에 의해 취득된 취득 이미지에 대하여 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 상기 표시부에 표시하는 스텝과,
외부로부터 배포되는 데이터로서 상기 캐릭터를 라이브로 맡는 플레이어가 입력한 모션 데이터 및 음성 데이터에 기반하여, 상기 캐릭터를 상기 증강 현실 공간 내에서 동작시키는 스텝을 구비하는, 방법. - 프로세서, 메모리, 입력부, 표시부 및 촬상부를 구비하는 정보 단말 장치로서, 상기 촬상부에 의해 취득된 취득 이미지에 대하여 캐릭터가 배치되어 있는 증강 현실 공간 내의 이미지를 상기 표시부에 표시하고,
외부에서 배포되는 데이터로서 상기 캐릭터를 라이브로 맡는 플레이어가 입력한 모션 데이터 및 음성 데이터에 기반하여, 상기 캐릭터를 상기 증강 현실 공간 내에서 동작시키는, 정보 단말 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019086380A JP6776400B1 (ja) | 2019-04-26 | 2019-04-26 | プログラム、方法、および情報端末装置 |
PCT/JP2020/024304 WO2020218625A1 (ja) | 2019-04-26 | 2020-06-22 | プログラム、方法、および情報端末装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230015826A true KR20230015826A (ko) | 2023-01-31 |
Family
ID=72938089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217038400A KR20230015826A (ko) | 2019-04-26 | 2020-06-22 | 프로그램, 방법, 및 정보 단말 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220233956A1 (ko) |
EP (1) | EP3960258A4 (ko) |
JP (1) | JP6776400B1 (ko) |
KR (1) | KR20230015826A (ko) |
CN (1) | CN114080259A (ko) |
WO (1) | WO2020218625A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7332562B2 (ja) * | 2019-04-26 | 2023-08-23 | 株式会社コロプラ | プログラム、方法、および情報端末装置 |
JP7202981B2 (ja) | 2019-06-28 | 2023-01-12 | グリー株式会社 | 動画配信システム、プログラム、及び情報処理方法 |
KR102638162B1 (ko) * | 2020-01-30 | 2024-02-20 | 아마텔러스 인크. | 영상 배신 장치, 영상 배신 시스템, 영상 배신 방법 및 프로그램 |
JP7083380B2 (ja) * | 2020-09-28 | 2022-06-10 | グリー株式会社 | コンピュータプログラム、方法及びサーバ装置 |
EP4240019A4 (en) * | 2020-10-27 | 2024-06-05 | Amatelus Inc. | VIDEO DISTRIBUTION DEVICE, VIDEO DISTRIBUTION SYSTEM, VIDEO DISTRIBUTION METHOD AND PROGRAM |
CN113094592A (zh) * | 2021-03-01 | 2021-07-09 | 浙江工业大学 | 一种基于剪纸文化传承与体验的app终端交互*** |
WO2023120747A1 (ko) * | 2021-12-20 | 2023-06-29 | (주)에어패스 | 음성인식기반 단축키 xr인터렉티브 연동시스템 및 이를 이용한 연동 방법 |
WO2023171355A1 (ja) * | 2022-03-07 | 2023-09-14 | ソニーセミコンダクタソリューションズ株式会社 | 撮像システムおよび映像処理方法、並びにプログラム |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7073129B1 (en) * | 1998-12-18 | 2006-07-04 | Tangis Corporation | Automated selection of appropriate information based on a computer user's context |
US6917370B2 (en) * | 2002-05-13 | 2005-07-12 | Charles Benton | Interacting augmented reality and virtual reality |
JP2003346190A (ja) * | 2002-05-29 | 2003-12-05 | Canon Inc | 画像処理装置 |
US8419545B2 (en) * | 2007-11-28 | 2013-04-16 | Ailive, Inc. | Method and system for controlling movements of objects in a videogame |
US20130278631A1 (en) * | 2010-02-28 | 2013-10-24 | Osterhout Group, Inc. | 3d positioning of augmented reality information |
GB2501929B (en) * | 2012-05-11 | 2015-06-24 | Sony Comp Entertainment Europe | Apparatus and method for augmented reality |
IL308285B1 (en) * | 2013-03-11 | 2024-07-01 | Magic Leap Inc | System and method for augmentation and virtual reality |
US20150234501A1 (en) * | 2014-02-18 | 2015-08-20 | Merge Labs, Inc. | Interpupillary distance capture using capacitive touch |
US10203762B2 (en) * | 2014-03-11 | 2019-02-12 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
US10852838B2 (en) * | 2014-06-14 | 2020-12-01 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
US10338687B2 (en) * | 2015-12-03 | 2019-07-02 | Google Llc | Teleportation in an augmented and/or virtual reality environment |
US20170293351A1 (en) * | 2016-04-07 | 2017-10-12 | Ariadne's Thread (Usa), Inc. (Dba Immerex) | Head mounted display linked to a touch sensitive input device |
US10471353B2 (en) * | 2016-06-30 | 2019-11-12 | Sony Interactive Entertainment America Llc | Using HMD camera touch button to render images of a user captured during game play |
US20180136814A1 (en) * | 2016-07-22 | 2018-05-17 | Zyndo, LLC | Systems and methods for multi-dimensional augmented and virtual reality digital media integration |
JP6955861B2 (ja) * | 2016-12-16 | 2021-10-27 | 株式会社バンダイナムコエンターテインメント | イベント制御システム及びプログラム |
JP6527182B2 (ja) * | 2017-02-03 | 2019-06-05 | Kddi株式会社 | 端末装置、端末装置の制御方法、コンピュータプログラム |
CN110325251A (zh) * | 2017-02-28 | 2019-10-11 | 史克威尔·艾尼克斯有限公司 | 游戏程序以及游戏程序控制方法 |
GB201709199D0 (en) * | 2017-06-09 | 2017-07-26 | Delamont Dean Lindsay | IR mixed reality and augmented reality gaming system |
US20190196690A1 (en) * | 2017-06-23 | 2019-06-27 | Zyetric Virtual Reality Limited | First-person role playing interactive augmented reality |
US20190057551A1 (en) * | 2017-08-17 | 2019-02-21 | Jpmorgan Chase Bank, N.A. | Systems and methods for combined augmented and virtual reality |
GB201805650D0 (en) * | 2018-04-05 | 2018-05-23 | Holome Tech Limited | Method and apparatus for generating augmented reality images |
US10198871B1 (en) * | 2018-04-27 | 2019-02-05 | Nicholas T. Hariton | Systems and methods for generating and facilitating access to a personalized augmented rendering of a user |
US10994201B2 (en) * | 2019-03-21 | 2021-05-04 | Wormhole Labs, Inc. | Methods of applying virtual world elements into augmented reality |
-
2019
- 2019-04-26 JP JP2019086380A patent/JP6776400B1/ja active Active
-
2020
- 2020-06-22 CN CN202080031299.0A patent/CN114080259A/zh active Pending
- 2020-06-22 US US17/606,633 patent/US20220233956A1/en active Pending
- 2020-06-22 KR KR1020217038400A patent/KR20230015826A/ko unknown
- 2020-06-22 EP EP20795721.8A patent/EP3960258A4/en active Pending
- 2020-06-22 WO PCT/JP2020/024304 patent/WO2020218625A1/ja unknown
Non-Patent Citations (1)
Title |
---|
비특허문헌1: MoguLive, VTuber의 세계와 현실을 잇는 AR 어플 '엘미나AR' 배포 개시, 2018년 6월 18일, [online], 헤이세이 31년 4월 23일 검색, URL, https://www.moguravr.com/vtuber-elmina-ar/ |
Also Published As
Publication number | Publication date |
---|---|
JP6776400B1 (ja) | 2020-10-28 |
WO2020218625A1 (ja) | 2020-10-29 |
CN114080259A (zh) | 2022-02-22 |
EP3960258A1 (en) | 2022-03-02 |
US20220233956A1 (en) | 2022-07-28 |
EP3960258A4 (en) | 2023-05-24 |
JP2020182500A (ja) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20230015826A (ko) | 프로그램, 방법, 및 정보 단말 장치 | |
JP6776393B2 (ja) | 視聴プログラム、視聴方法、および情報端末装置 | |
JP2021053181A (ja) | プログラム、方法、および視聴端末 | |
WO2021039346A1 (ja) | プログラム、方法、および情報処理端末 | |
JP2020157095A (ja) | ゲームプログラム、ゲーム方法、および情報端末装置 | |
JP2021010181A (ja) | 視聴プログラム、視聴方法、および情報端末装置 | |
KR20220052363A (ko) | 프로그램, 방법, 및 단말 장치 | |
JP2020156739A (ja) | ゲームプログラム、ゲーム方法、および情報端末装置 | |
KR20220024630A (ko) | 게임 프로그램, 게임 방법, 및 단말 장치 | |
KR20220024602A (ko) | 게임 프로그램, 게임 방법, 및 정보 단말 장치 | |
JP7332562B2 (ja) | プログラム、方法、および情報端末装置 | |
WO2020262332A1 (ja) | ゲームプログラム、ゲーム方法、および情報端末装置 | |
JP6818106B1 (ja) | プログラム、方法、および視聴端末 | |
JP6776425B1 (ja) | プログラム、方法、および配信端末 | |
JP6776409B1 (ja) | プログラム、方法、および端末装置 | |
JP6952730B2 (ja) | プログラム、方法、情報処理装置、およびシステム | |
JP7191181B2 (ja) | プログラム、方法、および情報端末装置 | |
JP7377790B2 (ja) | ゲームプログラム、ゲーム方法、および情報端末装置 | |
JP2022112769A (ja) | プログラム、方法、および情報端末装置 | |
JP2021053455A (ja) | プログラム、方法、および視聴端末 | |
JP2021053358A (ja) | プログラム、方法、および視聴端末 | |
JP2021053401A (ja) | プログラム、方法、および配信端末 |