Todavía tengo problemas para empacar mis recursos, después de pasar por API complicadas y básicamente solo archivos zip que están agotando mi cerebro, pensé que también podría empacar el juego con los recursos visibles para el ojo humano, en una carpeta simple.
¿Sería eso poco profesional? Personalmente, nunca he visto juegos que hagan eso, básicamente significaría que el jugador podría editar lo que quiera en el juego, como ir a map1.txt y agregar una X en algún lugar para crear un muro, o cambiar el sprite del jugador a un pony en MS PAINT.
sound.dat
. El uso de carpetas sin comprimir con un par de cientos de archivos hace que la (des) instalación sea bastante molesta.Respuestas:
No, no lo es, cambiar los datos del juego se llama modding, que es una práctica común y a menudo visto como un efecto positivo. En realidad, es bueno mantener los datos del juego lo más transparentes posible y editarlos de la manera más fácil posible. Más aún si elige jugadores más "avanzados" como público objetivo.
La razón por la que no encontrarás muchos juegos AAA que usan una estructura de carpetas simple para sus datos es que usan formatos de archivo optimizados personalizados para obtener mejores tiempos de carga. La desventaja es la disminución de la transparencia y las herramientas adicionales requeridas en la cadena de herramientas. Sin embargo, para juegos más pequeños o 2D, estas dos cosas suelen valer más que el tiempo de carga mejorado.
Solo asegúrate de que lo que ve la gente no sea solo un gran desastre :) coloca los archivos en una estructura de carpetas adecuada.
fuente
Además de otras respuestas, hay dos preocupaciones importantes que debe considerar:
Sorprendentes sorpresas
Digamos que estoy a la mitad del juego y descubro la carpeta "video". Curioso, hago clic en uno y veo la escena final del juego.
Desafío de pérdida El
mismo escenario, pero creo que el formato de juego guardado tiene un valor para "oro". Lo cambio de 250 a 999999999, y funciona. De repente, tu curva de dificultad cuidadosamente diseñada, que maximiza la diversión del juego, se ha ido.
Ambos podrían causar que alguien pierda interés en el juego, parcialmente, si no del todo. Esto podría terminar en una impresión general más baja de lo bueno que fue el juego (injusto pero cierto).
Piense en esto en términos de su público objetivo: los jugadores más jóvenes son especialmente susceptibles a estropear su propia diversión sin comprender realmente que esto es lo que están haciendo.
Incluso si desea fomentar la modificación, es posible que desee proteger a los usuarios de arruinar su propia experiencia con el juego "por accidente".
fuente
Quizás no profesional es la palabra equivocada. Realmente depende del juego si dejar o no los archivos expuestos es algo malo.
Para un juego simple para un jugador, los jugadores y los modders te amarán. Les estarías dando la capacidad de cambiar fácilmente tu juego y hacer lo que quieran. Y tenga en cuenta que siempre habrá modders para un juego, sin importar cuán pequeño sea el juego. Muchos jugadores se sentirán menospreciados si la modificación es difícil, después de todo, compraron tu juego y deberían poder hacer lo que quieran en él.
Por otro lado, editar fácilmente los activos del juego es malo para un juego multijugador, ya que se considera trampa. Los jugadores malintencionados pueden reemplazar el contenido para hacer que los enemigos sean más visibles, los muros transparentes, etc. Aunque su código de juego realmente debería hacer cumplir que los activos no hayan sido alterados, el enfoque del "paquete de activos" tiene el beneficio de ayudar a disuadir esta actividad (seguridad a través de oscuridad).
fuente
Hay una solución fácil para ello. Simplemente puede cambiar el nombre de las extensiones por lotes en un símbolo del sistema usando algo como
Y luego colóquelos en una carpeta \ map
Puede acceder a un símbolo del sistema desde Windows ejecutando cmd
Esto no detendrá a los modders que saben que quieren modificar el juego y dejará una impresión menos descuidada en las personas que solo quieren jugar sin todo el contenido.
Sí, seguirá siendo editable. Es menos probable que las personas lo noten.
Para responder el comentario de Eric Robertson
Si deseas ocultar adecuadamente el contenido de tu juego a los jugadores, puedes usar el cifrado RSA en esos archivos de texto y combinarlos en un archivo de texto mientras estás en él. Esto no debería ser demasiado problema, aunque sospecho que es mucho más que exagerar.
fuente
Si alguna vez no fue profesional, puede que ya no lo sea. Al principio, los juegos usaban sus propios formatos de paquete, principalmente para preservar su propiedad intelectual (IP).
Puede superar algunas limitaciones, como la fragmentación y las invocaciones innecesarias de funciones del sistema de archivos nativo subyacente, al agrupar todos los recursos en un único archivo. Esto hace que los eventos de fragmentación sean menos probables cuando se implementa el paquete en la PC del cliente.
En el peor de los casos, podría terminar teniendo pequeños recursos de archivos individuales dispersos alrededor de los sectores de su disco duro. (Con la llegada de los SSD, este punto a menudo se vuelve discutible)
Pero todos estos beneficios también se pueden obtener con el
.tar
formato de archivo antiguo (Unix) gratuito .Además, al usar su propio formato de paquete, puede superar limitaciones tales como la falta de versiones, hash de archivos, codificación y punteros / enlaces dentro de los archivos, por nombrar solo algunos.
En conclusión , abogaría por la transparencia en el desarrollo independiente, a menos que explícitamente necesite proteger su IP.
En cuanto a los grandes puntos planteados por
MGOwen
: Para evitar sorpresas de Spoiling , puede cambiar el nombre de la extensión del archivo, cambiar los atributos del archivo, usar formatos de medios poco comunes, eliminar el encabezado de medios y almacenarlo en otro lugar, etc. Para evitar el desafío de pérdida, use una serialización binaria escritor para almacenar el estado de tu juego, con cifrado adicional y variables señuelo si es necesario.Descargo de responsabilidad: no soy un desarrollador de juegos. Solo considere esta publicación como un punto de partida ...
fuente
Es fácil de arreglar y de lo contrario la indexación de búsqueda encontrará sus videos finales, etc. Entonces,
Para archivos de datos: voltear bits con xor
Para ocultar "Oro: 250" de GREP.
Simplemente codifique con el mismo valor (aleatorio) xor.
Para mantener las escenas alejadas de los usuarios ocasionales, intente esto: Machinarium tradujo los nombres de los archivos para que \ videos se convirtieran en \ 0101 y todos los archivos tuvieran una identificación de 8 dígitos binarios seguido de .101 para detener las asociaciones de archivos.
fuente