Estaba leyendo sobre lo que se descubrió en los archivos de No Man's Sky, muchas cosas que no se usaron o no fueron relevantes para el juego. También leí hace poco sobre la configuración del E3 en los archivos de Watch Dogs. ¿Por qué los desarrolladores de juegos dejan archivos viejos y sin usar en el juego final?
¿Seguramente esto solo ocupa espacio extra en un disco y significa que se deben descargar más datos si descargas el juego?
Además, ¿no tienen miedo los desarrolladores de lo que la gente pueda encontrar?
Respuestas:
Los juegos principales usan algo llamado canal de compilación. Esto es como otro conjunto de herramientas que maneja la construcción del contenido del juego para todas las diferentes distribuciones. Los juegos multiplataforma como No Man's sky y Watch_Dogs definitivamente usan diferentes activos para las diferentes plataformas. Entonces, tal como lo veo, hay dos posibles respuestas a su pregunta.
Los desarrolladores olvidaron eliminar ciertos activos de la tubería y se agruparon con el juego real.
Los desarrolladores dejaron intencionadamente algunos activos "no utilizados" en el juego para su uso posterior durante un parche o actualización, porque no pudieron cumplir con la fecha límite. Ejemplo Devil's Pit de The Witcher 3.
fuente
Puede ser más difícil de lo que piensas encontrar todo el contenido referenciado en un juego grande en el que trabajan varias personas. Incluso cuando existen herramientas explícitas para ayudar (creamos tales herramientas en ArenaNet, cualquiera que use Unreal tiene acceso a la versión de Unreal de esas herramientas, Bungie tiene herramientas que hacen lo mismo e incluso dieron una charla sobre ellas, etc.)
Hay varias formas en que se puede hacer referencia al contenido que puede derrotar a dichos sistemas, generalmente simplemente haciendo referencia al contenido por algo que el sistema no puede rastrear (como crear una referencia implícita o codificada en el código a algún activo).
Incluso suponiendo que haya resuelto el problema de encontrar todas las interreferencias de contenido, tiene el problema de no poder saber si realmente se usa algo . Tal vez se haga referencia a algún activo en un script en alguna parte, pero el volumen de activación de ese script se coloca incorrectamente dentro de una pared y el contenido nunca puede aparecer en el juego. Probar esto exhaustivamente también es bastante difícil.
Cuando automatizado (o autómata capaz ) métodos para detectar y filtrar el contenido no utilizado fallar, lo que queda es la manera pasada de moda: la intervención humana. Los humanos cometen errores, suposiciones erróneas (pueden pensar que todavía se usa un archivo aunque no sea porque alguien más hizo un cambio), y sí, incluso a veces optan por dejar intencionalmente contenido irrelevante en el juego como Huevos de Pascua. Es solo la falibilidad humana natural lo que lleva a esto.
Por lo general, no es una cantidad suficiente de contenido para mover realmente la aguja para optimizar la carga o el tamaño del archivo. También hay herramientas para informar los activos más grandes o más lentos en cualquier cadena o motor de construcción grande, pero el objetivo es reducir el impacto de los principales infractores y no encontrar y ubicar cada byte perdido. Generalmente.
fuente
Lo que falta en las otras respuestas es que esto no tiene nada que ver con los juegos. Afecta a todas las aplicaciones.
Siempre hay archivos y códigos que no se utilizarán en ningún programa razonablemente complejo. Esto sucede debido a las siguientes 2 cosas:
fuente
Agregando / mejorando la respuesta de Uri Popov :
Editar:
Reaccionando sobre un comentario a la pregunta original,
fuente
Los desarrolladores de juegos dejan archivos no utilizados en el juego final porque no quieren gastar el esfuerzo de buscar y eliminar todos los archivos no utilizados. Después de todo, los juegos funcionan bien con un poco de material extra y el tiempo es dinero. La limpieza aumenta los costos (dependiendo de qué tan automatizado ocurra esto).
Si bien requiere espacio adicional y significa que se deben descargar más datos, este no suele ser el problema de los desarrolladores e incluso a los clientes no les importan mucho los tamaños de descarga ligeramente mayores.
¿No está seguro si los desarrolladores deben tener miedo de algo que la gente pueda encontrar? ¿Por qué deberían ellos? Mientras no haya nada comprometedor en los archivos adicionales (obras de arte realmente malas, bromas sobre sus jefes o los clientes, ...) probablemente no les importe demasiado. Aunque en algunos casos tienen miedo de lo que los jugadores puedan detectar en los activos.
fuente
Not sure if developers need to be afraid of anything people might find?
leen la razón por la cual la prueba tecnológica de Titanfall 2 no llega a PC, no están de acuerdo: P.Se ha insinuado, pero las otras respuestas no lo han tocado por completo: todo se reduce al costo, y algunos de los costos son más complicados de lo que piensas.
El costo más obvio es que alguien tiene que eliminarlos. Ahora podría poner un pasante en el caso y hacer que busque en los archivos y que elimine los que no se necesitan en el juego real. Pero aún así, tienes que pagar por esto e, incluso si no lo haces (porque eres un monstruo que no paga pasantes), podrías haber tenido a ese interno haciendo algo útil como pedir pizza para el equipo de desarrollo, así que todavía te cuesta.
El costo menos obvio es que el recurso que está a punto de eliminar fue puesto por una razón: ¿está absolutamente seguro de que la razón es obsoleta? Claro, escribiste este código para una demostración y ya no lo necesitas, pero ¿es eso completamente cierto? ¿Escribió una función útil que olvidó migrar a las otras bibliotecas? ¿Stacey hizo un gráfico realmente genial para la demo que terminó en el juego real? ¿Un simulador interno todavía hace uso de ese nivel anterior que usabas para las pruebas?
Hacer juegos es un negocio. Incluso si no es un negocio para hacer dinero, sigue siendo un negocio con recursos limitados. Cada decisión requiere un análisis de costo-beneficio, incluso si no va a escribir casos de negocios para cada uno. Y el simple hecho es que el costo de dejar esos activos en el juego es una descarga ligeramente mayor, y los beneficios son un riesgo significativamente menor de que algo explote justo antes del lanzamiento.
Todos esos signos de interrogación en el párrafo "menos obvio" representan incertidumbre. Simplemente no lo sabes. Y cuando administra un negocio, tiene que cambiar sus incógnitas por conocimientos. Y lo que se sabe es que el paquete que construiste pasó las pruebas, incluso si tiene un poco de hinchazón.
Existen otros costos potenciales, como la filtración de información sobre el proceso de desarrollo que podría usarse para derivar piratas informáticos, pero si realizó el proceso de prueba tal como está, no debería preocuparse realmente por eso.
tl; dr: Nadie notará una descarga un 4% mayor, pero lo notarán si rompiste el juego eliminando los archivos necesarios.
fuente