En los sistemas Apple, la forma más común es utilizar, como usted sugiere, los directorios. Se llaman Bundles, y están en Finder representados como un solo archivo, pero si los exploras más, en realidad son directorios. Esto hace que escribir código y conservar memoria al cargar elementos individuales de este paquete sea muy fácil. :-) Además, esto facilita la realización de copias de seguridad incrementales de bases de datos gigantescas, como por ejemplo su base de datos iPhoto es solo un paquete, por lo que solo copia de seguridad de archivos nuevos y modificados
En Windows, sin embargo, creo que esto es mucho más difícil hacer, se verá como un directorio "no importa qué" (estoy seguro de que las personas inteligentes han encontrado una solución que hará que Explorer vea ciertos directorios como un único archivo, pero no es común).
Desde el punto de vista del desarrollador de juegos, no se trata de archivos tan pequeños que la sobrecarga de espacio en el disco es algo que le preocupa mucho, así que dudo la sugerencia de @ doublep, ya que hace una molestia, pero hace que sea mucho más fácil con un solo archivo si los usuarios deben copiar un juego completo en alguna parte, entonces es fácil verificar si todo el conjunto es correcto.
Y, por supuesto, es más difícil de leer para las personas que no deberían tener acceso. Pero también es más difícil de modificar, lo que significa que es más difícil parchear y más difícil escribir extensiones. Alguien que usa extensiones mucho, prefiere la estructura del directorio: Los Sims.
Si yo fuera el desarrollador de juegos, me encantaría buscar archivos individuales. Por otra parte, yo estaría utilizando haces como que estaría escribiendo para el Mac ;-)
Saludos
Nik
jaja +1 me gusta esta respuesta. Me olvidé por completo de la alineación, los trozos y las piezas de transmisión. Las otras razones también son geniales. –
+1 Buena respuesta. También los archivos personalizados le permiten configurar las opciones de almacenamiento por fragmento de datos de archivo, es decir, variar el formato de compresión, la alineación de datos por tipo de recurso, etc. – zebrabox
@zebrabox: oh sí, me olvidé de eso. En otro formato de archivo (específico del sprite) que usamos, comprimimos el marco por separado de los metadatos, y hacemos una deduplicación automática para los marcos que terminan siendo los mismos, incluso entre diferentes sprites. – leander