Le gameplay du simulateur de véhicule consiste à contrôler le mouvement d'un objet dans l'espace avec un certain nombre de degrés de liberté. Les actions du joueur modifient le vecteur de l'état instantané du système dans la direction souhaitée ou pas tout à fait souhaitée. Il est peu probable que le jeu soit intéressant si l'objet est mal adapté au contrôle du joueur.
L'adaptabilité d'un système technique au contrôle humain ( contrôlabilité ) est une caractéristique plutôt complexe et multiforme. Le modèle mathématique du comportement de l'objet contrôlé est traité par la théorie du contrôle automatique (TAU) Les modèles adoptés dans TAU peuvent également décrire le comportement du joueur - systèmes «homme-opérateur» et «homme-machine».
Il convient de noter que les modèles humains créés sont toujours pertinents pour une gamme limitée de conditions. Pour cette raison, la résolution de problèmes pratiques dans le domaine de la contrôlabilité va souvent au-delà de TAU.
La contrôlabilité d'une machine renvoie à ses propriétés ergonomiques, qui perdent leur sens indépendamment du contexte de l'activité humaine. Sous la coupe, une approche de mise en place d'un modèle de simulateur est présentée, basée sur une étude expérimentale du processus de jeu.
Pour les simulateurs prétendant simuler avec précision les systèmes existants, la similitude avec le prototype est importante, quelle que soit sa mauvaise manipulation. L'optimisation des mêmes caractéristiques est pertinente pour les jeux qui n'ont pas de modèle donné, par exemple, des simulateurs d'objets fantastiques.
Laissant de côté le problème de la simulation d'un objet réel avec un ensemble donné de caractéristiques, on constate que le simulateur ne perdra certainement pas de la présence d'une physicalité subjectivement déterminée. En d'autres termes, même un objet qui n'existe pas dans la nature peut correspondre ou non aux attentes du joueur concernant son comportement (d'objet). Le facteur de comportement naturel de l'objet doit être pris en compte.
Formulation du problème
Pour le simulateur, il est nécessaire d'ajuster les coefficients du modèle mathématique du véhicule afin d'assurer sa meilleure tenue de route. L'optimisation doit être effectuée sur la base de données expérimentales. Il est souhaitable d'obtenir un modèle qui semble naturel au joueur.
Description du système
Dans nos expériences, nous utiliserons un simulateur avec des graphiques 3D .
La complexité du modèle mathématique d'un véhicule réel n'est limitée que par le niveau d'abstraction accepté et la rugosité des hypothèses utilisées. La complexité du modèle dans le problème résolu ici est déterminée par le niveau rationnel du naturel du jeu.
Les simplifications suivantes seront appliquées ci-dessous:
1. La direction du mouvement de l'objet est supposée coïncider avec son axe longitudinal.
2. Le mouvement de rotation d'un objet peut être considéré comme la somme des composantes indépendantes - les mouvements de rotation par rapport aux trois axes du système de coordonnées (CCS) associé à l'objet.
3. L'accélération angulaire dans un canal de commande séparé (autour d'un axe CCS séparé) est déterminée par une combinaison linéaire des valeurs actuelles de l'action de commande et de la vitesse angulaire dans ce canal.
L'acceptabilité de la première simplification de la modélisation d'objets réels est déterminée par les propriétés du système et le problème à résoudre. Par exemple, une propriété bien connue des fléchettes est leur capacité à voler après avoir été lancées «avec un point vers l'avant». Ce modèle simple suffit à tirer une conclusion utile: ne jetez pas la fléchette sur vous.
Mais si un modèle précis est nécessaire pour déterminer les conséquences du contact d'une fléchette avec une cible, il faut garder à l'esprit qu'en vol, son vecteur vitesse fait un certain angle avec l'axe longitudinal.
La constance de la direction du vecteur vitesse dans le système de coordonnées de l'objet correspond à la biomécanique de la marche: il est plus facile pour une personne de marcher, en conservant l'état de "face vers l'avant". Le mouvement dans des directions inhabituelles, au contraire, altère la vision du joueur et nécessite un effort mental supplémentaire de sa part.
Le point 2 établit l'isolement mutuel des canaux de contrôle «attachés» aux axes du SSC.
Axes SSC: longitudinal ( X ) est dirigé de la queue vers le nez de l'objet, vertical ( Y ) est dirigé vers le haut dans le plan de symétrie de l'objet à sa position initiale, latéral ( Z ) est dirigé perpendiculairement aux deux premiers vers la droite. En conséquence, la rotation autour de l'axe X- canal latéral, autour de l'axe Y - canal de voie, autour de l'axe Z - canal longitudinal.
Conformément à l'article 2 des simplifications adoptées, il n'y a pas de liens croisés entre les canaux de commande de l'objet. Les systèmes réels correspondent toujours à un tel modèle avec une certaine erreur causée, par exemple, par la présence de moments gyroscopiques. Le manque de liens croisés est un avantage du point de vue du joueur.
Le point 3 établit la présence de seulement deux couples dans chaque canal de commande:
- contrĂ´le le couple proportionnel au signal du contrĂ´le du joueur;
- moment d'amortissement proportionnel Ă la vitesse angulaire actuelle.
L'équation différentielle de rotation autour de l'axe i est la suivante:
ici oméga est la vitesse angulaire de rotation, t est le temps, x est le signal de commande et les coefficients sur le côté droit de l'équation sont les dérivées partielles de l'accélération angulaire du signal de commande et de la vitesse angulaire.
Le premier coefficient sera appelé le coefficient d' efficacité de contrôle , le second - le coefficient d' amortissement .
L'accélération angulaire est mesurée en [rad / s 2], la vitesse angulaire est en [rad / s]. Le signal de commande est généralement mesuré en unités de mouvement des leviers ou d'efforts sur eux, moins souvent en unités de position des éléments intermédiaires du système de commande, mais pour le contrôle à partir du clavier, nous prendrons cette valeur comme sans dimension. La dimension du facteur d'amortissement est [1 / s] et le facteur d'efficacité de commande est [rad / s 2 ], en tenant compte de la dimension adoptée du signal de commande.
Informations théoriques requises
, (1), . , . , :
(1) – x, – . :
(t) – , y(t) – , y – , k – , T – , .
(1) (2) :
( ) , . () – . – .
:
:
:
1. ( ), , .
2. , , .
3. , , , k.
, . k T.
. .
. , : — , — , – . — - , .
, - , . .
, , . .
, . .
( ) k. .
T ( ). T .
( T).
, /2. T.
: ( T) .
- ;
- ();
- ().
(1) – x, – . :
(t) – , y(t) – , y – , k – , T – , .
(1) (2) :
( ) , . () – . – .
:
:
- k ;
- T « », , t = 3T 0,95k.
:
1. ( ), , .
2. , , .
3. , , , k.
, . k T.
. .
. , : — , — , – . — - , .
, - , . .
, , . .
, . .
( ) k. .
T ( ). T .
( T).
, /2. T.
: ( T) .
Conditions expérimentales et critères de qualité du modèle
Une meilleure contrôlabilité de l'objet devrait fournir une solution plus efficace au problème par le joueur. Mais des tâches différentes nécessitent une contrôlabilité différente: le respect exact des paramètres d'un mode de mouvement donné diffère considérablement des manœuvres intensives.
Trouver un modèle universel pour n'importe quelle tâche est inévitablement associé à un compromis. Les conditions de l'expérience en cours déterminent le changement d'équilibre subjectif en faveur de certaines tâches. Cependant, les conditions spécifiques du jeu doivent être choisies.
Pour l'étude, nous utiliserons le problème de la visite d'un objet contrôlé du nombre maximum d'emplacements spécifiés dans un temps limité. Une solution efficace à ce problème nécessite des manœuvres intensives.
Le véhicule sera contrôlé avec des restrictions sur les angles de roulis et de tangage ( 60 degrés dans les deux sens pour les deux angles): dépasser les limites entraînera un accident. De plus, une collision avec une surface horizontale située au-dessus de l'objet entraîne un accident. Cette partie des conditions est responsable de la composante de maintien des paramètres dans la tâche du joueur.
La valeur du module de vitesse linéaire de l'objet est supposée constante. Cela signifie que la commande d'accélérateur, ainsi que l'inégalité de la résistance moyenne, sont absentes du simulateur.
Indicateur d'efficacité du joueur - le nombre d'emplacements visités avant la fin des temps ( 60secondes) ou avant l'accident. Plus il y a d'emplacements visités, meilleure est la prise en compte du modèle. Chaque modèle (un ensemble de valeurs de coefficient) fournit trois passes du jeu avec le score médian pris en compte.
Lors de la planification des expériences, il est important de minimiser l'influence du facteur d'apprentissage. Pour cela, l'ordre des expériences a été déterminé, dans lequel chaque modèle est lancé dans les premier, deuxième et troisième tiers de l'étude:
A, B, C ... N, O,
A, B, C ... N, O,
A, B, C ... N, O ...
Chaque partie expérimentale était précédée d'un jeu d'entraînement avec le modèle correspondant.
Simulateur
Vous pouvez expérimenter vous-même les coefficients du modèle ici .
La gestion des cotes se trouve dans le coin supérieur droit de l'écran. Le paramètre «efficacité» est le coefficient d'efficacité de régulation, le paramètre «amortissement» est le coefficient d'amortissement pris avec le signe opposé.
ContrĂ´le du jeu:
- Espace - début du jeu;
- W / S - rotation autour de l'axe SSC Z , piqué / piqué;
- A / D - rotation autour de l'axe Y du SSK, tourner Ă gauche / tourner Ă droite;
- 4/6 sur le pavé numérique - rotation autour de l'axe X du SSK, rouler à gauche / rouler à droite.
Le joueur indicateur de pare-brise voit l'horizon artificiel , ainsi que la valeur de cap ( «cap» ) et la profondeur ( «profondeur» ) actuelles, c'est-à -dire la distance à une surface dangereuse. Il montre également le reste du temps de jeu et le résultat actuel ( «score» ) - le nombre d'emplacements visités.
Le code du simulateur est écrit en JavaScript à l'aide de la bibliothèque Three.js . Les valeurs des paramètres du mouvement de l'objet sont mises à jour dans la boucle de jeu en intégrant numériquement l'équation (1) à l'aide de la méthode Euler. A chaque itération, la méthode update () de l' objet est appelée véhicule , en effectuant des calculs pour chaque canal de commande:
vehicle.update = function () {
// :
game.elapsed = (new Date() - game.time) / 1000;
game.time = new Date();
// ...
// :
vehicle.omegaX += (vehicle.epsilonX - vehicle.omegaX * vehicle.damping) * game.elapsed;
vehicle.omegaY += (vehicle.epsilonY - vehicle.omegaY * vehicle.damping) * game.elapsed;
vehicle.omegaZ += (vehicle.epsilonZ - vehicle.omegaZ * vehicle.damping) * game.elapsed;
// ...
}
Les champs epsilonX , epsilonY et epsilonZ de l'objet véhicule contiennent les composantes d'accélération angulaire en l'absence d'amortissement. La valeur de chacun de ces champs est obtenue en «multipliant» le signal d'entrée par le facteur d'efficacité de contrôle:
function init() {
// ...
// :
document.addEventListener('keydown', function (event) {
if (game.state == "READINESS")
if (event.code == "Space") {
// ...
}
if (game.state == "RUN")
switch (event.code) {
case "KeyW":
vehicle.epsilonZ = vehicle.efficiency;
break;
case "KeyS":
vehicle.epsilonZ = -vehicle.efficiency;
break;
case "KeyA":
vehicle.epsilonY = -vehicle.efficiency;
break;
case "KeyD":
vehicle.epsilonY = vehicle.efficiency;
break;
case "Numpad4":
vehicle.epsilonX = vehicle.efficiency;
break;
case "Numpad6":
vehicle.epsilonX = -vehicle.efficiency;
break;
}
});
document.addEventListener('keyup', function (event) {
switch (event.code) {
case "KeyW":
vehicle.epsilonZ = 0;
break;
case "KeyS":
vehicle.epsilonZ = 0;
break;
case "KeyA":
vehicle.epsilonY = 0;
break;
case "KeyD":
vehicle.epsilonY = 0;
break;
case "Numpad4":
vehicle.epsilonX = 0;
break;
case "Numpad6":
vehicle.epsilonX = 0;
break;
}
});
// ...
}
Résultats de l'expérience
L'indicateur de qualité du modèle sera considéré comme une fonction de deux variables. Ainsi, les résultats de l'étude représentent graphiquement une surface 3D , dont chaque point définit son propre modèle de l'objet contrôlé.
Examinons les principales caractéristiques de certains modèles. Sur le graphique, les modèles discutés sont indiqués en lettres latines.
Avec la valeur minimale du coefficient d'efficacité de régulation ( 0,5 rad / s 2 ), il existe un modèle avec la meilleure valeur du coefficient d'amortissement (point A ). Le modèle A est caractérisé par une faible capacité de l'objet pour les manœuvres dynamiques.
Changer le modèle A vers un amortissement accru conduit à la création de modèles avec des valeurs de vitesse angulaire maximale extrêmement faibles. L'objet perd finalement sa capacité de manœuvre.
Changer le modèle A vers un amortissement décroissant améliore partiellement la maniabilité de l'objet, mais la qualité globale du système diminue en raison de la détérioration de ses propriétés dynamiques: le problème du balancement se pose, le contrôle nécessite des actions de compensation constantes du joueur.
En l'absence d'amortissement, il existe un modèle avec une efficacité de contrôle optimale ( B ). Son efficacité de gestion est supérieure à celle du modèle A, qui offre une bonne maniabilité. Dans ce cas, le problème d'accumulation est exacerbé par rapport au modèle A , totalement dépourvu d'amortissement.
Changer le modèle B vers un contrôle plus efficace amène le problème de swing à un niveau où toute l'attention du joueur est donnée au combat. De plus, manœuvrer sans dépasser les restrictions devient impossible.
Le modèle C combine les avantages des modèles A et Bed et . L'objet est géré assez efficacement, mais sans se balancer. La valeur de l'indicateur de performance de jeu pour le modèle Cnettement plus élevé que les modèles précédents. Cependant, ce modèle n'est pas le plus efficace.
Formulaire isolignes jeu de performance autour du point C montre que l'amélioration du résultat correspond au modèle de direction de mouvement D .
Ce mouvement correspond à une diminution de la valeur de T tout en maintenant k à un niveau constant (environ 0,6 rad / s). Les modèles entre C et D surclassent Csur l'efficacité du jeu. Lorsque vous jouez avec ces modèles, l'objet de contrôle suit de plus près les frappes.
Lors du passage du modèle C au modèle D , un autre changement se produit: la détérioration du comportement naturel de l'objet. La constante de temps approche le niveau auquel la durée du transitoire et le déphasage du signal de sortie ne sont plus perceptibles pour l'utilisateur.
Changer le modèle D vers une nouvelle diminution de la valeur de T tout en maintenant la valeur de k n'apporte plus d'améliorations significatives, car le déphasage du signal de sortie et la durée du processus transitoire dans le modèle D est déjà assez petit pour que le joueur le perçoive.
Les modèles obtenus par «amélioration» supplémentaire de D , du point de vue du joueur, ne diffèrent pas de la mise en œuvre du lien amplificateur: il n'y a pas d'accélération angulaire de l'objet dans le jeu, la vitesse angulaire prend instantanément une valeur constante lorsque la touche est enfoncée.
L'analyse effectuée permet de tirer les conclusions suivantes :
1. Les valeurs optimales des paramètres du modèle correspondent à sa dégénérescence en lien amplificateur (la valeur de k est d'environ 0,6 rad / s, T = 0 s) et à la perte du comportement naturel de l'objet.
2. Le modèle offrant une bonne contrôlabilité avec le comportement naturel de l'objet correspond au point C du graphe (coefficient d'efficacité de contrôle: de 2 à 3 rad / s 2 ; coefficient d'amortissement: de -4,5 à -3,5 1 / s).
3. Changer le modèle C dans le sens de la diminution de la valeur de T à k = const permet d'obtenir un objet avec une contrôlabilité améliorée du fait de la détérioration du naturel de son comportement.
Facteurs non pris en compte
Parallèlement aux simplifications de la physique de l'objet contrôlé, la qualité des résultats de la recherche est influencée par d'autres simplifications des conditions de recherche:
1. Le modèle de contrôlabilité a été décrit par deux valeurs des paramètres, dans tous les canaux de contrôle l'objet se comporte de la même manière. Pour obtenir une image précise, les valeurs de six paramètres doivent être modifiées, car il n'y a aucune raison de considérer les propriétés du lecteur comme les mêmes pour tous les canaux.
2. Les résultats obtenus sont pertinents pour les réglages du champ de vision de la caméra utilisé dans le jeu. La modification de ce paramètre aura un effet notable sur l'interaction du joueur avec l'objet.
Le défaut le plus grave de l'étude est le manque de statistiques. Toute recherche ergonomique doit se concentrer sur les propriétés du public cible dans son ensemble. Des résultats plus complets peuvent être obtenus avec la participation d'un groupe de joueurs.