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

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

Info

Publication number
KR20220020953A
KR20220020953A KR1020227001432A KR20227001432A KR20220020953A KR 20220020953 A KR20220020953 A KR 20220020953A KR 1020227001432 A KR1020227001432 A KR 1020227001432A KR 20227001432 A KR20227001432 A KR 20227001432A KR 20220020953 A KR20220020953 A KR 20220020953A
Authority
KR
South Korea
Prior art keywords
user
character
game
virtual space
data
Prior art date
Application number
KR1020227001432A
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 KR20220020953A publication Critical patent/KR20220020953A/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/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/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
    • 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/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • 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/215Input arrangements for video game devices characterised by their sensors, purposes or types comprising means for detecting acoustic signals, e.g. using a microphone
    • 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/424Processing 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 acoustic input signals, e.g. by using the results of pitch or rhythm extraction or voice recognition
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • 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/54Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
    • 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
    • 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/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/792Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for payment purposes, e.g. monthly subscriptions
    • 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/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/798Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/2053D [Three Dimensional] animation driven by audio data
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/06Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
    • G10L21/10Transforming into visible information
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1068Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad
    • A63F2300/1075Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad using a touch screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2213/00Indexing scheme for animation
    • G06T2213/12Rule based animation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/06Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
    • G10L21/10Transforming into visible information
    • G10L2021/105Synthesis of the lips movements from speech, e.g. for talking heads

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Optics & Photonics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

가상 공간 내에 배치되어 있는 캐릭터를 수행하는 수행자가 입력한 모션 및 수행자의 발화를 특정 가능한 정보를 포함하는 데이터에 기초하여 캐릭터를 동작시키고, 가상 공간 내에서의 소정의 시점에서 본 캐릭터를 소정의 표시부에 표시 가능하게 함과 더불어, 수행자의 발화에 따른 음성을 출력 가능하게 한다. 데이터에 기초하여 가상 공간 내에서의 캐릭터의 입매의 동작을 제어하고, 캐릭터의 표정으로서 다음에 취할 표정을 소정의 룰에 따라 특정하여, 해당 특정한 표정으로 가상 공간 내에서의 캐릭터의 표정을 전환하는 제어를, 시간의 경과에 따라 행한다.

Description

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

Claims (11)

  1. 프로세서, 메모리 및 입력부를 구비하는 단말 장치에서 실행되는 프로그램으로서,
    상기 프로세서에게,
    가상 공간 내에 배치되어 있는 캐릭터를 수행하는 수행자가 입력한 모션 및 수행자의 발화를 특정 가능한 정보를 포함하는 데이터에 기초하여, 상기 캐릭터를 동작시키는 스텝과,
    상기 가상 공간 내에서의 소정의 시점에서 본 상기 캐릭터를 소정의 표시부에 표시 가능하게 함과 더불어, 수행자의 발화에 따른 음성을 출력 가능하게 하기 위한 스텝을 실행시키고,
    상기 캐릭터를 동작시키는 스텝은,
    상기 데이터에 기초하여 상기 가상 공간 내에서의 상기 캐릭터의 입매의 동작을 제어하는 스텝과,
    상기 캐릭터의 표정으로서 다음에 취할 표정을 소정의 룰에 따라 특정하는 스텝과,
    상기 가상 공간 내에서의 상기 캐릭터의 표정을 상기 특정하는 스텝에 의해 특정된 표정으로 전환하는 제어를, 시간의 경과에 따라 행하는 스텝을 포함하는, 프로그램.
  2. 제1항에 있어서, 상기 전환하는 제어를 행하는 스텝은, 일정 간격으로 상기 전환하는 제어를 행하는 스텝을 포함하는, 프로그램.
  3. 제2항에 있어서, 상기 일정 간격은 어떤 간격보다 짧은 간격인, 프로그램.
  4. 제2항 또는 제3항에 있어서, 상기 일정 간격은 2초 간격인, 프로그램.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 소정의 룰은, 미리 정해져 있는 복수 종류의 표정 중 어느 하나의 표시를 랜덤하게 결정하는 것인, 프로그램.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 수행자가 입력한 모션에는, 해당 수행자의 머리의 움직임에 따라 입력한 머리의 모션을 포함하고,
    상기 동작시키는 스텝은, 머리의 모션에 맞춰서 가상 공간내에서의 상기 캐릭터의 머리를 동작시키는, 프로그램.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 단말 장치는, 표시부와, 소리 출력부와, 배포 단말 장치와 통신하는 통신부를 구비하고, 상기 데이터는, 상기 배포 단말 장치로부터 배포되는 데이터이고, 상기 수행자가 입력한 모션에 대응하는 모션 데이터 및 상기 수행자의 발화에 대응하는 발화 데이터를 포함하고,
    상기 동작시키는 스텝은, 상기 데이터에 기초하여 상기 가상 공간 내에서 동작하는 상기 캐릭터를 실시간으로 생성하고,
    상기 표시 가능하게 함과 더불어 상기 출력 가능하게 하기 위한 스텝은, 상기 가상 공간 내에서의 소정의 시점에서 본 상기 캐릭터의 동영상을 상기 표시부에 표시함과 더불어, 수행자의 발화에 따른 음성을 상기 소리 출력부에서 출력하는, 프로그램.
  8. 제7항에 있어서, 상기 데이터는, 상기 가상 공간 내에서의 상기 캐릭터의 입매의 동작을 특정하기 위한 데이터를 포함하는, 프로그램.
  9. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 프로세서에게,
    상기 수행자가 입력한 모션 및 수행자의 발화를 특정 가능한 정보를 포함하는 데이터를 취득하는 스텝을 실행시키고,
    상기 캐릭터를 동작시키는 스텝은, 상기 취득하는 스텝에 의해 취득한 데이터에 기초하여 입매의 동작이 제어됨과 더불어 시간의 경과에 따라 표정이 전환되는 상기 캐릭터를, 상기 가상 공간 내에서 동작시키고,
    상기 표시 가능하게 함과 더불어 출력 가능하게 하기 위한 스텝은, 상기 가상 공간 내에서의 상기 캐릭터의 움직임과 발화에 따른 음성을 포함하는 동영상 데이터를 생성하여 시청자용 단말 장치에 배포하는, 프로그램.
  10. 프로세서, 메모리, 및 입력부를 구비하는 단말 장치가 실행하는 방법으로서,
    가상 공간 내에 배치되어 있는 캐릭터를 수행하는 수행자가 입력한 모션 및 수행자의 발화를 특정 가능한 정보를 포함하는 데이터에 기초하여, 상기 캐릭터를 동작시키는 스텝과,
    상기 가상 공간 내에서의 소정의 시점에서 본 상기 캐릭터를 소정의 표시부에 표시 가능하게 함과 더불어, 수행자의 발화에 따른 음성을 출력 가능하게 하기 위한 스텝을 구비하고,
    상기 캐릭터를 동작시키는 스텝은,
    상기 데이터에 기초하여 상기 가상 공간 내에서의 상기 캐릭터의 입매의 동작을 제어하는 스텝과,
    상기 캐릭터의 표정으로서 다음에 취할 표정을 소정의 룰에 따라 특정하는 스텝과,
    상기 가상 공간 내에서의 상기 캐릭터의 표정을 상기 특정하는 스텝에 의해 특정된 표정으로 전환하는 제어를, 시간의 경과에 따라 행하는 스텝을 포함하는, 방법.
  11. 프로세서, 메모리, 및 입력부를 구비하는 단말 장치로서,
    가상 공간 내에 배치되어 있는 캐릭터를 수행하는 수행자가 입력한 모션 및 수행자의 발화를 특정 가능한 정보를 포함하는 데이터에 기초하여, 상기 캐릭터를 동작시키는 스텝과,
    상기 가상 공간 내에서의 소정의 시점에서 본 상기 캐릭터를 소정의 표시부에 표시 가능하게 함과 더불어, 수행자의 발화에 따른 음성을 출력가능하게 하기 위한 스텝을 포함하고,
    상기 캐릭터를 동작시키는 스텝은,
    상기 데이터에 기초하여 상기 가상 공간 내에서의 상기 캐릭터의 입매의 동작을 제어하는 스텝과,
    상기 캐릭터의 표정으로서 다음에 취할 표정을 소정의 룰에 따라 특정하는 스텝과,
    상기 가상 공간 내에서의 상기 캐릭터의 표정을 상기 특정하는 스텝에 의해 특정된 표정으로 전환하는 제어를, 시간의 경과에 따라 행하는 스텝을 포함하는, 단말 장치.
KR1020227001432A 2019-06-21 2020-06-17 프로그램, 방법, 및 단말 장치 KR20220020953A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2019-115074 2019-06-21
JP2019115074A JP6776409B1 (ja) 2019-06-21 2019-06-21 プログラム、方法、および端末装置
PCT/JP2020/023700 WO2020255996A1 (ja) 2019-06-21 2020-06-17 プログラム、方法、および端末装置

Publications (1)

Publication Number Publication Date
KR20220020953A true KR20220020953A (ko) 2022-02-21

Family

ID=72938117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227001432A KR20220020953A (ko) 2019-06-21 2020-06-17 프로그램, 방법, 및 단말 장치

Country Status (6)

Country Link
US (1) US20220241692A1 (ko)
EP (1) EP3988189A4 (ko)
JP (1) JP6776409B1 (ko)
KR (1) KR20220020953A (ko)
CN (1) CN114025854A (ko)
WO (1) WO2020255996A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7455297B2 (ja) * 2021-08-28 2024-03-26 グリー株式会社 情報処理システム、情報処理方法およびコンピュータプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58218202A (ja) * 1982-06-11 1983-12-19 Nissan Motor Co Ltd 車両用アンテナの取付構造
KR20020022504A (ko) * 2000-09-20 2002-03-27 박종만 3차원 캐릭터의 동작, 얼굴 표정, 립싱크 및 립싱크된음성 합성을 지원하는 3차원 동영상 저작 도구의 제작시스템 및 방법
JP2003337956A (ja) * 2002-03-13 2003-11-28 Matsushita Electric Ind Co Ltd コンピュータグラフィックス・アニメーション装置及びコンピュータグラフィックス・アニメーション方法
EP1345179A3 (en) * 2002-03-13 2004-01-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for computer graphics animation
US20040266528A1 (en) * 2003-06-27 2004-12-30 Xiaoling Wang Apparatus and a method for more realistic video games on computers or similar devices using visible or invisible light and a light sensing device
JP4919395B2 (ja) * 2006-06-15 2012-04-18 任天堂株式会社 ゲームプログラムおよびゲーム装置
KR101089184B1 (ko) * 2010-01-06 2011-12-02 (주) 퓨처로봇 캐릭터의 발화와 감정표현 제공 시스템 및 방법
US20180117762A1 (en) * 2015-08-14 2018-05-03 Sphero, Inc. Data exchange system
JP7129769B2 (ja) * 2017-09-21 2022-09-02 株式会社コーエーテクモゲームス リップシンク処理プログラム、記録媒体、リップシンク処理方法
JP6708865B2 (ja) * 2017-11-02 2020-06-10 株式会社UsideU 顧客応対システム及び顧客応対方法
JP6981214B2 (ja) * 2017-12-05 2021-12-15 富士通株式会社 画像生成プログラム、画像生成装置及び画像生成方法
JP6481057B1 (ja) * 2018-02-02 2019-03-13 株式会社エクシヴィ 仮想空間におけるキャラクタの制御方法
JP6506443B1 (ja) * 2018-04-27 2019-04-24 株式会社 ディー・エヌ・エー 画像生成装置及び画像生成プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
비특허문헌1: AV Watch, Vtuber 배포를 간단히 하는 niconico '가상 캐스트'와 'VRM'. 스튜디오도 VR, 2018년 4월 16일, [online], 레이와 1년 6월 7일 검색, URL, https://av.watch.impress.co.jp/docs/news/1117367.html

Also Published As

Publication number Publication date
JP2021000243A (ja) 2021-01-07
EP3988189A4 (en) 2023-06-28
US20220241692A1 (en) 2022-08-04
JP6776409B1 (ja) 2020-10-28
CN114025854A (zh) 2022-02-08
WO2020255996A1 (ja) 2020-12-24
EP3988189A1 (en) 2022-04-27

Similar Documents

Publication Publication Date Title
JP6776400B1 (ja) プログラム、方法、および情報端末装置
JP6719633B1 (ja) プログラム、方法、および視聴端末
JP6776393B2 (ja) 視聴プログラム、視聴方法、および情報端末装置
KR20230159481A (ko) 프로그램, 방법, 및 정보 처리 장치
WO2021039346A1 (ja) プログラム、方法、および情報処理端末
JP2021010181A (ja) 視聴プログラム、視聴方法、および情報端末装置
KR20220052363A (ko) 프로그램, 방법, 및 단말 장치
WO2020262332A1 (ja) ゲームプログラム、ゲーム方法、および情報端末装置
KR20220024630A (ko) 게임 프로그램, 게임 방법, 및 단말 장치
KR20220024602A (ko) 게임 프로그램, 게임 방법, 및 정보 단말 장치
JP2021168748A (ja) プログラム、コンピュータ、および方法
KR20220020953A (ko) 프로그램, 방법, 및 단말 장치
JP7135058B2 (ja) プログラム、方法、および端末装置
JP7332562B2 (ja) プログラム、方法、および情報端末装置
JP2022000218A (ja) プログラム、方法、情報処理装置、およびシステム
JP6826645B1 (ja) プログラム、方法、および端末装置
JP6818106B1 (ja) プログラム、方法、および視聴端末
JP6776425B1 (ja) プログラム、方法、および配信端末
JP7191181B2 (ja) プログラム、方法、および情報端末装置
JP7377790B2 (ja) ゲームプログラム、ゲーム方法、および情報端末装置
JP2021053455A (ja) プログラム、方法、および視聴端末
JP2021053401A (ja) プログラム、方法、および配信端末
JP2021053358A (ja) プログラム、方法、および視聴端末

Legal Events

Date Code Title Description
A201 Request for examination