Partager via


Installation et maintenance des jeux

Cet article décrit un ensemble de bonnes pratiques qui peuvent aider à réduire la frustration des utilisateurs quant au temps nécessaire à l’installation d’un jeu, à éviter les appels de support inutiles et à permettre aux utilisateurs de commencer à jouer à votre jeu aussi rapidement et sans douleur que possible.

Installation initiale

Les utilisateurs achètent des jeux parce qu’ils aiment les jouer, pas parce qu’ils aiment les installer. L’installation d’un jeu doit être aussi rapide, simple et aussi indolore que possible pour l’utilisateur final. Dans l’idéal, les utilisateurs finaux ne doivent même pas voir d’interface utilisateur d’installation ; ils doivent être en mesure de déposer le disque de jeu dans le plateau et commencer à jouer.

Rationalisation de l’interface utilisateur d’installation

Les aspects courants des interfaces utilisateur d’installation de jeux existantes interfèrent avec l’expérience souhaitée de l’utilisateur final :

  • Poser des questions inutiles à l’utilisateur.

    Par exemple, de nombreux jeux demandent si l’utilisateur souhaite installer DirectX. Si le jeu nécessite l’exécution de Microsoft DirectX et que la version appropriée de DirectX n’est pas déjà installée, le jeu doit simplement installer DirectX.

  • Poser aux utilisateurs des questions auxquelles une grande majorité d’utilisateurs répondront de la même manière.

    Pour les utilisateurs classiques, les paramètres par défaut pour le chemin d’installation, l’emplacement du menu Démarrer, etc., sont tous corrects. Proposez des options avancées pour les utilisateurs qui souhaitent modifier ces paramètres.

L’interface utilisateur d’installation doit être conçue pour permettre à l’utilisateur standard de commencer à jouer au jeu dès que possible. Si l’exécution automatique est activée sur l’ordinateur de l’utilisateur, ce qui est la valeur par défaut, le programme d’installation doit supposer que l’utilisateur souhaite jouer au jeu dès que possible, en contournant les questions inutiles. Le programme d’installationInstaller à la demandem doit commencer à installer le jeu sur le chemin d’installation par défaut, de préférence à l’aide d’une configuration comme celle décrite dans . Il est approprié de donner aux utilisateurs la possibilité de modifier les paramètres d’installation avant de démarrer automatiquement l’installation. Toutefois, pour ce faire, vous devez inviter l’utilisateur à appuyer sur une touche pour les options d’installation avancées, puis continuer automatiquement avec les options par défaut si l’utilisateur n’atteint pas cette clé dans un délai de cinq à dix secondes.

Si l’exécution automatique n’est pas activée sur l’ordinateur de l’utilisateur, le programme d’installation doit supposer que l’utilisateur ne souhaite pas que le programme d’installation commence automatiquement à installer le jeu. Si le programme d’installation est démarré par un autre moyen que l’exécution automatique, il doit lancer l’interface utilisateur d’installation avancée.

Réduction du temps requis pour l’installation

La plupart des jeux Microsoft Windows d’aujourd’hui prennent entre cinq minutes et une demi-heure pour terminer le processus d’installation. En revanche, la plupart des jeux console ne prennent pas plus de trente secondes entre le moment où l’utilisateur insère le CD du jeu et le moment où l’utilisateur peut jouer au jeu. Cette différence est due au fait que la plupart des jeux Windows sont conçus pour exécuter la plupart, voire la totalité, de leur contenu à partir du disque dur de l’ordinateur ; les consoles, qui ne disposent pas d’un emplacement pour stocker en permanence de grandes quantités de contenu, nécessitent que le contenu soit exécuté à partir du média source. Bien que le chargement du contenu à partir du disque dur local accélère les temps de chargement dans le jeu, l’inconvénient est que tout ce contenu doit être copié à partir du média source vers le disque dur à un moment donné. La plupart des jeux Windows choisissent de copier tout le contenu sur le disque dur en même temps, dans le cadre d’un processus d’installation. Cela nuit à l’expérience initiale de l’utilisateur avec le jeu en faisant en sorte que l’utilisateur watch une barre de progression pendant plusieurs minutes avant de pouvoir jouer au jeu.

Il existe deux approches qui peuvent être utilisées pour réduire le temps passé à installer initialement le jeu : Installation minimale et Installation à la demande.

Installation minimale

Dans un scénario d’installation minimale, le jeu installe uniquement un ensemble minimal de contenu sur le disque dur. En règle générale, il s’agit uniquement des fichiers exécutables du jeu et des DLL. Le reste du contenu est accessible directement à partir du média source. Cela réduit considérablement le temps nécessaire à l’installation, car l’exécutable d’un jeu est rarement supérieur à 10-20 Mo. L’inconvénient est que le jeu prend plus de temps pour charger du contenu pendant le jeu, car il doit le charger à partir du média source lent.

Pour créer une configuration d’installation minimale dans une installation basée sur Windows Installer :

  • Regroupez tous les composants à installer sur le disque dur dans une fonctionnalité qui est marquée pour être installée localement.

    Cette fonctionnalité sera appelée fonctionnalité « Bootstrap ».

  • Regroupez tous les composants qui doivent être exécutés à partir du média source dans une fonctionnalité marquée comme « exécuter à partir de la source ».

  • Lors de l’ouverture d’un fichier qui peut se trouver sur le média source, utilisez la fonction MsiGetComponentPath pour déterminer le chemin d’accès au fichier, au lieu de coder en dur le chemin d’accès.

    Cela garantit que le fichier peut être trouvé même si la lettre de lecteur du lecteur CD/DVD de l’utilisateur change.

  • Compressez le contenu qui reste sur le CD/DVD.

    Le temps passé par le processeur à décompresser le contenu est généralement masqué par la vitesse de transfert lente des données à partir du lecteur CD/DVD.

  • Regroupez le contenu dans des fichiers volumineux et contigus et accédez-y dans un ordre séquentiel.

    Les durées de recherche des lecteurs DE CD/DVD sont catastrophiques par rapport à celles des disques durs, et la plupart des lecteurs DE CD/DVD n’atteignent pas de taux de transfert de pointe, sauf s’ils lisent un fichier volumineux et contigu.

  • Disposer le contenu sur le CD/DVD dans l’ordre où il est probable qu’il soit accessible.

    Les temps de recherche sont considérablement réduits lorsque les fichiers sont accessibles dans le même ordre que leur disposition sur disque.

Installer à la demande

Dans un scénario d’installation à la demande, comme pour une installation minimale, le jeu installe initialement sur le disque dur uniquement les fichiers nécessaires pour démarrer le jeu. Toutefois, au lieu d’accéder au contenu restant à partir du média source chaque fois qu’il est nécessaire, le jeu installe en fait chaque élément de contenu sur le disque dur comme nécessaire pour la première fois, puis y accède à partir du disque dur local à chaque utilisation ultérieure. Le temps nécessaire à l’installation initiale est tout aussi faible que dans pour une installation minimale, mais après la première fois que chaque élément de contenu est accessible, les temps de chargement s’améliorent.

Pour créer une configuration d’installation à la demande dans une installation basée sur Windows Installer :

  • Regroupez tous les composants à installer initialement sur le disque dur dans une fonctionnalité marquée pour être installée localement.

    Notez que cela est identique à la fonctionnalité Bootstrap pour une installation minimale.

  • Regroupez le contenu restant en plusieurs fonctionnalités en fonction des composants susceptibles d’être utilisés ensemble.

    Par exemple, dans un jeu basé sur un niveau, regroupez tout le contenu utilisé à un niveau donné en une seule fonctionnalité. Notez que Windows Installer permet à un composant d’être partagé par plusieurs fonctionnalités. Par conséquent, si vous avez du contenu utilisé sur plusieurs niveaux, vous pouvez ajouter ce contenu aux fonctionnalités pour tous les niveaux nécessaires sans répliquer le contenu. Toutes ces fonctionnalités doivent être marquées comme « Publiées », ce qui signifie qu’elles ne seront pas installées initialement, mais peuvent être installées ultérieurement si nécessaire.

  • Lorsqu’un fichier est nécessaire, commencez par case activée si le fichier est déjà installé à l’aide de la fonction MsiQueryFeatureState.

    S’il n’est pas encore installé (autrement dit, son état est INSTALLSTATE_ADVERTISED), appelez la fonction MsiConfigureFeature pour installer la fonctionnalité localement. Lors de l’ouverture du fichier après son installation, appelez MsiGetComponentPath pour déterminer le chemin d’accès au fichier. Bien qu’il ne soit pas strictement nécessaire pour ce scénario (étant donné que le contenu sera toujours installé sur le disque dur avant d’être utilisé), cela facilite la prise en charge d’une installation minimale en plus de l’installation à la demande.

  • Si possible, anticipez le contenu susceptible d’être nécessaire rapidement et installez-le en arrière-plan pendant le temps d’inactivité.

    L’installation en arrière-plan est plus appropriée lorsque le jeu se trouve à un point qui n’a pas besoin de chaque dernière once de performances hors de l’ordinateur ; par exemple, lors de l’affichage d’un film d’introduction, d’une scène de coupe, d’un menu, etc.

  • Créez une option dans le menu des options du jeu pour forcer l’installation de tout le contenu restant.

    Pour l’implémenter, créez une fonctionnalité parente de toutes les fonctionnalités d’installation à la demande, puis appelez MsiConfigureFeature pour installer cette fonctionnalité master localement. Cela entraîne également l’installation locale des sous-catégories.

  • La disposition du contenu doit être similaire à celle d’une installation minimale, sauf que le contenu doit être cluster uniquement avec d’autres contenus susceptibles d’être nécessaires en même temps (par exemple, tout le contenu d’un niveau doit être ensemble).

Game-Play post-installation

Autorun

Pour jouer à un jeu déjà installé, l’utilisateur doit uniquement déposer le disque d’installation dans la barre d’état du lecteur. La première chose que doit faire l’exécutable AutoRun sur le disque est de case activée pour voir si le jeu a déjà été installé et, si c’est le cas, lancer le jeu. En supposant que le jeu a été installé à l’aide d’une configuration basée sur Windows Installer, le case activée pour déterminer si le jeu est installé peut être effectué avec un seul appel à la fonction MsiQueryProductState.

Conversion d’une installation à la demande en installation complète

Bien qu’une installation à la demande permette à l’utilisateur de commencer à jouer au jeu beaucoup plus tôt qu’une installation complète, un utilisateur peut vouloir installer explicitement le reste du contenu du jeu sur le disque dur local. L’utilisateur peut vouloir être en mesure de jouer au jeu sans avoir besoin du média source, ou il peut simplement vouloir éviter les temps de chargement dans le jeu plus longs résultant de l’installation du contenu à la demande. Si la configuration du jeu utilise Windows Installer, le jeu peut fournir une option dans l’interface utilisateur des options du jeu pour terminer l’installation du contenu restant. Lorsque l’utilisateur sélectionne cette option, le jeu peut appeler MsiConfigureFeature pour forcer l’installation locale des fonctionnalités restantes . il n’est pas nécessaire de générer une application d’installation distincte pour ce faire.

Maintenance des logiciels et du contenu du jeu

L’un des avantages des jeux Windows par rapport aux jeux de console est la relative facilité avec laquelle l’éditeur peut publier des mises à jour du jeu après sa publication initiale. Que ces mises à jour introduisent du nouveau contenu ou corrigent simplement des bogues, il est important de simplifier le processus de mise à jour autant que possible pour l’utilisateur final. Le processus de mise à jour est encore plus important pour les jeux en ligne, qui nécessitent généralement que tous les utilisateurs exécutent la dernière version du jeu pour se connecter.

Vérification automatique des Mises à jour

Les utilisateurs ne doivent pas avoir à se rappeler d’aller à la recherche de correctifs. Si une mise à jour est disponible pour le jeu, l’utilisateur doit au moins être averti et, dans l’idéal, le correctif doit déjà être téléchargé.

Un moyen simple pour un jeu de case activée de mises à jour consiste à se connecter à un serveur Web hébergé par l’éditeur à l’aide d’une URL spécifique, et à télécharger un fichier texte qui spécifie le numéro de version de la dernière version disponible du jeu, ainsi qu’une URL à partir de laquelle télécharger un package qui mettra à jour le jeu vers la dernière version.

La vérification des mises à jour chaque fois que l’utilisateur joue au jeu est suffisante pour s’assurer que l’utilisateur exécute la dernière version. Toutefois, si l’existence d’une nouvelle mise à jour est découverte immédiatement avant que l’utilisateur tente de jouer au jeu, l’utilisateur peut être obligé de retarder la lecture du jeu jusqu’à ce que le téléchargement de la mise à jour soit terminé. Pour les mises à jour volumineuses ou les connexions lentes, ce délai peut être de l’ordre des heures. Pour éviter d’obliger l’utilisateur à attendre avant de jouer au jeu, le jeu peut utiliser le Planificateur de tâches pour planifier des vérifications périodiques des nouvelles mises à jour. Si une mise à jour est détectée, le jeu peut commencer à télécharger la mise à jour immédiatement, de sorte qu’elle est susceptible d’être entièrement téléchargée et prête à être installée d’ici la prochaine fois que l’utilisateur jouera au jeu.

Téléchargement automatique des correctifs

Une fois que le jeu a détecté qu’une nouvelle mise à jour est disponible, il doit commencer immédiatement à télécharger la mise à jour. Étant donné que la tâche qui recherche les mises à jour s’exécute généralement en mode silencieux en arrière-plan, le téléchargement doit être aussi discret que possible. Le service BITS (Background Intelligent Transfer Service) est une fonctionnalité de système d’exploitation qui permet aux applications de télécharger des fichiers à partir d’Internet même si l’application elle-même n’est pas en cours d’exécution. Les travaux de téléchargement BITS s’exécutent uniquement lorsque l’utilisateur est connecté et uniquement lorsque l’ordinateur est déjà connecté au réseau. BITS n’essaiera pas de forcer la machine à se connecter au réseau par lui-même. Si l’utilisateur se déconnecte du réseau ou se déconnecte, le travail BITS est suspendu et reprend le téléchargement la prochaine fois que l’utilisateur se connecte et se connecte au réseau. L’application peut configurer ses travaux BITS pour utiliser uniquement la bande passante réseau qui, autrement, resterait inutilisée, afin d’éviter que le travail n’ait un impact sur les performances des autres applications qui utilisent le réseau (par exemple, un jeu en ligne). BITS est disponible sur Windows XP et Windows 2000 Service Pack 3.

Autres ressources

Pour plus d’informations sur les technologies référencées dans cet article, reportez-vous aux sections pertinentes de MSDN Library :

Pour plus d’informations sur l’utilisation de Windows Installer pour les jeux, connectez-vous à la colonne Driving DirectX du mois prochain, « Introduction à Windows Installer pour les développeurs de jeux ».

MsiConfigureFeature

MsiQueryProductState

MsiQueryFeatureState

MsiGetComponentPath