Flight Model and Input Controls

Undefined Undefined Design Post

Content

Greetings Citizens,
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.

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 –

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. 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. 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.

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.

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?

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.

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.

To give you even more insight into how the IFCS works, John Pritchett, the engineer who wrote the current implementation of the IFCS has written an in-depth piece that goes into the detail of how the system works. I hope you will all appreciate the level of detail we are aiming for in Star Citizen. Don’t forget there is so much more to the game than just Arena Commander – and even in Arena Commander there is so much that cannot be appreciated yet as we are blocked by a work in progress HUD and lack of items to equip your ship with – both of which will open up new possibilities and tactics.

Control Devices
There has been a lot of debate about mouse control vs. joystick control and the worry from some portion of the community that the mouse scheme makes the game too “arcadey” and HOTAS users feeling that their control mechanism of choice has not been supported properly.

Firstly let me state the goal for Star Citizen will be controller agnostic. No one control mechanism should have an advantage over the others. Personally I am a joystick pilot (either through HOTAS or Gamepad) as opposed to a mouse pilot. I just feel like I have more precise flight control with a joystick. In our various studios there is a huge variety of controller use – some prefer mouse, some joystick, some HOTAS and some gamepad. This is the best guarantee that any one control mode will not dominate.

Having said this we recognize that the control input schemes need work in flexibility/customization to achieve this goal.

One of our top priorities for Arena Commander is to allow users to customize their key bindings form inside the game. We are actively working on this and hope to deliver something next month.

We also will be working on the various HOTAS profiles, as well as fine tuning the control filtering for joysticks to hopefully allow for crisper maneuvering during smaller movements of the stick. There are also some additional head look modes that haven’t been implemented yet that will allow a joystick player to take advantage of the gimbaled weapons the way the mouse player can. And of course if you feel the mouse, with its greater precision allows for better aiming you could always fly the ship with a joystick and look with a mouse!

Yaw vs Roll
There has also been some discussion around the fact that yawing does not impact your pilot in terms of negative G effects (i.e. the black and red out of the vertical G forces). There are a few things to consider here. First, pure yawing turns, without any bank, are certainly possible in space, but that isn’t the optimal way to turn. You can generate more thrust by combining your side and lower thrusters than you can with just your side thrusters. IFCS automatically banks a ship to optimize its turning thrust, and this is where vertical G forces come into play (note this is different from atmospheric flight where banking is necessary for turn stability). Second, the amount of bank in any yawing turn will depend on the amount of side thrust that your ship can provide, which means the amount of vertical G forces in a yawing turn will vary based on the situation. Third, black/redout and loss of consciousness are consequences of vertical g-force exposure only, where blood is being either drained from or forced into the pilot’s head. Properly constrained pilots can withstand very high levels of horizontal G forces without any significant loss of cognitive ability.

For horizontal g-forces, the limiting factor is structural. Unfortunately, that limitation has not yet been implemented in our model. Once it is, there will be consequences for extreme unbanked turns. Instead of blacking out, you might rip off a thruster or a wing from the sheer magnitude of the horizontal Gs. And if enabled, G-safe mode will guarantee the structural integrity of your ship by limiting the amount of thrust in any maneuver.

Turreting
A portion of the community has expressed concern about the ability for players to “turret” by going into decoupled mode and spin around to fire at their target, feeling this removes the skill level of dogfighting. I know people think this but I can assure you that in our internal multiplayer tests pretty no one exclusively decouples and “turrets” as they would get destroyed very quickly. The key to surviving a dogfight is about being constantly on the move and not being predicable with your movements – sitting still or moving in a constant vector (which is what happens when you decouple) will get you killed. Decoupled mode is best used by going into briefly for a quick orientation change then dropping back into coupled mode. As we tweak the power of the maneuvering thrusters to make the main engine more significant going into decoupled mode, making a quick orientation change and going back into normal flight will be a great way to maximize your available thrust for a quick vector change. I know that some people think that being able to change your orientation much quicker than you can in an atmospheric flight sim makes the game easy but this is a space combat simulation NOT an atmospheric flight simulation and the ability to decouple your orientation from your velocity vector is absolutely something that would be used – and don’t forget a huge amount of the community demanded to be able to do the maneuvers you loved from Battle Star Galactica!

Gimbaled Weapons vs Fixed
In Arena Commander V1.0 (and Star Citizen as a whole) there will be both fixed weapons and gimbaled/turreted weapons. The fixed weapons will have a slow auto convergence of perhaps -/+ five degrees to allow them to focus at a point that is user definable (defaults to half maximum range) or will adjust to the distance of the current target. We didn’t have time to finish this feature so for v0.8 we just made all fixed weapons gimbaled in order to not give the Hornet a huge advantage over the Aurora and 300i. This is not the long term plan.

Fixed weapons will have a lead indicator (just like in a real combat aircraft). We are also considering altering how the gimbaled guns look reticle operates. Right now you just have to place it over your target and the targeting computer gimbals the guns to achieve that firing solution, when the dotted lines collapse inside the reticle it means that all guns have achieved the solution. We are thinking about making it so you have to place the look reticle over the lead indicator in order to achieve the firing solution.

This will allow a pilot who is not using the full power of his gimbaled guns (it’s not always easy to aim and fly into two different directions or if you’re in a combined look and fly mode like the “Freelancer” mouse mode) to fly in a more optimal manner for leading the target (you want to heading at where the target is heading not where it is now)

As for people thinking that gimbaled weapons spoil the “skill” in the game, gimbaled / turreted weapons are a mainstay of current military equipment and will likely be even more so in the future. That doesn’t mean a hit is automatic. The weapon still has to come to bear on the target and you have to be pointing your ship’s nose in such a way as the firing solution can be met. And that’s assuming the target doesn’t start changing course or speed erratically!

— Chris Roberts

In Star Citizen, IFCS is a flight control system that is designed to assist the pilot in operating a spacecraft. It translates a pilots control inputs into thruster operations to accomplish a designated command, even under a sub-optimal or failing propulsion system. It is an adaptive system that uses a combination of sensors and feedback control to drive the error between the goal state and the actual spacecraft state to zero. It is fault tolerant, in that it can adaptively utilize any combination of thrusters and its backup Control Moment Gyro to compensate for the failure or loss of one or more thrusters and keep the craft stabilized and, if possible, under pilot control. Even with a single thruster remaining, a pilot can, with some difficulty, actively control his or her spacecraft.

IFCS Subsystems
IFCS is comprised of many subsystems that work together to provide a pilot with spacecraft stability and control. These include:

Propulsion and Attitude Control (PAC) – PAC includes, typically, the full set of thrusters, which provide both translational and rotational action, and a backup Control Moment Gyro (CMG) unit which provides supplemental attitude control. It also includes the circuitry and control software that drive these units.

Primary Control System (PCS) – The PCS provides an interface between the pilot and IFCS. It translates a pilot’s commands into control actions that are applied to a virtual control frame which represents the ideal goal action of the pilot. The virtual control frame consists of a goal velocity along any combination of axes, goal rotation rates about any combination of axes, as well as a reference attitude. This virtual frame represents the ideal state of the craft under perfect control, and all pilot input is applied relative to this virtual frame, thereby limiting the effect of external error on pilot control.

Reaction Control System (RCS) – The physical state of the PCS virtual frame is controlled by the predicted thruster and CMG output in response to pilot control. Under ideal conditions, the PCS frame attitude will be perfectly synchronized with the actual attitude of the spacecraft. However, factors such as sub-optimal thruster response or failure, external forces such as weapons fire, missile explosions, etc., can cause the real attitude of the craft to deviate from the virtual attitude. When this happens, it is the job of the Reaction Control System to drive the error between the two attitudes to zero. It attempts to do so using both thrusters and the Control Moment Gyros. If it fails to synchronize the attitude of the real and virtual frames within a reasonable time, it may reset the virtual frame attitude to that of the real spacecraft in order to avoid pilot disorientation.

Anti-gravity System (AGS) – The AGS detects and compensates for gravity, and, in general, any other continuous external force, allowing the spacecraft to maintain its position relative to the field’s source.

Turn Control System (TCS) – TCS assists the pilot in achieving stable turns. At high speed, a spacecraft’s thrusters may not provide enough force to hold a stable turn, causing the ship to slide, often resulting in a collision. A pilot will normally decrease his or her speed when turning, but TCS can manage the throttle for you by automatically setting the forward velocity to match the desired turn rate given the level of turning thrust currently available. The system takes into account the optimal banking thrust in calculating the sustainable turning velocity.

G-force Control Mode (GCM) – GCM is a safety mode that attempts to limit a pilot’s exposure to potentially dangerous levels of g-force. The primary danger for a fully constrained pilot is prolonged exposure to vertical g-forces which can cause blackout, greyout, redout, disorientation, loss of consciousness, and, if not corrected, even death. Horizontal g-forces of an extreme nature are also avoided, as they can cause both physical harm to a pilot and structural damage to the spacecraft.

In addition to these standard subsystems, other functionality may be implemented for more advanced systems.

IFCS Operation
IFCS takes as input a pilot’s commands, which may include a variety of operations, but are ultimately translated into 3 degrees of translation and 3 degrees of rotation. Additionally, other pilot inputs may be used as parameters in various phases of the IFCS control system.

Once the input values are modified by IFCS modes such as Turn Control and G-force Control, speed limits are imposed, etc., the modified inputs are passed into the Primary Control System, which includes both a linear and angular velocity PID controller. These control functions calculate the optimal force and torque which, if applied at the ship’s center of mass, will provide the motion requested by the pilot.

Simultaneously, attitude readings are passed into the Reaction Control System where a positional PID controller is used to drive the ship’s real attitude toward a goal reference attitude provided by the PCS. The control function outputs a torque that will optimally decrease the attitude error over the next time step.

Finally, a reading of persistent force fields, typically gravity, is passed into the Anti-gravity System which calculates the necessary counter-force.

Once the desired forces and torques have been calculated, propulsion resources are allocated to them in order from highest to lowest priority. AGS force is allocated first, as failure to generate sufficient counter-propulsion could be catastrophic. Next, RCS torque is allocated, drawn from primary propulsion first, then falling back on CMG torque if insufficient propulsion is available. Next, PCS rotation control is allocated, again drawing upon primary propulsion first, CMG torque next. And finally, at the lowest priority, translational control is allocated.

After a short time, once the propulsion system has acted on the IFCS commands, sensors read the ship’s actual state, which may vary from the expected state because of propulsion malfunctions, uncompensated external forces, etc., then feeds the results back in to the IFCS control loop and the process repeats.

Velocity and Attitude Control
Because IFCS cannot rely on the propulsion system to deliver the requested control, it uses a PID feedback controller to minimize the error between the desired state and the measured state. Such controllers are used by the Primary Control System to calculate the optimal force and torque to carry out the pilot’s control commands, as well as the Reaction Control System to maintain attitude stability.

PID controllers can be tuned to provide a range of response characteristics. Using velocity control as an example, an overdamped controller will accelerate quickly toward the reference velocity, overshoot, then oscillate as it settles into the final velocity. An underdamped controller will accelerate more slowly, settling into the reference velocity without any overshoot. A critically damped controller will accelerate at the optimal rate to settle in minimum time without any overshoot. The Primary Control System controllers that provide linear and angular velocity control are dynamically tuned. Based on pilot input magnitude, they can range from a subtle to aggressive acceleration response. In addition, individual pilots may prefer a more or less stiff acceleration response.

The actual response time of IFCS controllers is dependent not only on the tuning parameters, but also on the response time of its propulsion system components.

Propulsion System
Thrusters
The primary component of propulsion on most ships will be the thruster. The Star Citizen flight model provides a 100% accurate thruster model that takes into account the location of each thruster relative to the ship’s true center of mass, and the maximum thrust capacity and response time of each thruster. Under ideal conditions, the thrusters will generally be balanced about the ship’s intended center of mass. This allows the ship optimal thruster control. In this sample image, the top rear thrusters are balanced about the center of mass and will generate a zero sum torque about the z axis.

After suffering damage, the center of mass may shift, destabilizing the thruster system. In the following image, the thrusters are no longer balanced about the center of mass. When firing the thrusters, the ship is subjected to non-zero torque, resulting in an unintended yaw. IFCS will attempt to compensate for this torque error by using other thruster pairs to generate counter torque, and if unable to do so, will attempt to limit the error by decreasing the amount of thrust generated by the thrusters.

Damage and other conditions can also change the available thrust capacity, response time and even accuracy of each thruster, or a thruster may become completely non-functional or be lost altogether. Any of these changes will have an effect on the thruster balance and therefore how the ship behaves under pilot control.

Control Moment Gyro
Each ship has a small amount of backup torque available to it even if every thruster has been lost. This torque is provided by a set of internal Control Moment Gyros. As long as the CMGs are functional, the pilot will always have minimal torque available on each axis of rotation. This torque is sufficient to stabilize the ship’s attitude, and can be used to slowly spin up or down under direct pilot control.

Final Notes
This document is not an in-fiction description of the Star Citizen IFCS, it is an accurate description of the true flight control model implemented for the game. This level of realism was necessary in order to deliver a flight control system that could be fully integrated with and influenced by the environment, damage states, changing mass distribution, power allocation, thruster placement, etc. IFCS is an emergent system, and therefore may be imperfect at times. But this mimics reality.

And finally, great effort has been made to limit spacecraft control to only the command pathways provided by IFCS. No player, AI or even IFCS itself will ever modify the position, velocity, rotation or rotational velocity of a ship directly, with the exception of initialization and network correction. This guarantees that all spacecraft control is consistent and the game will never have an unfair advantage over a player.

I look forward to your feedback as we work to refine and polish this system. After all, this is only the beginning. We’re just getting started!

John Pritchett
Physics Programmer at CIG
Grüße Bürger,
Es ist wirklich großartig zu sehen, wie viele von euch ins All gehen, um den ersten Vorgeschmack darauf zu bekommen, was für ein Weltraumkampf in Star Citizen stattfinden wird. Ich, wie der Rest des Teams, habe eifrig die Twitch-Streams von Geldgebern beobachtet, die spielen und die Foren für Ihr Feedback lesen. Zwei der heißesten Diskussionsthemen waren das Flugmodell und der Vor- oder Nachteil verschiedener Eingabegeräte. Also dachte ich, ich würde mir einen Moment Zeit nehmen, um einige Einblicke in die beiden Themen zu teilen.

Flugmodell
Die meisten Weltraumspiele (einschließlich meiner früheren) vereinfachen die Simulation erheblich, in der Regel als atmosphärisches Flugmodell ohne Schwerkraft und Luftwiderstand - Schiffe haben vordefinierte Neigungs-, Roll- und Gierraten, lineare Beschleunigung (die auf eine vereinfachte Punktmasse angewendet wird) und eine gedeckelte Höchstgeschwindigkeit. Wenn Sie drehen möchten, wird der Joystick- oder Maus-Eingang direkt auf die angegebene Drehgeschwindigkeit abgebildet, unabhängig vom Trägheitsmoment des Schiffes. Schäden werden in der Regel als Multiplikator für die Wendezahlen und die lineare Beschleunigung behandelt.

Star Citizen macht das nicht. Wir modellieren, was an einem realen Raumschiff benötigt wird, einschließlich der korrekten Anwendung von Schub an den Stellen, an denen die Schubdüsen am Rumpf des Schiffes befestigt sind - in unserem Modell sind Trägheitsmoment, Massenänderungen und Gegenschub SEHR notwendig. Star Citizens physikalische Simulation der Raumfahrt basiert auf dem, was tatsächlich im Weltraum passieren würde.

Es gab eine Reihe von Gründen, warum wir diese Richtung eingeschlagen haben -

1. Weil wir planten, Raumschiffe mit einer Treue zu modellieren und zu simulieren, die noch nie zuvor gesehen worden war, brauchten wir eine Simulation, die dem Spieler ein anderes Flugverhalten ermöglicht, wenn ein Triebwerk beschädigt ist, ein Flügel weggeblasen wird oder ein Pilot sein Schiff mit Waffen und Munition überlastet? Ich wollte ein System, das sich für eine große Vielfalt von Schiffen unterschiedlich anfühlen könnte, mit wild unterschiedlichen Größen und Rollen, denn in Star Citizen kann man von einem einsitzigen Schiff mit einer Länge von 15 Metern zu einem riesigen Hauptschiff mit einer Größe von über 1 km wechseln, das von vielen Spielern besetzt ist. Ich wollte, dass diese Schiffe mit ihrer eigenen Identität kommen und sich wie Autos ähnlicher Größe anfühlen, auch wenn sich ein Äquivalent an Masse radikal anders anfühlen kann. Ich wollte, dass Schiffe ihre eigene Persönlichkeit haben - nicht nur eine langsamere oder schnellere Version des Basisschiffes. 2. Die zweite ist, dass Star Citizen eine beträchtliche Anzahl von Spieler-gegen-Spieler-Kämpfen haben wird. Ich weiß nicht, wie viele Leute Wing Commander Armada gespielt haben (das erste Wing Commander Spiel mit Multiplayer-Funktion), aber es war nicht so lustig im Kampfmodus (der Head-to-Head-Modus). Wenn du ein Einzelspielerspiel entwirfst, kannst du die KI absichtlich dämpfen, damit der Spieler auf den Schwanz steigen und mehrere Feinde abschießen kann, was dem Spieler ein Gefühl der Leistung vermittelt. Es gibt nichts Schöneres, als eine Welle von 10 gegnerischen Kilrathi-Kämpfern mit einer Hand zu räumen. Aber seien wir ehrlich, in Einzelspielerspielen hat die Fähigkeit des Spielers, Wellen von Feinden abzuschiessen, weniger mit der Fähigkeit des Spielers zu tun, da der Spieler normalerweise in Bezug auf die Basisgegner, die er bekämpfen wird, überwältigt ist. Sie können dies nicht in Spieler gegen Spieler tun, und es ist wahrscheinlich, dass mehrere Spieler das gleiche Schiff haben werden. Ohne ein ausgeklügeltes Simulations- und Flugmodell, mit vielen Möglichkeiten für einen Piloten, verschiedene Taktiken fließend auszuprobieren, um die Oberhand zu gewinnen, können die Kämpfe als frustrierende Pattsituation enden, wenn beide Piloten das gleiche Schiff haben, da niemand auf den anderen aufsteigen kann, weil man nicht die gleichen Kräfte hat, die den Luftkampf beeinflussen (nämlich Schwerkraft und Luftwiderstand), um Energie aus den Manövern zu entnehmen. Aus diesen Gründen haben wir uns bemüht, die Physik vollständig zu simulieren, wozu auch die Steuerung und Bewegung eines Schiffes im Weltraum ohne Abkürzungen gehört.

Ebenso simulieren wir auch die Schiffssysteme. Jede Funktion ist an einzelne Elemente gebunden, die an das Schiff "angeschlossen" sind - die Waffen, die Triebwerke, das Kraftwerk, die Kühlkörper, das Radar, der Kraftstofftank, die Batterien, das Zielsystem, die CPU, das HUD und sogar das Intelligent Flight Control System (IFCS) sind alles Elemente, die an verschiedene "Rohre" anknüpfen, die die Systeme verbinden - es gibt ein Rohr für Strom-, Wärme-, Kraftstoff- und CPU-Zyklen. Der Zielrechner benötigt Strom aus dem Kraftwerk und CPU-Zyklen aus dem Schiffscomputer, Positionsinformationen aus dem Radar, um Ziele aufzulösen. Wenn nicht genügend CPU-Zyklen vorhanden sind, um die Ziele zu umgehen, werden die Ziele langsamer aufgelöst, nicht genügend Leistung und der Zielrechner kann zusammen nicht mehr funktionieren. Wenn Sie den Waffen nicht genügend Wärme entziehen, können sie überhitzen, versagen oder sogar beschädigt werden. Wenn einer Ihrer Flügel mit den dazugehörigen Kühlkörpern weggeblasen wird, sollten Sie Ihre Wärmeleistung besser reduzieren.

Durch die vollständige Simulation sowohl der Systeme als auch der Physik der motorisierten Raumfahrt ermöglichen wir eine große Menge an aufkommendem Verhalten und Vielfalt im Endspiel. Die Auslastung von Schiffen wird nicht nur für die Funktionalität, sondern auch für den tatsächlichen Flug und die Reaktionsfähigkeit sehr wichtig. Genau wie im realen militärischen Luftfahrtdesign können Sie sich entscheiden, redundante Systeme für eine bessere Überlebensfähigkeit im Kampf zu haben, oder Sie können Ihre Schlagkraft auf Kosten der Manövrierfähigkeit maximieren.

Klingt ziemlich cool, oder? Also, warum der ganze Aufruhr?

Die richtige Raumfahrtsimulation unterscheidet sich von Natur aus von einem atmosphärischen Flugmodell. Im Weltraum gibt es keine aerodynamische Kraft (Auftrieb oder Widerstand), so dass sowohl die winklige als auch die lineare Trägheit viel wichtiger wird. Wenn Sie nicht mit einer Gegenkraft den Winkel- oder Linearmoment eines Objekts im Raum arretieren, bleibt er unverändert. Wenn ein Spieler am Stick zurückzieht, erzeugen die Triebwerke eine Drehung, die die Winkelgeschwindigkeit des Schiffes beschleunigt. Wenn Sie den Stick auf Null zurückgehen lassen oder ihn andersherum bewegen, muss das IFCS nun einen Gegenschub anwenden, um zuerst die aktuelle Winkelgeschwindigkeit rückgängig zu machen und Sie dann auf die neue gewünschte Winkelgeschwindigkeit zu bewegen. Wenn das Schiff keine stark überwältigten Triebwerke hat, wird dies nicht sofort geschehen. Da das IFCS nicht hellseherisch ist und nicht weiß, wann Sie die Winkelgeschwindigkeit ändern wollen, kann es Ihre Aktionen nicht vorwegnehmen. Wenn der Pilot also nicht selbst in seine gewünschte Ausrichtung nachlässt, ist es wahrscheinlich, dass er sie überschreitet. Betrachten Sie es als ein Anhalten in einem Auto; Sie haben normalerweise ein gutes Gefühl für Ihren Bremsweg und wenn Sie sich einem Stoppschild nähern, beginnen Sie zu verlangsamen. Du erwartest nicht, sofort von 50 mph auf Null zu gehen. Dieses Verhalten unterscheidet sich deutlich von einem Flugzeug, das Steuerflächen verwendet, die den Luftstrom über die Flügel/Heck zum Manöver verändern. In diesem Fall ist die Winkelgeschwindigkeitsänderung in der Regel direkt proportional zur Ruder-/Klappenposition.

Das bedeutet, dass du bis zu einem gewissen Grad voraussehen musst, wo du sein willst und dich in diese Position zurückziehen musst. Wenn Sie an ein atmosphärisches Modell gewöhnt sind, wenn Sie zum ersten Mal in einem Modell fliegen, bei dem das Momentum viel wichtiger ist, ist es ziemlich einfach, Ihren gewünschten Kurs zu überschreiten. Da der Gegenschub nicht sofort erfolgt, können Sie ihn andersherum überkorrigieren. Deshalb kann sich das Schiff beim Versuch, ein Ziel aufzustellen, "zuckend" fühlen.

Da dies anders ist als die Gewohnheiten der Menschen, empfindet ein Teil unserer Community das aktuelle Flugmodell eindeutig als "falsch".

Aber wenn Sie darüber nachdenken, was wir tun, lassen wir tatsächlich viel mehr Variation und Nuancen in Flug und Kampf zu als ein vereinfachtes Flugmodell im Wing Commander/X-Wing-Stil. Wie das Lernen, ein Auto wirklich gut zu fahren.... es erfordert etwas Lernen. Man muss voraussehen, wo man sein will, und dafür planen.

Heißt das, ich denke, das System ist perfekt?

Nein!

Dies ist einer der wichtigsten Gründe, warum wir es in alle Ihre Hände bekommen wollten. Es war toll, dass die Leute das Spiel spielen und ihr Feedback geben konnten. Es war wirklich toll zu sehen, dass einige Leute, die das Flugmodell zuerst gehasst haben, sein Potenzial erkannt haben, nachdem einige andere Mitglieder der Community ihre Erkenntnisse ausgetauscht haben. Das bedeutet nicht, dass jeder verkauft wird, aber es ist immer ermutigend zu sehen, dass die Menschen offen für neue Möglichkeiten sind.

Aber das bedeutet nicht, dass ich mit dem, was wir sind, zufrieden bin. Mein Ziel ist es, alle Nuancen, die ich oben beschrieben habe, für die Spieler zu haben, die tief gehen wollen, aber es auch so zugänglich machen wollen, wie es der Wing Commander für jemanden war, der neu in diesem Spiel (und Genre) ist.

Das Wichtigste ist, dass das intelligente Flugsteuerungssystem nur die Schnittstelle zwischen der physikalischen Simulation der Schiffsbewegung über die Triebwerke und der von ihnen ausgeübten Kraft ist. Es ist nicht das Modell. Ich sehe viele Beiträge, die über den Wunsch nach dem "Newtonschen" Modus sprechen. Die physikalische Simulation ist bereits eine vollständige newtonsche Starrkörpersimulation. Für das, was wir versuchen zu erreichen, wird es immer eine Fly-by-Wire-Schnittstelle zwischen dem Input des Spielers und der tatsächlichen Physik geben müssen, da kein Mensch gleichzeitig acht Triebwerke gleichzeitig steuern kann, die seinen Schub und seine Einstellung angeben, um die gewünschte Bewegung zu erreichen. Innerhalb der Grenzen der physischen Realität kann das IFCS so ziemlich alles tun, was wir wollen. Der Schlüssel ist die Bestimmung, worauf der Input des Spielers abgebildet werden soll.

Der erste Durchlauf verschiedener Modi - Basic IFCS, De-Coupled, G-Safe und Comstab - sind alle verschiedene Modi, die wir zu verschiedenen Zeiten für nützlich hielten. Es bedeutet nicht, dass es das Ende der Modi ist, oder wie sie implementiert werden, ist der einzige Weg, wie sie sein werden. Viele Leute haben nach "echten" 6DOF gefragt, die ständig verfügbar sind - im Grunde genommen mit Strafe, die im normalen IFCS-Flugmodus verfügbar ist, und um Strafe-Additiv zur Schiffsgeschwindigkeit im entkoppelten Modus zu machen. Das sind alles Dinge, mit denen wir experimentieren werden, zusammen mit einigen anderen Optionen, z.B. einem zusätzlichen G-Safe-Modus, der eher begrenzt als geschwindigkeitsbegrenzt ist, und wir werden auch mit Schubkraft spielen, da die Manövriertriebwerke derzeit etwa ein halbes bis ein Drittel der Leistung der Hauptmaschinen sind, die ziemlich überwältigt sind. Seien Sie einfach gewarnt, je schwächer die Manövriertriebwerke sind, desto mehr wird das Schiff mit Geschwindigkeit "rutschen", bevor es in die gewünschte Richtung fährt.

Um Ihnen noch mehr Einblick in die Funktionsweise des IFCS zu geben, hat John Pritchett, der Ingenieur, der die aktuelle Implementierung des IFCS geschrieben hat, einen ausführlichen Artikel geschrieben, der im Detail auf die Funktionsweise des Systems eingeht. Ich hoffe, Sie alle werden den Detailreichtum zu schätzen wissen, den wir bei Star Citizen anstreben. Vergiss nicht, dass das Spiel so viel mehr umfasst als nur Arena Commander - und selbst in Arena Commander gibt es so viel, das noch nicht gewürdigt werden kann, da wir durch ein in Arbeit befindliches HUD und den Mangel an Gegenständen, mit denen du dein Schiff ausrüsten kannst, blockiert werden - beides wird neue Möglichkeiten und Taktiken eröffnen.

Steuergeräte
Es gab eine Menge Diskussionen über Maussteuerung vs. Joysticksteuerung und die Sorge eines Teils der Community, dass das Mausschema das Spiel zu "arcadey" macht und HOTAS-Anwender das Gefühl haben, dass ihr bevorzugter Kontrollmechanismus nicht richtig unterstützt wurde.

Zuerst möchte ich sagen, dass das Ziel für Star Citizen darin besteht, dass die Steuerung ignorant ist. Keiner der Kontrollmechanismen sollte einen Vorteil gegenüber den anderen haben. Ich persönlich bin ein Joystick-Pilot (entweder über HOTAS oder Gamepad) im Gegensatz zu einem Mauspiloten. Ich habe einfach das Gefühl, dass ich eine präzisere Flugkontrolle mit einem Joystick habe. In unseren verschiedenen Studios gibt es eine große Vielfalt an Controller-Anwendungen - einige bevorzugen Maus, Joystick, HOTAS und Gamepad. Dies ist die beste Garantie dafür, dass kein einziger Kontrollmodus dominiert.

Allerdings erkennen wir an, dass die Kontrolleingabesysteme in Flexibilität/Anpassung arbeiten müssen, um dieses Ziel zu erreichen.

Eine unserer obersten Prioritäten für Arena Commander ist es, den Benutzern zu ermöglichen, ihre Form der Schlüsselbindungen innerhalb des Spiels anzupassen. Wir arbeiten aktiv daran und hoffen, im nächsten Monat etwas liefern zu können.

Wir werden auch an den verschiedenen HOTAS-Profilen arbeiten, sowie an der Feinabstimmung der Steuerfilterung für Joysticks, um hoffentlich ein knapperes Manövrieren bei kleineren Bewegungen des Stockes zu ermöglichen. Es gibt auch einige zusätzliche Head-Look-Modi, die noch nicht implementiert wurden, die es einem Joystick-Spieler ermöglichen, die Vorteile der kardanischen Waffen so zu nutzen, wie es der Maus-Spieler kann. Und natürlich, wenn Sie das Gefühl haben, dass die Maus mit ihrer höheren Präzision ein besseres Zielen ermöglicht, können Sie das Schiff jederzeit mit einem Joystick fliegen und mit einer Maus aussehen!

Gieren vs. Rollen
Es gab auch einige Diskussionen darüber, dass das Gieren Ihren Piloten nicht in Bezug auf negative G-Effekte (d.h. das Schwarz-Rot aus den vertikalen G-Kräften) beeinflusst. Es gibt hier ein paar Dinge zu beachten. Erstens sind reine Gierkurven, ohne jegliche Bank, im Weltraum durchaus möglich, aber das ist nicht die optimale Art zu drehen. Sie können mehr Schub erzeugen, indem Sie Ihre Seiten- und unteren Triebwerke kombinieren, als Sie es mit nur Ihren Seitentriebwerken können. IFCS überbrückt automatisch ein Schiff, um seinen Drehschub zu optimieren, und hier kommen vertikale G-Kräfte ins Spiel (beachten Sie, dass dies anders ist als bei Atmosphärenflügen, bei denen eine Überhöhung für die Kurvenstabilität erforderlich ist). Zweitens hängt die Höhe der Bank in jeder Gierdrehung von der Höhe des Seitenschubs ab, den Ihr Schiff liefern kann, was bedeutet, dass die Höhe der vertikalen G-Kräfte in einer Gierdrehung je nach Situation variiert. Drittens sind Schwarz/Redout und Bewusstseinsverlust die Folgen einer vertikalen g-Kraft-Exposition, bei der das Blut entweder aus dem Kopf des Piloten abgelassen oder in den Kopf gedrückt wird. Richtig eingeschränkte Piloten können sehr hohe horizontale G-Kräfte ohne signifikanten Verlust der kognitiven Fähigkeiten aushalten.

Bei horizontalen g-Kräften ist der begrenzende Faktor die Struktur. Leider ist diese Einschränkung in unserem Modell noch nicht umgesetzt. Sobald dies der Fall ist, wird es Konsequenzen für extreme unbestrahlte Wendungen geben. Anstatt ohnmächtig zu werden, kannst du ein Triebwerk oder einen Flügel aus der schieren Größe der horizontalen Gs herausreißen. Und wenn aktiviert, garantiert der G-Safe-Modus die strukturelle Integrität Ihres Schiffes, indem er die Schubkraft bei jedem Manöver begrenzt.

Revolverkopf
Ein Teil der Community hat seine Besorgnis über die Fähigkeit der Spieler zum "Turm" geäußert, indem sie in den entkoppelten Modus wechseln und sich drehen, um auf ihr Ziel zu schießen, was das Gefühl vermittelt, dass dadurch das Qualifikationsniveau des Luftkampfes beeinträchtigt wird. Ich weiß, dass die Leute das denken, aber ich kann dir versichern, dass in unseren internen Multiplayer-Tests so ziemlich niemand ausschließlich entkoppelt und "Geschütztürme", da sie sehr schnell zerstört würden. Der Schlüssel zum Überleben eines Luftkampfes liegt darin, ständig in Bewegung zu sein und nicht mit seinen Bewegungen vorhersehbar zu sein - stillzusitzen oder sich in einem konstanten Vektor zu bewegen (was passiert, wenn man sich entkoppelt), bringt einen um. Der entkoppelte Modus wird am besten verwendet, indem man kurz in einen schnellen Orientierungswechsel geht und dann wieder in den gekoppelten Modus zurückfällt. Während wir die Leistung der Manövriertriebwerke optimieren, um die Bedeutung des Hauptmotors zu erhöhen, indem wir in den entkoppelten Modus wechseln, ist eine schnelle Orientierungsänderung und die Rückkehr in den Normalflug eine großartige Möglichkeit, Ihren verfügbaren Schub für einen schnellen Vektorwechsel zu maximieren. Ich weiß, dass einige Leute denken, dass die Möglichkeit, ihre Orientierung viel schneller zu ändern, als man es in einer atmosphärischen Flugsimulation kann, das Spiel einfach macht, aber dies ist eine Weltraumkampfsimulation NICHT eine atmosphärische Flugsimulation und die Fähigkeit, ihre Orientierung von ihrem Geschwindigkeitsvektor zu entkoppeln, ist absolut etwas, das verwendet werden würde - und vergiss nicht, dass eine riesige Menge der Gemeinschaft verlangt hat, um die Manöver durchführen zu können, die du von Battle Star Galactica geliebt hast!

Kardanische Waffen vs. Fixierte Waffen
In Arena Commander V1.0 (und Star Citizen als Ganzes) wird es sowohl feste Waffen als auch kardanische und turmgeschützte Waffen geben. Die festen Waffen haben eine langsame Autokonvergenz von vielleicht -/+ fünf Grad, damit sie sich auf einen Punkt konzentrieren können, der vom Benutzer definierbar ist (Standard ist die halbe maximale Reichweite) oder sich an die Entfernung des aktuellen Ziels anpasst. Wir hatten keine Zeit, dieses Feature zu beenden, also haben wir für v0.8 nur alle festen Waffen kardanisch aufgehängt, um der Hornet keinen großen Vorteil gegenüber der Aurora und 300i zu verschaffen. Dies ist nicht der langfristige Plan.

Feste Waffen haben einen Lead-Indikator (genau wie in einem echten Kampfflugzeug). Wir überlegen auch, wie das Absehen der kardanischen Pistolen funktioniert. Im Moment müssen Sie es nur über Ihrem Ziel platzieren und der Zielcomputer kardanisch mit den Waffen, um diese Schusslösung zu erreichen, wenn die gestrichelten Linien innerhalb des Fadenkreuzes zusammenbrechen, bedeutet das, dass alle Waffen die Lösung erreicht haben. Wir denken darüber nach, es so zu gestalten, dass Sie das Look-Absehen über den Lead-Indikator legen müssen, um die Brennlösung zu erhalten.

Dies wird es einem Piloten, der nicht die volle Kraft seiner kardanischen Geschütze nutzt (es ist nicht immer einfach, zu zielen und in zwei verschiedene Richtungen zu fliegen oder wenn Sie sich in einem kombinierten Look-and-Fly-Modus wie dem "Freelancer"-Mausmodus befinden), ermöglichen, optimaler zu fliegen, um das Ziel zu führen (Sie wollen, wo das Ziel hinfliegt, nicht wo es sich gerade befindet).

Was die Menschen betrifft, die denken, dass kardanische Aufhängungswaffen die "Fähigkeit" im Spiel verderben, so sind kardanische Aufhängungswaffen eine tragende Säule der aktuellen militärischen Ausrüstung und werden dies in Zukunft wahrscheinlich noch mehr sein. Das bedeutet nicht, dass ein Treffer automatisch erfolgt. Die Waffe muss noch auf das Ziel wirken und Sie müssen die Nase Ihres Schiffes so richten, dass die Schusslösung erreicht werden kann. Und das unter der Voraussetzung, dass das Ziel nicht anfängt, den Kurs oder die Geschwindigkeit unregelmäßig zu ändern!

- Chris Roberts

In Star Citizen ist IFCS ein Flugsteuerungssystem, das den Piloten beim Betrieb eines Raumfahrzeugs unterstützen soll. Es übersetzt die Steuereingaben eines Piloten in Triebwerksoperationen, um einen bestimmten Befehl auszuführen, selbst bei einem suboptimalen oder ausgefallenen Antriebssystem. Es ist ein adaptives System, das eine Kombination aus Sensoren und Rückkopplungssteuerung verwendet, um den Fehler zwischen dem Zielzustand und dem tatsächlichen Zustand des Raumfahrzeugs auf Null zu bringen. Es ist fehlertolerant, da es jede beliebige Kombination von Triebwerken und seinem Backup Control Moment Gyro adaptiv nutzen kann, um den Ausfall oder Verlust eines oder mehrerer Triebwerke auszugleichen und das Schiff stabilisiert und, wenn möglich, unter Pilotenkontrolle zu halten. Selbst wenn nur noch ein einziges Triebwerk vorhanden ist, kann ein Pilot sein Raumschiff mit einigen Schwierigkeiten aktiv steuern.

IFCS-Subsysteme
IFCS besteht aus vielen Subsystemen, die zusammenwirken, um einem Piloten Stabilität und Kontrolle über Raumfahrzeuge zu geben. Dazu gehören:

Antrieb und Lageregelung (PAC) - PAC beinhaltet typischerweise den kompletten Satz von Triebwerken, die sowohl Translations- als auch Drehbewegungen ermöglichen, und eine Backup Control Moment Gyro (CMG) Einheit, die eine zusätzliche Lageregelung ermöglicht. Es beinhaltet auch die Schaltungs- und Steuerungssoftware, die diese Einheiten antreibt. Primary Control System (PCS) - Das PCS stellt eine Schnittstelle zwischen Pilot und IFCS zur Verfügung. Es übersetzt die Befehle eines Piloten in Steueraktionen, die auf einen virtuellen Steuerrahmen angewendet werden, der die ideale Zielaktion des Piloten darstellt. Der virtuelle Steuerrahmen besteht aus einer Sollgeschwindigkeit entlang einer beliebigen Kombination von Achsen, Solldrehzahlen um eine beliebige Kombination von Achsen sowie einer Referenzhaltung. Dieser virtuelle Rahmen stellt den idealen Zustand des Schiffes unter perfekter Kontrolle dar, und alle Piloteingaben werden in Bezug auf diesen virtuellen Rahmen angewendet, wodurch der Einfluss externer Fehler auf die Pilotenkontrolle begrenzt wird. Reaction Control System (RCS) - Der physikalische Zustand des virtuellen PCS-Rahmens wird durch das vorhergesagte Thruster und den CMG-Ausgang als Reaktion auf die Pilotsteuerung gesteuert. Unter idealen Bedingungen wird die PCS-Rahmenlage perfekt mit der tatsächlichen Lage des Raumfahrzeugs synchronisiert. Faktoren wie suboptimale Reaktion oder Versagen des Triebwerks, externe Kräfte wie Waffenfeuer, Raketenexplosionen usw. können jedoch dazu führen, dass die reale Einstellung des Fahrzeugs von der virtuellen Einstellung abweicht. In diesem Fall ist es Aufgabe des Reaction Control Systems, den Fehler zwischen den beiden Einstellungen auf Null zu bringen. Es versucht dies mit beiden Triebwerken und dem Kontrollmoment Gyros zu tun. Wenn es nicht gelingt, die Lage des realen und des virtuellen Rahmens innerhalb einer angemessenen Zeit zu synchronisieren, kann es die Lage des virtuellen Rahmens auf die Lage des realen Raumfahrzeugs zurücksetzen, um eine Desorientierung des Piloten zu vermeiden. Anti-Schwerkraft-System (AGS) - Das AGS erkennt und kompensiert die Schwerkraft und im Allgemeinen jede andere kontinuierliche äußere Kraft, so dass das Raumschiff seine Position in Bezug auf die Feldquelle beibehalten kann. Turn Control System (TCS) - TCS unterstützt den Piloten dabei, stabile Kurven zu erreichen. Bei hohen Geschwindigkeiten bieten die Triebwerke eines Raumschiffes möglicherweise nicht genügend Kraft, um eine stabile Drehung aufrechtzuerhalten, wodurch das Schiff gleitet, was oft zu einer Kollision führt. Ein Pilot verringert normalerweise seine Geschwindigkeit beim Drehen, aber TCS kann das Gaspedal für Sie steuern, indem es die Vorwärtsgeschwindigkeit automatisch so einstellt, dass sie der gewünschten Drehgeschwindigkeit entspricht, wenn der aktuell verfügbare Drehschub erreicht wird. Das System berücksichtigt den optimalen Bankschub bei der Berechnung der nachhaltigen Drehgeschwindigkeit. G-force Control Mode (GCM) - GCM ist ein Sicherheitsmodus, der versucht, die Belastung des Piloten durch potenziell gefährliche g-Force-Werte zu begrenzen. Die größte Gefahr für einen vollständig eingeschränkten Piloten ist die längere Exposition gegenüber vertikalen g-Kräften, die zu Blackout, Greyout, Redout, Orientierungslosigkeit, Bewusstseinsverlust und, wenn nicht korrigiert, sogar zum Tod führen kann. Horizontale G-Kräfte extremer Natur werden ebenfalls vermieden, da sie sowohl physischen Schaden für einen Piloten als auch strukturelle Schäden an den Raumfahrzeugen verursachen können. Zusätzlich zu diesen Standard-Subsystemen können für fortgeschrittenere Systeme weitere Funktionen implementiert werden.

IFCS-Betrieb
IFCS nimmt die Befehle des Piloten als Eingabe, die eine Vielzahl von Operationen beinhalten können, aber letztlich in 3 Translations- und 3 Rotationsgrade übersetzt werden. Zusätzlich können andere Piloteingänge als Parameter in verschiedenen Phasen des IFCS-Steuerungssystems verwendet werden.

Sobald die Eingabewerte durch IFCS-Modi wie Turn Control und G-force Control geändert wurden, werden Geschwindigkeitsbegrenzungen usw. festgelegt, die geänderten Eingaben werden an das Primary Control System weitergeleitet, das sowohl einen Linear- als auch einen Winkelgeschwindigkeits-PID-Regler beinhaltet. Diese Steuerfunktionen berechnen die optimale Kraft und das optimale Drehmoment, die, wenn sie im Schwerpunkt des Schiffes angewendet werden, die vom Lotsen gewünschte Bewegung liefern.

Gleichzeitig werden die Lagemessungen an das Reaktionsregelsystem weitergeleitet, wo ein Positions-PID-Regler verwendet wird, um die tatsächliche Lage des Schiffes in Richtung einer vom PCS vorgegebenen Zielreferenzlage zu steuern. Die Steuerungsfunktion gibt ein Drehmoment aus, das den Einstellfehler im nächsten Zeitschritt optimal verringert.

Schließlich wird ein Messwert von persistenten Kraftfeldern, typischerweise der Schwerkraft, an das Anti-Schwerkraft-System übergeben, das die notwendige Gegenkraft berechnet.

Nach der Berechnung der gewünschten Kräfte und Momente werden ihnen Antriebsressourcen zugewiesen, um von höchster bis niedrigster Priorität zu gelangen. Die AGS-Kraft wird zuerst zugewiesen, da ein unzureichender Gegenantrieb katastrophal sein könnte. Anschließend wird das RCS-Drehmoment zugewiesen, das zuerst vom Primärantrieb bezogen wird und dann auf das CMG-Drehmoment zurückfällt, wenn kein ausreichender Antrieb vorhanden ist. Anschließend wird die PCS-Drehzahlsteuerung zugewiesen, wobei wiederum zuerst der Primärantrieb und dann das CMG-Drehmoment verwendet werden. Und schließlich wird bei der niedrigsten Priorität die translationale Kontrolle zugewiesen.

Nach kurzer Zeit, nachdem das Antriebssystem auf die IFCS-Befehle reagiert hat, lesen Sensoren den Ist-Zustand des Schiffes aus, der aufgrund von Antriebsstörungen, unkompensierten äußeren Kräften usw. vom erwarteten Zustand abweichen kann, leiten die Ergebnisse dann wieder in den IFCS-Regelkreis ein und der Prozess wiederholt sich.

Geschwindigkeits- und Lageregelung
Da sich das IFCS nicht darauf verlassen kann, dass das Antriebssystem die gewünschte Steuerung liefert, verwendet es einen PID-Regler, um den Fehler zwischen dem gewünschten Zustand und dem gemessenen Zustand zu minimieren. Solche Steuerungen werden vom Primary Control System verwendet, um die optimale Kraft und das optimale Drehmoment für die Ausführung der Steuerbefehle des Piloten zu berechnen, sowie vom Reaction Control System, um die Stabilität der Haltung aufrechtzuerhalten.

PID-Regler können so eingestellt werden, dass sie eine Reihe von Reaktionseigenschaften bieten. Am Beispiel der Geschwindigkeitssteuerung beschleunigt ein überdämpfter Regler schnell auf die Referenzgeschwindigkeit zu, überschwingt sie und schwingt dann, während er sich in die Endgeschwindigkeit setzt. Ein unterdämpfter Regler beschleunigt langsamer und setzt sich ohne Überschwingen in die Referenzgeschwindigkeit ein. Eine kritisch gedämpfte Steuerung beschleunigt mit der optimalen Geschwindigkeit, um sich in kürzester Zeit ohne Überschwingen zu setzen. Die Steuerungen des Primary Control System, die eine lineare und Winkelgeschwindigkeitsregelung ermöglichen, sind dynamisch abgestimmt. Basierend auf der Größe der Piloteingaben können sie von einem subtilen bis hin zu einem aggressiven Beschleunigungsverhalten reichen. Darüber hinaus können einzelne Piloten ein mehr oder weniger steifes Beschleunigungsverhalten bevorzugen.

Die tatsächliche Ansprechzeit der IFCS-Steuerungen ist nicht nur von den Abstimmparametern, sondern auch von der Ansprechzeit der Antriebskomponenten abhängig.

Antriebssystem
Triebwerke
Die Hauptkomponente des Antriebs auf den meisten Schiffen wird das Triebwerk sein. Das Star Citizen-Flugmodell bietet ein 100% genaues Thruster-Modell, das die Position jedes Thrusters in Bezug auf den wahren Massenschwerpunkt des Schiffes sowie die maximale Schubkapazität und Reaktionszeit jedes Thrusters berücksichtigt. Unter idealen Bedingungen werden die Triebwerke im Allgemeinen um den vom Schiff vorgesehenen Massenschwerpunkt ausgewuchtet. Dies ermöglicht dem Schiff eine optimale Steuerung des Triebwerks. In diesem Beispielbild sind die oberen hinteren Triebwerke um den Massenschwerpunkt ausgewuchtet und erzeugen ein Nullsummenmoment um die z-Achse.

Nach einem Schaden kann sich der Massenschwerpunkt verschieben und das Triebwerkssystem destabilisieren. Im folgenden Bild sind die Triebwerke nicht mehr um den Massenschwerpunkt herum ausgewuchtet. Beim Zünden der Triebwerke wird das Schiff einem Drehmoment ungleich Null ausgesetzt, was zu einem unbeabsichtigten Gieren führt. IFCS wird versuchen, diesen Drehmomentfehler zu kompensieren, indem es andere Triebwerkspaare verwendet, um Gegenmoment zu erzeugen, und wenn dies nicht möglich ist, wird es versuchen, den Fehler zu begrenzen, indem es die von den Triebwerken erzeugte Schubmenge verringert.

Beschädigungen und andere Bedingungen können auch die verfügbare Schubkraft, die Reaktionszeit und sogar die Genauigkeit jedes einzelnen Triebwerks verändern, oder ein Triebwerk kann völlig außer Funktion geraten oder ganz verloren gehen. Jede dieser Änderungen hat Auswirkungen auf das Gleichgewicht des Thrusters und damit auf das Verhalten des Schiffes unter Pilotenkontrolle.

Kontrollmoment Kreisel
Jedes Schiff verfügt über ein kleines Backup-Drehmoment, auch wenn jedes Triebwerk verloren gegangen ist. Dieses Drehmoment wird durch einen Satz interner Steuerungsmomente Gyros bereitgestellt. Solange die CMGs funktionsfähig sind, hat der Pilot immer ein minimales Drehmoment auf jeder Drehachse zur Verfügung. Dieses Drehmoment reicht aus, um die Schiffslage zu stabilisieren, und kann verwendet werden, um unter direkter Pilotenkontrolle langsam auf oder ab zu drehen.

Schlussbemerkungen
Dieses Dokument ist keine fiktive Beschreibung des Star Citizen IFCS, es ist eine genaue Beschreibung des echten Flugsteuerungsmodells, das für das Spiel implementiert wurde. Dieses Maß an Realismus war notwendig, um ein Flugsteuerungssystem zu liefern, das vollständig in die Umgebung integriert und von der Umgebung, den Schadenszuständen, der sich ändernden Massenverteilung, der Leistungszuteilung, der Triebwerksposition usw. beeinflusst werden kann. IFCS ist ein emergentes System und kann daher manchmal unvollkommen sein. Aber das imitiert die Realität.

Und schließlich wurden große Anstrengungen unternommen, um die Steuerung von Raumfahrzeugen auf die vom IFCS bereitgestellten Befehlswege zu beschränken. Kein Spieler, keine KI oder gar das IFCS selbst wird jemals die Position, Geschwindigkeit, Drehung oder Rotationsgeschwindigkeit eines Schiffes direkt ändern, mit Ausnahme von Initialisierung und Netzwerkkorrektur. Dies garantiert, dass die gesamte Steuerung der Raumfahrzeuge einheitlich ist und das Spiel nie einen unfairen Vorteil gegenüber einem Spieler hat.

Ich freue mich auf Ihr Feedback, da wir an der Weiterentwicklung und Verfeinerung dieses Systems arbeiten. Schließlich ist dies nur der Anfang. Wir fangen gerade erst an!

John Pritchett
Physik-Programmierer bei CIG
Greetings Citizens,
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.

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 –

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. 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. 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.

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.

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?

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.

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.

To give you even more insight into how the IFCS works, John Pritchett, the engineer who wrote the current implementation of the IFCS has written an in-depth piece that goes into the detail of how the system works. I hope you will all appreciate the level of detail we are aiming for in Star Citizen. Don’t forget there is so much more to the game than just Arena Commander – and even in Arena Commander there is so much that cannot be appreciated yet as we are blocked by a work in progress HUD and lack of items to equip your ship with – both of which will open up new possibilities and tactics.

Control Devices
There has been a lot of debate about mouse control vs. joystick control and the worry from some portion of the community that the mouse scheme makes the game too “arcadey” and HOTAS users feeling that their control mechanism of choice has not been supported properly.

Firstly let me state the goal for Star Citizen will be controller agnostic. No one control mechanism should have an advantage over the others. Personally I am a joystick pilot (either through HOTAS or Gamepad) as opposed to a mouse pilot. I just feel like I have more precise flight control with a joystick. In our various studios there is a huge variety of controller use – some prefer mouse, some joystick, some HOTAS and some gamepad. This is the best guarantee that any one control mode will not dominate.

Having said this we recognize that the control input schemes need work in flexibility/customization to achieve this goal.

One of our top priorities for Arena Commander is to allow users to customize their key bindings form inside the game. We are actively working on this and hope to deliver something next month.

We also will be working on the various HOTAS profiles, as well as fine tuning the control filtering for joysticks to hopefully allow for crisper maneuvering during smaller movements of the stick. There are also some additional head look modes that haven’t been implemented yet that will allow a joystick player to take advantage of the gimbaled weapons the way the mouse player can. And of course if you feel the mouse, with its greater precision allows for better aiming you could always fly the ship with a joystick and look with a mouse!

Yaw vs Roll
There has also been some discussion around the fact that yawing does not impact your pilot in terms of negative G effects (i.e. the black and red out of the vertical G forces). There are a few things to consider here. First, pure yawing turns, without any bank, are certainly possible in space, but that isn’t the optimal way to turn. You can generate more thrust by combining your side and lower thrusters than you can with just your side thrusters. IFCS automatically banks a ship to optimize its turning thrust, and this is where vertical G forces come into play (note this is different from atmospheric flight where banking is necessary for turn stability). Second, the amount of bank in any yawing turn will depend on the amount of side thrust that your ship can provide, which means the amount of vertical G forces in a yawing turn will vary based on the situation. Third, black/redout and loss of consciousness are consequences of vertical g-force exposure only, where blood is being either drained from or forced into the pilot’s head. Properly constrained pilots can withstand very high levels of horizontal G forces without any significant loss of cognitive ability.

For horizontal g-forces, the limiting factor is structural. Unfortunately, that limitation has not yet been implemented in our model. Once it is, there will be consequences for extreme unbanked turns. Instead of blacking out, you might rip off a thruster or a wing from the sheer magnitude of the horizontal Gs. And if enabled, G-safe mode will guarantee the structural integrity of your ship by limiting the amount of thrust in any maneuver.

Turreting
A portion of the community has expressed concern about the ability for players to “turret” by going into decoupled mode and spin around to fire at their target, feeling this removes the skill level of dogfighting. I know people think this but I can assure you that in our internal multiplayer tests pretty no one exclusively decouples and “turrets” as they would get destroyed very quickly. The key to surviving a dogfight is about being constantly on the move and not being predicable with your movements – sitting still or moving in a constant vector (which is what happens when you decouple) will get you killed. Decoupled mode is best used by going into briefly for a quick orientation change then dropping back into coupled mode. As we tweak the power of the maneuvering thrusters to make the main engine more significant going into decoupled mode, making a quick orientation change and going back into normal flight will be a great way to maximize your available thrust for a quick vector change. I know that some people think that being able to change your orientation much quicker than you can in an atmospheric flight sim makes the game easy but this is a space combat simulation NOT an atmospheric flight simulation and the ability to decouple your orientation from your velocity vector is absolutely something that would be used – and don’t forget a huge amount of the community demanded to be able to do the maneuvers you loved from Battle Star Galactica!

Gimbaled Weapons vs Fixed
In Arena Commander V1.0 (and Star Citizen as a whole) there will be both fixed weapons and gimbaled/turreted weapons. The fixed weapons will have a slow auto convergence of perhaps -/+ five degrees to allow them to focus at a point that is user definable (defaults to half maximum range) or will adjust to the distance of the current target. We didn’t have time to finish this feature so for v0.8 we just made all fixed weapons gimbaled in order to not give the Hornet a huge advantage over the Aurora and 300i. This is not the long term plan.

Fixed weapons will have a lead indicator (just like in a real combat aircraft). We are also considering altering how the gimbaled guns look reticle operates. Right now you just have to place it over your target and the targeting computer gimbals the guns to achieve that firing solution, when the dotted lines collapse inside the reticle it means that all guns have achieved the solution. We are thinking about making it so you have to place the look reticle over the lead indicator in order to achieve the firing solution.

This will allow a pilot who is not using the full power of his gimbaled guns (it’s not always easy to aim and fly into two different directions or if you’re in a combined look and fly mode like the “Freelancer” mouse mode) to fly in a more optimal manner for leading the target (you want to heading at where the target is heading not where it is now)

As for people thinking that gimbaled weapons spoil the “skill” in the game, gimbaled / turreted weapons are a mainstay of current military equipment and will likely be even more so in the future. That doesn’t mean a hit is automatic. The weapon still has to come to bear on the target and you have to be pointing your ship’s nose in such a way as the firing solution can be met. And that’s assuming the target doesn’t start changing course or speed erratically!

— Chris Roberts

In Star Citizen, IFCS is a flight control system that is designed to assist the pilot in operating a spacecraft. It translates a pilots control inputs into thruster operations to accomplish a designated command, even under a sub-optimal or failing propulsion system. It is an adaptive system that uses a combination of sensors and feedback control to drive the error between the goal state and the actual spacecraft state to zero. It is fault tolerant, in that it can adaptively utilize any combination of thrusters and its backup Control Moment Gyro to compensate for the failure or loss of one or more thrusters and keep the craft stabilized and, if possible, under pilot control. Even with a single thruster remaining, a pilot can, with some difficulty, actively control his or her spacecraft.

IFCS Subsystems
IFCS is comprised of many subsystems that work together to provide a pilot with spacecraft stability and control. These include:

Propulsion and Attitude Control (PAC) – PAC includes, typically, the full set of thrusters, which provide both translational and rotational action, and a backup Control Moment Gyro (CMG) unit which provides supplemental attitude control. It also includes the circuitry and control software that drive these units.

Primary Control System (PCS) – The PCS provides an interface between the pilot and IFCS. It translates a pilot’s commands into control actions that are applied to a virtual control frame which represents the ideal goal action of the pilot. The virtual control frame consists of a goal velocity along any combination of axes, goal rotation rates about any combination of axes, as well as a reference attitude. This virtual frame represents the ideal state of the craft under perfect control, and all pilot input is applied relative to this virtual frame, thereby limiting the effect of external error on pilot control.

Reaction Control System (RCS) – The physical state of the PCS virtual frame is controlled by the predicted thruster and CMG output in response to pilot control. Under ideal conditions, the PCS frame attitude will be perfectly synchronized with the actual attitude of the spacecraft. However, factors such as sub-optimal thruster response or failure, external forces such as weapons fire, missile explosions, etc., can cause the real attitude of the craft to deviate from the virtual attitude. When this happens, it is the job of the Reaction Control System to drive the error between the two attitudes to zero. It attempts to do so using both thrusters and the Control Moment Gyros. If it fails to synchronize the attitude of the real and virtual frames within a reasonable time, it may reset the virtual frame attitude to that of the real spacecraft in order to avoid pilot disorientation.

Anti-gravity System (AGS) – The AGS detects and compensates for gravity, and, in general, any other continuous external force, allowing the spacecraft to maintain its position relative to the field’s source.

Turn Control System (TCS) – TCS assists the pilot in achieving stable turns. At high speed, a spacecraft’s thrusters may not provide enough force to hold a stable turn, causing the ship to slide, often resulting in a collision. A pilot will normally decrease his or her speed when turning, but TCS can manage the throttle for you by automatically setting the forward velocity to match the desired turn rate given the level of turning thrust currently available. The system takes into account the optimal banking thrust in calculating the sustainable turning velocity.

G-force Control Mode (GCM) – GCM is a safety mode that attempts to limit a pilot’s exposure to potentially dangerous levels of g-force. The primary danger for a fully constrained pilot is prolonged exposure to vertical g-forces which can cause blackout, greyout, redout, disorientation, loss of consciousness, and, if not corrected, even death. Horizontal g-forces of an extreme nature are also avoided, as they can cause both physical harm to a pilot and structural damage to the spacecraft.

In addition to these standard subsystems, other functionality may be implemented for more advanced systems.

IFCS Operation
IFCS takes as input a pilot’s commands, which may include a variety of operations, but are ultimately translated into 3 degrees of translation and 3 degrees of rotation. Additionally, other pilot inputs may be used as parameters in various phases of the IFCS control system.

Once the input values are modified by IFCS modes such as Turn Control and G-force Control, speed limits are imposed, etc., the modified inputs are passed into the Primary Control System, which includes both a linear and angular velocity PID controller. These control functions calculate the optimal force and torque which, if applied at the ship’s center of mass, will provide the motion requested by the pilot.

Simultaneously, attitude readings are passed into the Reaction Control System where a positional PID controller is used to drive the ship’s real attitude toward a goal reference attitude provided by the PCS. The control function outputs a torque that will optimally decrease the attitude error over the next time step.

Finally, a reading of persistent force fields, typically gravity, is passed into the Anti-gravity System which calculates the necessary counter-force.

Once the desired forces and torques have been calculated, propulsion resources are allocated to them in order from highest to lowest priority. AGS force is allocated first, as failure to generate sufficient counter-propulsion could be catastrophic. Next, RCS torque is allocated, drawn from primary propulsion first, then falling back on CMG torque if insufficient propulsion is available. Next, PCS rotation control is allocated, again drawing upon primary propulsion first, CMG torque next. And finally, at the lowest priority, translational control is allocated.

After a short time, once the propulsion system has acted on the IFCS commands, sensors read the ship’s actual state, which may vary from the expected state because of propulsion malfunctions, uncompensated external forces, etc., then feeds the results back in to the IFCS control loop and the process repeats.

Velocity and Attitude Control
Because IFCS cannot rely on the propulsion system to deliver the requested control, it uses a PID feedback controller to minimize the error between the desired state and the measured state. Such controllers are used by the Primary Control System to calculate the optimal force and torque to carry out the pilot’s control commands, as well as the Reaction Control System to maintain attitude stability.

PID controllers can be tuned to provide a range of response characteristics. Using velocity control as an example, an overdamped controller will accelerate quickly toward the reference velocity, overshoot, then oscillate as it settles into the final velocity. An underdamped controller will accelerate more slowly, settling into the reference velocity without any overshoot. A critically damped controller will accelerate at the optimal rate to settle in minimum time without any overshoot. The Primary Control System controllers that provide linear and angular velocity control are dynamically tuned. Based on pilot input magnitude, they can range from a subtle to aggressive acceleration response. In addition, individual pilots may prefer a more or less stiff acceleration response.

The actual response time of IFCS controllers is dependent not only on the tuning parameters, but also on the response time of its propulsion system components.

Propulsion System
Thrusters
The primary component of propulsion on most ships will be the thruster. The Star Citizen flight model provides a 100% accurate thruster model that takes into account the location of each thruster relative to the ship’s true center of mass, and the maximum thrust capacity and response time of each thruster. Under ideal conditions, the thrusters will generally be balanced about the ship’s intended center of mass. This allows the ship optimal thruster control. In this sample image, the top rear thrusters are balanced about the center of mass and will generate a zero sum torque about the z axis.

After suffering damage, the center of mass may shift, destabilizing the thruster system. In the following image, the thrusters are no longer balanced about the center of mass. When firing the thrusters, the ship is subjected to non-zero torque, resulting in an unintended yaw. IFCS will attempt to compensate for this torque error by using other thruster pairs to generate counter torque, and if unable to do so, will attempt to limit the error by decreasing the amount of thrust generated by the thrusters.

Damage and other conditions can also change the available thrust capacity, response time and even accuracy of each thruster, or a thruster may become completely non-functional or be lost altogether. Any of these changes will have an effect on the thruster balance and therefore how the ship behaves under pilot control.

Control Moment Gyro
Each ship has a small amount of backup torque available to it even if every thruster has been lost. This torque is provided by a set of internal Control Moment Gyros. As long as the CMGs are functional, the pilot will always have minimal torque available on each axis of rotation. This torque is sufficient to stabilize the ship’s attitude, and can be used to slowly spin up or down under direct pilot control.

Final Notes
This document is not an in-fiction description of the Star Citizen IFCS, it is an accurate description of the true flight control model implemented for the game. This level of realism was necessary in order to deliver a flight control system that could be fully integrated with and influenced by the environment, damage states, changing mass distribution, power allocation, thruster placement, etc. IFCS is an emergent system, and therefore may be imperfect at times. But this mimics reality.

And finally, great effort has been made to limit spacecraft control to only the command pathways provided by IFCS. No player, AI or even IFCS itself will ever modify the position, velocity, rotation or rotational velocity of a ship directly, with the exception of initialization and network correction. This guarantees that all spacecraft control is consistent and the game will never have an unfair advantage over a player.

I look forward to your feedback as we work to refine and polish this system. After all, this is only the beginning. We’re just getting started!

John Pritchett
Physics Programmer at CIG

Links

No links available.

Images

9
image/jpeg
ChrisRobertsDirecting-300x201.jpg
Details
Last Modified
12 years ago
Size
14.59 KB
image/jpeg
Jp-4.jpg
Details
Last Modified
11 years ago
Size
1.40 MB
image/png
Overview.png
Details
Last Modified
11 years ago
Size
29.50 KB
image/png
Subsystems.png
Details
Last Modified
11 years ago
Size
141.21 KB
image/png
PIDOutput.png
Details
Last Modified
11 years ago
Size
140.93 KB
image/png
HornetDiagram.png
Details
Last Modified
11 years ago
Size
129.49 KB
image/png
HornetDiagram2.png
Details
Last Modified
11 years ago
Size
118.01 KB
image/png
Hornetflyheader.png
Details
Last Modified
11 years ago
Size
227.74 KB
image/png
300iflyheader.png
Details
Last Modified
11 years ago
Size
140.33 KB

Metadata

CIG ID
13951
Channel
Undefined
Category
Undefined
Series
Design Post
Comments
770
Published
11 years ago (2014-06-16T00:00:00+00:00)