[go: up one dir, main page]

DE602004003203T2 - Speichermedium mit Reisezeitberechnungsprogram und Spielvorrichtung - Google Patents

Speichermedium mit Reisezeitberechnungsprogram und Spielvorrichtung Download PDF

Info

Publication number
DE602004003203T2
DE602004003203T2 DE602004003203T DE602004003203T DE602004003203T2 DE 602004003203 T2 DE602004003203 T2 DE 602004003203T2 DE 602004003203 T DE602004003203 T DE 602004003203T DE 602004003203 T DE602004003203 T DE 602004003203T DE 602004003203 T2 DE602004003203 T2 DE 602004003203T2
Authority
DE
Germany
Prior art keywords
time
virtual
travel time
moving object
virtual position
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
DE602004003203T
Other languages
English (en)
Other versions
DE602004003203D1 (de
Inventor
Keizo Ohta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Publication of DE602004003203D1 publication Critical patent/DE602004003203D1/de
Application granted granted Critical
Publication of DE602004003203T2 publication Critical patent/DE602004003203T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • 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/45Controlling the progress of the video game
    • 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/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
    • 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/63Methods for processing data by generating or executing the game program for controlling the execution of the game in time
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • 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/8017Driving on land or water; Flying

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Description

  • HITERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Reisezeit-Berechnungsprogramm zur Berechnung einer Reise- oder Fahrzeit, die ein bewegliches Objekt benötigt, um einen Punkt in einem Spielraum zu erreichen und im Besonderen ein Reisezeit-Berechnungsprogramm zur Berechnung der Reise- oder Fahrzeit eines beweglichen Objektes mit einer Genauigkeit von weniger als der Zeiteinheit, mit der ein Bildschirm eines Spieles aufgefrischt werden kann.
  • Beschreibung des Standes der Technik
  • Es gibt viele Videospiele, die es einem oder mehreren Spielern ermöglichen, in einem Autorennen miteinander in Wettbewerb zu treten und dazu die von den Spielern betätigten Autos und eine Rennstrecke auf einem Bildschirm darstellen. Eine Aufgabe im Rennspiel ist es, so schnell wie möglich an einem Ziel anzukommen. In einem typischen Rennspiel wird daher die Zeit (Zielzeit), zu der ein Rennauto am Ziel angekommen ist, gemessen, wenn das Rennauto die Ziellinie überquert und auf dem Bildschirm angezeigt. Die Zielzeit wird typischerweise mithilfe einer Zeiteinheit (Rahmenzeit) als Einheit gemessen, mit der die Auffrischung des Bildschirms für das Spiel erfolgt. Im Allgemeinen beträgt diese Rahmenzeit 1/60 (sec). Es ist daher unmöglich, die Zielzeit mit einer Genauigkeit von weniger als 1/60 (sec) in einem üblichen Rennspiel zu messen.
  • Das folgende Verfahren wird daher vorgeschlagen, um eine Zielzeit mit einer Genauigkeit von weniger als der Rahmenzeit zu messen. 16 Zeit eine Darstel lung, um das herkömmliche Verfahren zur Messung einer Zielzeit zu erläutern. Im japanischen Patent No.3403506 wird ein Zeitpunkt T1, zu dem ein Rennauto an einem Ziel der Berechnung zugrunde gelegten Ziel G' ankommt, entsprechend der Darstellung in 16 als Verhältnis zwischen einem Abstand L' und einem Abstand L berechnet. Der Abstand L' gibt die Entfernung zwischen dem Zeitmesspunkt P und dem für die Berechnung verwendeten Ziel G' an und der Abstand L die Entfernung zwischen einem tatsächlichen Ziel G und dem für die Berechnung verwendeten Ziel G'. Im Einzelnen wird die Zeit T1, zu der ein Rennauto an dem für die Berechnung verwendeten Ziel G' ankommt, mithilfe der beiden folgenden Gleichungen (1) und (2) berechnet: T1 = n/60+t (1) L:(1/60) = (L-L')a (2)
  • In den Gleichungen (1) und (2) gibt eine Zeit (n/60) einen Zeitpunkt an, zu dem ein Rennauto an einem Messpunkt P (Zeitnahmepunkt) auf der Rennstrecke 91 ankommt. Weiter bedeutet eine Zeit t eine Fahrzeit von Zeitnahmepunkt P zu dem für die Berechnung verwendeten Ziel G'. Darauf hinzuweisen ist, dass eine Zeit T2, zu der ein Rennauto beim tatsächlichen Ziel G ankommt, in einer ähnlichen Weise berechnet werden kann, wie nach dem oben beschriebenen Verfahren.
  • Mit dem oben beschriebenen Verfahren ist es möglich, die Zeit T1 oder T2 mit einer Genauigkeit von weniger als 1/60 (sec) zu berechnen. Jedoch benötigt das oben beschriebene Verfahren eine längere Zeit für die Berechnung einer Zielzeit, da ein Verhältnis berechnet werden muss. In einem Spielgerät geringer CPU Leistung nimmt die für die Berechnung einer Zielzeit erforderliche Zeit zu und führt daher zu einer Zeitverzögerung bei der Anzeige einer Zielzeit auf dem Bildschirm.
  • Ein Grund für die zur Berechnung erforderliche längere Zeit besteht darin, dass die Berechnung mit einem Verhältniswert Multiplikation und Division erfordert. 17 zeigt ein Flussdiagramm für ein Multiplikationsverfahren. 18 zeigt ein Flussdiagramm für ein Divisionsverfahren. In 17 wird beispielsweise eine Multiplikation der Art (Multiplikator) × (Multiplikand) = (Produkt) folgendermaßen durchgeführt: Für den Fall, dass das letzte Bit des Multiplikators eine 1 ist, wird ein Multiplikand zu einem Produkt addiert (Schritte 81 und 82). Danach wird der Multiplikand um 1 Bit nach links verschoben (Schritt 83). Anschließend wird der Multiplikator um 1 Bit nach rechts verschoben (Schritt 84). Der oben beschriebene Vorgang wird N-mal wiederholt (N ist die Anzahl der Bits in Multiplikator) (Schritte 85 und 86), um so das Produkt zu berechnen.
  • Umgekehrt wird entsprechend 18 eine Division der Art (Dividend)/(Divisor) = (Quotient) in folgender Weise ausgeführt: Zuerst wird ein Divisor um N Bits nach links verschoben (N ist die Anzahl von Bits im Divisor)(Schritt 91). Anschließend wird der Wert von N um 1 erhöht (Schritt 92). Dann wird der Divisor von Dividenden abgezogen, womit festgestellt wird, ob der Dividend größer ist als der Divisor oder nicht (Schritt 93). Wird festgestellt, dass der Dividend größer ist als der Divisor, so wird der Quotient um 1 Bit nach links verschoben und in das letzte Bit des Quotienten wird eine Null geschrieben (Schritt 94). Ist andererseits der Dividend kleiner als der Divisor, so wird der Quotient um 1 Bit nach links verschoben und in das letzte Bit des Quotienten wird eine 1 geschrieben. (Schritt 95). In diesem Fall wird der Divisor vom Dividenden abgezogen und das erhaltene Ergebnis als neuer Dividend verwendet (Schritt 96). Nach Schritt 94 oder 96 wird der Divisor um 1 Bit nach rechts verschoben (Schritt 97). Das oben beschriebene Verfahren der Schritte 93 bis 97 wird N+1-mal wiederholt (Schritte 98 und 99) um so das Ergebnis zu berechnen.
  • Aus 18 ist ersichtlich, dass bei einer Division das Berechnungsverfahren eine Verzweigung aufweist, und zwar abhängig vom Ergebnis der Subtraktion eines Divisors von einem Dividenden (Schritt 93). Die Bearbeitungszeit für ein Divisionsverfahren wird also länger verglichen mit einem Fall, bei dem ein Verfahren nach den Schritten 81 bis 86 nur wie bei einer Multiplikation entsprechend 17 wiederholt wird.
  • Das herkömmliche Verfahren erfordert also eine Division, da die Berechnung eines Verhältniswertes durchgeführt wird, so dass für die Berechnung einer Zielzeit eine längere Zeit erforderlich ist. Als Folge davon ergibt sich die Möglichkeit einer verzögerten Anzeige der Zielzeit, so dass die Spieler nicht schnell über eine Zielzeit informiert werden können. Das herkömmliche Verfahren kann auch beispielsweise für einen Fall angewendet werden, in dem die Durchgangszeit nicht nur für die endgültige Ziellinie, sondern auch für einen Durchgangspunkt auf der Rennstrecke gemessen wird. Wird jedoch die Anzeige einer Durchgangszeit aufgrund ihrer längeren Messdauer verzögert, so kann es für die Spieler schwierig werden, einen Durchgangspunkt aufgrund der gerade angezeigten Durchgangszeit festzustellen.
  • Mit den herkömmlichen Verfahren ist es auch möglich, eine Zeit mit einer großen Genauigkeit zu berechnen. Bei vielen Spielen ist jedoch nicht notwendig, eine so genaue Berechnung durchzuführen. Beträgt beispielsweise die Anzahl der anzuzeigenden Dezimalstellen eines Zeitwertes drei, ist es nicht notwendig, den numerischen Wert bis auf die vierte Dezimalstelle zu berechnen. Abhängig vom Inhalt eines Spiels und der Leistung eines Spielgeräts kann es daher vorzuziehen sein, die Zeit so schnell wie möglich anzuzeigen, statt sie genau zu berechnen. Bei den herkömmlichen Verfahren ist es jedoch unmöglich, einen zur Berechnung von T1 oder T2 in einem Spielprogramm verwendeten Wert frei einzustellen. Das heißt, es ist beispielsweise dem Schöpfer eines Spieles nicht erlaubt, abhängig vom Inhalt eines Spieles und der Leistung eines Spielgeräts die Genauigkeit oder/und die Bearbeitungszeit zur Berechnung einer Spielzeit einzustellen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist daher eine Aufgabe der vorliegenden Erfindung, ein Reisezeitberechnungs programm anzugeben, mit dem die Reise- oder Fahrzeit eines beweglichen Objekts, das sich in einem Spielraum bewegt, so genau wie nötig berechnet werden kann.
  • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Reisezeit-Berechnungsprogramm anzugeben, das in der Lage ist, ein Verfahren zur Berechnung einer Reisezeit in einer kurzen Zeit durchzuführen.
  • Noch eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein Reisezeit-Berechnungsprogramm anzugeben, mit dem es möglich ist, auf einfache Weise die Genauigkeit und die Bearbeitungszeit der Berechnung einer Reise- oder Fahrzeit für ein bewegliches Objekt einzustellen, und zwar abhängig vom Inhalt eines Spiels und der Leistung eines Spielgeräts.
  • Die vorliegende Erfindung weist die folgenden Merkmale auf, mit denen die oben genannten Aufgaben gelöst werden (die in Klammern stehenden Angaben bezeichnen beispielhafte Elemente der im folgenden dargestellten Ausführungsbeispiele, diese Angaben sollen aber nicht den Umfang der Erfindung beschränken).
  • Ein erster Aspekt der vorliegenden Erfindung bezieht sich auf ein computerlesbares Speichermedium (Speicherkarte 5 oder Arbeitsspeicher 32), in dem ein Reisezeit-Berechnungsprogramm gespeichert ist (Spielprogramm 51), das einen Computer (z.B. CPU 3) veranlasst, ein Berechnungsverfahren für eine Reise- oder Fahrzeit durchzuführen, die von einem beweglichen Objekt (Kart oder Gokart) benötigt wird, um sich von einer ersten Position (Startposition) zu einer zweiten Position (Ziellinie 42) in einem Spielraum zu bewegen, in dem eine Zeiteinheit (Rahmenzeit) verwendet wird, innerhalb der ein Bildschirm für das Spiel aufgefrischt wird.
  • Das Reisezeit-Berechnungsprogramm implementiert im Computer die folgenden Funktionen: Positionsbestimmungsmittel (CPU 31 führt Schritt 3 (S3) aus: Im Folgenden wird nur noch die Schrittnummer angegeben); virtuelle Positionssetzmittel (S12 und S15, S24 und S26, S32 und S35, oder S42 und S46); und Reisezeitberechnungsmittel (S11, S17 und S18, S21 und S26, S31, S36, und S38, oder S41, S48 und S49). Die Positionsbestimmungsmittel stellen die Position des beweglichen Objekts mithilfe eines Geschwindigkeitsvektors fest, und zwar bei jeder Auffrischung des Bildschirms für das Spiel. Die virtuellen Positionssetzmittel setzen eine virtuelle Position fest zwischen den Positionen unmittelbar bevor und unmittelbar nachdem das bewegliche Objekt die zweite Position durchläuft und verschieben die virtuelle Position um einen infinitesimalen Einheitsvektor (Δv), der sich ergibt, indem ein Geschwindigkeitsvektor (V) an einer Position unmittelbar vor dem Durchlauf des beweglichen Objekts durch die zweite Position durch vorbestimmte Zahlen dividiert wird. Die Reisezeitberechnungsmittel berechnen eine Reise- oder Fahrzeit von der ersten Position zu einer Position unmittelbar bevor oder nachdem die virtuelle Position die zweite Position kreuzt.
  • Nach einem zweiten Aspekt können die Reisezeit-Berechnungsmittel auch Berechnungsmittel für eine geschätzte Zeit enthalten (S11, S21, oder S41). Die Zeitschätzungsmittel berechnen unter Verwendung der Zeiteinheit eine geschätzte Reise- oder Fahrzeit des beweglichen Objekts von der ersten Position zu einer Position, die das bewegliche Objekt unmittelbar nach dem Durchlaufen der zweiten Position durchläuft. Die virtuellen Positionssetzmittel können anfängliche Positionssetzmittel (S12 oder S42) enthalten, sowie Auffrischmittel für die virtuelle Position (S15, S26 und S46). Die anfänglichen Positionssetzmittel setzen eine Position als initiale virtuelle Position, die das bewegliche Objekt unmittelbar nach dem Durchlaufen der zweiten Position durchläuft. Die virtuellen Positionsaktualisierungsmittel wiederholen einen Aktualisierungsvorgang für die virtuelle Position, der durchgeführt wird, um die virtuelle Position auf eine Position zu setzen, die auf einem Liniensegment liegt, das die Position, die das bewegliche Objekt unmittelbar vor dem Durchlaufen der zweiten Position durchläuft, und die virtuelle Position verbindet und gegenüber der virtuellen Position um einen vorbestimmten Abstand (Δv oder Δl) zurückliegt, den das bewegliche Objekt während einer infinitesimalen Zeiteinheit (Δt) zurücklegt, die kleiner ist als die Zeiteinheit. Die Reisezeit-Berechnungsmittel können weiter Bestimmungsmittel enthalten (S16, S25 oder S47), Subtraktionsmittel (S17, S26 oder S46) und Reisezeitbestimmungsmittel (S18 oder S49). Die Bestimmungsmittel stellen fest, ob eine virtuelle Position die zweite Position schneidet oder nicht, und zwar jedes Mal, wenn die virtuelle Position festgestellt wird. Die Subtraktionsmittel ziehen die infinitesimale Zeiteinheit von der geschätzten Reisezeit ab, wenn die Bestimmungsmittel feststellen, dass die neue virtuelle Position die zweite Position nicht schneidet, und berechnen so eine virtuelle Reisezeit an der neuen virtuellen Position. Wenn die Bestimmungsmittel feststellen, dass die neue virtuelle Position die zweite Position schneidet, bestimmen die Reisezeitbestimmungsmittel eine virtuelle Reisezeit an der neuen virtuellen Position, die unmittelbar vor der zweiten Position liegt oder eine virtuelle Reisezeit an der neuen virtuellen Position, die unmittelbar nach der zweiten Position liegt, um eine Reisezeit zu erhalten, wenn das bewegliche Objekt die zweite Position durchläuft.
  • Nach einem dritten Aspekt können die Reisezeitberechnungsmittel auch Berechnungsmittel für eine geschätzte Zeit enthalten (S31). Die Zeitschätzungsmittel berechnen unter Verwendung der Zeiteinheit eine geschätzte Reisezeit des beweglichen Objekts von der ersten Position zu einer Position, die das bewegliche Objekt unmittelbar vor dem Durchgang durch die zweite Position durchläuft. Die virtuellen Positionssetzmittel können anfängliche Positionssetzmittel (S32) und virtuelle Positionsaktualisierungsmittel (S35) enthalten. Die anfänglichen Positionssetzmittel setzen eine Position, die das bewegliche Objekt unmittelbar vor dem Durchlauf durch die zweite Position durchläuft, als anfängliche virtuelle Position.
  • Die virtuellen Positionsaktualisierungsmittel wiederholen einen Aktualisierungsprozess für die virtuelle Position, der zur Aktualisierung der virtuellen Position auf eine Position durchgeführt wird, die auf einem Liniensegment liegt, das die virtuelle Position mit der Position verbindet, die das bewegliche Objekt unmittelbar nach Durchgang durch die zweite Position durchläuft und die in einem vorbe stimmten Abstand vor der virtuellen Position liegt, der vom beweglichen Objekt in der infinitesimalen Zeiteinheit durchlaufen wird, die kleiner ist als die Zeiteinheit. Die Reisezeit-Berechnungsmittel können Bestimmungsmittel (S37), Additionsmittel (S36) und Reisezeitbestimmungsmittel (S38) enthalten. Die Bestimmungsmittel stellen fest, ob eine virtuelle Position jedes Mal die zweite Position schneidet, wenn eine virtuelle Position festgelegt wird. Die Additionsmittel addieren die infinitesimale Zeiteinheit zur geschätzten Reisezeit, wenn die Bestimmungsmittel feststellen, dass die neue virtuelle Position die zweite Position nicht schneidet, um so die virtuelle Reisezeit bei der neuen virtuellen Position zu berechnen. Wenn die Bestimmungsmittel feststellen, dass die neue virtuelle Position die zweite Position schneidet, stellen die Reisezeit-Berechnungsmittel eine virtuelle Reisezeit an der neuen virtuellen Position fest, die unmittelbar vor der zweiten Position liegt oder eine virtuelle Reisezeit an der neuen virtuellen Position, die unmittelbar nach der zweiten Position liegt, und erhalten so die Reisezeit für den Fall, dass die neue virtuelle Position die zweite Position schneidet.
  • Nach einem vierten Aspekt können die Reisezeit-Berechnungsmittel auch Berechnungsmittel für eine geschätzte Zeit enthalten (S11, S21 oder S41), sowie Subtraktionsmittel (S17, S26 oder S46). In Zeitschätzungsmittel berechnen unter Verwendung der Zeiteinheit eine geschätzte Reisezeit des beweglichen Objektes von der ersten Position zu einer Position, die das bewegliche Objekt unmittelbar nach dem Durchgang durch die zweite Position durchläuft. Die Subtraktionsmittel wiederholen einen Subtraktionsprozess, bei dem eine infinitesimale Zeiteinheit, die kleiner ist als die Zeiteinheit, von der geschätzten Reisezeit abgezogen wird. Die virtuellen Positionssetzmittel berechnen eine virtuelle Position und geben eine Position des beweglichen Objekts zu einer virtuellen Reisezeit an, die das Ergebnis des Subtraktionsprozesses für jeden Subtraktionsprozess darstellt. Die Reisezeit-Berechnungsmittel können Bestimmungsmittel (S16, S25 oder S47) enthalten, sowie Reisezeitbestimmungsmittel (S18 oder S49). Die Bestimmungsmittel stellen fest, ob die berechnete virtuelle Position jedes Mal die zweite Position schneidet, wenn die virtuelle Position berechnet wird. Die Reisezeit- Bestimmungsmittel bestimmen eine virtuelle Reisezeit an einer virtuellen Position unmittelbar bevor oder nachdem die Bestimmungsmittel festgestellt haben, dass die virtuelle Position die zweite Position schneidet und geben sie als Reisezeit für den Fall an, dass die virtuelle Position die zweite Position schneidet.
  • Nach einem fünften Aspekt können die Reisezeit-Berechnungsmittel auch Berechnungsmittel für eine geschätzte Zeit (S31) und Additionsmittel (S36) enthalten. Die Zeitschätzmittel berechnen unter Verwendung der Zeiteinheit eine geschätzte Reisezeit des beweglichen Objektes von der ersten Position zu einer Position, die das bewegliche Objekt unmittelbar vor dem Durchlaufen der zweiten Position durchläuft. Die Additionsmittel wiederholen einen Additionsprozess, bei dem eine infinitesimale Zeiteinheit, die kleiner ist als die Zeiteinheit, zu der geschätzten Reisezeit addiert wird. Die virtuellen Positionssetzmittel berechnen eine virtuelle Position, die eine Position des beweglichen Objekts zu einer virtuellen Reisezeit angibt, die sich als Ergebnis des Additionsprozesses bei jedem Additionsprozess ergibt. Die Reisezeit-Berechnungsmittel können weiter Bestimmungsmittel (S37) und Reisezeitbestimmungsmittel (S38) enthalten. Die Bestimmungsmittel stellen fest, ob die berechnete virtuelle Position jedes Mal die zweite Position schneidet oder nicht, wenn die virtuelle Position berechnet wird. Das Reisezeit-Bestimmungsmittel stellt eine virtuelle Reisezeit an einer virtuellen Position fest unmittelbar bevor oder unmittelbar nachdem das Bestimmungsmittel festgestellt hat, dass die virtuelle Position die zweite Position schneidet, um eine Reisezeit zu erhalten, wenn die virtuelle Position die zweite Position schneidet.
  • Es ist zu beachten, dass das Reisezeit-Berechnungsprogramm den Computer auch als Erkennungsmittel (S4) betreiben kann, um zu erkennen, dass die von den Positionsbestimmungsmitteln festgestellte Position die zweite Position schneidet. Wenn das Erkennungsmittel feststellt, dass das bewegliche Objekt die zweite Position schneidet, berechnet das Bestimmungsmittel eine geschätzte Reisezeit für das bewegliche Objekt.
  • Die infinitesimale Zeiteinheit kann auch erhalten werden, indem die Zeiteinheit durch eine vorbestimmte ganze Zahl dividiert wird. In diesem Fall ergibt sich der vorbestimmte Abstand, indem ein Abstand zwischen einer Position, die das bewegliche Objekt unmittelbar vor Durchlaufen der zweiten Position durchläuft und einer Position, die das bewegliche Objekt unmittelbar nach Durchlaufen der zweiten Position durchläuft, durch eine vorbestimmte ganze Zahl dividiert wird.
  • Die Bestimmungsmittel können die Bestimmung auch durchführen, indem sie einen Abstand berechnen zwischen der Position des beweglichen Objektes, an der sich das bewegliche Objekt unmittelbar nach Durchlaufen der zweiten Position befindet und der zweiten Position und feststellen, ob der berechnete Abstand größer ist oder nicht als der Abstand zwischen der Position des beweglichen Objektes, an der sich das bewegliche Objekt unmittelbar nach Durchlaufen der zweiten Position befindet, und der virtuellen Position.
  • Die Bestimmungsmittel können die Bestimmung auch durchführen, indem sie einen Abstand berechnen zwischen einer Position des beweglichen Objektes unmittelbar nach Durchlaufen der zweiten Position und der zweiten Position und feststellen, ob der berechnete Abstand größer ist als der Abstand zwischen der Position des beweglichen Objektes unmittelbar vor Durchlaufen der zweiten Position und der virtuellen Position.
  • Es ist darauf hinzuweisen, dass das oben beschriebene Reisezeit-Berechnungsprogramm auch schon vorher in dem Spielgerät gespeichert werden kann, statt auf dem computerlesbaren Speichermedium.
  • Mit der vorliegenden Erfindung ist es möglich, eine Reise- oder Fahrzeit, zu der das bewegliche Objekt die zweite Position durchläuft, mit der notwendigen Genauigkeit zu erhalten. Außerdem erfolgt die Berechnung der Reisezeit mit der erforderlichen Genauigkeit, so dass es möglich ist, die Rechnungszeit zu verringern. Es ist außerdem möglich, die Genauigkeit und eine Bearbeitungszeit für die Reisezeitberechnung einzustellen, indem die Länge der infinitesimalen Zeiteinheit eingestellt wird. Damit ist es möglich, die Genauigkeit und die Bearbeitungszeit eines Reisezeit-Berechnungsverfahrens in Abhängigkeit vom Inhalt eines Spiels und der Leistungsfähigkeit eines Spielgerätes einzustellen.
  • Es ist zu beachten, dass das Berechnungsverfahren für die geschätzte Zeit durchgeführt wird, wenn die Feststellungsmittel erkennen, dass das bewegliche Objekt die zweite Position durchläuft, so dass es möglich ist, auf einfache Weise eine Reisezeit zu berechnen, wenn die zweite Position als virtuelle Position verwendet wird.
  • Die infinitesimale Zeiteinheit kann auch erhalten werden, indem eine Zeiteinheit durch eine vorbestimmte ganze Zahl dividiert wird, so dass es möglich ist, die infinitesimale Zeiteinheit und einen vorbestimmten Abstand leicht zu berechnen.
  • Die Feststellungsmittel verwenden zur Feststellung einen Abstand zwischen einer Position des beweglichen Objektes, wenn sich dieses unmittelbar vor dem Durchgang durch die zweite Position befindet und der zweiten Position, so dass es möglich ist, diese Feststellung leicht zu treffen.
  • Diese und weitere Aufgaben, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden aus der folgenden genauen Beschreibung der vorliegenden Erfindung deutlicher, die zusammen mit dem beigefügten Zeichnungen zu lesen ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt eine Außenansicht eines Spielsystems;
  • 2 zeigt ein funktionales Blockdiagramm eines Spielgeräts;
  • 3A und 3B zeigen Beispiele eines Bildschirms eines Spielgeräts, wenn dort ein Spielprogramm für ein Autowettrennen ausgeführt wird;
  • 4 erläutert die Beschreibung des Verfahrens zur Reise- oder Fahrzeitberechnung nach dem vorliegenden Ausführungsbeispiel;
  • 5A und 5B stellen die Daten dar, die in einem optischen Datenspeicher oder dem Arbeitsspeicher des Spielgeräts gespeichert sind;
  • 6 zeigt ein Übersichts-Flussdiagramm des in dem Spielgerät ausgeführten Spielverfahrens;
  • 7 zeigt ein Flussdiagramm mit dem genaueren Ablauf des in 6 dargestellten Schrittes 6;
  • 8 zeigt ein Flussdiagramm des in 7 dargestellten Berechnungsverfahrens für die Spielzeit in größtmöglicher Nähe zu einem tatsächlichen Programm;
  • 9 erläutert die Beschreibung des Berechnungsverfahrens für die Spielzeit in einer ersten Variante;
  • 10 zeigt ein Flussdiagramm mit dem Ablauf des Berechnungsverfahrens für die Reise- oder Fahrzeit nach der ersten Variante;
  • 11 erläutert die Beschreibung des Berechnungsverfahrens für eine Spielzeit nach einer zweiten Variante;
  • 12 erläutert die Beschreibung des Berechnungsverfahrens für eine Spielzeit nach einer dritten Variante;
  • 13 zeigt ein Flussdiagramm mit dem Ablauf des Berechnungsverfahrens für eine Reise- oder Fahrzeit nach der dritten Variante;
  • 14 erläutert die Beschreibung des Berechnungsverfahrens für eine Spielzeit nach einer vierten Variante;
  • 15 erläutert die Beschreibung eines Berechnungsverfahrens für eine Spielzeit nach einer fünften Variante;
  • 16 erläutert ein herkömmliches Verfahren zur Messung einer Spielzeit;
  • 17 zeigt ein Flussdiagramm für den Ablauf eines Multiplikationsverfahrens;
  • 18 zeigt ein Flussdiagramm mit dem Ablauf eines Divisionsverfahrens.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Im Folgenden wird ein Spielprogramm einschließlich eines Reise- oder Fahrzeit berechnungsprogramms nach einem Ausführungsbeispiel der vorliegenden Erfindung beschrieben, sowie ein Spielsystem zur Ausführung des Spielprogramms. Es ist zu beachten, dass bei der folgenden Beschreibung ein stationäres Spielgerät als Beispiel für ein Spielsystem herangezogen wird, das ein Spielprogramm gemäß der vorliegenden Erfindung ausführt, die aber nicht darauf beschränkt ist. Beispielsweise kann die vorliegende Erfindung in einem Gerät angewandt werden, bei dem ein Computer zur Ausführung eines Spielprogramms eingebaut ist, beispielsweise ein tragbares Spielgerät, ein Spielautomat, ein tragbares Endgerät, ein Mobiltelefon oder ein Personal Computer.
  • In 1 enthält das Spielsystem 1 ein stationäres Spielgerät 3 (im Folgenden als Spielgerät bezeichnet), sowie einen Fernsehempfänger 2 (im Folgenden als Fernseher bezeichnet), der nur ein Beispiel eines Anzeigegeräts darstellt, das über ein Verbindungskabel mit dem Spielgerät 3 verbunden ist. Eine Bedien- oder Steuereinheit 6 mit einer Vielzahl von Bedienschaltern, die von einem Spieler bedient werden können, ist mit dem Spielgerät 3 verbunden. Außerdem ist eine optische Platte 4 lösbar mit dem Spielgerät 3 verbunden, als Beispiel für ein Informationsspeichermedium, auf dem das Spielprogramm gemäß der vorliegenden Erfindung gespeichert sein kann. Außerdem kann bei Bedarf eine Speicherkarte 5 mit einem Flash-Speicher oder ähnlichem lösbar in das Spielgerät 3 eingeführt werden, um Spieledaten zu speichern. Das Spielgerät 3 gibt ein Spielbild wieder, das sich bei der Ausführung des in der optischen Platte 2 gespeicherten Spielprogramms auf dem Fernseher 2 ergibt. Weiterhin kann das Spielgerät 3 die auf der Speicherkarte 5 gespeicherten Daten verwenden und ermöglicht es so einem Spieler, das Spiel erneut an der Stelle zu starten, an der er/sie es zu einer füheren Zeit unterbrochen hat, oder um ein Spielbild auf dem Fernseher 2 darzustellen, indem eine Spielszene wiederhergestellt wird, die der Spieler zu einer früheren Zeit gespielt hat. Als Ergebnis empfindet der Spieler des Spielgeräts Freude am Spiel, wenn er die Bedieneinheit 6 betätigt und dabei das auf dem Fernseher 2 angezeigte Bild betrachtet.
  • Wie oben beschrieben, ist die Bedieneinheit 6 über ein Verbindungskabel lösbar mit dem Spielgerät 3 verbunden. Die Bedieneinheit 6 wird hauptsächlich dazu benutzt, eine Spielfigur zu steuern (typischerweise ein Rennauto, das vom Spieler bedient wird), wenn die Spielfigur in einem Spielraum erscheint, der auf dem Fernseher 2 wiedergegeben wird; dazu ist sie mit Eingabevorrichtungen versehen, beispielsweise Bedienungsknöpfe, Tasten, Hebel (Joysticks) und so weiter. Im Einzelnen weist die Bedieneinheit 6 einen vom Spieler gehaltenen Handgriff auf. Außerdem enthält die Bedieneinheit 6 beispielsweise einen Haupthebel (Joystick) 61, eine Kreuztaste 61, die mit dem linken Daumen des Spielers bedient werden können, einen C-Stick 63 sowie einen A-Knopf 64, die mit dem rechten Daumen des Spielers bedient werden können. Neben den oben beschriebenen Knöpfen enthält die Bedieneinheit 6 einem B-Knopf, einen X-Knopf, einen Y-Knopf, einen Start-Pause-Knopf, einen R-Knopf, der mit dem rechten Zeigefinger des Spielers bedient werden kann und einen L-Knopf, der mit dem linken Zeigefinger des Spielers bedient wird und so weiter. Wird beispielsweise ein Rennspiel, das im Folgenden beschrieben wird, durch Betätigung der Bedieneinheit 6 gespielt, so dient der Haupthebel 61 zur Abgabe einer Anweisung für das Rennauto, das vom Spieler bedient wird. Der A-Knopf 64 dient zur Steuerung der Beschleunigung des Rennautos. Während des Spielablaufs können noch weitere Bedienelemente verwendet werden, die später beschrieben werden. Diese Elemente gehören jedoch nicht direkt zur Beschreibung der vorliegenden Erfindung, so dass im Folgenden auf ihre genaue Beschreibung verzichtet wird. Das Spielsystem 1 erlaubt auch einer Vielzahl von Spielern das Spiel gleichzeitig zu spielen, wenn eine Vielzahl von Bedieneinrichtungen 6 mit dem Spielgerät 3 verbunden werden.
  • Anhand von 2 wird nun die Struktur des Spielgeräts 3 beschrieben. 2 stellt ein funktionales Blockdiagramm des Spielgeräts 3 dar. Nach 2 enthält das Spielgerät 3 beispielsweise eine 128-Bit-CPU 31 (zentrale Verarbeitungseinheit), um verschiedene Programme auszuführen. Die CPU 31 führt ein in einem (nicht dargestellten) Urlade-(Boot) ROM gespeichertes Urlade-(Boot-)Programm aus und führt die Initialisierung durch, beispielsweise für einen Arbeitsspeicher 32. Nachdem ein auf der optischen Platte gespeichertes Spielprogramm in den Arbeitsspeicher 32 geladen wurde, führt CPU 31 das Programm aus und erzeugt so einen Spielablauf entsprechend dem Spielprogramm. Mit der CPU 31 über einen Bus verbunden sind der Arbeitsspeicher 32, ein Video RAM (VRAM) 33, eine Schnittstelle (I/F) 34 für einen externen Speicher, eine Schnittstelle (I/F) 35 für die Bedieneinheit, eine GPU (grafische Bearbeitungseinheit) 36 und ein Lese-/Schreibgerät 37 für die optische Platte.
  • Der Arbeitsspeicher 32 stellt einen von der CPU 31 verwendeten Speicherbereich dar und speichert ein Spielprogramm etc., die für das Verfahren notwendig sind, das von der CDU 31 durchgeführt wird. Beispielsweise enthält der Arbeitsspeicher 32 ein Spielprogramm und verschiedene Daten und so weiter, die von der CPU 31 von der optischen Platte 4 gelesen wurden (siehe 5A und 5B). Das im Arbeitsspeicher 32 gespeicherte Spielprogramm und die verschiedenen Daten werden von der CPU 31 ausgeführt. Der VRAM 33 speichert die Daten für die Spielbilder, um ein Spielbild auf dem Fernseher 2 auszugeben. Über die Schnittstelle I/F 34 für den externen Speicher werden das Spielgerät 3 und die Speicherkarte 5 zur Kommunikation miteinander verbunden, wenn die Speicherkarte 5 in einen (nicht dargestellten) Verbinder eingegeben wird. Die CPU 31 greift zu dem in der Speicherkarte 5 enthaltenen Sicherungsspeicher über die Schnittstelle I/F 34 für den externen Speicher zu. Die Schnittstelle I/F 35 für die Bedieneinheit verbindet ein externes Gerät mit dem Spielgerät 3 über einen (nicht dargestellten) Verbinder. Beispielsweise ist die Bedieneinheit 6 über ein Verbindungskabel mit dem obigen Verbinder verbunden, so dass die Bedieneinheit 6 mit dem Spielgerät 3 über die Schnittstelle I/F 35 für die Bedieneinheit verbunden ist. Die GPU 36 besteht aus Halbleiterchips und führt beispielsweise eine Vektorkalkulation und eine Bildverarbeitung durch, die notwendig sind, um entsprechend eines Befehls von der CPU 31 eine 3-D-Grafik anzuzeigen, so dass ein von der GPU 36 aufbereitetes Spielbild auf dem Fernseher 2 wiedergegeben wird. Das optische Plattenlesegerät 37 liest entsprechend Befehlen der CPU 31 die verschiedenen Daten, wie beispielsweise ein Spielprogramm, Bilddaten und Audiodaten, die auf der optischen Platte 4 gespeichert sind.
  • Im Folgenden wird beschrieben, wie ein Spiel auf dem Fernseher 2 angezeigt wird, wenn ein auf der optischen Platte 4 gespeichertes Spielprogramm gemäß der vorliegenden Erfindung von dem Spielgerät 3 ausgeführt wird. 3A und 3B illustrieren ein Beispiel eines Spielbildschirms für ein Autorennspiel, das vom Spielgerät 3 ausgeführt wird. Nach der Darstellung in 3A und 3B handelt es sich dabei um ein Autorennspiel, bei dem sich ein Rennauto (Kart) 41, das von einem Spieler betätigt wird, längs einer Rennstrecke in einem dreidimensionalen Spielraum bewegt. Bei diesem Autorennspiel liegt der Spaß des Spielers darin, die beste Fahr- oder Reisezeit (Zielzeit) zu erzielen, die der Kart 41 benötigt, um die Ziellinie 42 nach dem Starten von einem (in 3A und 3B nicht dargestellten) Startpunkt zu erreichen.
  • In der vorliegenden Ausführungsform wird ein Autorennspiel natürlich nur als Beispiel für die Beschreibung herangezogen. Das Berechnungsprogramm für die Fahrt- oder Reisezeit gemäß der vorliegenden Erfindung ist aber natürlich nicht darauf beschränkt. Das Berechnungsprogramm für die Fahrzeit nach der vorliegenden Erfindung kann in einem Spiel eingesetzt werden, um die Reisezeit eines beweglichen Objektes zu berechnen, das sich in einem virtuellen Raum bewegt, und zwar zwischen zwei beliebigen Punkten unter Verwendung einer Zeiteinheit, die kleiner ist als die Zeiteinheit, innerhalb der ein Bildschirm wieder aufgefrischt wird. Beispielsweise kann das Reisezeit-Berechnungsprogramm nach der vorliegenden Erfindung in einem Aktionsspiel und so weiter eingesetzt werden. Der Spielraum könnte dreidimensional oder zweidimensional sein. Auch ist ein bewegliches Objekt, dessen Reisezeit zu berechnen ist, nicht auf ein durch einen Spieler gesteuertes Objekt beschränkt. Beispielsweise kann es sich bei dem beweglichen Objekt, dessen Reisezeit berechnet werden soll, um ein Objekt handeln, das vom Spielgerät gesteuert wird, beispielsweise ein Rennauto, das in einem Autorennspiel neben dem Rennauto erscheint, das vom Spieler betätigt wird.
  • Wenn das Spiel gestartet wird, startet das vom Spieler gesteuerte Kart 41 von einem Startpunkt. Der Spieler spielt das Spiel, indem er Kart 41 bedient oder steuert, so dass dieses die Ziellinie 42 so schnell wie möglich überschreitet. Hier wird der Bildschirm jedes Mal nach einer vorbestimmten Zeiteinheit (Rahmenzeit) aufgefrischt und angezeigt. Für dieses Spiel wird angenommen, dass die Rahmenzeit, 1/60 (sec) beträgt. Für jede Rahmenzeit wird die Position des Karts 41 entsprechend der Bedienung durch den Spieler berechnet, so dass der Kart 41 so angezeigt wird, dass seine Position im Spielraum zu jeder Rahmenzeit aktualisiert wird. Als Folge davon ist das Spielgerät 3 in der Lage, Bilder anzuzeigen, in denen sich der Kart 41 bewegt. 3A zeigt ein Beispiel für einen derartigen Bildschirm des Spiels. In 3A wird der Kart 41, dessen Position für jede Rahmenzeit berechnet wird, auf der Rennstrecke im Spielraum dargestellt. Außerdem ist die Ziellinie 42 auf der Rennstrecke dargestellt.
  • Entsprechend der Darstellung in 3A ist außerdem in der oberen linken Ecke des Spielbildschirms eine Anzeige 43 für die abgelaufene Zeit, die angibt, wie viel Zeit seit einer Startzeit vergangen ist. Diese abgelaufene Zeit stellt die Zeit dar, die vom Start des Karts 41 vom Startpunkt bis zum gegenwärtigen Zeitpunkt vergangen ist. Die abgelaufene Zeit wird mithilfe einer Rahmenzeit als Einheit berechnet. In 3A wird die abgelaufene Zeit in 1/1000 (sec) angegeben. Daher wird jedes Mal beim Auffrischen des Spielbildschirms der von der Anzeige 43 für die abgelaufene Zeit angezeigten Wert um 1/16 (msec) (= 1/60(sec)) inkrementiert und angezeigt. Das heißt, die abgelaufene Zeit wird mithilfe einer Rahmenzeit als Einheit berechnet, so dass es unmöglich ist, die abgelaufene Zeit mit einer Genauigkeit von weniger als 1/60 (sec) anzuzeigen.
  • 3B zeigt eine Darstellung des Spielbildschirms unmittelbar nachdem Kart 41 die Ziellinie 42 überschritten hat. In 3B wird ein Wert, der von der Anzeige 43 für die abgelaufene Zeit angezeigt wird, um 32 (msec) erhöht, was bedeutet, dass 3B einen Spielbildschirm darstellt, der zwei Rahmen nach dem in 3A dargestellten Spielbildschirm erscheint. In 3B überschreitet der Kart 41 die Ziellinie 42 und auf dem Spielbildschirm wird die Nachricht "Ziel" dargestellt, um den Spieler anzuzeigen, dass er/sie das Ziel erreicht hat. Außerdem wird eine Anzeige 44 für die Zielzeit angezeigt, die angibt, zu welcher Zielzeit der Kart die Ziellinie 42 überschritten hat. Die auf der Anzeige 44 für die Zielzeit angezeigte Zielzeit ist mit einer Genauigkeit von weniger als der Rahmenzeit berechnet, das heißt 16 (msec).
  • Nun erfolgt eine Übersicht über das Berechnungsverfahren zur Reise- oder Fahrzeit, das vom Spielprogramm gemäß der vorliegenden Erfindung durchgeführt wird. 4 veranschaulicht die Beschreibung des Berechnungsverfahrens für die Reisezeit im vorliegenden Ausführungsbeispiel. In 4 befindet sich Kart 41 an einer Position P1 in Spielraum. Es wird angenommen, dass die Position P1 durch (x1, y1, z1) in dreidimensionalen Koordinaten dargestellt ist. Im vorliegenden Spielprogramm wird die Position des Karts 41 in einem Rahmen, der jedem Rahmen folgt, durch einen Geschwindigkeitsvektor angegeben. Es ist zu beachten, dass der Geschwindigkeitsvektor, der für Spielprogramme eine bekannte Technik darstellt, auf der Basis einer Bedienung durch den Spieler berechnet wird, beispielsweise das Kippen eines Hebels (Sticks), die Eindrücktiefe bei der Betätigung eines Knopfs, oder die Zeit, während der ein Knopf gedrückt wird. Hier stellt der Geschwindigkeitsvektor im Spielprogramm eine Einheit dar, die Richtung und Betrag der Bewegung angibt, und die zur Berechnung von gewissen Koordinatenpunkten in Spielraum herangezogen wird. Der Geschwindigkeitsvektor ist eine Einheit, die Richtung und Betrag der Bewegung eines beweglichen Objektes in einen Rahmen anzeigt. In 4 wird für den Fall, dass sich Kart 41 an der Position P1 befindet, zuerst ein Geschwindigkeitsvektor V1 gemäß der Bedienung durch den Spieler bestimmt. Anschließend wird eine Position P2 des Karts 41 im nächsten Rahmen auf der Grundlage des Geschwindigkeitsvektors V1 bestimmt. Wird im Einzelnen angenommen, dass Position P2 durch (x2, y2, z2) dargestellt ist und der Geschwindigkeitsvektor V1 gleich (vx1, vy1, vz1) ist, so wird die Position P2 durch eine Gleichung (3) bestimmt: (x2,y2,z2) = (xl,yl,zl) + (vx1 + vy1 + vz1) (3)
  • Das oben dargestellte Berechnungsverfahren für den Geschwindigkeitsvektor und das Berechnungsverfahren für die Position im nächsten Rahmen werden jedes Mal durchgeführt, wenn der Spielbildschirm aufgefrischt wird. Als Ergebnis wird die Position des Karts 41 während jeder Rahmenzeit aktualisiert und der Kart 41 bewegt sich.
  • Im vorliegenden Ausführungsbeispiel erfolgt die Berechnung der Fahrzeit, wenn eine Position des Karts 41 eine Ziellinie G überschreitet. Für den Fall, dass die Position von Kart 41 auf die Ziellinie G fällt, ist es vorteilhaft anzunehmen, dass Kart 41 die Ziellinie G überschreitet. Es kann aber auch angenommen werden, dass Kart 41 die Ziellinie G nicht überschreitet. In 4 stellt die Position P1 eine Position dar, die Kart 41 kreuzt, unmittelbar bevor er die Ziellinie G kreuzt, und die Position P2 ist eine Position, die Karts 41 durchläuft unmittelbar nachdem er die Ziellinie G überschritten hat. Wenn also die Position von Kart 41 von Position P1 auf Position P2 übergeht, erfolgt die Berechnung der Fahrzeit. Bei der Berechnung der Fahrzeit werden zuerst eine infinitesimale Zeiteinheit Δt und ein infinitesimaler Einheitsvektor Δv berechnet. Die infinitesimale Zeiteinheit Δt ist kleiner als eine Rahmenzeit. Eine Fahrzeit wird mit einer Genauigkeit dieser infinitesimalen Zeiteinheit Δt berechnet. In der vorliegenden Ausführungsform stellt die infinitesimale Zeiteinheit Δt einen Wert dar, der durch Division einer Rahmenzeit durch eine vorbestimmte ganze Zahl n erhalten wird. Wird also angenommen, dass die Rahmenzeit Tf ist, so wird die infinitesimale Zeiteinheit Δt wie folgt berechnet: Δt = Tf/n (4)
  • Auf der anderen Seite entspricht der Betrag des infinitesimalen Einheitsvektors Δv einer Entfernung, die der Kart 41 während der infinitesimalen Zeiteinheit Δt zurücklegt. Die Richtung des infinitesimalen Einheitsvektors Δv ist entgegengesetzt zum Geschwindigkeitsvektor V1. Das heißt, der infinitesimale Einheitsvektor Δv verläuft in einer Bewegungsrichtung entgegengesetzt zum Geschwindigkeitsvektor und gibt eine Wegstrecke an, die kleiner ist als der Geschwindigkeitsvektor. Der infinitesimale Einheitsvektor Δv wird wie folgt berechnet: Δv = –V1/n (5)
  • Hier ist zu beachten, dass in der vorliegenden Ausführungsform die vorbestimmte ganze Zahl n vorher durch das Spielprogramm bestimmt wird. Je größer die vorbestimmte ganze Zahl n wird, desto kleiner wird die infinitesimale Zeiteinheit Δt, so dass es möglich ist, die Zielzeit mit großer Genauigkeit zu messen. Das heißt aber, dass die vorbestimmte ganze Zahl n einen Wert darstellt, der die Genauigkeit angibt, mit der die Zielzeit gemessen wird. Im Folgenden wird die vorbestimmte ganze Zahl n als Wert der Messgenauigkeit bezeichnet.
  • Nachdem die infinitesimale Zeiteinheit Δt und der infinitesimale Einheitsvektor Δv berechnet wurden, wird eine virtuelle Position auf einem Liniensegment aufgesetzt, das die Position P1 und die Position P2 miteinander verbindet. An der virtuellen Position wird eine Fahrzeit mit hoher Genauigkeit berechnet. In der vorliegenden Ausführungsform wird die virtuelle Position zu Beginn des Berechnungsprozesses für die Fahrzeit auf die Position P2 gesetzt. Danach wird die virtuelle Position von der Position P2 um den oben beschriebenen infinitesimalen Einheitsvektor Δv verschoben. Das heißt, die virtuelle Position wird so aktualisiert, dass eine um den infinitesimalen Einheitsvektor Δv gegenüber der ursprünglichen virtuellen Position verschobene Position als neue virtuelle Position gesetzt wird.
  • Ebenso wird jedes Mal, wenn eine virtuelle Position gesetzt wird, eine Fahrzeit an dieser virtuellen Position berechnet. Unter "Fahrzeit an der virtuellen Position" wird die Fahrzeit vom Startpunkt zur virtuellen Position verstanden. Im einzelnen wird die Fahrzeit an der virtuellen Position wie folgt berechnet: Zuerst kann mit hilfe einer Rahmenzeit eine Fahrzeit T'an einer ersten virtuellen Position (Position P2) berechnet werden. Eine nächste virtuelle Position p1 wird auf eine Position gesetzt, die gegenüber der Position P2 um den infinitesimalen Einheitsvektor Δv verschoben ist. Eine Fahrzeit an der Position p1 ist ein Wert, der durch Subtraktion der infinitesimalen Zeiteinheit Δt von der Fahrzeit T' erhalten wird. Weiter wird eine nächste virtuelle Position p2 gesetzt, die gegenüber der vorherigen virtuellen Position p1 in Richtung der Position P1 um den infinitesimalen Einheitsvektor Δv verschoben ist (mit anderen Worten "zurückgekehrte Position"). Eine Fahrzeit an der Position p2 ist ein Wert, der durch Subtraktion der infinitesimalen Zeiteinheit Δt von der Fahrzeit an der virtuellen Position p1 erhalten wird. In Bezug auf die folgenden virtuellen Positionen wird jede virtuelle Position in ähnlicher Weise in eine Lage verschoben, die sich von der vorherigen virtuellen Position um den infinitesimalen Einheitsvektor Δv unterscheidet. Damit kann die Fahrzeit an der folgenden virtuellen Position sequenziell berechnet werden, indem die infinitesimale Zeiteinheit Δt von der Fahrzeit an der vorherigen virtuellen Position abgezogen wird.
  • Das oben beschriebene Verfahren zur Berechnung einer virtuellen Position und einer Fahrzeit an der virtuellen Position wird solange durchgeführt, bis die virtuelle Position die Ziellinie G überschreitet, das heißt, bis die virtuelle Position mit einer Position P' gerade vor der Ziellinie G zusammenfällt. Zu beachten ist, dass der Ausdruck "eine Position gerade vor der Ziellinie" eine Position darstellt, durch die der Kart passiert, bevor er die Ziellinie überschreitet. Auf der anderen Seite bedeutet "eine Position nach der Ziellinie" eine Position, durch die der Kart fährt, nachdem er die Ziellinie überschritten hat. Auch für den Fall, dass die virtuelle Position auf die Ziellinie G fällt, wird bevorzugt angenommen, dass die Ziellinie G überschritten ist. Auf der anderen Seite kann auch angenommen werden, dass die Ziellinie G nicht überschritten ist. Für den Fall, dass die virtuelle Position auf die Position P' gerade hinter der Ziellinie G gesetzt ist, wird eine Fahrzeit als Zielzeit T bestimmt, die der Fahrzeit an einer vorherigen virtuellen Position p' entspricht (eine Position unmittelbar vor der Ziellinie G). Es ist zu beachten, dass die Fahrzeit an der Position p' berechnet wird, wenn eine virtuelle Position auf die Position p' gesetzt ist. In 4 stellt die Zielzeit T einen Wert dar, der durch viermalige Subtraktion der infinitesimalen Zeiteinheit Δt von der Fahrzeit an der Position P2 erhalten wird, das heißt T = T'×4Δt. Hier ist zu beachten, dass in der vorliegenden Ausführungsform eine Fahrzeit an der Position p' unmittelbar vor der Ziellinie G als Zielzeit T unter der Annahme bestimmt wird, das "eine Zielzeit T eine Fahrzeit an einer Position ist, die der Kart kreuzt, nach dem er die Ziellinie überschritten hat". In anderen Ausführungsformen kann jedoch auch eine Fahrzeit an der Position P' gerade nach der Ziellinie G als Zielzeit T bestimmt werden.
  • Im Folgenden wird anhand von 5A und 5B und den 6 bis 8 ein Spielverlauf beschrieben, der durch das Spielgerät 3 ausgefürt wird. Wenn das Spielgerät 3 eingeschaltet wird, führt die CPU 31 des Spielgeräts 3 ein Urlade-(Boot) Programm aus, das in einem (nicht dargestellten) Boot-ROM gespeichert ist, so dass jede Einheit wie beispielsweise der Arbeitsspeicher 32 initialisiert wird. Darauf wird das auf der optischen Platte 4 gespeicherte Spielprogramm über das Plattenlesegerät 37 in den Arbeitsspeicher 32 geladen und die Ausführung des Spielprogramms beginnt. Damit wird auf dem Fernseher 2 über die CPU 36 ein Spielraum angezeigt und das Spiel wird gestartet. Ein Flussdiagramm in 6 zeigt ein Verfahren gemäß dem oben beschriebenen Ablauf. Es ist zu beachten, dass im Folgenden hauptsächlich ein Verfahren zur Berechnung und zur Anzeige einer Fahrzeit beschrieben wird, während die Bewegung eines Kart oder Verfahren zur Wiedergabe einer Spiellandkarte (Rennstrecke) und eines Karts auf dem Spielbildschirm, die nicht direkt mit der vorliegenden Erfindung zusammenhängen, nicht beschrieben werden.
  • Bevor auf die Einzelheiten des Spielverlaufs eingegangen wird, werden die im Arbeitsspeicher 32 für die Benutzung im Spielablauf gespeicherten Daten beschrieben. Die 5A und 5B stellen Daten dar, die im optischen Speicher 4 und der Speicherbelegung des Arbeitsspeichers 32 des Spielgeräts 3 gespeichert sind. 5A zeigt die Speicherbelegung eines Spielprogramms 51 und Bilddaten 32 für das Spiel, die auf der optischen Platte 4 gespeichert sind. In 5A umfasst das Spielprogramm 51 beispielsweise ein Programm 51a zu Bewegung des Karts, ein Programm 51b zu Feststellung des Ziels, ein Berechnungsprogramm 51c zur Berechnung der Zielzeit, ein Anzeigeprogramm 51d für die abgelaufene Zeit, ein Anzeigeprogramm 51e für die Zielzeit und ein Programm 51f zur Erzeugung eines Spielraums.
  • Das Kartbewegungsprogramm 51a bestimmt jedes Mal eine Position des Karts, wenn der Spielbildschirm aktualisiert wird. Das Zielfeststellungsprogramm 51b stellt fest, dass die vom Kartbewegungsprogramm 51a bestimmte Position die Ziellinie überschreitet. Das Zielzeit-Berechnungsprogramm 51c führt die Berechnung der Zielzeit durch, die im Folgenden beschrieben ist. Das Anzeigeprogramm 51d für die abgelaufene Zeit gibt auf dem Bildschirm die abgelaufene Zeit wieder (mit der in 3A dargestellten Anzeige 43 für die abgelaufene Zeit), die in Rahmenzeiten gemessen wird. Das Anzeigeprogramm 51e zeigt die Spielzeit, zu der der Kart die Ziellinie überschreitet, auf dem Spielbildschirm an (mit der in 38 gezeigten Anzeige 44 für die Zielzeit), die mit einer Genauigkeit von weniger als einer Rahmenzeit gemessen ist. Das Konstruktionsprogramm 51f baut eine Rennstrecke im Spielraum auf. Neben den oben beschriebenen Programmen enthält das Spielprogramm 51 verschiedene weitere Programme, beispielsweise ein Programm zur Ermittlung der Spielgewinnpunkte.
  • Entsprechend 5A enthält Speicher 52 Bilddaten des Spiels, die zur Erzeugung von Spielbildung herangezogen werden, beispielsweise Kartendaten 52a, topografische Daten 52b, Daten 52c für Rennautos und Daten 52d für Zielpunkte. Die Kartendaten 52a sind Bilddaten einer Rennstrecke, die in dem Spielraum erzeugt wird. Die topografischen Daten 52b sind Bilddaten der topografischen Merkmale in der Umgebung der Rennstrecke. Die Daten 52c für die Rennautos sind Bilddaten eines Karts, der vom Spieler bedient wird und anderer Karts, die in dem Spiel erscheinen. Die Zielpunktdaten 52d sind Bilddaten einer Ziellinie der Rennstrecke. Neben den oben beschriebenen Daten enthalten die Spielbilddaten 52 ver schiedene andere Daten, wie beispielsweise Bilddaten eines Gegenstands.
  • 5B zeigt eine Wiedergabe einer Speicherbelegung des Arbeitsspeichers 32 in Spielgerät 3. Der Arbeitsspeicher 32 umfasst einen Zählerpuffer 32a, einen Puffer 32b für die aktuelle Position, einen Puffer 32c für einen Geschwindigkeitsvektor, einen Puffer 32d für die Zielzeit, einen Puffer 32e für den Wert der Messgenauigkeit, einen Puffer 32f für die infinitesimale Zeiteinheit, einen Puffer 32g für einen infinitesimalen Einheitsvektor, einen Puffer 32h für die virtuelle Position und einen Puffer 32i für die infinitesimale Fahrzeit.
  • Der Zählerpuffer 32a ist ein Bereich zur Speicherung eines Zählerstandes C. Der Zählerstand C gibt die Anzahl der Rahmen wieder, die gezählt wurden, seit sich der Kart vom Startpunkt aus bewegt hat. Der Zählerstand C wird zur Berechnung einer abgelaufenen Zeit in einem beliebigen Rahmen seit der Startzeit verwendet. Der Puffer 32b für die aktuelle Position ist ein Bereich zum Speichern der aktuellen Position P des Karts. Die Kartposition P wird durch dreidimensionale Koordinaten (x, y, z) dargestellt. Der Puffer 32c für den Geschwindigkeitsvektor ist ein Bereich zum Speichern des Geschwindigkeitssektors V des Karts. Wie im Fall der Position P wird der Geschwindigkeitsvektor V durch dreidimensionale Koordinaten (x, y, z) dargestellt.
  • Der Puffer 32d für die Zielzeit speichert eine Zielzeit T. Wenn der Kart die Ziellinie überschreitet, wird die in dem Zielzeitpuffer 32d gespeicherte Zielzeit T auf dem Bildschirm angezeigt (siehe 3B). Beim Verfahren zur Berechnung der Zielzeit T (Schritt 6 von 6, der später beschrieben wird) werden verwendet: der Puffer 32e mit dem Wert der Messgenauigkeit, der Puffer 32f mit der infinitesimalen Zeiteinheit, der Puffer 32g mit dem infinitesimalen Einheitsvektor, der Puffer 32h mit der virtuellen Position und der Puffer 32i für die infinitesimale Fahrzeit, die im Folgenden beschrieben werden.
  • Der Puffer 32e für den Wert der Messgenauigkeit speichert einen Wert n für die Messgenauigkeit (n ist die oben erwähnte vorbestimmte ganze Zahl). Im vorliegenden Ausführungsbeispiel wird angenommen, dass ein Wert n vorher im Spielprogramm gespeichert wurde. Der Puffer 32f für die infinitesimale Zeiteinheit ist ein Bereich zum Speichern der infinitesimalen Zeiteinheit Δt. Der Puffer 32g für den infinitesimalen Einheitsvektor ist ein Bereich zur Speicherung des infinitesimalen Einheitsvektors Δv. Der Puffer 32h für die virtuelle Position speichert eine virtuelle Position p. Die virtuelle Position p wird durch dreidimensionale Koordinaten (x, y, z) dargestellt. Der Puffer 32i für die infinitesimale Fahrzeit ist ein Bereich zum Speichern einer Fahrzeit t an der virtuellen Position p.
  • Im Folgenden wird der Spielablauf im Einzelnen beschrieben. 6 ist ein Übersichts-Flussdiagramm des in dem Spielgerät 3 ausgeführten Spielablaufs. Es ist zu beachten, dass 6 einen Ablauf darstellt, nachdem das Spiel begonnen hat und der Kart vom Startpunkt aus startet. Entsprechend der Darstellung in 6 wird während jedes Rahmens eine Reihe von Abläufen bei den Schritten 1 bis 8 ausgeführt (in den Zeichnungen wird "Schritt" mit "S" abgekürzt).
  • Zuerst wird im Schritt 1 die Anzahl von Rahmen gezählt, seit der Kart gestartet ist. Im Einzelnen erhöht CPU 31 den Wert des Zählerpuffers 32a um 1. Im folgenden Schritt 2 wird ein Geschwindigkeitsvektor V entsprechend einer Bedienung durch den Spieler berechnet, das heißt einer Eingabe von der Bedieneinheit 6. Gleichzeitig wird im Arbeitsspeicher 32 der Inhalt des Puffers 32c für den Geschwindigkeitsvektor auf den neu berechneten Geschwindigkeitsvektor aktualisiert. Im Schritt 3 wird eine Kartposition auf der Grundlage des Geschwindigkeitsvektors V berechnet. Im Einzelnen wird dazu die Kartposition P mit der Gleichung (3) auf der Grundlage des Geschwindigkeitsvektors V berechnet, der im Schritt 2 aktualisiert wurde und dann in dem Puffer 32c für den Geschwindigkeitsvektor gespeichert und die Position P im Puffer 32b für die aktuelle Position. Es ist zu beachten, dass der Inhalt des Puffers 32b für die aktuelle Position entsprechend der neu berechneten Position P aktualisiert wird. Mit diesem Schritt 3 wird die Kartposition zu jedem Zeitpunkt bestimmt, an dem der Spielbildschirm aktualisiert wird. Das Verfahren bei den Schritten 2 und 3 wird unter Verwendung des Kartbewegungsprogramms 51a durchgeführt, das in dem Spielprogramm 51 enthalten ist.
  • Im folgenden Schritt 4 wird festgestellt, ob der Kart die Ziellinie überschritten hat oder nicht, das heißt, ob die in Schritt 3 berechnete Position P eine Position hinter der Ziellinie darstellt. Es ist zu beachten, dass im vorliegenden Ausführungsbeispiel die Ziellinie als eine Ebene im dreidimensionalen Spielraum angenommen wird, und dass der dreidimensionale Spielraum durch die Ebene der Ziellinie in zwei Teile geteilt ist. Bei Schritt 4 berechnet somit die CPU 31 einen Abstand zwischen der Position P (x, y, z), die in Schritt 3 berechnet wurde und der Ebene ax + by + cz = 0 (a, b und c sind Konstanten), die die Ziellinie darstellt. Dann wird anhand der Berechnungsergebnisse (positiv oder negativ) festgestellt, ob die Position P in einem Raum liegt, der gerade vor der Ziellinie liegt, oder in einem Raum nach der Ziellinie. Als Ergebnis kann festgestellt werden, ob der Kart die Ziellinie überschritten hat oder nicht. Es ist zu beachten, dass der Vorgang bei Schritt 4 unter Verwendung des Programms 51b für die Zielerkennung durchgeführt wird.
  • Wenn bei Schritt 4 festgestellt wird, dass der Kart die Ziellinie nicht überschritten hat, so wird das Verfahren von Schritt 5 durchgeführt. Das heißt, dann wird die von einer Startzeit bis zur aktuellen Zeit abgelaufene Zeit auf dem Spielbildschirm dargestellt (mit der in 3A gezeigten Anzeige 43 für die abgelaufene Zeit). Die abgelaufene Zeit wird mithilfe des Zählerwerts C berechnet. Im einzelnen wird die abgelaufene Zeit als Produkt aus Zählerwert C und Rahmenzeit Tf (sec) berechnet. Es ist zu beachten, dass der Ablauf bei Schritt 5 mit dem Anzeigeprogramm 51d die für die abgelaufene Zeit durchgeführt wird. Nach Schritt 5 wird der Ablauf bei Schritt 8 durchgeführt.
  • Wird andererseits bei Schritt 4 festgestellt, dass der Kart die Ziellinie überschritten hat, das heißt, wenn in Schritt 4 bestimmt wurde, dass der Kart die Ziellinie überschreitet, werden die Abläufe bei den Schritten 6 und 7 durchgeführt. Das heißt, bei Schritt 6 erfolgt die Berechnung der Zielzeit. Der Ablauf zur Berechnung der Zielzeit wird so durchgeführt, dass eine Zielzeit mit einer Genauigkeit von weniger als einer Rahmenzeit erfolgt. Durch Schritt 6 wird der Wert der Zielzeit T in den Puffer 32d für die Zielzeit im Arbeitsspeicher 32 eingeschrieben. Der Vorgang bei Schritt 6 wird mithilfe des Programms 51c zur Berechnung der Zielzeit durchgeführt. Einzelheiten von Schritt 6 werden im Folgenden anhand der 7 beschrieben. Im folgenden Schritt 7 wird die in Schritt 6 berechnete Zielzeit auf dem Spielbildschirm angezeigt. Damit ist es möglich, dem Spieler eine Zielzeit mit einer Genauigkeit von weniger als einer Rahmenzeit anzugeben. Es ist zu beachten, dass das Verfahren von Schritt 7 durch das Programm 51e für die Anzeige der Zielzeit durchgeführt wird. Nach Schritt 7 werden die Abläufe bei Schritt 8 durchgeführt.
  • Im folgenden Schritt 8 wird festgestellt, ob das Spiel zu Ende ist oder nicht. Beispielsweise wird festgestellt, ob eine vorbestimmte Zeit vergangen ist, seit die Zielzeit des Karts angezeigt wird, oder ob der Spieler eine Eingabe zur Beendigung des Spieles gemacht hat. Wird in Schritt 8 festgestellt, dass das Spiel nicht zu Ende ist, wird die in den Schritten 1 bis 8 durchgeführte Schrittfolge erneut durchgeführt. Wird andererseits bei Schritt 8 festgestellt, dass das Spiel zu Ende ist, wird der in 6 dargestellte Ablauf beendet.
  • 7 zeigt ein Flussdiagramm eines detaillierten Ablaufs von Schritt 6 wie in 6 dargestellt. Zuerst wird bei Schritt 11 eine Fahrzeit bei einer Position P2 berechnet, die der Kart durchläuft, unmittelbar nachdem er die Ziellinie überschritten hat. Es ist zu beachten, dass die Position P2, die der Kart unmittelbar nach dem Überschreiten der Ziellinie durchläuft, eine Position ist, die in dem unmittelbar vorhergehenden Schritt 3 berechnet wurde. Die Fahrzeit an der Position P2 kann als Produkt berechnet werden aus dem Zählerwert C im Zählerpuffer 32a und der Rahmenzeit Tf (sec). Es ist zu beachten, dass die im Schritt 11 berechnete Fahrzeit mit einer Genauigkeit von einer Rahmenzeit berechnet wird, so dass die oben genannte Fahrzeit in der vorliegenden Spezifikation als eine geschätzte Fahrzeit bezeichnet werden kann. Die im Schritt 11 berechnete geschätzte Fahrzeit wird im Puffer 32i für die infinitesimale Fahrzeit des Arbeitsspeichers 32 gespeichert. Im folgenden Schritt 12 wird die Position P2 auf eine virtuelle Position gesetzt. Im Einzelnen werden dazu die Koordinaten der Position P2 im Puffer 32h für die virtuelle Position in Arbeitsspeicher 32 gespeichert.
  • Im folgenden Schritt 13 wird ein infinitesimaler Einheitsvektor Δv berechnet. Der infinitesimale Einheitsvektor Δv wird durch Multiplikation eines Geschwindigkeitsvektors V1 mit –1/n berechnet (n ist der oben beschriebene Wert für die Messgenauigkeit). Es ist zu beachten, dass der Geschwindigkeitsvektor V1 ein Geschwindigkeitsvektor ist, der gegenwärtig im Puffer 32c für den Geschwindigkeitsvektor des Arbeitsspeichers 32 enthalten ist. Der in Schritt 11 berechnete infinitesimale Einheitsvektor Δv wird im Puffer 32g für den infinitesimalen Einheitsvektor im Arbeitsspeicher 32 gespeichert.
  • Im folgenden Schritt 14 wird eine infinitesimale Zeiteinheit Δt berechnet. Die infinitesimale Zeiteinheit Δt wird durch Multiplikation der Rahmenzeit Tf mit 1/n berechnet. Die in Schritt 13 berechnete infinitesimale Zeiteinheit wird im Puffer 32f für die infinitesimale Zeiteinheit im Arbeitsspeicher 32 gespeichert.
  • Im folgenden Schritt 15 erfolgt eine Aktualisierung der virtuellen Position, um eine virtuelle Position p um den infinitesimalen Einheitsvektor Δv zu verschieben. Das heißt, eine von der aktuellen virtuellen Position um den infinitesimalen Einheitsvektor Δv verschobene Position wird als neue virtuelle Position gesetzt. Im Einzelnen wird die virtuelle Position p im Inhalt des Puffers 32h für die virtuelle Position im Arbeitsspeicher 32 auf Positionskoordinaten aktualisiert, die durch Addition des infinitesimalen Einheitsvektors Δv zu den aktuell gespeicherten Positionskoordinaten erhalten werden.
  • Im folgenden Schritt 16 wird festgestellt, ob die aktuelle virtuelle Position auf einer Position gerade vor der Ziellinie liegt. Die Feststellung bei Schritt 16 erfolgt, in dem die gegenwärtig im Puffer 32h für die virtuelle Position im Arbeitsspeicher 32 gespeicherten Koordinaten verwendet werden. Es ist möglich, die Feststellung bei Schritt 16 in ähnlicher Weise wie in Schritt 4 von 6 durchzuführen.
  • Wird bei Schritt 16 festgestellt, dass die aktuelle virtuelle Position nicht gerade vor der Ziellinie liegt, wird das Verfahren bei Schritt 17 durchgeführt. Das heißt, im Schritt 17 wird die infinitesimale Zeiteinheit Δt von der infinitesimalen Fahrzeit t subtrahiert, die im Puffer 32i für die infinitesimale Fahrzeit in Arbeitsspeicher 32 gespeichert ist. Damit wird eine Fahrzeit an der aktuellen virtuellen Position berechnet (der virtuellen Position, die im unmittelbar vorhergehenden Schritt 16 berechnet wurde). In der vorliegenden Ausführungsform kann die Fahrzeit an der virtuellen Position als virtuelle Fahrzeit bezeichnet werden. Es ist zu beachten, dass die in Schritt 11 berechnete geschätzte Fahrzeit in der virtuellen Fahrzeit enthalten ist. Nach Schritt 17 werden die Vorgänge bei Schritt 15 erneut durchgeführt und die Vorgänge bei den Schritten 15 und 17 werden solange wiederholt, bis beim Schritt 16 eine JA-Entscheidung getroffen wird.
  • Wird andererseits bei Schritt 16 festgestellt, dass die aktuelle virtuelle Position gerade vor der Ziellinie liegt, so wird das Verfahren bei Schritt 18 durchgeführt. Das heißt, bei Schritt 18 wird die aktuelle infinitesimale Fahrzeit t als Zielzeit T bestimmt. In Einzelnen wird die infinitesimale Fahrzeit, die in dem Puffer 32i für die infinitesimale Fahrzeit im Arbeitsspeicher 32 gespeichert ist, im Puffer 32d für die Zielzeit gespeichert. Es ist zu beachten, dass die bei Schritt 18 im Puffer 32h für die virtuelle Position gespeicherte virtuelle Position gerade vor der Ziellinie liegt. Andererseits gibt die infinitesimale Fahrzeit t, die als Inhalt im Puffer 32i für die infinitesimale Fahrzeit gespeichert ist, nicht eine Fahrzeit an einer Position gerade vor der Ziellinie an. Die infinitesimale Fahrzeit t, die bei Schritt 18 als Inhalt im Puffer 32i für die infinitesimale Fahrzeit gespeichert wurde, zeigt eine Fahrzeit an einer virtuellen Position (einer Position jenseits der Ziellinie), vor der Position an, die gerade vor der Ziellinie liegt. In der vorliegenden Ausführungs form wird daher als Zielzeit eine Fahrzeit bei einer virtuellen Position bestimmt, die unmittelbar vor der virtuellen Position gerade vor der Ziellinie liegt. Nach dem oben beschriebenen Schritt 17 wird das in 7 beschriebene Verfahren beendet.
  • 8 zeigt ein Flussdiagramm des in 7 enthaltenen Berechnungsprozesses für die Zielzeit mit größtmöglicher Annäherung an den tatsächlichen Programmablauf. Hier ist zu beachten, dass sich das in 8 dargestellte Flussdiagramm von dem in 7 in einigen Teilen unterscheidet, doch wird derselbe Prozess wie in 7 durchgeführt. Zuerst wird in Schritt 21 eine Berechnung t = Tf × C durchgeführt. Die infinitesimale Fahrzeit t, die in Schritt 21 berechnet wird, stellt eine geschätzte Fahrzeit an einer Kartposition unmittelbar nach dem Überschreiten der Ziellinie dar. Schritt 21 entspricht also dem Verfahren bei Schritt 11.
  • Im folgenden Schritt 22 wird eine Berechnung Δv = –V1/n durchgeführt. Dieser Schritt 22 entspricht dem Verfahren bei Schritt 13. Im folgenden Schritt 23 erfolgt die Berechnung Δt = Tf/n. Dieser Schritt 23 entspricht dem Verfahren bei Schritt 14.
  • Im folgenden Schritt 24 wird eine Berechnung p = P + Δv durchgeführt. Hier entspricht P einer aktuellen Position des Karts, das heißt den Positionskoordinaten, die im Puffer 32b für die aktuelle Position enthalten sind. Im einzelnen entspricht die Position P einer Position des Karts (Position P2 wie in 4 dargestellt), unmittelbar nachdem der Kart die Ziellinie überschritten hat. Damit stellt die in Schritt 24 berechnete virtuelle Position p eine virtuelle Position dar (Position p1 wie in 4 dargestellt) dar, die um den infinitesimalen Einheitsvektor Δv gegenüber der Position verschoben ist, die der Kart unmittelbar nach dem Überschreiten der Ziellinie einnimmt.
  • Im folgenden Schritt 25 erfolgt eine Berechnung Ziel (p). Hier stellt Ziel (p) eine Funktion dar, die feststellt, ob die Position p hinter der Ziellinie liegt oder nicht.
  • Liefert die Funktion Ziel (p) als Antwort JA, werden bei Schritt 26 die Berechnungen t = t – Δt und p = p + Δv durchgeführt. Die Berechnung t = t – Δt entspricht Schritt 17 und die Berechnung p = p + Δv entspricht der Aktualisierung der virtuellen Position in Schritt 15. Nach Schritt 26 wird ein Verfahren von Schritt 25 erneut durchgeführt. Liefert andererseits die Funktion Ziel (p) die Antwort NEIN, so endet das Verfahren wie in 8 dargestellt. Als Zielzeit T wird dann ein Wert der infinitesimalen Fahrzeit t am Ende des Verfahrens nach 8 bestimmt. Im Verfahren nach 8 kann daher ein Puffer vorgesehen werden, in dem der Puffer 32i für die infinitesimale Fahrzeit und der Puffer 32d für die Zielzeit im Arbeitsspeicher 32 kombiniert sind, so dass der Wert dieses Puffers am Ende des Verfahrens entsprechend 8 als Zielzeit angezeigt werden kann. Auf diese Weise ist es im Verfahren nach 8 möglich, den Puffer 32i für die infinitesimale Fahrzeit und den Puffer 32d für die Zielzeit miteinander zu kombinieren, um den Speicherbedarf im Arbeitsspeicher 32 zu verringern.
  • Wie oben beschrieben, wird in der vorliegenden Ausführungsform das Verfahren zum Verschieben einer virtuellen Position p um einen infinitesimalen Einheitsvektor Δv wiederholt und bei jeder Durchführung des obigen Prozesses wird ein Verfahren durchgeführt, um die infinitesimale Zeiteinheit Δt von der Fahrtzeit (infinitesimale Fahrzeit t) an einer verschobenen virtuellen Position zu subtrahieren (Schritte 15 und 16, Schritt 26). Als Ergebnis ist es möglich, eine Zielzeit T nur mithilfe von Addition, Subtraktion und Multiplikation und ohne Division zu berechnen. Damit wird eine Verringerung der Bearbeitungszeit bei der Berechnung einer Zielzeit T im Vergleich zu einem Verfahren möglich, dass eine Division durchführt.
  • In der vorliegenden Ausführungsform ist es auch möglich, eine Zielzeit mit größerer Genauigkeit zu berechnen, indem der Wert n für die Messgenauigkeit geändert wird; umgekehrt ist es möglich, eine Zielzeit schneller zu berechnen. Die Genauigkeit einer zu berechnenden Zielzeit wird also größer, wenn der Wert n für die Messgenauigkeit größer gemacht wird. Eine Zielzeit kann auch schneller berech net werden, wenn der Wert n für die Messgenauigkeit herabgesetzt wird. Im einzelnen ist es möglich, eine geeignete Zielzeit für jedes einer Vielzahl von Spielen zu berechnen, indem ein Wert n entsprechend dem Spielgerät und dem Inhalt des Spieles gewählt wird, für die die Zielzeit berechnet worden sollen. Ist es beispielsweise erforderlich, eine Zielzeit mit einer vorgegebenen Genauigkeit zu berechnen/anzuzeigen, kann ein Wert n ausgewählt werden, der dieser Genauigkeit entspricht. Soll also bei einer Rahmenzeit von 1/60 (sec) eine Zielzeit in 1/1000 (sec) berechnet werden, so kann diese ungefähr gewünschte Genauigkeit von 1/1000 (sec) erreicht werden, indem n zu 17 gewählt wird. Wird andererseits eine schnellere Berechnung für die Zielzeit gewünscht, so kann der Wert n herabgesetzt werden.
  • Es ist zu beachten, dass im Verfahren nach den 7 und 8 nach dem Verschieben einer virtuellen Position (Schritt 15) eine Berechnung einer Fahrzeit an der virtuellen Position nach der Verschiebung erfolgt (Schritt 17). An dieser Stelle kann bei anderen Ausführungsformen auf die Berechnung einer Fahrzeit an einer virtuellen Position nach der Verschiebung ein Verfahren erfolgen, bei dem eine virtuelle Position verschoben wird. Das heißt, die Subtraktion einer infinitesimalen Zeiteinheit von der Fahrzeit an der aktuellen virtuellen Position kann wiederholt werden und für jeden Subtraktionsprozess kann eine virtuelle Position berechnet werden, die eine Position eines beweglichen Objektes zu einer Reisezeit angibt, an der die Subtraktion durchgeführt wird.
  • Außerdem werden in dem Verfahren nach 7 und 8 alternativ Verfahren durchgeführt, um eine virtuelle Position zu verschieben (Schritt 15) und ein Verfahren zur Berechnung einer Fahrzeit an einer virtuellen Position nach der Verschiebung (Schritt 17); es kann aber auch ein Verfahren gewählt werden, bei dem diese beiden Verfahren nicht alternativ durchgeführt werden. Beispielsweise kann ein Verfahren durchgeführt werden, bei dem die Verschiebung einer virtuellen Position zweimal durchgeführt wird und die Berechnung einer Fahrzeit an einer virtuellen Position nach der Verschiebung anschließend einmal erfolgt. Dieses Verfahren entspricht jedoch im wesentlichen einer Verdopplung des Betrags der infinitesimalen Zeiteinheit Δt (das heißt der Halbierung des Wertes n der Messgenauigkeit).
  • Für das Verfahren nach den 7 und 8 wird außerdem angenommen, dass die Zielzeit eine virtuelle Fahrzeit an einer virtuellen Position ist, die der Kart unmittelbar vor dem Überschreiten der Ziellinie durchläuft (Position p' in der Darstellung von 4). Es ist zu beachten, dass das in den 7 und 8 dargestellte Verfahren in der folgenden beschriebenen Weise geändert werden kann, wenn als Zielzeit eine virtuelle Fahrzeit an einer virtuellen Position gesetzt wird, die der Kart unmittelbar nach dem Überschreiten der Ziellinie durchläuft (Position P' in 4). Das heißt, in 7 folgt Schritt 17 dem Schritt 15 und anschließend wird Schritt 16 ausgeführt. Wird in Schritt 16 ein NEIN festgestellt, so kehrt das Verfahren nach Schritt 15 zurück. In 8 kann auch eine Kartposition, die der Kart unmittelbar nach dem Überschreiten der Ziellinie durchläuft, als virtuelle Position in Schritt 24 gesetzt werden. Das heißt, eine Berechnung p-P kann in Schritt 24 erfolgen.
  • Im Verfahren bei Schritt 17 in 7 kann anstelle einer Subtraktion einer infinitesimalen Zeiteinheit Δt von einer infinitesimalen Fahrzeit t auch ein neuer Zähler C' vorbereitet werden (der sich von dem Zählerwert C unterscheidet), um so einen Wert im Zähler C' um 1 zu erhöhen (dieser ist anfänglich auf 0 gesetzt). Bei diesem Vorgehen wird eine Zielzeit T in Schritt 18 folgendermaßen berechnet: T = T'– Δt × C'. Mit der obigen Verwendung eines Zählers C' ist es möglich, dasselbe Ergebnis wie in 7 zu erhalten. Dieses Verfahren ist jedoch im Wesentlichen gleich dem Verfahren zur Subtraktion einer infinitesimalen Zeiteinheit Δt von einer infinitesimalen Fahrzeit t. Das in 7 dargestellte Verfahren ist außerdem günstiger verglichen mit dem Verfahren, das einen zusätzlichen Zähler C' verwendet, da bei Ersterem kein Zähler C' eingerichtet werden muss.
  • Zu dem oben beschriebenen Ausführungsbeispiel gibt es Varianten, die im Fol genden beschrieben werden. Mit diesen im Folgenden beschriebenen Varianten ist es möglich, dieselben Wirkungen wie im vorliegenden Ausführungsbeispiel zu erzielen. Im Folgenden werden die Varianten des vorigen Ausführungsbeispiels beschrieben.
  • 9 dient zur Erläuterung der Beschreibung eines Berechnungsverfahrens für die Zielzeit nach einer ersten Variante der vorliegenden Ausführungsform. Die erste Variante unterscheidet sich von der oben beschriebenen Ausführungsform dadurch, dass eine Position P1, die der Kart unmittelbar vor dem Überschreiten der Ziellinie durchläuft, auf eine erste virtuelle Position gesetzt wird. Außerdem wird ein infinitesimaler Einheitsvektor Δv so berechnet, dass er die gleiche Richtung wie ein Geschwindigkeitsvektor V1 aufweist. Im Einzelnen wird der infinitesimale Einheitsvektor Δv wie folgt berechnet: Δv = –V1/n. Außerdem wird entsprechend der Darstellung in 9 eine infinitesimale Fahrzeit t berechnet, indem die infinitesimale Zeiteinheit Δt zur Fahrzeit T'' an der Position P1 addiert wird. Das heißt, bei der ersten Variante wird eine virtuelle Position von der Position P1, die der Kart unmittelbar vor dem Überschreiten der Ziellinie durchläuft, verschoben und es wird jedes Mal eine Fahrzeit an der virtuellen Position berechnet, wenn die virtuelle Position verschoben wird. Anschließend wird eine Fahrzeit an der virtuellen Position, die der Kart unmittelbar nach dem Überschreiten der Ziellinie durchläuft, als Zielzeit bestimmt.
  • 10 zeigt ein Flussdiagramm für das Berechnungsverfahren einer Fahrzeit in der ersten Variante. In der ersten Variante wird außerdem das in 6 dargestellte Flussdiagramm benutzt. Die folgende Beschreibung wird sich im Wesentlichen auf die Unterschiede zwischen 7 und 10 konzentrieren.
  • Zuerst wird in Schritt 31 Fahrzeit an der Position P1 berechnet, die der Kart unmittelbar vor dem Überschreiten der Ziellinie durchläuft. Es ist zu beachten, dass an einem Punkt von Schritt 31 der Inhalt des Puffers 32b für die aktuelle Position im Arbeitsspeicher 32 eine Position P2 angibt, die der Kart unmittelbar nach dem Überschreiten der Ziellinie durchläuft. In der ersten Variante ist es daher notwendig, anders als mit einem Puffer zur Speicherung einer aktuellen Position des Karts (Puffer 32a für die aktuelle Position), einen Puffer vorzubereiten, der die Position des Karts im vorherigen Rahmen speichert. Es ist zu beachten, dass das Berechnungsverfahren gleich ist wie im Schritt 11 von 7. Im folgenden Schritt 32 wird eine virtuelle Position gesetzt. In der ersten Variante wird eine erste virtuelle Position gleich der Position P1 gesetzt.
  • Im folgenden Schritt 33 wird ein infinitesimaler Einheitsvektor Δv berechnet. Die erste Variante unterscheidet sich von Schritt 13 dadurch, dass der infinitesimale Einheitsvektor Δv in folgender Weise berechnet wird: Δv = V1/n. Das Verfahren beim folgenden Schritt 34 ist das Gleiche wie im Schritt 14 und ein Verfahren bei Schritt 35 unterscheidet sich von Schritt 15 nur darin, dass eine unterschiedliche Richtung des infinitesimalen Einheitsvektors vorliegt.
  • In der ersten Variante erfolgt bei Schritt 36 ein Vorgehen entsprechend Schritt 17. Es ist zu beachten, dass sich Schritt 36 vom oben beschriebenen Ausführungsbeispiel insoweit unterscheidet, als die infinitesimale Zeiteinheit zur aktuellen infinitesimalen Fahrzeit t addiert wird. Das Vorgehen bei Schritt 36 erfolgt nach Schritt 35, da in der ersten Variante eine Fahrzeit an einer virtuellen Position als Zielzeit bestimmt wird, die durch das Überschreiten der Ziellinie gegeben ist.
  • Im folgenden Schritt 37 wird festgestellt, ob die aktuelle virtuelle Position hinter der Ziellinie liegt oder nicht. Diese Feststellung kann in ähnlicher Weise getroffen werden wie in Schritt 4 und Schritt 15. Das Vorgehen bei Schritt 38 ist das Gleiche wie in Schritt 18.
  • Bei der oben beschriebenen ersten Variante ist es möglich, die gleiche Wirkung wie im oben beschriebenen Ausführungsbeispiel zu erzielen. Doch ist die oben beschriebene Ausführungsform günstiger, da die erste Variante einen Puffer zum Speichern einer Kartposition im vorhergehenden Rahmen erfordert.
  • Im Folgenden wird eine zweite Variante der vorliegenden Ausführungsform beschrieben. 11 veranschaulicht die Beschreibung der Berechnung einer Zielzeit in der zweiten Variante der vorliegenden Ausführungsform. In der zweiten Variante wird ein infinitesimaler Einheitsvektor Δv bei der Berechnung der Zielzeit verwendet und auf der Grundlage eines Geschwindigkeitsvektors V2 berechnet. Der Geschwindigkeitsvektor V2 dient zur Bestimmung der Kartpositionen in einem nächsten Rahmen und basiert auf einer Position P2, die der Kart unmittelbar nach dem Überschreiten der Ziellinie durchläuft. Im Einzelnen wird der infinitesimale Einheitsvektor Δv in folgender Weise berechnet: Δv = –V2/n. Die zweite Variante unterscheidet sich von der oben beschriebenen Ausführungsform nur dadurch, dass der infinitesimale Einheitsvektor Δv auf der Grundlage des Geschwindigkeitsvektors V2 berechnet wird.
  • In der oben beschriebenen zweiten Variante ist es möglich, dieselbe Wirkung wie im vorliegenden Ausführungsbeispiel zu erzielen. In der zweiten Variante wird jedoch der Geschwindigkeitsvektor V2 verwendet, um eine Zielzeit in einem Rahmen zu berechnen, der einem Rahmen benachbart ist, in dem der Kart die Ziellinie überschreitet. Das oben beschriebene Ausführungsbeispiel ist daher im Vergleich zur zweiten Variante günstiger, da bei Letzterer die Berechnung einer Zielzeit um einen Rahmen verzögert ist.
  • Im Folgenden wird eine dritte Variante der vorliegenden Ausführungsform beschrieben. 12 erläutert die Beschreibung des Berechnungsprozesses für eine Zielzeit in der dritten Variante der vorliegenden Ausführungsform. Die dritte Variante unterscheidet sich von der oben beschriebenen Ausführungsform durch das Verfahren zur Feststellung, ob eine virtuelle Position eine Position gerade vor der Ziellinie erreicht oder nicht. Das heißt, in der dritten Variante wird eine virtuelle Position nicht durch Koordinatenwerte im Spielraum dargestellt, sondern durch einen Abstand L von der Ziellinie. Es ist zu beachten, dass der Abstand L auf einem Liniensegment gemessen wird, das die Position P1 und die Position P2 mit einander verbindet. Um die virtuelle Position zu verschieben, erfolgt eine Subtraktion eines infinitesimalen Abstandes Δl vom Abstand L. Hier bedeutet der infinitesimale Abstand Δl eine Strecke, die der Kart in der infinitesimalen Zeiteinheit Δt durchläuft. Das heißt, der infinitesimale Abstand Δl ist ein Skalarwert, der den Betrag des infinitesimalen Einheitsvektors Δv angibt. Die Feststellung, ob die virtuelle Position eine Position gerade vor der Ziellinie erreicht oder nicht, erfolgt durch Feststellung, ob der Abstand L negativ wird, wenn bei jeder Verschiebung der virtuellen Position der infinitesimale Abstand Δl abgezogen wird. Das Berechnungsverfahren für die Zielzeit in der dritten Variante wird nun im Einzelnen beschrieben.
  • 13 zeigt ein Flussdiagramm des Berechnungsprozesses für eine Fahrzeit in der dritten Variante. In der dritten Variante wird außerdem dasselbe Flussdiagramm wie in 6 verwendet. Es ist zu beachten, dass in der dritten Variante ein Bereich im Arbeitsspeicher 32 zur Speicherung des oben beschriebenen Abstandes L und ein Bereich zur Speicherung des infinitesimalen Abstandes Δl vorgesehen werden müssen, statt des Puffers 32g für den infinitesimalen Einheitsvektor und des Puffers 32h für die virtuelle Position entsprechend 5B. Die folgende Beschreibung des Vorgehens nach 13 wird sich im Wesentlichen auf die Unterschiede zwischen den 7 und 13 konzentrieren.
  • Zuerst ist das Vorgehen bei Schritt 41 gleich dem in Schritt 11. Außerdem ist das Vorgehen bei Schritt 42 gleich wie in Schritt 12. Im folgenden Schritt 43 wird der infinitesimale Abstand Δl mithilfe des Geschwindigkeitsvektors V1 berechnet. Im einzelnen wird der infinitesimale Abstand Δl berechnet, indem der Betrag des Geschwindigkeitsvektors V1 mit 1/n multipliziert wird. Das Verfahren beim folgenden Schritt 44 ist das Gleiche wie im Schritt 14.
  • Beim folgenden Schritt 45 wird ein Abstand L. von der Ziellinie zur Position P2 berechnet. Dieser Abstand L zeigt den Abstand von der Ziellinie zur virtuellen Position an. Das heißt, bei Schritt 45 wird eine erste virtuelle Position auf die Po sition P2 gesetzt. Im folgenden Schritt 46 wird die virtuelle Position um den infinitesimalen Abstand Δl verschoben. Im Einzelnen wird als neuer Wert des Abstandes L ein Wert eingesetzt, der durch Subtraktion des infinitesimalen Abstandes Δl vom aktuellen Abstand L erhalten: Im folgenden Schritt 57 wird festgestellt, ob die virtuelle Position eine Position erreicht, die gerade vor der Ziellinie liegt, indem geprüft wird, ob L gleich oder kleiner als Null ist oder nicht. Das Vorgehen bei Schritt 48, bei dem festgestellt wird, ob Schritt 47 den Wert von L gleich oder kleiner als Null erkannt hat, ist das Gleiche wie bei Schritt 17. Außerdem ist das Vorgehen in Schritt 49 das Gleiche wie in Schritt 18, wenn festgestellt wird, ob im Schritt 47 der Wert von L gleich oder kleiner Null erkannt wurde.
  • Mit der oben beschriebenen dritten Variante ist es möglich, dieselben Wirkungen wie im oben beschriebenen Ausführungsbeispiel zu erzielen. In der dritten Variante wird eine virtuelle Position nicht durch dreidimensionale Koordinaten, sondern durch einen Abstand L von der Ziellinie dargestellt. Damit ist es möglich, das Verfahren zur Verschiebung einer virtuellen Position (Schritt 46) zu vereinfachen.
  • Es ist zu beachten, dass neben den oben beschriebenen Varianten die weiteren folgenden Varianten bestehen. Wie in 14 gezeigt, kann für den Fall, dass die virtuelle Position durch einen Abstand L von der Ziellinie dargestellt ist (dritte Variante), eine erste virtuelle Position auf die Position P1 gesetzt werden, die der Kart unmittelbar vor dem Überschreiten der Ziellinie durchläuft (erste Variante). Alternativ kann, wie in 15 gezeigt, ein infinitesimaler Abstand Δl aus dem Geschwindigkeitsvektor V2 berechnet werden, wenn eine virtuelle Position durch einen Abstand L von der Ziellinie dargestellt ist (dritte Variante).
  • Mit der vorliegenden Erfindung ist es daher möglich, die Bearbeitungszeit eines Berechnungsprozesses für Reise- oder Fahrzeiten zu reduzieren. Außerdem ist es möglich, die Genauigkeit und die Bearbeitungszeit des Berechnungsprozesses für eine Reisezeit wählbar einzustellen.
  • Es ist darauf hinzuweisen, dass in der vorliegenden Ausführungsform angenommen wird, dass zwei Punkte, zwischen denen eine Fahrzeit berechnet wird, als Start- bzw. Zielpunkte gesetzt werden. Das Berechnungsverfahren für Fahrzeiten nach der vorliegenden Erfindung kann jedoch auch eingesetzt werden, wenn eine Fahrzeit zwischen zwei beliebigen Punkten berechnet werden soll. Beispielsweise kann für den Fall, dass auf einer Rennstrecke zwischen Start und Ziel eine Vielzahl von Durchfahrtspunkten vorgesehen ist, das Berechnungsprogramm für Fahrzeiten gemäß der vorliegenden Erfindung eingesetzt werden, um eine Rundenzeit (Fahrzeit) zwischen den Durchfahrpunkten zu berechnen. Im vorigen Ausführungsbeispiel ist außerdem angenommen, dass eine Zielposition durch eine Ziellinie dargestellt ist, eine Zielposition kann jedoch irgendein Punkt im Spielraum sein.
  • Außerdem erfolgt im oben beschriebenen Ausführungsbeispiel und dessen Varianten die Berechnung der Zielzeit, nachdem eine Kartposition an der Position P2 aktualisiert wurde. In anderen Ausführungsbeispielen kann hier nach der Berechnung eines Vektors V1 die Berechnung der Zielzeit erfolgen, bevor die Kartposition auf die Position P2 aktualisiert wurde. Im Einzelnen kann die Berechnung der Zielzeit zwischen den Schritten 2 und 3 von 7 erfolgen. Außerdem kann, abhängig vom Ergebnis der Berechnung der Zielzeit, das Vorgehen geändert werden, das durchgeführt wird, nachdem der Kart die Ziellinie überschreitet. Beispielsweise kann die Anzeige der Rennstrecke oder einer Szene geändert werden, nachdem der Kart die Ziellinie überschreitet, und zwar abhängig davon, ob die Zielzeit innerhalb einer vorbestimmten Zeit liegt oder nicht.
  • Im oben beschriebenen Ausführungsbeispiel und den Varianten wird eine infinitesimale Zeiteinheit als Wert berechnet, die durch Division einer Rahmenzeit durch eine ganze Zahl erhalten wird. In anderen Ausführungsbeispielen kann jedoch eine infinitesimale Zeiteinheit auf einen beliebigen Wert gesetzt werden, der kleiner ist als eine Rahmenzeit. Ist es beispielsweise gewünscht, eine Zielzeit mit ei ner Genauigkeit von 1/100 (sec) zu berechnen, so kann eine infinitesimale Zeiteinheit auf 1/100 (sec) gesetzt werden.
  • Wie oben beschrieben ist es auch möglich, die vorliegende Erfindung zum Messen einer Fahrzeit zwischen zwei beliebigen Punkten einzusetzen.
  • Obwohl die Erfindung nun im Einzelnen beschrieben wurde, dient die vorstehende Beschreibung in allen ihren Aspekten nur zur Erläuterung und ist nicht als beschränkend aufzufassen. Es versteht sich von selbst, dass zahlreiche andere Änderungen und Variationen denkbar sind, ohne den durch die Ansprüche definierten Umfang der Erfindung zu verlassen.

Claims (22)

  1. Ein computerlesbares Speichermedium, das ein Reisezeitberechnungsprogramm speichert, welches einen Computer veranlasst, einen Prozess auszuführen zum Berechnen einer Reisezeit, die von einem beweglichen Objekt benötigt wird, um von einer ersten Position zu einer zweiten Position in einem Spielraum zu reisen, unter Verwendung einer Zeiteinheit, basierend auf welcher ein Spielbildschirm aktualisiert wird, wobei das Reisezeitberechnungsprogramm den Computer veranlasst, zu funktionieren als: Positionsbestimmungsmittel (S3) zum Bestimmen einer Position des beweglichen Objekts unter Verwendung eines Geschwindigkeitsvektors bei jeder Aktualisierung des Spielbildschirms; virtuelle Positionssetzmittel (S12 und S15, S24 und S26, S32 und S35 oder S42 und S46) zum Setzen einer virtuellen Position zwischen Positionen direkt bevor und nachdem das bewegliche Objekt durch die zweite Position passiert, und zum Verschieben der virtuellen Position unter Verwendung eines infinitesimalen Einheitsvektors, der erhalten wird durch Aufteilen eines Geschwindigkeitsvektors bei der Position direkt bevor das bewegliche Objekt durch die zweite Position passiert in vorbestimmte Anzahlen; und Reisezeitberechnungsmittel (S11, S17 und S18, S21 und S26, S31, S36 und S38 oder S41, S48 und S49) zum Berechnen einer Reisezeit von der ersten Position zu einer Position direkt bevor oder nachdem die virtuelle Position die zweite Position kreuzt.
  2. Speichermedium nach Anspruch 1, wobei die Reisezeitberechnungsmittel Berechnungsmittel für geschätzte Zeit (S11, S21 oder S41) einschließen zum Berechnen einer geschätzten Reisezeit des beweglichen Objekts von der ersten Position zu einer Position, durch die das bewegliche Objekt passiert, direkt nachdem es durch die zweite Position passiert ist, durch Verwendung der Zeiteinheit wobei die virtuellen Positionssetzmittel einschließen: initiale Positionssetzmittel (S12 oder S42) zum Setzen einer Position, durch die das bewegliche Objekt passiert, direkt nachdem es durch die zweite Position passiert ist, zu einer initialen virtuellen Position; und virtuelle Positionsaktualisierungsmittel (S15, S26 und S46) zum Wiederholen eines virtuellen Positionsaktualisierungsprozesses, der durchgeführt wird zum Aktualisieren der virtuellen Position auf eine Position, die auf einem Liniensegment lokalisiert ist, das die Position verbindet, durch die das bewegliche Objekt passiert, direkt bevor es durch die zweite Position passiert und die virtuelle Position, und die verschoben ist von der virtuellen Position um eine vorbestimmte Entfernung, die zurückgelegt worden ist durch das bewegliche Objekt während der infinitesimalen Zeiteinheit, die kürzer ist als die Zeiteinheit, und wobei die Reisezeitberechnungsmittel einschließen: Bestimmungsmittel (S16, S25 oder S47) zum Bestimmen jedes Mal, wenn die virtuelle Position bestimmt wird, ob eine virtuelle Position die zweite Position kreuzt oder nicht; Subtraktionsmittel (S17, S26 oder S46) zum Subtrahieren der infinitesimalen Zeiteinheit von der geschätzten Reisezeit, wenn die Bestimmungsmittel bestimmen, dass die neue virtuelle Position nicht die zweite Position kreuzt, wodurch eine virtuelle Reisezeit berechnet wird bei der neuen virtuellen Position; und Reisezeitbestimmungsmittel (S18 oder S49) zum Bestimmen einer virtuellen Reisezeit, wenn die Bestimmungsmittel bestimmen, dass die neue virtuelle Position die zweite Position kreuzt bei der neuen virtuellen Position, die direkt vor der zweiten Position lokalisiert ist, oder einer virtuellen Reisezeit bei der neuen virtuellen Position, die direkt nach der zweiten Position lokalisiert ist, als eine Reisezeit, die erhalten wird, wenn das bewegliche Objekt durch die zweite Position passiert.
  3. Speichermedium nach Anspruch 2, wobei das Reisezeitberechnungsprogramm den Computer weiter veranlasst zu funktionieren als Erkennungsmittel (S4) zum Erkennen, dass die Position, die bestimmt ist durch die Positionsbestimmungsmittel, die zweite Position kreuzt, und wenn die Erkennungsmittel erkennen, dass das bewegliche Objekt durch die zweite Position passiert, berechnen die Berechnungsmittel für die geschätzte Zeit eine geschätzte Reisezeit des beweglichen Objekts.
  4. Speichermedium nach Anspruch 2, wobei die infinitesimale Zeiteinheit erhalten wird durch Teilen der Zeiteinheit durch eine vorbestimmte Ganzzahl und die vorbestimmte Entfernung erhalten wird durch Teilen einer Entfernung von einer Position, durch die das bewegliche Objekt passiert, direkt bevor es durch die zweite Position passiert, zu einer Position, durch die das bewegliche Objekt passiert, direkt nachdem es durch die zweite Position passiert, durch die vorbestimmte Ganzzahl.
  5. Speichermedium nach Anspruch 2, wobei die Bestimmungsmittel eine Bestimmung durchführen durch Berechnen einer Entfernung von einer Position des beweglichen Objekts, bei der sich das bewegliche Objekt befindet, direkt nachdem es durch die zweite Position passiert ist, zu der zweiten Position und durch Bestimmen, ob die berechnete Entfernung größer ist als eine Entfernung von der Position des beweglichen Objekts, bei der das bewegliche Objekt lokalisiert ist, direkt nachdem es durch die zweite Position passiert, zu der virtuellen Position oder nicht.
  6. Speichermedium nach Anspruch 1, wobei die Reisezeitberechnungsmittel Berechnungsmittel für geschätzte Zeit (S31) einschließen zum Berechnen einer geschätzten Reisezeit des beweglichen Objekts von der ersten Position zu einer Position, durch die das bewegliche Objekt passiert, direkt bevor es durch die zweite Position passiert, durch Verwenden der Zeiteinheit, wobei die virtuellen Positionssetzmittel einschließen: initiale Positionssetzmittel (S32) zum Setzen einer Position, durch die das bewegliche Objekt passiert, direkt bevor es durch die zweite Position passiert, zu einer initialen virtuellen Position; und virtuelle Positionsaktualisierungsmittel (S35) zum Wiederholen eines virtuellen Positionsaktualisierungsprozesses, der durchgeführt wird zum Aktualisieren der virtuellen Position zu einer Position, die lokalisiert ist auf einem Liniensegment, das die virtuelle Position und die Position verbindet, durch die das bewegliche Objekt passiert, direkt nachdem es durch die zweite Position passiert, und die verschoben wird von der virtuellen Position um eine vorbestimmte Entfernung, die zurückgelegt wird durch das bewegliche Objekt während einer infinitesimalen Zeiteinheit, die kürzer ist als die Zeiteinheit, und die Reisezeitberechnungsmittel schließen ein: Bestimmungsmittel (S37) zum Bestimmen, ob eine virtuelle Position die zweite Position kreuzt oder nicht, jedes Mal wenn die virtuelle Position bestimmt wird; Additionsmittel (S36) zum Addieren der infinitesimalen Zeiteinheit zu der geschätzten Reisezeit, wenn die Bestimmungsmittel bestimmen, dass die neue virtuelle Position die zweite Position nicht kreuzt, wodurch eine virtuelle Reisezeit berechnet wird bei der neuen virtuellen Position; und Reisezeitbestimmungsmittel (S38) zum Bestimmen einer Reisezeit, wenn die Bestimmungsmittel bestimmen, dass die neue virtuelle Position die zweite Position kreuzt, bei der neuen virtuellen Position, die direkt vor der zweiten Position lokalisiert ist, oder einer virtuellen Reisezeit bei der neuen virtuellen Position, die direkt hinter der zweiten Position lokalisiert ist, als eine Reisezeit, die erhalten wird, wenn die neue virtuelle Position die zweite Position kreuzt.
  7. Speichermedium nach Anspruch 6, wobei das Reisezeitberechnungsprogramm den Computer weiter veranlasst zu funktionieren als Erkennungsmittel zum Erkennen, dass die Position, die bestimmt wird durch die Positionsbestimmungsmittel, die zweite Position kreuzt, und wenn die Bestimmungsmittel bestimmen, dass das bewegliche Objekt durch die zweite Position passiert, berechnen die Berechnungsmittel für geschätzte Zeit eine geschätzte Reisezeit des beweglichen Objekts.
  8. Speichermedium nach Anspruch 6, wobei die infinitesimale Zeiteinheit erhalten wird durch Teilen der Zeiteinheit durch eine vorbestimmte Ganzzahl, und die vorbestimmte Entfernung wird erhalten durch Teilen einer Entfernung von einer Position, durch die das bewegliche Objekt direkt vor Passieren durch die zweite Position passiert, zu einer Position, durch die das bewegliche Objekt direkt nach Passieren durch die zweite Position passiert, durch die vorbestimmte Ganzzahl.
  9. Speichermedium nach Anspruch 6, wobei die Bestimmungsmittel eine Bestimmung durchführen durch Berechnen einer Entfernung von einer Position des beweglichen Objekts, an der das bewegliche Objekt lokalisiert ist direkt vor Passieren durch die zweite Position, zu der zweiten Position und eine Bestimmung durchführen, ob die berechnete Entfernung größer ist als eine Entfernung von der Position des beweglichen Objekts, an dem das bewegliche Objekt lokalisiert ist, direkt bevor es durch die zweite Position passiert, zu der virtuellen Position oder nicht.
  10. Speichermedium nach Anspruch 1, wobei die Reisezeitberechnungsmittel einschließen: Berechnungsmittel für geschätzte Zeit (S11, S21 oder S41) zum Berechnen einer geschätzten Reisezeit des beweglichen Objekts von der ersten Position zu einer Position, durch die das bewegliche Objekt passiert, direkt nachdem es durch die zweite Position passiert, durch Verwenden der Zeiteinheit; und Subtraktionsmittel (S17, S26 oder S46) zum Wiederholen eines Subtraktionsprozesses zum Subtrahieren einer infinitesimalen Zeiteinheit, die kürzer ist als die Zeiteinheit, von der geschätzten Reisezeit, die virtuellen Positionssetzmittel berechnen eine virtuelle Position, die eine Position des beweglichen Objekts anzeigt, zu einer virtuellen Reisezeit, die erhalten wird als ein Resultat des Subtraktionsprozesses für jeden Subtraktionsprozess, und die Reisezeitberechnungsmittel schließen ein: Bestimmungsmittel (S16, S25 oder S47) zum Bestimmen, ob die berechnete virtuelle Position die zweite Position kreuzt oder nicht, jedes Mal wenn die virtuelle Position berechnet wird; und Reisezeitbestimmungsmittel (S18 oder S49) zum Bestimmen einer virtuellen Reisezeit bei einer virtuellen Position, direkt bevor oder nachdem die Bestimmungsmittel bestimmen, dass die virtuelle Position die zweite Position kreuzt, als eine Reisezeit, die erhalten wird, wenn die virtuelle Position die zweite Position kreuzt.
  11. Speichermedium gemäß Anspruch 10, wobei das Reisezeitberechnungsprogramm den Computer weiterhin veranlasst zu funktionieren als Erkennungsmittel zum Erkennen, dass die Position, die durch die Positionsbestimmungsmittel bestimmt wird, die zweite Position kreuzt, und wenn die Erkennungsmittel erkennen, dass das bewegliche Objekt durch die zweite Position passiert, berechnen die Berechnungsmittel eine geschätzte Reisezeit des beweglichen Objekts.
  12. Speichermedium nach Anspruch 10, wobei die infinitesimale Zeiteinheit erhalten wird durch Dividieren der Zeiteinheit durch eine vorbestimmte Ganzzahl, und die vorbestimmte Entfernung wird erhalten durch Dividieren einer Entfernung von einer Position, durch die das bewegliche Objekt passiert, direkt bevor es durch die zweite Position passiert, zu einer Position, durch die das bewegliche Objekt passiert, direkt nachdem des durch die zweite Position passiert, durch die vorbestimmte Ganzzahl.
  13. Speichermedium nach Anspruch 10, wobei die Bestimmungsmittel eine Bestimmung durchführen durch Berechnen einer Entfernung von einer Position des beweglichen Objekts, an dem das bewegliche Objekt lokalisiert ist, direkt nachdem es durch die zweite Position passiert, zu der zweiten Position, und eine Bestimmung, ob die berechnete Entfernung größer ist als eine Entfernung von der Position des beweglichen Objekts, an dem das bewegliche Objekt lokalisiert ist, direkt nachdem es durch die zweite Position passiert, zu der virtuellen Position oder nicht.
  14. Speichermedium nach Anspruch 1, wobei die Reisezeitberechnungsmittel einschließen: Berechnungsmittel für geschätzte Zeit (S31) zum Berechnen einer geschätzten Reisezeit des beweglichen Objekts von der ersten Position zu einer Position, durch die das bewegliche Objekt passiert, direkt bevor es durch die zweite Position passiert, durch Verwendung der Zeiteinheit; und Additionsmittel (S36) zum Wiederholen eines Additionsprozesses zum Addieren einer infinitesimalen Zeiteinheit, die kürzer ist als die Zeiteinheit, zu der geschätzten Reisezeit, die virtuellen Positionssetzmittel berechnen eine virtuelle Position, die eine Position des beweglichen Objekts bei einer virtuellen Reisezeit anzeigt, die erhalten wird als ein Resultat des Additionsprozesses für jeden Additionsprozess, und die Reisezeitberechnungsmittel schließen ein: Bestimmungsmittel (S37) zum Bestimmen, ob die berechnete virtuelle Position die zweite Position kreuzt oder nicht, jedes Mal wenn die virtuelle Position berechnet wird; und Reisezeitberechnungsmittel (S38) zum Bestimmen einer virtuellen Reisezeit bei einer virtuellen Position, direkt bevor oder nachdem die Bestimmungsmittel bestimmen, dass die virtuelle Position die zweite Position kreuzt, als eine Reisezeit, die erhalten wird, wenn die virtuelle Position die zweite Position kreuzt.
  15. Speichermedium nach Anspruch 14, wobei das Reisezeitberechnungsprogramm den Computer weiterhin veranlasst zu funktionieren als Bestimmungsmittel zum Bestimmen, dass die Position, die durch die Positionsbestimmungsmittel bestimmt wird, die zweite Position kreuzt, und wenn die Erkennungsmittel erkennen, dass das bewegliche Objekt durch die zweite Position passiert, berechnen die Berechnungsmittel für geschätzte Zeit eine geschätzte Reisezeit des beweglichen Objekts.
  16. Speichermedium nach Anspruch 14, wobei die infinitesimale Zeiteinheit erhalten wird durch Dividieren der Zeiteinheit durch eine vorbestimmte Ganzzahl und die vorbestimmte Ganzzahl erhalten wird durch Dividieren einer Entfernung von einer Position, durch die das bewegliche Objekt passiert, direkt bevor es durch die zweite Position passiert, zu einer Position, durch die das bewegliche Objekt passiert, direkt nachdem es durch die zweite Position passiert, durch die vorbestimmte Ganzzahl.
  17. Speichermedium nach Anspruch 14, wobei die Bestimmungsmittel eine Bestimmung durchführen durch Berechnen einer Entfernung von einer Position des beweglichen Objekts, bei der das bewegliche Objekt lokalisiert ist, direkt bevor es durch die zweite Position passiert, zu der zweiten Posi tion und eine Bestimmung, ob die berechnete Entfernung größer ist als eine Entfernung von der Position des beweglichen Objekts, an der das bewegliche Objekt lokalisierst ist, direkt bevor es durch die zweite Position passiert, zu der virtuellen Position oder nicht.
  18. Spielvorrichtung zum Berechnen einer Reisezeit, die benötigt wird von einem beweglichen Objekt zum Reisen von einer ersten Position zu einer zweiten Position in einem Spielraum, durch Verwenden einer Zeiteinheit, basierend auf welcher ein Spielbildschirm aktualisiert wird, umfassend: Positionsbestimmungsmittel zum Bestimmen einer Position des beweglichen Objekts unter Verwendung eines Geschwindigkeitsvektors bei jeder Aktualisierung des Spielbildschirms; virtuelle Positionssetzmittel zum Setzen einer virtuellen Position zwischen Positionen, direkt bevor und nachdem das bewegliche Objekt durch die zweite Position passiert, und Verschieben der virtuellen Position unter Verwendung eines infinitesimalen Einheitsvektors, der erhalten wird durch Aufteilen eines Geschwindigkeitsvektors bei der Position, direkt bevor das bewegliche Objekt durch die zweite Position passiert, in eine vorbestimmte Anzahl; und Reisezeitberechnungsmittel zum Berechnen einer Reisezeit von der ersten Position zu einer Position, direkt bevor oder nachdem die virtuelle Position die zweite Position kreuzt.
  19. Spielvorrichtung nach Anspruch 18, wobei die Reisezeitberechnungsmittel Berechnungsmittel für geschätzte Zeit einschließen zum Berechnen einer geschätzten Reisezeit des beweglichen Objekts von der ersten Position zu einer Position, durch die das bewegliche Objekt passiert, direkt nachdem es durch die zweite Position passiert, durch Verwenden der Zeiteinheit, die virtuellen Positionssetzmittel schließen ein: initiale Positionssetzmittel zum Setzen einer Position, durch die das bewegliche Objekt passiert, direkt nachdem es durch die zweite Position passiert, zu einer initialen virtuellen Position; und virtuelle Positionsaktualisierungsmittel zum Wiederholen eines virtuellen Positionsaktualisierungsprozesses, der durch geführt wird zum Aktualisieren der virtuellen Position zu einer Position, die lokalisiert ist auf einem Liniensegment, welches die Position verbindet, durch die das bewegliche Objekt passiert, direkt bevor es durch die zweite Position passiert, und die virtuelle Position und die zurückliegt von der virtuellen Position um eine vorbestimmte Entfernung, die das bewegliche Objekt gereist ist während einer infinitesimalen Zeiteinheit, die kürzer ist als die Zeiteinheit, und die Reisezeitberechnungsmittel schließen ein: Bestimmungsmittel zum Bestimmen, ob eine virtuelle Position die zweite Position kreuzt, jedes Mal wenn die virtuelle Position bestimmt wird, oder nicht; Subtraktionsmittel zum Subtrahieren der infinitesimalen Zeiteinheit von der geschätzten Reisezeit, wenn die Bestimmungsmittel bestimmen, dass die neue virtuelle Position die zweite Position nicht kreuzt, wodurch eine virtuelle Reisezeit bestimmt wird bei der neuen virtuellen Position; und Reisezeitbestimmungsmittel zum Bestimmen einer virtuellen Reisezeit, wenn die Bestimmungsmittel bestimmen, dass die neue virtuelle Position die zweite Position kreuzt, bei der neuen virtuellen Position, die lokalisiert ist direkt vor der zweiten Position, oder einer virtuellen Reisezeit bei der neuen virtuellen Position, die lokalisiert ist direkt nach der zweiten Position, als eine Reisezeit, die erhalten wird, wenn das bewegliche Objekt durch die zweite Position passiert.
  20. Spielvorrichtung gemäß Anspruch 18, wobei die Reisezeitberechnungsmittel Berechnungsmittel für geschätzte Zeit einschließen zum Berechnen einer geschätzten Reisezeit des beweglichen Objekts von der ersten Position zu einer Position, durch die das bewegliche Objekt passiert, direkt bevor es durch die zweite Position passiert, durch Verwendung der Zeiteinheit, die virtuellen Positionssetzmittel schließen ein: initiale Positionssetzmittel zum Setzen einer Position, durch die das bewegliche Objekt passiert, direkt bevor es durch die zweite Position passiert, zu einer initialen virtuellen Position; und virtuelle Positionsaktualisierungsmittel zum Wiederholen eines virtuellen Positionsaktualisierungsprozesses, der durchgeführt wird zum Aktualisieren der virtuellen Position zu einer Position, die lokalisiert ist auf einem Liniensegment, das die virtuelle Position und die Position verbindet, durch die das bewegliche Objekt passiert, direkt nachdem es durch die zweite Position passiert, und die fortgeschritten ist von der virtuellen Position um eine vorbestimmte Entfernung, die das bewegliche Objekt reist während der infinitesimalen Zeiteinheit, die kürzer ist als die Zeiteinheit, und die Reisezeitberechnungsmittel schließen ein: Bestimmungsmittel zum Bestimmen, ob eine virtuelle Position die zweite Position kreuzt, jedes Mal wenn die virtuelle Position bestimmt wird, oder nicht; Additionsmittel zum Addieren der infinitesimalen Zeiteinheit zu der geschätzten Reisezeit, wenn die Bestimmungsmittel bestimmen, dass die neue virtuelle Position die zweite Position nicht kreuzt, wodurch eine virtuelle Reisezeit berechnet wird bei der neuen virtuellen Position; und Reisezeitbestimmungsmittel zum Bestimmen, wenn die Bestimmungsmittel bestimmen, dass die neue virtuelle Position die zweite Position kreuzt, einer virtuellen Reisezeit bei der virtuellen Position, die direkt vor der zweiten Position lokalisiert ist, oder einer virtuellen Reisezeit bei der neuen virtuellen Position, die direkt hinter der zweiten Position lokalisiert ist, als eine Reisezeit, die erhalten wird, wenn die neue virtuelle Position die zweite Position kreuzt.
  21. Spielvorrichtung nach Anspruch 18, wobei die Reisezeitberechnungsmittel einschließen: Berechnungsmittel für geschätzte Zeit zum Berechnen einer geschätzten Reisezeit des beweglichen Objekts von der ersten Position zu einer Position, durch die das bewegliche Objekt passiert, direkt nachdem es durch die zweite Position passiert, durch Verwenden der Zeiteinheit; und Subtraktionsmittel zum Wiederholen eines Subtraktionsprozesses zum Subtrahieren einer infinitesimalen Zeiteinheit, die kürzer ist als die Zeiteinheit, von der geschätzten Reisezeit, die virtuellen Positionssetzmittel berechnen eine virtuelle Position, die eine Position des beweglichen Objekts anzeigen bei einer virtuellen Reisezeit, die erhalten wird als ein Resultat des Subtraktionsprozesses, für jeden Subtraktionsprozess, und die Reisezeitberechnungsmittel schließen ein: Bestimmungsmittel zum Bestimmen, ob die berechnete virtuelle Position die zweite Position kreuzt jedes Mal wenn die virtuelle Position berechnet wird oder nicht; und Reisezeitbestimmungsmittel zum Bestimmen einer virtuellen Reisezeit bei einer virtuellen Position, direkt bevor oder nachdem die Bestimmungsmittel bestimmen, dass die virtuelle Position die zweite Position kreuzt, als eine Reisezeit, die erhalten wird, wenn die virtuelle Position die zweite Position kreuzt.
  22. Spielvorrichtung nach Anspruch 18, wobei die Reisezeitberechnungsmittel einschließen: Berechnungsmittel für geschätzte Zeit zum Berechnen einer geschätzten Reisezeit des beweglichen Objekts von der ersten Position zu einer Position, durch die das bewegliche Objekt passiert, direkt bevor es durch die zweite Position passiert, durch Verwenden der Zeiteinheit; und Additionsmittel zum Wiederholen eines Additionsprozesses zum Addieren einer infinitesimalen Zeiteinheit, die kürzer ist als die Zeiteinheit, zu der geschätzten Reisezeit, die virtuellen Positionssetzmittel berechnen eine virtuelle Position, die eine Position des beweglichen Objekts anzeigt zu einer virtuellen Reisezeit, die erhalten wird als ein Resultat des Additionsprozesses, für jeden Additionsprozess, und die Reisezeitberechnungsmittel schließen ein: Bestimmungsmittel zum Bestimmen, ob die berechnete virtuelle Position die zweite Position kreuzt jedes Mal wenn die virtuelle Position berechnet wird oder nicht; und Reisezeitbestimmungsmittel zum Bestimmen einer virtuellen Reisezeit bei einer virtuellen Position, direkt bevor oder nachdem die Bestimmungsmittel bestimmen, dass die virtuelle Position die zweite Position kreuzt, als eine Reisezeit, die erhalten wird, wenn die virtuelle Position die zweite Position kreuzt.
DE602004003203T 2003-11-05 2004-08-13 Speichermedium mit Reisezeitberechnungsprogram und Spielvorrichtung Expired - Lifetime DE602004003203T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003376120 2003-11-05
JP2003376120A JP3601793B1 (ja) 2003-11-05 2003-11-05 移動時間算出プログラム及び情報記録媒体

Publications (2)

Publication Number Publication Date
DE602004003203D1 DE602004003203D1 (de) 2006-12-28
DE602004003203T2 true DE602004003203T2 (de) 2007-09-27

Family

ID=34056289

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004003203T Expired - Lifetime DE602004003203T2 (de) 2003-11-05 2004-08-13 Speichermedium mit Reisezeitberechnungsprogram und Spielvorrichtung

Country Status (4)

Country Link
US (2) US7674167B2 (de)
EP (1) EP1533737B1 (de)
JP (1) JP3601793B1 (de)
DE (1) DE602004003203T2 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003221083A1 (en) * 2003-03-25 2004-10-18 Rorze Corporation Robot simulation device, and robot simulation program
JP3827692B2 (ja) * 2004-09-22 2006-09-27 株式会社コナミデジタルエンタテインメント 操作入力装置、操作評価方法、ならびに、プログラム
JP4268992B2 (ja) * 2007-09-28 2009-05-27 株式会社コナミデジタルエンタテインメント ゲームシステム及びサーバ
JP5224832B2 (ja) * 2008-01-21 2013-07-03 任天堂株式会社 情報処理プログラムおよび情報処理装置
US10046241B1 (en) * 2010-11-01 2018-08-14 Ronald Charles Krosky Output production
US9233309B2 (en) * 2012-12-27 2016-01-12 Sony Computer Entertainment America Llc Systems and methods for enabling shadow play for video games based on prior user plays
JP6897284B2 (ja) * 2017-04-27 2021-06-30 株式会社セガ ゲーム装置、プログラム及びゲームシステム
US11794107B2 (en) * 2020-12-30 2023-10-24 Activision Publishing, Inc. Systems and methods for improved collision detection in video games

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2569219B2 (ja) * 1990-01-31 1997-01-08 富士通株式会社 動画像予測方式
US5354202A (en) * 1990-08-01 1994-10-11 Atari Games Corporation System and method for driver training with multiple driver competition
JP3403506B2 (ja) * 1994-06-17 2003-05-06 株式会社ナムコ ゲーム装置および移動体の移動時間測定方法
JP3994445B2 (ja) * 1995-12-05 2007-10-17 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
WO1997046020A2 (en) * 1996-05-24 1997-12-04 Philips Electronics N.V. Motion vector processing
JP2000200361A (ja) * 1998-08-07 2000-07-18 Sega Enterp Ltd 画像処理装置及び情報記録媒体
JP3972230B2 (ja) * 1999-02-15 2007-09-05 株式会社セガ ゲーム装置、ゲーム装置の制御方法及び記録媒体
JP2000342846A (ja) * 1999-06-03 2000-12-12 Taito Corp 移動体操縦シミュレーションゲーム装置
JP3493189B2 (ja) * 2001-10-11 2004-02-03 コナミ株式会社 ゲーム進行制御プログラム、ゲーム進行制御方法及びビデオゲーム装置

Also Published As

Publication number Publication date
JP3601793B1 (ja) 2004-12-15
JP2005137511A (ja) 2005-06-02
EP1533737A2 (de) 2005-05-25
US8012005B2 (en) 2011-09-06
EP1533737B1 (de) 2006-11-15
DE602004003203D1 (de) 2006-12-28
US7674167B2 (en) 2010-03-09
US20080207321A1 (en) 2008-08-28
EP1533737A3 (de) 2005-09-07
US20050096136A1 (en) 2005-05-05

Similar Documents

Publication Publication Date Title
DE69703850T2 (de) Wettbewerbsspielvorrichtung
DE602004003979T2 (de) Verfahren zur Steuerung einer virtuellen Kamera in einem dreidimensionalen Videospiel
DE69601222T2 (de) Elektronisches wettbewerbssystem und verfahren zur durchführung
DE60025725T2 (de) Autorennensystem und verfahren mit verbesserter simulation eines virtuellen konkurrenten
DE60024775T2 (de) Spielautomat
DE69626351T2 (de) Verfahren zur Unterstützung eines Spielers bei der Eingabe von Befehlen in einem Videospiel, Videospielsystem und Videospielspeichermedium
DE69614470T2 (de) Fahrspielmaschine
DE69724075T2 (de) Bildverarbeitungsgerät, spielmaschine mit diesem bildverarbeitungsgerät, bildverarbeitungsverfarhen und -medium
DE69737878T2 (de) Vorrichtung und Verfahren für die Anzeige einer Führung in einem Videospielsystem
DE69836945T2 (de) Videospielsystem mit Radarbild
DE69833918T2 (de) Videospielvorrichtung und Speichermedium dafür
DE69629649T2 (de) Bildprozessor, bildverarbeitungsverfahren, diese verwendendes spielgerät und speichermedium
DE69726507T2 (de) Vorrichtung für Videotanzspiel
DE60028430T2 (de) Spielvorrichtung
DE60128196T2 (de) Spielvorrichtung und Verarbeitungsverfahren dafür
DE69628727T2 (de) System zum bearbeiten von dreidimensionalen bildinformationen
DE60035382T2 (de) Spielvorrichtung, Spieldarstellungskontrollverfahren und computerlesbares Aufzeichungsmedium
DE60122952T2 (de) Videospielgerät, Verfahren zum Herausbringen eines Hintergrundtons in einem Videospiel und entsprechendes lesbares Aufzeichungsmedium
DE602004000598T2 (de) Musik-Spielsoftware und Musik-Spielmaschine
DE69835491T2 (de) Wettkampfvideospielvorrichtung, Charakterbewegungs-Kontrollverfahren dafür und Aufzeichnungsmedium für Charakterbewegungskontrollprogramm
DE2840779A1 (de) Spiel mit automatisch gesteuerten fahrzeugen
DE60132684T2 (de) Verfahren, Videospielgerät und Programm zur Spielsteuerung
DE69701601T2 (de) Fahrspielmachine, Verfahren zum Darstellen von Bildern in einer Fahrspielmachine, und Aufzeichnungsmedium zur Programmabspeicherung des Fahrspieles
DE2732438B2 (de) Verfahren zur Darstellung mehrerer Gegenstände auf einem Raster-Fernsehschirm
DE602004003203T2 (de) Speichermedium mit Reisezeitberechnungsprogram und Spielvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition