|
Feelin'it Golf |
Top Previous Next |
|
Augusto Bulow hat trotz vollen Terminkalenders die Zeit gefunden, einige Fragen zu beantworten.
F: Wie groß ist das größte im Spiel vorkommende Level? A: Das Golfspiel verwendet einen Nexus von 350. Unsere Models und das Terrain sind recht detailliert und das setzt natürlich eine gewisse Prozessorgeschwindigkeit voraus. Die größte Wmb-Datei liegt bei etwa 27 MB, aber ich denke dass die großen Terrains die Hauptursache für die Anforderungen sind. Wir verwenden riesige Terrains, speziell auf jedes Loch abgestimmt und das war einer unserer Hauptzweifel in der Entwicklung.
Ein Golfspiel braucht große Terrains ohne zuviele Details und Polygone, aber in einigen Bereichen, vor allem bei den Sandbunkern, brauchten wir mehr Polygone, um die Form naturgetreu darzustellen. Wir haben versucht, mehrere Terrains zu nutzen, das führte aber zu Problemen mit den Lichtern und an den Rändern. Schließlich haben wir uns dann doch entschiedene, nur eine Terraindatei pro Level zu verwenden und die Polygonzahl hoch genug zu wählen, um alle Details darstellen zu können.
F: Wie variabel ist das Aussehen des Spielers gestaltet? A: Das Spielermodel besteht aus verschiedenen Teilmodels. Auf diese Weise erzielt man eine hohe Variabilität. Für jeden Teil des Spielers haben wir mehrere Models, die wiederum mehrere Skins besitzen. Dies vervielfacht die Anzahl der möglichen Kombinationen. Technisch gesehen haben die Modelteile dieselben Framewerte und die gleichen Animationen, so dass es ein Leichtes ist, sie zusammenzufügen. Die Teile werden von der gleichen Funktion erstellt, mit so wenig Verzögerung wie möglich; dadurch funktioniert auch die visuelle Synchronisation.
F: Verwenden Sie eine einfache PH_SPHERE Entity für den Golfball oder steckt noch mehr dahinter? A: Der Ball ist eine PH_SPHERE, aber sagen wir mal, noch etwas mehr als das. Wir haben gewissen Code, der den Ball die ganze Zeit überwacht. Die grundlegende Physik überlassen wir der Engine, aber wenn wir seltsames Verhalten feststellen, greifen wir helfend ein. Es gab Probleme damit, dass der Ball manchmal feststeckte oder manchmal klappte das Abprallen vom Boden nicht so gut; dann haben wir den Ballcode so geschrieben, dass er die Situationen erkennt und reagieren kann. Unser Terrain hat auch verschiedene Oberflächen, die einen unterschiedlichen Einfluss auf die Reibung und das Rollverhalten haben. Der Code berücksichtigt auch dies.
F: Wie erstellen Sie die Spur, die dem Ball folgt? A: Das ist ein einfacher Partikeleffekt mit einer kleinen weißen Bitmap. Die Geschwindigkeit des Balles wird mit PHENT_GETVELOCITY ermittelt und dann der Effekt mit diesem Geschwindigkeitsvektor erzeugt. Das Partikel hat die STREAK Flag gesetzt und bewegt sich nicht; die Funktion verringert lediglich den Alphawert bis das Partikel verschwindet.
F: Wie passen Sie das Verhalten des Balles an die Art des Terrains, an den Wind usw. an? A: Das steht alles in dem Ballcode. Wir überwachen und unterstützen die Ballphysik andauernd. Wir ermitteln beispielsweise die Art der Oberfläche und kalkulieren die Reibung mit ein, indem wir mit PHENT_ADDVELCENTRAL die Geschwindigkeit verringern. Ebenso verfahren wir mit Wind, wir haben eine Funktion, die den Wind reguliert und diese Kraft wird abenfalls mit PHENT_ADDVELCENTRAL auf den Ball gewirkt, wobei die Stärke auch von der Höhe des Balles abhängt.
F: Wie haben Sie das "Replay" Feature geschrieben? A: Unsere "Replay" Funktion wurde bereits 2003 für Matchball Tennis entwickelt. Wir haben sie die ganze Zeit über verwendet, verbessert und optimiert. Es gibt kein wirkliches "Geheimnis" von Replay Funktionen, Sie müssen im Wesentlichen die Position, Ausrichtung und Animation der wichtigsten Entities speichern. Später können Sie diese auslesen und einsetzen; wichtig ist dabei nur die Reihenfolge, in der die Daten gespeichert wurden.
F: Was sind die Vorteile von Novint's Falcon für dieses Spiel? A: Der Falcon unterscheidet sich von allen anderen Joysticks auf dem Markt, denn er besitzt ein anderes Force Feedback System. Mit dem Falcon fühlen Sie das Gewicht, die Reibung und echtes Force Feedback in X, Y und Z-Richtung. Es gibt eine Kraft in allen drei Richtungen und dies kann für viele Spiele verwendet werden. Im Golfspiel haben Sie die Schwungbewegung, Sie fühlen das Gewicht des Schlägers und Ihre Abweichungen und Schlaggeschwindigkeiten werden ermittelt und wirken sich auf den Schlag aus.
F: Was war Ihr größter Fehler bei der Entwicklung Ihrer ersten Spiele? A: Ich denke nicht, dass es so große Fehler gab; es war alles Teil eines Verstehens- und Lernprozesses. Natürlich sehe ich in meinem alten Code viele unnütze Zeilen oder eine zu komplizierte Art, ein Problem zu lösen, aber mein heutiges Verständnis kommt daher, dass ich diese Fehler einmal gemacht habe. Es gibt tausende von Arten einen Effekt zu programmieren. Ich denke immer noch, der beste Code ist der, der funktioniert. Mit der Zeit können Sie lernen, ihn zu optimieren: versuchen Sie es, suchen Sie im Forum oder fragen Sie JCL, wenn es augenscheinlich keine Lösung gibt - irgendwann werden Sie eine finden.
Vielen Dank, Augusto.
|