발명을 실시하기
위한 최선의 형태
이하, 본 발명의 실시형태의 일례에 대해 도면에 기초하여 상세하게 설명한다. 또한, 여기에서는, 메세지 화상 표시 장치의 일 양태인 게임 장치에 본 발명을 적용했을 경우의 예에 대해 설명한다.
도 1 은, 본 발명의 실시형태에 관련되는 게임 장치의 하드웨어 구성을 나타내는 도면이다. 동 도면에 나타내는 게임 장치 (10) 는, 가정용 게임기 (11) 에 정보 기억 매체인 DVD-ROM (25) 및 메모리 카드 (28) 가 장착되고, 추가로 모니터 (18) 및 스피커 (22) 가 접속됨으로써 구성된다. 예를 들어, 모니터 (18) 에는 가정용 TV 수상기가 사용되고, 스피커 (22) 에는 그 내장 스피커가 사용된다.
가정용 게임기 (11) 는, 버스 (12), 마이크로 프로세서 (14), 화상 처리부 (16), 음성 처리부 (20), DVD-ROM 재생부 (24), 주기억 (26), 입출력 처리부 (30) 및 컨트롤러 (32) 를 포함하여 구성되는 공지된 컴퓨터 게임 시스템이다. 컨트롤러 (32) 이외의 구성 요소는 케이싱 내에 수용된다.
버스 (12) 는 어드레스 및 데이터를 가정용 게임기 (11) 의 각 부에서 주고 받기 위한 것이다. 마이크로 프로세서 (14), 화상 처리부 (16), 주기억 (26) 및 입출력 처리부 (30) 는, 버스 (12) 에 의해 상호 데이터 통신 가능하게 접속된 다.
마이크로 프로세서 (14) 는, 도시하지 않은 ROM 에 저장되는 오퍼레이팅 시스템, DVD-ROM (25) 으로부터 판독 출력되는 프로그램이나, 메모리 카드 (28) 로부터 판독 출력되는 데이터에 기초하여, 가정용 게임기 (11) 의 각 부를 제어한다. 주기억 (26) 은, 예를 들어 RAM 을 포함하여 구성되는 것이고, DVD-ROM (25) 으로부터 판독 출력된 프로그램이나 메모리 카드 (28) 로부터 판독 출력된 데이터가 필요에 따라 입력된다. 주기억 (26) 은 마이크로 프로세서 (14) 의 작업용로서도 사용된다.
화상 처리부 (16) 는 VRAM 을 포함하여 구성되어 있고, 마이크로 프로세서 (14) 로부터 보내지는 화상 데이터에 기초하여 VRAM 상에 게임 화면을 묘화한다. 그리고, 그 내용을 비디오 신호로 변환하여 소정의 타이밍으로 모니터 (18) 에 출력한다.
입출력 처리부 (30) 는, 음성 처리부 (20), DVD-ROM 재생부 (24), 메모리 카드 (28) 및 컨트롤러 (32) 에 마이크로 프로세서 (14) 가 액세스하기 위한 인터페이스이다. 입출력 처리부 (30) 에는, 음성 처리부 (20), DVD-ROM 재생부 (24), 메모리 카드 (28) 및 컨트롤러 (32) 가 접속된다.
음성 처리부 (20) 는 사운드 버퍼를 포함하여 구성되어 있고, DVD-ROM (25) 으로부터 판독 출력되고, 그 사운드 버퍼에 기억된 게임 음악, 게임 효과음, 메세지 등의 각종 음성 데이터를 재생하여 스피커 (22) 로부터 출력한다.
DVD-ROM 재생부 (24) 는, 마이크로 프로세서 (14) 로부터의 지시에 따라 DVD-ROM (25) 에 기록된 프로그램을 판독한다. 또한, 여기에서는 프로그램을 가정용 게임기 (11) 에 공급하기 위해서 DVD-ROM (25) 을 이용하는 것으로 하지만, CD-ROM 이나 ROM 카드 등, 다른 모든 정보 기억 매체를 이용하도록 해도 된다. 또, 인터넷 등의 데이터 통신망을 통하여 원격지로부터 프로그램을 가정용 게임기 (11) 에 공급하도록 해도 된다.
메모리 카드 (28) 는, 불휘발성 메모리 (예를 들어 EEPROM 등) 를 포함하여 구성된다. 가정용 게임기 (11) 는, 메모리 카드 (28) 를 장착하기 위한 복수의 메모리 카드 슬롯을 구비하고 있고, 복수의 메모리 카드 (28) 를 동시에 장착 가능하게 되어 있다. 메모리 카드 (28) 는, 이 메모리 카드 슬롯에 대해서 탈착 가능하게 구성되고, 예를 들어 세이브 데이터 등의 각종 게임 데이터를 기억시키기 위해서 사용된다.
컨트롤러 (32) 는, 플레이어가 각종 게임 조작의 입력을 하기 위한 범용 조작 입력 수단이다. 입출력 처리부 (30) 는 일정 주기마다 (예를 들어 1/60 초 마다) 컨트롤러 (32) 의 각 부의 상태를 스캔하고, 그 스캔 결과를 나타내는 조작 신호를 버스 (12) 를 통하여 마이크로 프로세서 (14) 에 건네준다. 마이크로 프로세서 (14) 는, 그 조작 신호에 기초하여 플레이어의 게임 조작을 판정한다. 가정용 게임기 (11) 는 복수의 컨트롤러 (32) 를 접속 가능하게 구성되어 있고, 각 컨트롤러 (32) 로부터 입력되는 조작 신호에 기초하여, 마이크로 프로세서 (14) 가 게임 제어를 실시하도록 되어 있다.
도 2 는 컨트롤러 (32) 의 일례를 나타내는 도면이다. 동 도면에 나타내 는 컨트롤러 (32) 는 범용 게임 컨트롤러이다. 동 도면 (a) 에 나타내는 바와 같이, 컨트롤러 (32) 의 표면에는 방향 버튼 (34), 스타트 버튼 (36), 버튼 (38X, 38Y, 38A, 38B) 이 구비되어 있다. 또, 동 도면 (b) 에 나타내는 바와 같이, 컨트롤러 (32) 의 내측 (奧側) 측면에는, 표면측 좌우에 버튼 (42L, 42R) 이 각각 구비되어 있고, 이면측 좌우에 버튼 (40L, 40R) 이 각각 구비되어 있다. 방향 버튼 (34) 은 십자 형상을 가지고 있고, 통상적으로는 캐릭터나 커서의 이동 방향을 설정하는 데 사용된다. 스타트 버튼 (36) 은 삼각형 형상을 갖는 소형의 누름 버튼으로서, 통상적으로는 게임의 스타트나 게임의 강제 종료 등에 사용된다. 버튼 (38X, 38Y, 38A, 38B, 40L, 40R, 42L, 42R) 은, 그 외의 게임 조작에 사용된다.
이상의 하드웨어 구성을 갖는 게임 장치 (10) 에서는, DVD-ROM (25) 으로부터 판독 출력되는 게임 프로그램이 마이크로 프로세서 (14) 에 의해 실행됨으로써, 플레이어가 조작 대상인 플레이어 팀에 속하는 유닛 (이하, 플레이어 유닛이라고 한다.) 에 이동이나 공격 등의 지시를 주어, 컴퓨터에 의해 조작되는 적 팀에 속하는 유닛 (이하, 적 유닛이라고 한다.) 의 히트 포인트를 0 으로 하는 것을 목표로 하는 시뮬레이션 게임이 제공된다.
이 시뮬레이션 게임은, 플레이어가 플레이어 유닛에 지시를 주기 위한 턴 (이하, 플레이어 턴이라고 한다.) 과, 컴퓨터에 의해 적 유닛에 지시가 주어지는 턴 (이하, 적 턴이라고 한다.) 이 교대로 실행됨으로써 진행되어 간다.
플레이어 턴에서는,「이동」이나「공격」등의 행동 지시가 플레이어 유닛에 대해서 주어진다. 구체적으로는, 행동 지시를 주는 플레이어 유닛 (행동 지시 대상 플레이어 유닛) 이 먼저 선택된다. 그리고, 그 플레이어 유닛에 대해서, 적 유닛에 대한 공격이 가능한 위치까지 이동하도록 이동 지시가 주어진다. 또, 적 유닛에 대한 공격이 가능한 위치까지 이동한 플레이어 유닛에 대해서, 적 유닛에 대한 공격을 실시하도록 공격 지시가 주어진다.
도 3 내지 도 6 은, 플레이어 턴에 있어서 플레이어 유닛에 대해 이동 지시를 주는 경우의 게임 화면의 일례를 나타내고 있다. 보다 구체적으로는, 플레이어 유닛의 이동처를 결정하는 경우의 게임 화면의 일례를 나타내고 있다.
도 3 에 나타내는 바와 같이, 게임 화면에는 게임 필드 화상 (50) 이 표시된다. 또, 게임 화면에는 플레이어 유닛 화상 (52a 및 52b) 과, 적 유닛 화상 (54a, 54b, 54c, 54d, 54e) 이 표시된다. 또, 동 도면에 나타내는 게임 화면에서는, 플레이어 유닛 화상 (52a) 의 상방에 마커 화상 (56) 이 표시되어 있다. 마커 화상 (56) 은 지시 대상의 플레이어 유닛 화상을 나타내고 있다. 즉, 동 도면에 나타내는 게임 화면에서는, 플레이어 유닛 화상 (52a) 이 이동 지시 대상으로 되어 있다. 바꾸어 말하면, 동 도면에 나타내는 게임 화면은, 플레이어 유닛 화상 (52a) 의 이동처를 결정하기 위한 화면으로 되어 있다. 또, 게임 화면에는 이동 가능 범위 안내 화상 (58) 이 표시된다. 이동 가능 범위 안내 화상 (58) 은, 게임 필드 화상 (50) 에 겹쳐 표시되고, 이동 지시 대상의 플레이어 유닛 화상 (52a) 을 이동시킬 수 있는 범위를 안내하는 역할을 하고 있다. 또한 게임 화면에는 커서 화상 (60) 이 표시된다. 커서 화상 (60) 은, 방향 버튼 (34) 에 대한 조작에 따라 게임 필드 화상 (50) 상을 이동한다. 도 3 에 나타내는 게임 화면에 있어서, 플레이어는 방향 버튼 (34) 을 조작함으로써, 플레이어 유닛 화상 (52a) 의 이동처 위치 후보에 커서 화상 (60) 을 이동시킨다.
플레이어가 커서 화상 (60) 을 이동시키면, 예를 들어 도 4 에 나타내는 바와 같은 게임 화면이 표시된다. 동 도면에 나타내는 게임 화면에서는, 대화창 화상 (62a, 62b, 62c, 62e) 이 표시되어 있다. 대화창 화상 (62a) 은 적 유닛 화상 (54a) 에 대응되는 대화창 화상이다. 마찬가지로, 대화창 화상 (62b, 62c, 62e) 은 적 유닛 화상 (54b, 54c, 54e) 에 대응되는 대화창 화상이다. 또한, 동 도면의 예에서는, 적 유닛 화상 (54d) 에는 대화창 화상이 대응되어 있지 않다.
대화창 화상은, 1) 이동 지시 대상 플레이어 유닛이 이동처 위치 후보로부터 공격 불가능한 적 유닛으로서, 다음의 적 턴에 있어서 이동처 위치 후보 (보다 정확하게는, 그 이동처 위치 후보에 위치하는 플레이어 유닛) 에 대해서 공격 가능한 적 유닛, 또는, 2) 이동 지시 대상 플레이어 유닛이 이동처 위치 후보로부터 공격 가능한 적 유닛에 대응되어 표시된다.
예를 들어, 전자의 적 유닛에 대응되는 대화창 화상에서는, 대화창 내에「이쪽 찬스다」등의 대사가 표시된다.
또 예를 들어, 후자의 적 유닛 중의「이동 지시 대상 플레이어 유닛으로부터의 공격을 받아도 히트 포인트가 0 이 되지 않는 것이 예상되고, 또한, 다음의 적 턴에 있어서 이동처 위치 후보 (보다 정확하게는, 그 이동처 위치 후보에 위치하는 플레이어 유닛) 에 대해서 공격 가능한 적 유닛」에 대응되는 대화창 화상에서는, 대화창 내에「반격해 주겠다」등의 강경한 감정을 나타내는 대사가 표시된다. 이 경우, 대화창 화상의 대화창 형상도 강경한 감정을 나타내는 형상이 된다.
또 예를 들어, 후자의 적 유닛 중의「이동 지시 대상 플레이어 유닛으로부터의 공격을 받아도 히트 포인트가 0 이 되지 않는 것이 예상되고, 또한, 다음의 적 턴에 있어서 이동처 위치 후보에 대해서 공격 불가능한 적 유닛」에 대응되는 대화창 화상에서는, 대화창 내에「참아 보겠다」등의 대사가 표시된다.
또한 예를 들어, 후자의 적 유닛 중의「이동 지시 대상 플레이어 유닛으로부터의 공격을 받으면 히트 포인트가 0 이 되는 것이 예상되는 적 유닛」에 대응되는 대화창 화상에서는, 대화창 내에「도와줘」등의 무기력한 감정을 나타내는 대사가 표시된다. 이 경우, 대화창 화상의 대화창 형상도 무기력한 감정을 나타내는 형상이 된다.
이 대화창 화상이 표시됨으로써, 이동 지시 대상 플레이어 유닛 (플레이어 유닛 화상 (52a)) 을 이동처 위치 후보에 이동시켰다고 하면「어느 적 유닛에 대해서 공격을 실시할 수 있는지」,「그 공격에 의해 적 유닛의 히트 포인트를 0 으로 할 수 있는지」또는「다음의 적 턴에 있어서 어느 적 유닛으로부터 공격을 받을 가능성이 있는지」등을, 플레이어가 대화창 화상의 내용 및 형상으로부터 언뜻 보고 파악할 수 있도록 되어 있다. 즉, 플레이어 유닛의 이동처 위치를 결정하는 데에 필요한 정보를 플레이어가 비교적 간단하고 쉽게 취득할 수 있도록 되어 있다.
또한, 도 4 에 나타내는 게임 화면에서는, 대화창 화상 (62a, 62b 및 62c) 에는 다른 대화창 화상이 겹쳐 표시되어 있고, 그 내용이 보기 어렵게 되어 있다. 이 점, 게임 장치 (10) 에서는, 동 도면에 나타내는 상태 그대로, 즉 방향 지시 조작에 의해 커서 화상 (60) 의 위치가 갱신되지 않고, 소정 시간이 경과되면, 도 5 에 나타내는 바와 같이, 다른 대화창 화상이 겹쳐 있지 않은 대화창 화상 (62e) 이 사라지게 되어 있다. 그 후, 도 5 에 나타내는 상태 그대로 소정 시간이 더 경과되면, 다른 대화창 화상이 겹쳐 있지 않은 대화창 화상 (62c) 이 사라지게 되어 있다. 마찬가지로, 그 상태 그대로 소정 시간이 더 경과되면, 다른 대화창 화상이 겹쳐 있지 않은 대화창 화상 (62b) 이 사라지게 되어 있다. 이와 같이, 게임 장치 (10) 에서는, 게임 화면의 앞에 표시되는 대화창 화상부터 순서대로 사라지도록 되어 있고, 플레이어가 각 대화창 화상의 내용을 파악할 수 있도록 되어 있다.
도 4 나 도 5 에 나타내는 게임 화면에 있어서, 소정의 결정 조작 (예를 들어, 버튼 (38A) 의 가압 조작) 이 실행되면, 그 시점에 있어서의 이동처 위치 후보 (즉, 그 시점에 있어서 커서 화상 (60) 이 지시하는 위치) 가 이동처 위치로서 결정된다. 그리고, 예를 들어 도 6 에 나타내는 바와 같은 게임 화면이 표시된다.
상기 게임 화면을 생성하기 위해서, 도 7 에 나타내는 바와 같은 가상 3 차원 공간이 주기억 (26) 상에 구축된다. 동 도면에 나타내는 바와 같이, 가상 3 차원 공간 (64) 에는 게임 필드 오브젝트 (66) 가 배치된다. 또, 게임 필드 오브젝트 (66) 상에는, 플레이어 유닛 오브젝트 (68a 및 68b) 와, 적 유닛 오브젝트 (70a, 70b, 70c, 70d, 70e) 가 배치된다. 게임 장치 (10) 에서는, 이 가상 3 차원 공간 (64) 을 소여의 시점에서 소여의 시선 방향을 본 모습을 나타내는 시야 화상이 생성된다. 또, 게임 장치 (10) 에서는, 시야 화상과 동일 사이즈이며, 전체면이 투명한 합성용 화상이 생성된다. 합성용 화상에는, 마커 화상 (56), 이동 가능 범위 안내 화상 (58), 커서 화상 (60) 이나 대화창 화상 (62a) 등이 부가된다. 합성용 화상은 최종적으로 도 8 에 나타내는 바와 같은 화상이 된다. 그리고, 게임 장치 (10) 에서는, 시야 화상과 합성용 화상이 합성되어 이루어지는 화상이 VRAM 상에 생성된다. VRAM 상에 생성된 화상은 소정의 타이밍으로 게임 화면으로서 모니터 (18) 에 표시된다.
여기서, 게임 장치 (10) 의 기능적 구성에 대해 설명한다. 도 9 는, 게임 장치 (10) 에 있어서 실현되는 기능 블록 중, 본 발명에 관련되는 기능 블록을 주로 나타내고 있다. 동 도면에 나타내는 바와 같이, 게임 장치 (10) 는, 기억부 (72) 와, 표시 제어부 (76) 와, 판정부 (78) 와, 표시 시간 결정부 (84) 와, 잔시간 정보 갱신부 (80) 와, 표시부 (82) 를 포함하고 있다. 이들의 기능은, DVD-ROM (25) 을 통하여 공급되는 프로그램이 마이크로 프로세서 (14) 에 의해 실행됨으로써 실현된다.
[1. 기억부]
기억부 (72) 는 DVD-ROM (25) 이나 주기억 (26) 을 주로 하여 실현된다.
기억부 (72) 는 플레이어 유닛이나 적 유닛에 관한 데이터를 기억한다. 예를 들어, 각 유닛의 파라미터 정보나 오브젝트 데이터 등이 기억부 (72) 에 기억 된다. 본 실시형태에서는, 예를 들어 도 10 에 나타내는 바와 같은 유닛 테이블이 기억부 (72) 에 기억된다. 동 도면에 나타내는 유닛 테이블은, ID 필드와, 현재 위치 필드와, 히트 포인트 필드와, 이동력 필드와, 공격력 필드와, 공격 가능 범위 필드와, 방어력 필드를 포함하고 있다. ID 필드에는, 각 유닛을 일의 (一意) 로 식별하는 식별 정보 (ID) 가 저장된다. 또한, 동 도면에서는, ID 의 1 문자째는 그 유닛이 플레이어 유닛 (P) 인지 적 유닛 (E) 인지를 나타내는 정보로서의 역할을 하고 있다.
현재 위치 필드에는, 그 유닛의 현재 위치를 나타내는 정보가 저장된다. 현재 위치 필드에는, 그 유닛의 게임 화면에 있어서의 위치 (즉 유닛 화상의 표시 위치) 를 나타내는 정보가 저장되도록 해도 되고, 그 유닛의 가상 3 차원 공간 (64) 에 있어서의 위치 (즉, 유닛 오브젝트의 위치) 를 나타내는 정보가 저장되도록 해도 된다. 본 실시형태에서는, 그 유닛의 가상 3 차원 공간 (64) 에 있어서의 위치를 나타내는 정보가 현재 위치 필드에 저장되는 것으로 하여 설명한다.
히트 포인트 필드에는, 그 유닛의 히트 포인트가 저장된다. 히트 포인트는, 그 유닛의 체력이나 생명력을 나타내는 파라미터이다. 히트 포인트가 0 이 되면, 그 유닛에 대한 행동 지시가 제한되게 된다.
이동력 필드에는 이동력 파라미터가 저장된다. 이동력 파라미터는, 그 유닛이 하나의 턴에 있어서 (하나의 이동 지시에 따라) 이동 가능한 거리를 나타내는 수치 정보이다.
공격력 필드에는 공격력 파라미터가 저장된다. 공격력 파라미터는, 그 유닛의 공격력을 나타내는 수치 정보이다. 예를 들어, 플레이어 유닛이 적 유닛에 대한 공격을 실시하는 경우, 플레이어 유닛의 공격력 파라미터에 기초하여, 적 유닛에게 주어지는 데미지 (히트 포인트 감소량) 의 크기가 결정된다.
공격 가능 범위 필드에는 공격 가능 범위 파라미터가 저장된다. 공격 가능 범위 파라미터는, 그 유닛의 공격 가능 범위를 나타내는 수치 정보이다. 즉, 각 플레이어 유닛은, 현재 위치로부터 공격 가능 범위 파라미터에 기초하는 범위 내에 위치하는 적 유닛에 대해서 공격을 실시할 수 있고, 각 적 유닛은, 현재 위치로부터 공격 가능 범위 파라미터에 기초하는 범위 내에 위치하는 플레이어 유닛에 대해서 공격을 실시할 수 있다. 또한, 공격 가능 범위 파라미터는, 게임 화면 상의 거리를 나타내는 것이어도 되고, 가상 3 차원 공간 (64) 에 있어서의 거리를 나타내는 것이어도 된다. 본 실시형태에서는, 공격 가능 범위 파라미터가 가상 3 차원 공간 (64) 에 있어서의 거리를 나타내는 것으로 하여 설명한다.
방어력 필드에는 방어력 파라미터가 저장된다. 방어력 파라미터는, 그 유닛의 방어력을 나타내는 수치 정보이다. 예를 들어, 플레이어 유닛이 적 유닛에 대한 공격을 실시하는 경우, 적 유닛의 방어력 파라미터에 기초하여, 적 유닛에 주어지는 데미지 (히트 포인트 감소량) 의 크기가 결정된다. 또 예를 들어, 플레이어 유닛이 적 유닛로부터의 공격을 받는 경우, 플레이어 유닛의 방어력 파라미터에 기초하여, 플레이어 유닛이 받는 데미지 (히트 포인트 감소량) 의 크기가 결정된다.
또 본 실시형태에서는, 예를 들어 도 11 에 나타내는 바와 같은 대화창 화상 종류 테이블이 기억부 (72) 에 기억된다. 동 도면에 나타내는 대화창 화상 종류 테이블은, ID 필드와, 메세지 문자열 필드와, 형상 필드를 포함하고 있다. ID 필드에는, 대화창 화상 종류를 일의로 식별하는 식별 정보 (ID) 가 저장된다. 메세지 문자열 필드에는, 대화창 내에 표시되는 메세지 문자열이 저장된다. 형상 필드에는, 대화창의 형상을 특정하는 정보가 저장된다. 또한, 동 도면의 예에 있어서, 형상「1」은 예를 들어 도 4 의 대화창 화상 (62e) 에 관련되는 대화창 형상을 나타낸다. 또, 형상「2」는 예를 들어 도 4 의 대화창 화상 (62a 및 62c) 에 관련되는 대화창 형상을 나타낸다. 또, 형상「3」은 예를 들어 도 4 의 대화창 화상 (62b) 에 관련되는 대화창 형상을 나타낸다.
[2. 잔시간 정보 기억부]
기억부 (72) 는 잔시간 정보 기억부 (74) 를 포함하고 있다. 잔시간 정보 기억부 (74) 는, 게임 화면에 표시되는 복수의 대화창 화상 (메세지 화상) 의 각각에 대응되어 잔시간 정보를 기억한다. 잔시간 정보는, 대화창 화상의 표시가 제한될 때까지의 잔시간을 직접적 또는 간접적으로 나타내는 정보이다. 예를 들어, 잔시간 정보는, 대화창 화상의 표시가 제한될 때까지의 최대 시간을 나타내는 정보와, 대화창 화상이 표시되고 나서 경과한 시간을 나타내는 정보의 조합으로 해도 된다.
본 실시형태에서는, 예를 들어 도 12 에 나타내는 바와 같은 대화창 화상 테이블이 잔시간 정보 기억부 (74) 에는 기억된다. 동 도면에 나타내는 대화창 화상 테이블은, ID 필드와, 대화창 화상 종류 ID 필드와, 표시 위치 필드와, 잔시 간 필드와, 깊이도 필드와, 중요도 필드를 포함하고 있다. ID 필드에는, 게임 화면에 표시되는 대화창 화상을 일의로 식별하는 정보 (ID) 가 저장된다. 대화창 화상 종류 ID 필드에는, 대화창 화상 종류 테이블의 ID 필드에 저장되는 ID 중 어느 하나가 저장된다. 즉, 이 대화창 화상 종류 ID 필드에 의해, 그 대화창 화상의 대화창 형상 및 대화창 내에 표시되는 메세지 문자열이 특정된다. 표시 위치 필드에는, 그 대화창 화상의 게임 화면 상의 표시 위치가 저장된다. 보다 상세하게는, 그 대화창 화상의 대표점의 게임 화면 상의 위치가 저장된다. 잔시간 필드에는, 그 대화창 화상의 표시가 제한될 때까지의 잔시간을 나타내는 잔시간 정보가 저장된다. 본 실시형태에서는, 그 잔시간을 1/60 초 단위로 나타내는 수치 정보가 저장된다. 후술하는 바와 같이, 잔시간 필드의 초기치는, 표시 시간 결정부 (84) 에 의해 각 대화창 화상마다 결정된다.
깊이도 필드에는, 그 대화창 화상의 깊이도가 저장된다. 본 실시형태에서는, 각 대화창 화상의 깊이도가 수치에 의해 나타나도록 되어 있다. 또 후술하는 바와 같이, 본 실시형태에서는, 어느 대화창 화상에 대응되는 게임 화면 상 영역의 적어도 일부와, 다른 대화창 화상에 대응되는 게임 화면 상 영역의 적어도 일부가 겹치는 경우, 깊이도가 보다 작은 쪽의 대화창 화상이 전체면에 표시된다. 즉, 깊이도가 큰 대화창 화상의 적어도 일부의 표시가 타방의 대화창 화상에 의해 제한된다.
중요도 필드에는, 그 대화창 화상의 중요도를 나타내는 정보가 저장된다. 본 실시형태에서는, 각 대화창 화상의 중요도가 수치에 의해 나타나도록 되어 있 다. 중요도가 높은 대화창 화상에 대해서는, 중요도 필드에 저장되는 수치가 커지게 되어 있다. 또, 대화창 화상의 중요도는, 예를 들어 그 대화창 화상이 대응되는 적 유닛에 기초하여 결정되도록 해도 되고, 그 대화창 화상의 대화창 화상 종류에 기초하여 결정되도록 해도 된다. 전자의 경우, 예를 들어, 중요한 적 유닛에 대응되는 대화창 화상의 중요도가 높게 설정되도록 해도 된다. 또 후자의 경우, 중요한 메세지 화상을 포함하는 대화창 화상의 중요도가 높게 설정되도록 해도 된다.
[3. 표시 제어부 및 표시부]
표시 제어부 (76) 는 화상 처리부 (16) 를 주로 하여 실현된다. 표시부 (82) 는 모니터 (18) 를 주로 하여 실현된다. 표시 제어부 (76) 는, 복수의 대화창 화상을 포함하는 게임 화면을 표시부 (82) 에 표시시킨다.
또, 표시 제어부 (76) 는, 대화창 화상 (제 1 대화창 화상) 에 대응되는 화면 상 영역의 적어도 일부와, 다른 대화창 화상 (제 2 대화창 화상) 에 대응되는 화면 상 영역의 적어도 일부가 겹치는 경우, 제 1 대화창 화상에 대응되어 기억되는 중요도와, 제 2 대화창 화상에 대응되어 기억되는 중요도에 기초하여, 그 겹치는 영역에 대응되는 제 1 대화창 화상의 일부분의 표시를 제한하도록 해도 된다. 이 경우, 표시 제어부 (76) 는, 제 1 대화창 화상의 깊이도를, 제 1 대화창 화상에 대응되어 기억되는 중요도와, 제 2 대화창 화상에 대응되어 기억되는 중요도의 차이에 따른 정도만큼 증감시켜 이루어지는 보정 깊이도에 기초하여, 그 겹치는 영역에 대응되는 제 1 대화창 화상의 일부분의 표시를 제한하도록 해도 된다.
또한, 대화창 화상에 대응되는 화면 상의 영역이란, 예를 들어 대화창 화상의 전체를 게임 화면에 표시시키는 경우에 차지되는 게임 화면 상의 영역이다.
또한 표시 제어부 (76) 는, 각 대화창 화상을 표시 시간 결정부 (84) 에 의해 결정되는 그 대화창 화상의 표시 시간에 걸쳐 표시한다. 즉, 대화창 화상의 표시 시간이 경과할 때까지, 그 대화창 화상을 표시한다. 대화창 화상의 표시 시간이 경과했는지의 여부는, 그 대화창 화상에 대응되어 기억되는 잔시간 정보에 기초하여 판단된다. 또, 대화창 화상의 표시를 제한하는 양태로는, 예를 들어 대화창 화상의 게임 화면으로의 표시를 억제하는 것, 대화창 화상의 투명도 (반투명률) 를 높이는 것이나, 대화창 화상의 깊이도를 높이는 것 등을 들 수 있다. 본 실시형태에서는, 대화창 화상에 대응되는 잔시간 필드의 값이 0 이 되었을 경우, 그 대화창 화상은 게임 화면에 표시되지 않게 된다.
[4. 판정부]
판정부 (78) 는, 게임 화면으로의 표시 대상이 되는 각 대화창 화상에 대해서, 그 대화창 화상의 표시가 다른 대화창 화상에 의해 제한되는지의 여부를 판정한다. 예를 들어, 판정부 (78) 는, 대화창 화상에 대응되는 게임 화면 상의 영역과, 다른 대화창 화상에 대응되는 게임 화면 상의 영역이 겹치는지의 여부를 판정한다. 그리고, 그 겹치는 영역에 그 다른 대화창 화상이 표시되는지의 여부를 판정한다. 바꾸어 말하면, 판정부 (78) 는, 대화창 화상의 적어도 일부분 상에, 다른 대화창 화상이 표시되는지의 여부를 판정한다.
[5. 잔시간 정보 갱신부]
잔시간 정보 갱신부 (80) 는, 소정 시간 (예를 들어 1/60 초) 마다, 잔시간 정보 기억부 (74) 에 기억되는 잔시간 정보를 갱신한다. 본 실시형태에서는, 소정 시간마다, 대화창 화상 테이블의 잔시간 필드의 값이 감소된다.
[6. 표시 시간 결정부]
표시 시간 결정부 (84) 는, 게임 화면으로의 표시 대상이 되는 각 대화창 화상의 표시 시간 (표시 기한) 을 결정한다. 즉, 각 대화창 화상에 대응되어 기억되는 잔시간 정보의 초기 상태를 결정한다. 본 실시형태에서는, 대화창 화상 테이블의 잔시간 필드의 초기치가 표시 시간 결정부 (84) 에 의해 결정된다.
각 대화창 화상의 표시 시간은, 판정부 (78) 에 의한 판정 결과에 기초하여 결정된다. 예를 들어, 대화창 화상 (제 1 대화창 화상) 의 적어도 일부의 표시가 다른 대화창 화상 (제 2 대화창 화상) 에 의해 제한된다고 판정되었을 경우, 제 1 대화창 화상의 표시 시간은 제 2 대화창 화상의 표시 시간에 기초하여 결정된다. 본 실시형태에서는, 제 1 대화창 화상의 기준 표시 시간 (통상적인 표시 시간) 에 제 2 대화창 화상의 표시 시간을 추가하여 이루어지는 시간이, 제 1 대화창 화상의 표시 시간으로서 결정된다.
예를 들어, 도 4 에 나타내는 게임 화면에서는, 대화창 화상 (62e) 에는 다른 대화창 화상이 겹쳐 표시되어 있지 않다. 이 경우, 기준 표시 시간 (TO) 이 대화창 화상 (62e) 의 표시 시간 (Te) 으로서 결정된다. 한편, 대화창 화상 (62c) 에는 대화창 화상 (62e) 이 겹쳐 표시되어 있다. 이 경우, 기준 표시 시간 (TO) 에 대화창 화상 (62e) 의 표시 시간 (Te) 을 추가한 시간이, 대화창 화상 (62c) 의 표시 시간 (Tc) 으로서 결정된다. 즉, 대화창 화상 (62c) 의 표시 시간 (Tc) 은 Tc=2×TO 로 결정된다. 마찬가지로, 대화창 화상 (62b) 에는 대화창 화상 (62c) 이 겹쳐 표시되어 있기 때문에, 기준 표시 시간 (TO) 에 대화창 화상 (62c) 의 표시 시간 (Tc) 을 추가한 시간이, 대화창 화상 (62b) 의 표시 시간 (Tb) 으로서 결정된다. 즉, 대화창 화상 (62b) 의 표시 시간 (Tb) 은 Tb=3×TO 로 결정된다. 또 마찬가지로, 대화창 화상 (62a) 에는 대화창 화상 (62b) 이 겹쳐 표시되고 있기 때문에, 기준 표시 시간 (TO) 에 대화창 화상 (62b) 의 표시 시간 (Tb) 을 추가한 시간이, 대화창 화상 (62a) 의 표시 시간 (Ta) 으로서 결정된다. 즉, 대화창 화상 (62a) 의 표시 시간 (Ta) 은 Ta=4×TO 로 결정된다. 이와 같이, 도 4 에 나타내는 게임 화면에서는, 각 대화창 화상의 표시 시간이 Te<Tc<Tb<Ta 로 결정된다.
이 때문에, 도 4 에 나타내는 게임 화면에서는, 동일 화면이 표시되고 나서 시간 Te(TO) 가 경과되면, 먼저 대화창 화상 (62e) 이 게임 화면에서 사라진다. 그 후, 시간 TO 가 더 경과되면, 즉, 게임 화면이 표시되고 나서 시간 Tc 가 경과되면, 대화창 화상 (62c) 이 게임 화면에서 사라진다. 그 후, 시간 TO 가 더 경과되면, 즉, 게임 화면이 표시되고 나서 시간 Tb 가 경과되면, 대화창 화상 (62b) 이 게임 화면에서 사라진다. 그리고, 시간 TO 가 더 경과되면, 즉, 게임 화면이 표시되고 나서 시간 Ta 가 경과되면, 대화창 화상 (62a) 이 게임 화면에서 사라진다.
또한, 기준 표시 시간 (TO) 은, 각 대화창 화상마다 상이해도 된다. 예 를 들어, 각 대화창 화상의 중요도에 기초하여 결정되도록 해도 된다.
여기서, 게임 장치 (10) 에 있어서 소정 시간 (예를 들어 1/60초) 마다 실행되는 처리에 대해 설명한다. 여기에서는, 특히 이동 지시 대상 플레이어 유닛의 선택이 이루어진 후, 그 이동 지시 대상 플레이어 유닛의 이동처 위치가 결정될 때까지 동안에 실행되는 처리에 대해 설명한다. 즉, 도 3 내지 도 6 에 나타내는 게임 화면을 표시하기 위해서 실행되는 처리에 대해 설명한다. 도 13 은 그 처리를 나타내는 흐름도이다.
도 13 에 나타내는 바와 같이, 게임 장치 (10) 에서는 방향 지시 조작이 실시되었는지의 여부가 우선 판단된다 (S101). 바꾸어 말하면, 커서 화상 (60) 의 위치를 갱신하기 위한 조작이 실시되었는지의 여부가 판단된다. 이 판단은, 컨트롤러 (32) 로부터 입력되는 조작 신호에 기초하여 이루어진다. 예를 들어, 방향 버튼 (34) 의 가압 조작을 나타내는 조작 신호가 컨트롤러 (32) 로부터 입력되었는지의 여부를 판단한다.
방향 지시 조작이 실시된 것으로 판단되었을 경우, 표시 제어부 (76) 는 대화창 화상 테이블의 초기화 처리를 실행한다 (S102). 도 14 및 도 15 는, 대화창 화상 테이블의 초기화 처리에 대해 나타내는 흐름도이다.
도 14 에 나타내는 바와 같이, 이 처리에서는, 먼저 대화창 화상 테이블의 내용이 클리어된다 (S201). 구체적으로는, 대화창 화상 테이블의 모든 레코드 (데이터) 가 삭제된다. 다음으로, 표시 제어부 (76) 는 이동처 위치 후보를 취득한다 (S202). 표시 제어부 (76) 는, 현재의 이동처 위치 후보를 특정하기 위 한 정보 (이하, 이동처 위치 후보 정보로 한다.) 를 유지하고 있다. 표시 제어부 (76) 는, 방향 지시 조작의 내용을 컨트롤러 (32) 로부터 입력되는 조작 신호에 기초하여 취득하고, 현재의 이동처 위치 후보로부터 방향 지시 조작 내용에 대응되는 방향으로 소정 거리만큼 이동하여 이루어지는 위치를 새로운 이동처 위치 후보로 한다. 그리고, 이동처 위치 후보 정보를 갱신한다.
다음으로, 표시 제어부 (76) 는 변수 n 을 1 로 초기화한다 (S203). 그리고, 표시 제어부 (76) 는, ID「En」의 적 유닛 (이하, 적 유닛「En」이라고 한다.) 을 대상으로 하여, S204 내지 S213 의 처리를 실행한다.
즉, 표시 제어부 (76) 는, 적 유닛「En」에 대응되는 적 유닛 화상 (이하, 적 유닛 화상「En」이라고 한다.) 의 표시 위치를 취득한다 (S204). 구체적으로는, 적 유닛「En」에 대응되는 적 유닛 오브젝트 (이하, 적 유닛 오브젝트「En」이라고 한다.) 의 가상 3 차원 공간 (64) 에 있어서의 위치를 유닛 테이블의 현재 위치 필드로부터 판독 출력하고, 그 위치에 대응되는 게임 화면 상의 위치를 적 유닛 화상「En」의 표시 위치로서 취득한다.
또, 표시 제어부 (76) 는, 적 유닛 화상「En」에 대응되는 깊이도를 취득한다 (S205). 적 유닛 화상「En」에 대응되는 깊이도는, 가상 3 차원 공간 (64) 에 있어서의 시점 위치로부터 적 유닛 오브젝트「En」의 위치까지의 거리에 기초하여 산출된다. 본 실시형태에서는, 적 유닛 화상「En」에 대응되는 깊이도는, 시점 위치로부터 적 유닛 오브젝트「En」의 위치까지의 거리가 커짐에 따라 커지도록 되어 있다. 또한 후술하는 바와 같이, 이 단계에서 취득된 깊이도는, 적 유 닛「En」에 대응되는 대화창 화상의 깊이도로서, 대화창 화상 테이블의 깊이도 필드에 저장된다.
그 후, 표시 제어부 (76) 는, 적 유닛「En」에 대한 공격을 이동 지시 대상 플레이어 유닛이 이동처 위치 후보로부터 실시할 수 있는지의 여부를 판단한다 (S206). 표시 제어부 (76) 는, 이동 지시 대상 플레이어 유닛의 공격 가능 범위 파라미터를 판독 출력한다. 그리고, 이 공격 가능 범위 파라미터와 이동처 위치 후보 정보에 기초하여, 이동 지시 대상 플레이어 유닛이 이동처 위치 후보로부터 공격 가능한 범위를 취득한다. 또, 표시 제어부 (76) 는, 적 유닛「En」의 현재 위치를 판독 출력하고, 공격 가능 범위에 포함되는지의 여부를 판단한다. 표시 제어부 (76) 는, 적 유닛「En」의 현재 위치가 공격 가능 범위에 포함된 것으로 판단했을 경우, 적 유닛「En」에 대한 공격을 이동 지시 대상 플레이어 유닛이 이동처 위치 후보로부터 실시할 수 있는 것으로 판단한다.
표시 제어부 (76) 는, 적 유닛「En」에 대한 공격을 이동 지시 대상 플레이어 유닛이 이동처 위치 후보로부터 실시할 수 없는 것으로 판단했을 경우, 적 유닛「En」이 다음의 적 턴에 있어서 이동처 위치 후보 (보다 정확하게는, 이동처 위치 후보에 위치하는 플레이어 유닛) 에 대한 공격을 실시할 수 있는지의 여부를 판단한다 (S210). 표시 제어부 (76) 는, 적 유닛「En」의 이동력 파라미터 및 공격 가능 범위 파라미터를 유닛 테이블로부터 판독 출력한다. 그리고, 이들 파라미터에 기초하여, 다음의 적 턴에 있어서, 이동처 위치 후보에 대한 공격이 가능한 위치까지 적 유닛「En」을 이동할 수 있는지의 여부를 판단한다. 표시 제어부 (76) 는, 이러한 이동을 적 유닛「En」을 실시할 수 있는 것으로 판단했을 경우, 적 유닛「En」이 다음의 적 턴에 있어서 이동처 위치 후보에 대한 공격을 실시할 수 있는 것으로 판단한다.
표시 제어부 (76) 는, 적 유닛「En」이 다음의 적 턴에 있어서 이동처 위치 후보에 대한 공격을 실시할 수 있는 것으로 판단했을 경우, 대화창 화상 테이블에 레코드를 추가한다 (S211). 이 경우, 새롭게 추가되는 레코드의 대화창 화상 종류 ID 필드에는 1 이 저장된다. 또, ID 필드에는, 대화창 화상 테이블에 저장되어 있던 레코드 수에 1 을 가산하여 이루어지는 값이 저장된다. 예를 들어, 대화창 화상 테이블에 레코드가 저장되어 있지 않은 경우, ID 필드에는 1 이 저장된다. 또, 표시 위치 필드에는, S204 에서 취득된 적 유닛 화상「En」의 표시 위치에 기초하여 결정되는 표시 위치를 나타내는 정보가 저장된다. 깊이도 필드에는, S205 에 있어서 취득된 깊이도가 저장된다. 중요도 필드에는, 적 유닛「En」또는 대화창 화상 종류 ID「1」에 대응되는 소정의 중요도를 나타내는 정보가 저장된다. 또한, 잔시간 필드에 저장되는 값은 후술하는 처리 (S216 내지 S228) 에 의해 결정된다.
한편, 표시 제어부 (76) 는, S206 에 있어서, 적 유닛「En」에 대한 공격을 이동 지시 대상 플레이어 유닛이 이동처 위치 후보로부터 실시할 수 있는 것으로 판단했을 경우, 그 공격에 의해 적 유닛「En」의 히트 포인트가 0 이 되는지의 여부를 판단한다 (S207). 표시 제어부 (76) 는, 적 유닛「En」의 방어력 파라미터와 히트 포인트 (히트 포인트 잔량) 을 판독 출력한다. 또, 이동 지시 대상 플레이어 유닛의 공격력 파라미터를 판독 출력한다. 그리고, 적 유닛「En」의 방어력 파라미터와, 이동 지시 대상 플레이어 유닛의 공격력 파라미터를 비교함으로써, 공격에 의한 데미지량 (히트 포인트 감소량) 을 산출한다. 그리고, 그 히트 포인트 감소량이 적 유닛「En」의 히트 포인트 잔량 이상이 되는지의 여부를 판단한다.
표시 제어부 (76) 는, 적 유닛「En」의 히트 포인트가 0 이 된다고 판단했을 경우, 대화창 화상 테이블에 레코드를 추가한다 (S212). 이 경우, 새롭게 추가되는 레코드의 대화창 화상 종류 ID 필드에는 4 가 저장된다. 다른 필드에 대해서는, S211 의 처리와 동일하게 각종 정보가 저장된다.
한편, 표시 제어부 (76) 는, 적 유닛「En」의 히트 포인트가 0 이 되지 않는다고 판단했을 경우 (S207), 적 유닛「En」이 다음의 적 턴에 있어서 이동처 위치 후보 (보다 정확하게는, 이동처 위치 후보에 위치하는 플레이어 유닛) 에 대한 공격을 실시할 수 있는지의 여부를 판단한다 (S208). 이 처리는 S210 의 처리와 동일하게 실시된다.
표시 제어부 (76) 는, 적 유닛「En」이 다음의 적 턴에 있어서 이동처 위치 후보에 대한 공격을 실시할 수 있는 것으로 판단한 경우, 대화창 화상 테이블에 레코드를 추가한다 (S209). 이 경우, 새롭게 추가되는 레코드의 대화창 화상 종류 ID 필드에는 2 가 저장된다. 다른 필드에 대해서는, S211 의 처리와 동일하게 각종 정보가 저장된다.
한편, 표시 제어부 (76) 는, 적 유닛「En」이 다음의 적 턴에 있어서 이동처 위치 후보에 대한 공격을 실시할 수 없다고 판단했을 경우, 대화창 화상 테이블에 레코드를 추가한다 (S213). 이 경우, 새롭게 추가되는 레코드의 대화창 화상 종류 ID 필드에는 3 이 저장된다. 다른 필드에 대해서는, S211 의 처리와 동일하게 각종 정보가 저장된다.
표시 제어부 (76) 는, 적 유닛「En」에 관해서 S204 내지 S213 의 처리를 실행하면, 변수 n 을 인크리먼트한다 (S214). 그리고, 변수 n 이 Nmax 이하인지의 여부를 판단한다 (S215). 여기서, Nmax 는 적 유닛의 총 수를 나타내는 소정의 상수이다. 본 실시형태에서는 5 이다. 표시 제어부 (76) 는, 변수 n 이 Nmax 이하라고 판단했을 경우, 적 유닛「En」에 관해서 S204 내지 S213 의 처리를 실행한다.
한편, 변수 n 이 Nmax 보다 크다고 판단되었을 경우, 각 대화창 화상에 대응되는 잔시간 필드의 초기치 (각 대화창 화상의 표시 시간) 를 결정하기 위한 처리가 표시 시간 결정부 (84) 에 의해 실행된다. 이 처리에서는, 먼저 깊이도가 가장 작은 대화창 화상이 주목 대화창 화상으로서 선출된다 (S216). 즉, 게임 화면의 가장 앞에 표시되는 대화창 화상이 주목 대화창 화상으로서 선출된다.
다음으로, 변수 t 가 소정치 TO 로 초기화된다 (S217). 여기서, TO 는, 기준 표시 시간을 1/60 초 단위로 나타내는 값이다. 전술한 바와 같이, TO 의 값은, 각 대화창 화상마다 상이하게 해도 된다.
다음으로, 주목 대화창 화상에 대응되는 게임 화면 상 영역의 적어도 일부와, 다른 대화창 화상에 대응되는 게임 화면 상 영역의 적어도 일부가 겹치는지의 여부가 판단된다 (S218). 여기서, 대화창 화상에 대응되는 게임 화면 상의 영역이란, 대화창 화상 전체를 게임 화면에 표시시키는 경우에 차지되는 게임 화면 상의 영역이다. 또, 대화창 화상은, 대화창 화상 테이블의 대화창 화상 종류 ID 필드에 의해 특정되는 메세지 문자열 (대화창 화상 종류 테이블의 메세지 문자열 필드) 을, 동일 필드에 의해 특정되는 형상 (대화창 화상 종류 테이블의 형상 필드) 의 대화창 내에 포함하여 이루어지는 화상이다. 이 때문에, 대화창 화상에 대응되는 게임 화면 상의 영역은, 대화창 화상 테이블의 표시 위치 필드와 대화창 화상 종류 ID 필드에 기초하여 취득된다.
주목 대화창 화상에 대응되는 게임 화면 상 영역의 적어도 일부와, 다른 대화창 화상에 대응되는 게임 화면 상 영역의 적어도 일부가 겹친다고 판단되었을 경우, 그 다른 대화창 화상 중 어느 하나가 비교 대상으로서 선출된다 (S219). 그리고, 주목 대화창 화상의 깊이도가 비교 대상의 대화창 화상의 깊이도보다 큰지의 여부가 판단된다 (S220). 즉, 주목 대화창 화상의 표시가 비교 대상의 대화창 화상에 의해 제한되는지의 여부가 판단된다.
주목 대화창 화상의 깊이도가 비교 대상의 대화창 화상의 깊이도보다 크다고 판단되었을 경우, 비교 대상의 대화창 화상의 표시 시간 T 가 취득된다 (S221). 구체적으로는, 비교 대상의 대화창 화상에 대응되는 잔시간 필드의 값이 T 로서 취득된다. 또한, 본 실시형태에서는, S216 및 S228 의 처리에 의해, 깊이도가 작은 대화창 화상부터 순서대로 잔시간 필드의 초기치가 결정된다. 즉, 어느 대화창 화상의 적어도 일부의 표시가 다른 대화창 화상에 의해 제한되는 경우, 그 다른 대화창 화상에 대응되는 잔시간 필드의 초기치가 먼저 결정된다. 이 때문에, 비교 대상의 대화창 화상에 대응되는 잔시간 필드의 값은 이미 결정되어 있다.
그리고, 변수 t 의 값이 TO+T 보다 작은지의 여부가 판단된다 (S222). 변수 t 의 값이 TO+T 보다 작은 경우, 변수 t 의 값이 TO+T 로 갱신된다 (S223). 본 실시형태에서는, 이들 단계의 처리에 의해, 대화창 화상의 적어도 일부의 표시가 복수의 다른 대화창 화상에 의해 제한되는 경우, 그 대화창 화상의 표시 시간은, 그 복수의 다른 대화창 화상의 표시 시간 중 가장 긴 표시 시간에 기초하여 결정된다.
다음으로, 주목 대화창 화상에 대응되는 게임 화면 상 영역의 적어도 일부에 겹치는 대화창 화상이, 이미 비교 대상이 된 대화창 화상 이외에도 존재하는지의 여부가 판단된다 (S224). 그러한 대화창 화상이 존재하는 경우, 그 어느 하나가 비교 대상으로서 선출되고 (S225), S220 내지 S224 의 처리가 실행된다.
한편, 주목 대화창 화상에 대응되는 게임 화면 상 영역의 적어도 일부에 겹치는 대화창 화상이, 이미 비교 대상이 된 대화창 화상 이외에 존재하지 않는 경우, 주목 대화창 화상에 대응되는 잔시간 필드에 변수 t 의 값이 저장된다 (S226). 그리고, 주목 대화창 화상보다 깊이도가 큰 대화창 화상이 존재하는지의 여부가 판단된다 (S227).
주목 대화창 화상보다 깊이도가 큰 대화창 화상이 존재하는 경우, 주목 대화창 화상 다음에 깊이도가 큰 대화창 화상이 새롭게 주목 대화창 화상으로서 선출되고 (S228), S217 내지 S227 의 처리가 실행된다. 한편, 주목 대화창 화상보다 깊이도가 큰 대화창 화상이 존재하지 않는 경우, 대화창 화상 테이블의 초기화 처리는 종료된다.
도 13 의 S101 에 있어서, 방향 지시 조작이 실행되지 않은 것으로 판단되었을 경우, 표시 제어부 (76) 는 대화창 화상 테이블을 갱신한다 (S103). 도 16 은, 대화창 화상 테이블의 갱신 처리에 대해 나타내는 흐름도이다.
도 16 에 나타내는 바와 같이, 이 처리에서는, 우선 변수 n 이 1 로 초기화된다 (S301). 그리고, ID「n」의 대화창 화상 (이하, 대화창 화상「n」이라고 기재한다.) 을 대상으로 하여, S302 내지 S304 의 처리가 실행된다.
즉, 잔시간 정보 갱신부 (80) 는, 대화창 화상 테이블에 있어서, 대화창 화상「n」에 대응되는 잔시간 필드의 값을 디크리먼트한다 (S302). 그리고, 표시 제어부 (76) 는, 그 잔시간 필드의 값이 0 인지의 여부를 판단한다 (S303). 표시 제어부 (76) 는, 잔시간 필드의 값이 0 이라고 판단했을 경우, 대화창 화상 테이블에 있어서, 대화창 화상「n」에 대응되는 레코드를 삭제한다 (S304). 이 경우, 대화창 화상「n」은 게임 화면에 표시되지 않게 된다.
대화창 화상「n」을 대상으로 하여 S302 내지 S304 의 처리가 실행되었을 경우, 변수 n 의 값이 인크리먼트된다 (S305). 그리고, 대화창 화상「n」이 존재하는지의 여부가 판단된다 (S306). 대화창 화상「n」이 존재한다고 판단되었을 경우, 그 대화창 화상「n」을 대상으로 하여 S302 내지 S305 의 처리가 실행된다. 한편, 대화창 화상「n」이 존재하지 않는다고 판단되었을 경우, 대화창 화상 테이블의 갱신 처리는 종료된다.
표시 제어부 (76) 는, 대화창 화상 테이블의 초기화 처리 (S102) 또는 갱신 처리 (S103) 를 실행한 후, 결정 조작이 실행되었는지의 여부를 판단한다 (S104). 이 판단은, 컨트롤러 (32) 로부터 입력되는 조작 신호에 기초하여 실시된다. 예를 들어, 버튼 (38A) 이 가압된 것을 나타내는 조작 신호와 그 가압이 해제된 것을 나타내는 조작 신호가 컨트롤러 (32) 로부터 입력되었는지의 여부가 판단된다.
표시 제어부 (76) 는, 결정 조작이 실행되지 않은 것으로 판단했을 경우, 다음과 같이 하여 게임 화면을 생성한다 (S105). 즉, 먼저 시야 화상이 생성된다. 보다 구체적으로는,「플레이어 유닛 오브젝트 및 적 유닛 오브젝트가 유닛 테이블의 내용 (현재 위치 필드) 에 기초하여 배치된 가상 3 차원 공간」을 소여의 시점에서 본 모습을 나타내는 시야 화상이 생성된다.
또, 합성용 화상이 생성된다. 구체적으로는, 상기 시야 화상과 동일 사이즈이며, 전체면이 투명한 합성용 화상이 생성된다. 그 후, 이동 가능 범위 안내 화상 (58) 이 상기 합성용 화상에 부가된다. 이동 가능 범위 안내 화상 (58) 은, 이동 지시 대상 플레이어 유닛의 현재 위치 및 이동력 파라미터에 기초하여, 이동 지시 대상 플레이어 유닛의 이동 가능 범위를 나타내도록 묘화된다. 또, 커서 화상 (60) 이 상기 합성용 화상에 부가된다. 커서 화상 (60) 의 묘화 위치는, 표시 제어부 (76) 에 유지되는 이동처 위치 후보 정보에 기초하여 결정된다. 또, 마커 화상 (56) 이 상기 합성용 화상에 부가된다. 마커 화상 (56) 의 묘화 위치는, 이동 지시 대상 플레이어 유닛의 현재 위치에 기초하여 결정된다.
또한, 대화창 화상 테이블에 기초하여, 대화창 화상이 상기 합성용 화상에 부가된다. 각 대화창 화상은, 대화창 화상 종류 ID 필드에 의해 특정되는 메세지 문자열 (대화창 화상 종류 테이블의 메세지 문자열 필드) 을, 동일 필드에 의해 특정되는 형상 (대화창 화상 종류 테이블의 형상 필드) 의 대화창 내에 포함하여 이루어지는 화상이다. 각 대화창 화상의 묘화 위치는, 대화창 화상 테이블의 표시 위치 필드에 의해 특정된다. 이 경우, 깊이도 필드의 값이 큰 대화창 화상부터 순서대로 상기 합성용 화상에 부가되어 간다.
표시 제어부 (76) 는, 시야 화상과 합성용 화상을 합성하여 이루어지는 화상을 VRAM 상에 생성한다. VRAM 상에 생성된 화상이 게임 화면으로서 소정의 타이밍으로 표시부 (82) 에 표시된다.
한편, 표시 제어부 (76) 는, 결정 조작이 실행된 것으로 판단했을 경우 (S104), 이동 지시 대상 플레이어 유닛의 위치를 갱신한다 (S106). 보다 구체적으로는, 표시 제어부 (76) 에 유지되는 이동처 위치 후보 정보에 의해 나타나는 위치가, 유닛 테이블의 이동 지시 대상 플레이어 유닛의 현재 위치 필드에 저장된다.
그 후, 표시 제어부 (76) 는 게임 화면을 VRAM 상에 생성한다 (S107). 구체적으로는,「플레이어 유닛 오브젝트 및 적 유닛 오브젝트가 유닛 테이블의 내용 (현재 위치 필드) 에 기초하여 배치된 가상 3 차원 공간」을 소여의 시점에서 본 모습을 나타내는 시야 화상이 생성된다. 또, 상기 시야 화상과 동일 사이즈이며, 전체면이 투명한 합성용 화상이 생성됨과 함께, 마커 화상 (56) 이나 커서 화상 (60) 이 그 합성용 화상에 부가된다. 그리고, 시야 화상과 합성용 화상을 합성하여 이루어지는 화상이 VRAM 상에 생성된다. VRAM 상에 생성된 화상이 게임 화면으로서 소정의 타이밍으로 표시부 (82) 에 표시된다.
또한, 이상으로 설명한 처리는, DVD-ROM (25) 으로부터 판독 출력된 게임 프로그램이 마이크로 프로세서 (14) 에 의해 실행됨으로써 실현된다.
이상 설명한 바와 같이, 게임 장치 (10) 에서는, 각 대화창 화상에 표시 시간이 설정되고, 또한, 대화창 화상에 다른 대화창 화상이 겹쳐 표시되는 경우, 그 대화창 화상의 표시 시간이 그 다른 대화창 화상의 표시 시간보다 길게 설정된다. 그 결과, 게임 장치 (10) 에 의하면, 게임 화면의 앞에 표시되는 대화창 화상부터 순서대로 사라져 가게 되고, 대화창 화상이 겹쳐 표시되는 경우라도, 플레이어는 각 대화창 화상의 내용을 바람직하게 파악할 수 있게 된다.
또한, 대화창 화상 (제 1 대화창 화상) 에 대응되는 게임 화면 상 영역의 적어도 일부가, 다른 대화창 화상 (제 2 대화창 화상) 에 대응되는 게임 화면 상 영역의 적어도 일부와 겹치는 경우, 제 1 대화창 화상의 중요도와 제 2 대화창 화상의 중요도에 기초하여, 제 1 대화창 화상의 깊이도를 보정하도록 해도 된다. 또한, 대화창 화상의 중요도는, 그 기재 내용에 기초하여 결정된다. 예를 들어, 게임의 스토리 상, 중요한 내용을 포함하는 대화창 화상의 중요도는 높게 설정된다. 또 예를 들어, 다음의 적 턴에 있어서 플레이어 유닛이 적 유닛으로부터 공격을 받을 가능성이 있는 것을 나타내는 대화창 화상의 중요도는 높게 설정된다.
도 17 은, 각 대화창 화상의 깊이도를 보정하기 위한 깊이도 보정 처리를 나 타내는 흐름도이다. 이 깊이도 보정 처리는, 도 14 의 S215 에 있어서 변수 n 이 Nmax 보다 큰 것으로 판단된 후, 도 15 의 S216 의 처리가 실행되기 전에 실행되도록 하면 된다.
도 17 에 나타내는 바와 같이, 깊이도 보정 처리에서는, 우선 변수 n 이 1 로 초기화된다 (S401). 다음으로, 대화창 화상「n」의 깊이도 Dn 및 중요도 Pn 이 취득된다 (S402). 또한, 깊이도 Dn 은, 대화창 화상 테이블에 있어서, 대화창 화상「n」에 대응되는 레코드의 깊이도 필드에 저장되는 수치이다. 마찬가지로, 중요도 Pn 은, 대화창 화상 테이블에 있어서, 대화창 화상「n」에 대응되는 레코드의 중요도 필드에 저장되는 수치이다. 또, 보정 깊이도 Dr 에 Dn 의 값이 대입된다 (S403).
다음으로, 대화창 화상「n」이외의 대화창 화상 중 어느 하나가 비교 대상으로서 선출된다 (S404). 그리고, 대화창 화상「n」에 대응되는 게임 화면 상 영역의 적어도 일부와, 비교 대상의 대화창 화상에 대응되는 게임 화면 상 영역의 적어도 일부가 겹치는지의 여부가 판단된다 (S405). 이 판단은, 도 15 의 S218 의 처리와 동일하게 실시된다.
대화창 화상「n」에 대응되는 게임 화면 상 영역의 적어도 일부와, 비교 대상의 대화창 화상에 대응되는 게임 화면 상 영역의 적어도 일부가 겹친다고 판단되었을 경우, 비교 대상의 대화창 화상의 깊이도 Dt 및 중요도 Pt 가 취득된다 (S406). 깊이도 Dt 및 중요도 Pt 의 취득은 S402 의 처리와 동일하게 실시된다.
그리고, Dn 이 Dt 보다 큰지의 여부가 판단된다 (S407). 즉, 비교 대상의 대화창 화상이 대화창 화상「n」보다 앞에 표시되는지의 여부가 판단된다. 또, Dn 이 Dt 보다 크다고 판단되었을 경우, Pn 이 Pt 보다 큰지의 여부가 추가로 판단된다 (S408). 즉, 대화창 화상「n」이 비교 대상의 대화창 화상보다 중요한지의 여부가 판단된다.
Pn 이 Pt 보다 크다고 판단되었을 경우, 보정 깊이도 후보 Dw 가 산출된다 (S409). Dw 는 Dw=Dn-(Pn-Pt)×ΔD 의 산출식에 따라 산출된다. 여기서, ΔD 는 소정의 상수이다. 그리고, Dw 가 Dr 보다 작은지의 여부가 판단된다 (S410). Dw 가 Dr 보다 작다고 판단되었을 경우, Dr 에 Dw 의 값이 대입된다 (S411).
그 후, 대화창 화상「n」이외의 대화창 화상으로서, 아직 비교 대상으로서 선출되어 있지 않은 대화창 화상이 존재하는지의 여부가 판단된다 (S412). 그러한 대화창 화상이 존재한다고 판단되었을 경우, 그 어느 하나가 비교 대상으로서 선출된다 (S413). 이 경우, 새롭게 선출된 대화창 화상을 비교 대상으로 하여, S405 내지 S411 의 처리가 실행된다. 한편, 대화창 화상「n」이외의 대화창 화상으로서, 아직 비교 대상으로서 선출되어 있지 않은 대화창 화상이 존재하지 않는다고 판단되었을 경우, n 및 Dr 값의 조합이 주기억 (26) 에 유지된다 (S414).
대화창 화상「n」에 대해 S402 내지 S414 의 처리가 실행되었을 경우, 변수 n 이 인크리먼트되고 (S415), 대화창 화상「n」이 존재하는지의 여부가 판단된다 (S416). 그리고, 대화창 화상「n」이 존재한다고 판단되었을 경우, 대화창 화 상「n」을 대상으로 하여 S402 내지 S415 의 처리가 실행된다. 한편, 대화창 화상「n」이 존재하지 않는다고 판단되었을 경우, 깊이도 보정 처리는 종료된다.
또한, 이상에서 설명한 처리도, DVD-ROM (25) 으로부터 판독 출력된 게임 프로그램이 마이크로 프로세서 (14) 에 의해 실행됨으로써 실현된다.
상기 깊이도 보정 처리가 실행되면, 각 대화창 화상마다 보정 깊이도 (Dr) 가 산출되어 주기억 (26) 에 유지된다. 대화창 화상「n」에 대응되는 보정 깊이도는, 1) 대화창 화상「n」에 대응되는 게임 화면 상 영역의 적어도 일부와, 다른 대화창 화상에 대응되는 게임 화면 상 영역의 적어도 일부가 겹치고, 또한, 2) 그 다른 대화창 화상이 대화창 화상「n」보다 앞에 표시되고 또한, 3) 그 다른 대화창 화상의 중요도가 대화창 화상「n」의 중요도보다 낮은 경우, 대화창 화상「n」의 중요도와 그 다른 대화창 화상의 중요도의 차이에 따른 양만큼 원래의 깊이도로부터 감소된 값이 된다. 또, 상기 조건을 만족하는 다른 대화창 화상이 복수 존재하는 경우, 각 대화창 화상을 대상으로 하여 보정 깊이도 후보 (Dw) 가 산출되고, 그 최소치가 보정 깊이도가 된다. 또, 상기 조건을 만족하는 다른 대화창 화상이 존재하지 않는 경우, 보정 깊이도는 원래의 깊이도가 된다.
이상과 같이 하여 산출되어 주기억 (26) 에 유지되는 보정 깊이도는, 대화창 화상의 표시시간을 결정하기 위한 처리 (도 15) 나 게임 화면의 생성 처리 (도 13 의 S105) 에 있어서, 대화창 화상 테이블의 깊이도 필드의 값 대신 사용되도록 하면 된다.
이상과 같이 함으로써, 대화창 화상이 겹쳐 표시되는 경우, 중요도가 높은 대화창 화상이 앞에 표시되도록 도모할 수 있게 된다.
또, 대화창 화상이 겹쳐 표시되는 경우에 있어서, 중요도가 높은 대화창 화상이 항상 앞에 표시되도록 하면, 그들 대화창 화상의 깊이도 차이가 큰 경우에는 부자연스러운 표시가 되는 경우가 있다. 예를 들어, 어느 적 유닛 (제 1 적 유닛) 과, 그 적 유닛보다 시점에서 멀어진 위치에 배치된 적 유닛 (제 2 적 유닛) 의 대화창 화상이 겹쳐 표시되는 경우에, 제 2 적 유닛에 대응되는 대화창 화상의 중요도가 제 1 적 유닛에 대응되는 대화창 화상의 중요도보다 높기 때문이라고 해도, 제 2 적 유닛에 대응되는 대화창 화상을 제 1 적 유닛에 대응되는 대화창 화상의 앞에 표시시켜 버리면, 제 2 적 유닛의 시점에서의 멀어지는 상태에 따라서는, 대화창 화상의 표시가 부자연스러운 표시가 되는 경우가 있다.
이 점, 게임 장치 (10) 에서는, 각 대화창 화상마다 깊이도가 대응되고, 어느 대화창 화상 상에 중요도가 보다 낮은 대화창 화상이 표시되는 경우에는, 중요도가 높은 대화창 화상의 깊이도가 중요도의 차이에 따른 양만큼 감소된다. 그 결과적으로, 중요도가 높은 대화창 화상의 깊이도가 중요도가 낮은 대화창 화상의 깊이도보다 작아진 경우에만, 중요도가 높은 대화창 화상이 앞에 표시된다. 이 때문에, 상기와 같은 부자연스러운 표시가 실시되는 것을 억제하면서, 중요도가 높은 대화창 화상이 앞에 표시되도록 도모되어 있다.
또한, 본 발명은 이상에서 설명한 실시형태에 한정되는 것은 아니다.
예를 들어, 도 4 에 나타내는 게임 화면에서는, 대화창 화상 (62a) 상에 대화창 화상 (62b) 이 겹쳐 표시되고 있지만, 대화창 화상 (62a) 의 표시는 거의 제 한되어 있지 않다. 이러한 경우, 대화창 화상 (62b) 이 표시되어 있어도, 대화창 화상 (62a) 의 내용을 파악할 수 있기 때문에, 대화창 화상 (62b) 이 사라진 후의 대화창 화상 (62a) 의 표시 시간을 통상보다 짧게 하도록 해도 된다.
즉, 대화창 화상 (62a) 의 표시 시간 (Ta) 이 Ta=(TO×α)+Tb 로 결정되도록 해도 된다. 여기서, α 는 0 이상 1 이하의 수치이며, 그 값은, 대화창 화상 (62a) 의 표시 제한 부분 (대화창 화상 (62b) 에 의해 표시가 제한되는 부분) 의 크기에 기초하여 결정된다. 예를 들어, 대화창 화상 (62a) 의 표시 제한 부분의 면적이 대화창 화상 (62a) 전체 면적의 20% 이상인 경우에는 α 의 값이 1 로 결정되고, 대화창 화상 (62a) 전체 면적의 20% 미만인 경우에는 α 의 값이 0.8 로 결정되도록 해도 된다. 이 경우, 대화창 화상 (62a) 의 표시 제한 부분의 면적이 전체 면적의 20% 미만으로 되어 있으면, 대화창 화상 (62a) 의 표시 시간 (Ta) 은 Ta=(TO×0.8)+Tb 로 결정된다. 즉, 대화창 화상 (62a) 은, 대화창 화상 (62b) 이 사라진 후, 통상의 시간 (TO) 보다 짧은 시간 (TO×0.8) 이 경과되면 사라지게 된다. 또한, α 의 값은, 대화창 화상 (62a) 의 표시 제한 부분의 크기에 기초하여 소정의 연산을 실시함으로써 결정되도록 해도 된다.
이상과 같이 하여 대화창 화상의 표시 시간을 결정하는 경우, 도 15 의 S222 에서는, 변수 t 의 값이 (TO×α)+T 보다 작은지의 여부가 판단되도록 하면 된다. 또, S223 에서는, 변수 t 의 값이 (TO×α)+T 로 갱신되도록 하면 된다. 그리고, α 의 값은, S222 의 처리가 실행되기 전에, 비교 대상의 대화창 화상에 의해 표시가 제한되는 주목 대화창 화상 부분의 크기에 기초하여 결정되도록 하면 된 다.
또 예를 들어, 메세지 화상은 대화창 화상에 한정되지 않는다.
또 예를 들어, 본 발명은, 네트워크 게임 시스템의 단말기인 게임 장치에도 적용할 수 있는 것이다.
또 예를 들어, 본 발명은, 게임 장치 이외의 다른 메세지 화상 표시 장치에도 적용할 수 있는 것이다.
또, 이상의 설명에서는, 프로그램을 정보 기억 매체인 DVD-ROM (25) 으로부터 가정용 게임기 (11) 에 공급하도록 했지만, 통신 네트워크를 통하여 프로그램을 가정 등에 배신하도록 해도 된다. 도 18 은, 통신 네트워크를 이용한 프로그램 배신 시스템의 전체 구성을 나타내는 도면이다. 동 도면에 기초하여 본 발명에 관련되는 프로그램 배신 방법을 설명한다. 동 도면에 나타내는 바와 같이, 이 프로그램 배신 시스템 (100) 은, 게임 데이터 베이스 (102), 서버 (104), 통신 네트워크 (106), PC (108), 가정용 게임기 (110), PDA (휴대 정보 단말기 ; 112) 를 포함하고 있다. 이 중, 게임 데이터 베이스 (102) 와 서버 (104) 에 의해 프로그램 배신 장치 (114) 가 구성된다. 통신 네트워크 (106) 는, 예를 들어 인터넷이나 케이블 텔레비젼 네트워크를 포함하여 구성되어 있다. 이 시스템에서는, 게임 데이터 베이스 (정보 기억 매체 ; 102) 에, DVD-ROM (25) 의 기억 내용과 동일한 프로그램이 기억되어 있다. 그리고, PC (108), 가정용 게임기 (110) 또는 PDA (112) 등을 이용하여 수요자가 게임 배신을 요구함으로써, 그것이 통신 네트워크 (106) 를 통하여 서버 (104) 에 전달된다. 그리고, 서버 (104) 는 게임 배신 요구에 따라 게임 데이터 베이스 (102) 로부터 프로그램을 판독 출력하고, 그것을 PC (108), 가정용 게임기 (110), PDA (112) 등, 게임 배신 요구원으로 송신한다. 여기에서는 게임 배신 요구에 따라 게임 배신하도록 했지만, 서버 (104) 로부터 일방적으로 송신하도록 해도 된다. 또, 반드시 한 번에 게임 실현에 필요한 모든 프로그램을 배신 (일괄 배신) 할 필요는 없고, 게임의 국면에 따라 필요한 부분을 배신 (분할 배신) 하도록 해도 된다. 이와 같이 통신 네트워크 (106) 를 통하여 게임 배신하도록 하면, 프로그램을 수요자는 용이하게 입수할 수 있게 된다.