Il faut bien comprendre que c'est uniquement l'interface haut niveau de pilotage qui a été revue, et pas les autres couches. En effet, entre le clavier et le mouvement du vaisseaux, il y a environ 4 couches logicielles successives.
Le moteur physique
Il est utilisé pour bien d'autres choses que le pilotage de vaisseaux, mais dans ce cas il se contente d'appliquer la deuxième loi de Newton : accélération = somme des forces. Cette partie regarde la poussée actuelle des moteurs et modifie les vitesses linéaires et angulaires en fonction.
Le contrôleur de vol
Le contrôleur de vol à pour role de calculer les commandes moteur nécessaire en fonction de l'attitude attendu par le vaisseaux. Il peut fonctionner dans différent mode, de pilotage automatique (docking, arrêt complet, suppression de rotation).
En mode manuel, le contrôleur de vol prend 3 paramètres en entrée : - Le vecteur objectif de vitesse linéaire - Le vecteur objectif de vitesse angulaire - Le droit d'utiliser ou non le moteur orbital En autopilote, un driver va calculer ses 3 paramètres pour accomplir une tache simple. L'autopilote ne sert réellement que pour le docking actuellement, mais pourrait facilement faire des taches comme suivre une cible.
L'interface de pilotage
L'interface de pilotage est la conversion entre des axes (comme la position d'un gamepad ou de la souris) et des boutons (comme les touches de clavier et bouton de gamepad) et les commandes de vitesses linéaire et angulaire. Lorsqu'un vaisseaux est piloté par un pilote IA, cette partie est court-circuité par un pilote virtuel (qui représente un pilote humain dans le jeu, pas un autopilote) qui aussi le role de calculer les même paramétrés de vitesse linéaire et angulaire voulu.
C'est cette couche qui a été revue : la physique des vaisseaux est toujours la même, conforme à la mécanique Newtonienne. Les contrôleurs de moteur ont toujours le même travail de devoir allumer les moteurs et gérer les dégâts. On a juste rendu cette interface complètement fonctionnelle.
Le binding des contrôles
Il s'agit d'une simple couche pour associé des touches de clavier, souris ou joystick avec des actions et axes nommée. Cette couche est juste là pour laisser la possibilité de changer les contrôles.
Comme a essayé de corriger Stranger, on est pas non plus passé d'un mode "Simulation pour hardcore gamer" à "Arcade". On avait faire un contrôleur de vol naif qui ne permettait pas de piloter. Aucun des amis qui a essayé le pilotage n'a compris comment ça fonctionné. Moi-même après des heures d'entrainement, je n'arrivais pas à abattre des cargos lents tellement c'était difficile de s'en approcher.
Par contre les pilots IA, qui utilisent la même interface pour piloter étaient eux d'une efficacité redoutable : ça montrait que ça n'était pas la physique qui rendait les combat trop difficile mais le contrôleur de vol mis à la disposition du joueur qui était défectueux.
Au niveau du contrôleur de vol on peut faire ce que l'on veut, sans tricher en terme de physique ou de moteur. Il n'y a pas de manière évident un mode de pilotage "simple" et un "compliqué" mais une infinité de possibilité de controle et il en trouver un qui sera le plus adapter à du combat spacial, avec un physique réaliste.
On peut dire qu'il existe un bouton "suivre le soleil" qui calcul un objectif de vitesse linéaire tel que le vaisseaux va essayer de se tourner vers le soleil tant qu'on appuis sur la touche. On peut faire que si on click sur l'écrans, le vaisseau essaie pendant 3 secondes d'aller dans cette direction.
Ce qu'on avait fait était de mettre chacun des 6 degrees de liberté du vaisseaux (3 rotations et 3 translations) sur 6 axes de contrôle différents. Il fallait 8 touches et 2 axes de souris juste pour piloter un cargo : c'était totalement impilotable.
C'est aussi naif que piloter un quadricoptère avec une manette contrôlant chaque moteur : c'est naturellement instable et tous les quadricoptères, même ceux de modélisme ou de coursent utilise un contrôleur moteur pour que les axes de manette correspondent à des angles plutôt que des poussées moteurs.
En gros, on vient de finir de mettre au point le mode "compliqué" : on peut ajouter plein d'assistances au pilotage et au combat, si l'on veut, comme de la visée automatique, du suivi de cible, de l'anti-collision (sans tricher avec la physique) et on pourra commencer à appeler ça un mode "simplifié".