Cuando instalas un juego en el PC, qué sucede?
Yo entiendo que se crean carpetas,subcarpetas y sub-subcarpetas... (estructura de arbol). ¿es asi?
Me refiero a que hay una sola carpeta con el nombre del juego y al abrirla veis mas carpetas,al abrir dichas carpetas vuelve a ver mas carpetas...
Para no tener que invertir demasiado tiempo en escribirlo por mi cuenta:
Cuando instalas un juego en una PC, generalmente se crean varias carpetas y archivos en el sistema. La estructura de estas carpetas y archivos puede variar dependiendo del juego y del desarrollador, pero suele seguir un patrón similar. Aquí tienes una descripción general de lo que suele suceder cuando instalas un juego en una PC:
1. **Carpeta principal del juego:** Por lo general, se crea una carpeta principal con el nombre del juego en el directorio donde eliges instalarlo. Esta carpeta principal contendrá la mayoría de los archivos necesarios para ejecutar el juego.
2. **Subcarpetas:** Dentro de la carpeta principal del juego, encontrarás subcarpetas que contienen diferentes tipos de archivos. Estas subcarpetas pueden incluir:
- **Binarios:** Aquí es donde se almacenan los archivos ejecutables del juego, como el archivo .exe que inicia el juego.
- **Recursos:** Esta carpeta puede contener texturas, modelos 3D, sonidos, música y otros recursos multimedia utilizados por el juego.
- **Guardar partidas:** A menudo, se crea una carpeta para almacenar los archivos de guardado del juego, donde se registran tu progreso y configuraciones.
- **Configuración:** Puedes encontrar archivos de configuración que almacenan tus preferencias y ajustes de juego.
- **Archivos temporales y caché:** Algunos juegos pueden crear subcarpetas para almacenar archivos temporales y caché que se utilizan para acelerar el rendimiento del juego.
3. **Archivos ejecutables:** En la carpeta principal o en subcarpetas específicas, encontrarás archivos ejecutables que se utilizan para iniciar el juego y, en algunos casos, para configurar opciones o modificar el juego.
4. **Bibliotecas y dependencias:** Algunos juegos pueden requerir bibliotecas o archivos compartidos específicos para funcionar correctamente. Estos archivos pueden estar ubicados en carpetas separadas o instalados en el sistema.
5. **Documentación y extras:** En ocasiones, se incluyen manuales, guías, arte conceptual u otros extras relacionados con el juego.
6. **Desinstalador:** También es común que los juegos incluyan un programa de desinstalación que te permite eliminar el juego de tu PC de manera limpia y completa.
La estructura de carpetas puede variar entre juegos y desarrolladores, y algunos juegos modernos tienden a organizar sus archivos de manera más eficiente y compacta para facilitar la administración. Además, los juegos pueden tener actualizaciones y contenido descargable (DLC) que se agregan a la estructura existente.
En resumen, al instalar un juego en una PC, se crean varias carpetas y subcarpetas para organizar los archivos necesarios para que el juego funcione correctamente. La estructura puede variar, pero generalmente sigue un patrón lógico para facilitar la administración y el acceso a los recursos del juego.
A eso súmale también archivos de idiomas distintivos para los juegos que sean multi-idioma, archivos de cinemáticas, y archivos de instalación de runtimes (Visual C++, Vulkan, etc).
Creo que en general es un buen resumen de todo lo que se instala en el directorio principal de un video juego.
2) ¿Dichas carpetas que archivos contienen?
Creo que con el comentario de ChatGPT, el contenido de las carpetas ya queda medianamente explicado.
Debes tener en cuenta que, en la historia de los video juegos, cada compañía desarrolladora ha trabajado y trabaja de un modo diferente, no ha existido ningún estándar por el cual se debe regir la estructura de archivos distribuidos en la instalación de un video juego. En muchos casos las compañías desarrolladoras usan APIs y motores gráficos de su propiedad, y utilizando diferentes formatos de cifrado y empaquetado de archivos, lo cual marca una estructura de archivos bastante singular y distinguible en comparación con las demás compañías de video juegos.
Cada sintonia tiene su archivo de audio? cada sonido (disparto,choque....) tiene su sonido de audio?
¿cada mapa/paisaje tiene su archivo de imagen?
¿se puede acceder a estos archivos o están cifrados?
Hoy en día los recursos de un video juego se suelen denominar comunmente "assets".
Bien. Se pueden dar dos escenarios, el primero es que los assets del juego se distribuyan de forma individual, me refiero, sin empaquetarlos dentro de un formato contenedor para combinar todos los recursos del juego en un único archivo, que tú puedas ver en la carpeta varios archivos mp3 o varios archivos de imágenes de modelos 3D, por ejemplo,
y el otro escenario, que yo diría es lo más habitual hoy en día, sobre todo en los juegos triple AAA, es lo opuesto, es decir, que los los assets del juego se distribuyan de tal forma que están combinados y empaquetados en un formato contenedor.
Para que te hagas una mejor idea, sería algo así como tener un archivo comprimido en formato ZIP o RAR, que al abrirlo puedes ver muchos archivos en su interior. Solo que no es exactamente ni archivo ZIP ni RAR, ya que las compañías de video juegos pueden utilizar algoritmos específicos de comprensión o cifrado para proteger su formato de contenedor (para evitar la copia, reproducción, distribuición y modificación no autorizada) que en muchos casos es necesario recurrir al uso de herramientas especializadas para analizar/leer y poder extraer el contenido de su interior, lo cual solo se consigue mediante una investigación y un procedimiento de ensayo y error de ingeniería inversa por parte de modders experienciados.
Por último déjame decirte que hoy en día se podría decir que se ha estandarizado el uso de dos motores de desarrollo de video juegos, que son los más populares y son los más utilizados en la inmensa mayoría de los casos: Unity, y Unreal Engine. Cada uno de estos motores provee diferentes formatos de empaquetado de archivos, con una estructura bastante conocida por los
modders experienciados.
Puede que te suene haber visto archivos con extensiones .assets o .unity3d que son dos formatos de Unity. O puede que te suene incluso más, haber visto archivos de un tamaño muy variado y que pueden llegar a tener un tamaño enorme (desde pocos gigabytes hasta los 20, 30, 50 Gb y más) con extensión .pak, que es el formato de Unreal Engine para empaquetar recursos del video juego.
Y por lo general creo que no es nada sencillo averiguar como leer esos formatos de contenedor. Para leer y manipular los formatos de Unity - con ciertas limitaciones - existe un programa llamado "Unity Assets Bundle Extractor", y para los archivos .pak de Unreal Engine no tengo ni idea, la verdad, nunca lo he investigado a fondo, pero tampoco me he topado nunca por casualidad con alguna herramienta capaz de ello en la scene del modding.
Saludos.