Diskussionsrunde: Spannende Diskussionen rund um Star Citizen.

Jeden Freitag ab 20 Uhr.

NewsCast: Die News als Video zusammengefasst.

Jede Woche zu den Lore-Post und Around the Verse

Home || Star Citizen Blog Posts

Chris Roberts über das Flugmodell

Es war ein gutes Stück Arbeit die ganzen Informationen zu übersetzen, die Chris Roberts am Dienstag in seinem Artikel über das Flugmodell, die Steuergeräte sowie die Details zum IFCS preisgegeben hat. Ich habe das Ganze in drei Artikel zu den zuvor genannten Themen geteilt, um es ein wenig übersichtlicher zu gestalten.

It’s really great to see so many of you taking to space to try out the first taste of what space combat will be in Star Citizen. I, like the rest of the team have been avidly watching the Twitch streams of backers playing and reading the forums for your feedback. Two of the hot topics of debate have been the Flight Model and the advantage or disadvantage of various input devices. So I thought I would take a moment of your time to share some insight on the two topics.

Chris Roberts schreibt, dass es toll zu sehen sei, dass so viele ausprobieren, wie sich der Weltraumkampf in Star Citizen anfühlen wird. Er und der Rest des Teams haben sich Twitch Streams angeschaut, um zu sehen, wie die Unterstützer mit dem Spiel zurechtkommen. Natürlich haben sie auch im Forum das Feedback gelesen. Zwei heiße Themen der Debatte seien das Flugmodell und der Vorteil oder Nachteil verschiedener Steuergeräte gewesen. Deshalb dachte er sich, dass er ein paar Hintergründe zu beiden Themengebieten erklären sollte.

Flight Model

Most space games (including my past ones) greatly simplify the simulation, usually as an atmospheric flight model without gravity and air resistance – ships have predefined pitch, roll and yaw rates, linear acceleration (that is applied to a simplified point mass) and a capped top speed. When you want to turn, the joystick or mouse input is mapped directly to the specified turn rate irrelevant of the ship’s moment of inertia. Damage is usually handled as a multiplier on the turn rates and linear acceleration.

Star Citizen doesn’t do that. We model what would be needed on an actual spaceship, including correct application of thrust at the places where the thrusters are attached to the hull of the ship – in our model moment of inertia, mass changes and counter thrust are VERY necessary. Star Citizen’s physical simulation of spaceflight is based on what would actually happen in space.

There were a couple of reasons why we went this direction:

Die meisten Weltraumspiele, auch die früheren von Chris Roberts, vereinfachen die Simulation sehr stark. Normalereweise ist es ein Flugmodell für Atmosphärenflug ohne Gravitation und Luftwiderstand. Raumschiffe haben vordefinierte Werte für Neigen, Rollen und Gieren, sowie lineare Beschleunigung, die auf einen vereinfachten Masseschwerpunkt angewendet wird. Außerdem ist die Höchstgeschwindigkeit eingeschränkt. Wenn man wenden will, ist die Eingabe des Joysticks oder der Maus direkt mit dem spezifitierten Wert für das Wende manöver verbunden. Das Trägheitsmoment des Schiffes spielt dann keine Rolle. Schaden wird normalerweise als Multiplikator auf die Werte fürs Wenden und der linearen Beschleunigung berechnet.

Star Citizen funktioniert anders. Sie modellieren, was an einem richtigen Raumschiff auch gebraucht werden würde. Dazu gehört die Berechnung des Schubs an dem Ort, wo die Thruster am Rumpf des Schiffes montiert sind. In ihrem Modell ist das Trägheitsmoment, Masseänderungen und Gegenschub sehr wichtig und notwendig. Die physikalische Simulation des Fluges in Star Citizen ist auf dem basiert, was im echten Weltraum passieren würde.

Es gab mehrere Gründe, warum sie sich für diesen Weg entschieden haben:

1. Because we were planning on modeling and simulating spaceships with a fidelity that hadn’t been seen before I felt we needed a simulation that would let the player have different flight behavior if a thruster is damaged, a wing is blown off or a pilot overloads his ship with weapons and ammunition? I wanted a system that could feel distinct for a huge variety of ships, with wildly different sizes and roles because in Star Citizen you can go from a single seater ship 15 meters in length to a huge capital ship over 1km in size crewed by many players. I wanted these ships to come with their own identity and feel much like similar sized cars, even if equivalent in mass can feel radically different. I wanted ships to have their own personality – not just a slower of faster version of the base ship.

1. Weil sie es geplant haben, dass die Modellierung und Simulation auf einem Grad ist, den man noch nie zuvor gesehen hat. Chris Roberts ist der Meinung, dass eine Simulation benötigt wird, in der man merkt, dass sich das Flugverhalten ändert, wenn ein Thruster beschädigt ist, ein Flügel das Zeitliche gesegnet hat, oder der Pilot das Schiff mit Waffen und Munition überfrachtet. Er wollte, dass man den Unterschied zwischen den verschieden Raumschiffen, mit ihren verschiedenen Größen und Rollen, unterscheiden kann. In Star Citizen gibt alles. Vom 15 Meter Raumschiff für eine Person bis hin zu riesigen Kampfschiffen mit über einem Kilometer Länge, welche von vielen Spielern gesteuert werden. Er wollte, dass alle diese Schiffe ihre eigene Identität haben und sich wie verschiedene Autofabrikate anfühlen. Diese können auch, trotz gleichen Gewichts, völlig unterschiedliche Fahrverhalten haben. Er wollte Schiffe, die ihre eigene Personalität haben, nicht nur eine langsamere oder schnellere Version des Basisschiffes.

2. The second is that Star Citizen will have a significant amount of player vs. player combat. I don’t know how many people played Wing Commander Armada (the first Wing Commander game to feature multiplayer) but it wasn’t that much fun in battle mode (the head to head mode). When you design a single player game you can deliberately dumb down the AI to allow the player to get on the tail and shoot down multiple enemies, which gives the player a sense of achievement. There’s nothing more fun than single handily clearing a wave of 10 enemy Kilrathi fighters. But let’s be honest, in single player games the ability for the player to gun down waves of enemies has less to do with the skill of the player because the player is usually overpowered in respect to the base enemies he will fight. You can’t do this in player vs player, and it’s likely that multiple players will have the same ship. Without a sophisticated simulation and flight model, with lots of options for a pilot to fluidly try different tactics to get the upper hand the battles can end up as a frustrating stalemate when both pilots have the same ship as no one can get on the other’s tail because you don’t have the same forces that affect air combat (namely gravity and air resistance) to bleed energy from the maneuvers.

2. Der zweite Grund ist, das Star Citizen einen großen Teil an PvP haben wird. Er weiß nicht, wie viele Wing Commander Armada gespielt haben (das erste Wing Commander, welches Multiplayer unterstützte), aber es machte nicht wirklich Spaß im Kampfmodus (Mann-gegen-Mann-Kämpfe). Wenn man ein Einzelspieler-Game programmiert, dann kann man die KI dumm genug machen, dass der Spieler die Chance hat, sich ans Heck zu hängen und mehrere Gegner abzuschießen. Dadurch hat der Spieler das Gefühl etwas erreicht zu haben. Es gebe nichts spaßigeres als alleine eine Welle von 10 feindlichen Kilrathi-Jäger fertig zu machen. Aber um ehrlich zu sein, hat die Fähigkeit des Spielers im Single-Player Wellen an Gegnern zu erledigen, nichts damit zu tun, wieviel Skill der Spieler hat. Chris Roberts meint, dass normalerweise der Spieler mit besserem Gerät antritt, als die Basis-Gegner, die gegen ihn kämpfen.

Das funktioniert aber nicht im PvP. Zudem ist es wahrscheinlich, dass mehrere Spieler das gleiche Schiff haben werden. Ohne eine fortgeschrittene Simulation und ein Flugmodell, mit vielen Optionen für den Piloten immer wieder neue Taktiken auszuprobieren, kann leicht zu Frustration führen. Da beide das gleiche Schiff haben, könnte niemand das Heck des anderen erreichen, da es nicht die gleichen Kräfte wie im Luftkampf gibt (Gravitation und Luftwiderstand), die bei Manövern an den Kräften des Piloten zerren.

These reasons are why we went out of our way to fully simulate the physics that would involve controlling and moving a ship in space with no short cuts.

In the very same way we also simulate the ship systems. Every function is tied to individual items that are “plugged” into the ship – the weapons, the thrusters, power plant, heat sinks, radar, fuel tank, batteries, targeting system, CPU, HUD and even the Intelligent Flight Control System (IFCS) are all items that tie into various “pipes” that connect the systems – there’s a pipe for power, heat, fuel and CPU cycles. The targeting computer needs power from the Power Plant and CPU cycles from the Ship’s Computer, positional information from the Radar to resolve targets. If there aren’t enough CPU cycles to go around the targets will resolve slower, not enough power and the targeting computer may stop functioning all together. If you don’t draw off enough heat from the weapons, they may overheat, malfunction or even become damaged. If one of your wings gets blown off with its attached heat sinks, you better scale back your heat output.

By fully simulating both the systems and physics of powered spaceflight we allow for a huge amount of emergent behavior and variety in the final game. Ship load out becomes very important not just for functionality but also for actual flight and responsiveness. Just like in real military aviation design, you could decide to have redundant systems for better battle survivability or you could maximize your hitting power at the expense of maneuverability.

Das sind die Gründe warum sie die physikalischen Kräfte komplett simulieren, die für das Steuern und Bewegen des Schiffs benötigt werden - und zwar ohne Tricks.

In der gleichen Weise simulieren sie auch die Schiffssysteme. Jede Funktion gehört zu einem individuellen Item, welches in das Schiff "eingestöpselt" ist. Die Waffen, die Thruster, Energieversorgung, Wärmeableitung, Radar, Treibstofftank, Batterieren, Zielsystem, CPU, HUD und auch das Intelligent Flight Control System (IFCS) - also der Flugcomputer - sind Systeme, die über sogenannte "Pipes" mit einander verbunden sind. Es gibt Pipes für Energie, Hitze, Treibstoff und CPU-Zeit. Der Zielcomputer braucht zum Beispiel Energie von der Energieeinheit und CPU-Zeit von Bordcomputer, sowie die Positionsinformation vom Radar, um Ziele erfassen zu können. Wenn nicht genügend CPU-Zeit vorhanden ist, dann wird die Zielerfassung langsamer sein. Wenn nicht genügend Energie vorhanden ist, kann die Zielerkennung komplett ausfallen. Wenn man nicht genügend Hitze von den Waffen ableitet, dann können sie überhitzen, fehlerhaft funktionieren oder gar beschädigt werden. Wenn also ein Flügel verloren geht, der Geräte für die Kühlung montiert hatte, sollte man vielleicht seinen Hitzeausstoß zurückfahren.

Durch die komplette Simulation sowohl der Schiffssysteme, als auch der Physik entsteht ein großer Teil des typischen Verhaltens der Schiffe und der Variabilität des Spiels. Die Konfiguration der Komponenten des Schiffes wird dadurch sehr wichtig. Aber eben nicht nur für die Funktionalität der angeschraubten Teile, sondern auch für das Flugverhalten und die Ansprechbarkeit des Schiffes. Genau wie in der realen militärischen Luftfahrt, kann man sich entscheiden, Sicherungssysteme einzubauen, um länger im Kampf überleben zu können. Es ist aber genauso gut möglich den Waffenschaden zu maximieren und dadurch bei der Manövrierbarkeit Einschnitte hinzunehmen.

Sounds pretty cool right? So why all the fuss?

Proper space flight simulation is inherently different than an atmospheric flight model. In space there is no aerodynamic force (lift or drag) and so both angular and linear inertia becomes much more important. Unless you apply a counter force to arrest the angular or linear momentum of an object in space it will continue unaltered. When a player pulls back on the stick the thrusters apply thrust to create rotation, which accelerates the ship’s angular velocity. When you let the stick return to zero or move it the other way, the IFCS now has to apply counter thrust to first retrograde the current angular velocity and then move you towards the new desired angular velocity. Unless the ship has hugely overpowered thrusters, this will not happen instantly. As the IFCS isn’t clairvoyant and doesn’t know when you wish to change angular velocity it can’t anticipate your actions, so unless the pilot himself eases into his desired orientation, it’s likely he will overshoot it. Think of it as stopping in a car; you normally have a good feel for your stopping distance and so when approaching a stop sign you start to slow down. You don’t expect to go from 50 mph to zero instantly. This behavior is quite different from an airplane which uses control surfaces that alter the airflow over the wings/tail to maneuver. In this case the angular velocity change is normally directly proportional to the rudder/flaps position.

Hört sich doch ziemlich cool an, oder? Warum also das ganze Geschwafel?

Eine richtige Simulation des Weltraumfluges ist entscheidend anders, als das Flugmodell beim atmosphärischen Flug. Im Weltraum gibt es keine aerodynamischen Kräfte (Auftriebskraft oder Luftwiderstand). Deshalb wird die Trägheit in Kurven und im Geradeaus-Flug sehr wichtig. Wenn man im Weltraum keine Gegenkraft einsetzt, um den linearen Impuls oder den Drehimpuls zu stoppen, wird man sich immer weiter bewegen. Wenn also ein Spieler den Joystick zurückzieht und damit Schub über die Thruster abgegeben wird, um eine Rotation zu starten, dann wird die Drehgeschwindigkeit des Schiffes erhöht. Wenn man nun den Joystick wieder auf den Nullpunkt zurückbringt, oder in die andere Richtung bewegt, dann muss das IFCS Gegenschub erzeugen, um zunächst die derzeitige Drehgeschwindigkeit auf null zubringen und dann in die gewünschte neue Richtung zu beschleunigen.

Außer wenn das Schiff unglaublich starke Thruster hätte, kann dies nicht sofort passieren. Da das IFCS nicht hellsehen kann, kann es nicht vorhersagen, wann der Pilot die Drehgeschwindigkeit ändern will. Deshalb wird das Schiff, wenn der Pilot es nicht selbst in die richtige Position steuert, sehr wahrscheinlich über das Ziel hinausschießen. Chris Roberts zieht den Vergleich zum Anhalten eines Autos im Straßenverkehr. Man weiß normalerweise wie schnell sein Auto anhalten kann. Also startet man den Bremsvorgang ein gutes Stück vor dem Stoppschild. Man erwartet eigentlich nicht, dass man von 50 Meilen pro Stunde sofort zum Stehen kommt. Im Gegensatz zu einem Flugzeug ist das ziemlich verschieden, denn dieses nutzt den Luftstrom über den Flügeln und dem Heckruder zum Manövrieren. In diesem Fall ist die Veränderung der Drehgeschwindigkeit normalerweise direkt proportional zur Position der Ruder/Landeklappen.

This means that to a certain extent you need to anticipate where you want to be and ease into that position. If you’re used to an atmospheric model when first flying in a model where momentum is much more important it is pretty easy to overshoot your desired heading. Then as the counter thrust isn’t instant you can overcorrect the other way. This is why the ship can feel “twitchy” when trying to line up a target.

As this is different than what people are used to, a portion of our community clearly feels the current flight model is “wrong.”

But if you think about what we are doing, we actually allow for a LOT more variation and nuance in flight and combat than a simplified Wing Commander/X-Wing style flight model. Like learning to drive a car really well…it requires some learning. You have to anticipate where you want to be and plan for it.

Does this mean I think the system is perfect?

Das heißt, dass man bis zu einem gewissen Grad voraus kalkulieren muss, wo man hinmöchte und entsprechend steuern muss. Wenn man an ein Flugmodell für Atmosphärenflug gewöhnt ist und jetzt ein Modell das erste Mal fliegt, bei dem die Trägheit viel wichtiger ist, kann es schnell passieren, dass man über das Ziel hinausschießt. Da dann auch der Gegenschub nicht sofort greift, kann auch die Korrektur wieder über das Ziel hinausgehen. Deshalb soll sich die Steuerung schwammig anfühlen, wenn man auf ein Ziel feuern will.

Da dies unterschiedlich zu dem ist, was die Spieler kennen, ist ein Teil der Community der Meinung, dass mit dem Flugmodell irgendetwas "falsch" sei. Aber wenn man darüber nachdachte, was sie da vorhaben, dann sehe man, dass dies zu viel mehr Variabilität und Details beim Fliegen und im Kampf führen wird, als es beim vereinfachten Flugmodell von Wing Commander oder X-Wing der Fall war. Wie beim Lernen ein Auto wirklich gut zu steuern, braucht es eben etwas Zeit. Man muss sich überlegen, wo das Schiff hinbewegt werden soll und entsprechend vorausplanen.

Heißt das, dass Chris Roberts das System für perfekt hält?

No!

This is one of the big reasons we wanted to get it into all of your hands. It’s been great seeing people play the game and provide their feedback. It’s been really great to see quite a few people who first hated the flight model, come around to seeing its potential after some other members of the community have shared their insights. This doesn’t mean everyone is sold but it’s always heartening to see people being open to new possibilities.

But that doesn’t mean that I’m satisfied with where we are. My goal is to have all the nuance that I describe above for the players that want to go deep but also make it accessible in the way Wing Commander was for someone new to the game (and genre).

The key thing to remember is that the Intelligent Flight Control System is just the interface between the physical simulation of the ship’s movement via its thrusters and the force they exert. It’s not the model. I see a lot of posts talking about the desire for “Newtonian” mode. The physics simulation is already a full Newtonian rigid body simulation. For what we are trying to achieve there will always need to be a fly by wire interface between the players input and the actual physics as no human can simultaneously direct eight thrusters simultaneously, specifying their thrust and attitude to achieve desired movement. Within the confines of physical reality the IFCS can do pretty much anything we want. The key is determining what we want the player’s input to map to.

Nein! Das sei einer der Gründe, warum sie das Modul uns frühzeitig geben wollten. Es sei eine tolle Sache, dass Fans das Spiel spielen und ihr Feedback geben würden. Besonders toll findet Chris, dass es Leute gab, die das Flugmodell erst hassten und dann aber immer mehr das Potential darin gesehen haben, als andere Mitglieder der Community ihre Erfahrungen mitgeteilt haben. Das heißt nicht, dass jeder das System nun super genial findet, aber es sei immer gut zu sehen, wenn Fans für neue Möglichkeiten offen sind.

Es heiße aber auch nicht, dass Chris Roberts nun zufrieden sei mit dem, was vorhanden ist. Sein Ziel ist es, alle Nuancen, die oben beschrieben sind für Spieler möglich zu machen, die sich einarbeiten wollen. Aber auf der anderen Seite soll es auch genauso Einsteiger-freundlich sein, wie es Wing Commander war, für die Spieler, die neu zum Spiel hinzukommen (oder in das Genre).

Was man im Hinterkopf behalten sollte, ist, dass das IFCS nur eine Schnittstelle zwischen der physikalischen Simulation der Schiffsbewegungen durch die Thruster und den Schub, den sie abgeben, ist. Es ist nicht das Modell. Er hat einige Posts im Forum gesehen, die einen "Newton"-Modus haben wollen. Die Simulation der Physik ist schon jetzt vollständig nach den Newton'schen Regeln aufgebaut. Für alle Schiffe wird es immer einen Flugcomputer benötigen, der als Schnittstelle zwischen den Eingaben des Spielers und der Physik dient. Niemand sei in der Lage acht Thruster simultan zu steuern, ihre Schubstärke einzustellen, um die gewünschte Bewegung zu erreichen. Innerhalb der Grenzen der physikalischen Realitäten kann das IFCS praktisch allen machen , was sie wollen. Der Schlüssel sei, wie sie die Eingaben der Spieler umsetzen.

The first pass of various modes – basic IFCS, De-Coupled, G-Safe and Comstab are all different modes that we felt would be useful at various times. It doesn’t mean it is the end of the modes, or how they are implemented is the only way they will be. A lot of people have been asking for “true” 6DOF available all the time – basically having strafe available during normal IFCS flight mode and to make strafe additive to the ship’s velocity in decoupled mode. These are all things that we will experiment with, along with quite a few other options e.g., an additional G-Safe mode that is turn limited rather than speed limited and we’re also going to be playing with thruster power as currently the maneuvering thrusters are about a half to a third of the power of the main engines which is fairly overpowered Just be warned the weaker the maneuvering thrusters the more the ship will “slide” at speed before vectoring to the desired direction.

Die erste Version der verschiedenen Modi (Basis-IFCS, De-Coupled, G-Safe und Comstab) sind alles Modi, von denen sie glaubten, dass sie in verschiedenen Situationen helfen könnten. Das heiße aber nicht, dass dies nun alle sind, die jemals in Spiel kommen, oder dass sie genauso implementiert bleiben, wie sie jetzt sind. Eine Menge Leute haben nach "echtem" 6-Degree-of-Freedom zu jeder Zeit gefragt. Also die Möglichkeit, dass man auch im normalen Flugmodus Strafe nutzen kann. Zudem soll es auch additiv zur Geschwindigkeit im De-Coupled Modus sein. Dies sind Dinge, mit denen sie experimentieren wollen, zusammen mit anderen Dingen. Zum Beispiel einen zusätzlichen G-Safe-Modus, der durch die Kurven limitiert ist, anstelle der Geschwindigkeit. Außerdem schauen sie sich die Thrusterstärke an. Sie ist für die Manövrierdüsen derzeit auf einhalb bis ein Viertel der Hauptantriebe eingestellt, wodurch sie eigentlich ein bisschen überproportioniert sind. Damit wir schon gewarnt sind. Mit weniger Kraft wird das Schiff noch mehr "sliden" bevor es die gewünschte Richtung annimmt.


Quelle: RSI Comm-Link

Kommentare:

  1. Es ist schon fun das DFM zu testen.
    Allerdings wäre ich schon froh wenn ich die Buttons meines Joystick selber belegen könnte.
    Mit dem roll und yar kann ich mich auch nur sehr schwer anfreunden, denn wie CR selber erkläret ist das kein Atmosphärenflug.

    AntwortenLöschen
    Antworten
    1. Falls du die Achsen für roll und yaw vertauschen möchtest, hier steht es wie:
      https://forums.robertsspaceindustries.com/discussion/137191/arena-commander-reported-issue-workarounds-faq

      You can now swap the controls so that twisting is roll rather than yaw using the xml here:
      https://robertsspaceindustries.com/media/5cq20bmqug1ygr/source/Layout_joystick_spacesim.xml
      1 Click the link to open the page
      2 Right click the page and Save As - noting where you've saved the file e.g. c:\temp
      3 Now, once you're in game, open the console with the [ ` ] key and type: pp_rebindkeys c:\temp\layout_joystick_spacesim
      NOTE: You should be able to use this after having already done the HOTAS rebinds above with no problems
      **WARNING** for any joysticks that don’t have twist, such as the HOTAS Warthog Thrustmaster, after activating this you will lose the ability to roll

      Löschen
  2. Das hört sich noch recht unsicher an.

    AntwortenLöschen