Compartir a través de


Instalación y mantenimiento de juegos

En este artículo se describe una serie de procedimientos recomendados que pueden reducir la frustración del usuario sobre el tiempo necesario para instalar un juego, evitar llamadas de soporte técnico innecesarias y hacer que los usuarios empiecen a jugar el juego lo antes posible y de forma fluida.

Instalación inicial

Los usuarios compran juegos porque disfrutan jugando, no porque disfruten instalándolos. La instalación de un juego debe ser lo más rápida, sencilla y cómoda posible para el usuario final. Lo ideal es que los usuarios finales ni siquiera vean la interfaz de usuario de instalación; solo deberían poner el disco del juego en la bandeja y empezar a jugar.

Optimización de la interfaz de usuario de instalación

Los aspectos comunes de las IU de instalación de juegos existentes interfieren con la experiencia de usuario final deseada:

  • Se hacen preguntas innecesarias al usuario.

    Por ejemplo, en muchos juegos se pregunta si el usuario quiere instalar DirectX. Si el juego requiere Microsoft DirectX para que se ejecute y la versión correspondiente de DirectX aún no está instalada, se debería instalar DirectX directamente.

  • Se hacen preguntas al usuario que la gran mayoría de usuarios respondería igual.

    Para la mayor parte de usuarios, es correcto preguntar sobre la configuración predeterminada de la ruta de instalación, la ubicación en el menú Inicio, etc. Ofrezca opciones avanzadas para los usuarios que quieran cambiar esta configuración.

La interfaz de usuario de instalación debe diseñarse para permitir que el usuario normal empiece a jugar el juego lo antes posible. Si está habilitado AutoRun en el equipo del usuario, que es lo predeterminado, el programa de instalación debe suponer que el usuario quiere jugar el juego enseguida, por lo que se debería saltar preguntas innecesarias. El programa de configuración debe empezar a instalar el juego en la ruta de instalación predeterminada, preferiblemente usando una configuración como la descrita en Instalación a petición. Lo normal es dar a los usuarios la opción de cambiar la configuración de instalación antes de iniciar automáticamente la instalación. Sin embargo, esto se debe hacer solicitando al usuario que pulse una tecla para las opciones avanzadas de configuración y luego se siga automáticamente con las opciones predeterminadas si el usuario no pulse dicha tecla entre cinco y diez segundos.

Si AutoRun no está habilitado en el equipo del usuario, el programa de instalación debe suponer que el usuario no quiere que el programa de instalación empiece a instalar el juego automáticamente. Si el programa de instalación se inicia por algún medio distinto a AutoRun, se debería abrir la interfaz de usuario de configuración avanzada.

Reducción del tiempo necesario para la instalación

En la actualidad, el proceso de instalación de la mayoría de juegos de Microsoft Windows tardan entre cinco minutos y media hora en finalizar. En cambio, el proceso de la mayoría de juegos de consola no tardan más de treinta segundos desde el momento en que el usuario inserta el CD del juego hasta el momento en que el usuario puede jugar el juego. Esta diferencia se debe al hecho de que casi todos los juegos de Windows están diseñados para ejecutar la mayor parte, si no todo, del contenido a través del disco duro del equipo; las consolas, que carecen de un espacio donde almacenar permanentemente grandes cantidades de contenido, necesitan que el contenido se ejecute desde el medio de origen. Aunque cargar contenido a través del disco duro local hace más rápidos tiempos de carga del juego, el inconveniente es que todo ese contenido debe copiarse desde el medio de origen al disco duro en algún momento. La mayoría de juegos de Windows copian todo el contenido en el disco duro a la vez durante el proceso de instalación. Esto afecta a la experiencia inicial del usuario con el juego, ya que el usuario tiene que esperar a una barra de progreso durante varios minutos antes de poder jugar al juego.

Hay dos métodos que se pueden usar para minimizar el tiempo empleado inicialmente en instalar el juego: Instalación mínima e Instalación a petición.

Instalación mínima

En los casos de instalación mínima, el juego instala solo determinado contenido mínimo en el disco duro. Normalmente, esto equivale solo al ejecutable del juego y los archivos DLL. Al resto del contenido se accede directamente a través del medio de origen. Esto reduce considerablemente el tiempo necesario para la instalación, ya que el ejecutable de un juego rara vez ocupa más de 10-20 MB. El inconveniente es que el juego tarda más tiempo en cargar el contenido mientras se juega, ya que debe cargarlo a través del medio de origen, que es más lento.

Cómo crear una configuración de instalación mínima en una instalación basada en Windows Installer:

  • Agrupe todos los componentes que se van a instalar en el disco duro en una característica establecidas para instalarse localmente.

    Esta característica se denominará "Bootstrap".

  • Agrupe todos los componentes que se van a ejecutar en el medio de origen en una característica establecida como "ejecutar desde el origen".

  • Al abrir un archivo que podría estar en el medio de origen, use la función MsiGetComponentPath para determinar la ruta del archivo, en lugar de crear código rígido para la ruta.

    Al hacer esto, se garantiza que se puedan encontrar el archivo aunque se cambie la letra de la unidad de CD/DVD del usuario.

  • Comprima el contenido que está en el CD/DVD.

    El tiempo que la CPU emplea para descomprimir el contenido suele estar oculto por la velocidad lenta de transferencia de los datos de la unidad de CD/DVD.

  • Agrupe el contenido en archivos grandes y contiguos y acceda a él en orden secuencial.

    Los tiempos de búsqueda de unidades de CD/DVD son extensísimos en comparación con los de las unidades de disco duro. La mayoría de unidades de CD/DVD no alcanzan velocidades de transferencia máximas a menos que estén leyendo un archivo grande y contiguo.

  • Distribuya el contenido del CD/DVD en el orden con el que sea más fácil acceder a él.

    Los tiempos de búsqueda se reducen considerablemente cuando se accede a los archivos en el mismo orden que aparece en el disco.

Instalación a petición

En los casos de instalación a petición, como en la instalación mínima, se instalan primero en el disco duro solo los archivos necesarios para iniciar el juego. Sin embargo, en lugar de acceder al contenido restante a través del medio de origen cada vez que sea necesario, se instala cada fragmento de contenido en el disco duro, ya que es necesario para la primera vez y luego el juego accede a él a través del disco duro local las próximas veces. El tiempo necesario para la instalación inicial es igual corto que en una instalación mínima, pero después de la primera vez que se accede a cada fragmento de contenido, los tiempos de carga se reducen.

Cómo crear una configuración de instalación a petición en una configuración basada en Windows Installer:

  • Agrupe todos los componentes que se van a instalar por primer vez en el disco duro en una característica establecidas para instalarse localmente.

    Tenga en cuenta que esto es igual a lo que pasa con característica Bootstrap para realizar una instalación mínima.

  • Agrupe el contenido restante en varias características en función de los componentes que es posible que se usen juntos.

    Por ejemplo, en un juego basado en niveles, agrupe todo el contenido usado en un nivel determinado en una característica. Tenga en cuenta que Windows Installer permite que un componente se comparta en varias características, por lo que si existe contenido que se usa en varios niveles, puede agregar este contenido a las características de todos los niveles necesarios sin replicar el contenido. Todas estas características deben marcarse como "Advertised", lo que significa que no se instalarán inicialmente, pero que se pueden instalar más adelante si es necesario.

  • Cuando se necesita un archivo, compruebe primero si ya está instalado mediante la función MsiQueryFeatureState.

    Si aún no está instalado (es decir, su estado es INSTALLSTATE_ADVERTISED), llame a la función MsiConfigureFeature para instalar la característica de forma local. Al abrir el archivo después de instalarlo, llame a MsiGetComponentPath para determinar la ruta del archivo. Aunque no es estrictamente necesario en este caso (ya que el contenido siempre se instalará en el disco duro antes de usarlo), esto facilita la compatibilidad con la instalación mínima además de la instalación a petición.

  • Si es posible, anticipe qué contenido va a ser necesario cada vez e instálelo en segundo plano durante el tiempo de inactividad.

    La instalación en segundo plano es la más adecuada cuando el juego está en un punto que no necesita cada última porción de rendimiento que no dependa del ordenador; por ejemplo, cuando sale un vídeo de introducción, una escena cinemática, un menú, etc.

  • Crea una opción en el menú de opciones del juego para forzar la instalación de todo el contenido restante.

    Para implementar esto, cree una característica que sea un elemento principal de todas las características de instalación a petición y luego llame a MsiConfigureFeature para instalar esta característica principal de forma local. Así, las características secundarias también se instalarán localmente.

  • La distribución del contenido debe ser similar al de una instalación mínima, salvo que el contenido solo se debe agrupar con otro contenido que quizá se necesite al mismo tiempo (por ejemplo, todos los contenidos de un nivel deben estar juntos).

Experiencia de juego después de la instalación

AutoRun

Para jugar un juego que ya está instalado, el usuario solo debe tener que poner el disco de instalación en la bandeja de la unidad. Lo primero que debe hacer el ejecutable AutoRun en el disco es comprobar si el juego ya se ha instalado y, si es así, iniciar el juego. Suponiendo que el juego se ha instalado con una configuración basada en Windows Installer, la comprobación para determinar si el juego está instalado se puede realizar con una sola llamada a la función MsiQueryProductState.

Convertir una instalación a petición en una instalación completa

Aunque con una instalación a petición permite al usuario empezar a jugar el juego mucho antes que con una instalación completa, es posible que haya usuarios que quieran instalar explícitamente el resto del contenido del juego en el disco duro local. Quizá el usuario quiera jugar sin usar el medio de origen o puede que quiera evitarse los tiempos de carga más largos del juego por instalar contenido a petición. Si la configuración del juego usa Windows Installer, el juego puede incluir una opción en la interfaz de usuario de opciones para terminar de instalar el contenido restante. Cuando el usuario selecciona esta opción, el juego puede llamar a MsiConfigureFeature para forzar la instalación local de las características restantes; no es necesario generar una aplicación de configuración independiente para hacerlo.

Mantenimiento del software y del contenido del juego

Una de las ventajas que tienen los juegos de Windows sobre los juegos de consola es la facilidad relativa con la que el editor puede sacar actualizaciones del juego después de su lanzamiento inicial. Tanto si estas actualizaciones presentan contenido nuevo como si solo corrigen errores, es importante que el proceso de actualización sea lo más fácil posible para el usuario final. El proceso de actualización es aún más importante para los juegos en línea, donde normalmente todos los usuarios deben ejecutar la última versión del juego para conectarse.

Buscar actualizaciones de forma automática

Los usuarios no deben tener que recordar buscar parches y revisiones. Si hay una actualización disponible para el juego, el usuario debe recibir al menos una notificación e, idealmente, el parche o revisión debería descargarse al momento.

Una forma sencilla de que un juego compruebe si hay actualizaciones es conectarse a un servidor web alojado por el editor mediante una dirección URL específica y descargar un archivo de texto donde se indique el número de versión de la última versión disponible del juego, así como una dirección URL en la que descargar un paquete que actualizará el juego a su versión más reciente.

La búsqueda de actualizaciones cada vez que el usuario abre el juego es lo ideal para garantizar que el usuario ejecuta la versión más reciente. Sin embargo, si se detecta al instante una nueva actualización antes de que el usuario intente jugar el juego, es posible que el usuario se vea obligado a esperar a jugar hasta que la actualización haya terminado de descargarse. En el caso de actualizaciones grandes o conexiones lentas, esto significar horas de espera. Para evitar forzar al usuario a que espere antes de jugar, el juego puede usar el Programador de tareas para programar las búsquedas periódicas de nuevas actualizaciones. Si se detecta una actualización, el juego puede descargar la actualización inmediatamente, de modo que podría estar completamente descargado y listo para instalarse la próxima vez que el usuario inicie el juego.

Descargar parches automáticamente

Una vez que el juego ha detectado que hay disponible una nueva actualización, debería empezar a descargar de inmediato la actualización. Dado que la tarea que busca actualizaciones se suele ejecutar silenciosamente en segundo plano, la descarga debe ser lo más discreta posible. El servicio de transferencia inteligente en segundo plano (BITS) es una característica del sistema operativo que permite a las aplicaciones descargar archivos de Internet mientras la propia aplicación se está ejecutando. Las operaciones de descarga de BITS solo se ejecutan cuando el usuario ha iniciado sesión y solo cuando el equipo ya está conectado a la red. BITS no intentará forzar el equipo para conectarse a la red por sí solo. Si el usuario se desconecta de la red o cierra sesión, la operación de BITS se pausa y se reanudará la descarga la próxima vez que el usuario inicie sesión y se conecte a la red. La aplicación puede configurar sus operaciones de BITS para usar solo el ancho de banda de red que, en otra situación, no se usaría, para evitar que la operación afecte al rendimiento de cualquier otra aplicación que pueda usar la red (por ejemplo, un juego en línea). BITS está disponible en Windows XP y Windows 2000 Service Pack 3.

Otros recursos

Para obtener más información sobre las tecnologías a las que se hace referencia en este artículo, consulte los temas siguientes:

Para obtener más información sobre el uso de Windows Installer en juegos, esté pendiente de la columna Driving DirectX del mes que viene, "Introduction to Windows Installer for Game Developers" ("Introducción a Windows Installer para desarrolladores de juegos").

MsiConfigureFeature

MsiQueryProductState

MsiQueryFeatureState

MsiGetComponentPath