KR20220052363A - 프로그램, 방법, 및 단말 장치 - Google Patents

프로그램, 방법, 및 단말 장치 Download PDF

Info

Publication number
KR20220052363A
KR20220052363A KR1020227010229A KR20227010229A KR20220052363A KR 20220052363 A KR20220052363 A KR 20220052363A KR 1020227010229 A KR1020227010229 A KR 1020227010229A KR 20227010229 A KR20227010229 A KR 20227010229A KR 20220052363 A KR20220052363 A KR 20220052363A
Authority
KR
South Korea
Prior art keywords
user
image
game
character
display
Prior art date
Application number
KR1020227010229A
Other languages
English (en)
Inventor
나루아츠 바바
준야 후쿠시게
Original Assignee
가부시키가이샤 코로프라
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시키가이샤 코로프라 filed Critical 가부시키가이샤 코로프라
Publication of KR20220052363A publication Critical patent/KR20220052363A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5252Changing parameters of virtual cameras using two or more virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character changes room or displaying a rear-mirror view in a car-driving game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/65Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/847Cooperative playing, e.g. requiring coordinated actions from several players to achieve a common goal
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing 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 on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/428Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Processing Or Creating Images (AREA)

Abstract

수행자의 동작에 연동하여 움직이는 제1 캐릭터를 포함하는 가상 공간의 영상을 표시 가능하게 하기 위한 제1 표시용 데이터를 수신한다. 제1 표시용 데이터에 기초하여, 가상 공간 내에서 상기 제1 캐릭터가 동작하는 영상을 표시한다. 제1 캐릭터에는 미리 정해진 제1 객체가 관련지어져 있고, 제1 객체의 표시 태양은 소정의 룰에 따라 변경된다.

Description

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

  1. 프로세서를 포함하는 단말 장치에서 실행되는 프로그램으로서, 상기 프로세서에게,
    수행자의 동작에 연동하여 움직이는 제1 캐릭터를 포함하는 가상 공간의 영상을 표시 가능하게 하기 위한 제1 표시용 데이터를 수신하는 스텝과,
    상기 제1 표시용 데이터에 기초하여, 상기 가상 상기 공간 내에서 상기 제1 캐릭터가 동작하는 영상을 표시하는 스텝을 실행시키고,
    상기 제1 캐릭터에는 미리 정해진 제1 객체가 연관지어져 있고,
    상기 제1 객체의 표시 태양은 소정의 룰로 변경되는, 프로그램.
  2. 제1항에 있어서,
    상기 프로세서에게,
    수행자의 동작에 연동하여 움직이는 제2 캐릭터를 포함하는 가상 공간의 영상을 표시 가능하게 하기 위한 제2 표시용 데이터를 수신하는 스텝과,
    상기 제2 표시용 데이터에 기초하여, 상기 가상 공간 내에서 상기 제2 캐릭터가 동작하는 영상을 표시하는 스텝을 실행시키고,
    상기 제2 캐릭터에는 상기 제1 객체와 동종인 제2 객체가 연관지어져 있고,
    상기 제2 객체의 표시 태양은 고정되어 있는, 프로그램.
  3. 제1항 또는 제2항에 있어서,
    상기 제1 객체의 표시 태양은, 배포 기간마다 지난번 배포 기간에서의 표시 태양과는 상이한 표시 태양으로 변경되는, 프로그램.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 표시용 데이터는 외부로부터 배포되는 데이터로서, 수행자가 입력한 모션에 대응하는 모션 데이터를 포함하고,
    상기 표시하는 스텝은 상기 모션 데이터에 기초하여 상기 가상 공간 내에서 상기 제1 캐릭터를 실시간으로 동작시키고, 상기 가상 공간에서 해당 제1 캐릭터가 동작하는 영상을 표시하는, 프로그램.
  5. 제4항에 있어서,
    상기 프로세서에게,
    상기 소정의 룰에 따라 변경된 제1 객체의 표시 태양을 특정하기 위한 제1 데이터를 수신하는 스텝과,
    상기 제1 데이터에 기초하여 상기 제1 객체의 표시 태양을 설정하는 스텝을 실행시키는, 프로그램.
  6. 제4항 또는 제5항에 있어서,
    상기 프로세서에게,
    시점을 특정하기 위한 태양의 적어도 일부가 상이한 복수 종류의 시청 모드 중의 어느 하나로 설정하는 스텝을 실행시키고,
    상기 표시하는 스텝은, 특정되는 시점에서 본 상기 가상 공간의 영상을 표시하고,
    상기 복수 종류의 시청 모드 중에서, 제1 시청 모드인 경우에는 상기 제1 객체를 표시하는 위치로 시점을 이동 가능하고, 상기 제1 시청 모드 이외의 모드인 경우에는 상기 제1 객체를 표시하는 위치로 시점을 이동 불가능한, 프로그램.
  7. 제6항에 있어서,
    상기 단말 장치는, 해당 단말 장치의 위치 및 방향을 검지하는 검지부와 터치 스크린을 포함하고,
    상기 제1 시청 모드는, 상기 검지부에 의해 검지된 위치 및 방향에 기초하여 시점을 특정 가능한 시청 모드이며,
    상기 복수 종류의 시청 모드는, 상기 터치 스크린에 대한 터치 조작에 기초하여 시점을 특정하는 제2 시청 모드를 포함하고,
    상기 복수 종류의 시청 모드 중에서 상기 제2 시청 모드인 경우에는, 상기 제1 객체를 표시하는 위치로 시점을 이동 불가능한, 프로그램.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 표시용 데이터는, 외부로부터 배포되는 데이터로서, 상기 소정의 룰로 표시 태양이 변경된 제1 객체가 연관지어져 있는 제1 캐릭터가 상기 가상 공간 내에서 동작하는 영상을 포함하는 동영상 데이터이며,
    상기 표시하는 스텝은, 상기 동영상 데이터에 기초하여 상기 가상 공간 내에서 상기 제1 캐릭터가 동작하는 영상을 표시하는, 프로그램.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 제1 캐릭터는 미리 정해진 제3 객체와 연관지어져 있고,
    상기 제3 객체는 상기 제1 객체의 적어도 일부를 덮는 객체인, 게임 프로그램.
  10. 프로세서를 포함하는 단말 장치에서 실행되는 방법으로서,
    수행자의 동작에 연동하여 움직이는 제1 캐릭터를 포함하는 가상 공간의 영상을 표시 가능하게 하기 위한 제1 표시용 데이터를 수신하는 스텝과,
    상기 제1 표시용 데이터에 기초하여 상기 가상 공간 내에서 상기 제1 캐릭터가 동작하는 영상을 표시하는 스텝을 포함하고,
    상기 제1 캐릭터에는 미리 정해진 제1 객체가 연관지어져 있고,
    상기 제1 객체의 표시 태양은 소정의 룰로 변경되는, 방법.
  11. 프로세서를 포함하는 단말 장치로서,
    수행자의 동작에 연동하여 움직이는 제1 캐릭터를 포함하는 가상 공간의 영상을 표시 가능하게 하기 위한 제1 표시용 데이터를 수신하고,
    상기 제1 표시용 데이터에 기초하여 상기 가상 공간 내에서 상기 제1 캐릭터가 동작하는 영상을 하고,
    상기 제1 캐릭터에는, 미리 정해진 제1 객체가 연관지어져 있고,
    상기 제1 객체의 표시 태양은 소정의 룰로 변경되는, 단말 장치.
KR1020227010229A 2019-08-30 2020-08-06 프로그램, 방법, 및 단말 장치 KR20220052363A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2019-157900 2019-08-30
JP2019157900A JP6726345B1 (ja) 2019-08-30 2019-08-30 プログラム、方法、および端末装置
PCT/JP2020/030182 WO2021039347A1 (ja) 2019-08-30 2020-08-06 プログラム、方法、および端末装置

Publications (1)

Publication Number Publication Date
KR20220052363A true KR20220052363A (ko) 2022-04-27

Family

ID=71663903

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227010229A KR20220052363A (ko) 2019-08-30 2020-08-06 프로그램, 방법, 및 단말 장치

Country Status (6)

Country Link
US (1) US20220297006A1 (ko)
EP (1) EP4023310A4 (ko)
JP (1) JP6726345B1 (ko)
KR (1) KR20220052363A (ko)
CN (1) CN114340749A (ko)
WO (1) WO2021039347A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022147265A (ja) * 2021-03-23 2022-10-06 株式会社コロプラ プログラム、方法、および情報処理装置
JP7317325B1 (ja) * 2022-04-27 2023-07-31 グリー株式会社 情報処理システム、情報処理方法およびコンピュータプログラム
JP7445272B1 (ja) 2023-03-31 2024-03-07 グリー株式会社 動画処理方法、動画処理システム、及び動画処理プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0120930Y2 (ko) 1983-11-29 1989-06-22

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5843112A (ja) * 1981-09-09 1983-03-12 株式会社日立製作所 密閉形制御盤
JPS59115808A (ja) * 1982-12-23 1984-07-04 旭硝子株式会社 水硬性材料用補強材
JPS63132727A (ja) 1986-11-22 1988-06-04 Zeniya Alum Seisakusho:Kk プレス用回転加工装置
US6139433A (en) * 1995-11-22 2000-10-31 Nintendo Co., Ltd. Video game system and method with enhanced three-dimensional character and background control due to environmental conditions
US7445549B1 (en) * 2001-05-10 2008-11-04 Best Robert M Networked portable and console game systems
US20050223328A1 (en) * 2004-01-30 2005-10-06 Ashish Ashtekar Method and apparatus for providing dynamic moods for avatars
US8187104B2 (en) * 2007-01-29 2012-05-29 Sony Online Entertainment Llc System and method for creating, editing, and sharing video content relating to video game events
KR101335346B1 (ko) * 2008-02-27 2013-12-05 소니 컴퓨터 엔터테인먼트 유럽 리미티드 장면의 심도 데이터를 포착하고, 컴퓨터 액션을 적용하기 위한 방법들
US8334842B2 (en) * 2010-01-15 2012-12-18 Microsoft Corporation Recognizing user intent in motion capture system
CN107078996A (zh) * 2014-09-24 2017-08-18 瑞典爱立信有限公司 用于处理与在线游戏相关的媒体流的方法、系统和节点
JP6809830B2 (ja) * 2016-07-13 2021-01-06 株式会社バンダイナムコエンターテインメント プログラム及び電子機器
US10699461B2 (en) * 2016-12-20 2020-06-30 Sony Interactive Entertainment LLC Telepresence of multiple users in interactive virtual space
US11836285B2 (en) * 2017-03-10 2023-12-05 Kenneth Perlin System for a spectator to view a virtual reality of a performer and method
DK180470B1 (en) * 2017-08-31 2021-05-06 Apple Inc Systems, procedures, and graphical user interfaces for interacting with augmented and virtual reality environments
CN107750005B (zh) * 2017-09-18 2020-10-30 迈吉客科技(北京)有限公司 虚拟互动方法和终端
JP6463535B1 (ja) * 2018-04-27 2019-02-06 株式会社コロプラ プログラム、情報処理装置、および方法
JP6420930B1 (ja) * 2018-08-01 2018-11-07 グリー株式会社 アクターの動きに基づいて生成されるキャラクタオブジェクトのアニメーションを含む動画を配信する動画配信システム、動画配信方法及び動画配信プログラム
JP6556301B1 (ja) * 2018-07-25 2019-08-07 株式会社バーチャルキャスト コンテンツ配信サーバ、仮想キャラクタ提供サーバ、コンテンツ配信システム、コンテンツ配信方法及びプログラム
JP6473265B1 (ja) * 2018-08-31 2019-02-20 株式会社バーチャルキャスト コンテンツ配信サーバ、コンテンツ配信システム、コンテンツ配信方法及びプログラム
JP6543403B1 (ja) * 2018-12-12 2019-07-10 グリー株式会社 動画配信システム、動画配信方法及び動画配信プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0120930Y2 (ko) 1983-11-29 1989-06-22

Also Published As

Publication number Publication date
JP2021035454A (ja) 2021-03-04
WO2021039347A1 (ja) 2021-03-04
EP4023310A4 (en) 2023-08-30
EP4023310A1 (en) 2022-07-06
CN114340749A (zh) 2022-04-12
JP6726345B1 (ja) 2020-07-22
US20220297006A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
JP6776400B1 (ja) プログラム、方法、および情報端末装置
JP6776393B2 (ja) 視聴プログラム、視聴方法、および情報端末装置
KR20220052363A (ko) 프로그램, 방법, 및 단말 장치
JP7479219B2 (ja) プログラム、方法、および端末装置
JP2021010181A (ja) 視聴プログラム、視聴方法、および情報端末装置
KR20220024630A (ko) 게임 프로그램, 게임 방법, 및 단말 장치
JP7437480B2 (ja) プログラム、方法、およびコンピュータ
JP7332562B2 (ja) プログラム、方法、および情報端末装置
WO2021039346A1 (ja) プログラム、方法、および情報処理端末
JP6818106B1 (ja) プログラム、方法、および視聴端末
WO2020262332A1 (ja) ゲームプログラム、ゲーム方法、および情報端末装置
WO2020255996A1 (ja) プログラム、方法、および端末装置
JP6826645B1 (ja) プログラム、方法、および端末装置
JP6754859B1 (ja) プログラム、方法、およびコンピュータ
JP6952730B2 (ja) プログラム、方法、情報処理装置、およびシステム
JP2021053406A (ja) プログラム、方法、および端末装置
JP7191181B2 (ja) プログラム、方法、および情報端末装置
JP2022112769A (ja) プログラム、方法、および情報端末装置
JP2021053455A (ja) プログラム、方法、および視聴端末
JP2021053453A (ja) ゲームプログラム、ゲーム方法、および情報端末装置