Démo (et jeu réel) Protection

9

Dans quelques mois, je prévois de commencer à montrer le jeu (si tout va bien commercial) sur lequel je travaille au public (Internet). Le problème est que, outre les captures d'écran et une bande-annonce (par exemple, la fonctionnalité), comment procéder correctement pour faire une démo qui peut être protégée?

Laissez-moi vous expliquer un peu. Le jeu est un RPG multiplateforme en quelque sorte. En ce moment, la façon dont j'ai codé le jeu est qu'il lit les données de carte, de personnage, etc. à partir de fichiers et décide de tout ce qui me permet d'étendre le monde / l'histoire simplement en configurant des fichiers et en ajoutant des actifs.

Ce qui signifie que mon inquiétude est que je fasse une version de démonstration du jeu, c'est-à-dire le vrai jeu, mais tous les fichiers d'actif / de configuration / etc. sont supprimés afin que ce soit juste une démo avec la toute première carte / niveau. Existe-t-il un moyen de se protéger contre quelqu'un juste après avoir sorti le pack de données du vrai jeu (une fois sorti) et maintenant soudainement n'importe qui avec le EXE de démo peut jouer au vrai jeu?

La protection de la démo est en quelque sorte ma première priorité car je veux que la démo soit disponible pendant un certain temps avant la sortie du vrai jeu. Je peux toujours décider des méthodes de protection que je choisis dans le vrai jeu plus tard (avant la sortie, mais toujours plus tard ..)

Je suppose que cela revient à dire qu'il existe de toute façon un véritable moyen de protéger le jeu (je ne veux pas limiter les utilisateurs à effectuer des vérifications en ligne car ce jeu sera multiplateforme et ne nécessitera pas Internet pour y jouer). La dernière chose que je veux faire est de jouer avec des utilisateurs légitimes. Et je voudrais laisser les actifs ouverts si possible, car cela signifie simplement patcher les dossiers facilement et permettre aux moddeurs de jouer un peu.

Je veux dire, même si j'ai mis en place un système de licence de base, qu'est-ce qui empêche vraiment 1 personne de télécharger sa clé et une copie du jeu quelque part? J'ai vu des gens parler de faire des mises à jour fréquentes pour que le binaire change et ils doivent re-cracker le jeu. Mais, qui a besoin de casser le jeu quand vous pouvez obtenir 1 copie légitime et ensuite le diffuser?

Je ne sais pas si peut-être je manque quelque chose, j'essaie juste de m'assurer que je ne le suis pas. Cela se résume-t-il vraiment à:

  1. Giflez la protection de base de la licence des clés dessus.
  2. Supprimer les fichiers d'actif / de configuration de la démo
  3. Espoir pour le meilleur

Tous les conseils sont appréciés! Je suis très nouveau dans tout cela; -;)

Désolé s'il s'agit d'un doublon! Impossible de trouver beaucoup sur le concept de démonstration.

Zyaga
la source
Le libérer comme un exécutable qui ne lira que le fichier de premier niveau et aucun des autres? C'est une démo et non le produit final. Peut-être pourriez-vous expliquer pourquoi l'exécutable de démonstration aura soudainement toutes ses capacités en ajoutant un "pack de données" quel qu'il soit? Il semble honnêtement que cette préoccupation soit aussi légitime que «et si quelqu'un remet le jeu complet à quelqu'un d'autre», ce qui entraînerait que cette question concerne le piratage en général et pas seulement la protection de votre démo contre une mise à niveau illégitime.
SpartanDonut
Le code est vraiment le jeu complet, sauf si je veux faire une branche ou quelque chose. Je veux dire que j'ai beaucoup de fonctionnalités et que la démo que je crée, je veux être quelque chose que même après la sortie, les utilisateurs peuvent télécharger et jouer avant même d'acheter. Donc je suppose que c'est la même chose que le jeu complet dans un sens. Je me demande toujours si je suis sur la bonne voie avec ces 3 derniers points de balles, aka il n'y a pas grand chose à faire. Faites-les et espérez le meilleur. x:
Zyaga

Réponses:

12

Avez-vous envisagé de coder en dur quelque chose comme une limite de temps dans la version de démonstration du moteur?

Le fait est que, peu importe à quel point vous protégez votre démo, le jeu sera en quelque sorte piraté une fois qu'il sera sorti. Que ce soit en utilisant la démo ou simplement en utilisant le jeu principal, cela se produira si le jeu est assez populaire.

Les gens qui ne veulent pas payer pour votre jeu ne paieront pas pour votre jeu.

Les gens qui veulent payer pour votre jeu paieront pour votre jeu.

Cela s'applique à tout, du plus petit jeu indépendant au plus grand titre triple-A - la seule façon de contourner ce problème est de rendre la connexion à vos serveurs non seulement obligatoire mais liée au gameplay, c'est-à-dire un MMO, plutôt que le stupide Assassin. Creed DRM toujours en ligne. Puisque vous avez déjà dit que ce n'était pas une option, je vous suggère de l'adopter.

En tant que développeur indépendant, la meilleure façon pour vous d'obtenir plus de ventes est d'avoir plus de regards sur votre jeu. Les gens qui ne sont pas enclins au piratage joueront votre démo et ensuite achèteront le jeu ou non. Les personnes enclines au piratage peuvent jouer à votre démo, trouver les actifs comme vous l'avez décrit, etc., puis peuvent ou non acheter le jeu.

L'homme d'étain
la source
C'est à peu près comme je m'y attendais. C'est un peu décourageant, ou plutôt c'est juste que c'est le cas, mais c'est comme ça que ça roule! Je pense que ce que je peux faire est de dériver légèrement le code afin que vous puissiez jouer la sauvegarde par défaut (aucun menu de chargement disponible), puis le code dur que si le jeu ne reconnaît pas la carte principale (qui a toutes les fonctionnalités de base / principales disponibles dedans), puis il sortira. Quelqu'un pourrait le casser et le faire jouer les vraies données, mais à ce moment-là, il ne fera que sortir le vrai jeu en série et ce sera fait. : P
Zyaga
2
Même s'ils n'achètent pas le jeu, ils peuvent avoir des amis qui voient le jeu, l'aiment, puis l'achètent. Vous ne pourrez pas arrêter le piratage (même les solutions anti-piratage à gros budget n'ont pas vraiment pu l'arrêter), donc je vous suggère de ne pas trop vous en préoccuper. Pour éviter de le rendre trop facile, vous pouvez coder en dur quelque chose dans l'exe de démonstration afin qu'il ne lit que la première carte, peu importe le montant, ou une limite de temps comme @ Amadeus9, mais vous ne pouvez qu'espérer le meilleur.
Christian
Merci @Christian! Plus de commentaires que c'est la bonne façon de procéder! ^ _ ^
Zyaga
@WeakDev, tous les bons points ici. Ceux qui ont emprunté la voie "trop ​​restrictive" n'ont fait que nuire à leur clientèle. Les pirates sont ceux qui ont le plus de facilité car tous les DRM sont contournés dans les 24 heures. Concentrez-vous sur la qualité du jeu et votre public cible, et vous ne pouvez pas vous tromper :)
Moo-Juice
Je ne m'attarderais pas trop sur toi, Weak Dev. Tout d'abord, je pense que vous faites un grand pas vers la réduction du piratage en proposant une démo. Je pense qu'une grande raison du piratage de jeux indépendants est le manque de possibilités de l'essayer avant de franchir le pas pour l'acheter. Je pense qu'il est assez courant que les jeux non-démos soient piratés comme une sorte d'essai. L'achat n'est pas du tout hors de question si la personne a une expérience positive.
Sean O'Hollaren
5

Vous ne savez pas ce que vous entendiez par «branche» dans votre commentaire, mais il est possible de créer deux exécutables différents (démo et version complète) à partir de la même arborescence de code source à l'aide de la compilation conditionnelle . Vous pouvez créer une option au moment de la compilation pour inclure uniquement la possibilité de lire le premier épisode. (Par exemple, en C ++, vous pouvez utiliser des #ifdefcommandes autour du code destiné uniquement à la version complète.) Vous pouvez demander à la version de démonstration de produire au moins les effets de gameplay suivants:

  • Les ressources du premier épisode sont stockées dans un fichier zip, et la version de démonstration vérifie une signature numérique sur ce fichier zip avant de commencer. Pour utiliser les mods, les joueurs devraient payer pour la version complète.
  • Remaniement de l'encodage des opcodes dans votre bytecode de script lors de la compilation de la démo.
  • Supprimez complètement les gestionnaires d'un ou plusieurs opcodes de script utilisés uniquement dans les épisodes ultérieurs. Cela entraînera l'échec des décors dans les épisodes ultérieurs même si la vérification de la modification du fichier et l'encodage de l'opcode sont corrigés.
Damian Yerrick
la source
1
Une autre astuce serait de coder en dur les hachages MD5 / SHA de chaque fichier de niveau de démonstration individuel dans la version de démonstration. Cela a l'avantage que, alors que simplement changer une seule clé de hachage / signature est assez facile avec un éditeur hexadécimal, augmenter le nombre de hachages (pour augmenter le nombre de niveaux jouables) est quelque peu plus délicat, du moins s'il y a beaucoup d'autres données qui suivent leur.
Ilmari Karonen