J'ai toujours des problèmes pour ranger mes ressources, après avoir traversé des API complexes et des fichiers zip qui épuisent mon cerveau, j'ai pensé que je pourrais aussi ranger le jeu avec les ressources visibles à l'œil humain, dans un simple dossier.
Est-ce que ce serait non professionnel? Personnellement, je n'ai même jamais vu des jeux faire cela, cela voudrait dire fondamentalement que le joueur pourrait éditer ce qu'il veut dans le jeu, comme aller dans map1.txt et ajouter un X quelque part pour créer un mur ou changer le sprite du joueur. à un poney dans MS PAINT.
sound.dat
. L'utilisation de dossiers non compressés avec quelques centaines de fichiers rend la (dés) installation assez ennuyeuse.Réponses:
Non, la modification des données du jeu est appelée modding, pratique courante et souvent considérée comme un effet positif. En fait, il est bon de garder les données de jeu aussi transparentes que possible et de les éditer aussi simplement que possible. D'autant plus si vous choisissez des lecteurs plus "avancés" comme public cible.
La raison pour laquelle vous ne trouverez pas beaucoup de jeux AAA qui utilisent une structure de dossiers en clair pour leurs données est qu'ils utilisent des formats d'archive optimisés personnalisés pour obtenir des temps de chargement améliorés. L'inconvénient est la transparence réduite et les outils supplémentaires requis dans la chaîne d'outils. Cependant, pour les jeux plus petits ou 2D, ces deux choses valent généralement mieux que le temps de chargement amélioré.
Assurez-vous simplement que ce que les gens voient n’est pas simplement un énorme gâchis :) placez les fichiers dans une structure de dossiers appropriée.
la source
Outre d'autres réponses, vous devez prendre en compte deux préoccupations importantes:
Gâter les surprises
Dites que je suis à mi-chemin du jeu et découvrez le dossier "vidéo". Curieux, je clique sur l'un d'entre eux et j'arrive à regarder la cinématique finale du match.
Défi perdant
Même scénario, mais je trouve que le format de jeu sauvegardé a une valeur "or". Je le change de 250 à 999999999, et cela fonctionne. Soudain, votre courbe de difficulté soigneusement conçue, maximisant le plaisir du jeu, disparaît.
Les deux pourraient causer une perte d’intérêt pour le jeu, partiellement voire totalement. Cela pourrait aboutir à une impression générale plus faible de la qualité du jeu (injuste mais vrai).
Réfléchissez à cela en fonction de votre public cible - les jeunes joueurs, en particulier, sont susceptibles de gâcher leur plaisir sans vraiment comprendre que c'est ce qu'ils font.
Même si vous souhaitez encourager la modification, vous voudrez peut-être empêcher les utilisateurs de ruiner leur propre expérience du jeu "par accident".
la source
Peut-être que non professionnel est le mauvais mot. Cela dépend vraiment du jeu, que les fichiers exposés soient ou non exposés est une mauvaise chose.
Pour un jeu simple à un joueur, les joueurs et les moddeurs vous aimeront. Vous leur donneriez la possibilité de changer facilement votre jeu et de faire ce qu'ils veulent. Et gardez à l'esprit qu'il y aura toujours des moddeurs pour un jeu, aussi petit soit-il. Beaucoup de joueurs se sentiront offensés si la modification est difficile, après tout, ils ont acheté votre jeu et ils devraient pouvoir faire ce qu'ils veulent.
D'autre part, éditer facilement les ressources du jeu est mauvais pour un jeu multijoueur, car il est considéré comme de la triche. Les joueurs malveillants peuvent remplacer le contenu pour rendre les ennemis plus visibles, les murs transparents, etc. Bien que votre code de jeu doive vraiment imposer que les actifs n’ont pas été altérés, l’approche «ensemble d’actifs» présente l’avantage de contribuer à dissuader cette activité (sécurité). obscurité).
la source
Il existe une solution simple pour cela. Vous pouvez simplement renommer par lot les extensions dans une invite de commande en utilisant quelque chose comme:
Et puis placez-les dans un dossier \ map
Vous pouvez accéder à une invite de commande à partir de Windows exécutant cmd.
Cela n'empêchera pas les moddeurs sachant qu'ils veulent modifier le jeu et laisseront une impression moins relâchée aux personnes qui souhaitent simplement jouer au jeu sans tout le contenu qui traîne.
Oui, il sera toujours éditable. Les gens seront simplement moins susceptibles de le remarquer.
Répondre au commentaire d'Eric Robertson
Si vous souhaitez masquer correctement le contenu de votre jeu aux joueurs, vous pouvez utiliser le cryptage RSA sur ces fichiers texte et les fusionner en un seul fichier lorsque vous y êtes. Cela ne devrait pas poser trop de problèmes, même si je soupçonne que c'est bien au-delà de l'exagération.
la source
Si cela n’a jamais été professionnel, ce n’est peut-être plus le cas. Au début, les jeux utilisaient leurs propres formats de paquetage, principalement pour préserver leur propriété intellectuelle.
Vous pouvez surmonter certaines limitations, telles que la fragmentation et les appels de fonction inutiles du système de fichiers natif sous-jacent, en regroupant toutes les ressources dans une archive unique. Cela réduit les risques de fragmentation lors du déploiement du package sur le PC du client.
Dans le pire des cas, vous pourriez vous retrouver avec de minuscules ressources individuelles dispersées autour des secteurs de votre disque dur. (Avec l'arrivée des SSD, ce point devient souvent théorique)
Mais tous ces avantages peuvent également être obtenus avec le
.tar
format d'archive gratuit, ancien (Unix) .De plus, en utilisant votre propre format de paquet, vous pouvez surmonter des limitations telles que l'absence de version, les hachages de fichiers, le codage et les pointeurs / liens dans les fichiers, pour n'en nommer que quelques-uns.
En conclusion , je préconise la transparence dans le développement indépendant, sauf si vous devez explicitement protéger votre propriété intellectuelle.
En ce qui concerne les grands points soulevés par
MGOwen
: Pour éviter Spoiling surprend , vous pouvez renommer l'extension de fichier, les attributs de fichier de changement, utiliser des formats rares médias, exciser les médias en -tête et le stocker ailleurs, etc ... Pour éviter de perdre défi utiliser une sérialisation binaire writer pour stocker l’état de votre jeu, avec un cryptage supplémentaire et des variables leurres si nécessaire.Disclaimer: Je ne suis pas un développeur de jeux. Ne considérez ce poste que comme un point de départ ...
la source
Il est facile de corriger et sinon l'indexation de recherche trouvera vos vidéos finales, etc.
Pour les fichiers de données: Flip bits avec xor
Pour masquer "Or: 250" à GREP.
Il suffit d’encoder avec la même valeur xor (aléatoire).
Pour éviter les scènes aux utilisateurs occasionnels, essayez ceci: Les noms de fichiers traduits par Machinarium afin que \ videos devienne \ 0101 et que tous les fichiers aient ensuite un identifiant à 8 chiffres binaires suivi de .101 pour arrêter les associations de fichiers.
la source