KR101084030B1 - 게임장치, 게임처리방법 및 정보기록매체 - Google Patents

게임장치, 게임처리방법 및 정보기록매체 Download PDF

Info

Publication number
KR101084030B1
KR101084030B1 KR1020107005981A KR20107005981A KR101084030B1 KR 101084030 B1 KR101084030 B1 KR 101084030B1 KR 1020107005981 A KR1020107005981 A KR 1020107005981A KR 20107005981 A KR20107005981 A KR 20107005981A KR 101084030 B1 KR101084030 B1 KR 101084030B1
Authority
KR
South Korea
Prior art keywords
distance
viewpoint
movement
virtual space
unit
Prior art date
Application number
KR1020107005981A
Other languages
English (en)
Other versions
KR20100046262A (ko
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 KR20100046262A publication Critical patent/KR20100046262A/ko
Application granted granted Critical
Publication of KR101084030B1 publication Critical patent/KR101084030B1/ko

Links

Images

Classifications

    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/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/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
    • 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
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • 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/1087Features 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 comprising photodetecting means, e.g. a camera
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/646Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6676Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dedicated player input

Abstract

게임장치(800)에 있어서, 기억부(801)는, 가상공간에 배치되는 대상체의 위치와, 시점 위치와, 시선 방향과, 화면 내의 지시표지의 위치와, 화면 내의 주목영역의 위치를 기억한다. 입력 접수부(802)는 시점을 변화시키는 지시 입력을 사용자로부터 접수한다. 생성부(803)는 가상공간을 시점 위치로부터 시선 방향으로 본 화상을 생성한다. 표시부(804)는 생성된 화상을 표시한다. 거리 계산부(805)는, 주목영역 내에 표시되어 있는 대상체와 시점과의 거리를 계산한다. 이동 계산부(806)는 시점의 이동 방향과 이동 거리를 계산한다. 보정부(807)는, 보정 후의 이동 거리가 거리 계산부(805)에 의해 계산된 거리에 대해서 단조감소하도록, 이동 거리를 보정한다. 갱신부(808)는, 계산된 이동 방향으로 보정된 이동 거리만큼 시점을 이동하도록, 시점 위치를 갱신한다.

Description

게임장치, 게임처리방법 및 정보기록매체{GAME DEVICE, GAME PROCESSING METHOD, AND INFORMATION RECORDING MEDIUM}
본 발명은, 화상표시의 스크롤(scroll) 처리에 의한 부하를 경감하여, 플레이어에게 있어서의 화면의 시인성(보기 쉬움)을 향상시키기 위하여 적합한 게임장치, 게임처리방법 및 정보기록매체, 나아가서는, 그 프로그램에 관한 것이다.
가상공간 내를 나타내는 게임 화상 등의 표시 수법으로서, 넓은 가상공간의 일부를 모니터 표시용의 표시영역으로 해서, 플레이어에 의한 조작에 따라서 표시영역을 이동하는 소위 스크롤 처리가 널리 이용되고 있다. 예를 들어, 특허문헌 1에는, 플레이어가 스틱(stick)을 사용해서 터치패널에 접촉하여, 임의의 방향으로 화면을 스크롤하는 장치 등이 개시되어 있다. 이것에 의하면, 예를 들어, 상하좌우라고 하는 바와 같이 미리 결정된 방향으로 화면을 스크롤할 뿐만 아니라, 플레이어의 형편에 맞춰서 각종 방향으로 화면을 스크롤할 수 있다.
JP2006-146556 A
한편, 플레이어가 손으로 쥐고서 조작하는 컨트롤러의 위치나 자세의 변화에 따라서, 가상공간 내에 있어서의 시점의 위치나 시선 방향을 변화시키고, 이 시점의 위치로부터 이 시선 방향으로 가상공간을 본 화상을 화면에 표시하는 게임이 존재한다. 이러한 게임에 있어서, 컨트롤러의 방향이나 자세의 변화량이 소정량을 넘으면, 상기와 같은 스크롤 처리를 실행할 필요가 있다.
그러나, 어느 방향으로 어느 정도의 이동량만큼 스크롤하는가라는 판단을 플레이어에게 지나치게 맡겨버리면, 플레이어의 조작 방법에 따라서는 빈번하게 화면을 스크롤하게 될 경우가 있어, 스크롤 처리에 의한 장치에 대한 부담이 무거워져버린다고 하는 문제가 있었다.
또, 예를 들어, 상기 컨트롤러를 이용해서, 가상공간에 배치되어 있는 시점의 위치나 시선 방향을 변화시키면서 대상체(object)를 움직이는 게임에 있어서, 게임 화면 내의 플레이어의 주목도에 편중이 있는 것으로 추정되는 상태에서 화면을 크게 스크롤시키면, 플레이어의 눈이 화면의 변화에 대해서 따라갈 수 없게 되어, 플레이어에게 있어서 보기 거북한 화상이 되어버리는 일이 있었다.
본 발명은 이러한 과제를 해결하는 것으로, 화상표시의 스크롤 처리에 의한 부하를 경감해서, 플레이어에게 있어서의 화면의 시인성을 향상시키기 위하여 적합한 게임장치, 게임처리방법 및 정보기록매체, 나아가서는, 그 프로그램을 제공하는 것을 목적으로 한다.
본 발명의 제1관점에 따른 게임장치는, 기억부, 생성부, 표시부, 거리 계산부, 이동 계산부, 보정부 및 갱신부를 포함한다.
기억부는 가상공간에 배치되는 대상체의 위치와 상기 가상공간에 배치되는 시점의 위치를 기억한다.
생성부는 상기 가상공간에 있어서 상기 시점의 위치로부터 본 상기 대상체를 나타내는 화상을 생성한다.
표시부는 생성된 화상을 표시한다.
거리 계산부는 상기 대상체의 상기 가상공간에 있어서의 위치와 기억되어 있는 시점의 위치와의 거리를 구한다.
이동 계산부는 상기 시점의 위치를 이동하는 이동 방향과 이동 거리를 계산한다.
보정부는 계산된 이동 거리를 구해진 거리에 의거해서 보정한다.
갱신부는, 계산된 이동 방향으로, 보정된 결과의 이동 거리만큼, 기억되는 시점의 위치를 이동하도록 갱신한다.
그리고, 보정부는 보정된 결과의 이동 거리가 구해진 거리에 대해서 단조감소하도록 보정한다.
본 발명의 게임장치가 실행하는 게임은, 예를 들어, 3차원 또는 2차원의 가상공간에 있어서의 게임이다. 모니터에는 가상공간을 시점의 위치로부터 소정의 시선 방향으로 바라본 화상이 표시된다. 가상공간에는 1개 이상의 대상체가 배치된다. 플레이어는, 컨트롤러를 조작해서, 시점의 위치를 지정 방향으로 지정량만큼 변화시키도록 지시할 수 있다. 시점의 위치를 이동하면, 화면에 표시되는 화상도 이동한다. 이해하기 쉽게 말하면, 화면이 스크롤된다.
시점의 위치를 변화시킬 때, 게임장치는, 단위시간당의 시점의 이동 방향과 이동 거리, 바꿔 말하면 단위시간당의 화면의 스크롤 방향과 스크롤량이 구해진다. 시점의 이동 방향은, 예를 들어, 플레이어가 컨트롤러를 움직이거나 조작 버튼을 누르거나 해서 지정된다. 시점의 이동 거리는, 예를 들어, 한 번의 조작에 대해서 소정량 혹은 조작 방법에 따라 변화되는 양이라고 하는 바와 같이 구해진다. 단, 여기서 구해진 시점의 이동 거리는 다음에 설명하는 바와 같이 보정되게 된다.
게임장치는 화면 내에 배치되어 있는 대상체와 시점과의 거리를 계산한다. 게임장치는, 보정된 결과 얻어지는 시점의 이동 거리가, 계산된 대상체와 시점과의 거리에 대해서 단조감소하도록, 시점의 이동 거리를 보정한다. 즉, 화면 내에 배치되어 있는 대상체가 시점 부근일수록, 보정된 후의 시점의 이동 거리는 작아진다. 바꿔 말하면, 화면 내에 배치되어 있는 대상체가 시점 부근일수록, 적게 스크롤하게 된다.
또한, 게임장치는, 단위시간당의 시점의 이동 방향과 이동 거리가 아니라, 토털(total)의 시점의 이동 방향과 이동 거리를 구하도록 해도 된다. 이 경우, 화면 내에 배치되어 있는 대상체가 시점 부근일수록, 천천히 스크롤되게 된다.
화면 내에 대상체가 배치되어 있을 경우, 플레이어는 그 대상체를 비교적 크게 주시하고 있는 것으로 추측된다. 플레이어가 화면의 특정 부분을 주시하고 있는 상황에서 화면이 빠르게 스크롤되면, 화면이 보기 어렵게 될 우려가 있다. 그러나, 본 발명에 의하면, 화면의 스크롤량이 지나치게 많거나 지나치게 빠르거나 해서 화상이 전체로서 보이기 거북하게 되어버리지 않도록 할 수 있어, 플레이어에게 있어서 화면의 시인성을 향상시킬 수 있다. 예를 들어, 화면이 빈번하게 스크롤됨으로써 플레이어가 헤매게 되어버리는 바와 같은 일이 없다. 또한, 시점의 이동에 의한 화면의 스크롤 처리가 빈번하게 발생되어 버리지 않도록 할 수 있어, 스크롤 처리에 의한 게임장치에의 부하를 경감할 수 있다.
본 발명의 그 밖의 관점에 따른 게임장치는, 기억부, 생성부, 표시부, 거리 계산부, 이동 계산부, 보정부 및 갱신부를 구비한다.
기억부는, 가상공간에 배치되는 대상체의 위치와, 상기 가상공간에 배치되는 시점의 위치와, 시선 방향을 기억한다.
생성부는 상기 가상공간에 있어서 상기 시점의 위치로부터 상기 시선 방향으로 본 상기 대상체를 나타내는 화상을 생성한다.
표시부는 생성된 화상을 표시한다.
거리 계산부는 상기 대상체의 상기 가상공간에 있어서의 위치와 기억되어 있는 시점의 위치와의 거리를 구한다.
이동 계산부는 상기 시선 방향을 회전시키는 회전 방향과 회전 각도를 계산한다.
보정부는 계산된 회전 각도를 구해진 거리에 의거해서 보정한다.
갱신부는, 계산된 회전 방향으로, 보정된 결과의 회전 각도만큼, 기억되는 시선 방향을 회전시키도록 갱신한다.
그리고, 보정부는 보정된 결과의 회전 각도가 구해진 거리에 대해서 단조감소하도록 보정한다.
본 발명의 게임장치가 실행하는 게임은, 예를 들어, 3차원 가상공간에 있어서의 게임이다. 모니터에는 가상공간을 시점의 위치로부터 시선 방향으로 바라본 화상이 표시된다. 가상공간에는 1개 이상의 대상체가 배치된다. 플레이어는, 컨트롤러를 조작해서, 시선 방향을 지정 방향으로 지정량만큼 변화시키도록 지시할 수 있다. 시선 방향을 변화시키면, 화면에 표시되는 화상도 이동한다. 즉, 화면이 스크롤된다.
시선 방향을 변화시킬 때, 게임장치는, 단위시간당의 시선의 회전 방향과 회전 각도를 구한다. 바꿔 말하면, 화면의 스크롤 방향과 스크롤량이 구해진다. 시선의 회전 방향은, 예를 들어, 플레이어가 컨트롤러를 움직이거나 조작 버튼을 누르거나 해서 지정된다. 시선의 회전 각도는, 예를 들어, 한 번의 조작에 대해서 소정량 혹은 조작 방법에 따라서 변화되는 양이라고 하는 바와 같이 구해진다. 단, 여기서 구해진 시선의 회전 방향은, 이하에 설명하는 바와 같이 보정되게 된다.
게임장치는, 화면 내에 배치되어 있는 대상체와 시점과의 거리를 계산한다. 게임장치는, 보정된 결과 얻어지는 시선의 회전 각도가 계산된 대상체와 시점과의 거리에 대해서 단조감소하도록, 시선의 회전 각도를 보정한다. 즉, 화면 내에 배치되어 있는 대상체가 시점 부근일수록, 보정된 후의 시선의 회전 각도는 작아진다. 바꿔 말하면, 화면 내에 배치되어 있는 대상체가 시점 부근일수록, 적게 스크롤하게 된다.
또, 게임장치는, 단위시간당의 시선의 회전 방향과 회전 각도가 아니라, 토털(total)의 시선의 회전 방향과 회전 각도를 구하도록 해도 된다. 이 경우, 화면 내에 배치되어 있는 대상체가 시점 부근일수록, 천천히 스크롤하게 된다.
플레이어가 화면의 특정 부분을 비교적 크게 주시하고 있는 상황에서 화면이 빠르게 스크롤되면, 화면이 보기 어렵게 될 우려가 있다. 그러나, 본 발명에 의하면, 화면의 스크롤량이 지나치게 많거나 지나치게 빠르거나 해서 화상이 전체로서 보이기 어렵게 되어버리지 않도록 할 수 있어, 플레이어에게 있어서 화면의 시인성을 향상시킬 수 있다. 예를 들어, 화면이 빈번하게 스크롤됨으로써 플레이어가 헤매게 되어버리는 바와 같은 일이 없다. 또한, 시점의 이동에 의한 화면의 스크롤 처리가 빈번하게 발생되어 버리지 않도록 할 수 있어, 스크롤 처리에 의한 게임장치에의 부하를 경감할 수 있다.
이동 계산부는, 상기 시점의 위치를 이동하는 이동 방향과 이동 거리를 추가로 계산해도 된다.
또, 보정부는, 계산된 이동 거리를 구해진 거리에 의거해서 추가로 보정해도 된다.
또한, 갱신부는, 계산된 이동 방향으로, 보정된 결과의 이동 거리만큼, 기억되는 시점의 위치를 이동하도록 추가로 갱신해도 된다.
또, 보정부는, 보정된 결과의 이동 거리가 구해진 거리에 대해서 단조감소하도록 보정해도 된다.
본 발명의 게임장치에서는, 플레이어는 시선 방향뿐만 아니라 시점의 위치를 변화시킬 수도 있다. 즉, 시선 방향을 변화시키도록 화면을 스크롤할 수도 있고, 시점의 위치를 변화시키도록 화면을 스크롤할 수도 있다.
화면의 스크롤 시, 게임장치는, 시선의 회전 방향과 회전 각도뿐만 아니라, 시점의 이동 방향과 이동 거리도 구한다. 시점의 이동 방향은, 예를 들어, 플레이어가 컨트롤러를 움직이거나 조작 버튼을 누르거나 해서 지정된다. 시점의 이동 거리는, 예를 들어, 한 번의 조작에 대해서 소정량 혹은 조작 방법에 따라서 변화되는 양이라고 하는 바와 같이 구해진다. 단, 여기서 구해진 시점의 이동 거리는 시선의 회전 방향과 마찬가지로 보정되게 된다.
게임장치는, 시선의 회전 방향과 마찬가지로, 보정된 결과 얻어지는 시점의 이동 거리가 계산된 대상체와 시점과의 거리에 대해서 단조감소하도록, 시점의 이동 거리를 보정한다. 즉, 화면 내에 배치되어 있는 대상체가 시점 부근일수록, 보정된 후의 시점의 이동 거리는 작아진다. 바꿔 말하면, 화면 내에 배치되어 있는 대상체가 시점 부근일수록, 적게(느리게) 스크롤되게 된다.
따라서, 본 발명에 의하면, 화면의 스크롤량이 지나치게 많거나 지나치게 빠르거나 해서 화상이 전체로서 보이기 어렵게 되어 버리지 않도록 할 수 있고, 플레이어에게 있어서 화면의 시인성을 향상시킬 수 있다. 예를 들어, 화면이 빈번하게 스크롤됨으로써 플레이어가 헤매게 되어버리는 바와 같은 일이 없다. 또한, 시점의 이동에 의한 화면의 스크롤 처리가 빈번하게 발생되어 버리지 않도록 할 수 있고, 스크롤 처리에 의한 게임장치에의 부하를 경감할 수 있다.
상기 가상공간에는 복수개의 대상체가 배치되어 있어도 된다.
또한, 기억부는 상기 복수개의 대상체의 각각의 위치를 기억해도 된다.
그리고, 거리 계산부는, 상기 복수개의 대상체 중, 생성된 화상 내의 주목영역에 묘화된 대상체의 상기 가상공간에 있어서의 위치와, 기억되어 있는 시점의 위치와의 거리를 구해도 된다.
주목영역이란, 다른 영역보다도 플레이어에 의한 주목도가 비교적 높은 것으로 추측되는 영역이다.
게임장치는, 보정된 결과 얻어지는 시점의 이동 거리가 계산된 대상체와 시점과의 거리에 대해서 단조감소하도록, 시점의 이동 거리를 보정한다. 즉, 화면의 주목영역 내에 배치되어 있는 대상체가 시점 부근일수록, 보정된 후의 시점의 이동 거리는 작아진다. 바꿔 말하면, 화면의 주목영역 내에 배치되어 있는 대상체가 시점 부근일수록, 적게 스크롤하게 된다. 또한, 게임장치는, 단위시간당의 시점의 이동 방향과 이동 거리가 아니라, 토털의 시점의 이동 방향과 이동 거리를 구하도록 해도 된다. 이 경우, 화면의 주목영역 내에 배치되어 있는 대상체가 시점 부근일수록, 천천히 스크롤하게 된다.
또는, 게임장치는, 보정된 결과 얻어지는 시선의 회전 각도가 계산된 대상체와 시점과의 거리에 대해서 단조감소하도록, 시선의 회전 각도를 보정한다. 즉, 화면의 주목영역 내에 배치되어 있는 대상체가 시점 부근일수록, 보정된 후의 시선의 회전 각도는 작아진다. 바꿔 말하면, 화면의 주목영역 내에 배치되어 있는 대상체가 시점 부근일수록, 적게 스크롤하게 된다.
또, 게임장치는, 단위시간당의 시선의 회전 방향과 회전 각도가 아니라, 토털의 시선의 회전 방향과 회전 각도를 구하도록 해도 된다. 이 경우, 화면의 주목영역 내에 배치되어 있는 대상체가 시점 부근일수록, 천천히 스크롤하게 된다.
상기 주목영역은 생성된 화상의 중앙에 배치되어 있어도 된다.
예를 들어, 플레이어는 화면의 중앙 부근을 빈번하게 보면서 게임을 플레이하는 것이 추측된다. 그래서, 본 발명에서는, 스크롤량을 보정하기 위해서 이용되는 주목영역의 위치를 화면의 중앙 부근에 고정하고 있다. 즉, 화면의 중앙 부근에 배치되는 대상체가 시점 부근일수록, 플레이어가 화면의 중앙 부근을 충분히 보고 있는 상황이라고 추측하고, 스크롤을 적게(느리게) 한다. 따라서, 화면의 시인성을 향상시키고, 스크롤 처리의 부하를 경감할 수 있다.
게임장치는, 상기 대상체를 선택하는 취지의 선택 지시 입력을 상기 사용자로부터 접수하는 입력 접수부를 추가로 구비해도 된다.
그리고, 거리 계산부는, 선택된 대상체의 생성된 화면 내에 있어서의 위치를 중심으로 해서, 상기 주목영역을 설정해도 된다.
예를 들어, 플레이어가 임의의 대상체를 선택할 수 있는 게임에 있어서는, 플레이어는 선택한 대상체 부근을 빈번하게 보면서 게임을 플레이하는 것으로 추측된다. 예를 들어, 가상공간에 배치되어 있는 대상체 중 어느 하나를 플레이어가 자유롭게 조작해서 움직이게 하는 게임에서는, 조작 대상의 대상체 부근을 충분히 보면서 게임을 플레이하는 것으로 추측할 수 있다.
그래서, 본 발명에서는, 스크롤량을 보정하기 위하여 이용되는 주목영역의 위치를, 플레이어에 의해서 선택된 대상체 부근에 배치하고 있다. 즉, 선택한 대상체 혹은 그 부근에 배치되는 다른 대상체가 시점 부근일수록, 플레이어가 선택한 대상체 부근을 충분히 보고 있는 상황이라고 추측하고, 스크롤을 적게(느리게) 한다. 따라서, 화면의 시인성을 향상시키고, 스크롤 처리의 부하를 경감할 수 있다.
입력 접수부는 선택된 대상체의 위치를 이동하는 취지의 이동 지시 입력을 상기 사용자로부터 추가로 접수해도 된다.
또, 기억부는 상기 이동 지시 입력의 소정 횟수분의 이력을 추가로 기억해도 된다.
또한, 갱신부는, 상기 이동 지시 입력에 의거해서, 선택된 대상체의 위치를 추가로 갱신해도 된다.
또, 거리 계산부는, 선택된 대상체의 위치가 이동된 경우, 상기 대상체의 이동을 개시하고 나서 소정 시간 경과 후, 기억되어 있는 이력에 의거해서, 상기 대상체에 추종하도록 상기 주목영역의 위치를 변화시켜도 된다.
예를 들어, 가상공간에 배치되어 있는 대상체 중 어느 하나를 플레이어가 자유롭게 조작해서 움직이게 하는 게임이 있다. 스크롤량을 보정하기 위하여 이용되는 주목영역의 위치가, 플레이어에 의해서 선택된 대상체 부근에 배치된다. 대상체의 위치가 가변이며, 주목영역의 위치도 가변이다. 즉, 게임장치는, 대상체의 위치를 변화시키면, 그것에 따라서 주목영역의 위치도 변화시킨다. 대상체의 위치의 이동이 지나치게 빠르면, 플레이어의 눈이 이 이동을 따라갈 수 없어 약간 지연되어 버릴 것이 예상된다.
그래서, 본 발명에서는, 대상체의 위치를 변화시키고 나서 소정 시간만큼 지연시켜, 주목영역의 위치도 변화시킨다. 따라서, 주목영역, 즉, 플레이어의 주목도가 비교적 높다고 추측되는 장소를, 보다 플레이어의 실태에 입각해서 이동시킬 수 있으므로, 화면의 시인성을 더욱 향상시킬 수 있다.
입력 접수부는 선택된 대상체의 위치를 지정량만큼 이동시키는 취지의 이동 지시 입력을 추가로 접수해도 된다.
또, 기억부는 상기 이동 지시 입력의 소정 횟수분의 이력을 추가로 기억해도 된다.
또한, 보정부는 기억되어 있는 이동 지시 입력이 나타내는 각각의 지정량에 의거해서 상기 이동 거리의 보정량을 구하고, 보정된 결과의 이동 거리가 구해진 거리에 대해서 단조감소하도록 보정해도 된다.
예를 들어, 가상공간에 배치되어 있는 대상체 중 어느 하나를 플레이어가 자유롭게 조작해서 움직이게 하는 게임이 있다. 스크롤량을 보정하기 위하여 이용되는 주목영역의 위치가, 플레이어에 의해서 선택된 대상체 부근에 배치된다. 대상체의 위치는 가변이며, 주목영역의 위치도 가변이다. 즉, 게임장치는, 대상체의 위치를 변화시키면, 그것에 따라서 주목영역의 위치도 변화시킨다. 게임장치는, 어떤 이동 경로로 대상체의 위치가 이동하면, 그 이동 경로와 같은 경로로 주목영역도 이동시킬 수 있다. 그러나, 예를 들어, 플레이어의 손 떨림 등이 원인으로 대상체의 위치가 순간적으로 크게 이동하거나 재빠르게 이동하거나 했을 경우, 플레이어가 주시하는 장소는 대상체의 이동 경로 그대로는 되지 않을 가능성이 있다.
그래서, 본 발명에서는, 게임장치는, 대상체의 위치의 이동 이력에 의거해서, 적절하게 스크롤량의 보정량을 변화시켜, 대상체의 이동 경로와 다른 경로로 주목영역을 이동할 수 있다. 예를 들어, 손 떨림 등으로 플레이어가 의도하지 않은 움직임이 행해졌을 경우, 혹은 플레이어가 의도하지 않은 움직임으로 추측될 경우, 게임장치는, 대상체의 이동량 중 역치를 초과한 분량에 대해서는 커트하도록 하거나, 소정의 보정용의 함수를 이용해서 이동량을 보정하거나 해도 된다. 따라서, 주목영역, 즉, 플레이어의 주목도가 비교적 높다고 추측되는 장소를, 대상체의 이동 이력에 맞춰서 변화시키는 것이 가능하므로, 화면의 시인성을 더욱 향상시킬 수 있다.
거리 계산부는, 생성된 화상 내의 주목영역에 묘화된 대상체가 복수개인 경우, 상기 대상체의 상기 가상공간에 있어서의 위치와 기억되어 있는 시점의 위치와의 각각의 거리의 평균치를 계산해도 된다.
그리고, 보정부는 계산된 이동 거리를 계산된 평균치에 대해서 단조감소하도록 보정해도 된다.
주목영역 중에는, 1개뿐만 아니라 복수개의 대상체가 배치되는 일도 있다. 게임장치는, 시점으로부터의 거리의 계산 대상으로서, 주목영역 중의 어느 하나의 대상체를 채용할 수 있다. 그래서, 본 발명에서는, 주목영역 중의 대상체의 각각에 대해서, 시점으로부터의 거리를 구하고, 그들의 평균 거리에 대해서 단조감소하도록, 이동 거리의 보정량을 구한다.
예를 들어, 주목도가 비교적 높다고 추정되는 영역 내의 각 대상체가, 전체의 경향으로서 시점 가까이에 있으면, 주목영역 부근의 플레이어의 주목도는 높다고 추측할 수 있다. 따라서, 플레이어의 주목도가 비교적 높은 장소를, 보다 플레이어의 실태에 입각해서 추측할 수 있으므로, 화면의 시인성을 더욱 향상시킬 수 있다.
거리 계산부는, 생성된 화상 내의 주목영역에 묘화된 대상체가 복수개인 경우, 상기 대상체의 상기 가상공간에 있어서의 위치와 기억되어 있는 시점의 위치와의 각각의 거리의 최대값을 계산해도 된다.
그리고, 보정부는 계산된 이동 거리를 계산된 최대값에 대해서 단조감소하도록 보정해도 된다.
주목영역 중에는, 1개뿐만 아니라 복수개의 대상체가 배치되는 일도 있다. 게임장치는, 시점으로부터의 거리의 계산 대상으로서, 주목영역 중의 어느 하나의 대상체를 채용할 수 있다. 그래서, 본 발명에서는, 게임장치는 주목영역 중의 대상체의 각각에 대해서 시점으로부터의 거리를 구하고, 그들 중 최장거리에 대해서 단조감소하도록, 이동 거리의 보정량을 구한다.
예를 들어, 주목도가 비교적 높다고 추정되는 영역 중에서도 특히 주목도가 높다고 추측되는 대상체가 시점 가까이에 있으면, 주목영역 부근의 플레이어의 주목도는 특히 높다고 추측된다. 따라서, 플레이어의 주목도가 비교적 높은 장소를, 보다 플레이어의 실태에 입각해서 추측할 수 있으므로, 화면의 시인성을 더욱 향상시킬 수 있다.
거리 계산부는, 생성된 화상 내의 주목영역에 묘화된 대상체가 복수개인 경우, 상기 대상체의 상기 가상공간에 있어서의 위치와 기억되어 있는 시점의 위치와의 각각의 거리의 최소값을 계산해도 된다.
그리고, 보정부는 계산된 이동 거리를 계산된 최소값에 대해서 단조감소하도록 보정해도 된다.
주목영역 중에는, 1개뿐만 아니라 복수개의 대상체가 배치되는 일도 있다. 게임장치는, 시점으로부터의 거리의 계산 대상으로서, 주목영역 중의 어느 하나의 대상체를 채용할 수 있다. 그래서, 본 발명에서는, 게임장치는, 주목영역 중의 대상체의 각각에 대해서 시점으로부터의 거리를 구하고, 그들 중 최단 거리에 대해서 단조감소하도록, 이동 거리의 보정량을 구한다.
예를 들어, 주목도가 높다고 추측되는 영역 중에서 비교적 눈에 띄지 않는 대상체더라도, 시점 가까이에 있으면, 플레이어의 주목도는 높다고 추측할 수 있다. 따라서, 플레이어의 주목도가 비교적 높은 장소를, 보다 플레이어의 실태에 입각해서 추측할 수 있으므로, 화면의 시인성을 더욱 향상시킬 수 있다.
거리 계산부는, 생성된 화상 내의 주목영역에 묘화된 대상체가 복수개인 경우, 상기 대상체의 상기 가상공간에 있어서의 위치와 기억되어 있는 시점의 위치와의 각각의 거리의 합계값을 계산해도 된다.
그리고, 보정부는 계산된 이동 거리를 계산된 합계값에 대해서 단조감소하도록 보정해도 된다.
주목영역 중에는, 1개뿐만 아니라 복수개의 대상체가 배치되는 일도 있다. 게임장치는, 시점으로부터의 거리의 계산 대상으로서, 주목영역 중의 어느 하나의 대상체를 채용할 수 있다. 그래서, 본 발명에서는, 게임장치는, 주목영역 중의 대상체의 각각에 대해서 시점으로부터의 거리를 구하고, 그들의 합계 거리(총계 거리)에 대해서 단조감소하도록, 이동 거리의 보정량을 구한다.
예를 들어, 주목도가 비교적 높다고 추측되는 영역 중의 각 대상체가, 전체의 경향으로서 시점의 멀리에 있었다고 해도, 대상체의 수가 많은 것이라면, 주목영역 부근의 플레이어의 주목도는 높다고 추측할 수 있다. 따라서, 플레이어의 주목도가 비교적 높은 장소를, 보다 플레이어의 실태에 입각해서 추측할 수 있으므로, 화면의 시인성을 더욱 향상시킬 수 있다.
본 발명의 그 밖의 관점에 따른 게임처리방법은, 기억부를 구비한 게임장치에서 실행되는 게임처리방법으로서, 생성스텝, 표시스텝, 거리계산스텝, 이동계산스텝, 보정스텝 및 갱신스텝을 포함한다.
기억부에는 가상공간에 배치되는 대상체의 위치와 상기 가상공간에 배치되는 시점의 위치가 기억된다.
생성스텝에서는 상기 가상공간에 있어서 상기 시점의 위치로부터 본 상기 대상체를 나타내는 화상을 생성한다.
표시스텝에서는 생성된 화상을 표시한다.
거리계산스텝에서는, 상기 대상체의 상기 가상공간에 있어서의 위치와 기억되어 있는 시점의 위치와의 거리를 구한다.
이동계산스텝에서는 상기 시점의 위치를 이동하는 이동 방향과 이동 거리를 계산한다.
보정스텝에서는 계산된 이동 거리를 구해진 거리에 의거해서 보정한다.
갱신스텝에서는, 계산된 이동 방향으로, 보정된 결과의 이동 거리만큼, 기억되는 시점의 위치를 이동하도록 갱신한다.
그리고, 보정스텝에서는, 보정된 결과의 이동 거리가 구해진 거리에 대해서 단조감소하도록 보정한다.
본 발명에 의하면, 화면의 스크롤량이 지나치게 많거나 지나치게 빠르거나 해서 화상이 전체로서 보이기 어렵게 되어버리지 않도록 할 수 있어, 플레이어에게 있어서 화면의 시인성을 향상시킬 수 있다. 예를 들어, 화면이 빈번하게 스크롤됨으로써 플레이어가 헤매게 되어버리는 바와 같은 일이 없다. 또한, 시점의 이동에 의한 화면의 스크롤 처리가 빈번하게 발생되어 버리지 않도록 할 수 있어, 스크롤 처리의 부하를 경감할 수 있다.
본 발명의 그 밖의 관점에 따른 게임처리방법은, 기억부를 구비한 게임장치에서 실행되는 게임처리방법으로서, 생성스텝, 표시스텝, 거리계산스텝, 이동계산스텝, 보정스텝 및 갱신스텝을 포함한다.
기억부에는, 가상공간에 배치되는 대상체의 위치와, 상기 가상공간에 배치되는 시점의 위치와, 시선 방향이 기억된다.
생성스텝에서는 상기 가상공간에 있어서 상기 시점의 위치로부터 상기 시선 방향으로 본 상기 대상체를 나타내는 화상을 생성한다.
표시스텝에서는, 표시부가 생성된 화상을 표시한다.
거리계산스텝에서는 상기 대상체의 상기 가상공간에 있어서의 위치와 기억되어 있는 시점의 위치와의 거리를 구한다.
이동계산스텝에서는 상기 시선 방향을 회전시키는 회전 방향과 회전 각도를 계산한다.
보정스텝에서는 계산된 회전 각도를 구해진 거리에 의거해서 보정한다.
갱신스텝에서는, 계산된 회전 방향으로, 보정된 결과의 회전 각도만큼, 기억되는 시선 방향을 회전시키도록 갱신한다.
그리고, 보정스텝에서는 보정된 결과의 회전 각도가 구해진 거리에 대해서 단조감소하도록 보정한다.
본 발명에 의하면, 화면의 스크롤량이 지나치게 많거나 지나치게 빠르거나 해서 화상이 전체로서 보이기 어렵게 되어버리지 않도록 할 수 있어, 플레이어에게 있어서 화면의 시인성을 향상시킬 수 있다. 예를 들어, 화면이 빈번하게 스크롤됨으로써 플레이어가 헤매게 되어버리는 바와 같은 일이 없다. 또한, 시점의 이동에 의한 화면의 스크롤 처리가 빈번하게 발생되어 버리지 않도록 할 수 있어, 스크롤 처리의 부하를 경감할 수 있다.
본 발명의 그 밖의 관점에 따른 정보기록매체는, 컴퓨터를, 가상공간에 배치되는 대상체의 위치와 상기 가상공간에 배치되는 시점의 위치를 기억하는 기억부, 상기 가상공간에 있어서 상기 시점의 위치로부터 본 상기 대상체를 나타내는 화상을 생성하는 생성부, 상기 생성된 화상을 표시하는 표시부, 상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 거리를 구하는 거리 계산부, 상기 시점의 위치를 이동하는 이동 방향과 이동 거리를 계산하는 이동 계산부, 상기 계산된 이동 거리를 상기 구해진 거리에 의거해서 보정하는 보정부 및 상기 계산된 이동 방향으로, 상기 보정된 결과의 이동 거리만큼, 상기 기억되는 시점의 위치를 이동하도록 갱신하는 갱신부로서 기능시키고, 상기 보정부가, 상기 보정된 결과의 이동 거리가 상기 구해진 거리에 대해서 단조감소하도록 보정하도록 기능시킨다.
본 발명에 의하면, 컴퓨터를 전술한 바와 같이 동작하는 게임장치로서 기능시킬 수 있다.
본 발명의 그 밖의 관점에 따른 정보기록매체는, 컴퓨터를, 가상공간에 배치되는 대상체의 위치와, 상기 가상공간에 배치되는 시점의 위치와, 시선 방향을 기억하는 기억부, 상기 가상공간에 있어서 상기 시점의 위치로부터 상기 시선 방향으로 본 상기 대상체를 나타내는 화상을 생성하는 생성부, 상기 생성된 화상을 표시하는 표시부, 상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 거리를 구하는 거리 계산부, 상기 시선 방향을 회전시키는 회전 방향과 회전 각도를 계산하는 이동 계산부, 상기 계산된 회전 각도를 상기 구해진 거리에 의거해서 보정하는 보정부 및 상기 계산된 회전 방향으로, 상기 보정된 결과의 회전 각도만큼, 상기 기억되는 시선 방향을 회전시키도록 갱신하는 갱신부로서 기능시키고, 상기 보정부가, 상기 보정된 결과의 회전 각도가 상기 구해진 거리에 대해서 단조감소하도록 보정하도록 기능시킨다.
본 발명에 의하면, 컴퓨터를 전술한 바와 같이 동작하는 게임장치로서 기능시킬 수 있다.
참고로, 본 발명의 그 밖의 관점에 따른 프로그램은, 컴퓨터를, 가상공간에 배치되는 대상체의 위치와 상기 가상공간에 배치되는 시점의 위치를 기억하는 기억부, 상기 가상공간에 있어서 상기 시점의 위치로부터 본 상기 대상체를 나타내는 화상을 생성하는 생성부, 상기 생성된 화상을 표시하는 표시부, 상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 거리를 구하는 거리 계산부, 상기 시점의 위치를 이동하는 이동 방향과 이동 거리를 계산하는 이동 계산부, 상기 계산된 이동 거리를 상기 구해진 거리에 의거해서 보정하는 보정부 및 상기 계산된 이동 방향으로, 상기 보정된 결과의 이동 거리만큼, 상기 기억되는 시점의 위치를 이동하도록 갱신하는 갱신부로서 기능시키고, 상기 보정부는, 상기 보정된 결과의 이동 거리가 상기 구해진 거리에 대해서 단조감소하도록 보정하는 것을 특징으로 한다.
본 발명에 의하면, 컴퓨터를 전술한 바와 같이 동작하는 게임장치로서 기능시킬 수 있다.
또, 참고로, 본 발명의 그 밖의 관점에 따른 프로그램은, 컴퓨터를, 가상공간에 배치되는 대상체의 위치와, 상기 가상공간에 배치되는 시점의 위치와, 시선 방향을 기억하는 기억부, 상기 가상공간에 있어서 상기 시점의 위치로부터 상기 시선 방향으로 본 상기 대상체를 나타내는 화상을 생성하는 생성부, 상기 생성된 화상을 표시하는 표시부, 상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 거리를 구하는 거리 계산부, 상기 시선 방향을 회전시키는 회전 방향과 회전 각도를 계산하는 이동 계산부, 상기 계산된 회전 각도를 상기 구해진 거리에 의거해서 보정하는 보정부 및 상기 계산된 회전 방향으로, 상기 보정된 결과의 회전 각도만큼, 상기 기억되는 시선 방향을 회전시키도록 갱신하는 갱신부로서 기능시키고, 상기 보정부는, 상기 보정된 결과의 회전 각도가 상기 구해진 거리에 대해서 단조감소하도록 보정하는 것을 특징으로 한다.
본 발명에 의하면, 컴퓨터를 전술한 바와 같이 동작하는 게임장치로서 기능시킬 수 있다.
또한, 본 발명의 프로그램은, 컴팩트 디스크, 가요성 디스크, 하드 디스크, 광자기 디스크, 디지털 비디오 디스크, 자기 테이프, 반도체 메모리 등의 컴퓨터 판독가능한 정보기억매체에 기록할 수 있다.
상기 프로그램은, 해당 프로그램이 실행되는 컴퓨터와는 독립해서, 컴퓨터 통신망을 경유해서 배포·판매될 수 있다. 또한, 상기 정보기억매체는, 컴퓨터와는 독립해서 배포·판매할 수 있다.
본 발명에 의하면, 화상표시의 스크롤 처리에 의한 부하를 경감하여, 플레이어에게 있어서의 화면의 시인성을 향상시킬 수 있다.
도 1은 본 발명의 게임장치가 실현되는 전형적인 정보처리장치의 개요구성을 도시한 도면;
도 2는 본 실시예에서 이용되는 컨트롤러와 정보처리장치의 외관을 나타낸 설명도;
도 3은 가상공간과 현실세계와의 대응 관계를 나타낸 설명도;
도 4는 매직 핸드(magic hand)의 손잡이와 대상체와의 위치관계와, 힘의 방향을 나타낸 설명도;
도 5는 화면에 커서(cursor)와 매직 핸드와 대상체가 표시되는 상황을 나타낸 설명도;
도 6은 매직 핸드의 손잡이의 위치와 시점의 이동의 방향과의 관계를 설명하는 설명도;
도 7a는 시선 방향의 방향을 이동시키는 처리를 설명하기 위한 도면;
도 7b는 시선 방향의 방향을 이동시키는 처리를 설명하기 위한 도면;
도 7c는 시선 방향의 방향을 이동시키는 처리를 설명하기 위한 도면;
도 8은 본 발명의 게임장치의 기능적인 구성을 도시한 도면;
도 9a는 화면에 표시되는 가상공간을 나타내는 화상의 예를 나타낸 도면;
도 9b는 가상공간 내의 시점의 위치를 이동하는 상황을 설명하기 위한 도면;
도 10a는 시점의 위치와 대상체의 위치와의 거리와, 시점의 위치의 이동량 또는 시선 방향의 이동량과의 관계를 도시한 도면;
도 10b는 시점의 위치와 대상체의 위치와의 거리와, 시점의 위치의 이동량 또는 시선 방향의 이동량과의 관계를 도시한 도면;
도 10c는 시점의 위치와 대상체의 위치와의 거리와, 시점의 위치의 이동량 또는 시선 방향의 이동량과의 관계를 도시한 도면;
도 10d는 시점의 위치와 대상체의 위치와의 거리와, 시점의 위치의 이동량 또는 시선 방향의 이동량과의 관계를 도시한 도면;
도 11a는 화면에 표시되는 가상공간을 나타내는 화상의 예를 나타낸 도면;
도 11b는 가상공간 내의 시선 방향을 변화시키는 상황을 설명하기 위한 도면;
도 12는 화상표시처리를 설명하기 위한 순서도;
도 13a는 실시예 2에 있어서, 화면에 표시되는 가상공간을 나타내는 화상의 예를 나타낸 도면;
도 13b는 가상공간 내의 시점이나 대상체 등의 위치 관계를 설명하기 위한 도면;
도 14a는 실시예 3에 있어서, 화면에 표시되는 가상공간을 나타내는 화상의 예를 나타낸 도면;
도 14b는 가상공간 내의 시점이나 대상체 등의 위치 관계를 설명하기 위한 도면;
도 15a는 실시예 4에 있어서, 화면에 표시되는 가상공간을 나타내는 화상의 예를 나타낸 도면;
도 15b는 가상공간 내의 시점이나 대상체 등의 위치관계를 설명하기 위한 도면;
도 16은 대상체의 궤적과 주목영역의 궤적을 설명하기 위한 도면;
도 17a는 실시예 4에 있어서, 대상체의 궤적과 주목영역의 궤적을 설명하기 위한 도면;
도 17b는 실시예 4에 있어서, 대상체의 궤적과 주목영역의 궤적을 설명하기 위한 도면;
도 17c는 실시예 4에 있어서, 대상체의 궤적과 주목영역의 궤적을 설명하기 위한 도면;
도 17d는 실시예 4에 있어서, 대상체의 궤적과 주목영역의 궤적을 설명하기 위한 도면;
도 18a는 실시예 4에 있어서, 대상체의 궤적과 주목영역의 궤적을 설명하기 위한 도면;
도 18b는 실시예 4에 있어서, 대상체의 궤적과 주목영역의 궤적을 설명하기 위한 도면;
도 18c는 실시예 4에 있어서, 대상체의 궤적과 주목영역의 궤적을 설명하기 위한 도면;
도 18d는 실시예 4에 있어서, 대상체의 궤적과 주목영역의 궤적을 설명하기 위한 도면;
도 19a는 실시예 4에 있어서, 주목영역의 궤적을 구하는 처리를 설명하기 위한 도면;
도 19b는 실시예 4에 있어서, 주목영역의 궤적을 구하는 처리를 설명하기 위한 도면;
도 19c는 실시예 4에 있어서, 주목영역의 궤적을 구하는 처리를 설명하기 위한 도면;
도 20a는 실시예 4에 있어서, 화면에 표시되는 가상공간을 나타내는 화상의 다른 예를 나타낸 도면;
도 20b는 가상공간 내의 시점이나 대상체 등의 위치 관계를 설명하기 위한 도면;
도 21은 실시예 5에 있어서, 게임장치의 기능적인 구성을 도시한 도면;
도 22a는 실시예 5에 있어서, 화면에 표시되는 가상공간을 나타내는 화상의 예를 나타낸 도면;
도 22b는 의사적인 시점이나 캐릭터 등의 위치 관계를 설명하기 위한 도면;
도 23a는 실시예 5에 있어서, 줌 아웃(zoom out)했을 때의 화상의 예를 나타낸 도면;
도 23b는 의사적인 시점이나 캐릭터 등의 위치 관계를 설명하기 위한 도면;
도 24는 화상표시처리를 설명하기 위한 순서도.
이하에 본 발명의 실시예를 설명한다. 이하에서는, 이해를 쉽게 하기 위하여, 게임용의 정보처리장치를 이용해서 본 발명이 실현되는 실시예를 설명하지만, 이하에 설명하는 실시예는 설명하기 위한 것일 뿐, 본원 발명의 범위를 제한하는 것은 아니다. 따라서, 당업자라면 이들 각 요소 혹은 전체 요소를 이것과 균등한 것으로 치환한 실시형태를 채용하는 것이 가능하지만, 이들 실시형태도 본 발명의 범위에 포함된다.
( 실시예 1)
도 1은, 프로그램을 실행함으로써, 본 발명의 실시예에 따른 장치의 기능을 하는 전형적인 정보처리장치의 개요구성을 나타낸 모식도이다.
정보처리장치(100)는 CPU(Central Processing Unit)(101), ROM(Read Only Memory)(102), RAM(Random Access Memory)(103), 인터페이스(interface)(104), 컨트롤러(105), 외부 메모리(106), 화상 처리부(107), DVD-ROM(Digital Versatile Disk-ROM) 드라이브(108), NIC(Network Interface Card)(109), 음성 처리부(110) 및 마이크(111)를 구비한다.
게임용의 프로그램 및 데이터를 기억한 DVD-ROM을 DVD-ROM 드라이브(108)에 장착해서, 정보처리장치(100)의 전원을 투입함으로써, 상기 프로그램이 실행되어, 본 실시예의 게임장치가 실현된다.
CPU(101)는 정보처리장치(100) 전체의 동작을 제어하여, 각 구성요소와 접속되어 제어신호나 데이터를 주고 받는다. 또한, CPU(101)는 레지스터(도시 생략)라고 하는 고속 액세스가 가능한 기억 영역에 대해서 ALU(Arithmetlc Logic Unit)(도시 생략)를 이용해서 가감승제 등의 산술연산이나, 논리합, 논리곱, 논리부정 등의 논리연산, 비트합, 비트곱, 비트 반전, 비트 시프트, 비트 회전 등의 비트 연산 등을 행할 수 있다. 또한, 멀티미디어 처리 대응을 위한 가감승제 등의 포화 연산이나, 삼각함수 등, 벡터 연산 등을 고속으로 행할 수 있도록, CPU(101) 자체가 구성되어 있는 것이나, 코프로세서를 구비해서 실현하는 것이 있다.
ROM(102)에는, 전원 투입 직후에 실행되는 IPL(Initial Program Loader)이 기록되어, 이것이 실행됨으로써, DVD-ROM에 기록된 프로그램을 RAM(103)에 독출하여 CPU(101)에 의한 실행이 개시된다. 또한, ROM(102)에는, 정보처리장치(100) 전체의 동작 제어에 필요한 오퍼레이팅 시스템의 프로그램이나 각종 데이터가 기록된다.
RAM(103)은, 데이터나 프로그램을 일시적으로 기억하기 위한 것으로, DVD-ROM으로부터 독출한 프로그램이나 데이터, 기타 게임의 진행이나 채팅 통신에 필요한 데이터가 유지된다. 또한, CPU(101)는, RAM(103)에 변수영역을 설치하여, 해당 변수에 격납된 값에 대해서 직접 ALU를 작용시켜서 연산을 행하거나, RAM(103)에 격납된 값을 일단 레지스터에 격납하고 나서 레지스터에 대해서 연산을 행하여, 그 연산 결과를 메모리에 고쳐 써넣는 등의 처리를 행한다.
인터페이스(104)를 개재해서 접속된 컨트롤러(105)는, 사용자가 게임을 실행할 때에 행하는 조작 입력을 접수한다. 또한, 컨트롤러(105)의 상세에 대해서는 후술한다.
인터페이스(104)를 개재해서 착탈가능하게 접속된 외부 메모리(106)에는, 게임 등의 플레이 상황(과거의 성적 등)을 나타내는 데이터, 게임의 진행 상태를 나타내는 데이터, 네트워크 대전의 경우의 채팅 통신의 로그(기록) 데이터 등이 다시 기록하는 것이 가능하도록 기억된다. 사용자는, 컨트롤러(105)를 개재해서 지시 입력을 행함으로써, 이들 데이터를 적절하게 외부 메모리(106)에 기록할 수 있다.
DVD-ROM 드라이브(108)에 장착되는 DVD-ROM에는, 게임을 실현하기 위한 프로그램과 게임에 부수되는 화상 데이터나 음성 데이터가 기록된다. CPU(101)의 제어에 의해서, DVD-ROM 드라이브(108)는, 이것에 장착된 DVD-ROM에 대한 독출 처리를 행하여, 필요한 프로그램이나 데이터를 독출하고, 이들은 RAM(103) 등에 일시적으로 기억된다.
화상 처리부(107)는, DVD-ROM으로부터 독출된 데이터를 CPU(101)나 화상 처리부(107)가 구비하는 화상 연산 프로세서(도시 생략)에 의해서 가공 처리한 후, 이것을 화상 처리부(107)가 구비하는 프레임 메모리(도시 생략)에 기록한다. 프레임 메모리에 기록된 화상정보는, 소정의 동기 타이밍에서 비디오 신호로 변환되어 화상 처리부(107)에 접속되는 모니터(도시 생략)에 출력된다. 이것에 의해, 각종 화상표시가 가능해진다.
화상 연산 프로세서는, 2차원의 화상의 중첩 연산이나 α블렌딩 등의 투과 연산, 각종 포화 연산을 고속으로 실행할 수 있다.
또, 가상 공간이 3차원으로 구성될 경우에는, 상기 3차원 공간 내에 배치되어, 각종 텍스처(texture) 정보가 부가된 다각형 정보를, Z버퍼법에 의해 렌더링(rendering)해서, 소정의 시점 위치로부터 가상 공간에 배치된 다각형을 소정의 시선 방향으로 내려다본 렌더링 화상을 얻는 연산의 고속 실행도 가능하다.
또한, CPU(101)와 화상 연산 프로세서가 협조 동작함으로써, 문자의 형상을 정의하는 폰트 정보에 따라서, 문자열을 2차원 화상으로서 프레임 메모리에 묘화하거나, 각 다각형 표면에 묘화하는 것이 가능하다.
NIC(109)는 정보처리장치(100)를 인터넷 등의 컴퓨터 통신망(도시 생략)에 접속하기 위한 것으로, LAN(Local Area Network)을 구성할 때에 이용되는 10BASE-T/100BASE-T 규격에 따르는 것이나, 전화 회선을 이용해서 인터넷에 접속하기 위한 아날로그 모뎀, ISDN(Integrated Services Digital Network) 모뎀, ADSL(Asymmetric Digital Subscriber Line) 모뎀, 케이블 텔레비전 회선을 이용해서 인터넷에 접속하기 위한 케이블 모뎀 등과, 이들과 CPU(101)와의 중개를 행하는 인터페이스(도시 생략)에 의해 구성된다.
음성 처리부(110)는 DVD-ROM으로부터 독출한 음성 데이터를 아날로그 음성신호로 변환하고, 이것에 접속된 스피커(도시 생략)로부터 출력시킨다. 또, CPU(101)의 제어 하, 게임의 진행 중에 발생시켜야 할 효과음이나 악곡 데이터를 생성하고, 이것에 대응한 음성을 스피커로부터 출력시킨다.
음성 처리부(110)에서는, DVD-ROM에 기록된 음성 데이터가 MIDI 데이터일 경우에는, 이것이 지닌 음원 데이터를 참조해서, MIDI 데이터를 PCM 데이터로 변환한다. 또, ADPCM(Adaptive Differential Pulse Code Modulation) 형식이나 Ogg Vorbis 형식 등의 압축완료 음성 데이터일 경우에는, 이것을 전개해서 PCM 데이터로 변환한다. PCM 데이터는, 그 샘플링 주파수에 따른 타이밍에서 D/A(Digital/Analog) 변환을 행하여, 스피커에 출력함으로써, 음성출력이 가능해진다.
또한, 정보처리장치(100)에는, 인터페이스(104)를 개재해서 마이크(111)를 접속할 수 있다. 이 경우, 마이크(111)로부터의 아날로그 신호에 대해서는, 적당한 샘플링 주파수로 A/D변환을 행하고, PCM 형식의 디지털 신호로서, 음성 처리부(110)에서의 믹싱(mixing) 등의 처리가 가능하도록 한다.
그 밖에, 정보처리장치(100)는, 하드 디스크 등의 대용량 외부 기억 장치를 이용해서, ROM(102), RAM(103), 외부 메모리(106), DVD-ROM 드라이브(108)에 장착되는 DVD-ROM 등과 마찬가지 기능을 하도록 구성해도 된다.
이상에서 설명한 정보처리장치(100)는, 소위 「소비자대상 텔레비전 게임 장치」에 상당하는 것이지만, 가상공간을 표시하는 바와 같은 화상처리를 행하는 것이면 본 발명을 실현할 수 있다. 따라서, 휴대전화, 휴대 게임기기, 노래방 장치, 일반적인 비즈니스용 컴퓨터 등, 각종 계산기 상에서 본 발명을 실현하는 것이 가능하다.
예를 들어, 일반적인 컴퓨터는, 상기 정보처리장치(100)와 마찬가지로, CPU, RAM, ROM, DVD-ROM 드라이브 및 NIC를 구비하고, 정보처리장치(100)보다도 간이한 기능을 갖춘 화상처리부를 구비하며, 외부기억장치로서 하드 디스크를 지닌 것 외에, 가요성 디스크, 광자기 디스크, 자기테이프 등을 이용할 수 있도록 되어 있다. 또한, 컨트롤러(105)가 아니라, 키보드나 마우스 등을 입력장치로서 이용한다.
본 실시예에서는 현실의 공간에 있어서의 위치나 자세 등의 각종 파라미터를 측정할 수 있는 바와 같은 컨트롤러(105)를 채용한다.
도 2는 현실의 공간에 있어서의 위치나 자세 등의 각종 파라미터를 측정할 수 있는 바와 같은 컨트롤러(105)와 정보처리장치(100)의 외관을 나타낸 설명도이다. 이하, 본 도면을 참조해서 설명한다.
컨트롤러(105)는 파지(把持) 모듈(201)과 발광 모듈(251)과의 조합으로 이루어져 있다. 파지 모듈(201)은 무선통신에 의해서 정보처리장치(100)와 통신 가능하게 접속되어 있고, 발광 모듈(251)은 유선으로 정보처리장치(100)와 통신가능하게 접속되어 있다. 정보처리장치(100)의 처리 결과의 음성 및 화상은 텔레비전 장치(291)에 의해서 출력 표시된다.
파지 모듈(201)은 텔레비전 장치(291)의 리모컨과 유사한 외관을 하고 있고, 그 선단에는 CCD 카메라(202)가 배치되어 있다.
한편, 발광 모듈(251)은 텔레비전 장치(291)의 상부에 고정되어 있다. 발광 모듈(251)의 양단부에는, 발광 다이오드(252)가 배치되어 있어, 정보처리장치(100)로부터의 전원공급에 의해서 발광한다.
파지 모듈(201)의 CCD 카메라(202)는 이 발광 모듈(251)의 상황을 촬영한다.
촬영된 화상 정보는 정보처리장치(100)에 송신되고, 정보처리장치(100)는 상기 촬영된 화상 내에 있어서 발광 다이오드(252)가 촬영된 위치에 의거해서 발광 모듈(251)에 대한 파지 모듈(201)의 위치를 취득한다.
그 밖에, 파지 모듈(201) 내에는, 가속도 센서, 각가속도 센서, 기울기 센서 등이 내장되어 있어, 파지 모듈(201) 그 자체의 자세를 측정하는 것이 가능하게 되어 있다. 이 측정 결과도 정보처리장치(100)에 송신된다.
파지 모듈(201)의 상부면에는, 십자형 키(203)가 배치되어 있고, 사용자는 십자형 키(203)를 눌러서 조작함으로써, 각종 방향지시입력을 행할 수 있다. 또, A-버튼(204) 이외에, 각종 버튼(206)도 상부면에 배치되어 있어, 해당 버튼에 대응된 지시 입력을 행할 수 있다.
한편, B-버튼(205)은, 파지 모듈(201)의 하부면에 배치되어 있어, 파지 모듈(201)의 하부면에 움푹 패인 부분이 구성되어 있는 것과 상응하여, 권총이나 매직 핸드에 있어서의 방아쇠를 모방한 것으로 되어 있다. 전형적으로는, 가상 공간 내에 있어서의 권총에 의한 발포나 매직 핸드에 의한 파지의 지시 입력은, B-버튼(205)을 이용해서 행해진다.
또, 파지 모듈(201)의 상부면의 인디케이터(207)는, 파지 모듈(201)의 동작 상황이나 정보처리장치(100)와의 무선통신상황 등을 사용자에게 제시한다.
파지 모듈(201)의 상부면에 준비된 전원 버튼(208)은, 파지 모듈(201) 그 자체의 동작의 온·오프를 행하는 것으로, 파지 모듈(201)은 내장된 전지(도시 생략)에 의해서 동작한다.
그 밖에, 파지 모듈(201)의 상부면에는, 스피커(209)가 배치되고, 음성 처리부(110)로부터 입력되는 음성신호에 의한 음성을 출력한다. 파지 모듈(201) 내부에는, 발진기(도시 생략)가 준비되어 있고, 정보처리장치(100)로부터의 지시에 의거해서 진동의 유무나 강약을 제어할 수 있도록 되어 있다.
이하에서는, 파지 모듈(201)과 발광 모듈(251)과의 조합으로 이루어진 컨트롤러(105)를 이용해서, 컨트롤러(105)의 현실세계에 있어서의 위치나 자세를 측정하는 것을 전제로 설명한다. 단, 상기와 같은 형태에 의하지 않고, 예를 들어, 초음파나 적외선 통신, GPS(Global Positioning System) 등을 이용해서 컨트롤러(105)의 현실세계에 있어서의 위치나 자세를 측정하는 것으로 한 경우더라도, 본 발명의 범위에 포함된다.
(게임의 개요)
다음에, 본 발명이 적용되는 게임의 개요에 대해서 설명한다. 본 게임에서는, 가상공간에 배치된 대상체를, 매직 핸드로 잡고(혹은 포착하고) 있는 장소로부터 다른 장소로 이동시키는 것을 하나의 목적으로 하고 있다. 본 게임에 있어서는, 플레이어가 컨트롤러를 쥐는 데 대응해서, 캐릭터는 매직 핸드의 손잡이를 쥐고 있다.
여기서, 매직 핸드란, 사람의 손이 닿는 범위보다도 넓은 범위로 연신되는 막대 형상의 「팔」이 있어, 그 「팔」의 선두에 배치되는 「손」에 의해서, 물건을 「흡착」해서 운반하거나, 해당 「흡착」을 정지하거나 하는 것이 가능한 바와 같은 말한다. 따라서, 장대의 선단에 끈끈이가 부착되어 있어, 그 끈끈이에 의해서 먼 쪽의 물건을 획득할 수 있게 한 것도, 매직 핸드로 생각할 수 있다. 이하, 이해를 쉽게 하기 위해서, 물건이 매직 핸드에 의해 운반되고 있는 동안의 상태를, 일상적인 문장표현에 준하여, 「매직 핸드가 물건을 잡고 있다」라고 칭하는 것으로 한다.
도 3은 이러한 게임에 있어서의 가상공간과 현실세계와의 대응 관계를 나타낸 설명도이다. 이하, 본 도면을 참조해서 설명한다.
가상공간(301)에는, 매직 핸드(302)와, 이것에 의해 잡는 대상이 되는 대상체(303)가 배치되어 있다. 이 매직 핸드(302)는, 손잡이(304)와 견인 빔으로 구성되어 있어, 매직 핸드(302)의 전체 길이의 대부분을 견인 빔이 차지하고 있다. 「견인 빔」이란, 만화나 애니메이션 등에 있어서 설정으로서 채용되고 있는 것으로, 견인 빔의 선단에서 물체를 잡고, 그 물체를 가까이 끌어당길 수 있는 바와 같은 것을 의미한다.
본 게임에 있어서의 매직 핸드(302)의 견인 빔은 막대 형태의 형상을 하고 있다. 그리고, 이 견인 빔은, 대상체를 아무것도 잡고 있지 않을 때에는, 어느 쪽인가의 대상체(벽 등, 각종 장해물의 대상체를 포함함)에 충돌할 때까지, 매직 핸드(302)의 손잡이(304)의 일단부의 사출구로부터 반직선 형상으로 연신되고 있다. 따라서, 매직 핸드(302)의 손잡이(304)의 자세에 의해서, 매직 핸드(302)의 견인 빔의 사출 방향이 정해지게 된다.
여기서, 현실세계의 플레이어가 파지 모듈(201)의 위치·자세를 변화시키면, 이것에 호응해서, 매직 핸드(302)의 손잡이(304)의 위치·자세도 변화된다. 본 게임에 있어서는, 파지 모듈(201)의 위치나 자세가 측정되고, 매직 핸드(302)의 손잡이(304)가 지시 대상으로 된다. 그래서, 「상기 파지 모듈(201)의 자세의 변화」라고 하는 지시에 의거해서, 가상공간(301) 내에 있어서, 매직 핸드(302)의 손잡이(304)의 위치나 자세가 변화된다.
플레이어는, 게임의 개시 시 파지 모듈(201)을 가장 파지하기 쉬운 장소에 고정한다. 그러면, 가상공간(301) 내에 배치된 시점(305) 및 시선(306)에 대해서, 상대적으로 정해진 위치에, 가장 자연스러운 자세로, 매직 핸드(302)의 손잡이(304)가 배치된다.
이때, 현실세계에 있어서는, 플레이어에 대해서 파지 모듈(201)이 「기준위치」에 배치되는 것으로 되고, 가상 공간(301)에 있어서는, 시점(305) 및 시선(306)에 대해서 매직 핸드(302)의 손잡이(304)가 「기준위치」에 배치되게 된다.
이 「기준위치」는, 가상공간 내의 시점(305) 및 시선(306)에 대해서 상대적으로 결정되는 것이지만, 이것은, 플레이어가 가장 자연스러운 자세로 파지 모듈(201)을 잡은 위치가, 플레이어의 눈의 위치에 대해서 상대적으로 결정되는 것에 호응하고 있다.
가상공간(301) 내의 시점(305) 및 시선(306)은, 플레이어가 조작하는(행하는) 가상공간 내의 캐릭터의 눈(주관 시점이라고도 칭함)이나, 상기 캐릭터를 배후로부터 보는 눈(객관 시점이라고도 칭함)에 대응하고, 이 눈이 플레이어의 눈에 상당하는 것이다. 따라서, 매직 핸드(302)의 손잡이(304)의 기준위치는, 플레이어의 잘 쓰는 쪽의 손에 따라서, 시점(305)보다도 우측 아래 혹은 좌측 아래로 되는 것이 전형적이다.
시점(305)으로부터 시선(306) 방향으로 진행하면, 가상적인 투영면(307)이 시선(306)과 직교하고 있다. 가상공간(301)의 양상은, 화면에 표시해야 할 대상체(303)나 매직 핸드(302)의 견인 빔을, 이 투영면(307)에 투시투영함으로써 얻어지는 화상에 의해서 플레이어에게 제시된다.
투시투영 수법으로서는, 시점(305)과 대상체(303) 등을 연결하는 직선이, 투영면(307)과 교차하는 점을 이용하는 한 점 집중형 투영이 전형적이지만, 시점(305)을 무한히 먼 쪽에 배치하여, 대상체(303)를 통과해서 시선(306)에 평행한 직선이 투영면(307)과 교차하는 점을 이용하는 평행 투영을 채용해도 된다.
전술한 바와 같이, 매직 핸드(302)의 손잡이(304)는, 시점의 우측 아래(좌측 아래)에 배치되어 있으므로, 보통의 상황에서는, 투영면(307) 중 화면에 표시되는 범위 밖에 투시투영된다. 따라서, 화면에는 매직 핸드(302)의 손잡이(304)가 표시되지 않는 것이 일반적이다.
그리고, 플레이어가 현실세계에서의 기준위치로부터 파지 모듈(201)의 위치나 자세를 변화시키면, 그 측정 결과를 참조해서, 정보처리장치(100)는, 매직 핸드(302)의 손잡이(304)의 위치나 자세를, 기준위치로부터 대응하는 양(전형적으로는, 현실세계와 같은 양)만큼 이동시킨다.
따라서, 시점(305) 및 시선(306)에 대한 손잡이(304)의 상대적인 위치 및 자세는, 파지 모듈(201)의 위치나 자세의 변화에 연동하는 것으로 된다. 플레이어는, 조작 대상으로서 파지 모듈(201)을 이용해서, 지시 대상인 매직 핸드(302)의 손잡이(304)의 위치나 자세를 변화시키는 것이다.
플레이어는, 파지 모듈(201)의 위치나 자세를 변화시켜서, 매직 핸드(302)의 손잡이(304)로부터 연신되는 견인 빔이 원하는 대상체(303)에 충돌하도록 조작한다. 그리고, 파지 모듈(201)의 B-버튼(205)을 가압한다. 그러면, 매직 핸드(302)의 선단부가 대상체(303)를 잡게 된다.
전술한 바와 같이, 매직 핸드(302)의 견인 빔은, 매직 핸드(302)의 손잡이(304)의 일단부의 사출점으로부터, 잡은 대상체(303)의 위치를 목표점으로 해서 향한다. 따라서, B-버튼(205)의 가압에 의해서, 견인 빔이 향해야 할 목표위치가 설정되는 것으로 되어, 이것은 마치 사격 게임에 있어서의 방아쇠를 당긴 상태에 상당한다. 또, 본 실시예에서는, B-버튼(205)을 누르고 있지 않을 때에는, 매직 핸드(302)의 견인 빔이 처음에 충돌하는 대상체(303)의 위치가, 견인 빔의 목표위치로서 설정되게 된다.
이 후에는, 대상체(303)에 대한, 운동의 시뮬레이션이 개시된다. 대상체(303)에 가해지는 외력은 다음과 같다.
(1) 가상공간 내에 있어서의 중력. 전형적으로는 하향한다.
(2) 가상공간 내에 있어서, 매직 핸드(302)의 손잡이(304)(혹은 시점(305))와 대상체(303)를 연결하는 직선방향의 힘. 소위 견인력이나 반발력에 상당한다. 이것은, 화면표시상으로는 플레이어에 접근하는 힘, 플레이어로부터 멀어지는 힘에 상당하고, 대상체(303)와 매직 핸드(302)의 손잡이(304)(혹은 시점(305))와의 거리, 즉, 매직 핸드(302)의 신축에 의해서 정해진다.
(3) 가상공간 내에 있어서, 매직 핸드(302)의 손잡이(304)(혹은 시점(305))와 대상체(303)를 연결하는 직선에 직교하는 방향의 힘. 이것은, 화면표시상으로는 상하좌우로 향하는 힘에 상당하고, 매직 핸드(302)가 휘는 방향과 그 크기에 의해서 정해진다.
(4) 대상체(303)가 이동하고 있는 동안에, 이동 방향과는 반대 방향에 가해지는 힘. 소위 동마찰력에 상당한다.
(5) 대상체(303)가 정지하고 있는 동안에, 외력과는 반대 방향으로, 동일한 크기만큼 가해지는 힘. 소위 정지마찰력에 상당한다.
여기서, 매직 핸드(302)의 신축 및 휨에 대해서 더욱 상세히 설명한다. 도 4는, 매직 핸드(302)의 손잡이(304)와 대상체(303)와의 위치 관계와, 힘의 방향을 나타낸 설명도이다.
본 도면에 나타낸 바와 같이, 대상체(303)를 잡고 있는 매직 핸드(302)는, 손잡이(304)의 위치나 자세를 플레이어가 변화시키면, 신축되거나 휘거나 한다. 한편, 전술한 바와 같이, 매직 핸드(302)의 견인 빔이 아무것도 잡고 있지 않을 때에는, 견인 빔은 손잡이(304)의 일단부에 형성된 사출구로부터 직진한다.
그래서, 이하에서는, 매직 핸드(302)의 손잡이(304)의 자세의 방향(311)을, 「매직 핸드(302)의 견인 빔이 아무것도 잡고 있지 않은 것으로 가정했을 때 견인 빔이 손잡이(304)의 일단부에 형성된 사출구로부터 직진하는 방향」이라고 정의한다.
일반적으로, 매직 핸드(302)의 견인 빔이 대상체(303)를 잡고 있을 때, 대상체(303)의 무게에 의해서 견인 빔이 휘기 때문에, 매직 핸드(302)의 손잡이(304)의 자세의 방향(311)과, 손잡이(304)로부터 대상체(303)로 향하는 방향과는, 어긋남이 생긴다.
따라서, 견인 빔은, 손잡이(304)의 자세의 방향(311)에 접하도록 발사되어, 그 후 원활하게 휘어서, 대상체(303)에 이르는 곡선을 그리는 것으로 된다. 이러한 곡선으로서는, 스플라인 보간에 의해 얻어지는 스플라인 곡선이나, 원호 등, 각종 곡선을 이용할 수 있다. 이때, 대상체(303)에 있어서의 견인 빔의 방향은, 소위 개방 단부로서 계산하는 것이 용이하다.
대상체(303)를 매직 핸드(302)가 잡기 시작한 순간의, 손잡이(304)(혹은 시점(305))와 대상체(303)와의 거리를, 매직 핸드(302)의 자연 길이라고 생각할 수 있다. 이 자연 길이와, 현재의 가상공간에 있어서의 손잡이(304)와 대상체(303)와의 거리를 대비하면, 용수철에 상당하는 바와 같은 견인력(반발력)(411)을 시뮬레이션할 수 있다. 즉, 상기 거리로부터 자연 길이를 뺀 값에 소정의 정정수(整定數)를 곱한 값의 견인력(부호가 음인 경우에는, 절대치의 크기의 반발력)(411)이 생기는 것으로 하면, 간이하게 시뮬레이션할 수 있다.
한편, 대상체(303)를 상하좌우로 움직이고자 하는 힘(412)은, 매직 핸드(302)의 손잡이(304)의 자세(대상체(303)를 잡고 있지 않은 것으로 했을 때의, 견인 빔이 미치는 방향)와, 손잡이(304)(혹은 시점(305))로부터 대상체(303)로 향하는 방향과의 어긋남에 의해서 생긴다.
즉, 상하좌우의 힘(412)의 방향은, 손잡이(304)의 자세의 방향(311)의 방향 벡터(321)로부터, 손잡이(304)(혹은 시점(305))로부터 대상체(303)에 대한 방향의 방향 벡터(322)를 감산한 벡터(323)의 방향이다. 힘(412)의 크기는 상기 벡터(323)의 크기에 비례한다.
현실의 물리현상에 입각해서 고려할 경우에는, 상하좌우의 힘(412)은, 또한, 손잡이(304)(혹은 시점(305))와 대상체(303)와의 거리에도 비례하는 것으로 하면, 간이하게 시뮬레이션할 수 있다.
대상체(303)에 가해지는 외력을 계산할 수 있으면, CPU(101)는, 중력이나 정지마찰력, 동마찰력을, 통상의 물리 시뮬레이션과 마찬가지로 계산함으로써, 대상체(303)에 가해지는 가속도를 계산할 수 있어, 대상체(303)의 위치를 갱신할 수 있다. 이것에 의해, 대상체(303)를 이동시키는 것이다.
플레이어는, 대상체(303)가 원하는 위치로 이동하면, 손가락을 떨어지게 해서 B-버튼(205)의 가압 조작을 해제한다. 이것에 의해, 매직 핸드(302)는 대상체(303)를 잡는 것을 중지하고, 견인 빔은, 원래대로, 매직 핸드(302)의 손잡이(304)의 자세의 방향(311)에 이르게 된다.
또한, 매직 핸드(302)가 대상체(303)를 잡고 있는 상태에서, 견인 빔의 경로 상에 다른 대상체(이하 「장해물」이라 칭함)(309)가 존재할 경우, 대상체(303)를 잡고 있었던 상태가 해제된다. 해제되면, 견인빔은, 휘고 있는 형상으로부터 반직선 형태의 형상으로 되돌아간다.
(매직 핸드의 손잡이의 자세)
그리고, 매직 핸드(302)의 견인 빔의 형상은, 대상체(303)를 잡고 있지 않을 때에는 반직선 형상으로, 손잡이(304)의 자세의 방향(311)을 나타내고 있다. 대상체(303)를 잡고 있을 때에는 휘기 때문에, 플레이어에게 손잡이(304)의 자세의 방향(311)을 제시하는 다른 수법이 필요해진다. 그래서, 커서(지시표지)가 이용된다.
도 5는 화면에 커서(지시표지)와 매직 핸드와 대상체가 표시되는 상황을 나타낸 설명도이다. 이하, 본 도면을 참조해서 설명한다.
본 도면에 있어서는, 매직 핸드(302)가 대상체(303)를 잡고 있는 상태가 표시되어 있고, 화면(501) 내에서, 손잡이(304)의 방향(311)은 견인 빔의 방향과 일치하고 있지 않다. 즉, 커서(308)는, 손잡이(304)의 방향(311)을 나타내는 직선 상에 표시되지만, 이것은, 매직 핸드(302)의 견인 빔의 위는 아니다.
화면(501)에 대해서 표시되는 화상은, 투영면(307)에 투영되는 대상체의 모습을 나타내는 것이다. 커서(308)의 투영면(307) 내에 있어서의 위치는, 손잡이(304)로부터 손잡이(304)의 자세의 방향(311)에 이르는 반직선이 투영면(307)과 교차하는 점의 위치로 하면 된다. 이것에 의해서, 플레이어는, 화면을 보는 것만으로, 매직 핸드(302)의 손잡이(304)의 방향을 적절하게 이해할 수 있게 된다.
또, 매직 핸드(302)가 대상체(303)를 잡고 있는 상태에서는, 손잡이(304)의 방향(311)은 견인 빔의 방향과 일치하고 있다. 커서(308)는 매직 핸드(302)의 견인 빔 위에 표시되게 된다.
또한, 커서(308)가 표시되는 실시예에서는 매직 핸드(302)의 조작 수법에 이하와 같은 변형을 적용할 수 있다. 즉, B-버튼(205)을 누르고 있지 않은 동안에는, 매직 핸드(302)의 견인 빔은 사출되지 않고, 손잡이(304)의 위치나 자세가 변화되면, 화면(501) 내에 있어서의 커서(308)의 표시 위치가 변화된다.
본 실시예에서는, 커서(308)의 표시 위치는 매직 핸드(302)의 손잡이(304)의 자세의 방향(311)과 투영면(307)이 교차하는 위치이다. 그러나, 「매직 핸드(302)의 손잡이(304)의 자세의 방향(311)이 처음에 충돌하는 다른 대상체(303)의 표면의 위치」와, 시점(305)을 통과하는 직선이, 투영면(307)과 교차하는 위치여도 된다. 이 경우, 마치 레이저 포인터로 방 속의 물체를 지시하고 있는 바와 같은 조작감을 얻을 수 있다.
플레이어가 B-버튼(205)을 가압 조작하면, 매직 핸드(302)의 손잡이(304)의 사출구로부터 견인 빔이 발사되어, 견인 빔이 처음에 충돌한 대상체(303)가 이동가능하면, 이것을 흡착한다. 커서(308)의 표시 위치로서, 레이저 포인터로 물체를 지시하는 바와 같은 태양을 채용하고 있을 때에는, 상기 커서(308)가 겹쳐서 표시되는 대상체(303)가 흡착되는 대상체(303)로 되고, 플레이어에게 있어서도 알기 쉽다. 또한, 흡착한 대상체(303)의 이동은 전술한 설명과 마찬가지이다.
B-버튼(205)을 계속 가압조작하는 조작이 플레이어에게 있어서 번거로울 경우도 있다. 이러한 경우에는, 플레이어가 B-버튼(205)을 가압 조작하고 떼면 견인 빔이 발사되어서 흡착하고, 원하는 위치까지 대상체(303)를 이동한 후 한 번 더 플레이어가 B-버튼(205)을 가압 조작하고 떼면 매직 핸드(302)의 견인 빔을 소거해서 대상체(303)가 해방된다라고 하는 바와 같은 형태를 채용할 수도 있다.
「지시 입력의 접수의 개시」가 「B-버튼(205)의 가압 조작의 개시」에 대응하고, 「지시 입력의 접수의 종료」가 「B-버튼(205)의 가압 조작의 종료」에 대응한다. 혹은, 「지시 입력의 접수의 개시」가 「견인 빔이 사출되고 있지 않은 상태에서 B-버튼(205)을 가압하고 떼는 조작」에 대응하고, 「지시 입력의 접수의 종료」가 「견인 빔이 사출되고 있는 상태에서 B-버튼(205)을 가압하고 떼는 조작」에 대응한다.
어느 쪽의 조작 체계를 채용할지는, 플레이어의 익숙도나 게임의 종류에 따라서 적절하게 변경이 가능하다. 또, 지시 입력을 발하는 버튼의 할당 등에 대해서는, B-버튼(205)이 아니라, A-버튼(204)을 채용하는 등, 용도에 따라서 적절하게 변경이 가능하다.
(시점 위치의 이동)
이상의 설명에서는, 시점(305)의 위치는 변화되지 않는다. 그러나, 시점(305)에 대해서 상대적으로 매직 핸드(302)의 손잡이(304)의 위치를 변화시키는 것만으로는 대상체(303)를 원하는 위치로 이동시킬 수 없을 경우가 있다. 이러한 경우, 플레이어가 십자형 키(203)를 조작해서, 시점(305) 그 자체를 가상공간 내에서 이동시킨다고 하는 수법도 있을 수 있다. 단, 본 게임에 있어서는, 플레이어에게 있어서 좀더 직관적인 이동의 수법을 채용한다.
도 6은 매직 핸드의 손잡이(304)의 위치와 시점(305)의 이동의 방향과의 관계를 설명하는 설명도이다. 이하, 본 도면을 참조해서 설명한다.
게임의 개시 시, 가상공간(301) 내에 있어서, 시점(305) 및 시선(306)에 대해서 상대적으로 매직 핸드(302)의 손잡이(304)의 기준위치(313)가 정해진다.
그 후, 플레이어가 파지 모듈(201)의 위치를 변화시키면, 매직 핸드(302)의 손잡이(304)의 위치도 변화된다.
그래서, 현재의 손잡이(304)의 위치의 위치 벡터로부터, 기준위치(313)의 위치 벡터를 감산한 벡터(314)의 방향으로, 시점을 이동시키는 것이다.
벡터(314)(혹은 이것에 정수를 곱한 벡터)를, 시점(305)의 이동 속도의 속도 벡터로 해서, 소정의 단위시간에 상기 속도 벡터를 곱한 양만큼, 시점(305)을 이동시킨다.
또, 가상공간(301) 내에 소정의 평면(전형적으로는, 가상공간(301) 내에 있어서의 「지면」에 상당하는 것이지만, 이것으로 한정되지 않음)을 상정하고, 벡터(314)(혹은 이것에 정수를 곱한 벡터)의 상기 소정 평면과 평행한 방향의 성분을, 이동 속도의 속도 벡터로 해도 된다.
그 밖에, 시점(305)을 포함하는 캐릭터에 가해지는 외력의 벡터, 혹은, 가속도 벡터(이들 경우도, 지면에 평행한 성분만을 고려하는 것이 전형적임)로 고려해서, 시점(305) 그 자체의 이동을 시뮬레이션할 수도 있다.
텔레비전 장치(291)를 보고 있는 플레이어가, 파지 모듈(201)을 뒤로(등 쪽 방향으로) 이동시키면, 가상공간(301) 내의 시점(305)을 가지는 캐릭터는, 뒤쪽 방향으로 이동한다. 대상체(303)를 잡고 있는 매직 핸드(302)는 얼마 정도 연신되어, 일반적으로는, 시점(305)을 가지는 캐릭터를 향하는 인력이 대상체(303)에 가해져, 대상체(303)도 화면 안쪽으로부터 앞쪽을 향해서 이동한다.
플레이어가, 파지 모듈(201)을 앞으로(텔레비전 장치(291)에 접근하도록) 이동시키면, 가상공간(301) 내의 시점(305)을 가지는 캐릭터는 전진한다. 그러면, 대상체(303)를 잡고 있는 매직 핸드(302)는 얼마 정도 수축되어, 일반적으로는, 시점(305)을 가지는 캐릭터로부터 멀어지게 하고자 하는 반발력이 대상체(303)에 가해져, 대상체(303)도 화면 바로 앞으로부터 속을 향해서 진행한다.
무엇보다, 대상체(303)와 매직 핸드(302)와의 사이의 손잡이(304)의 사이의 신축에 의한 견인력·반발력은, 반드시 상정할 필요는 없다. 매직 핸드(302) 그 자체의 길이를 변화시키는 바와 같은 지시 입력을 A-버튼(204)이나 각종 버튼(206)에 의해서 플레이어가 행해도 된다.
상기 형태에 의해서,
(1) 가상공간(301) 내에 있어서, 시점(305)을 가진 캐릭터를 앞뒤로 이동시키는 것
(2) 가상공간(301) 내에 있어서, 시점(305) 및 시선(306)에 대해서, 매직 핸드(302)의 손잡이(304)의 상대적인 위치 및 자세를 변화시키는 것
(3) 가상공간(301) 내에 있어서, 손잡이(304)로부터 연신되는 가요성의 매직 핸드(302)의 선단에서 대상체(303)를 잡거나, 떼어놓거나 하는 것
이 가능해진다. 이들 기능에 의해서, 대상체(303)를 가상공간(301) 내인 위치로부터 다른 위치로 이동시킬 수 있다.
이하에서는, 본 발명의 원리에 따라서, 이들 기능에 더욱 가해져야 하는, 새로운 기능에 대해서, 순차적으로 설명한다.
(시선 방향의 제어)
상기 형태에 있어서, 플레이어가, 캐릭터의 방향, 즉, 시선(306)의 방향을 변경하고 싶어할 경우도 많다. 파지 모듈(201)을 현실공간에서 앞뒤로 이동시키는 것만으로, 캐릭터를 앞뒤로 이동시킬 수 있으므로, 이것과 마찬가지의 용이한 조작으로, 십자형 키(203) 등을 사용하지 않고 시선 방향을 변화시킬 수 있는 것이 바람직하다.
본 실시예에 있어서는, 커서(308)를 화면(501)에 표시함으로써 손잡이(304)의 자세가 표시되어 있다. 이 커서(308)의 화면(501) 내에 있어서의 위치는, 플레이어가 파지 모듈(201)의 자세를 변경하는 것만으로 용이하게 변경할 수 있다. 그래서, CPU(101)는, 화면(501) 내에 표시되는 커서(308)의 위치에 의거해서 캐릭터의 방향, 즉, 시선(306)의 방향을 변경한다.
도 5에 나타낸 바와 같이, 화면(501)은, 상측 가장자리부(511), 우측 가장자리부(512), 좌측 가장자리부(513), 하측 가장자리부(514), 중앙부(515)의 5개의 영역으로 분할되어 있다. 플레이어는, 다음과 같이 파지 모듈(201)의 자세를 변화시킴으로써, 시선(306) 방향의 이동을 지시한다.
(a) 시선(306)을 위로 이동하고자 할 때에는, 플레이어는, 커서(308)가 상측 가장자리부(511)에 표시되는 바와 같이, 파지 모듈(201)의 자세를 변경한다.
(b) 시선(306)을 오른쪽으로 이동하고자 할 때에는, 플레이어는, 커서(308)가 우측 가장자리부(512)에 표시되는 바와 같이, 파지 모듈(201)의 자세를 변경한다.
(c) 시선(306)을 왼쪽으로 이동하고자 할 때에는, 플레이어는, 커서(308)가 좌측 가장자리부(513)에 표시되는 바와 같이, 파지 모듈(201)의 자세를 변경한다.
(d) 시선(306)을 아래쪽으로 이동하고자 할 때에는, 플레이어는, 커서(308)가 하측 가장자리부(514)에 표시되는 바와 같이, 파지 모듈(201)의 자세를 변경한다.
(e) 시선(306) 방향이 원하는 방향으로 되면, 플레이어는, 커서(308)가 중앙부(515)에 표시되는 바와 같이, 파지 모듈(201)의 자세를 변경한다.
즉, 지시표지(커서(308))가, 화면(501) 내의 소정의 표시영역(상측 가장자리부(511), 우측 가장자리부(512), 좌측 가장자리부(513), 하측 가장자리부(514))에 표시되고 있는 동안, CPU(101)는, 상기 표시영역의 각각에 대응되는 상하좌우 방향으로 시선(306) 방향을 이동시킨다. 지시표지(커서(308))가 화면(501) 내의 소정의 표시영역 이외의 영역 (중앙부(515))에 표시되면, CPU(101)는 시선(306) 방향의 이동을 정지한다.
CPU(101)는, 단위시간 간격으로(예를 들어, 수직동기 개입 중단의 주기마다) 커서(308)의 위치가 화면(501) 내의 어느 영역에 포함되는지를 식별한다. 그리고, 필요하다면, CPU(101)는, 상기 영역에 할당된 이동량과 방향으로, 시선(306) 방향을 변화시킨다.
이상의 처리에 의해서 시선(306) 방향이 변화된 후, CPU(101)는, 가상공간 내에 있어서의 매직 핸드(302)의 손잡이(304)의 자세(311)의 방향을, 화면(501) 내에서의 커서(308)의 표시 위치가 변화되지 않도록, 갱신하는 것이 바람직하다.
도 7a 내지 도 7c는 시선(306) 방향의 방향을 이동시키는 처리를 설명하기 위한 도면이다.
(1) 우선, CPU(101)는, 시선(306) 방향을 변화시키기 전에, 시점(305) 및 시선(306)에 대한 상대적인 매직 핸드(302)의 손잡이(304)의 위치 및 자세를 취득한다(도 7a).
(2) 다음에, CPU(101)는, 시점(305)을 중심으로 시선(306) 방향을 변화시켜서, 캐릭터의 방향을 변화시킨다(도 7b)
(3) 그리고, CPU(101)는, 변화된 후의 시점(305)과 시선(306)에 대응하는 매직 핸드(302)의 손잡이(304)의 위치 및 자세를, 상기 (1)에서 취득한 위치 및 자세로 갱신한다(도 7c). 매직 핸드(302)의 손잡이(304)의 위치 및 자세는 가상공간(301)에 대해서 변화된다.
시선(306) 방향의 이동의 전후에 있어서, 시점(305)과 시선(306)에 대한 매직 핸드(302)의 손잡이(304)의 위치 및 자세는 동일한 값으로 유지된다.
예를 들어, 플레이어는, 캐릭터를 오른쪽으로 향하게 하고자 할 경우, 커서(308)가 우측 가장자리부(512)로 이동하도록, 파지 모듈(201)의 자세를 변경하면 좋다.
시선(306) 방향이 우측으로 이동하기 시작하고, 파지 모듈(201)의 자세를 그대로 고정하면, 캐릭터의 방향(시선(306) 방향)이 갱신된다. 캐릭터의 방향이 우측으로 조금씩 변화되고 있어도, 커서(308)가 화면(501) 내의 커서(308)의 표시 위치는 변화되지 않는다.
캐릭터의 방향(시선(306) 방향)이 원하는 방향에 도달하면, 플레이어는 커서(308)를 화면(501)의 중앙부(515)로 되돌리도록 파지 모듈(201)의 자세를 변경하면 된다. 이러한 매우 직관적인 조작으로, 용이하게 캐릭터의 방향을 변경할 수 있게 된다.
상측 가장자리부(511), 우측 가장자리부(512), 좌측 가장자리부(513), 하측 가장자리부(514)의 각각의 폭이나, 단위시간당의 시선(306) 방향의 단위시간당의 이동량은, 적용 분야나 플레이어의 익숙도에 따라서 적절하게 변경할 수 있다. 또한, CPU(101)는, 단위시간당의 이동량을, 중앙부(515)에 가까운 곳에서는 작게 하고, 화면(501)의 가장자리에 접근하면 접근할수록 크게 해도 된다.
또, 플레이어(시선(306) 방향)가 위 또는 아래를 향할 때에는, 적당한 상한이나 하한을 마련하면 된다. 상한 혹은 하한에 이르면, 그 이상의 시선(306) 방향의 변경은 하지 않는 것으로 해도 된다. 또한, 시선(306)을 변화시킬 수 있는 것은 좌우로만 한정하는 등, 각종 제약을 부과하는 것도 가능하다.
화면(501)의 가장자리의 분할 방법은 본 발명에 의해서 한정되지 않는다. 예를 들어, 화면(501)의 중앙으로부터 부채형상으로 넓어지도록 영역을 분할하고, 화면 중앙에서 본 방향의 단위시간당의 이동량을 각 영역에 할당해서, 경사 방향으로의 이동도 가능하게 해도 된다.
다음에, 본 실시형태에 따른 게임장치(800)의 기능적인 구성에 대해서 설명한다.
도 8은 게임장치(800)의 기능적인 구성을 나타내는 도면이다. 게임장치(800)는, 기억부(801), 입력 접수부(802), 생성부(803), 표시부(804), 거리 계산부(805), 이동 계산부(806), 보정부(807) 및 갱신부(808)를 구비한다.
도 9a는 모니터에 표시되는 화면(501)의 예이다. 화면(501)에는, 상기 대상체로서, 매직 핸드(302)가 잡고 있는 대상체(901) 이외에, 대상체(902A), (902B), (902C)가 표시되어 있다.
도 9b는, 도 9a에 나타낸 화면(501)이 표시되어 있는 상황에 있어서의 가상공간(301)을 나타낸 도면이다.
기억부(801)는, 대상체 정보(851), 시점정보(852), 시선정보(853), 커서정보(854) 및 주목영역정보(855)를 기억한다. CPU(101)와 RAM(103)이 협동해서 기억부(801)로서 기능한다. RAM(103) 대신에 외부 메모리(106)를 사용해도 된다.
대상체 정보(851)는, 가상공간(301)에 배치되는 대상체(303)의 위치를 나타내는 정보이다. 가상공간(301)에 복수개의 대상체(303)가 배치될 경우, 기억부(801)에는 각각의 대상체(303)의 위치를 나타내는 정보가 대상체 정보(851)로서 기억된다. 가상공간(301)에는 데카르트 좌표계 또는 극좌표계를 이용한 글로벌(global) 좌표계가 정의되어 있다. 위치는 글로벌 좌표계에 있어서의 좌표값을 이용해서 표시된다. 예를 들어, 매직 핸드(302)가 대상체(303)를 잡고 있는 상태에서 매직 핸드(302)를 이동하면, CPU(101)는 대상체(303)의 위치의 변화량을 계산한다. 그리고, CPU(101)는, 계산된 변화량만큼 대상체(303)의 위치를 변화시키고, 대상체 정보(851)를 갱신한다.
시점정보(852)는, 가상공간(301)에 배치되는 시점(305)의 위치를 나타내는 정보이며, 글로벌 좌표계에 있어서의 좌표값을 이용해서 표시된다. CPU(101)는, 현실공간에 있어서의 파지 모듈(201)의 위치의 변화에 따라서 시점(305)의 위치의 변화량을 계산한다. 그리고, CPU(101)는, 계산된 변화량만큼 시점(305)의 위치를 변화시키고, 시점정보(852)를 갱신한다.
시선정보(853)는, 가상공간(301)에 배치되는 시선(306) 방향을 나타내는 정보이며, 글로벌 좌표계에 있어서의 방향 벡터로 표시된다. CPU(101)는, 현실공간에 있어서의 파지 모듈(201)의 자세의 변화에 따라서 시선(306) 방향의 변화량을 계산한다. 그리고, CPU(101)는, 계산된 변화량만큼 시선(306) 방향을 변화시키고, 시선정보(853)를 갱신한다.
본 실시예에서는, 시점(305)의 위치와 시선(306) 방향은 모두 가변이다. 그러나, 시점(305)의 위치를 고정하고 시선(306) 방향만을 가변으로 해도 된다. 또, 시선(306) 방향을 고정하고 시점(305)의 위치만을 가변으로 해도 된다.
커서정보(854)는, 화면(501) 내에 있어서의 커서(308)의 위치를 나타내는 정보이다. 예를 들어, 화면(501)의 좌측 위쪽의 모퉁이를 원점으로 하고, 우측 방향을 X축의 양의 방향, 아래쪽 방향을 Y축의 양의 방향으로 하는 2차원 좌표계를 정의한다. 커서(308)의 화면(501) 내에 있어서의 위치는, 이 2차원 좌표계에 있어서의 좌표값으로서 표시된다. CPU(101)는, 현실공간에 있어서의 파지 모듈(201)의 위치나 자세의 변화에 따라서 커서(308)의 위치의 변화량을 계산한다. 그리고, CPU(101)는, 계산된 변화량만큼 커서(308)의 위치를 변화시키고, 커서정보(854)를 갱신한다.
주목영역정보(855)는, 화면(501) 내에 설정되는 주목영역(960)의 위치를 나타내는 정보이다. 주목영역(960)은, 사용자로부터의 지시 입력 등에 의거해서CPU(101)에 의해 플레이어의 주목도가 높은 것으로 추정되어 화면(501) 내에 설정되는 영역이다. 플레이어의 주목도가 높은 것으로 추정되는 화면영역은, 전형적으로는 화면(501) 중앙 부근의 일부 영역이다. 그러나, 플레이어의 주목도가 높은 화면영역의 위치, 크기, 형상 등은, 게임 내용, 게임 전개, 대상체(303)가 존재하는 위치 등에 의해서 변하는 것이 추측된다. CPU(101)는, 게임 내용, 게임 전개, 대상체(303)가 존재하는 위치 등에 의해서, 주목영역(960)의 위치, 크기, 형상 등을 적절하게 변경할 수 있다. 화면(501) 전체를 주목영역(960)에 설정할 수도 있다.
또, 본 실시예에서는, 주목영역(960)을, 화면(501) 중앙점(953)을 중심으로 하는 사각형으로 고정하고 있다. 주목영역(960)의 위치 등을 가변으로 하는 실시예에 대해서는 후술한다.
입력 접수부(802)는, 파지 모듈(201)을 조작하는 사용자로부터의 각종 지시 입력을 접수한다. 예를 들어, 입력 접수부(802)는, 시점(305)의 위치나 시선(306) 방향을 이동하는 취지의 이동 지시 입력이나, 임의의 대상체(303)를 조작 대상으로서 선택하는 취지의 선택 지시 입력이나, 대상체(303)를 매직 핸드(302)로 잡거나 떼어놓거나 하는 취지의 조작 지시 입력 등을 플레이어로부터 접수한다. 그리고, 입력 접수부(802)는, 접수한 지시 입력에 의거해서, 기억부(801)에 기억되어 있는 시점정보(852), 시선정보(853), 커서정보(854)를 갱신한다.
예를 들어, 사용자가 파지 모듈(201)을 조작해서 파지 모듈(201)의 위치나 자세를 변화시키면, CPU(101)는, 파지 모듈(201)의 위치나 자세의 변화에 따라서 시점(305)의 위치의 변화량 및/또는 시선(306) 방향의 변화량을 계산한다. 그리고, CPU(101)는, 계산된 변화량만큼 시점(305)의 위치 및/또는 시선(306) 방향을 변화시키고, 시점정보(852) 및/또는 시선정보(853)를 갱신한다. CPU(101), RAM(103), 컨트롤러(105)가 협동해서 입력 접수부(802)로서 기능한다.
단, 파지 모듈(201)과 같이 손으로(전형적으로는 한쪽 손으로) 쥐는 타입의 막대 형상의 조작용 기기가 아니라, 양손을 곁들여서 사용하는 타입의 조작용 기기(소위 게임 패드)를 사용자가 이용하는 실시예를 채용할 수도 있다. 또, 모니터 상에 비치되어 있는 터치패널에 터치 펜을 접촉시켜서 각종 조작을 행하는 타입의 조작용 기기를 사용자가 이용하는 실시예를 채용할 수도 있다.
생성부(803)는, 가상공간(301)에 배치되는 투영면(307)에 시점(305)의 위치로부터 시선(306) 방향으로 가상공간(301)을 투영한 화상을 생성한다. 즉, 화상 처리부(107)는, CPU(101)의 제어에 의해, 시점(305)의 위치로부터 시선(306) 방향으로 가상공간(301)을 바라본 상황을 나타내는 화상을 생성한다. 생성되는 화상에는, 시점(305) 위치 혹은 시선(306) 방향에 따라서는 대상체(303)를 나타내는 화상(투영 화상)이 포함되어도 된다.
본 실시예에서는 생성부(803)는, 가상공간(301)을 나타내는 화상에, 파지 모듈(201)의 위치와 자세에 의거해서 정해지는 커서(308)를 나타내는 화상을 포개서 묘화한다. 플레이어는, 커서(308)의 위치에 의해서 손잡이(304)의 방향(311)을 용이하게 인식할 수 있다. 단, 생성부(803)는, 커서(308)를 나타내는 화상을 묘화하지 않아도 된다. CPU(101)와 RAM(103)과 화상 처리부(107)가 협동해서 생성부(803)로서 기능한다.
또한, 본 실시예에서는, 투영면(307)은 손잡이(304)의 방향(311)에 대해서 수직으로 배치되는 것으로 한다.
표시부(804)는 생성부(803)에 의해서 생성된 화상을 모니터에 표시한다. 즉, 화상 처리부(107)는, CPU(101)의 제어에 의해, 예를 들어, 도 9a에 나타낸 바와 같은 화면(501)을 모니터에 표시한다. 도 9a에서는, 매직 핸드(302)가 화면(501)에 표시되는 가상공간(301)의 속을 향해서 연신되고 있고, 대상체(901)를 잡고 있다. CPU(101)와 RAM(103)과 화상 처리부(107)가 협동해서 표시부(804)로서 기능한다.
거리 계산부(805)는, 주목영역(960) 내에 묘화되어 있는 대상체(303)의 가상공간(301)에 있어서의 위치와, 시점(305)의 가상공간(301)에 있어서의 위치와의 거리(L1)를 계산한다. CPU(101)와 RAM(103)과 화상 처리부(107)가 협동해서 거리 계산부(805)로서 기능한다.
이동 계산부(806)는, 입력 접수부(802)가 사용자로부터 접수한 이동 지시 입력 등에 의거해서, 시점정보(852)에 격납되어 있는 시점(305)의 위치의 단위시간당의 이동 방향과, 단위시간당의 이동 거리를 계산한다. CPU(101)와 RAM(103)이 협동해서 이동 계산부(806)로서 기능한다.
보다 상세하게는, CPU(101)는 이동 방향과 이동 거리를 다음과 같이 계산한다.
우선, CPU(101)는, 생성된 화상을 표시하는 화면(501)(또는 생성된 화상)의 소정 영역 내에 커서(308)가 포함되는지의 여부를 판별한다.
여기서, 소정 영역이란, 화면(501) 중의 상측 가장자리부(511), 우측 가장자리부(512), 좌측 가장자리부(513), 하측 가장자리부(514) 중 어느 쪽인가 1개 이상으로 구성되는 영역이다.
플레이어가 파지 모듈(201)의 위치나 자세를 변화시키면, 매직 핸드(302)의 손잡이(304)의 위치나 자세도 변화된다. CPU(101)는, 파지 모듈(201)의 위치나 자세의 변화에 따라서 손잡이(304)의 위치의 이동 방향을 구하고, 손잡이(304)의 위치를 벡터(951)의 방향으로 이동시킨다. CPU(101)는 시점(305)의 위치도 벡터(951)의 방향으로 이동시킨다.
CPU(101)는, 시점(305)(혹은 손잡이(304))의 이동 방향을 나타내는 벡터(951)의 방향을,
(1) 커서(308)가 상측 가장자리부(511)에 있을 경우, 투영면(307)의 상측 방향(Y1),
(2) 커서(308)가 우측 가장자리부(512)에 있을 경우, 투영면(307)의 우측 방향(Y2),
(3) 커서(308)가 좌측 가장자리부(513)에 있을 경우, 투영면(307)의 좌측 방향(Y3),
(4) 커서(308)가 하측 가장자리부(514)에 있을 경우, 투영면(307)의 하측 방향(Y4)
으로 한다.
예를 들어, 도 9a에서는, 커서(308)는 화면(501)의 상측 가장자리부(511) 속에 묘화되어 있고, CPU(101)는 소정 영역에 설정되어 있는 상측 가장자리부(511) 내에 커서(308)가 포함되는 것으로 판별한다. CPU(101)는, 화면(501)의 상측 방향(Y1)을 이동 방향으로 해서 시점(305)의 위치를 변화시킨다.
또, 파지 모듈(201) 대신에 상하좌우를 지정하는 각 버튼을 구비하는 게임 패드를 이용할 경우, CPU(101)는, 시점(305)(혹은 손잡이(304))의 이동 방향을 나타내는 벡터(951)의 방향을,
(1) 상향 버튼이 눌린 경우, 투영면(307)의 상측 방향(Y1),
(2) 우향 버튼이 눌린 경우, 투영면(307)의 우측 방향(Y2),
(3) 좌향 버튼이 눌린 경우, 투영면(307)의 좌측 방향(Y3),
(4) 하향 버튼이 눌린 경우, 투영면(307)의 하측 방향(Y4)
으로 한다.
시점(305)의 위치를 이동하면, CPU(101)는 투영면(307) 내에 설정되는 표시영역(952)의 위치를 이동시킨다. 투영면(307)에 투영되는 화상 전체 중 표시영역(952)에 포함되는 부분이 모니터에 표시되는 화면(501)의 화상으로 된다.
따라서, 화면(501) 내의 화상은,
커서(308)가 상측 가장자리부(511)에 있을 경우에는 투영면(307)의 상측 방향(Y1)으로 스크롤하고,
커서(308)가 우측 가장자리부(512)에 있을 경우에는 투영면(307)의 우측 방향(Y2)으로 스크롤하며,
커서(308)가 좌측 가장자리부(513)에 있을 경우에는 투영면(307)의 좌측 방향(Y3)으로 스크롤하고,
커서(308)가 하측 가장자리부(514)에 있을 경우에는 투영면(307)의 하측 방향(Y4)으로 스크롤한다.
또, 이하의 설명에서는, 투영면(307) 내에 있어서의 표시영역(952)의 위치를 이동하는 것을, 「화면(501)을 스크롤한다」라고도 표현한다.
또한, CPU(101)는 시점(305)(혹은 손잡이(304))의 이동 방향을 나타내는 벡터(951)의 길이, 즉, 시점(305)의 위치의 이동 거리를, 소정값 ΔLfix로 설정한다. 즉, 커서(308)가 상측 가장자리부(511), 우측 가장자리부(512), 좌측 가장자리부(513), 하측 가장자리부(514) 중 어느 하나에 포함될 경우, CPU(101)는 시점(305)의 위치의 단위시간당의 이동 거리를 소정값 ΔLfix으로 설정한다. 시점(305)의 위치를 소정값 ΔLfix만큼 이동한다고 하는 것은, 화면(501)을 소정값 ΔLfix로 지정되는 스크롤량만큼 스크롤하고, 스크롤의 속도는 변하지 않는 것에 상당한다.
단, CPU(101)는 시점(305)의 단위시간당의 이동 거리를 고정값이 아니라 가변값으로 해도 된다. 예를 들어, 화면(501)의 좌측 위쪽의 모퉁이를 원점으로 하고, 우향 방향을 X축의 양의 방향으로 하며, 하향 방향을 Y축의 양의 방향으로 하는 2차원 좌표계가 정의된다. CPU(101)는, 상황에 따라서 하기 (1) 내지 (4)의 처리를 행한다. 즉,
(1) 커서(308)가 상측 가장자리부(511)에 포함될 경우, CPU(101)는, 커서(308)의 화면(501)에 있어서의 위치의 Y좌표값이 작을수록, 바꿔 말하면 커서(308)가 화면(501) 상에 있을수록, 시점(305)의 위치의 단위시간당의 이동 거리를 크게 한다.
(2) 커서(308)가 우측 가장자리부(512)에 포함될 경우, CPU(101)는, 커서(308)의 화면(501)에 있어서의 위치의 X좌표값이 클수록, 바꿔 말하면 커서(308)가 화면(501)의 우측에 있을수록, 시점(305)의 위치의 단위시간당의 이동 거리를 크게 한다.
(3) 커서(308)가 좌측 가장자리부(513)에 포함될 경우, CPU(101)는, 커서(308)의 화면(501)에 있어서의 위치의 X좌표값이 작을수록, 바꿔 말하면 커서(308)가 화면(501)의 좌측에 있을수록, 시점(305)의 위치의 단위시간당의 이동 거리를 크게 한다.
(4) 커서(308)가 하측 가장자리부(514)에 포함될 경우, CPU(101)는, 커서(308)의 화면(501)에 있어서의 위치의 Y좌표값이 클수록, 바꿔 말하면 커서(308)가 화면(501) 아래쪽에 있을수록, 시점(305)의 위치의 단위시간당의 이동 거리를 크게 한다.
화면(501)의 스크롤의 속도는 일정하지 않고, 변화된다.
본 실시예에서는, 화면(501)의 스크롤 방향을 상하좌우의 4방향으로 하고 있다. 그러나, 이들 4방향으로 한정되지 않고 임의의 방향으로 스크롤시켜도 된다. 예를 들어, CPU(101)는, 커서(308)의 위치의 변화량을 화면(501)의 좌우 방향 성분과 상하 방향 성분으로 분해시켜, 좌우 방향에는 커서(308)의 위치의 변화량의 좌우 방향 성분에 상당하는 양만큼 스크롤시키고, 상하 방향에는 커서(308)의 위치의 변화량의 상하 방향성분에 상당하는 양만큼 스크롤시킬 수도 있다.
보정부(807)는, 이동 계산부(806)에 의해 계산된 이동 거리를, 거리 계산부(805)에 의해 구해진 거리(L1)에 의거해서 보정한다. 이때, 보정부(807)는, 보정 후의 이동 거리(ΔL)가 거리 계산부(805)에 의해 구해진 거리(L1)에 대해서 단조감소하도록 보정한다. CPU(101)와 RAM(103)이 협동해서 보정부(807)로서 기능한다.
보다 상세하게는, CPU(101)는, 시점(305)의 위치의 이동 거리를 다음과 같이 보정한다. 즉, CPU(101)는, 주목영역(960) 내에 배치되어 있는 대상체(303)(도 9a에서는 대상체(902A))의 가상공간(301)에 있어서의 위치와, 시점(305)의 가상공간(301)에 있어서의 위치와의 거리(L1)가 짧을수록 작아지도록, 시점(305)의 위치의 이동 거리를 보정한다. 즉, 보정에 의해 얻어지는, 시점(305)의 위치의 단위시간당의 이동 거리(ΔL)는, 거리(L1)에 대해서 단조감소한다.
예를 들어, 도 10a 내지 도 10d는, 주목영역(960) 내에 배치되어 있는 대상체(303)와 시점(305)과의 거리(L1)와, 보정 후의 시점(305)의 위치의 이동 거리(ΔL)와의 관계의 예를 나타내는 도면이다. 본 실시예와 같이 이동 계산부(806)에 의해서 계산되는 이동 거리가 소정값 ΔLfix로 고정될 경우, 보정부(807)가 시점(305)의 위치를 보정하기 위한 보정 함수의 형상은, 도 10a 내지 도 10d에 나타낸 함수에 의해서 표시된다.
도 10a에서는, CPU(101)는 시점(305)의 위치의 이동 거리(ΔL)를 거리(L1)에 비례해서 증가시킨다. 어떤 거리(도시 생략)에서 이동 거리(ΔL)를 최대값 ΔLmax로 하면, 그것 이상의 거리에서는 이동 거리(ΔL)를 최대값 ΔLmax로 일정하게 한다.
도 10b에서는, CPU(101)는 거리(L1)가 길수록 이동 거리(ΔL)의 증가율을 작게 한다. 이동 거리(ΔL)는 최종적으로 최대값 ΔLmax에 수속된다.
도 10c에서는, CPU(101)는 이동 거리(ΔL)의 증가율을 변화시킨다. 증가율은 0 이상의 실수이다.
도 10d에서는, CPU(101)는, 계단함수를 이용해서 이동 거리(ΔL)를 변화시킨다. 전체로서, 거리(L1)가 증가함에 따라서 이동 거리(ΔL)를 크게 하는 경향이 있으면 되고, 이동 거리(ΔL)가 일정해지는 구간(증가율이 제로(zero)로 되는 구간)이 있어도 된다.
CPU(101)는, 도 10a 내지 도 10d에 나타낸 어느 하나의 함수를 사용해도 되고, 이들 함수를 조합시켜도 된다. 또, 거리(L1)가 짧을수록 이동 거리(ΔL)를 작게 하는 관계를 충족시키는 것이라면, 자유롭게 함수를 정할 수 있다.
이상과 같이 구해진 단위시간당의 이동 방향 및 단위시간당의 이동 거리(ΔL)가, 각각, 시점(305)의 위치를 단위시간당 이동하는 방향 및 단위시간당 이동하는 거리로 된다. CPU(101)는, 단위시간당, 계산된 이동 방향으로, 보정된 이동 거리만큼, 시점(305)의 위치를 이동시킨다.
만약에 단위시간당의 이동 거리를 고정치 ΔLfix로 고정해서 보정부(807)가 보정하지 않는 것으로 가정하면, 스크롤 시, 화면(501)은 항상 일정한 속도로 스크롤하게 된다. 그러나, 본 실시예에 의하면, 화면(501)의 주목영역(960) 내에 배치되어 있는 대상체(303)가 시점(305)으로부터 멀리 있으면 있을수록, 시점(305)의 위치의 단위시간당의 이동 거리(ΔL)는 커지고, 화면(501)은 크게(빠르게) 스크롤되는 것으로 된다. 반대로 화면(501)의 주목영역(960) 내에 배치되어 있는 대상체(303)가 시점(305)으로부터 가까이 있으면 있을수록, 시점(305)의 위치의 단위시간당의 이동 거리(ΔL)는 적게 되어, 화면(501)은 적게(느리게) 스크롤되는 것으로 된다.
일반적으로, 플레이어는 화면(501)의 한가운데 부근을 보다 빈번하게 보면서 게임을 플레이하는 일이 많은 것으로 추측된다. 또한, 화면(501)에 복수개의 대상체(303)가 존재할 경우, 한가운데 부근에 배치되어 있는 대상체(303)일수록 플레이어의 주목도는 높은 것으로 추측된다. 그 때문에, 주목영역(960)의 위치를 화면(501)의 한가운데 부근에 고정하는 수법을 채용할 수 있다. 또한, 주목영역(960)의 위치를 가변으로 하는 것도 가능하지만, 그 상세에 관해서는 후술한다.
또한, 대상체(303)가 시점(305) 가까이에 있을수록, 바꿔 말하면 화면(501)에 크게 비치고 있을수록, 플레이어의 주목도는 높은 것으로 추측된다. 즉, 화면(501) 전체의 플레이어에 의한 주목도의 높이의 분포에 편중이 생길 가능성이 있다. 이러한 주목도의 높이의 분포에 편중이 있는 상태에서, 화면(501)을 크게(빠르게) 스크롤시켜 버리면, 플레이어가 화상의 변화에 대해서 따라갈 수 없게 되거나 헤매게 되어버리거나 할 우려가 있어, 플레이어에게 있어서 보기 거북한 화상이 되어버린다. 그러나, 본 실시예의 게임장치(800)는, 화면(501)의 주목영역(960)에, 다른 것과 비교해서, 시점(305)의 근처에 배치되는 대상체(303)가 묘화되는 상황에서는, 화면(501)의 스크롤량을 감소시켜, 조금씩 스크롤시킨다. 따라서, 플레이어에게 있어서 화면(501)의 시인성을 향상시킬 수 있다. 또한, 시점(305)의 이동에 의한 스크롤 처리가 빈번하게 발생되어 버리지 않도록 할 수 있어, 스크롤 처리에 의한 게임장치(800)에의 부하를 경감할 수 있다.
갱신부(808)는, 단위시간당, 계산된 이동 방향으로, 보정된 이동 거리(ΔL)만큼 시점(305)의 위치를 이동하도록, 시점정보(852)를 갱신한다. CPU(101)와 RAM(103)이 협동해서 갱신부(808)로서 기능한다.
그런데, CPU(101)는, 시점(305)의 위치를 변화시키는 것이 아니라, 시선(306) 방향을 변화시키는 것도 가능하다.
즉, 이동 계산부(806)는, 입력 접수부(802)가 사용자로부터 접수한 이동 지시 입력 등에 의거해서, 시선정보(853)에 격납되어 있는 시선(306) 방향의 회전 방향과, 단위시간당의 회전 각도를 구해도 된다. 또, 보정부(807)는, 보정 후의 회전 각도가, 거리 계산부(805)에 의해서 계산된 거리(L1)에 대해서 단조감소하도록, 시선(306) 방향의 회전 각도를 보정해도 된다. 그리고, 갱신부(808)는, 단위시간당, 시선(306) 방향을, 구해진 회전 방향으로, 보정된 회전 각도만큼 이동시켜, 시선정보(853)를 갱신해도 된다.
도 11a는 모니터에 표시되는 화면(501)의 예이다.
도 11b는 도 11a에 나타낸 화면(501)이 표시되어 있는 상황에 있어서의 가상공간(301)을 나타낸 도면이다.
플레이어가 파지 모듈(201)의 위치나 자세를 변화시키면, 매직 핸드(302)의 손잡이(304)의 위치나 자세도 변화된다. CPU(101)는, 파지 모듈(201)의 위치나 자세의 변화에 따라서 손잡이(304)의 방향의 회전 방향을 구하여, 손잡이(304)의 방향을 각도(1101)의 방향으로 이동(회전)시킨다.
CPU(101)는, 시선(306)의 방향도 각도(1101)의 방향으로 이동(회전)시킨다.
CPU(101)는, 시선(306)(혹은 손잡이(304))의 방향을,
(1) 커서(308)가 상측 가장자리부(511)에 있을 경우, 투영면(307)의 상측 방향(Y1),
(2) 커서(308)가 우측 가장자리부(512)에 있을 경우, 투영면(307)의 우측 방향(Y2),
(3) 커서(308)가 좌측 가장자리부(513)에 있을 경우, 투영면(307)의 좌측 방향(Y3),
(4) 커서(308)가 하측 가장자리부(514)에 있을 경우, 투영면(307)의 하측 방향(Y4)
으로 이동시킨다.
예를 들어, 도 11a에서는, 커서(308)는 화면(501)의 상측 가장자리부(511) 속에 묘화되어 있다. CPU(101)는, 소정 영역, 즉, 상측 가장자리부(511) 내에 커서(308)가 포함되는 것으로 판별한다. CPU(101)는, 화면(501)의 상측 방향(Y1)을 이동 방향으로 해서, 시선(306) 방향을 변화시킨다.
시선(306) 방향을 이동시키면, CPU(101)는, 투영면(307)의 방향을 이동시킨다. 예를 들어, 시점(305)의 위치를 변화시키지 않고 시선(306) 방향을 변화시키는 것으로 하면, 화면(501) 내의 화상은,
커서(308)가 상측 가장자리부(511)에 있을 경우에는 투영면(307)의 상측 방향(Y1)으로 올려다보도록 스크롤하고,
커서(308)가 우측 가장자리부(512)에 있을 경우에는 투영면(307)의 우측 방향(Y2)으로(우측 가로로) 뒤돌아보도록 스크롤하고,
커서(308)가 좌측 가장자리부(513)에 있을 경우에는 투영면(307)의 좌측 방향(Y3)으로(좌측 가로로) 뒤돌아보도록 스크롤하고,
커서(308)가 하측 가장자리부(514)에 있을 경우에는 투영면(307)의 하측 방향(Y4)으로 내려다보도록 스크롤한다.
또, CPU(101)는, 시선(306)(혹은 손잡이(304))의 회전 방향을 나타내는 벡터(1101)의 길이, 즉, 시선(306) 방향의 단위시간당의 회전 각도를, 소정값 ΔDfix로 설정한다. 즉, 커서(308)가 상측 가장자리부(511), 우측 가장자리부(512), 좌측 가장자리부(513), 하측 가장자리부(514) 중 어느 하나에 포함될 경우, CPU(101)는 시선(306) 방향의 단위시간당의 회전 각도를 소정값 ΔDfix로 설정한다.
단, CPU(101)는, 시선(306)의 회전 각도를 고정값이 아니라 가변값으로 해도 된다. 예를 들어, 화면(501)의 좌측 위쪽 모퉁이를 원점으로 하고, 우측 방향을 X축의 양의 방향, 아래쪽 방향을 Y축의 양의 방향으로 하는 2차원 좌표계가 정의된다. CPU(101)는 상황에 따라서 하기 (1) 내지 (4)의 처리를 행한다. 즉,
(1) 커서(308)가 상측 가장자리부(511)에 포함될 경우, CPU(101)는, 커서(308)의 화면(501)에 있어서의 위치의 Y좌표값이 작을수록, 바꿔 말하면 커서(308)가 화면(501) 위에 있을수록, 시선(306) 방향의 단위시간당의 회전 각도를 크게 한다.
(2) 커서(308)가 우측 가장자리부(512)에 포함될 경우, CPU(101)는, 커서(308)의 화면(501)에 있어서의 위치의 X좌표값이 클수록, 바꿔 말하면 커서(308)가 화면(501)의 우측에 있을수록, 시선(306) 방향의 단위시간당의 회전 각도를 크게 한다.
(3) 커서(308)가 좌측 가장자리부(513)에 포함될 경우, CPU(101)는, 커서(308)의 화면(501)에 있어서의 위치의 X좌표값이 작을수록, 바꿔 말하면 커서(308)가 화면(501)의 좌측에 있을수록, 시선(306) 방향의 단위시간당의 회전 각도를 크게 한다.
(4) 커서(308)가 하측 가장자리부(514)에 포함될 경우, CPU(101)는, 커서(308)의 화면(501)에 있어서의 위치의 Y좌표값이 클수록, 바꿔 말하면 커서(308)가 화면(501)의 아래쪽에 있을수록, 시선(306) 방향의 단위시간당의 회전 각도를 크게 한다.
화면(501)의 스크롤의 속도는 일정하지 않고, 변화한다.
보정부(807)는, 이동 계산부(806)에 의해 계산된 회전 각도를, 거리 계산부(805)에 의해 구해진 거리(L1)에 의거해서 보정한다. 이때, 보정부(807)는, 보정 후의 회전 각도(ΔD)가, 거리 계산부(805)에 의해 구해진 거리(L1)에 대해서 단조감소하도록 보정한다.
또, CPU(101)는, 도 10a 내지 도 10d에 나타낸 함수의 어느 하나에 있어서, 위치의 이동 거리(ΔL)를 회전 각도(ΔD)로 치환한 함수를 사용해도 되고, 이들 함수의 조합이어도 된다. 또한, 거리(L1)가 짧을수록 회전 각도(ΔD)가 작아지는 관계를 충족시키는 것이라면, 자유롭게 함수를 정할 수 있다.
이상과 같이 구해진 회전 방향 및 단위시간당의 회전 각도(ΔD)가, 각각, 시선(306) 방향을 단위시간당 이동하는 방향 및 단위시간당 이동하는 각도로 된다. CPU(101)는, 단위시간당, 계산된 회전 방향으로, 보정된 회전 각도만큼, 시선(306) 방향을 이동시킨다.
갱신부(808)는, 단위시간당, 계산된 회전 방향으로, 보정된 회전 각도(ΔD)만큼, 시선(306) 방향을 이동하도록, 시선정보(853)를 갱신한다.
시점(305)의 위치를 변화시킬 경우와 마찬가지로, 시선(306) 방향을 변화시킬 경우에 있어서도, 화면(501)의 주목영역(960) 내에 배치되어 있는 대상체(303)가 시점(305)으로부터 멀리 있으면 있을수록, 시선(306) 방향의 회전 각도(ΔD)는 커져, 화면(501)은 크게 스크롤하는 것으로 된다. 반대로, 화면(501)의 주목영역(960) 내에 배치되어 있는 대상체(303)가 시점(305)으로부터 가까이 있으면 있을수록, 시선(306) 방향의 회전 각도(ΔD)는 작아져, 화면(501)은 조금씩 스크롤하는 것으로 된다.
또한, 시점(305)의 위치와 시선(306) 방향 중, 어느 쪽인가 한쪽만을 이동시키는 실시예를 채용해도 되고, 양쪽 모두 이동시키는 실시예를 채용해도 된다.
다음에, 게임장치(200)의 상기 각 부가 실행하는 화상표시처리에 대해서, 도 12의 순서도를 이용해서 설명한다.
또, 본 실시예에서는 주목영역(960)의 형상을 직사각형으로 하고, 화면(501)의 중앙의 위치에 고정하고 있다.
우선, CPU(101)는, 파지 모듈(201)의 현실공간에 있어서의 위치와 자세를 나타내는 정보를 컨트롤러(105)로부터 취득한다(스텝 S1201).
CPU(101)는, 스텝 S1201에서 취득한 파지 모듈(201)의 위치와 자세에 의거해서 손잡이(304)의 위치와 자세를 구하고, 커서(308)의 화면(501) 내에 있어서의 위치를 결정한다(스텝 S1202).
구체적으로는, CPU(101)는, 예를 들어, 현실공간에 있어서의 파지 모듈(201)의 위치와 가상공간(301)에 있어서의 손잡이(304)의 위치를 1 대 1로 대응시켜, 스텝 S1201에서 취득한 파지 모듈(201)의 위치에 대응하는 가상공간(301)에 있어서의 위치를 손잡이(304)의 위치로 한다. 또한, 스텝 S1201에서 취득한 파지 모듈(201)의 자세를 손잡이(304)의 자세로 한다. 그리고, CPU(101)는, 손잡이(304)의 방향을 나타내는 직선(311)과 투영면(307)과의 교점의 위치를 커서(308)의 위치로 한다.
CPU(101)는, 스텝 S1202에서 결정된 위치를 커서(308)의 새로운 위치로 해서, 커서정보(854)를 갱신한다.
CPU(101)는, 스텝 S1202에서 결정한 커서(308)의 위치가, 화면(501)의 소정 영역 내에 있는지의 여부를 판별한다(스텝 S1203).
예를 들어, 전술한 상측 가장자리부(511), 우측 가장자리부(512), 좌측 가장자리부(513), 하측 가장자리부(514)의 모두를, 소정 영역이라 한다. CPU(101)는, 커서(308)의 위치가 상측 가장자리부(511), 우측 가장자리부(512), 좌측 가장자리부(513), 하측 가장자리부(514) 중 어느 하나 속에 있을 경우, 커서(308)가 소정 영역 내에 있는 것으로 판별하고, 그 이외의 경우(즉, 커서(308)가 중앙부(515)에 있을 경우), 커서(308)가 소정 영역 내에 없는 것으로 판별한다.
커서(308)가 소정 영역 내에 없는 것으로 판별되었을 경우(스텝 S1203: 아니오), 후술하는 스텝 S1207로 진행한다. 한편, 커서(308)가 소정 영역 내에 있는 것으로 판별되었을 경우(스텝 S1203: 예), CPU(101)는, 시점(305)의 위치의 이동 방향과 단위시간당의 이동 거리를 계산한다. 혹은, CPU(101)는, 시선(306) 방향의 회전 방향과, 단위시간당의 회전 각도를 계산한다(스텝 S1204).
그리고, CPU(101)는, 스텝 S1204에서 계산된 시점(305)의 위치의 이동 거리를, 거리(L1)가 짧을수록 보정 후의 이동 거리(ΔL)가 작아지도록, 보정한다. 혹은, CPU(101)는, 스텝 S1204에서 계산된 시선(306) 방향의 회전 각도를, 거리(L1)가 짧을수록 보정 후의 회전 각도(ΔD)가 작아지도록, 보정한다(스텝 S1205).
예를 들어, 도 9a에 있어서, CPU(101)는, 화면(501)에 표시되어 있는 대상체(901), (902A), (902B), (902C) 중에서, 화면(501)의 주목영역(960) 내에 배치되어 있는 대상체(이 경우 대상체(902A)가 해당됨)를 선택한다. 다음에, CPU(101)는 선택한 대상체(902A)의 위치와 시점(305)의 위치와의 거리(L1)를 계산한다. 그리고, CPU(101)는, 계산한 거리(L1)가 짧을수록, 보정 후의 이동 거리(ΔL)(또는 회전 각도(ΔD))가 작아지도록, 이동 거리(ΔL)(또는 회전 각도(ΔD))를 보정한다.
그리고, CPU(101)는, 단위시간당, 스텝 S1204에서 계산된 이동 방향으로, 스텝 Sl205에서 보정한 이동 거리(ΔL)만큼, 시점(305)의 위치를 이동시킨다. 혹은, CPU(101)는, 단위시간당, 스텝 S1204에서 계산된 회전 방향으로, 스텝 S1205에서 보정한 회전 각도(ΔD)만큼, 시선(306) 방향을 이동시킨다(스텝 S1206).
CPU(101)는 이동 후의 새로운 시점(305)의 위치를 시점정보(852)에 격납한다. 혹은, CPU(101)는 이동 후의 새로운 시선(306) 방향을 시선정보(853)에 격납한다.
CPU(101)는 시점(305)의 위치로부터 시선(306) 방향으로 가상공간(301)을 투영면(307)에 투영한 화상을 생성한다(스텝 S1207).
본 실시예에서는, CPU(101)는 커서정보(854)에 격납되어 있는 커서(308)의 위치에 커서(308)를 나타내는 소정 화상을 화상 처리부(107)에 묘화시킨다. 단, 커서정보(854)를 RAM(103)에 기억하지만, 커서(308)를 나타내는 화상을 묘화하지 않는 것으로 해도 된다.
그리고, CPU(101)는 스텝 Sl207에서 생성된 화상을 화상 처리부(107)에 모니터에 표시시킨다(스텝 S1208).
일반적으로, 플레이어가 화면(501) 내의 특정 부분을 주시하고 있는 상황에서 화면(501)을 크게 스크롤시키면, 플레이어에게 있어서 매우 보기 거북한 화상으로 되어버리거나 헤매게 되어버리거나 할 우려가 있다.
예를 들어, 화면(501)의 한가운데 부근일수록 플레이어의 주목도가 높은 경향이 있다고 추정할 수 있다. 한편, 시점(305) 가까이에 있을수록 플레이어의 주목도가 높은 경향이 있다고도 추정할 수 있다.
그래서, 본 실시예에서는, CPU(101)는 대상체(303)가 화면(501)의 한가운데 부근에 묘화되고, 또한, 시점(305) 부근에 배치되어 있는 것이라면, 화면(501)의 한가운데 부근을 플레이어가 주시하고 있는 것이라고 추정하여, 스크롤량을 억제한다.
따라서, 화면(501)의 스크롤이 지나치게 빨라서 화상이 전체로서 보이기 어렵게 되어버리지 않도록 할 수 있어, 플레이어에게 있어서 화면(501)의 시인성을 향상시킬 수 있다. 예를 들어, 화면이 빈번하게 스크롤됨으로써 플레이어가 헤매게 되어버리는 바와 같은 일이 없도록 할 수 있다. 또한, 시점(305)의 이동에 의한 스크롤 처리가 빈번하게 발생되어 버리지 않도록 할 수 있어, 스크롤 처리에 의한 게임장치(800)에의 부하를 경감할 수 있다.
본 실시예에서는 소정 영역으로서 상측 가장자리부(511), 우측 가장자리부(512), 좌측 가장자리부(513), 하측 가장자리부(514)를 모두 이용하고 있지만, 이들 중 1개 혹은 2개 이상의 조합이어도 된다. 예를 들어, 화면(501)이 플레이어로부터 보아서 상하 방향(세로 방향)으로밖에 스크롤되지 않는 게임에서는, 소정 영역으로서 상측 가장자리부(511)와 하측 가장자리부(514)의 2개만을 이용하면 된다. 또, 예를 들어, 화면(501)이 플레이어로부터 보아서 좌우 방향(가로 방향)으로밖에 스크롤되지 않는 게임에서는, 소정 영역으로서 우측 가장자리부(512)와 좌측 가장자리부(513)의 2개만을 이용하면 된다.
본 실시예에서는, 소정 영역과 주목영역(960)을 각각 정의하고 있지만, 소정 영역인 중앙부(515)를 주목영역(960)으로서 이용해도 된다.
또, 소정 영역의 형상은 직사각형으로 한정되는 것은 아니고, 원, 타원, 다각형 등 임의의 도형으로 해도 된다.
본 실시예에서는, 화면(501)의 한가운데 부근의 일부 영역을 주목영역(960)으로 하고 있지만, 화면(501) 전체를 주목영역(960)으로 해도 된다. 예를 들어, 화면(501) 속에 대상체(303)가 1개 밖에 없을 경우에는, 화면(501) 중, 대상체(303)가 표시되어 있는 부분의 플레이어에 의한 주목도가 상대적으로 높다고 추정할 수 있으므로, 스크롤량을 억제함으로써, 화면(501)의 시인성을 향상할 수 있다.
또한, CPU(101)는, 단위시간당의 방향과 거리의 변화량을 계산하고 있으므로, 화면을 빠르게 스크롤하거나 느리게 스크롤하거나 해서, 스크롤의 속도를 변화시키고 있다. 그러나, 속도가 아니라 절대적인 스크롤량을 많게 하거나 적게 하거나 해도 된다. 즉, CPU(101)는, "단위시간당의" 이동 방향과 이동 거리(또는 회전 방향과 회전 각도) 대신에, 최종적으로 스크롤하는 것으로 되는 "토털의" 이동 방향과 이동 거리(또는 회전 방향과 회전 각도)를 계산해도 된다. 이 경우, 상기 설명에 있어서, "단위시간당의" 이동 방향과 이동 거리(또는 회전 방향과 회전 각도)를, "토털의" 이동 방향과 이동 거리(또는 회전 방향과 회전 각도)로 바꿔 읽으면 된다.
( 실시예 2)
다음에, 본 발명의 그 밖의 실시예에 대해서 설명한다. 전술한 실시예에서는, 화면(501)의 주목영역(960) 내에 존재하는 대상체(303)의 가상공간(301)에 있어서의 위치를 이용해서 스크롤량을 보정하고 있다. 그러나, 주목영역(960) 내에는 복수개의 대상체(303)가 존재할 경우도 있다. 본 실시예에서는, 화면(501)의 주목영역(960) 내에 복수개의 대상체(303)가 묘화되어 있을 경우를 상정하고 있다.
시점(305)과 대상체(303) 사이의 거리가 짧다는 것은, 대상체(303)의 투영면(307)에 대한 투영 화상이 보다 크게 묘화되는 것을 의미한다. 바꿔 말하면, 화면(501)에 크게 묘화될수록 대상체(303)는 시점(305) 근처에 있는 경향이 있다. 전술한 실시예에서는, 시점(305) 근처에 있는 것일수록 주목도가 높은 것을 전제로 하고 있다. 그러나, 대상체(303)가 시점(305) 근처에 있는지, 멀리 있는지, 화면(501)의 어디를 주시할지라고 하는 플레이어의 판단은, 그 대상체(303)뿐만 아니라, 그 주위의 상황(예를 들어 근처에 어떠한 다른 대상체가 있는지 등)을 가미해서 이루어지는 경우가 많다고 예상된다. 그래서, 본 실시예에서는, 복수개의 대상체(303)가 화면(501)에 묘화되어 있을 경우, 시점(305)으로부터 본 그들의 전후관계(깊이)도 고려된다.
도 13a는 모니터에 표시되는 화면(501)의 예이다. 화면(501)에는, 대상체(303)로서, 매직 핸드(302)가 잡고 있는 대상체(901) 이외에, 대상체(902A), (902B), (902C) 및 대상체(902A)의 배경에 배치되는 대상체(1301)가 표시되어 있다.
도 13b는 도 13a에 나타낸 화면(501)이 표시되어 있는 상황에 있어서의 가상공간(301)을 나타낸 도면이다.
여기에서, 「어느 대상체(OBJ1)가 다른 대상체(OBJ2)의 배경에 배치되는」이란, 가령 시선(306) 방향을 정방향으로 하는 직선(1차원) 좌표계를 정의했을 때, (OBJ1)의 좌표값이 (OBJ2)의 좌표값보다 크고, 또한, (OBJ1)이 묘화되는 화면영역과 (OBJ2)가 묘화되는 화면영역에 겹치는 부분이 존재하는 것을 의미한다. 또한, 대상체(OBJ1)를 「배경 대상체」라 칭하는 것으로 한다. 대상체(OBJ2)의 배경에 배치되는 대상체가 복수개 존재할 경우에는, 대상체(OBJ2)의 가장 가까이에 있는 것을 배경 대상체로 한다.
가상공간(301)에 복수개의 대상체(303)가 존재하고, 시점(305)의 위치 혹은 시선(306) 방향이 가변인 것으로 하면, 모든 대상체(303)가 배경 대상체로 될 수 있다.
상기 스텝 S1204에 있어서, CPU(101)는, 화면(501)에 표시되어 있는 대상체(901), (902A), (902B), (902C), (1301) 중에서, 주목영역(960)의 중심의 가장 가까이에 묘화되어 있는 대상체(이 경우 대상체(902A)가 해당함)의 배경 대상체를 선택한다. 즉, 도 13a의 경우, CPU(101)는 대상체(1301)을 배경 대상체로서 선택한다. 그리고, CPU(101)는, 시점(305)의 위치의 이동 방향과 이동 거리를 계산한다.
즉, 상기 스텝 S1205에 있어서, CPU(101)는 선택한 대상체(1301)의 위치와 시점(305)의 위치와의 거리(L2)를 계산한다. 그리고, CPU(101)는, 계산한 거리(L2)가 작을수록 이동 거리(ΔL)가 작아지도록, 이동 거리(ΔL)를 보정한다.
예를 들어, CPU(101)는, 도 10a 내지 도 10d에 나타낸 어느 하나의 함수에 있어서, 거리(L1)를 거리(L2)로 치환한 함수를 사용해도 되고, 이들 함수의 조합이어도 된다. 또, 거리(L2)가 짧을수록 이동 거리(ΔL)가 작아지는 관계를 충족시키는 것이라면, 자유롭게 함수를 정할 수 있다.
본 실시예에 있어서도, 시점(305)의 위치를 이동시키는 대신에, 시선(306) 방향을 이동시켜도 된다. 또, 시점(305)의 위치와 시선(306) 방향의 양쪽을 변화시켜도 된다. 시선(306) 방향을 변화시킬 경우, CPU(101)는, 도 10a 내지 도 10d에 나타낸 어느 하나의 함수에 있어서, 거리(L1)를 거리(L2)로 치환하고, 또한, 이동 거리(ΔL)를 회전 각도(ΔD)로 치환한 함수를 사용해도 되고, 이들 함수의 조합이어도 된다. 또한, 거리(L2)가 짧을수록 회전 각도(ΔD)가 작아지는 관계를 충족시키는 것이라면, 자유롭게 함수를 정할 수 있다.
또한, CPU(101)는, 계산된 이동 방향으로, 보정된 이동 거리(ΔL)만큼, 시점(305)의 위치를 변화시켜(스텝 S1206), 새로운 시점(305)의 위치를 시점정보(852)에 격납한다. 혹은, CPU(101)는, 계산된 회전 방향으로, 보정된 회전 각도(ΔD)만큼, 시선(306) 방향을 변화시키고, 새로운 시선(306) 방향을 시선정보(853)에 격납한다. 그리고, CPU(101)는, 시점(305)의 위치로부터 시선(306) 방향으로 가상공간(301)을 투영면(307)에 투영한 화상을 생성하고(스텝 S1207), 생성한 화상을 모니터에 표시시킨다(스텝 S1208).
전술한 바와 같이, 플레이어가 화면(501) 내의 일부분을 주시하고 있는 상황에서 화면(501)을 크게 스크롤시키면, 플레이어에게 있어서 매우 보기 거북한 화상으로 되어버릴 우려가 있다.
예를 들어, 화면(501)에 n개(n≥2)의 대상체(OBJ1, 0BJ2, …, OBJn)가 묘화되어 있고, 그들 대상체 중 화면(501)의 한가운데 부근에 묘화되어 있는 복수개의 대상체(예를 들어, (OBJ1)과 (OBJ2)의 2개)가 그 밖의 것에 비해서 시점(305) 근처에 배치되어 있을 경우, 플레이어에 의한 화면(501)의 한가운데 부근에 대한 주목도가 다른 영역에 비해서 높은 것이라고 추정할 수 있다.
그러나, 화면(501)의 한가운데 부근에 묘화되어 있는 대상체 중 한쪽(OBJ1)은 시점(305) 근처에 배치되고, 또 한쪽(OBJ2)은 시점(305) 멀리에 배치되어 있을 경우, 반드시 플레이어에 의한 화면(501)의 한가운데 부근에 대한 주목도가 다른 영역에 비해서 높다고는 단언할 수 없다. 플레이어는 (OBJ1)과 (OBJ2)를 주시하고 있을지 용이하게는 추정할 수 없기 때문이다.
그래서, 본 실시예에서는, 일반적으로 플레이어에 의한 주목도가 비교적 높은 것으로 추정되는 화면(501)의 한가운데 부근에 비치고 있는 대상체(OBJ1, 0BJ2) 중, 배경에 배치되는 쪽(배경 대상체)에 주목하고, 배경 대상체가 시점(305) 근처에 있을수록 스크롤량을 억제하는 것으로 하고 있다. 즉, 배경 대상체가 시점(305) 근처에 있다고 하는 것은, 또 한쪽의 대상체는 더욱 시점(305) 근처에 있기 때문에, (OBJ1), (OBJ2)가 배치되어 있는 화면(501)의 한가운데 부근의 플레이어의 주목도는 비교적 높은 것으로 추정될 수 있으므로, 스크롤량을 억제하는 것이다.
따라서, 화면(501)의 스크롤이 지나치게 빨라서 화상이 전체로서 보이기 어렵게 되어버리지 않도록 할 수 있고, 플레이어에게 있어서 화면(501)의 시인성을 향상시킬 수 있다. 예를 들어, 화면이 빈번하게 스크롤됨으로써 플레이어가 헤매게 되어버리는 바와 같은 일이 없도록 할 수 있다. 또한, 시점(305)의 이동에 의한 스크롤 처리가 빈번하게 발생되어 버리지 않도록 할 수 있어, 스크롤 처리에 의한 게임장치(200)에의 부하를 경감할 수 있다.
( 실시예 3)
다음에, 본 발명의 그 밖의 실시예에 대해서 설명한다. 본 실시예도, 화면(501)의 주목영역(960) 내에 복수개의 대상체(303)가 묘화되어 있을 경우를 상정하고 있다.
도 14a는 모니터에 표시되는 화면(501)의 예이다.
도 14b는 도 14a에 나타낸 화면(501)이 표시되어 있는 상황에 있어서의 가상공간(301)을 나타낸 도면이다.
본 실시예에서는, CPU(101)는 주목영역(960)에 복수개의 대상체(303)가 포함될 경우, 그들이 배경 대상체인지의 여부에 관계없이, 시점(305)과, 주목영역(960)에 포함되는 각각의 대상체(303)와의 거리를 각각 계산하여, 시점(305)의 위치의 이동 거리(또는 시선(306) 방향의 회전 각도)를 보정한다.
CPU(101)는, 화면(501)의 주목영역(960) 내에 배치되어 있는 각각의 대상체(303)의 위치와, 시점(305)의 위치와의 거리를 각각 계산하고, 더욱 각 거리의 평균값을 계산한다.
예를 들어, 도 14a에 있어서, CPU(101)는, 화면(501)에 표시되어 있는 대상체(901), (902A), (902B), (902C) 중에서, 화면(501)의 주목영역(960) 내에 배치되어 있는 대상체(이 경우 대상체(901)와 대상체(902A)의 2개가 해당함)를 선택한다. 다음에, CPU(101)는, 선택한 대상체(901)의 위치와 시점(305)의 위치와의 거리(L3)와, 선택한 대상체(902A)의 위치와 시점(305)의 위치와의 거리(L4)를 계산한다.
그리고, CPU(101)는, 계산된 평균값이 작을수록, 보정 후의 이동 거리(ΔL)(또는 회전 각도(ΔD))가 작아지도록, 이동 거리(ΔL)(또는 회전 각도(ΔD))를 보정한다. 즉, 시점(305)과, 주목영역(960)에 포함되는 대상체(303)와의 평균거리가 작을수록, 스크롤량을 적게 억제한다.
혹은, CPU(101)는, 화면(501)의 주목영역(960) 내에 배치되어 있는 각각의 대상체(303)의 위치와, 시점(305)의 위치와의 거리를 각각 계산하여, 각 거리 중 최대값이 작을수록, 보정 후의 이동 거리(ΔL)(또는 회전 각도(ΔD))가 작아지도록, 이동 거리(ΔL)(또는 회전 각도(ΔD))를 보정해도 된다. 즉, 시점(305)과, 주목영역(960)에 포함되는 대상체(303) 중 가장 시점(305)으로부터 먼 것과의 거리가 작을수록, 스크롤량을 적게 억제해도 된다.
혹은, CPU(101)는, 화면(501)의 주목영역(960) 내에 배치되어 있는 각각의 대상체(303)의 위치와, 시점(305)의 위치와의 거리를 각각 계산하여, 각 거리 중 최소값이 작을수록, 보정 후의 이동 거리(ΔL)(또는 회전 각도(ΔD))가 작아지도록, 이동 거리(ΔL)(또는 회전 각도(ΔD))를 보정해도 된다. 즉, 시점(305)과, 주목영역(960)에 포함되는 대상체(303) 중 가장 시점(305)으로부터 가까운 것과의 거리가 작을수록, 스크롤량을 적게 억제해도 된다.
혹은, CPU(101)는, 화면(501)의 주목영역(960) 내에 배치되어 있는 각각의 대상체(303)의 위치와, 시점(305)의 위치와의 거리를 각각 계산하여, 각 거리의 합계값이 작을수록, 보정 후의 이동 거리(ΔL)(또는 회전 각도(ΔD))가 작아지도록, 이동 거리(ΔL)(또는 회전 각도(ΔD))를 보정해도 된다. 즉, 대상체(303)가 시점(305) 가까이에 있을 경우나, 대상체(303)가 시점(305)으로부터 멀리 있었다고 해도 대상체(303)의 수가 많을 경우에, 스크롤량을 적게 억제해도 된다.
본 실시예에 의하면, 주목영역(960) 내에 포함되는 각각의 대상체(303)가 시점(305)으로부터 어느 정도 가까이 있는지(멀리 있는지)에 의해 스크롤량을 변화시킨다. 그리고, 주목영역(960) 내에 포함되는 각각의 대상체(303)가, 전체로서 가까이에 있는 경향이 있으면 스크롤량을 적게 억제하고, 멀리 있는 경향이 있으면 스크롤량을 증가시킨다. 따라서, 화면(501)의 스크롤이 지나치게 빨라서 화상이 전체로서 보이기 어렵게 되어버리지 않도록 할 수 있어, 플레이어에게 있어서 화면(501)의 시인성을 향상시킬 수 있다. 예를 들어, 화면이 빈번하게 스크롤됨으로써 플레이어가 헤매게 되어버리는 바와 같은 일이 없다. 또한, 시점(305)의 이동에 의한 스크롤 처리가 빈번하게 발생되어 버리지 않도록 할 수 있어, 스크롤 처리에 의한 게임장치(200)에의 부하를 경감할 수 있다.
( 실시예 4)
다음에, 본 발명의 그 밖의 실시예에 대해서 설명한다. 상기 각 실시예에서는 주목영역(960)을 화면(501)의 중앙에 고정하고 있었지만, 본 실시예에서는 주목영역(960)의 위치를 가변으로 하고 있다.
도 15a는 모니터에 표시되는 화면(501)의 예이다.
도 15b는 도 15a에 나타낸 화면(501)이 표시되어 있는 상황에 있어서의 가상공간(301)을 나타낸 도면이다.
거리 계산부(805)는, 플레이어에 의해서 선택된 대상체(303)의, 생성부(803)에 의해 생성된 화면(501) 내에 있어서의 위치를 중심으로 해서 주목영역(960)을 설정하고, 시점(305)의 위치와 주목영역(960)에 포함되는 대상체(303)의 위치와의 거리(L5)를 계산한다.
보다 상세하게는, CPU(101)는, 가상공간(301)에 배치되어 있는 대상체(303) 중에서, 플레이어에 의해서 선택되어 있는 대상체(303)를 선택한다. 여기서 「플레이어에 의해서 선택되어 있는 대상체(303)」란, 예를 들어, 매직 핸드(302)가 잡고 있는 상태의 대상체(303)이다. 도 15a에서는, 대상체(901)가 선택된다.
그리고, CPU(101)는, 시점(305)의 가상공간(301)에 있어서의 위치와, 선택한 대상체(303)의 가상공간(301)에 있어서의 위치와의 거리(L5)를 계산한다. CPU(101)가 설정한 주목영역(960) 중에 복수개의 대상체(303)가 존재할 경우, CPU(101)는, 시점(305)의 위치와, 주목영역(960)에 포함되는 각각의 대상체(303)의 위치와의 각 거리의 평균값, 최대값 혹은 최소값에 대해서 단조감소하도록, 이동 거리(ΔL)(또는 회전 각도(ΔD))를 보정한다.
플레이어는, 파지 모듈(201)의 위치나 자세를 변화시킴으로써, 매직 핸드(302)로 잡고 있는 대상체(303)의 위치, 또는, 커서(308)의 위치를, 자유롭게 변화시킬 있다. 즉, 플레이어에 의해서 선택되어 있는 대상체(303)의 위치는 가변이다.
플레이어에 의해서 선택되어 있는 대상체(303)의 위치를 이동하는 이동 지시 입력을 플레이어로부터 접수하면, CPU(101)는, 이동 지시 입력으로 지정된 이동 방향으로, 지정된 이동 거리만큼, 대상체(303)의 위치를 이동시키고, 대상체 정보(851)를 갱신한다.
CPU(101)는, 플레이어에 의해서 선택되어 있는 대상체(303)의 위치를 이동시키면, 도 16에 나타낸 바와 같이 주목영역(960)의 위치도 이동한다. 예를 들어, CPU(101)는, 대상체(303)의 위치를 이동시키는 동시에, 주목영역(960)의 위치도 즉시 이동시킨다. 즉, 주목영역(960)의 위치는, 플레이어에 의해서 선택되어 있는 대상체(303)의 위치에 고정되면서 움직이게 된다.
또는, CPU(101)는, 플레이어에 의해서 선택되어 있는 대상체(303)의 위치를 이동하면, 이 대상체(303)의 이동을 개시하고 나서 소정 시간 경과한 후, 주목영역(960)의 위치를 대상체(303)에 추종하도록 이동시켜도 된다. 이 경우, CPU(101)는, 대상체(303)의 위치의 소정 시간(T1) 분량의 이동 이력을 RAM(103) 등에 일시 기억시켜 두면 된다. 이동 이력은, 현재 시각부터 과거 소정 시간 분량의 대상체(303)의 위치의 이력이다.
예를 들어, 도 17a는 대상체(303)의 이동 개시 전의 상태의 화면(501)을 나타낸 도면이다. CPU(101)는, 플레이어에 의해서 선택되어 있는 대상체(901)의 이동을 개시한다.
이동 개시 후, 소정 시간(T2)(단, T2≤T1. 전형적으로는 T2=T1)이 경과할 때까지, CPU(101)는, 도 17b에 나타낸 바와 같이 주목영역(960)을 이동시키지 않는다. CPU(101)는, 대상체(303)의 위치를 이동 이력으로서 RAM(103) 등에 일시 기억한다.
소정 시간(T2)이 경과하면, CPU(101)는, 도 17c에 나타낸 바와 같이, 대상체(901)를 이동한 궤적을 따라가도록, 소정 시간(T2)만큼 지연시켜 주목영역(960)의 위치를 이동시킨다.
그리고, 도 17d에 나타낸 바와 같이, 최종적으로는 주목영역(960)은 대상체(901)가 이동을 종료한 위치로 된다. 이와 같이, CPU(101)는 대상체(303)의 이동 이력 대로 주목영역을 이동시켜도 된다.
또는, CPU(101)는, 대상체(303)의 이동 이력에 어떠한 연산을 실시해서, 주목영역(960)의 이동 경로를 구해도 된다. 예를 들어, 도 18a는, 대상체(303)의 이동 개시 전의 상태의 화면(501)을 나타낸 도면이다. CPU(101)는, 플레이어에 의해서 선택되어 있는 대상체(901)의 이동을 개시한다. 이동 개시 후, 소정 시간(T2)(단, T2≤T1. 전형적으로는 T2=T1)이 경과할 때까지, CPU(101)는, 도 18b에 나타낸 바와 같이 주목영역(960)을 이동시키지 않는다. 소정 시간(T2)이 경과하면, CPU(101)는, 대상체(901)의 이동 이력을 참조하여, 단위시간당의 위치의 변위가 소정의 역치를 초과하지 않도록 필터링을 실시하여, 주목영역(960)의 이동 경로를 구한다.
도 19a와 도 19b는, 대상체(303)의 이동 경로(궤적)와, 주목영역(960)의 이동 경로(궤적)를 나타낸 도면이다.
도 19a에서는, 대상체(303)의 위치의 변위(예를 들어, X축 방향 성분, Y축 방향 성분의 변위) 중 역치(Cth)보다 변위가 큰 곳에서는, 주목영역(960)의 위치의 변위를 역치로 억제하고 있다. 즉, 주목영역(960)의 궤적은, 대상체(303)의 궤적을, 최대값이 (Cth)로 되는 저역통과필터(low-pass filter)에 통과시켜서 얻어지는 것이다. 주목영역(960)의 궤적은, 대상체(303)의 궤적의 고주파 성분을 제거한 것이라고도 말할 수 있다. 대상체(303)의 위치가 순간적으로 크게 이동한 경우에도, 주목영역(960)의 궤적에 대한 영향은 적어진다.
또, 도 19b에서는, 대상체(303)의 위치의 변위 중 역치(Cth)보다 변위가 큰 곳에서, 주목영역(960)의 위치의 변위를 역치로 억제하고, 또한, 대략 각 점을 지나가는 바와 같은 근사 곡선을, 주목영역(960)의 궤적으로 하고 있다. 이 근사로서, 예를 들어, 스플라인 근사, 최소제곱근사와 같은 공지의 근사 수법을 채용할 수 있다. 주목영역(960)의 궤적은, 대상체(303)의 궤적을 둥글게 한 형상으로 된다.
또한, 도 19c에서는, CPU(101)는, 대상체(303)의 궤적에 있어서의 각 점의 변위의 평균값을, 주목영역(960)의 궤적의 변위로 하고 있다. 주목영역(960)의 궤적은 직선적인 형상으로 된다.
CPU(101)는, 도 19a 내지 도 19c에 나타낸 어느 하나의 수법을 이용해서 주목영역(960)의 이동 경로를 구해도 되고, 조합해서 사용해도 된다.
도 18b로 돌아가, CPU(101)는, 대상체(303)의 이동 경로(1810)로부터, 주목영역(960)의 이동 경로(1820)를 구한다. 그리고, CPU(101)는, 도 18c에 나타낸 바와 같이, 구한 이동 경로에 따라서 주목영역(960)을 이동시킨다. 주목영역(960)의 이동 중, 대상체(303)는 이동 경로(1830)를 따라서 더욱 이동하고 있다. 그 때문에, CPU(101)는, 마찬가지로 해서 주목영역(960)의 이동 경로(1840)를 구하고, 주목영역(960)을 이동시킨다. 그리고, 도 18d에 나타낸 바와 같이, 최종적으로는 주목영역(960)은 대상체(901)가 이동을 종료한 위치로 된다.
본 실시예에 의하면, 주목영역(960)의 위치는, 플레이어에 의한 파지 모듈(201)의 조작에 따라서 변하므로, 플레이어의 주목도가 높다고 생각되는 화면(501) 내의 영역을, 보다 적확하게 추정하여, 스크롤량을 억제할 수 있다. 따라서, 화면(501)의 스크롤이 지나치게 빨라서 화상이 전체로서 보이기 어렵게 되어버리지 않도록, 플레이어에게 있어서 화면(501)의 시인성을 향상시킬 수 있는 효과가 증가한다. 또한, 스크롤 처리가 빈번하게 발생되어 버리지 않도록 할 수 있어, 스크롤 처리에 의한 게임장치(800)에의 부하를 경감할 수 있다.
또한, CPU(101)는, 플레이어에 의해서 선택되어 있는 대상체(303)로서, 도 20a와 도 20b에 나타낸 바와 같이, 커서(308)의 위치에 배치되어 있는 대상체(303)를 선택해도 된다. 예를 들어, 매직 핸드(302)가 어느 대상체(303)도 잡고 있지 않을 경우, 커서(308)가 닿은 지점에 있는 대상체(303)가 선택되고 있는 것으로 해서 취급해도 된다. 그리고, CPU(101)는, 시점(305)의 가상공간(301)에 있어서의 위치와, 커서(308)의 위치에 있는 대상체(303)의 가상공간(301)에 있어서의 위치와의 거리(L6)를 계산하고, 계산된 거리에 대해서 단조감소하도록, 이동 거리(ΔL)(또는 회전 각도(ΔD))를 보정해도 된다.
또한, 플레이어에 의한 대상체(303)의 선택은, 매직 핸드(302)로 잡아서 행해지는 것으로 한정되지 않는다. CPU(101)는, 어느 1개 이상의 대상체(303)를 선택하는 취지의 사용자에 의한 선택 지시 입력을 접수하고, 선택 지시 입력이 나타내는 대상체(303)를, 플레이어에 의해서 선택되어 있는 대상체(303)로 하는 것이 가능하다.
( 실시예 5)
다음에, 본 발명의 그 밖의 실시예에 대해서 설명한다. 본 발명은, 상기와 같은 3차원 가상공간에서 실행되는 게임뿐만 아니라, 2차원 가상공간에서 실행되는 게임에도 적용가능하다. 이하 상세히 설명한다.
도 21은 본 실시예의 게임장치(200)의 기능적인 구성을 도시한 도면이다.
도 22a는 모니터에 표시되는 화면(501)의 예이다. 본 실시예에서는 2차원의 가상공간을 상정하고 있으므로, 대상체(303)는 "평면의 대상체"(화상 데이터)이다. 본 실시예에서는, 「대상체」 대신에 「캐릭터」라고 칭하는 것으로 한다. 화면(501)에는, 가상공간(301) 중 표시영역(952)에 포함되는 화상이 모니터에 표시된다.
도 22b는 도 22a에 나타낸 화면(501)이 표시되어 있는 상황에 있어서의 가상공간(301)을 나타낸 도면이다. 가상공간(301)에는, 캐릭터로서, 예를 들어, 플레이어 캐릭터(2210), 그 밖의 캐릭터(2220) 등이 배치된다.
본 실시예에 있어서는, 화면(501)에는 표시영역(952)에 포함되는 화상이 모니터에 표시되는 것으로서, 상기 각 실시예와 같이 가상공간(301)에 1개의 시점(305)과 1개의 시선(306)이 존재하는 것은 아니다. 그러나, 이하에 기술하는 화면(501)의 확대/축소(줌 인(zoom in), 줌 아웃)를 개념적으로 이해하기 쉽게 하기 위해서, "의사적인" 시점(2250)을 이용해서 설명한다.
의사적인 시점(2250)으로부터 표시영역(952)에 내린 수선과 표시영역(952)과의 교점은, 표시영역(952)의 중앙점(중심)과 항상 일치한다.
본 실시예에서 취급하는 게임에서는, 2차원 가상공간의 일부분을 줌 인(확대)해서 표시하거나 전체를 줌 아웃(축소)해서 표시하거나 할 수 있다. 줌 인은 의사적인 시점(2250)을 표시영역(952)에 가깝게 하는 것에 상당하고, 줌 아웃은 의사적인 시점(2250)을 표시영역(952)으로부터 멀게 하는 것에 상당한다.
기억부(801)는, 캐릭터의 위치를 나타내는 캐릭터 정보(2101)와, 표시영역(952)의 위치와 크기를 나타내는 표시영역정보(2102), 주목영역(960)의 위치를 나타내는 주목영역정보(2103)를 기억한다. CPU(101)와 RAM(103)이 협동해서 기억부(801)로서 기능한다.
입력 접수부(802)는, 파지 모듈(201)(혹은 게임 패드나 터치패널)을 조작하는 사용자로부터의 다양한 지시 입력을 접수한다. 예를 들어, 입력 접수부(802)는, 시점(305)의 위치를 이동하는 취지의 이동 지시 입력이나, 임의의 대상체(303)를 조작 대상으로서 선택하는 취지의 선택 지시 입력 등을 플레이어로부터 접수한다. CPU(101), RAM(103), 컨트롤러(105)가 협동해서 입력 접수부(802)로서 기능한다.
주목영역(960)은, 예를 들어, 표시영역(952) 중앙의 위치에 설정된다. 단, CPU(101)는, 전술한 실시예와 마찬가지로, 선택 지시 입력이 나타내는 캐릭터의 위치를 중심으로 하는 위치에 주목영역(960)을 이동시켜도 된다.
생성부(803)는, 표시영역(952)에 포함되는 캐릭터 등의 화상을 생성한다. 바꿔 말하면, 생성부(803)는, 가상공간(301)을 의사적인 시점(2250)의 위치로부터 본 캐릭터 등을 나타내는 화상을 생성한다. CPU(101)와 RAM(103)과 화상 처리부(107)가 협동해서 생성부(803)로서 기능한다.
표시부(804)는, 생성부(803)에 의해서 생성된 화상을 모니터에 표시한다. CPU(101)와 RAM(103)과 화상 처리부(107)가 협동해서 표시부(804)로서 기능한다.
거리 계산부(805)는, 생성부(803)에 의해서 생성된 화상 내의 주목영역(960)에 묘화되어 있는 캐릭터의 위치와, 의사적인 시점(2250)의 위치와의 거리(L7)를 구한다. CPU(101)와 RAM(103)과 화상 처리부(107)가 협동해서 거리 계산부(805)로서 기능한다.
주목영역(960)에 복수의 캐릭터가 존재할 경우, 거리 계산부(805)는, 의사적인 시점(2250)과 각각의 캐릭터와의 거리(L7)를 각각 구하고, 또한 그들의 평균값, 최대값, 최소값, 합계값 등을 구해도 된다.
이동 계산부(806)는, 표시영역(952)의 이동 방향과 이동 거리를 계산한다. 바꿔 말하면, 이동 계산부(806)는, 의사적인 시점(2250)의 이동 방향과 이동 거리를 계산한다. CPU(101)와 RAM(103)이 협동해서 이동 계산부(806)로서 기능한다.
보정부(807)는, 이동 계산부(806)에 의해 계산된 이동 거리를, 거리 계산부(805)에 의해 구해진 거리(L7)에 의거해서 보정한다. 이때, 보정부(807)는, 보정 후의 이동 거리가, 거리(L7)에 대해서 단조감소하도록, 이동 거리를 보정한다. CPU(101)와 RAM(103)이 협동해서 보정부(807)로서 기능한다.
갱신부(808)는, 이동 계산부(806)에 의해 계산된 이동 방향에, 보정부(807)에 의해 보정된 이동 거리만큼, 표시영역(952)의 위치를 이동하도록, 표시영역정보(2102)를 갱신한다. CPU(101)와 RAM(103)이 협동해서 갱신부(808)로서 기능한다.
다음에, 본 실시예의 화상표시처리에 대해서, 화면(501)을 줌 아웃할 경우를 예로 들어 설명한다. 또, 본 실시예에서는, 게임장치(200)는, 사용자로부터의 지시 입력에 따라서, 화면(501)의 표시 배율을 자유롭게 변화시키는 것이 가능한 것으로 한다.
도 23a는 도 22a에 나타낸 화면(501)을 줌 아웃하고, 보다 넓은 범위의 가상공간(301)을 모니터에 표시했을 때의 화면(501)의 예이다.
도 23b는 도 23a에 나타낸 화면(501)이 표시되어 있는 상황에 있어서의 가상공간(301)을 나타낸 도면이다.
CPU(101)는, 화면(501)의 표시 배율을 변경하는 지시 입력을 사용자로부터 접수하면, 표시영역(952)의 크기를 확대 또는 축소한다. 마찬가지로, 주목영역(960)의 크기도 확대 또는 축소한다.
이 확대 또는 축소는, 의사적인 시점(2250)을 이용해서 설명하면, CPU(101)가, 시야각을 일정하게 한 채, 의사적인 시점(2250)과 가상공간(301)과의 거리(의사적인 시점(2250)의 높이)를 변화시키는 것에 상당한다. 예를 들어, 화면(501)을 줌 아웃하는 지시 입력을 접수했을 경우, CPU(101)는, 도 23a에 나타낸 바와 같이, 표시영역(952)을 확장한다. 따라서, 하나하나의 캐릭터는 작게 묘화되는 것으로 되지만, 보다 넓은 범위의 가상공간이 모니터에 표시되게 된다.
도 24는 본 실시예의 화상표시처리를 설명하기 위한 순서도이다.
우선, 컨트롤러(105)(혹은 게임 패드나 터치패널이어도 됨)는, 플레이어 캐릭터(2210)의 위치를 상하좌우로 이동시키기 위한 각 조작 버튼에 의한 지시 입력을 플레이어로부터 접수한다(스텝 S2401). 예를 들어, CPU(101)는, 컨트롤러(105)가 플레이어 캐릭터(2210)의 위치를 이동시키는 취지의 지시 입력을 접수하면, 플레이어 캐릭터(2210)의 위치를 지정된 방향으로 이동시킨다. CPU(101)는, 플레이어 캐릭터(2210)의 위치의 이동 시, 플레이어 캐릭터(2210)가 항상 중앙부(515) 속에 있도록 한다.
CPU(101)는 화면(501)을 스크롤할지의 여부를 판별한다(스텝 S2402).
예를 들어, CPU(101)는, 플레이어 캐릭터(2210)의 위치가 중앙부(515)를 정의하는 직사각형의 4변 중 어느 것까지 도달하고 있지 않은 경우, 플레이어 캐릭터(2210)의 위치를 지시 입력을 따라서 이동시킨다. 이 경우, CPU(101)는 화면(501)을 스크롤하지 않는다고 판별한다.
한편, 플레이어 캐릭터(2210)의 위치가, 중앙부(515)을 정의하는 직사각형의 4변 중 어느 하나까지 도달하고 있을 경우, CPU(101)는 화면(501)을 스크롤한다고 판별한다.
화면(501)을 스크롤하지 않는다고 판별된 경우(스텝 S2402: 아니오), 스텝 S2401로 되돌아간다. 한편, 화면(501)을 스크롤한다고 판별된 경우(스텝 S2402: 예), CPU(101)는, 표시영역(952)의 이동 방향과 단위시간당의 이동 거리를 구한다(스텝 S2403).
예를 들어, 플레이어 캐릭터(2210)의 위치가 중앙부(515)를 정의하는 직사각형의 4변 중 어느 하나까지 도달하고 있고, 또한, 플레이어 캐릭터(2210)의 위치를 더욱 중앙부(515)의 외측으로 이동시키는 지시 입력이 있었을 경우, CPU(101)는, 지시 입력이 나타내는 방향을 표시영역(952)의 이동 방향으로 하고, 소정값을 표시영역(952)의 이동 거리로 한다.
CPU(101)는 화면(501)의 표시 배율을 변화시켰는지의 여부를 판별한다(스텝 S2404).
표시 배율을 변화시키고 있지 않을 경우(스텝 S2404: 아니오), 스텝 S2406으로 진행한다. 한편, 표시 배율을 변화시킨 경우(스텝 S2404: 아니오), CPU(101)는 스텝 S2403에서 구한 표시영역(952)의 이동 거리를 보정한다(스텝 S2405).
구체적으로는, CPU(101)는, 의사적인 시점(2250)과 가상공간(301)과의 거리(L7)가 짧을수록 작아지도록, 표시영역(952)의 이동 거리를 보정한다. 즉, 보정 후의 이동 거리는 거리(L7)에 대해서 단조감소한다.
CPU(101)는, 스텝 S2403에서 구한 이동 방향으로, 스텝 S2405에서 보정한 이동 거리만큼, 표시영역(952)을 이동시킨다(스텝 S2406).
그리고, CPU(101)는 표시영역(952) 내의 화상을 화상 처리부(107)에 모니터에 표시시킨다(스텝 S2407).
본 실시예에 의하면, 화면(501)의 표시 배율을 변화시키지 않을 경우에는, 스크롤량도 불변이다. 그러나, 표시 배율을 변경시킨 경우에는, 캐릭터의 위치가 주목영역(960)의 한가운데에 가까우면 가까울수록, 스크롤량이 적게 억제된다. 따라서, 화면(501)의 스크롤이 지나치게 빨라서 화상이 전체로서 보이기 어렵게 되어버리는 일이 없어, 플레이어에게 있어서 화면(501)의 시인성을 향상시킬 수 있다. 예를 들어, 화면이 빈번하게 스크롤됨으로써 플레이어가 헤매게 되어버리는 바와 같은 일이 없다. 또한, 스크롤 처리가 빈번하게 발생되어 버리지 않도록 할 수 있어, 스크롤 처리에 의한 게임장치(200)에의 부하를 감소시킬 수 있다.
본 발명은, 전술한 실시예로 한정되지 않고, 각종 변형 및 응용이 가능하다. 또한, 전술한 실시예의 각 구성요소를 자유롭게 조합시키는 것도 가능하다.
컴퓨터를 게임장치(800)의 전부 또는 일부로서 동작시키기 위한 프로그램을, 메모리 카드, CD-ROM, DVD, MO(Magneto Optical disk) 등의 컴퓨터 판독가능한 기록 매체에 격납해서 배포하고, 이것을 다른 컴퓨터에 설치하여, 전술한 수단으로서 동작시키거나, 혹은, 전술한 공정을 실행시켜도 된다.
또, 인터넷 상의 서버 장치가 가진 디스크 장치 등에 프로그램을 격납해두고, 예를 들어, 반송파에 중첩시켜서, 컴퓨터에 다운로드하는 등으로 해도 된다.
또한, 본원에 대해서는, 일본국 특허 출원 제2008-081003호를 기초로 하는 우선권을 주장하고, 상기 기초 출원의 내용을 모두 본원에 원용하는 것으로 한다.
이상에서 설명한 바와 같이, 본 발명에 의하면, 화상표시의 스크롤 처리에 의한 부하를 경감하여, 플레이어에게 있어서의 화면의 시인성을 향상시키기 위하여 적합한 게임장치 및 게임처리방법, 나아가서는, 그 프로그램을 제공할 수 있다.
100: 정보처리장치 101: CPU
102: ROM 103: RAM
104: 인터페이스 105: 컨트롤러
106: 외부 메모리 107: 화상 처리부
108: DVD-ROM 드라이브 109: NIC
110: 음성 처리부 111: 마이크
201: 파지모듈 202: CCD 카메라
203: 십지형 키 204: A-버튼
205: B-버튼 206: 각종 버튼
207: 인디케이터 208: 전원버튼
251: 발광모듈 252: 발광다이오도
291: 텔레비전 장치 301: 가상공간
302: 매직 핸드 303: 대상체
304: 손잡이 305: 시점
306: 시선 307: 투영면
308: 커서 309: 장해물
311: 손잡이의 자세의 방향 313: 기준위치
314 기준위치로부터의 어긋남을 나타내는 벡터
321: 손잡이의 자세의 방향 벡터
322: 손잡이로부터 대상체로의 방향 벡터
323: 상하좌우의 어긋남을 나타내는 벡터
411: 견인력(반발력) 412: 상하좌우의 힘
501: 화면 511: 상측 가장자리부
512: 우측 가장자리부 513: 좌측 가장자리부
514: 하측 가장자리부 515: 중앙부
800: 게임장치 801: 기억부
802: 입력 접수부 803: 생성부
804: 표시부 805: 거리 계산부
806: 이동 계산부 807: 보정부
808: 갱신부 851: 대상체 정보
852: 시점정보 853: 시선정보
854: 커서정보 855: 주목영역정보
951: 시점 위치의 이동 방향 952: 표시영역
960: 주목영역 1101: 시선 방향의 회전 방향

Claims (18)

  1. 가상공간에 배치되는 대상체(object)의 위치와 상기 가상공간에 배치되는 시점의 위치를 기억하는 기억부(801);
    상기 가상공간에 있어서 상기 시점의 위치로부터 본 상기 대상체를 나타내는 화상을 생성하는 생성부(803);
    상기 생성된 화상을 표시하는 표시부(804);
    상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 거리를 구하는 거리 계산부(805);
    상기 시점의 위치를 이동하는 이동 방향과 이동 거리를 계산하는 이동 계산부(806);
    상기 계산된 이동 거리를 상기 구해진 거리에 의거해서 보정하는 보정부(807); 및
    상기 계산된 이동 방향으로, 상기 보정된 결과의 이동 거리만큼, 상기 기억되는 시점의 위치를 이동하도록 갱신하는 갱신부(808)를 포함하고,
    상기 보정부(807)는, 상기 보정된 결과의 이동 거리가 상기 구해진 거리에 대해서 단조감소하도록 보정하는 것을 특징으로 하는 게임장치(800).
  2. 가상공간에 배치되는 대상체의 위치와, 상기 가상공간에 배치되는 시점의 위치와, 시선 방향을 기억하는 기억부(801);
    상기 가상공간에 있어서 상기 시점의 위치로부터 상기 시선 방향으로 본 상기 대상체를 나타내는 화상을 생성하는 생성부(803);
    상기 생성된 화상을 표시하는 표시부(804);
    상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 거리를 구하는 거리 계산부(805);
    상기 시선 방향을 회전시키는 회전 방향과 회전 각도를 계산하는 이동 계산부(806);
    상기 계산된 회전 각도를 상기 구해진 거리에 의거해서 보정하는 보정부(807); 및
    상기 계산된 회전 방향으로, 상기 보정된 결과의 회전 각도만큼, 상기 기억되는 시선 방향을 회전시키도록 갱신하는 갱신부(808)를 구비하고,
    상기 보정부(807)는, 상기 보정된 결과의 회전 각도가 상기 구해진 거리에 대해서 단조감소하도록 보정하는 것을 특징으로 하는 게임장치(800).
  3. 제2항에 있어서, 상기 이동 계산부(806)는 상기 시점의 위치를 이동하는 이동 방향과 이동 거리를 추가로 계산하고,
    상기 보정부(807)는 상기 계산된 이동 거리를 상기 구해진 거리에 의거해서 추가로 보정하며,
    상기 갱신부(808)는, 상기 계산된 이동 방향으로, 상기 보정된 결과의 이동 거리만큼, 상기 기억되는 시점의 위치를 이동하도록 더욱 갱신하고,
    상기 보정부(807)는, 상기 보정된 결과의 이동 거리가 상기 구해진 거리에 대해서 단조감소하도록 보정하는 것을 특징으로 하는 게임장치(800).
  4. 제1항에 있어서, 상기 가상공간에는 복수개의 대상체가 배치되고,
    상기 기억부(801)는 상기 복수개의 대상체의 각각의 위치를 기억하며,
    상기 거리 계산부(805)는, 상기 복수개의 대상체 중, 상기 생성된 화상 내의 주목영역에 묘화된 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 거리를 구하는 것을 특징으로 하는 게임장치(800).
  5. 제4항에 있어서, 상기 주목영역은 상기 생성된 화상의 중앙에 배치되는 것을 특징으로 하는 게임장치.
  6. 제4항에 있어서, 상기 대상체를 선택하는 취지의 선택 지시 입력을 사용자로부터 접수하는 입력 접수부(802)를 추가로 포함하고,
    상기 거리 계산부(805)는, 상기 선택된 대상체의 상기 생성된 화면 내에 있어서의 위치를 중심으로 해서, 상기 주목영역을 설정하는 것을 특징으로 하는 게임장치(800).
  7. 제6항에 있어서, 상기 입력 접수부(802)는, 상기 선택된 대상체의 위치를 이동하는 취지의 이동 지시 입력을 상기 사용자로부터 추가로 접수하고,
    상기 기억부(801)는, 상기 이동 지시 입력의 소정 횟수분의 이력을 추가로 기억하며,
    상기 갱신부(808)는, 상기 이동 지시 입력에 의거해서, 상기 선택된 대상체의 위치를 추가로 갱신하고,
    상기 거리 계산부(805)는, 상기 선택된 대상체의 위치가 이동된 경우, 상기 대상체의 이동을 개시하고 나서 소정 시간 경과 후, 상기 기억되어 있는 이력에 의거해서, 상기 대상체에 추종하도록 상기 주목영역의 위치를 변화시키는 것을 특징으로 하는 게임장치(800).
  8. 제6항에 있어서, 상기 입력 접수부(802)는 상기 선택된 대상체의 위치를 지정량만큼 이동시키는 취지의 이동 지시 입력을 추가로 접수하고,
    상기 기억부(801)는 상기 이동 지시 입력의 소정 횟수분의 이력을 추가로 기억하며,
    상기 보정부(808)는, 상기 기억되어 있는 이동 지시 입력이 나타내는 각각의 지정량에 의거해서 상기 이동 거리의 보정량을 구하고, 상기 보정된 결과의 이동 거리가 상기 구해진 거리에 대해서 단조감소하도록 보정하는 것을 특징으로 하는 게임장치(800).
  9. 제4항에 있어서, 상기 거리 계산부(805)는, 상기 생성된 화상 내의 주목영역에 묘화된 대상체가 복수개인 경우, 상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 각각의 거리의 평균치를 계산하고,
    상기 보정부(807)는, 상기 계산된 이동 거리를 상기 계산된 평균치에 대해서 단조감소하도록 보정하는 것을 특징으로 하는 게임장치(800).
  10. 제4항에 있어서, 상기 거리 계산부(805)는, 상기 생성된 화상 내의 주목영역에 묘화된 대상체가 복수개인 경우, 상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 각각의 거리의 최대값을 계산하고,
    상기 보정부(807)는, 상기 계산된 이동 거리를 상기 계산된 최대값에 대해서 단조감소하도록 보정하는 것을 특징으로 하는 게임장치(800).
  11. 제4항에 있어서, 상기 거리 계산부(805)는, 상기 생성된 화상 내의 주목영역에 묘화된 대상체가 복수개인 경우, 상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 각각의 거리의 최소값을 계산하고,
    상기 보정부(807)는, 상기 계산된 이동 거리를 상기 계산된 최소값에 대해서 단조감소하도록 보정하는 것을 특징으로 하는 게임장치(800).
  12. 제4항에 있어서, 상기 거리 계산부(805)는, 상기 생성된 화상 내의 주목영역에 묘화된 대상체가 복수개인 경우, 상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 각각의 거리의 합계값을 계산하고,
    상기 보정부(807)는 상기 계산된 이동 거리를 상기 계산된 합계값에 대해서 단조감소하도록 보정하는 것을 특징으로 하는 게임장치(800).
  13. 기억부(801)를 구비한 게임장치(800)에서 실행되는 게임처리방법으로서,
    상기 기억부(801)에는, 가상공간에 배치되는 대상체의 위치와 상기 가상공간에 배치되는 시점의 위치가 기억되고,
    상기 가상공간에 있어서 상기 시점의 위치로부터 본 상기 대상체를 나타내는 화상을 생성하는 생성스텝;
    상기 생성된 화상을 표시하는 표시스텝;
    상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치의 거리를 구하는 거리계산스텝;
    상기 시점의 위치를 이동하는 이동 방향과 이동 거리를 계산하는 이동계산스텝;
    상기 계산된 이동 거리를 상기 구해진 거리에 의거해서 보정하는 보정스텝; 및
    상기 계산된 이동 방향으로, 상기 보정된 결과의 이동 거리만큼, 상기 기억되는 시점의 위치를 이동하도록 갱신하는 갱신스텝을 포함하며,
    상기 보정스텝에서는, 상기 보정된 결과의 이동 거리가 상기 구해진 거리에 대해서 단조감소하도록 보정하는 것을 특징으로 하는 게임처리방법.
  14. 기억부(801)를 구비한 게임장치(800)에서 실행되는 게임처리방법으로서,
    상기 기억부(801)에는, 가상공간에 배치되는 대상체의 위치와, 상기 가상공간에 배치되는 시점의 위치와, 시선 방향이 기억되고,
    상기 가상공간에 있어서 상기 시점의 위치로부터 상기 시선 방향으로 본 상기 대상체를 나타내는 화상을 생성하는 생성스텝;
    상기 생성된 화상을 표시하는 표시스텝;
    상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 거리를 구하는 거리계산스텝;
    상기 시선 방향을 회전시키는 회전 방향과 회전 각도를 계산하는 이동계산스텝;
    상기 계산된 회전 각도를 상기 구해진 거리에 의거해서 보정하는 보정스텝; 및
    상기 계산된 회전 방향으로, 상기 보정된 결과의 회전 각도만큼, 상기 기억되는 시선 방향을 회전시키도록 갱신하는 갱신스텝을 포함하고,
    상기 보정스텝에서는, 상기 보정된 결과의 회전 각도가 상기 구해진 거리에 대해서 단조감소하도록 보정하는 것을 특징으로 하는 게임처리방법.
  15. 컴퓨터를,
    가상공간에 배치되는 대상체의 위치와 상기 가상공간에 배치되는 시점의 위치를 기억하는 기억부(801);
    상기 가상공간에 있어서 상기 시점의 위치로부터 본 상기 대상체를 나타내는 화상을 생성하는 생성부(803);
    상기 생성된 화상을 표시하는 표시부(804);
    상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 거리를 구하는 거리 계산부(805);
    상기 시점의 위치를 이동하는 이동 방향과 이동 거리를 계산하는 이동 계산부(806);
    상기 계산된 이동 거리를 상기 구해진 거리에 의거해서 보정하는 보정부(807); 및
    상기 계산된 이동 방향으로, 상기 보정된 결과의 이동 거리만큼, 상기 기억되는 시점의 위치를 이동하도록 갱신하는 갱신부(808)
    로서 기능시키고,
    상기 보정부(807)가, 상기 보정된 결과의 이동 거리가 상기 구해진 거리에 대해서 단조감소하도록 보정하도록 기능시키는 프로그램을 기억하는 것을 특징으로 하는, 컴퓨터 판독가능한 정보기록매체.
  16. 컴퓨터를,
    가상공간에 배치되는 대상체의 위치와, 상기 가상공간에 배치되는 시점의 위치와, 시선 방향을 기억하는 기억부(801);
    상기 가상공간에 있어서 상기 시점의 위치로부터 상기 시선 방향으로 본 상기 대상체를 나타내는 화상을 생성하는 생성부(803);
    상기 생성된 화상을 표시하는 표시부(804);
    상기 대상체의 상기 가상공간에 있어서의 위치와 상기 기억되어 있는 시점의 위치와의 거리를 구하는 거리 계산부(805);
    상기 시선 방향을 회전시키는 회전 방향과 회전 각도를 계산하는 이동 계산부(806);
    상기 계산된 회전 각도를 상기 구해진 거리에 의거해서 보정하는 보정부(807); 및
    상기 계산된 회전 방향으로, 상기 보정된 결과의 회전 각도만큼, 상기 기억되는 시선 방향을 회전시키도록 갱신하는 갱신부(808)
    로서 기능시키고,
    상기 보정부(807)가, 상기 보정된 결과의 회전 각도가 상기 구해진 거리에 대해서 단조감소하도록 보정하도록 기능시키는 프로그램을 기억하는 것을 특징으로 하는, 컴퓨터 판독가능한 정보기록매체.
  17. 삭제
  18. 삭제
KR1020107005981A 2008-03-26 2009-03-19 게임장치, 게임처리방법 및 정보기록매체 KR101084030B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008081003A JP4384697B2 (ja) 2008-03-26 2008-03-26 ゲーム装置、ゲーム処理方法、ならびに、プログラム
JPJP-P-2008-081003 2008-03-26
PCT/JP2009/055468 WO2009119453A1 (ja) 2008-03-26 2009-03-19 ゲーム装置、ゲーム処理方法、情報記録媒体、ならびに、プログラム

Publications (2)

Publication Number Publication Date
KR20100046262A KR20100046262A (ko) 2010-05-06
KR101084030B1 true KR101084030B1 (ko) 2011-11-17

Family

ID=41113648

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107005981A KR101084030B1 (ko) 2008-03-26 2009-03-19 게임장치, 게임처리방법 및 정보기록매체

Country Status (6)

Country Link
US (1) US20110014977A1 (ko)
JP (1) JP4384697B2 (ko)
KR (1) KR101084030B1 (ko)
CN (1) CN101970067A (ko)
TW (1) TWI374043B (ko)
WO (1) WO2009119453A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8384665B1 (en) * 2006-07-14 2013-02-26 Ailive, Inc. Method and system for making a selection in 3D virtual environment
JP5350304B2 (ja) * 2010-03-29 2013-11-27 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
JP2012173950A (ja) * 2011-02-21 2012-09-10 Denso Corp 連続操作学習装置、及び、ナビゲーション装置
US9285883B2 (en) * 2011-03-01 2016-03-15 Qualcomm Incorporated System and method to display content based on viewing orientation
JP5323126B2 (ja) * 2011-05-20 2013-10-23 シャープ株式会社 画像処理システム、画像処理装置、及び、指示受付装置
US20130120371A1 (en) * 2011-11-15 2013-05-16 Arthur Petit Interactive Communication Virtual Space
JP5200158B1 (ja) * 2011-12-27 2013-05-15 株式会社コナミデジタルエンタテインメント ゲーム装置、制御装置、ゲーム制御方法、及びプログラム
TWI498771B (zh) 2012-07-06 2015-09-01 Pixart Imaging Inc 可辨識手勢動作的眼鏡
KR20140010685A (ko) * 2012-07-16 2014-01-27 삼성전자주식회사 휴대 단말기에서 객체 이동 방법 및 장치
US9589000B2 (en) 2012-08-30 2017-03-07 Atheer, Inc. Method and apparatus for content association and history tracking in virtual and augmented reality
US9561437B2 (en) 2012-09-17 2017-02-07 King.Com Ltd. Method for implementing a computer game
US9079097B2 (en) 2013-02-19 2015-07-14 King.Com Ltd. Video game with replaceable tiles having selectable physics
US10828558B2 (en) 2013-02-19 2020-11-10 King.Com Ltd. Video game with spreading tile backgrounds for matched tiles
US9592441B2 (en) 2013-02-19 2017-03-14 King.Com Ltd. Controlling a user interface of a computer device
US20140274418A1 (en) * 2013-03-12 2014-09-18 King.Com Limited Module for a switcher game
US9937418B2 (en) 2013-06-07 2018-04-10 King.Com Ltd. Computing device, game, and methods therefor
TWI570752B (zh) * 2013-12-11 2017-02-11 財團法人工業技術研究院 儲能元件與超級電容器元件
JP2015166890A (ja) * 2014-03-03 2015-09-24 ソニー株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
US9936195B2 (en) * 2014-11-06 2018-04-03 Intel Corporation Calibration for eye tracking systems
US11023038B2 (en) * 2015-03-05 2021-06-01 Sony Corporation Line of sight detection adjustment unit and control method
CN105983234A (zh) * 2015-09-11 2016-10-05 北京蚁视科技有限公司 一种防止用户眩晕的视频图像显示方法
JP6532393B2 (ja) * 2015-12-02 2019-06-19 株式会社ソニー・インタラクティブエンタテインメント 表示制御装置及び表示制御方法
JP6744543B2 (ja) * 2015-12-25 2020-08-19 キヤノンマーケティングジャパン株式会社 情報処理システム、その制御方法、及びプログラム
US10678337B2 (en) * 2016-01-04 2020-06-09 The Texas A&M University System Context aware movement recognition system
JP6402432B2 (ja) * 2016-09-06 2018-10-10 株式会社アクセル 情報処理装置、及び情報処理方法
WO2018058693A1 (zh) * 2016-10-01 2018-04-05 北京蚁视科技有限公司 一种防止用户眩晕的视频图像显示方法
CN106582012B (zh) * 2016-12-07 2018-12-11 腾讯科技(深圳)有限公司 一种vr场景下的攀爬操作处理方法和装置
US10217186B2 (en) * 2017-02-15 2019-02-26 Htc Corporation Method, virtual reality apparatus and recording medium for displaying fast-moving frames of virtual reality
CN110832442A (zh) * 2017-06-09 2020-02-21 索尼互动娱乐股份有限公司 注视点渲染系统中的优化的阴影和自适应网状蒙皮
EP3444016A1 (fr) * 2017-08-17 2019-02-20 Bigben Interactive SA Procede de contrôle d'un element d'affichage par une console de jeux
KR102343648B1 (ko) * 2017-08-29 2021-12-24 삼성전자주식회사 영상 부호화 장치 및 영상 부호화 시스템
JP7292597B2 (ja) * 2018-04-11 2023-06-19 大日本印刷株式会社 表示システム、画像処理装置、およびプログラム
CN112074331A (zh) * 2018-05-02 2020-12-11 任天堂株式会社 信息处理程序、信息处理装置、信息处理系统以及信息处理方法
US11756259B2 (en) * 2019-04-17 2023-09-12 Rakuten Group, Inc. Display controlling device, display controlling method, program, and non-transitory computer-readable information recording medium
CN111729311A (zh) * 2020-06-22 2020-10-02 苏州幻塔网络科技有限公司 攀爬跳跃方法、装置、计算机设备及计算机可读存储介质
CN112473138B (zh) * 2020-12-10 2023-11-17 网易(杭州)网络有限公司 游戏的显示控制方法及装置、可读存储介质、电子设备
CN112604282B (zh) * 2020-12-25 2022-09-02 珠海金山数字网络科技有限公司 虚拟镜头控制方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007260232A (ja) 2006-03-29 2007-10-11 Konami Digital Entertainment:Kk ゲーム装置、ゲーム制御方法、ならびに、プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2558991B2 (ja) * 1992-04-06 1996-11-27 松下電器産業株式会社 視点・光源機能の属性追加交換直接操作システム
JPH0991109A (ja) * 1995-09-28 1997-04-04 Oki Electric Ind Co Ltd 仮想3次元空間表示装置
GB9606791D0 (en) * 1996-03-29 1996-06-05 British Telecomm Control interface
JP3009633B2 (ja) * 1997-04-03 2000-02-14 コナミ株式会社 画像装置、画像表示方法および記録媒体
JPH11154244A (ja) * 1997-11-21 1999-06-08 Canon Inc 画像処理装置と画像情報の処理方法
JP2001149643A (ja) * 1999-09-16 2001-06-05 Sony Computer Entertainment Inc 3次元ゲームにおけるオブジェクト表示方法、情報記録媒体およびエンタテインメント装置
US6670957B2 (en) * 2000-01-21 2003-12-30 Sony Computer Entertainment Inc. Entertainment apparatus, storage medium and object display method
WO2002069276A1 (fr) * 2001-02-23 2002-09-06 Fujitsu Limited Dispositif de commande d'affichage, dispositif terminal d'information equipe de ce dispositif de commande d'affichage, et dispositif de commande de position de point de vue
JP2003334382A (ja) * 2002-05-21 2003-11-25 Sega Corp ゲーム装置、画像処理装置及び画像処理方法
JP2004005024A (ja) * 2002-05-30 2004-01-08 Konami Co Ltd 情報処理プログラム
JP4474640B2 (ja) * 2004-05-11 2010-06-09 株式会社セガ 画像処理プログラム、ゲーム処理プログラムおよびゲーム情報処理装置
JP2006018476A (ja) * 2004-06-30 2006-01-19 Sega Corp 画像の表示制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007260232A (ja) 2006-03-29 2007-10-11 Konami Digital Entertainment:Kk ゲーム装置、ゲーム制御方法、ならびに、プログラム

Also Published As

Publication number Publication date
KR20100046262A (ko) 2010-05-06
CN101970067A (zh) 2011-02-09
TWI374043B (en) 2012-10-11
US20110014977A1 (en) 2011-01-20
JP4384697B2 (ja) 2009-12-16
TW201012513A (en) 2010-04-01
JP2009232984A (ja) 2009-10-15
WO2009119453A1 (ja) 2009-10-01

Similar Documents

Publication Publication Date Title
KR101084030B1 (ko) 게임장치, 게임처리방법 및 정보기록매체
US8723867B2 (en) Game apparatus, storage medium storing a game program, and game controlling method
JP5507893B2 (ja) プログラム、情報記憶媒体及び画像生成システム
KR100873597B1 (ko) 게임 장치, 컴퓨터의 제어 방법 및 정보 기억 매체
JP5576061B2 (ja) プログラム及びゲーム装置
JP5519591B2 (ja) 情報表示装置、情報表示方法、ならびに、プログラム
JP5210547B2 (ja) 移動制御プログラムおよび移動制御装置
JP3747050B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2001246161A (ja) ジェスチャー認識技術を用いたゲーム装置およびその方法ならびにその方法を実現するプログラムを記憶した記録媒体
JP2009153692A (ja) プログラム、情報記憶媒体及び画像表示制御装置
JP2006102275A (ja) ゲームシステム、プログラム及び情報記憶媒体
JP2013078507A (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
CN109416614A (zh) 应用程序控制程序、应用程序控制方法以及应用程序控制系统
JP6734025B2 (ja) プログラム及び端末
JP5124545B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP4469709B2 (ja) 画像処理プログラムおよび画像処理装置
JP7154258B2 (ja) プログラム、端末及びゲーム制御方法
JP2006102239A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4956600B2 (ja) ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP3989511B1 (ja) ゲーム装置、ゲーム制御方法、ならびに、プログラム
JP2023099961A (ja) プログラム、情報処理装置および情報処理方法
JP6167408B2 (ja) ゲーム装置及びプログラム
JP5788930B2 (ja) ゲーム装置及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141105

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee