KR100383047B1 - 집단 캐릭터 이동방법, 기록매체 및 게임장치 - Google Patents

집단 캐릭터 이동방법, 기록매체 및 게임장치 Download PDF

Info

Publication number
KR100383047B1
KR100383047B1 KR10-2000-0045883A KR20000045883A KR100383047B1 KR 100383047 B1 KR100383047 B1 KR 100383047B1 KR 20000045883 A KR20000045883 A KR 20000045883A KR 100383047 B1 KR100383047 B1 KR 100383047B1
Authority
KR
South Korea
Prior art keywords
character
acceleration
predetermined
group
virtual space
Prior art date
Application number
KR10-2000-0045883A
Other languages
English (en)
Other versions
KR20010050017A (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 KR20010050017A publication Critical patent/KR20010050017A/ko
Application granted granted Critical
Publication of KR100383047B1 publication Critical patent/KR100383047B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/833Hand-to-hand fighting, e.g. martial arts competition
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • 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
    • 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/6607Methods for processing data by generating or executing the game program for rendering three dimensional images for animating game characters, e.g. skeleton kinematics
    • 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/6623Methods for processing data by generating or executing the game program for rendering three dimensional images for animating a group of characters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8029Fighting without shooting
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/807Role playing or strategy games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

집단 캐릭터의 일련의 동작을 보다 리얼하게 표현할 수 있는 집단 캐릭터 이동방법을 제공한다. 소정의 시간내에 근거리 영역내에 다른 캐릭터가 존재할 때에 상기 다른 캐릭터로부터 소정의 거리로 이격되기 위한 가속도, 중거리 영역내에 리더에 추종하도록 이동하는 다른 캐릭터가 존재할 때에 상기 다른 캐릭터의 이동하는 속도 및 방향을 맞추기 위한 가속도 및 원거리 영역내에 다른 캐릭터가 존재할 때에 상기 다른 캐릭터로부터 소정의 거리로 이격되기 위한 가속도를 각각 연산하고(단계 308∼312), 상기 연산된 가속도를 3차원 가상공간상의 x, y, z 성분마다 가산한 총합가속도에 기초하여 캐릭터의 3차원 가상공간상의 위치를 연산한다(단계 314, 316). 다른 캐릭터의 동작에 따라서 속도나 방향을 변경하면서 이동하기 때문에 동작을 리얼하게 표현할 수 있다.

Description

집단 캐릭터 이동방법, 기록매체 및 게임장치{Method of Moving Characters in Group, its Recorded Medium, and Game Device Equiped with The Medium}
본 발명은 집단 캐릭터 이동방법, 기록매체 및 게임장치에 관한 것으로, 특히, 3차원 가상공간상에 표현되어 리더를 갖는 복수의 캐릭터가 집단을 형성하여 미리 설정된 목표점으로 이동하는 집단 캐릭터 이동방법, 상기 방법을 기록한 기록매체 및 입력부를 조작하여 기록매체로부터 판독한 소프트웨어를 기억부로 로드 가능한 게임장치에 있어 소정주기로 호출되고 리더를 갖는 복수의 캐릭터가 집단을 형성하여 미리 설정된 목표점으로 이동하는 집단 캐릭터의 각 캐릭터의 위치를 연산하는 위치연산부를 갖춘 게임장치에 관한 것이다.
오늘날, 여러가지의 게임 소프트웨어가 CD-R0M 등의 기록매체에 기록되어 게임업계 각사에서 판매되고 있다. 이러한 기록매체는 게임장치에 삽입되어 사용된다. 도 1에 도시한 바와 같이, 게임장치중 가장 일반적인 가정용 게임장치(10)는 게임장치본체(2)에 도 2에 도시한 것과 같은 컨트롤러 패드 등의 입력장치(3)와 텔레비전 모니터(4)를 접속하여 구성되어 있다. 플레이어가 기록매체(1)를 게임장치본체(2)에 삽입하면, 자동적으로, 또는, 입력장치(3)의 소정 버튼을 누르는 것에 의해, 기록매체(1)에 기록된 게임 프로그램이 게임장치본체(2)의 기억메모리인 RAM에 로드되어 게임이 스타트하고, 그 후는 입력장치(3)의 버튼을 조작하는 것에 의해 게임을 즐길 수 있다.
그런데, 종래의 게임에서는, 주로 2차원으로 표현된 좌표상을 5개 정도의 복수의 캐릭터가 대열을 이루면서 이동하는 것이 시판되고 있다. 예를 들면, 일본국 특개평 제8-63613호공보에서는, 미리 캐릭터마다 이동속도, 방향전환을 하는 시기·확률을 설정하고, 대열의 리더인 주인공 캐릭터에 추종해 나가는 모양을 개성적인 변화를 갖고 표시하는 기술이 개시되어 있다.
이 기술에 의하면, 각 캐릭터를 실제로 표시하고 싶은 위치를 목표위치로 했을 때에, 주인공 캐릭터가 거쳐간 궤적으로부터 결정되는 원래 그 캐릭터가 취할 수 있는 기본위치와, 그 기본위치에 대한 오프셋을 도시한 상대위치와의 쌍방의 벡터합을 연산하여 목표위치로 하고 있다. 목표위치에 장해물이 있을 때는, 목표위치를 전회의 값으로 되돌려, 목표위치가 그 값이 되도록 상대위치를 정하고, 캐릭터를 잠시 중지시키고 있다. 따라서, 주인공 캐릭터에 추종하는 캐릭터는 전방에 위치하는 캐릭터가 빈 위치를 목표위치로 이동하고 있다.
또, 본 발명에 관한 문헌으로서는, 1988년 4월에 발행된 「The Visual Computer」잡지의 제283 ~ 295페이지에 「Dynamic animation : interaction and control」(Jane Wilhelms, Matthew Moore, and Robert Skinner)의 「2.2 Numerical integration methods」라고 표제된 내용중에, 오일러의 법칙에 의한 운동방정식에 관한 기재가 있다.
그러나, 상기 특허공보의 기술에서는 캐릭터 이동중의 상황에 따라 미리 설정된 이동속도, 방향전환을 행하는 시기·확률이 변경되지 않기 때문에, 주인공 캐릭터의 이동에 대하여 각 캐릭터는 추종 표현이 되어 각 캐릭터끼리의 상호작용을 섬세하게 표현하면서 이동하는 것은 불가능하다. 즉, 현실적인 새나 말 등의 동물의 무리(집단)에서는 무리의 중간정도로부터 후방에 걸쳐서 이동하고 있는 새나 말은 리더의 움직임을 보고 이동하고 있는 것이 아니고, 주위의 새나 말의 움직임에 따라서 속도나 방향을 맞추면서 이동하고 있기 때문에, 상기 공보의 기술에서는 현실의 동물의 군집의 이동의 모양을 리얼하게 표현하는 것이 불가능하다는 문제점이 있다.
본 발명은 상기 사안을 감안하여 집단 캐릭터의 일련의 동작을 보다 리얼하게 표현할 수 있는 집단 캐릭터 이동방법, 그 기록매체 및 게임장치를 제공하는 것을 과제로 한다.
상기 과제를 해결하기 위해서 본 발명의 제1의 태양은 3차원 가상공간상에 표현되는 리더를 갖는 복수의 캐릭터가 집단을 형성하여 미리 설정된 목표점으로 이동하는 집단 캐릭터 이동방법에 있어, 소정시간내에 상기 캐릭터의 미리 설정된 제1의 영역내에 다른 캐릭터가 존재할 때에 상기 다른 캐릭터로부터 소정의 거리 로 이격되기 위한 제1의 가속도 및 상기 캐릭터의 미리 설정된 제2의 영역내에 상기 리더에 추종하도록 이동하는 다른 캐릭터가 존재할 때에 상기 다른 캐릭터의 이동하는 속도 및 방향을 맞추기 위한 제2의 가속도를 각각 연산하고, 상기 연산된 제1 및 제2의 가속도를 상기 3차원 가상공간상의 x, y, z 성분마다 가산한 총합가속도에 기초하여 상기 캐릭터의 상기 3차원 가상공간상의 위치를 연산하는 단계를포함하고 있다.
본 발명에서는 제1의 영역내에 다른 캐릭터가 존재할 때에 상기 다른 캐릭터로부터 소정거리로 이격되기 위한 가속도 및 제2의 영역내에 리더에 추종하도록 이동하는 다른 캐릭터가 존재할 때에 상기 다른 캐릭터의 이동하는 속도 및 방향을 맞추기 위한 가속도를 3차원 가상공간상의 x, y, z 성분마다 가산한 총합가속도로 각 캐릭터를 목표점에 이동시키도록 했기 때문에, 각 캐릭터는 제1 및 제2의 영역내에 존재하는 다른 캐릭터의 이동상황에 따라서 속도나 방향을 변경하면서 각 캐릭터의 이동 동작을 리얼하게 표현할 수 있다.
이 경우에 있어서, 제1 및 제2의 영역을 캐릭터를 중심으로 하는 소정의 꼭지각 및 소정의 반경으로 획정되는 구 또는 원으로 하고, 제1의 영역은 제2의 영역에 대하여 꼭지각을 크게, 그리고 반경을 작게 하도록 하면 자연계의 동물의 시계(視界)와 같은 시계를 각 캐릭터에 부여할 수 있기 때문에, 각 캐릭터의 이동 동작을 자연계의 동물과 유사하게 표현할 수 있다. 더욱이, 캐릭터의 미리 설정된 제3의 영역내에 다른 캐릭터가 존재할 때에 상기 다른 캐릭터로부터 소정거리로 이격되기 위한 제3의 가속도를 각각 연산하여 상기 연산된 제1 내지 제3의 가속도를 상기 3차원 가상공간상의 x, y, z 성분마다 가산한 총합가속도에 기초하여 상기 캐릭터의 상기 3차원 가상공간상의 위치를 연산하도록 하면, 각 캐릭터는 제1 내지 제3의 영역내에 존재하는 다른 캐릭터의 이동상황에 따라서 속도나 방향을 변경하면서 각 캐릭터의 이동 동작을 보다 리얼하게 표현할 수 있다. 이 때, 제1 내지 제3의 영역을 캐릭터를 중심으로 하는 소정의 꼭지각 및 소정의 반경으로 획정되는 구 또는 원으로 하고, 제1의 영역은 제2의 영역에 대하여 그리고 제2의 영역은 제3의 영역에 대하여 꼭지각을 크게, 그리고 반경을 작게 하도록 하면 자연계의 동물의 시계와 같은 시계를 각 캐릭터에 줄 수 있기 때문에, 각 캐릭터의 이동 동작을 보다 자연계의 동물과 유사하게 표현할 수 있다. 또한, 제1의 가속도를 캐릭터와 다른 캐릭터와의 거리가 작을 때에 급격히 증가하도록 변화시켜 제3의 가속도를 캐릭터와 다른 캐릭터와의 거리가 작을 때에 일정비율로 증가하도록 변화시키도록 하면 캐릭터가 다른 캐릭터에 가까이 가면 큰 가속도로 이격하려고 하고, 캐릭터의 먼 거리에 다른 캐릭터가 존재하면 작은 가속도로 먼 거리의 다른 캐릭터를 피하고자 하기 때문에, 자연계의 동물 무리의 각 동물의 움직임과 같은 동작을 시킬 수 있다. 또한, 집단이 목표점에 도달한 후, 캐릭터가 미리 설정된 정보에 기초하여 소정의 영역내를 소정의 빠르기로 방황하는 방황 단계를 더 포함하도록 하면, 자연계의 동물의 무리가 일정 영역에서 군집하고 있는 상태를 표현할 수 있다. 이 때, 캐릭터가 소정의 영역밖으로 이동했을 때에 소정의 영역내에 임의로 정해진 기준점을 향해서 소정의 영역내로 되돌아갈 때까지 소정의 속도보다 큰 속도로 이동하도록 하면, 자연계의 동물이 무리로부터 이격되려고 할 때에 무리에 되돌아가려고 하는 동작을 리얼하게 표현할 수 있다. 그리고, 캐릭터가 다른 캐릭터와 교착하여 이동이 불가능하게 되는 교착상태로 된 때에 상기 교착상태를 탈출하도록 캐릭터의 진행방향을 바꾸는 교착상태 탈출 단계를 더 포함하도록 하면, 교착상태로 움직임이 없는 캐릭터를 없게 할 수 있기 때문에, 게임이 싫증나게 되는 것을 방지할 수 있는 동시에, 뒷걸음을 할 수 없는 자연계의 동물의 움직임을 재현할 수 있다.
본 발명의 제2의 태양은 상술한 제1의 태양의 집단 캐릭터 이동방법을 기록한 컴퓨터 독해 가능한 기록매체이다. 또한, 본 발명의 제3의 태양은 입력부를 조작하여 기록매체로부터 판독한 소프트웨어를 기억부에 로드가능한 게임장치이고, 소정의 주기로 호출되고 리더를 갖는 복수의 캐릭터가 집단을 형성하여 미리 설정된 목표점에 이동하는 집단 캐릭터의 각 캐릭터의 위치를 연산하는 위치연산부를 갖춘 게임장치에 있어서, 상기 위치연산부는 상기 캐릭터의 미리 설정된 제1의 영역내에 다른 캐릭터가 존재할 때에 상기 다른 캐릭터로부터 소정의 거리로 이격되기 위한 제1의 가속도를 연산하는 제1 가속도 연산수단과, 상기 캐릭터의 미리 설정된 제2의 영역내에 상기 리더에 추종하도록 이동하는 다른 캐릭터가 존재할 때에 상기 다른 캐릭터의 이동하는 속도 및 방향을 맞추기 위한 제2의 가속도를 연산하는 제2 가속도 연산수단과, 상기 제1 및 제2 가속도 연산수단에서 연산된 가속도를 상기 3차원 가상공간상의 x, y, z 성분마다 가산한 총합가속도에 기초하여 상기 캐릭터의 상기 3차원 가상공간상의 위치를 연산하는 위치연산수단을 구비하고 있다.
도 1은 가정용 게임장치의 접속태양을 도시한 개략 사시도.
도 2는 가정용 게임장치에 사용되는 입력장치의 평면도.
도 3은 본 발명을 적용한 실시형태의 게임장치본체의 구성을 도시한 개략 블록도.
도 4는 실시형태의 기마군단이동 루틴을 도시한 흐름도.
도 5는 기마군단이동 루틴의 단계 108의 상세를 도시한 군단이동초기 설정처리 서브루틴의 흐름도.
도 6은 기마군단이동 루틴의 단계 114의 상세를 도시한 군단이동처리 서브루틴의 흐름도.
도 7은 기마군단이동 루틴의 단계 124의 상세를 도시한 방황처리 서브루틴의 흐름도.
도 8은 방황처리 서브루틴의 단계 432의 상세를 도시한 교착상태 서브루틴의 흐름도.
도 9는 텔레비전 모니터에 표시된 정렬명령정보의 다이얼로그화면.
도 10은 텔레비전 모니터에 표시된 목표명령정보의 다이얼로그화면.
도 11은 텔레비전 모니터에 표시된 군단특성정보의 다이얼로그화면.
도 12는 텔레비전 모니터에 표시된 목표점정렬명령정보의 다이얼로그화면.
도 13(a)은 베제곡선의 점열을 설명하기 위한 설명도이며, 도 13(b)은 베제곡선을 설명하기 위한 설명도.
도 14는 근거리 영역 및 원거리 영역에서의 반발력과 거리와의 관계를 도시한 설명도.
도 15는 기마군단의 이동상태를 도시한 설명도이며, (a)는 정렬시, (b)는 (a)에서 소정시간경과후, (c)는 (b)에서 더 소정시간 경과후에 각각 텔레비전 모니터에 표시된 기마군단을 도시한 도면.
도 16은 기마군단의 다른 이동상태를 도시한 설명도이며, (a)는 정렬시, (b)는(a)에서 소정시간 경과후, (c)는 (b)에서 더 소정시간 경과후에 각각 텔레비전 모니터에 표시된 기마군단을 도시한 도면.
도 17은 기마군단의 리더가 거쳐간 궤적을 설명하는 설명도.
도 18은 기마군단이 방황상태로 된 후의 기마병사의 방황하는 모양을 설명하기 위한 설명도이며, (a)는 기마병사가 방황원내에 있는 경우, (b)는 기마병사가 방황원으로부터 밖으로 나간 경우의 모양을 도시한 도면.
도 19는 기마병사끼리의 교착상태를 설명하는 설명도이며, (a)는 정면에서 반발력을 받는 경우, (b)는 교착상태를 탈출하는 경우를 도시한 것이다.
<도면의 주요부분에 대한 부호의 설명>
1 : 기록매체 2 : 게임장치본체
3 : 입력장치 4 : 텔레비전 모니터
20 : CPU블록(제1, 제2, 제3가속도 연산수단, 위치연산수단)
이하, 도면을 참조하여 본 발명을 비디오 게임장치에 적용한 실시 형태에 대하여 설명한다. 본 실시형태에서는 캐릭터의 집단을 기마군단으로 하고, 미리 설정된 위치에 정렬시켜 목표점에 향하여 이동시켜 목표점에서 정렬시키는 경우를 상정한다.
(구성)
도 3에 도시한 바와 같이, 게임장치본체(2)는 장치 전체의 제어를 행하는제1 내지 제3 가속도 연산수단 및 위치연산수단으로서의 CPU블록(20)을 구비하고 있다. CPU블록(20)은 게임장치본체(2)내의 각부의 데이터전송을 주로 제어하는 SCU(System Control Unit), 중앙연산처리장치로서 고속 클록으로 작동하는 CPU, 게임장치본체(2)의 기본제어동작이 기억된 ROM, CPU의 작업영역으로서 작용함과 함께 기록매체(1)에 기록된 게임 프로그램을 일시적으로 기억하는 RAM 및 이들을 접속하는 버스로 구성되어 있다.
SCU(20)에는 외부버스(25)가 접속되어 있다. 외부버스(25)는 컨트롤 패드 등의 입력장치(3)에서의 입력을 수신하여 CPU블록(20)에 입력정보를 전송하는 입력수신부(21), 도시하지 않은 서브CPU를 구비하고 기록매체(1)에 기록된 게임 프로그램을 독취하여 CPU블록(20)에 전송하는 CD-ROM 드라이브 등의 매체독취부(22), 도시하지 않은 VRAM을 구비하고 CPU블록(20)에서 전송된 정보에 기초하여 화상정보를 작성하는 화상처리부(23), 및 도시하지 않은 서브CPU를 구비하고, 예를 들면 기마군단의 발굽소리 등의 음향을 처리하는 음향처리부(24)에 접속되어 있다. 또한, 입력수신부(21)는 입력장치(3)에, 화상처리부(23)는 텔레비전 모니터(4)에, 음향처리부(24)는 스피커(5)에 각각 접속되어 있다.
(동작)
다음에, 본 실시형태의 동작에 대하여 흐름도를 참조하여 설명한다. 또한, 게임장치본체(2)에는 전원이 접속되어 있고, 게임장치본체(2)를 작동상태로 하는 도시하지 않은 전원 스위치가 눌러지면, 도 4에 도시한 기마군단 이동루틴의 실행이 개시된다.
기마군단 이동루틴에서는 먼저, 단계 102에서, 기록매체(1)가 매체독취부(22)에 삽입되고 게임 프로그램이 독취가능한 상태가 될때까지 대기하고, 독취 가능한 상태가 되면, 다음 단계 104에 있어서, 매체독취부(22)에 게임 프로그램을 독취하고 독취된 게임 프로그램을 RAM에 전송시킨다. 다음 단계 106에서는, 입력장치(3)의 스타트 버튼(31)이 눌러질 때까지 대기한다. 스타트 버튼(31)이 눌러지면, 다음 단계 108에 있어서, 기마군단을 목표점에 이동시키기 위한 초기 설정을 행하는 군단이동초기 설정처리 서브루틴을 실행한다.
도 5에 도시한 바와 같이, 이 군단이동초기 설정처리 서브루틴에서는, 우선, 단계 202에서 기마군단을 정렬점에 정렬시키기 위한 정렬명령정보를 텔레비전 모니터(4)에 표시시킨다. 이 정렬명령 정보표시에서는, 단계 104에서 RAM에 격납된 디폴트 값(default value)을, 도 9에 도시한 바와 같이, 다이얼로그 형식으로 표시한다. 또한, 도 15(a)에 도시한 바와 같이, 도 9에 있어서 「리더위치」는 기마군단의 군단장(이하, 리더라고 한다)(903)의 가상공간상의 위치를 도시하고 있고, 「리더 방향」은 리더의 가상공간상의 수평선(902)으로부터 전방 방향을 향한 각도φ를 도시하고 있고, 「열수」 및 「행수」는 리더를 제외한 기마군단의 기마병사가 정렬했을 때의 열 및 행의 수를 도시하고 있고, 「열간격」 및 「행간격」은 기마병사간의 열 및 행의 3차원 가상공간상의 간격을 도시하고 있다. 따라서, 플레이어는 자기의 기호에 따라서 입력장치(3)를 조작하여 디폴트 값을 변경할 수 있다. 또한, 도 9에 있어서, 「취소」에 대응하는 입력장치(3)의 소정 버튼조작이 이루어지면, 변경한 값이 전부 디폴트 값으로 되돌려지게 되어 있다(이하, 도 10∼12에 있어서도 같다). 본 실시형태에서는 리더는 자동적으로 설정되지만 입력장치(3)에 의해 지정하도록 하여도 좋다. 다음 단계 204에서는, 도 9의 「OK」 버튼을 누르기 위한 입력장치(3)의 소정 버튼조작이 이루어지기까지 대기하고, 소정 버튼조작이 이루어지면, 단계 206에 있어서 정렬명령정보의 정렬명령값을 받아들여 RAM에 격납한다.
다음에, 단계 208에서는 기마군단의 도달목표인 목표명령정보를 텔레비전 모니터(4)에 표시시킨다. 목표명령정보의 표시는 단계 104에서 RAM에 격납된 디폴트 값을 도 10에 도시한 바와 같이, 다이얼로그형식으로 표시하는 것에 의해 행하여진다. 또한, 도 17에 도시한 바와 같이, 도 10에 있어서 「목표점」은 가상공간상의 기마군단의 도달목표점(1103)의 위치를 도시하고 있고, 「돌입각도」는 리더의 정렬위치로부터 전방으로 진행하는 방향을 0도로 했을 때에 목표점에 돌입할 때의 각도를 도시하고 있고, 「목표점 반경」은 목표점에서의 반경(1107)을 도시하고, 리더가 이 반경을 갖는 원(구)내에 도달했을 때에 리더가 목표점에 도달한 것으로 간주하기 위해서 설정하는 것으로, 「방황시 반경」은 목표점에서의 반경(1106)을 도시하고, 기마군단이 목표점에 도달한 후 이 반경(1106)으로 획정되는 원내를 기준으로 방황시키기 위해 설정하는 것이다. 다음 단계 210에서는 소정 버튼조작(OK 버튼의 누름)이 이루어질 때까지 대기하고, 소정 버튼조작이 이루어지면, 단계 212에 있어서 목표명령정보의 목표명령값을 받아들여 RAM에 격납한다.
다음에, 단계 214에서는 기마군단의 특성인 군단특성정보를 텔레비전 모니터(4)에 표시시킨다. 도 11에 도시한 바와 같이, 군단특성정보는 단계 104에서 RAM에 격납된 디폴트값을 다이얼로그형식으로 표시한 것으로, 군단특성정보의 변경이가능하게 되어 있다. 또한, 도 11에 도시한 「근거리 지각각도」 등의 의미에 관해서는 후술한다. 다음 단계 216에서는 소정 버튼조작이 이루어지기까지 대기하고, 소정 버튼조작이 이루어지면, 단계 218에 있어서 군단특성정보의 값을 받아들여 RAM에 격납하고, 군단이동초기 설정처리 서브루틴을 종료하고 도 4의 단계 110으로 진행한다.
단계 110에서는 도 15(a)에 도시한 바와 같이, 기마군단을 도 5의 단계 206에서 RAM에 격납한 정렬명령값에 따라서 기마군단을 정렬시킨다. 다음에, 단계 112에서는 1/60초(약16.6 밀리초)로 한번의 주기로 호출되는 수직귀선 주기에 의한 수직귀선 인터럽트처리가 이루어졌는가의 여부를 판단하는 것에 의해, 인터럽트의 발생여부를 판정한다. 단계 112에서 부정판정이 내려지면, 다음 단계 116에 있어서 시점을 변경하는 등의 입력수신부(21)로부터 전송된 입력정보에 대한 처리나 게임효과음을 음향제어부(24)에 합성시키기 위한 처리 등의 메인처리를 실행하고, 단계 118에 진행한다.
한편, 단계 112에서 긍정판정이 내려지면, 다음 단계 114에 있어서 기마군단을 정렬위치로부터 목표점을 향해서 이동시키는 군단이동처리 서브루틴이 인터럽트 처리시간 1/60초내에서 실행된다. 도 6에 도시한 바와 같이, 이 군단이동처리 서브루틴에서는 기마군단의 리더를 포함하는 기마병사 전원에 대하여 1명씩 최신 위치를 산출하여 전원의 최신위치 산출종료후, 화상처리부(23)로 전원의 최신위치정보를 전송하는 것이다.
우선, 단계 302에서 기마군단전원의 처리의 종료 여부를 판단하여, 부정판단의 경우에는, 다음 단계 304에 있어서 처리대상이 리더가 아닌가를 판단한다.
긍정판단일 때는, 단계 306에 있어서, 정렬점과 목표점과의 사이에서 리더가 거쳐간 궤적의 베제곡선을 산출하고, 베제곡선상을 이동하는 리더의 최신 위치를 연산한다. 여기서, 4점의 점열로 구성되는 베제곡선에 관해서 언급하면, 도 13(a)에 도시한 바와 같이, 지금, 정렬점 P0와 목표점 P3가 주어졌을 때에, 정렬점 P0에서 목표점 P3까지의 선분을 3등분한 그 1과 같은 길이이고, 정렬점 P0방향의 방향에 점 P1, 목표점 P3의 돌입각도의 방향과는 역방향으로 P2를 설정하여, 도 13(b)에 도시한 바와 같이, 매끄러운 곡선으로 한 것이지만 상세하게는 다음과 같다.
일반적인 4점(P0, P1, P2, P3)으로 형성된 베제곡선상의 위치를 도시한 위치 벡터 R(S)는, 4점에서 산출된 베제곡선 전체를 1로 했을 때의 상대위치인 베제변수를 S(0<= S<= 1)이라고 하면, 다음 식(1)으로 주어진다.
R(S)=(1-S)3P0+3S(1-S)2P1+3S2(1-S)P2+S3P3…(1)
3차원 좌표계의 경우는 상기 식(1)을 x, y, z의 각 좌표마다 구하면 되기 때문에, 다음 식(2)으로 주어진다.
Rx(S)=(1-S)3P0x+3S(1-S)2P1x+3S2(1-S)P2x+S3P3x
Ry(S)=(1-S)3P0y+3S(1-S)2P1y+3S2(1-S)P2y+S3P3y
Rz(S)=(1-S)3P0z+3S(1-S)2P1z+3S2(1-S)P2z+S3P3z…(2)
베제곡선을 R이라고 하면, 상기 식(1)(또는, 식(2))에서 베제곡선(R)은 위치벡터R(S)의 점열로 구성되어 있고, 베제변수(S)는 시간(t)의 증가와 함께 0에서부터 1로 잠시 증가하여 가기 때문에, 베제곡선(R)은 R= R(S(t))와 같이, 시간(t) 함수로 나타낼 수 있다.
베제곡선(R)을 거리라고 생각하면, 시간(t)에서 미분함으로써 속도vel(t)를 구할 수 있다. 또한, 연쇄정리에 의해, 속도 vel(t)는 다음 식(3)으로 주어진다. 더욱이, 식(3)을 변형하여 식(4)을 구할 수 있다.
…(3)
…(4)
식(4)의 우측 변의 분모는 위치벡터자신의 내적이 되고, vel(t)는 초기값0으로 후술하는 오일러의 법칙에 의해 수직귀선 인터럽트처리마다 순차적으로 구할 수 있다. dt는 수직귀선 인터럽트처리의 시간간격으로 상술한 바와 같이 1/60 초이다. 또한, dR/dS는 상기 식(2)을 S에 대하여 1회 미분하여 얻어지는 벡터(x, y, z)이다. 따라서, dS를 최종적으로 구할 수 있기 때문에, 베제곡선상의 리더의 위치를 연산할 수 있다. 이것에 의해, 리더는 베제곡선상의 궤도를 인터럽트처리마다 이동해 나가는 모양이 텔레비전 모니터(4)에 표시된다. 도 17을 참조하여 더욱 상술하면, 점열은 정렬점(1101), 점(1109), 점(1108), 목표점(1103)의 4점이며, 베제곡선은 곡선(1102)이다. 리더(903)는 베제곡선(1102)상을 인터럽트처리마다 목표점(1103)을 향해서 이동하게 된다. 또, 점열의 산출은 정렬점 또는 목표점이 변경된 경우에는 다시 산출된다. 단계 306에서 리더의 최신위치의 연산후, 군단이동처리 서브루틴은 단계 302에 되돌아간다.
한편, 단계 304에서 부정판단의 경우에는, 다음 단계 308에 있어서 다른 기마병사와의 접촉·충돌회피를 목적으로서 일정거리이상 이격하려고 하기 때문에 발생하는 제1의 가속도로서의 가속도를 구하는 근거리 가속도연산을 행한다. 이 근거리 가속도연산에서는, 우선, 도 5의 단계 218로 취입한 근거리 지각각도 및 근거리 지각반경을 읽어 낸다. 여기서, 근거리 지각각도란, 기마병사의 현재의 얼굴의 방향에서 보이는 근방의 시계의 각도를 말한다, 도 11의 영역(801)에 도시한 바와 같이, 본 실시형태에서는 190도가 디폴트 값으로 되어 있다. 또한, 근거리 지각반경은 근거리 지각각도에서 기마병사가 보이는 근방의 거리를 말한다, 도 11의 영역(801)에 도시한 바와 같이, 본 실시형태에서는 3m가 디폴트 값으로 되어 있다. 다음에, 전회의 수직귀선 인터럽트처리시(1/60초전)에 RAM에 기억한 다른 기마병사의 위치를 읽어 내어, 다른 기마병사가 근거리 지각각도 및 근거리 지각반경에서 획정되는 제1의 영역으로서의 근거리 영역내에 있느냐의 여부를 판단한다.
다른 기마병사가 있는 경우에는, 그 기마병사와의 거리를 구하고, 그 거리에 대응하는 반발력을 구한다. 상술한 바와 같이, 근거리에서는 다른 기마병사와의 접촉·충돌회피를 목적으로 하고 있기 때문에, 다른 기마병사가 근접하고 있을 때는급격하게 그 기마병사로부터 이격되도록 하는 것이 바람직한 것인바, 도 14에 도시한 바와 같이, 세로축에 반발력, 가로축에 거리를 두었을 때에, 거리와 반발력의 관계는 예를 들면 2차함수 F2와 같이 거리가 짧은 경우는 급격하게 반발력이 증가하도록 변화되는 것으로 하여 연산한다. 따라서, 거리가 0의 경우의 반발력은, 도 11의 영역(801)에서 주어진 근거리 최대반발력의 값이 되고, 거리가 근거리 지각반경과 같은 경우는, 반발력은 0이 된다. 구한 반발력을 질량으로 나눈값을 가속도로 간주하고(도 11의 영역(801)의 단위계 참조), 당해 다른 기마병사로부터 자기에게 향하는 벡터와의 곱을, 각 성분αx, αy, αz마다 구하고, 이것을 근거리 가속도로 한다. 그리고, 또 다른 기마병사가 근거리 영역내에 있느냐의 여부를 판단하고, 있는 경우에는 마찬가지로 하여 반발력을 구하고, 구한 반발력으로부터 가속도를 구하고, 먼저 구한 근거리 가속도에 각 성분 x, y, z 마다 가산하여 근거리 가속도로 하여 RAM에 격납하고 단계 310으로 진행한다.
한편, 다른 기마병사가 근거리 영역내에 없는 경우에는, 거리가 근거리 지각반경과 같은 경우와 마찬가지로, 반발력은 0이기 때문에, 근거리 가속도의 각 성분αx, αy, αz를 0으로 하여, RAM에 격납하고 단계 310으로 진행한다.
단계 310에서는, 근방의 기마병사와 같은 속도로 되려고 하기 때문에 발생하는 제2의 가속도로서의 가속도를 구하는 중거리 가속도연산을 한다. 이 중거리 가속도연산에서는, 우선, 단계 218에서 취입한 중거리 지각각도 및 중거리 지각반경을 읽어 낸다. 여기서, 중거리 지각각도는 기마병사의 현재의 얼굴의 방향에서 보이는 중거리의 시계의 각도를 말한다, 도 11의 영역(802)에 도시한 바와 같이, 본 실시형태에서는 근거리 지각각도보다 작은 170도가 디폴트 값으로 되어 있다. 또한, 중거리 지각반경은 중거리 지각각도에서 기마병사가 보이는 거리를 말한다, 도 11의 영역(802)에 도시한 바와 같이, 본 실시형태에서는 근거리 지각거리보다 큰 7m가 디폴트 값으로 되어 있다. 다음에, 전회의 수직귀선 인터럽트처리시(1/60초전)에 RAM에 기억한 다른 기마병사의 위치를 읽어 내어, 다른 기마병사가 중거리 지각각도 및 중거리 지각반경으로 획정되는 제2의 영역으로서의 중거리 영역내에 있느냐의 여부를 판단한다.
중거리 영역내에 다른 기마병사가 없는 경우에는, 최대속도로 리더를 추적시키기 위해서, 우선, 리더에의 방향벡터(x, y, z)를 구한다. 여기서, 방향벡터는 크기(길이)에 대해서 의미를 가지지 않는 단위벡터로 방향만이 의미를 가지는 벡터(x, y, z)를 말한다. 리더(leader)에의 방향벡터(x, y, z)는 리더의 위치(x, y, z)로부터 자기의 위치(x, y, z)의 차를 구하여, 단위벡터화 함으로써 얻을 수 있다. 다음에, 다음의 식(5)에 의해 가속도를 연산하고, 후술하는 오일러의 법칙에 의해 위치를 연산하여 RAM에 격납하고 단계 312로 진행한다.
가속도(x, y, z)={(리더에의 방향벡터(x, y, z)× 최대속도)
-현재의 속도(x, y, z)}/속도동일화시간 … (5)
한편, 중거리 영역내에 다른 기마병사가 있는 경우에는, 다음 식(6)에 의해 중거리 영역내에 있는 다른 기마병사의 평균속도에 맞추고자 하는 가속도를 연산하고, 후술하는 오일러의 법칙에 의해 위치를 연산하여 RAM에 격납하고 단계 312로진행한다. 또, 식(6)에 있어서, 속도동일화시간은 이동속도로부터 가속도를 구할 때에 사용되는 시간 변수를 말하고, 본 실시형태에서는 약0.3초를 디폴트 값으로 하고있다(도 11의 영역(804)참조).
평균속도(x, y, z)= 중거리 영역내에 있는 기마병사의 속도의 총합(x, y, z)
/중거리 영역내에 있는 기마병사수
가속도(x, y, z) ={평균속도(x, y, z)
-현재의 속도(x, y, z)}/속도동일화시간 …(6)
단계 312에서는, 기마병사의 진행방향에 있는 먼 거리의 기마병사와의 접촉을 회피하기 위해서 진행방향을 변경하고 전망을 잘하기 위해서 발생하는 제3의 가속도로서의 가속도를 구하는 원거리 가속도연산을 행한다. 이 원거리 가속도연산에서는, 우선, 단계 218에서 취입한 원거리 지각각도 및 원거리 지각반경을 읽어 낸다. 여기서, 원거리 지각각도는 기마병사가 전방을 향하여 진행할 때의 먼 거리의 시계의 각도를 말한다, 도 11의 영역(803)에 도시한 바와 같이, 본 실시형태에서는 중거리 지각각도보다 작은 30도가 디폴트 값으로 되어 있다. 또한, 원거리 지각반경은 원거리 지각각도로 기마병사가 보이는 거리를 말한다, 도 11의 영역(803)에 도시한 바와 같이, 본 실시형태에서는 중거리 지각반경보다 큰 15m로 되어 있다. 다음에, 전회의 수직귀선 인터럽트처리시에 RAM에 기억한 다른 기마병사의 위치를 읽어 내어, 다른 기마병사가 원거리 지각각도 및 원거리 지각반경으로 획정되는 제3의 영역으로서의 원거리 영역내에 있느냐가의 여부를 판단한다.
다른 기마병사가 있는 경우에는, 그 기마병사와의 거리를 구하고, 그 거리에대응하는 반발력을 구한다. 원거리에서는 근거리의 경우와 같이 급격하게 근방의 기마병사로부터 이격되도록 할 필요는 없기 때문에, 도 14에 도시한 바와 같이, 세로축에 반발력, 가로축에 거리를 두었을 때에, 거리와 반발력의 관계는 예를 들면 일차 함수 F1과 같이 변화되는 것으로 하여 연산한다. 따라서, 거리가 0인 경우의 반발력은, 도 11의 영역(803)에서 부여한 원거리 최대반발력의 값이 되고, 거리가 원거리 지각반경과 같은 경우는, 반발력은 0이 된다. 구한 반발력과 당해 다른 기마병사로부터 자기에게 향하는 벡터와의 곱을 각 성분 x, y, z 마다 구하여, 이것을 원거리 가속도로 한다. 그리고, 또 다른 기마병사가 원거리 영역내에 있느냐의 여부를 판단하여, 있는 경우에는 마찬가지로 하여 반발력을 구하고, 구한 반발력으로부터 가속도를 구하여, 먼저 구한 원거리 가속도에 각 성분 x, y, z 마다 가산하여 원거리 가속도로 하여 RAM에 격납하고 단계 314에 진행한다.
한편, 다른 기마병사가 원거리 영역내에 없는 경우에는, 거리가 원거리 지각반경과 같은 경우와 마찬가지로, 반발력은 0이기 때문에, 원거리 가속도의 각 성분αx, αy, αz를 0으로 하여 RAM에 격납하고 단계 314에 진행한다.
단계 314에서는 RAM에 격납한 근거리 가속도, 중거리 가속도 및 원거리 가속도를 읽어 내어, 각 성분 x, y, z 마다 가산하여 총합가속도를 구하여, 다음 단계 316에 있어서 최신속도 및 최신위치를 연산하여 RAM에 격납하고 단계 302로 되돌아간다. 여기서, 현재의 시간을 t, 경과시간을 δt, 속도 V(Vt+δt:시각t+δt 에 있어서의 속도, Vt:시각t에 있어서의 속도), 가속도를 α(αt:시각t에 있어서의 가속도), 위치를 P(Pt+δt:시각t+δt에 있어서의 위치, Pt:시각t에 있어서의 위치)라고 하면, 최신속도 및 최신위치는 다음 식(7)에 도시한 오일러의 법칙을 이용한 운동방정식에 의해 얻을 수 있다.
Vt+δt= Vt+ αtδt
Pt+δt= Pt+ Vtδt+ 0.5αtδt 2…(7)
따라서, 식(7)로부터, 최신속도 및 최신위치는 최신속도= 전회속도+ 경과시간×가속도, 최신위치= 전회위치+ 경과시간×(속도+ 0.5×경과시간×가속도)로서 구할 수 있다. 본 실시형태의 3차원 좌표계에서는, 하기 식(8)에 도시한 바와 같이, 인터럽트마다에, 최신가속도를 3차원 좌표축 x, y, z의 각 성분마다 구하고, 최신속도 및 최신위치를 산출하여, 이들 최신속도 및 최신위치의 값을 RAM에 기억한다(이하, 최신속도 및 최신위치를 RAM에 기억하는 것에 대하여는 설명을 생략한다).
Vt+δtx= Vtx+ αtxδt
Pt+δtx= Ptx+ Vtxδt+ 0.5αtxδt 2
Vt+δty= Vty+ αtyδt
Pt+δty= Pty+ Vtyδt+ 0.5αtyδt 2
Vt+δtz= Vtz+ αtzδt
Pt+δtz= Ptz+ Vtzδt+ 0.5αtzδt 2…(8)
단계 302에 있어서 긍정판단된 경우에는, 즉, 기마군단전원의 최신위치의 산출이 종료한 경우에는, 다음 단계 318에서 기마군단전원의 최신위치 데이터를 화상처리부(23)에 전송하고, 인터럽트에 의한 군단이동처리 서브루틴을 종료하고 도 4의 단계 118에 진행한다.
이것에 의해, 텔레비전 모니터(4)에는 1/60초마다 기마군단의 이동상태가 표시된다. 군단이동의 모양을, 설명을 간단히 하기 위해서 2차원 가상공간으로 한 도 15을 참조하고 설명하면, 리더는 리더위치:(x, y)=(0, 0), 리더방향 φ:90도, 목표점:(x, y)=(0, 150), 돌입각도: 90도로 설정되어 있고, 도 15(a)는 단계 110에서 기마군단이 정렬했을 때의 상태이다. 리더(903)가 이동하면, 우선 그 배후의 기마병사가 그것을 아는 것처럼 추종한다. 기마군단후방의 기마병사는 아직 주위가 붐비고 있어 곧바로는 이동할 수 없기 때문에, 다소의 넓이를 가지고 대기하고 있다(도 15(b)). 주위에 다른 기마병사가 적어지면, 흩어진(산개한) 상태로 이동해 간다(도 15(c)). 따라서, 플레이어가 텔레비전 모니터(4)상에 표시된 기마군단의 이동 상황을 보면, 각각의 기마병사는 지각각도, 지각반경, 최대반발력 등의 설정값에 따라서 독자적으로 판단하여 행동하고 있는 것 같이 보인다. 또한, 도 16은 리더를 리더위치:(x, y)=(-20, -10), 리더방향 φ:80도, 목표점:(x, y)=(20, 200), 돌입각도: 80도로 설정한 것이고, 텔레비전 모니터(4)에 (a),(b),(c)의 순으로 기마군단이 이동하는 모양을 도시한 것이다.
도 4의 단계 118에서는, 리더가 목표점에 도달하였는지의 여부를, 리더가 목표점 반경내에 들어 갔는가의 여부를 판단하는 것에 의해 판정한다. 부정판정일 때는, 단계 112으로 되돌아가, 상술한 바와 같이 기마군단의 이동이 진행되고, 긍정판정일 때는, 다음 단계 119에서 후술하는 바와 같이 플래그로서 기능하는 k를 0으로 하고, 다음에 단계 120에서, 단계 112와 같이, 1/60초(약16.6 밀리미터초)에 한번의 주기로 호출되는 수직귀선주기에 의한 수직귀선 인터럽트처리가 되는지의 여부를 판단하는 것에 의해, 인터럽트가 발생하였는지의 여부를 판정한다. 단계 120에서 부정판정이 내려지면, 다음 단계 122에 있어서 단계 116과 같은 메인처리를 실행하고, 단계 126에 진행한다. 한편, 단계 120에서 긍정판정이 내려지면, 다음 단계 124에서 기마군단전원이 목표점근방을 방황하는 방황처리 서브루틴이 인터럽트에 의해 1/60초 이내로 실행된다.
도 7에 도시한 바와 같이, 이 방황처리 서브루틴에서는, 우선, 단계 404에서 기마군단전원에 대하여 방황기준점을 설정한다. 이 방황기준점에 대하여는 도 17을 참조하여 설명하면, 목표점(1103)을 중심으로 하는 방황반경(1107)에 의해 획정되는 방황원(1105)내의 임의의 점이며, 다른 기마병사의 방황기준점과의 중복을 피하여 기마병사마다 임의로 선정된 점이다. 다음 단계 406에서는, k가 1인지의 여부를 판단하여, 긍정판단일 때는 단계 422으로 진행하고, 부정판단일 때는, 다음 단계 408에서 기마병사전원의 처리가 종료하였는지의 여부를 판단한다. 단계 408에서 부정판단된 경우에는, 다음 단계 410에서 처리대상이 리더인지의 여부를 판단한다.
단계 410에서의 판단이 긍정판단일 때는, 단계 412에서, 다음 식(9)에 의해가속도를 연산하고 이 가속도에 단계 308에서 구한 바와 같이 근거리 가속도를 구하여 각 성분 x, y, z 마다 가산한 총합가속도를 산출하여, 현재의 자기 방향벡터를 RAM에 기억하고, 다음 단계 414에서 상술한 오일러의 법칙에 의해 최신위치를 연산한다.
가속도(x, y, z)={(현재의 자기 방향벡터(x, y, z)×방황시속도)
-현재의 속도(x, y, z)}/속도동일화시간 …(9)
다음 단계 416에서는, 단계 414에서 연산한 리더의 최신위치가 방황원외인지의 여부를 판단하여, 부정판단일 때는 단계 406에 되돌아가고, 긍정판단일 때는 다음 단계 418에 있어서 k를 1로서 단계 406에 되돌아간다. 이 k는 기마군단전원이 방황상태에 들어 갔는지의 여부를 도시한 플래그이며, 리더가 일단 방황원의 범위외로 나가면 k는 0에서 1로 되고 기마군단전원이 방황상태로 들어간다.
단계 410에서의 판단이 부정판단일 때는, 단계 420에 있어서 단계 412와 마찬가지로 가속도를 연산하여 방향벡터를 기억하고, 단계 421에서 최신위치를 연산하고 단계 406으로 되돌아간다.
한편, 단계 408에서 긍정판단이 되었을 때는, 기마군단전원의 처리가 종료했기 때문에, 단계 434에서 기마군단전원의 최신위치 데이터를 화상처리부(23)에 전송하고 방황처리 서브루틴을 종료하고 도 4의 단계 126으로 진행한다. 이것에 의해, 도 17에 도시한 바와 같이, 리더(903)가 소정의 돌입각도로 방황원(1104)내에 도달하면, 리더(903)는 궤적(1110)으로 도시한 소정의 돌입각도에서 방황원(1104)에 돌입한 연장방향으로 방황시의 속도에 일치시키는 가속도로 이동하고, 기마병사도 리더에 추종하여 방황시의 속도에 일치시키는 가속도로 이동한다.
다음에 단계 422에서는 기마군단전원의 처리가 종료하였는지의 여부를 판단하고, 부정판단의 경우에는, 다음 단계 424에서 처리대상 기마병사의 전회 RAM에 격납한 위치를 읽어 내고, 다음 단계 426에 있어서 해당 처리대상 기마병사가 방황원외에 있는지의 여부를 판단한다. 부정판단일 때는, 다음 단계 428에서 단계 412와 마찬가지로 가속도를 연산하고 또한 오일러의 법칙으로 위치를 연산하여 현재의 방향벡터를 RAM에 기억하여 단계 432로 진행하고, 긍정판단일 때는, 단계 430에서 최대속도로 방황기준점을 향하여 방황원내에 들어가기 위한 가속도 및 오일러의 법칙에 의해서 위치를 연산하고 단계 432로 진행한다.
단계 430에서의 가속도의 연산에서는, 우선, 방황기준점(x, y, z)과 현재의 위치(x, y, z)와의 차이를 구하여 방향벡터를 산출하고, 다음 식(10)에 의해 가속도를 연산한다. 다음에, 이 가속도에 단계 308에서 구한 바와 같이 근거리 가속도를 구하여 각 성분 x, y, z 마다 가산한 총합가속도를 연산한다.
가속도(x, y, z)={(현재의 자기 방향벡터(x, y, z)× 최대속도)
-현재의 속도(x, y, z)}/속도동일화시간 …(10)
이것에 의해, 도 18(a)에 도시한 바와 같이, 기마병사(1203)는 방황원(1105)을 느린 속도로 방황하고, 도 18(b)에 도시한 바와 같이, 기마병사(1203)가 방황원(1105)으로부터 밖으로 전회(前回) 나온 경우에는, 기마병사(1203)는 기마병사(1203)에 대하여 단계 404에서 설정된 방황기준점(B)을 향하여 방황원(1105)내로 들어 갈 때까지 최대속도로 되돌아가려고 한다. 따라서, 방황상태에서는 기마군단의 각 기마병사는 대체로 방황원내를 느린 속도로 이동하게 된다.
다음 단계 432에서는, 도 8에 도시한 교착처리 서브루틴이 실행된다. 이 교착처리 서브루틴에서는, 예를 들면, 도 19(a)에 도시한 바와 같이, 기마병사(1301)의 근거리 영역내에 기마병사(1302)가 직선상에 기마병사(1301)방향으로 진행하고자 하는 경우, 바꾸어 말하면, 정면에서 반발력을 받은 경우의 처리가 실행된다.
도 8에 도시한 바와 같이, 교착처리 서브루틴에서는, 우선, 단계 502에 있어서 근거리 영역내에 있는 다른 기마병사가 자기에게 향한 반발력이 있는지의 여부를 판단한다. 부정판단의 경우에는, 교착 서브루틴을 종료하고 도 7의 단계 422에 되돌아가고, 긍정판단의 경우에는, 다음 단계 504에서 θ도 회전시켜, 단계 506에서 회전각θ 및 그 방향의 단위벡터를 방향벡터로서 RAM에 격납하고 회전각θ 방향으로 진행하고자 한다. 그렇지만, 도 19(a)에 도시한 바와 같이, θ도 회전시킨 방향에도 자기에게 향한 반발력을 갖는 기마병사(1303)가 있는 경우에는 근거리반발력이 작용하기 때문에 진행할 수 없고, 다음의 수직귀선 인터럽트에서는 -θ도 회전시키게 되어 기마병사(1301)는 움직일 수 없게 되어 버린다. 그래서, 다음 단계 508에서는, 현재를 포함하여 과거 8회의 수직귀선 분할에서 RAM에 기억한 각도의 총합이 거의 0인지의 여부를 판단하는 것에 의해, 교착상태, 즉, 기마병사가 움직일 수 없는 상태에 있는가의 여부를 판정한다. 교착상태가 아니라고 판정된 경우에는, 교착처리 서브루틴을 종료하고 도 7의 단계 422에 되돌아가고, 교착상태라고 판정된 경우에는, 다음의 단계 510에서 근거리 영역내에 있는 다른 기마병사 모두와 자기의 좌표차를 구하고, 각각 단위 벡터화 한 방향벡터를 연산하고, 그 총합을구하고, 또한 총합을 구한 벡터를 단위 벡터화하여 방향벡터로 하고, 이 방향벡터를 자기 방향벡터(x, y, z)로 한다. 이것에 의해, 도 19(b)에 도시한 바와 같이, 기마병사(1301)는 진행방향을 바꾸기 때문에, 근거리 영역내에 있는 다른 기마병사(1302, 1303)와의 교착상태에서 빠져 나가 게임이 진행되게 된다. 다음 단계 512에서는 단계 510에서 연산한 방향벡터(x, y, z)에 최대가속도를 걸어 가속도로 하고, 단계 514에서 오일러의 법칙에 의해 최신속도 및 최신위치를 구하고, 교착처리 서브루틴을 종료하여 도 7의 단계 422로 되돌아간다.
도 7의 단계 422에서 긍정판단일 때는, 단계 434에 있어서 최신위치 데이터를 화상처리부(23)에 전송하여 방황처리 서브루틴을 종료하여 도 4의 단계 126에 진행한다.
단계 126에서는, 방황상태에 있는 기마군단을 정렬시키기 위해서, 플레이어로부터 입력장치(3)에 의해 정렬명령을 수신하였는지의 여부를 판단하여, 부정판단일 때는 단계 120에 되돌아가고, 긍정판단일 때는 다음 단계 128에 있어서, 예를 들면, 도 12에 도시한 다이얼로그를 텔레비전 모니터(4)에 표시시킨다. 다음 단계 130에서는, 플레이어가 리더방향을 디폴트 값인 채로 또는 변경하여 입력장치(3)에서 OK 버튼을 누르는 조작이 행하여질 때까지 대기하고, 눌러지면, 단계 132에서 리더의 방향을 취입하고, 다음 단계 134에 있어서 기마군단을 정렬시켜 기마군단이동 루틴이 종료한다. 또한, 이 정렬점은 목표명령의 변경이 없는 한(도 10의 다이얼로그는 언제나 호출할 수 있기 때문에 목표점의 변경이 가능), 단계 212에서 취입한 목표점이 된다.
이상과 같이 본 실시형태에서는, 기마군단의 기마병사는 다른 기마병사에게 너무 가까이 갔을 때에 일정거리로 이격되고자 하는 근거리 가속도와, 근처에 있는 기마병사와 달리는 속도 및 방향을 맞추려고 하는 중거리 가속도와, 진행방향을 변경하고 전망을 좋게 하고자 하는 원거리 가속도와를 가산한 총합가속도로 리더에 추종하기 때문에, 리더의 이동에 대하여 기마병사는 단순히 추종표현이라고는 할 수 없는, 리더와 직접관계가 없는 근방의 각 기마병사의 상호작용을 섬세하게 표현하면서, 마치 각각의 지각각도, 지각반경, 최대반발력 등의 설정값에 기초하여 독자적으로 판단하고 이동하고 있는 것 같이 보인다. 이 때문에, 현실의 새나 말 등의 동물의 무리(집단)와 마찬가지로, 기마군단의 중간정도로부터 후방에 걸쳐서 이동하고 있는 기마병사는 리더의 움직임에 추종하여 이동하고 있는 것이 아니라 주위의 기마병사의 움직임에 따라서 속도나 방향을 맞추면서 이동하기 때문에, 기마군단의 이동 동작을 보다 리얼하게 표현할 수 있다. 따라서, 플레이어는 가상공간상에 리얼하게 표현된 기마군단의 이동동작을 현실감을 가지고 즐길 수 있다.
또한, 목표점 도달후 각 기마병사에 대하여 임의로 방황기준점을 설정하여 방황상태가 되었을 때에, 방황원내에서는 느린 속도로 방황하고, 방황원외로 나간 때에는 방황기준점으로 되돌아가도록 했기 때문에, 현실의 야생의 말이 군집하고 있는 것과 같은 상태를 표현할 수 있고, 기마군단이 새로운 명령(정렬명령)을 받을 때까지 목표점근방에 대기하고 있는 모양을 리얼하게 표현할 수 있다.
더욱이, 교착상태로 되었을 때에는, 기마병사를 뒷걸음질시키지 않고 회전하여 교착상태로부터 탈출하도록 했기 때문에, 기마가 뒷걸음질을 할 수 없는 습성을 리얼하게 표현할 수 있다. 따라서, 본 실시형태의 각 동작은, 동물이 실제로 행하는 동작을 거의 완전하게 재현하고 있다고 말할 수 있다.
또한, 본 실시형태에서는 게임 프로그램을 기록한 기록매체(1)를 매체독취부(22)로 읽어 내는 것에 의해 RAM에 프로그램을 전송하도록 했지만, 매체독취부(22)를 구비하지 않고 ROM에 게임 프로그램을 기억시켜 이 ROM에서 게임 프로그램을 읽어 내도록 하여도 좋다. 이와 같이 하면 게임전용기로 할 수 있다. 또한, 본 실시형태에서는, 기록매체로서 CD-ROM을 사용하는 것을 예로 설명했지만, CPU블록(20)의 RAM에 로드가능한 ROM카트리지나 대용량의 플로피 디스크, 마그넷 옵티컬 디스크(magnet optical disk) 등이라도, 이들의 매체독취부를 구비하고 있으면 본 발명을 적용할 수 있는 것은 말할 필요도 없다.
또한, 본 실시형태에서는 다이얼로그에 의해 군단이동을 위한 초기 설정을 행하도록 했지만, 실제의 게임에 있어서는, 예를 들면, 입력장치(3)를 이용하여 화면상에 표시되어 있는 커서를 이동시켜 기마군단의 이동을 개시하는 정렬위치 등을 지정하는 것에 의해 자동적으로 설정되도록 하여도 좋다. 또한, 게임의 진행상황에 따라서 모든 초기 설정을 자동적으로 행하도록 하여도 좋다.
더욱이 또한, 본 실시형태에서는, 일정간격으로 행하기 위해서 수직귀선 주기의 인터럽트처리내에서 기마병사의 가속도, 위치연산을 하도록 했지만, 타이머 인터럽트처리내나 메인처리내에서 행하여지도록 하여도 좋다. 또한, 본 실시형태에서는, 총합가속도를 구한 후 최신위치의 연산을 오일러의 법칙에 의하여 행한 예를나타내었지만, 근거리, 중거리, 원거리 가속도를 연산할 때마다 오일러의 법칙을 이용하여 위치를 순차적으로 산출해 가도록 하여도 좋다.
또한, 본 실시형태에서는 3차원좌표축으로 설명했지만, z 축의 값을 0으로서 2차원좌표축에 적용하는 것도 가능하고 첨부된 특허청구의 범위내에서 다른 여러가지의 실시형태를 채용할 수 있음은 당업자에게는 명백하다.

Claims (11)

  1. 3차원 가상공간상에 표현되고 리더를 갖는 복수의 캐릭터가 집단을 형성하여 미리 설정된 목표점으로 이동하는 집단 캐릭터 이동방법에 있어서, 소정시간내에 상기 캐릭터의 미리 설정된 제1의 영역내에 다른 캐릭터가 존재할 때에 상기 다른 캐릭터로부터 소정의 거리로 이격되기 위한 제1의 가속도 및 상기 캐릭터의 미리 설정된 제2의 영역내에 상기 리더에 추종하도록 이동하는 다른 캐릭터가 존재할 때에 상기 다른 캐릭터의 이동하는 속도 및 방향을 맞추기 위한 제2의 가속도를 각각 연산하고, 상기 연산된 제1 및 제2의 가속도를 상기 3차원 가상공간상의 x, y, z 성분마다 가산한 총합가속도에 기초하여 상기 캐릭터의 상기 3차원 가상공간상의 위치를 연산하는 단계를 포함하는 집단 캐릭터 이동방법.
  2. 제 1항에 있어서,
    상기 제1 및 제2의 영역은 상기 캐릭터를 중심으로 하는 소정의 꼭지각 및 소정의 반경으로 획정되는 구 또는 원이며, 상기 제1의 영역은 상기 제2의 영역에 비하여 상기 꼭지각이 크고, 그리고 상기 반경은 작은 것을 특징으로 하는 집단 캐릭터 이동방법.
  3. 제 1항에 있어서,
    상기 캐릭터의 미리 설정된 제3의 영역내에 다른 캐릭터가 존재할 때에 상기다른 캐릭터로부터 소정의 거리로 이격되기 위한 제3의 가속도를 연산하고, 상기 연산된 제1 내지 제3의 가속도를 상기 3차원 가상공간상의 x, y, z 성분마다 가산한 총합가속도에 기초하여 상기 캐릭터의 상기 3차원 가상공간상의 위치를 연산하는 단계를 더 포함하는 집단 캐릭터 이동방법.
  4. 제 3항에 있어서,
    상기 제1 내지 제3의 영역은 상기 캐릭터를 중심으로 하는 소정의 꼭지각 및 소정의 반경으로 획정되는 구 또는 원이며, 상기 제1의 영역은 상기 제2의 영역에 비하여 그리고 상기 제2의 영역은 상기 제3의 영역에 비하여, 상기 꼭지각은 크고, 그리고 상기 반경은 작은 것을 특징으로 하는 집단 캐릭터 이동방법.
  5. 제 3항 또는 4항에 있어서,
    상기 제1의 가속도는 상기 캐릭터와 상기 다른 캐릭터와의 거리가 작을 때는 급격히 증가하도록 변화되고, 상기 제3의 가속도는 상기 캐릭터와 상기 다른 캐릭터와의 거리가 작을 때는 일정비율로 증가하도록 변화되는 것을 특징으로 하는 집단 캐릭터 이동방법.
  6. 제 1항 내지 5항의 어느 한 항에 있어서,
    상기 캐릭터가 미리 설정된 정보에 기초하여 소정의 영역안을 소정의 속도로 방황하는 방황 단계를 더 포함하는 집단 캐릭터 이동방법.
  7. 제 6항에 있어서,
    상기 캐릭터가 상기 소정의 영역밖으로 이동했을 때에 상기 소정의 영역안으로 임의로 정해진 기준점을 향하여 상기 소정영역안으로 되돌아갈 때까지 상기 소정의 속도보다 빠른 속도로 이동하는 것을 특징으로 하는 집단 캐릭터 이동방법.
  8. 제 1항 내지 7항의 어느 한 항에 있어서,
    상기 캐릭터가 다른 캐릭터와 교착하여 이동불능이 되는 교착상태로 되었을 때에 상기 교착상태를 탈출하도록 상기 캐릭터의 진행방향을 바꾸는 교착상태탈출 단계를 더 포함하는 집단 캐릭터 이동방법.
  9. 제 1항 내지 8항의 어느 한 항에 기재된 집단 캐릭터 이동방법을 기록한 컴퓨터 독취 가능한 기록매체.
  10. 입력부를 조작하여 기록매체로부터 판독한 소프트웨어를 기억부로 로드 가능한 게임장치이고, 소정주기로 호출되고, 리더를 갖는 복수의 캐릭터가 집단을 형성하여 미리 설정된 목표점에 이동하는 집단 캐릭터의 각 캐릭터의 위치를 연산하는 위치연산부를 갖춘 게임장치에 있어서,
    상기 위치연산부가,
    상기 캐릭터의 미리 설정된 제1의 영역내에 다른 캐릭터가 존재할 때에 상기다른 캐릭터로부터 소정의 거리로 이격되기 위한 제1의 가속도를 연산하는 제1 가속도연산수단과,
    상기 캐릭터의 미리 설정된 제2의 영역내에 상기 리더에 추종하도록 이동하는 다른 캐릭터가 존재할 때에 상기 다른 캐릭터의 이동하는 속도 및 방향을 맞추기 위한 제2의 가속도를 연산하는 제2 가속도연산수단과,
    상기 제1 및 제2 가속도연산수단으로 연산된 가속도를 상기 3차원 가상공간상의 x, y, z 성분마다 가산한 총합가속도에 기초하여, 상기 캐릭터의 상기 3차원 가상공간상의 위치를 연산하는 위치연산수단을 구비한 게임장치.
  11. 제 10항에 있어서,
    상기 캐릭터의 미리 설정된 제3의 영역내에 다른 캐릭터가 존재할 때에 상기 다른 캐릭터로부터 소정의 거리로 이격되기 위한 제3의 가속도를 연산하는 제3 가속도연산수단을 아울러 구비하고, 상기 위치연산수단은 상기 제1 내지 제3 가속도연산수단으로 연산된 가속도를 상기 3차원 가상공간상의 x, y, z 성분마다 가산한 총합가속도에 기초하여 상기 캐릭터의 상기 3차원 가상공간상의 위치를 연산하는 것을 특징으로 하는 게임장치.
KR10-2000-0045883A 1999-08-20 2000-08-08 집단 캐릭터 이동방법, 기록매체 및 게임장치 KR100383047B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11-233595 1999-08-20
JP23359599A JP3163496B2 (ja) 1999-08-20 1999-08-20 集団キャラクタ移動方法、記録媒体及びゲーム装置

Publications (2)

Publication Number Publication Date
KR20010050017A KR20010050017A (ko) 2001-06-15
KR100383047B1 true KR100383047B1 (ko) 2003-05-09

Family

ID=16957532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0045883A KR100383047B1 (ko) 1999-08-20 2000-08-08 집단 캐릭터 이동방법, 기록매체 및 게임장치

Country Status (8)

Country Link
US (1) US6525736B1 (ko)
EP (1) EP1078665A3 (ko)
JP (1) JP3163496B2 (ko)
KR (1) KR100383047B1 (ko)
CN (1) CN1178170C (ko)
GB (1) GB2356539A (ko)
HK (1) HK1032465A1 (ko)
TW (1) TW440456B (ko)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4355982B2 (ja) * 2000-03-30 2009-11-04 株式会社セガ 集団キャラクタの移動制御方法、集団キャラクタの移動制御を含む遊戯装置、遊戯成績の演算方法及び記録媒体
KR100458760B1 (ko) * 2000-08-29 2004-12-03 가부시끼가이샤 코에이 집단 캐릭터 표시방법, 기록매체 및 게임장치
JP3779869B2 (ja) * 2000-10-16 2006-05-31 株式会社ケー・エー・ジェー 仮想現実空間を表示する方法、仮想現実空間を表示するための装置、および単位仮想現実空間情報を記録した記録媒体
JP3780512B2 (ja) * 2002-07-30 2006-05-31 株式会社光栄 プログラム、記録媒体及びゲーム装置
US7681112B1 (en) 2003-05-30 2010-03-16 Adobe Systems Incorporated Embedded reuse meta information
US7530112B2 (en) * 2003-09-10 2009-05-05 Cisco Technology, Inc. Method and apparatus for providing network security using role-based access control
JP4735802B2 (ja) * 2003-10-23 2011-07-27 新世代株式会社 ゲーム装置、ゲームプログラム、及び、ゲーム装置の制御方法
JP4307310B2 (ja) * 2004-03-31 2009-08-05 任天堂株式会社 ゲーム装置及びゲームプログラム
US8448083B1 (en) 2004-04-16 2013-05-21 Apple Inc. Gesture control of multimedia editing applications
US20050231512A1 (en) * 2004-04-16 2005-10-20 Niles Gregory E Animation of an object using behaviors
US7805678B1 (en) 2004-04-16 2010-09-28 Apple Inc. Editing within single timeline
US7932909B2 (en) * 2004-04-16 2011-04-26 Apple Inc. User interface for controlling three-dimensional animation of an object
US8453065B2 (en) * 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US7490295B2 (en) * 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US7761800B2 (en) * 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US8302020B2 (en) * 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US8566732B2 (en) * 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
US7411590B1 (en) 2004-08-09 2008-08-12 Apple Inc. Multimedia file format
JP3822218B2 (ja) * 2004-09-21 2006-09-13 株式会社コナミデジタルエンタテインメント ゲームプログラム、ゲーム装置及びゲーム制御方法
KR100682849B1 (ko) 2004-11-05 2007-02-15 한국전자통신연구원 디지털 캐릭터 생성 장치 및 그 방법
JP3911511B2 (ja) * 2004-12-21 2007-05-09 株式会社光栄 キャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置
JP3880008B2 (ja) * 2004-12-21 2007-02-14 株式会社光栄 キャラクタ集団移動制御プログラム、記憶媒体及びゲーム装置
US8140975B2 (en) 2005-01-07 2012-03-20 Apple Inc. Slide show navigation
JP4040050B2 (ja) * 2005-03-30 2008-01-30 株式会社コナミデジタルエンタテインメント プログラム、キャラクタ制御方法、ならびに、キャラクタ制御装置
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
JP5025940B2 (ja) * 2005-10-26 2012-09-12 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システムおよび情報処理方法
US7743336B2 (en) * 2005-10-27 2010-06-22 Apple Inc. Widget security
US9104294B2 (en) * 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7752556B2 (en) * 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US8543824B2 (en) * 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US20070101279A1 (en) * 2005-10-27 2007-05-03 Chaudhri Imran A Selection of user interface elements for unified display in a display environment
JP4358181B2 (ja) * 2005-11-11 2009-11-04 任天堂株式会社 ゲームプログラムおよびゲーム装置
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US20070162850A1 (en) * 2006-01-06 2007-07-12 Darin Adler Sports-related widgets
JP4163718B2 (ja) * 2006-02-28 2008-10-08 株式会社コナミデジタルエンタテインメント オブジェクト表示装置、オブジェクト配置方法、および、プログラム
US8155682B2 (en) * 2006-05-05 2012-04-10 Research In Motion Limited Handheld electronic device including automatic mobile phone number management, and associated method
US8869027B2 (en) * 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
US20080125220A1 (en) * 2006-11-27 2008-05-29 Hironobu Sakaguchi System and method of a game that shares a specific property of a character with team members
KR100885996B1 (ko) 2006-12-02 2009-03-03 한국전자통신연구원 대규모 가상 군중 동작의 획득 및 편집 방법 및 그 장치
US20080168367A1 (en) * 2007-01-07 2008-07-10 Chaudhri Imran A Dashboards, Widgets and Devices
US20090005071A1 (en) * 2007-06-28 2009-01-01 Apple Inc. Event Triggered Content Presentation
US8954871B2 (en) * 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US20090021486A1 (en) * 2007-07-19 2009-01-22 Apple Inc. Dashboard Surfaces
JP4566221B2 (ja) * 2007-07-20 2010-10-20 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
US8667415B2 (en) * 2007-08-06 2014-03-04 Apple Inc. Web widgets
US8156467B2 (en) * 2007-08-27 2012-04-10 Adobe Systems Incorporated Reusing components in a running application
US8176466B2 (en) 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
JP5214215B2 (ja) * 2007-11-02 2013-06-19 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
KR100895199B1 (ko) * 2007-11-07 2009-04-24 에스케이 텔레콤주식회사 가상 공간에서의 캐릭터 이동 경로 설정 방법 및 시스템
US9619304B2 (en) 2008-02-05 2017-04-11 Adobe Systems Incorporated Automatic connections between application components
US8656293B1 (en) 2008-07-29 2014-02-18 Adobe Systems Incorporated Configuring mobile devices
US8245283B2 (en) * 2009-03-03 2012-08-14 International Business Machines Corporation Region access authorization in a virtual environment
US8913063B2 (en) * 2010-08-27 2014-12-16 Disney Enterprises, Inc. Pattern detection of avatars in a virtual environment
US10449457B2 (en) * 2011-04-20 2019-10-22 Disney Enterprises, Inc. System and method for dynamic matchmaking population herding
WO2013055320A2 (en) * 2011-10-11 2013-04-18 Empire Technology Development Llc Gathering path data from a massively multiplayer on-line role-playing game
JP5450718B2 (ja) * 2012-06-11 2014-03-26 株式会社スクウェア・エニックス ゲーム装置及びゲームプログラム
US8790178B1 (en) * 2012-11-15 2014-07-29 Kabam, Inc. Metric based conformance by character units to specified formations
JP6677437B2 (ja) * 2013-09-13 2020-04-08 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステム、及びゲーム処理方法
US10500488B2 (en) 2016-03-30 2019-12-10 Bloober Team S.A. Method of simultaneous playing in single-player video games
CN110314373B (zh) * 2019-07-08 2023-02-28 网易(杭州)网络有限公司 信息同步方法、装置、存储介质、处理器及服务器
CN112569598B (zh) * 2020-12-22 2024-07-30 上海幻电信息科技有限公司 目标对象控制方法及装置
US20230367463A1 (en) * 2022-05-11 2023-11-16 Supercell Oy Randomized movement control

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244743A (ja) * 1994-03-03 1995-09-19 Sega Enterp Ltd 画像表示方法及びその装置
JPH0863613A (ja) * 1994-08-18 1996-03-08 Hudson Soft Co Ltd ロールプレイングゲームにおける集団キャラクタ表示方法
KR19990029718A (ko) * 1997-09-11 1999-04-26 이리마지리 쇼우이치로 컴퓨터 게임 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244743A (ja) * 1994-03-03 1995-09-19 Sega Enterp Ltd 画像表示方法及びその装置
JPH0863613A (ja) * 1994-08-18 1996-03-08 Hudson Soft Co Ltd ロールプレイングゲームにおける集団キャラクタ表示方法
KR19990029718A (ko) * 1997-09-11 1999-04-26 이리마지리 쇼우이치로 컴퓨터 게임 장치

Also Published As

Publication number Publication date
JP2001056870A (ja) 2001-02-27
KR20010050017A (ko) 2001-06-15
CN1285571A (zh) 2001-02-28
US6525736B1 (en) 2003-02-25
CN1178170C (zh) 2004-12-01
EP1078665A3 (en) 2005-11-16
GB0018702D0 (en) 2000-09-20
GB2356539A (en) 2001-05-23
HK1032465A1 (en) 2001-07-20
TW440456B (en) 2001-06-16
EP1078665A2 (en) 2001-02-28
JP3163496B2 (ja) 2001-05-08

Similar Documents

Publication Publication Date Title
KR100383047B1 (ko) 집단 캐릭터 이동방법, 기록매체 및 게임장치
US7525546B2 (en) Mixture model for motion lines in a virtual reality environment
KR100280853B1 (ko) 화상 처리 방법, 화상 처리 장치 및 의사 체험 장치
Bourg et al. AI for game developers
KR100594558B1 (ko) 게임 장치, 게임 장치용 방법 및 컴퓨터 판독가능 매체
US10510189B2 (en) Information processing apparatus, information processing system, and information processing method
KR100786149B1 (ko) 캐릭터 집단이동 제어방법, 기록매체 및 게임장치
US10406438B2 (en) Controlling behavior of entities in funnel sections of a computer-represented environment
JPH08305891A (ja) 画像処理装置および画像処理方法
JP7232341B2 (ja) 情報の表示方法、装置、電子機器及びコンピュータプログラム
US20200139240A1 (en) Virtual reality collision interpretation
JP2001149655A (ja) 集団キャラクタ戦闘方法、記録媒体及びゲーム装置
EP2135648B1 (en) Game device, control method of game device and information storage medium
US6336864B1 (en) Game machine, method for checking hit and information storage medium
EP3796988B1 (en) Virtual camera placement system
US6425826B1 (en) Game machine and information storage medium
JPH11146978A (ja) 3次元ゲーム装置及び情報記憶媒体
JP6672047B2 (ja) プログラム及びコンピュータシステム
JP6727515B2 (ja) ゲームシステム、及びそれに用いるコンピュータプログラム
Zhu et al. Event-based automated refereeing for robot soccer
JP3995817B2 (ja) ゲーム機および情報記憶媒体
JP2005342360A (ja) 集団キャラクタ移動制御方法,記録媒体,シミュレーション装置及びゲーム装置
JP3765649B2 (ja) ゲーム装置及び情報記憶媒体
JP7423781B2 (ja) Vrアミューズメントプログラムおよび装置
JP2006116330A (ja) ゲーム画面の表示制御方法、キャラクタの移動制御方法およびゲーム機並びにプログラムを記録した記録媒体

Legal Events

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

Payment date: 20130423

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140422

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150420

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20160412

Year of fee payment: 14