2009-04-21 13 views
7

Tiene un medio estático, un CD, por lo que no puede cambiar ningún archivo en él. Entonces, ¿cómo funcionan las actualizaciones? Entiendo que hay un código que se ejecuta y comprueba si la versión no es correcta, y luego descarga un parche si es necesario, pero ¿cómo se integra ese camino en el juego?¿Cómo funcionan las actualizaciones del juego XBox?

¿Hay algún tipo de "comprobación de actualizaciones" que comprueba los archivos de parche y los carga? Si ese es el caso, ¿cómo diseñan el código para que los desarrolladores puedan solucionar los problemas imprevistos?

+0

Este escenario también puede aparecer en la programación de dispositivos móviles donde el almacenamiento de lectura/escritura local es opcional. Considera generalizar tu pregunta a eso. –

Respuesta

10

El parche contiene un ejecutable delta comprimido y cualquier dato nuevo que ese ejecutable pueda necesitar. El cargador ejecutable de la Xbox 360 busca el parche (a través del ID del título del juego) y, si lo encuentra, carga el ejecutable anterior en la memoria y luego lo modifica en la memoria con la versión comprimida delta. (El proceso de creación de un ejecutable comprimido en delta puede llevar más de una hora, pero el tamaño del archivo ejecutable resultante vale la pena).

Microsoft no proporciona ninguna herramienta para parchear datos. Cualquier información actualizada también estará en el parche, pero dependerá del ejecutable buscarla en un área de "actualización" y aplicarla de manera adecuada.

Como se mencionó, el parche debe almacenarse en algún lugar, ya sea en el disco duro o en una tarjeta de memoria. Si está en la tarjeta de memoria, se colocará en el área reservada del sistema de 8MB (se recomienda que los parches sean < 4MB, de modo que se puedan almacenar 2 parches en una tarjeta de memoria, esto puede excederse con el permiso de Microsoft).

Todos los parches deben ser acumulativos: si actualiza un título a la versión 1.1, cuando sale con la versión 1.2 debe contener todos los cambios de 1.1.

0

Si tiene una aplicación que tiene un archivo .exe que se utiliza para ejecutar la aplicación o tal vez algunos archivos .dll. ¿Cómo actualizarías tu programa? ¿Por qué no simplemente reemplazar esos archivos con versiones más nuevas y usarlos en su lugar?

¿Quizás verifique una marca de tiempo en los archivos guardados en el disco duro en lugar de los archivos en el CD?

+0

¿Qué pasa si los archivos que necesita cambiar están en el CD? – scottm

+1

Luego, coloca la versión más nueva en el disco duro y asegúrese de que la ruta de búsqueda lo verifique primero. – jsight

1

Supongo que, simplemente insertando un juego en la Xbox, se guarda un Manifiesto de cierta descripción en el Disco Duro, o algún medio de memoria flash en el cuadro que mantiene una lista de las versiones de la Biblioteca & ubicación (ya sea en CD o alguna ruta en XBox HD)

Cuando se produce una actualización, se actualiza el archivo de manifiesto para decirlo.

"Al iniciar este juego, use la biblioteca X v1.1 del disco duro en lugar de libary X v1.0 del CD".

+0

Esta sería mi suposición también, especialmente porque el disco duro XBox360 es opcional. –

+0

Entonces, ¿todas las bibliotecas del juego se cargarían manualmente, incluso si actualmente no hay parches? – scottm

+0

Los juegos xbox no usan librerías "actualizables" (excepto para la interfaz con el sistema/tablero); todo está vinculado estáticamente en el ejecutable – arolson101

Cuestiones relacionadas