-
Die
Erfindung betrifft eine Videospielvorrichtung und ein Verfahren
zum Darstellen von Spielbildern und ein Speichermedium zum Speichern
von Programmen, die einen Computer veranlassen, das Verfahren auszuführen, und
insbesondere ein Verfahren zum Darstellen der Bilder unter effektiver
Ausnutzung eines Puffers.
-
In
den vergangenen Jahren sind Videospiele in Familien weit verbreitet
worden. Außerdem
wird ein breiter Bereich von Spieletypen bereitgestellt, wie beispielsweise
Rollenspiele, Simulationsspiele, Kampfspiele, Rätsel- oder Puzzlespiele, usw.
-
Außerdem wird
ein breiter Bereich verschiedenartiger Videospielvorrichtungen oder
-geräte
zum Spielen der Videospiele bereitgestellt. Die Videospielvorrichtung
kann eine Videospielvorrichtung für den Heimgebrauch mit einem
Fernsehbildschirm, oder ein Personalcomputer bzw. eine Workstation
mit einem CRT-Display sein, wobei die Spielbilder auf dem Fernsehbildschirm
oder dem CRT-Display dargestellt werden. Außerdem kann die Videospielvorrichtung
auch eine Arcade-Videospielvorrichtung sein, die beispielsweise
in einem Spielzentrum angeordnet ist und einen Körper mit einem integrierten Display
aufweist.
-
Einige
herkömmliche
Videospielvorrichtungen stellen eine Serie animierter Bilder durch
aufeinanderfolgendes Ändern
von 2D-Bildern dar, und andere durch Verwendung von 3D-Bildern, die perspektivische
Bilder des Videospiels darstellen, wobei die Bilder gemäß einer
Bewegung eines Sicht- oder Standpunktes eines Spielers/eines Objektcharakters des
Videospiels geändert
werden (d.h. Pseudo-3D-Bilder). Außerdem implementieren einige
dieser Videospielvorrichtungen beide Darstellungsverfahren.
-
Durch
das Verfahren zum Darstellen der Pseudo-3D-Bilder wird ein dynamischer
Videospieleffekt erzielt und der Eindruck einer Live-Darstellung vermittelt,
indem Objekte (Charakter/Körper)
auf dreidimensionale Weise dargestellt werden.
-
Tatsächlich werden
durch das Verfahren die Pseudo-3D-Bilder durch Darstellen und Kombinieren mehrerer
Polygonmodelle dargestellt. Die Oberfläche jedes Polygons wird mit
einem Muster und/oder einer Schattierung gefüllt, wodurch der Eindruck eines
Materials vermittelt wird. Das Muster und die Schattierung können auf
das Polygon gemalt werden, indem eine vorgegebene Textur, d.h. ein 2D-Bild,
auf die Oberfläche
des Polygons aufgebracht wird (d.h. eine Texturabbildung ausgeführt wird),
oder indem die Oberfläche
des Polygons basierend auf einer in einem Pseudo-3D-Raum angeordneten
Pseudo-Lichtquelle schattiert wird.
-
Die
meisten Videospielvorrichtungen weisen einen Rahmenpuffer auf, durch
den eine Hochgeschwindigkeitsdatenübertragung zwischen der Videospielvorrichtung
und dem mit der Videospielvorrichtung verbundenen Display ermöglicht wird.
Hierfür erzeugt,
um Spielbilder auf dem Display darzustellen, die Videospielvorrichtung
zunächst
Daten des Bildes in einem Bereich des Rahmenpuffers und überträgt dann
die Bilddaten an das Display.
-
Ein
hierbei auftretendes erstes Problem ist, dass keine herkömmliche
Videospielvorrichtung zur Verfügung
steht, die sowohl 2D-Bilder als auch 3D-Bilder auf dem Display darstellen
kann. Wenn ausschließlich
2D-Bilder verwendet werden, ist es nicht möglich, einen dreidimensionalen
Eindruck zu vermitteln, wie beispielsweise Tiefe (Perspektive), und
die Bewegung eines Standpunktes. Andererseits ist es unter ausschließlicher
Verwendung von Pseudo-3D-Bildern nicht möglich, einen Ausdruck einer Person
(eines Objektcharakters eines Spiels) detailliert darzustellen.
Daher ist es zum Darstellen sowohl von 2D-Bildern als auch von Pseudo-3D-Bildern äußerst vorteilhaft,
wenn beide Bildtypen sich gegenseitig ergänzen. Der Hauptgrund, warum
unter Verwendung des Pseudo-3D-Bildes keine detaillierte Darstellung
möglich
ist, liegt darin, dass herkömmliche
Videospielvorrichtungen nicht ausreichend Leistung besitzen, um
hochaufgelöste
Polygonbilder in Echtzeit zu verarbeiten.
-
Hierbei
ist ein durch ein 2D-Bild und ein Pseudo-3D-Bild dargestelltes Bild beispielsweise
ein Bild, das ein Nahbild des oberen Teils zweier Personen und ein
Hintergrundbild einer perspektivisch dargestellten Straße enthält. Das
Hintergrundbild wird gemäß dem Standpunkt
eines Spielers/eines Objektcharakters eines Spiels geändert.
-
Außerdem können zusätzlich zu
den Bilddaten, die dem Display zugeführt werden, eine Serie von
Animationsbildern (2D-Bilder) oder Texturen (Pseudo-3D-Bildr), die
zum Erzeugen von Bildern verwendet werden, im Rahmenpuffer gespeichert werden.
Im Allgemeinen stellen die Animationsbilder eine Serie von Bildern
dar, die einen sich bewegenden Charakter darstellen können, aber
hierin stellen die Animationsbilder auch eine Serie von Bildern
dar, die Änderungen
einer Darstellungsposition des Charakters darstellen.
-
Die
Videospielvorrichtung erzeugt und speichert mehrere Bilder im Rahmenpuffer,
die gemäß einem Übergang
der Story oder Geschichte des Videospiels nacheinander zugeführt werden.
-
In
diesem Fall werden die Bilder im Rahmenpuffer gespeichert, weil
es nicht möglich
ist, alle Bilder bereitzu stellen, bevor die Bilder benötigt werden, wenn
Daten, die zum Erzeugen der Bilder benötigt werden, von einem Medium
mit langsamer Zugriffsgeschwindigkeit ausgelesen werden, z.B. von
einer externen Speichervorrichtung. D.h., es ist nicht möglich, Bilder
mit 10 bis 60 Rahmen pro Sekunde zu erzeugen, wenn die benötigten Daten
von einer externen Speichervorrichtung gelesen werden.
-
Wenn
die Bilder unter Verwendung des Verfahrens dargestellt werden, gemäß dem die
Bilder im Rahmenpuffer vorgespeichert werden, um sowohl ein 2D-Bild
als auch ein Pseudo-3D-Bild
gleichzeitig darzustellen, müssen
sowohl Daten, die Animationsbilder aufweisen, von denen das 2D-Bild
konfiguriert wird, als auch Daten, die die Texturen aufweisen, von denen
das Pseudo-3D-Bild konfiguriert ist, im Rahmenspeicher gespeichert
werden. Dies führt
zu einer Zunahme der während
eines Spiels erforderlichen Datenmenge, wodurch veranlasst wird,
dass die Spielvorrichtung aufgrund des Überschreibens von Daten im
Rahmenpuffer häufiger
verzögert
wird.
-
Im
Verfahren, gemäß dem die
Bilder im Rahmenpuffer vorgespeichert werden, müssen, wenn eine Spielszene
sich drastisch ändert,
wenn beispielsweise Charaktere im Spiel und der Hintergrund sich
vollständig ändern, so
dass keine zum Erzeugen des neuen geänderten Bildes erforderliche
Daten im Rahmenpuffer vorhanden sind, Inhalte im Rahmenpuffer durch
die benötigten
Daten überschrieben
werden. Dieses Überschreiben
dient zum Übertragen der
Daten vom Speichermedium oder von einem Hauptspeicher zum Rahmenpuffer.
Insbesondere werden für
die Datenübertragung
vom Speichermedium zum Rahmenpuffer einige Sekunden benötigt. In einigen
Fällen
ist die Datenübertragungszeit
so lang, dass das Spiel unterbrochen wird.
-
Insbesondere
in einem Spiel mit einer spannenden Geschichte oder während einer
dynamisch-kontinuierlichen Bewe gung wird durch die Unterbrechung
des Spiels das Interesse des Benutzers gedämpft, und diese Unterbrechung
kann ein entscheidender Mangel sein. Daher muss eine Unterbrechung
des Spiels in jedem Fall vermieden werden.
-
Die
Kapazität
des Rahmenpuffers beträgt
im Allgemeinen etwa 1 bis 4 Megabyte und ist basierend auf der Hardwarekonfiguration
begrenzt. Daher ist es nicht einfach, die Kapazität des Rahmenpuffers
zu erhöhen.
Infolgedessen treten aufgrund der Überschreibvorgänge in allgemeinen
Spielen mehrmals oder einige Dutzend Male Unterbrechungen vom Start
bis zum Ende des Spiels auf.
-
Das
einfachste Verfahren zum Vermeiden von Unterbrechungen aufgrund
von Überschreibvorgängen besteht
darin, den Überschreibvorgang
bei einer Szene auszuführen,
die für
eine Unterbrechung unempfindlich ist. Im Allgemeinen treten in einem Spiel
einige Szenen auf, bei denen der Benutzer dieses Verfahren nicht
wahrnimmt, wobei keinerlei Operationen oder Aktualisierungen des
Bildes erforderlich sind. Wenn der Überschreibvorgang des Bildes
in derartigen Szenen ausgeführt
wird, scheint es für
den Benutzer so, als ob die Geschichte des Spiels ohne Verzögerung fortgesetzt
wird. Diese Technik hängt jedoch
häufig
von den Eigenschaften, den Inhalten und der Geschichte des Spiels
ab. Daher ist diese Technik dahingehend eingeschränkt, dass
die Zeitpunkte, zu denen der Überschreibvorgang
des Bildes ausgeführt
werden sollte, auf einige Zeitpunkte begrenzt sind.
-
Gemäß einer
anderen Technik zum Verhindern einer Verzögerung wird die Geschichte
des Spiels analysiert, werden die im Rahmenpuffer benötigten Daten
strikt ausgewählt
und werden die benötigten
Daten (eine kleine Datenmenge auf einmal) in einem Bereich teilweise
gespeichert, wo die nicht benötigten
Daten gespeichert werden. Dadurch werden Überschreibvorgänge verteilt
und kann die Wahrscheinlichkeit reduziert werden, dass der Benutzer eine
Spielunterbrechung wahrnimmt. Bei dieser Technik sollte jedoch für jede Szene
des Speils bestimmt werden, welche Daten im Rahmenpuffer benötigt werden.
Diese Bestimmung hängt
vom Übergangsmuster
der Geschichte des Spiels ab, so dass die Komplexität des Spieldesigns
und die Last der CPU der Spielvorrichtung wesentlich zunehmen.
-
Gemäß einem
anderen Verfahren zum Vermeiden einer Verzögerung wird die Datenmenge
im Rahmenpuffer reduziert. Infolgedessen wird die Anzahl der Überschreibvorgänge des
Rahmenpuffers vermindert oder null. Dies führt jedoch zu einer verringerten
Farbanzahl oder zu einem reduzierten Bildmuster. Ein Spiel, in dem
lediglich eine kleine Anzahl von Farben verwendet wird, hat möglicherweise
keine große
Ausdruckskraft, und ein Spiel, in dem die gleichen Szenen oder die
gleichen Charakter wiederholt dargestellt werden, macht möglicherweise
keinen starken Eindruck auf die Benutzer. Daher sind diese Spiele
hinsichtlich der Entwicklung vieler Spieltypen auf dem Markt nicht
konkurrenzfähig.
-
In
der EP-A-0807902 sind ein Verfahren und eine Vorrichtung zum Erzeugen
beweglicher Charakter dargestellt.
-
Die
vorstehend erwähnten
Techniken weisen entscheidende Mängel
auf, und das Verzögerungs- oder
Unterbrechungsproblem, das aufgrund des Überschreibens des Rahmenpuffers
entsteht, ist im Wesentlichen nicht gelöst.
-
Daher
ist es eine Aufgabe der Erfindung, eine Videospielvorrichtung, ein
Bilddarstellungsverfahren und ein Speichermedium zum gleichzeitigen Darstellen
eines 2D-Bildes und eines Pseudo-3D-Bildes auf einem Display bereitzustellen.
-
Es
ist eine andere Aufgabe der Erfindung, eine Videospielvorrichtung,
ein Bilddarstellungsverfahren und ein Speichermedium bereitzustellen,
gemäß denen
Daten in einem Rahmenpuffer für
lange Zeit und unabhängig
von Inhalten, Eigenschaften und der Geschichte des Spiels nicht überschrieben werden
müssen,
ohne dass die Komplexität
des Spielprogramms und die Last der CPU zunehmen, und ohne dass
die Ausdruckskraft und der Eindruck des Spiels abnehmen.
-
Gemäß einem
ersten Aspekt der Erfindung wird eine Videospielvorrichtung nach
Patentanspruch 1 bereitgestellt. Durch die erfindungsgemäße Videospielvorrichtung
können
ein 2D-Bild, das einen detaillierten Ausdruck eines Charakters darstellen kann,
und ein Pseudo-3D-Bild, das einen 3D-Raum darstellen kann, in dem Bilder
sich gemäß dem Standpunkt
des Charakters ändern,
gleichzeitig auf einem Display dargestellt werden.
-
Gemäß dieser
Videospielvorrichtung ist es unabhängig von Inhalten, Eigenschaften
und der Geschichte des Spiels für
eine lange Zeitdauer nicht erforderlich, Daten in einem Rahmenpuffer
zu überschreiben,
ohne dass die Komplexität
des Spielprogramms und die Last der CPU zunehmen, und ohne dass
die Ausdruckskraft und der Eindruck des Spiels abnehmen.
-
1 zeigt
ein Blockdiagramm einer Ausführungsform
einer erfindungsgemäßen Videospielvorrichtung;
-
2 zeigt
ein Beispiel einer Struktur eines Rahmenpuffers der Ausführungsform
der erfindungsgemäßen Videospielvorrichtung;
-
3 zeigt
Inhalte des in 2 dargestellten Rahmenpuffers;
-
4 zeigt
eine vergrößerte Ansicht
eines Teils der Inhalte des in 3 dargestellten
Rahmenpuffers;
-
5A und 5B zeigen
Bildbeispiele, die unter Verwendung der in 3 dargestellten
Inhalte des Rahmenpuffers erzeugt werden;
-
6 zeigt
ein Ablaufdiagramm zum Darstellen einer Datenabruf- und Darstellungsverarbeitung
in einer Ausführungsform
einer erfindungsgemäßen Videospielvorrichtung;
-
7 zeigt
ein Beispiel eines gemäß einer Ausführungsform
der Erfindung zu einem Zeitpunkt auf einem Monitor dargestellten
Bildes;
-
8 zeigt
ein Beispiel eines gemäß einer Ausführungsform
der Erfindung zu einem anderen Zeitpunkt auf einem Monitor dargestellten
Bildes; und
-
9 zeigt
ein Beispiel eines Bildes, das als ein dem in 8 dargestellten
Bild nächster
Rahmen dargestellt werden soll.
-
1 zeigt
ein Blockdiagramm einer Videospielvorrichtung, auf die die Erfindung
anwendbar ist. Die Videospielvorrichtung ist die gleiche wie die
in der JP-8-235366 A vom 13.09.96 beschriebene Vorrichtung.
-
Wie
in 1 dargestellt ist, weist die Videospielvorrichtung,
durch die die Erfindung implementiert wird, einen Körper und
mit dem Körper
verbundene Elemente auf. Die Elemente weisen einen Fernsehmonitor 10,
einen Lautsprecher 13, eine Speicherkarte 19 und
einen Controller 20 auf. Die Konfiguration der Videospielvorrichtung
ist ein Beispiel einer in einer Familie verwendbaren Videospielvorrichtung.
-
Der
Körper
weist eine CPU 1, einen mit der CPU 1 verbundenen
Bus 2 und andere mit dem Bus 2 verbundene Komponenten
auf.
-
Der
Bus 2 ist aus einem Adressenbus, einem Datenbus und einem
Steuerbus konfiguriert. Ein Grafikdatenerzeugungsprozessor 3,
ein Peripheriegerätecontroller 4,
ein Hauptspeicher 5, ein ROM-Speicher 6, eine
Dekomprimierungsschaltung 7, ein Grafikprozessor 8,
ein Rahmenpuffer 9, ein Sound-Prozessor 11, ein Sound-Puffer 12,
ein Decodierer 14, ein Puffer 15, ein Speichermediumlaufwerk 16 und eine
Schnittstellenschaltung 18 sind mit dem Bus 2 verbunden.
-
Außerdem ist
der Fernsehmonitor 10 (nachstehend einfach als "Monitor" bezeichnet) mit
dem Grafikprozessor 8 verbunden, der Lautsprecher 13 ist
mit dem Sound-Prozessor 11 verbunden, und die Speicherkarte 19 und
der Controller 20 sind mit der Schnittstellenschaltung 18 verbunden.
-
Das
Speichermedium 17 speichert ein Programm und Daten, die
zum Ausführen
eines Spiels benötigt
werden. Die Inhalte des Programms und die Daten werden der Spielvorrichtung über das
Speichermediumlaufwerk 16 zugeführt. Das Speichermedium ist
beispielsweise ein tragbares Speichermedium, wie beispielsweise
eine CD-ROM oder eine optische Platte.
-
Wie
vorstehend beschrieben wurde, ist diese Konfiguration für eine Videospielvorrichtung
zur Verwendung in einer Familie geeignet. In diesem Fall kann der
Monitor 10 beispielsweise ein Monitor eines Heim-Fernsehgeräts sein,
und der Lautsprecher 13 kann ein Lautsprecher des Heim-Fernsehgeräts sein.
-
Wenn
das erfindungsgemäße Verfahren
auf einer Arcade-Spielvorrichtung
implementiert wird, können
die in 1 dargestellten Elemente in einem Gehäuse angeordnet
sein.
-
Alternativ
kann, wenn das erfindungsgemäße Verfahren
auf einem Personalcomputer oder einem Workstation-Computer implementiert
wird, der Monitor 10 ein mit dem Computer verbundenes CRT-Display
sein, und der Controller 20 kann ein Eingabegerät, wie beispielsweise
eine Tastatur oder eine Maus, des Computers sein.
-
Nachstehend
werden die in 1 dargestellten Komponenten
näher beschrieben.
Die dargestellte CPU 1 ist beispielsweise eine 32-Bit-RISC-(Reduced
Instruction Set Computer (Computer mit reduziertem Befehlssatz))
CPU, die die gesamte Vorrichtung durch Ausführen des im ROM-Speicher 6 gespeicherten
Betriebssystems steuert.
-
Der
Grafikdatenerzeugungsprozessor 3 dient als Coprozessor
der CPU 1. D.h., der Grafikdatenerzeugungsprozessor 3 führt eine
Koordinatenumwandlung und eine Lichtquellenberechung (z.B. eine
Berechnung einer Matrix, die Fixpunktelemente aufweist, und eine
Vektoroperation) parallel aus, um ein Pseudo-3D-Bild darzustellen.
-
Der
Peripheriegerätecontroller 4 führt eine Unterbrechungssteuerung,
eine Zeitsteuerung, eine Speichersteuerung und eine Steuerung für eine Direktzugriffsspeicher(DMA)-Übertragung aus.
-
Der
ROM-Speicher 6 speichert das Betriebssystem, das die Operation
jedes Elements bzw. jeder Komponente steuert.
-
Die
Dekomprimierungsschaltung 7 decodiert Standbilddaten oder
animierte Bilddaten, die vom Speichermedium 7 ausgelesen
und in den Hauptspeicher 5 gespeichert werden, unter der
Steuerung der CPU 1 und speichert die decodierten Bilddaten
in den Hauptspeicher 5 zurück. Insbesondere ist die Dekomprimierungsschaltung 7 für eine Hochgeschwindigkeitsausführung von
inversen diskreten Cosinustransformations(inverse DCT)operationen geeignet
und ferner dazu geeignet, aus dem Speichermedium 17 ausgelesene,
gemäß noch anderen Farbbildkomprimierungsstandards
(JPEG) oder kumulativen Bewegtbildcodierungsstandards (MPEG) komprimierte
Daten zu dekomprimieren.
-
Der
Grafikprozessor 8 erzeugt in Antwort auf Anweisungen von
der CPU 1 Polygonbilder und speichert sie im Rahmenpuffer 9.
-
Der
Rahmenpuffer 9 weist einen Darstellungsbereich und einen
Nicht-Darstellungsbereich auf. Der Darstellungsbereich ist ein Bereich,
in dem einem Darstellungsbereich auf dem Monitor 10 entsprechende
Bilder gespeichert werden. Der Nicht-Darstellungsbereich ist ein
Bereich, in dem Animationsbilder, die zum Erzeugen von 2D-Bildern
im Darstellungsbereich verwendet werden, und zum Erzeugen von Pseudo-3D-Bildern verwendete
Texturen gespeichert werden.
-
In
einigen Fällen
weist der Rahmenpuffer 9 eine Farb-Lookup-Tabelle (CLUT) auf, die eine
Pixelfarbe einer Zahl zuordnet. Außerdem werden Daten im Darstellungsbereich
des Rahmenpuffers 9 mit einer hohen Geschwindigkeit zum
Monitor 10 übertragen.
Der Rahmenpuffer 9 besteht aus einem sogenannten Dualport-RAM-Speicher
und ist dazu geeignet, gleichzeitig Bilder vom Grafikdatenerzeugungsprozessor 3 (CPU 1)
zu empfangen oder Daten vom Hauptspeicher 5 zu übertragen,
und Daten auszulesen, um die Daten auf dem Monitor 10 darzustellen.
-
Der
Sound-Prozessor 11 gibt Musik oder einen effektiven Sound über den
Lautsprecher 13 aus, indem ADPCM-Daten im Speichermedium 17 oder im
Sound-Puffer 12 gespeicherte Sprachdaten regeneriert werden,
oder indem die Sprachdaten moduliert und regeneriert werden.
-
Der
Decodierer 14 decodiert ein Programm oder Daten, die im
Speichermedium 17 gespeichert sind und denen ein Fehlerprüf- und -korrektur(ECC)code
angehängt
sind, und führt
das Programm oder die Daten dem Hauptspeicher 5 oder dem
Sound-Prozessor 11 zu.
-
Der
Puffer 15 zwischenspeichert das Programm und/oder die Daten,
das/die vom Speichermedium 17 regeneriert wurde(n). Der
Puffer 15 ist beispielsweise ein 32 kByte-Puffer.
-
Das
Speichermediumlaufwerk 16 kann ein CD-ROM-Laufwerk, ein
optisches Plattenlaufwerk oder eine ähnliche Einrichtung sein. Das
Speichermediumlaufwerk 16 liest ein Programm und andere Daten
vom Speichermedium 17 und führt sie dem Decodierer 14 zu.
-
Die
Schnittstellenschaltung 20 überträgt ein vom Controller 20 empfangenes
Operationssignal an die CPU 1. Außerdem liest die Schnittstellenschaltung 20 in
Antwort auf eine Anweisung von der CPU 1 die Inhalte der
Speicherkarte 20, um die Inhalte dem Hauptspeicher 5 zuzuführen, und
speichert gleichzeitig Daten in die Speicherkarte 19.
-
Die
Speicherkarte 19 speichert Werte verschiedener Parameter,
um beispielsweise den Zustand zu dem Zeitpunkt zu halten, zu dem
ein Spiel zuletzt beendet wurde. Hierin wird eine Speicherkarte 19 als
kartenförmiger
Speicher verwendet, es können
jedoch viele Speichertypen verwendet werden.
-
Der
Controller 20 wird zum Spielen eines Spiels durch einen
Benutzer verwendet. Der Controller 20 weist Richtungstasten
zum Bewegen eines Chraakters auf dem Monitor nach oben, unten, links und
rechts und mehrere Funktionstasten zum Aktivieren spezifischer Funktionen
auf, wie beispielsweise zum Starten des Spiels oder zum Auswählen von Menüpunkten.
-
Nachstehend
werden die Inhalte des Rahmenspeichers 9 einer erfindungsgemäßen Videospielvorrichtung
unter Bezug auf 2 näher beschrieben. Der Rahmenpuffer 9 weist
eine Kapazität von
512 Pixel in der Höhe
und 1024 Pixel in der Breite auf, wobei jedem Pixel zwei Byte (sechzehn
Bits) Information zugeordnet sind. Daher beträgt die Gesamtkapazität des Rahmenpuffers
9 10486576 Byte (512 × 1024 × 2 Byte),
d.h. ein Megabyte.
-
In
diesem Fall können
die Pixel entlang der Breite als 0-tes bis 1023-tes Pixel (0-1023)
bezeichnet werden, während
die Pixel entlang der Höhe
als 0-tes bis 511-tes Pixel (0-511)
bezeichnet werden können.
-
Im
Rahmen 9 sind die Pixel im Bereich von 0-399 in der Höhe und 0-319
in der Breite einem in 2 dargestellten Darstellungsberiech 41 zugeordnet,
und die anderen Pixel in den anderen Bereichen sind einem Nicht-Darstellungsbereich
zugeordnet.
-
Die
Größe des Darstellungsbereichs 41 kann für jedes
Spiel oder jede Szene des Spiels basierend auf der Auflösung des
Spiels geändert
werden. In diesem Fall weist der Darstellungsbereich 41 eine Höhe von 400
Pixel und eine Breite von 320 Pixel auf, wenn die Bilder mit einer
höheren
Auflösung
auf dem Monitor 10 dargestellt werden sollen, ist jedoch
ein größerer Darstellungsbereich
erforderlich, z.B. ein Bereich mit einer Höhe von 400 Pixeln und einer
Breite von 512 Pixeln. Daher wird, wenn verschiedene Bilder mit
der gleichen Größe auf dem
Monitor 10 dargestellt werden, ein Bild mit einer Höhe von 400 Pixeln
und einer Breite von 512 Pixeln mit einer höheren Auflösung dargestellt als ein anderes
Bild mit einer Höhe
von 400 Pixeln und einer Breite von 320 Pixeln. Dies ist der Fall,
weil das erstgenannte Bild im gleichen Darstellungsbereich eine
größere Anzahl von
Pixeln aufweist. Außerdem
wird, wenn die Kapazität
des Darstellungsbereichs 41 erhöht wird, die Kapazität des Nicht-Darstellungsbereichs
vermindert, und die Größe oder
die Anzahl der im Nicht-Darstellungsbereich gespeicherten Bildmuster
wird begrenzt, weil der Rahmenpuffer 9 eine feste Kapazität hat (hierin
1 Megabyte).
-
Der
Nicht-Darstellungsbereich des Rahmenpuffers 9 weist einen
Nicht-Darstellungsbereich für Pseudo-3D-Bilder 42 und
einen Nicht-Darstellungsbereich für 2D-Bilder 43 auf.
Der Nicht-Darstellungsbereich für
Pseudo-3D-Bilder besteht aus einem Bereich der Pixel 0-319 in der
Breite und 400-511 in der Höhe,
und in diesem Bereich werden Daten gespeichert, die zum Erzeugen
der Pseudo-3D-Bilder, d.h. einer Textur, verwendet werden. Der Nicht-Darstellungsbereich
für 2D-Bilder 43 ist
ein vom Darstellungsbereich 41 und vom Nicht-Darstellungsbereich für Pseudo-3D-Bilder
verschiedener Be reich und dient zum Speichern von Daten, die zum
Erzeugen der 2D-Bilder, d.h. von Animationsbildern und ähnlichen
Bildern, verwendet werden.
-
Der
Nicht-Darstellungsbereich für
2D-Bilder 43 wird basierend auf Kategorien eines darzustellenden
Objekts in mehrere Abschnitte geteilt, um das Management der Bilder
zu vereinfachen. Die Größe des Nicht-Darstellungsbereichs
für Pseudo-3D-Bilder 42,
die Größe des Nicht-Darstellungsbereichs
für 2D-Bilder 43 und
die Abschnitte im Nicht-Darstellungsbereich
für 2D-Bilder 43 können ähnlich wie
im Darstellungsbereich 41 für jedes Spiel oder jede Szene
des Spiels geändert
werden.
-
Der
in 2 dargestellte Rahmenpuffer 9 kann beispielsweise
im folgenden Spiel verwendet werden. In dem Spiel wählt ein
Benutzer des Spiels zwei Charaktere unter drei Charakteren (Charaktere 1
bis 3) aus und steuert sie unter Verwendung des Controllers 20,
um verschiedene Operationen auszuführen, beispielsweise um mit
Feindcharakteren zu kämpfen.
Bewegungen der Charaktere werden unter Verwendung von Pseudo-3D-Bildern
dargestellt. Unter einer bestimmten Bedingung werden die oberen Teile
von zwei oder drei Charakteren unter Verwendung von 2D-Bildern dargestellt,
wenn die Charaktere im Spiel beispielsweise ein Gespräch führen. An diesem
Punkt werden die Pseudo-3D-Bilder als Hintergrund der 2D-Bilder
dargestellt. In einigen Fällen werden
2D-Bilder als Hintergrund dargestellt. Die als Hintergrund dargestellten
3D-Bilder können
basierend auf einer vorgegebenen Routine gleichzeitig mit einer Änderung
der 2D-Animationsbilder
kontinuierlich geändert
werden.
-
Unter
Verwendung der 2D-Animationsbilder wird der Charakter, der ein Gespräch führt, natürlich auf
dem Monitor 10 dargestellt, weil der Mund, das Haar und
der Ausdruck des Charakters sich fein ändern.
-
Nachstehend
werden tatsächliche
Daten im Rahmenpuffer 9 unter Bezug auf 3 beschrieben. 3 zeigt
die im Rahmenpuffer 9 tatsächlich gespeicherten Daten
zusammen mit der Struktur des in 2 dargestellten
Rahmenpuffers. Die tatsächlichen
Daten in einem rechten Teil des in 3 dargestellten
Rahmenpuffers sind jedoch nicht dargestellt.
-
In 3 ist
der Rahmenpuffer 9 in Abschnitte geteilt, die jeweils eine
Größe von 64
Pixeln in der Breite und 256 Pixeln in der Höhe haben. Diese Abschnitte
sind definiert, um das Management zu Vereinfachen und zu einem besseren
Verständnis
beizutragen. Außerdem
ist ein Bereich zwischen 0 und 319 in der Breite und 0 und 399 in
der Höhe
ein Darstellungsbereich 51, der dem in 2 dargestellten
Darstellungsbereich 41 entspricht. In 3 sind
keine Daten im Darstellungsbereich 51 dargestellt, wenn der
Benutzer das Spiel spielt, werden jedoch auf dem Monitor 10 darzustellende
Bilder mit einer hohen Geschwindigkeit wiederholt im Darstellungsbereich 51 erzeugt,
z.B. mit einer Geschwindigkeit von 10 bis 60 Rahmen pro Sekunde.
-
Wie
vorstehend beschrieben wurde, kann eine Farbe jedes Pixels dargestellt
werden, indem dem Pixel eine durch die CLUT-Tabelle definierte Farbidentifizierungsnummer
zugeordnet wird. Hierin weist jedoch jedes Pixel selbst Farbinformation
auf (z.B. einen Satz von RGB-Werten), und das Pixel wird gemäß der Farbinformation
eingefärbt.
Dadurch wird ein durch den Darstellungsberiech 51 definiertes Bild
auf dem mit der Videospielvorrichtung verbundenen Monitor 10 direkt
dargestellt.
-
Eine
Textur 52 ist an einer Stelle gespeichert, die dem in 2 dargestellten
Darstellungsbereich für
Pseudo-3D-Bilder 42 entspricht.
Die Textur 52 weist Dutzende von Ausdrucksmustern der Augen des
Feindcharakters auf. In einem Spiel wird gemäß einem Zustand eines Feindcharakters
eines der Ausdrucksmuster ausgewählt,
und das ausgewählte Muster
wird auf einem Polygon an einer einem Auge des Feindcharakters entsprechenden
Stelle angeordnet.
-
Zum
Darstellen eines Charakters 1 als 2D-Bild erforderliche Bilder sind
an einer Stelle, die einem Bereich zum Darstellen des oberen Teils
des Charakters 1 entspricht, im in 2 dargestellten Nicht-Darstellungsbereich
für 2D-Bilder gespeichert. Die
Bilder in dem Bereich weisen mehrere zerlegte Bilder (Stripped Images)
auf, wobei unklar ist, was die Bilder anschließend darstellen. Wenn ein Teil
der Bilder basierend auf Anweisungen von der CPU 1 ausgewählt und
kombiniert werden, wird jedoch im Darstellungsbereich 41 ein
Fundament für
ein Bild des oberen Teils des Charakters 1 erzeugt.
-
In
diesem Beispiel werden die zerlegten Bilder in der gleichen Ausrichtung
gespeichert wie die Ausrichtungen von im Darstellungsbereich 51 darzustellenden
Bildern. Um den Rahmenpuffer 9 effektiv zu nutzen, kann
jedes der zerlegten Bilder in einer Ausrichtung gespeichert werden
(z.B. in Längsrichtung
oder in der Breitenrichtung), die sich von derjenigen des darzustellenden
Bildes unterscheidet.
-
Insbesondere
wird, wenn ein rechteckiges Bild (zum Darstellen eines Auges und
mit einer Breite von 20 Pixeln und einer Höhe von 10 Pixeln) an einer Stelle
im Darstellungsbereich 51 angeordnet wird, das Bild im
Allgemeinen im Nicht-Darstellungsbereich
für 2D-Bilder 43 in
der gleichen Ausrichtung gespeichert wie diejenige des im Bereich 51 darzustellenden
Bildes. Möglicherweise
ist jedoch im Bereich 51 kein Speicherplatz zum Speichern
des rechteckigen Bildes in der ursprünglichen Ausrichtung vorhanden.
In diesem Fall kann, wenn der Bereich einen leeren oder freien Raum
mit einer Breite von 10 Pixeln und einer Höhe von 20 Pixeln enthält, das
rechteckige Bild im Bereich 51 als ein Bild mit einer Breite von
10 Pixeln und einer Höhe
von 20 Pixeln gespeichert werden, indem das Bild im Uhrzeigersinn
(oder im Gegenuhrzeigersinn) um einen Winkel von 90° gedreht
wird. Das Bild wird im Gegenuhrzeigersinn (oder im Uhrzeigersinn)
um einen Winkel von 90° zurückgedreht,
wenn das Bild im Darstellungsbereich 51 angeordnet wird.
-
Der
dem Bereich des oberen Teils des in 2 dargestellten
Charakters 1 entsprechende Bereich weist ferner geänderte Bilder
auf, die zum Darstellen eines sich ändernden Teils des Charakters
1 verwendet werden. Wenn der im Darstellungsbereich 51 dargestellte
obere Teil des Charakters 1 sich gemäß den Bedingungen des Spiels
oder Anweisungen des Benutzers nur geringfügig ändert (wenn der Charakter beispielsweise
seine Augen schließt
oder den Mund bewegt, um zu sprechen, oder das Haar im Wind weht),
werden die sich ändernden
Teile des Charakters 1 im Darstellungsbereich 51 durch
entsprechende geänderte
Bilder ersetzt und auf dem Monitor 10 dargestellt. Im nächsten Rahmen
wird ein anderes geändertes
Bild auf dem Teil des Charakters 1 im Darstellungsbereich 51 angeordnet
und auf dem Monitor 10 dargestellt. Durch Wiederholen eines
derartigen Prozesses kann beispielsweise für eine beliebige Anzahl von
Malen der Ausdruck von im Wind wehenden Haar des Charakters 1 erzielt
werden.
-
Im
Allgemeinen werden feine Änderungen eines
Ausdrucks des Charakters in einem kleinen Teil eines Bildes des
Charakters dargestellt. Daher ist in diesem Fall der Teil des Bildes
des Charakters 1, der sich wesentlich ändert, sehr kein. Derartige
Bilddaten wurden jedoch herkömmlich
beispielsweise in der Einheit eines Gesichts gemanagt. Daher sind,
wenn fünf
Bildmuster verwendet werden, um zu veranlassen, dass der Charakter
seinen/ihren Mund öffnet, um
zu sprechen, fünf
Bilder erforderlich, die jeweils einem der Muster entsprechen und
das gesamte Gesichtsbild aufweisen.
-
Erfindungsgemäß wird die
erforderliche Bilddatenkapazität
in diesem Fall erheblich reduziert, weil das Bildmuster in einer
Einheit eines Teils des Gesichts gemanagt wird, z.B. des Mundes.
-
Wenn
diese Idee weiterverfolgt wird, kann die Einheit auf ein Pixel reduziert
werden, wodurch die Nutzungseffizienz des Rahmenpuffers dadurch optimiert
wird, dass keine unveränderten
Daten redundant gespeichert werden. Wenn die Einheit klein ist,
nimmt jedoch die Anzahl der Operationen zum Anordnen von Bildern
auf dem Darstellungsbereich 51 tendenziell zu, wodurch
die Last der CPU 1 zunimmt.
-
Außerdem ist
es schwierig, mehrere sehr kleine Bilder zu sammeln. Daher sollte
die Größe des zu
erzeugenden Bildes durch Vergleichen des Vorteils, dass der Rahmenpuffer 9 effektiv
genutzt wird, mit dem vorstehend beschriebenen Nachteil bestimmt
werden. Außerdem
ist die Größe des Bildes nicht
immer für
alle Bilder fest.
-
Ähnlich wie
für den
Charakter 1 werden in dem Charakter 2 und dem Charakter 3 entsprechenden
Bereichen Bilder vorbereitet, die dem sich ändernden Teil der Charaktere
entsprechen. Außerdem wurden
die zerlegten Bilddaten in Verbindung mit der Darstellung eines
2D-Bildes dargestellt, die zerlegten Bilddaten können jedoch auch auf die Texturen 52 angewendet
werden, die zum Darstellen des Pseudo-3D-Bildes verwendet werden.
-
In
der vorstehend beschriebenen Ausführungsform der Erfindung, in
der die zerlegten Bilddaten verwendet werden, ist zusätzlich zur
Verminderung der erforderlichen Kapazität des Rahmenpuffers die Kapazität der Bilddaten,
die zum Darstellen der Pseudo-3D-Bilder verwendet werden, erheblich
vermindert. Im Allgemeinen wird die Kapazität von Texturen, die auf Polygone
abgebildet werden, sehr groß,
erfindungsgemäß werden
die Texturen jedoch nur auf Polygone in einem Teil eines Gesichts
(z.B. dem einem Auge entsprechenden Teil des Gesichts) eines Hauptcharakters
abgebildet, und eine Abbildung auf andere Polygone wird vermieden.
-
Außerdem müssen im
Rahmenpuffer 9 keine Texturen für Objekte bereitgestellt werden,
die einen Hintergrund konfigurieren, weil der Hintergrund und Objekte
im Hintergrund, die im Allgemeinen unter Verwendung der Pseudo-3D-Bilder
dargestellt werden, die Polygone aufweisen, jeweils durch ein Bild dargestellt
werden (wobei das Bild in Bereichen des Hintergrunds und Elemente
des Hintergrunds im Nicht-Darstellungsbereich
für 2D-Bilder
in 2 gespeichert sind). Gemäß dem Verfahren kann die im Rahmenpuffer 9 erforderliche
Kapazität
weiter reduziert werden, während
die Ausdruckskraft der Pseudo-3D-Bilder in gewissem Grade beibehalten
wird.
-
Der
in 3 dargestellte Rahmenpuffer dient lediglich zur
Darstellung. Tatsächlich
werden alle Bereiche im Rahmenpuffer 9 mit Ausnahme des Darstellungsbereichs 51 mit
Bildern gefüllt.
Außerdem
werden die im Rahmenpuffer 9 dargestellten Bilder mit einer
vertikalen Länge
dargestellt, die größer ist
als eine tatsächlich
auf dem Monitor 10 dargestellte vertikale Länge, aber
dies ist aufgrund eines unterschiedlichen Aspektverhältnisses
für die
Anordnung von Pixeln nicht wesentlich.
-
Nachstehend
wird eine Verarbeitung zum Ersetzen des geänderten Teil eines Bildes unter
Bezug auf die 4 und 5 beschrieben.
-
4 zeigt
einen vergrößerten Bereich 60, der
dem in 3 dargestellten Bereich entspricht und im Pixelbereich
von 320 bis 383 in der Breite und von 0 bis 255 in der Höhe liegt.
Dieser Bereich 60 speichert Bilder, die eine Bewegung (Änderung)
eines Charakters für
eine vorgegebene Zeit in einem Spiel darstellen können. Daher
existieren mehrere Bilder für
den gleichen Teil des Charakters.
-
Der
Bereich 60 speichert Bilder, die einem Teil des Charakters
entsprechen, wie beispielsweise Augen (62-65)
und Münder
(66, 67) im oberen Abschnitt. Der Bereich 60 speichert
ferner Bilder, die einem Umriss des Charakters entsprechen, z.B.
den gesamten oberen Teil (61) und einen Körper. Hierin werden
in den den Augen (62-65) entsprechenden Bildern
die Bilder, die sich in der ersten und der zweiten Reihe befinden,
wie beispielsweise die Bilder 62 und 63, zum Darstellen
mehrerer Muster linker Augen des Charakters verwendet (auf der rechten
Seite des dem Betrachter zugewandten Charakters). Die Bilder, die
sich in der dritten und der vierten Reihe befinden, wie beispielsweise
die Bilder 64 und 65, werden zum Darstellen mehrerer
Muster rechter Augen des Charakters verwendet (auf der linken Seite
des dem Betrachter zugewandten Charakters).
-
Es
können
verschiedenartige Ausdrücke
des Charakters erzeugt werden, z.B. wenn der Charakter weint oder
lacht, indem nur das das Auge des Charakters darstellende Bild ersetzt
wird. Das das Auge darstellende Bild ist in der Einheit eines Auges
(und der Augenbraue) gespeichert. Daher ist die Kapazität des Bildes
geringer als in dem Fall, in dem das Bild in der Einheit eines Gesichts
gespeichert wird. D.h., unter Verwendung der gleichen Kapazität kann eine größere Anzahl
von Ausdrücken
dargestellt werden.
-
Die 5A und 5B zeigen
Bilder, die unter Verwendung der Bilder in dem in 4 dargestellten
Bereich 60 erzeugt werden. 5A zeigt
ein zu einem Zeitpunkt dargestelltes Bild 71. 5B zeigt
ein Bild 72, das an einem dem Bild 71 folgenden Rahmen
oder mehrere Rahmen später
dargestellt wird. Wenn Bilder in der Folge der 5A und 5B dargestellt
werden, scheint es, als ob der Charakter seine Augen schließt oder
beginnt zu sprechen.
-
Nachstehend
wird ein Verfahren zum Erzeugen jedes der Bilder beschrieben. Zum
Erzeugen des in 5A dargestellten Bildes 71 werden
zunächst das
Bild 61 in dem in 4 dargestellten
Bereich und ein den oberen Teil eines Kopfes darstellendes Bild (das
von einem vom Bereich 60 verschiedenen Bereich gelesen
wird) verknüpft,
um ein Bild des oberen Teils des Charakters zu erzeugen, und das
verknüpfte
Bild wird im Darstellungsbereich des Rahmenpuffers 9 gespeichert.
Zu diesem Zeitpunkt sind die den Augen und dem Mund entsprechenden
Bereiche leer. Dann wird das Bild 62 im Bereich 60 auf
einem einem linken Auge des Charakters entsprechenden Bereich angeordnet,
und das Bild 64 im Bereich 60 wird in einem einem
rechten Auge entsprechenden Bereich angeordnet. Außerdem wird
das Bild 66 im Bereich 60 auf einem dem Mund entsprechenden
Bereich angeordnet. Dadurch wird das Bild 71 zum Darstellen
eines normalen Ausdrucks erzeugt.
-
Das
in 5B dargestellte Bild 72 wird durch Überlappen
der geänderten
Bilder auf dem Bild 71 erzeugt. Zunächst wird das Bild 63 im
in 4 dargestellten Bereich 60 auf dem dem
linken Auge entsprechenden Bereich überlappt, und das Bild 65 wird
auf dem dem rechten Auge entsprechenden Bereich überlappt. Dann wird das Bild 67 im
Bereich 60 auf dem dem Mund entsprechenden Bereich überlappt, um
das Bild 72 zu erzeugen, das den Ausdruck des Charakters
darstellt, der seine Augen schließt und zu sprechen beginnt.
-
Es
können
Bilder dargestellt werden, wenn der Charakter sich kontinuierlich
bewegt, indem die Bilder wie vorstehend beschrieben erzeugt und
nacheinander dargestellt werden. Hierin wird der sich ändernde
Teil des Charakters in einer Einheit eines Bereichs mit einer kleinen
Größe gespeichert,
z.B. des Auges und des Mundes. Dadurch kann unter Verwendung lediglich
einer kleinen Kapazität
des Rahmenpuffers eine große
Ausdruckskraft erzielt werden.
-
Die
gewünschte
Größe des Bereichs
hängt von
den Merkmalen der Spielbilder ab, in denn für eine Zeitdauer ein Übergang
stattfindet. Daher wird die Größe des Bereichs
durch Trial-and-Error manuell bestimmt. Wenn eine Folge von Spielbildern
unter Verwendung eines Computers insgesamt als Daten gelesen werden,
kann jedoch die folgende Verarbeitung ausgeführt werden. Durch die Verarbeitung
wird erreicht, dass die Belastung eines Spielentwicklers erheblich
reduziert wird.
-
Zunächst führt die
Verarbeitung die Schritte zum Konzentrieren auf eine Bewegungsfolge
eines Charakters, Auswählen
mehrerer Bilder, die die Bewegung des Charakters darstellen, Akkumulieren von
Teilen, die sich unter den ausgewählten Bildern mindestens einmal ändern, und
Definieren mehrerer rechteckiger Bereiche aus, so dass alle Teile
abgedeckt werden. Dann wird, wenn die Größe des rechteckigen Bereichs
nicht geeignet ist, der rechteckige Bereich in mehrere kleinere
rechteckige Bereiche geteilt.
-
Daraufhin
führt die
Verarbeitung Schritte zum Akkumulieren von Teilen, die sich im geteilten rechteckigen
Bereich mindestens einmal ändern,
und Definieren des kleinsten rechteckigen Bereichs aus, so dass
alle Teile abgedeckt werden. Der Akkumulierungsschritt und der Definitionsschritt
werden wiederholt, bis die Größe jedes
definierten Bereichs auf eine geeignete Größe reduziert ist.
-
Dadurch
werden den sich ändernden
Teil darstellende Bilder in einer Einheit einer definierten geeigneten
Größe des rechteckigen
Bereichs bereitgestellt. Beispielsweise sind ein Auge oder einen Mund
darstellende Bilder in einer Größeneinheit
definiert, die das Auge oder den Mund abdeckt. Dann werden die Bilder
zum Rahmenpuffer 9 übertragen.
-
Die
geeignete Größe ist von
der Ausdruckskraft des Spiels oder einer Zeitdauer abhängig, über die
ein Spiel fortlaufend Bilder darstellen sollte, ohne dass Bilder
im Rahmenpuffer ersetzt werden.
-
Nachstehend
werden Schritte zum Erzeugen und Darstellen von 2D-Bildern und Pseudo-3D-Bildern
gemäß einer
Ausführungsform
der Erfindung unter Bezug auf 6 beschrieben. 6 zeigt
ein Ablaufdiagramm der Schritte.
-
Die
Verarbeitung startet, wenn das Speichermedium 17 in der
Videospielvorrichtung angeordnet wird, die zuvor eingeschaltet worden
ist, oder wenn die Videospielvorrichtung eingeschaltet wird, während das
Speichermedium 17 bereits in der Videospielvorrichtung
angeordnet ist.
-
Zunächst liest
das Speichermediumlaufwerk 16 in Schritt S10 Bild-, Sprach-
und Programmdaten vom Speichermedium 17 aus.
-
Dann
führt der
Decodierer 14 eine ECC-Operation bezüglich den ausgelesenen Daten
aus und speichert die Daten in den Hauptspeicher 5. Die Sprachdaten
können
jedoch nach Bedarf direkt zum Sound-Prozessor 11 übertragen
werden, und dann werden die Sprachdaten in Schritt S11 im Sound-Puffer 12 gespeichert.
-
In
Schritt S12 werden die im Hauptspeicher 5 gespeicherten
Programmdaten als Spielprogramm gestartet.
-
Dann
führt die
Dekomprimierungsschaltung 7 eine Dekomprimierungsverarbeitung
bezüglich
den im Hauptspeicher 5 gespeicherten Bilddaten basierend
auf ihrem Komprimierungsformat aus und speichert die Daten in Schritt
S13 in den Hauptspeicher 5 zurück.
-
In
Schritt S14 werden Bilddaten, die zum Erzeugen von 2D-Bildern und
Pseudo-3D-Bildern verwendet werden und für eine vorgegebene Zeitdauer (i:
eine Zeitdauer im Spiel) erforderlich sind, vom Speichermedium 17 oder
vom Hauptspei cher 5 zum Nicht-Darstellungsbereich im Rahmenpuffer 9 übertragen.
Zu diesem Zeitpunkt werden mehrere Bilddaten an vorgegebenen Stellen
des Rahmenpuffers 3 gespeichert, wie in 3 dargestellt
ist.
-
Die
vorgegebene Zeitdauer i ist keine feste Zeitdauer von z.B. fünf oder
zwanzig Minuten, sondern eine vorgegebene Spielzeitdauer, in der
das Spiel unter Verwendung einmal gespeicherter Bilder im Rahmenpuffer 9 kontinuierlich
Bilder auf dem Monitor 10 darstellen kann. Daher wird,
wenn häufig
verschiedene Szenen und viele farbreiche Bilder verwendet werden,
die vorgegebene Zeitdauer vergleichsweise kurz, weil die Anzahl
der zu verwendenden Bildmuster groß wird.
-
Andererseits
wird, wenn lediglich monotone Szenen dargestellt werden, die vorgegebene
Zeitdauer vergleichsweise lang, weil nur Bilder im Nicht-Darstellungsbereich
verwendet werden, so dass die Darstellung der Bilder auf dem Monitor 10 für eine lange
Zeit fortgesetzt wird.
-
Erfindungsgemäß wird jedoch
die vorgegebene Zeitdauer in den zwei Fällen verlängert, weil jeder sich ändernde
Teil des Bildes als ein kleiner Bereich der Bilddaten im Rahmenspeicher 9 gespeichert
wird.
-
In
Schritt S15 wird basierend auf dem Szenario des Spiels oder Benutzeranweisungen
bestimmt, ob die im nächsten
Rahmen darzustellenden Bilder der aktuellen Zeitperiode zugeordnet
sind. Wenn die Bilder der aktuellen Zeitperiode zugeordnet sind (Schritt
S15 (J)), schreitet die Verarbeitung zu Schritt S16 fort.
-
In
Schritt S16 werden durch die CPU 1 erforderliche Berechnungen
bezüglich
des Pseudo-3D-Bildes ausgeführt.
Die CPU 1 bestimmt Koordinaten (Polygonscheitelpunktkoordinaten)
jedes Scheitel- oder Eckpunktes jedes Polygons im darzustellen 3D-Raum
und Adressendaten (im Nicht-Darstellungsbereich des Rahmenpuffers 9)
der auf jedem Polygon angeordneten Tex turen. Wenn sich ein Teil
der Textur ändert,
bestimmt die CPU 1 Adressendaten im Nicht-Darstellungsbereich
des Rahmenpuffers 9, in dem Bilddaten, die dem unveränderten
Teil entsprechen, gespeichert sind, um nur den geänderten
Teil zu ersetzen.
-
Daraufhin
wird in Schritt S17 jeder der in Schritt S16 bestimmten Polygoneckpunktkoordinaten im
3D-Raum dem Grafikprozessor 3 zugeführt, und dann werden die Polygoneckpunktadressendaten und
die Helligkeit der entsprechenden Textur, usw. bestimmt, so dass
die Polygoneckpunktkoordinaten im 3D-Raum auf dem Monitor im 2D-Raum dargestellt
werden können.
-
Dann
wird durch die CPU 1 eine erforderliche Berechnung zum
Darstellen des 2D-Bildes ausgeführt.
Die CPU 1 bestimmt die ersten Adressendaten im Darstellungsbereich
des Rahmenpuffers 9 und die zweiten Adressendaten im Nicht-Darstellungsbereich des
Rahmenpuffers 9. Die ersten und zweiten Adressendaten entsprechen
zum Darstellen eines Bildes bereitgestellten Animationsbildern.
Hierbei werden, wenn sich ein Teil des Animationsbildes ändert, Adressendaten
des entsprechenden neuen Bildes im Nicht-Darstellungsbereich bestimmt,
um den geänderten
Bereich durch das entsprechende neue Bild zu ersetzen.
-
Dann
werden in Schritt S19 die in den Schritten S16 bis S18 erhaltenen
erforderlichen Daten für die
Pseudo-3D-Bilder und die 2D-Bilder dem Grafikprozessor 8 zugeführt. Dann
erzeugt der Grafikprozessor 8 ein auf dem Monitor 10 darzustellendes Spielbild
von den zugeführten
Daten und speichert sie in den Darstellungsbereich des Rahmenpuffers 9. In
der vorliegenden Ausführungsform
der Erfindung wird zunächst
jede der Texturen im Nicht-Darstellungsbereich auf dem entsprechenden
Polygon angeordnet, um die Pseudo-3D-Bilder zu erzeugen, und dann
werden die Animationsbilder im Nicht-Darstellungsbereich auf den Pseudo-3D-Bildern überlappt.
Wie vorstehend beschrieben wurde, wird, wenn ein Teil der Bilder
sich ändert,
wenn beispielsweise ein in einem Animationsbild dargestellter Charakter
seine/ihre Augen schließt,
nur ein das geschlossene Auge darstellendes Bild vom Nicht-Darstellungsbereich
gelesen, und das Bild wird an der entsprechenden Stelle auf dem
Darstellungsbereich angeordnet.
-
In
Schritt S20 werden, wenn die Erzeugung des Spielbildes im Darstellungsbereich
abgeschlossen ist, die Inhalte des Spielbildes mit einer hohen Geschwindigkeit
zum Monitor 10 übertragen.
-
In
Schritt S21 wird bestimmt, ob eine Anweisung (z.B. zum Darstellen
eines Menüs
oder zum Bewegen eines Objekts) von einem Benutzer über den Controller 20 und
die Schnittstellenschaltung 18 eingegeben wurde. Wenn keine
Anweisung vorliegt (Schritt S21 (N)), springt die Verarbeitung zu
Schritt S15 zurück.
Wenn eine Anweisung vorliegt (Schritt S21 (J)), schreitet die Verarbeitung
zu Schritt S22 fort, in dem die Anweisung analysiert wird, und springt
dann zu Schritt S15 zurück.
Die Anweisung wird in Schritt S15 ausgewertet, und es wird eine
Verarbeitung gemäß der Anweisung
ausgeführt.
-
Die
Verarbeitung tritt in eine Schleife zwischen den Schritten S15 und
S21 ein, wobei die Schritte S15 und S22 in einem Spiel, in dem Bewegtbilder
auf dem Monitor 10 dargestellt werden, mit einer hohen
Geschwindigkeit ausgeführt
werden. Im Allgemeinen wird die Verarbeitung 10-60 Mal pro Sekunde
wiederholt (d.h. mit einer Geschwindigkeit von 10-60 Rahmen pro
Sekunde (fps)).
-
In
Schritt S15 schreitet die Verarbeitung, wenn festgestellt wird,
dass die aktuelle Szene nicht mehr der Zeitperiode i zugeordnet
ist (Schritt S15 (N)), zu Schritt S23 fort, wo entschieden wird,
ob das Spiel beendet ist oder nicht. Wenn entschieden wird, dass
das Spiel beendet ist (Schritt S23 (J)), endet die Verarbeitung.
Das Spiel wird durch verschiedene Ereignisse beendet, z.B. durch
eine Benutzeranweisung (wie beispielsweise eine Unterbrechungsanweisung
und eine Endeanweisung).
-
Wenn
entschieden wird, dass das Spiel fortgesetzt wird (Schritt S23 (N)),
schreitet die Verarbeitung zu Schritt S24 fort. D.h., wenn eine
Szene des Spiels sich wesentlich oder dramatisch ändert, werden
Inhalte im Nicht-Darstellungsbereichs des Rahmenpuffers 9 ersetzt.
Daher wird in Schritt S24 die Zeitperiode auf die der Periode i
folgende Periode i + 1 gesetzt, und in der Zeitperiode i + 1 erforderliche Bilddaten
werden vom Speichermedium 17 oder vom Hauptspeicher 5 ausgelesen.
Dann springt die Verarbeitung zu Schritt S13 zurück, in dem die Dekomprimierungsverarbeitung
bezüglich
der Bilddaten vom Speichermedium 17 ausgeführt wird.
Dann werden die Bilddaten in Schritt S14 im Nicht-Darstellungsbereich
des Rahmenpuffers 9 gespeichert.
-
In
der vorstehend beschriebenen Verarbeitungsfolge können insbesondere
die Datenabrufverarbeitung und die Bestimmung der Benutzeranweisung
geändert
werden. Daher sollte das erfindungsgemäße Verfahren nicht auf die
dargestellte Folge beschränkt
sein. Beispielsweise können
die Verarbeitungen in den Schritten S16-S17 und die Verarbeitung
in Schritt S18 umgestellt oder gleichzeitig ausgeführt werden.
-
Außerdem kann
das erfindungsgemäße Verfahren
auf eine von der Ausführungsform
der Erfindung verschiedene Videospielvorrichtung angewendet werden.
Beispielsweise kann eine Videospielvorrichtung mehrere Rahmenpuffer
verwenden, aber auch in diesem Fall kann der Nicht-Darstellungsbereich
in den Rahmenpuffern erfindungsgemäß effizient genutzt werden.
-
Nachstehend
wird ein Beispiel eines gemäß einer
Ausführungsform
der Erfindung auf dem Monitor 10 dargestellten Bildes beschrieben.
-
7 zeigt
ein zu einem Zeitpunkt auf dem Monitor 10 dargestelltes
Bild. 8 zeigt ein zu einem anderen Zeitpunkt auf dem
Monitor 10 dargestelltes anderes Bild. 9 zeigt
ein noch anderes auf dem Monitor 10 dargestelltes Bild,
das in einem dem in 8 dargestellten Bild nächsten Rahmen dargestellt
wird.
-
Das
in 7 dargestellte Bild 100 stellt eine Kampfszene
in einer Stadt 101 dar, wobei Charaktere (102, 103)
basierend auf über
den Controller 20 eingegebenen Benutzeranweisungen auf
einen Fremdcharakter 104 schießen. Wenn die beiden Charaktere
den Feindcharakter basierend auf den Benutzeranweisungen in die
Tiefe der Stadt treiben, bewegt sich ein Standpunkt des Spiels gemäß der Bewegung der
Charaktere in die Tiefe der Stadt, weil das Bild 100 unter
Verwendung von Pseudo-3D-Bildern dargestellt wird.
-
Das
in 8 dargestellte Bild 120 stellt zwei Charaktere
(122, 123) dar, die unter Verwendung der 2D-Animationsbilder
mit einem Hintergrund dargestellt werden, der eine Stadt darstellt
und unter Verwendung von Pseudo-3D-Bildern dargestellt wird. Außerdem ist
im unteren Teil des Bildes 120 ein Bereich 124 angeordnet,
und ein Gespräch
der Charaktere (122, 123) wird durch Buchstaben
im Bereich 124 dargestellt.
-
Das
Bild 120 zeigt eine Szene, in der zwei in 7 dargestellte
Charaktere (102, 103) während eines Kampfes ein Gespräch führen müssen. Um
diese Situation darzustellen, wird der obere Teil der Charaktere
auf dem in 7 dargestellten Bild 100 in
einer Naheinstellung dargestellt. Der in 8 dargestellte
Charakter 122 entspricht dem in 7 dargestellten
Charakter 102. Der in 8 dargestellte Charakter 123 entspricht
dem in 7 dargestellten Charakter 103. Dadurch
werden die Charaktere (102, 103) angepasst an
den Hintergrund in 7 in einer kleinen Größe darge stellt;
wenn eine vorgegebene Bedingung erfüllt ist, werden die Charaktere
jedoch als 2D-Bilder eines vergrößerten oberen
Teils der Charaktere detaillierter dargestellt.
-
Das
in 9 dargestellte Bild 140 zeigt zwei Charaktere
(142, 143), die unter Verwendung der 2D-Animationsbilder
dargestellt werden und die den in 8 dargestellten
Charakteren im wesentlichen gleichen, zusammen mit einem Hintergrund,
der unter Verwendung eines Pseudo-3D-Bildes dargestellt wird und
eine der in 8 dargestellten Stadt ähnliche
Stadt darstellt. Außerdem
weist das Bild 140 einen dem Bereich 124 ähnlichen
Bereich im unteren Teil auf, und im Bereich 144 wird ein
Gespräch
der Charaktere (142, 143) dargestellt.
-
Es
besteht kein Unterschied zwischen den Inhalten der in den 8 und 9 dargestellten Hintergründe. Außerdem werden
in den 8 und 9 im wesentlichen zwei gleiche
Charaktere an den gleichen Stellen dargestellt.
-
Die
in 9 dargestellten Charaktere 142, 143 unterscheiden
sich von den in 8 dargestellten Charakteren 122, 123 jedoch
hinsichtlich der Größe der Mundöffnung und
der Augenöffnung
und der Form des Haars.
-
Die
in den 8 und 9 dargestellten Bilder stellen
nur zwei Szenen dar, die zeitlich dicht beieinander liegen. Wenn
eine derartige Änderung
zwischen Bildern über
eine große
Anzahl von Rahmen auftritt, wird den Charakteren und anderen Elementen
jedoch ein Ausdruck einer natürlichen
Bewegung verliehen. In diesem Beispiel wird. der Ausdruck sprechender
Charaktere durch aufeinanderfolgendes Ändern der Größe der Mundöffnung realisiert.
Außerdem
wird der Ausdruck von im Wind wehenden Haar durch aufeinanderfolgendes Ändern der
Haarform realisiert.
-
Wie
vorstehend beschrieben wurde, wird eine in einem Bildübergang
auftretende Änderung durch
Ersetzen nur des ge änderten
Teils des Bildes (z.B. nur des Mundabschnitts oder nur des vorderen Haarabschnitts)
im Darstellungsbereich des Rahmenpuffers 9 durch den entsprechenden
neuen Teil ausgeführt.
-
Erfindungsgemäß können die
2D-Bilder und die Pseudo-3D-Bilder
gleichzeitig auf einem Display dargestellt werden. Außerdem müssen erfindungsgemäß Daten
im Rahmenpuffer für
eine lange Zeit in einem Spiel unabhängig von den Inhalten, Eigenschaften
und der Geschichte des Spiels nicht überschrieben werden, ohne dass
die Ausdruckskraft und der Eindruck beeinträchtigt werden.