Je suis sur le point d'acheter plusieurs packs de modèles sur un site Web pour prototyper mon jeu. Dans le contrat, il est stipulé que je dois les protéger afin d'empêcher le public d'y avoir accès.
Je me souviens avoir travaillé avec les jeux Valve, ils utilisaient .gcf (fichier de contenu de jeu) qui était essentiellement une archive de tout le contenu de chaque jeu. Ils ont emballé dans le son / matériaux / modèles / cartes / etc. J'ai pensé que ce n'était peut-être pas une mauvaise idée de développer quelque chose de similaire, et d'écrire juste un petit outil pour me permettre d'y ajouter / supprimer des fichiers.
Le problème est que je n'ai vraiment aucune idée de comment commencer quelque chose comme ça. J'ai essayé Google mais je ne savais même pas quoi chercher. Si quelqu'un a des idées, des liens qui pourraient être utiles ou autre chose, je l'apprécierais grandement.
la source
Si vous ne faites que du prototypage, je ne me soucierais pas de regrouper vos actifs dans un fichier GCF / ZIP / PAK; le public ne verra pas votre prototype!
De plus, le GCF de Valve offre autant de protection pour votre contenu qu'un fichier ZIP - c'est-à-dire zéro. Le fichier n'est pas crypté; vous pouvez télécharger GCFScape pour parcourir et extraire son contenu.
Il ne vaut pas mettre l'effort dans la création de votre propre système de fichiers pack sauf si vous avez des besoins spécifiques en ce moment qui ne sont pas pris en charge par ZIP fichiers ou propre mécanisme d'accès aux fichiers du système d' exploitation; en fait, les seules raisons auxquelles je peux penser sont:
la source
Cette exigence est, bien, des conneries.
Étant donné que le jeu peut accéder aux données et que l'utilisateur a accès au jeu, s'il est suffisamment compétent et déterminé, il parviendra à rétroconcevoir le format que vous avez utilisé pour stocker les données et à saisir la clé éventuelle si vous étiez assez fou. pour le crypter.
Vous ne pouvez pas ajouter de sécurité. Je le répète: vous NE POUVEZ PAS ajouter de sécurité . Vous pouvez seulement ajouter de l'obscurité, et l'obscurité est totalement inutile, car - comme je l'ai dit - un utilisateur avec suffisamment de compétence et de détermination va simplement le casser.
Ne signez rien qui vous demande quelque chose qui ne peut pas être fait.
la source
Souvent, je remarque que les packages de contenu personnalisés ont tendance à être une archive .zip ou .rar avec une extension différente. Bien sûr, cela ne sert à rien si le site Web souhaite un cryptage personnalisé quelconque.
la source
Quelques idées:
1] Avez-vous utilisé un format de modèle standard (par exemple .obj ou .x) ou utilisez-vous un format de modèle personnalisé lors du chargement directement dans votre jeu? Si vous avez un format personnalisé et qu'il faudrait inverser le format de votre modèle pour le mettre sous une forme utile, alors vous avez déjà un certain niveau de protection contre le ripper d'actifs opportuniste.
2] Le point de Kylotan sur le chiffrement XOR est excellent, sauf pour noter que vous pouvez chiffrer en utilisant une séquence générée par un nombre pseudo-aléatoire (éventuellement ensemencée par un hachage sur le nom de fichier) pour éviter de longues séquences de zéros dans vos données source montrant votre chaîne de chiffrement. Bien sûr, vous devrez décrypter vos fichiers sur place immédiatement après leur chargement, mais la division de votre fichier crypté en blocs redémarrables vous permettra de lancer le décryptage en place sur plusieurs threads si cela devient vraiment une charge de temps de chargement . Mais je doute sérieusement que ce niveau de "protection" soit nécessaire - en particulier, comme d'autres l'ont dit, le ripper déterminé le contournera. par exemple. en interceptant les appels de dessin en utilisant une bibliothèque de détour de DLL et en relisant directement les tampons de vertex / tampons d'index.
3] Vous devrez demander au fournisseur d'actifs d'origine quelles sont ses exigences en matière de protection, mais il pourrait simplement s'agir d'ajouter un texte de présentation sur les droits d'auteur des actifs à votre écran de démarrage du programme et / ou à votre CLUF.
la source