Demo (e gioco reale) Protezione


9

Tra qualche mese ho intenzione di iniziare a mostrare il gioco (si spera commerciale) a cui sto lavorando al pubblico (internet). Il fatto è che, oltre agli screenshot e al trailer (per esempio funzionalità delle funzionalità), come si fa a fare una demo che può essere protetta?

Lasciami spiegare un po '. Il gioco è un gioco di ruolo multipiattaforma di questo tipo. In questo momento, il modo in cui ho codificato il gioco è che legge i dati della mappa, dei personaggi, ecc. Dai file e che decide tutto ciò che mi permette di espandere il mondo / la storia semplicemente configurando i file e aggiungendo risorse.

Cioè, la mia preoccupazione è se creo una versione demo del gioco, ovvero il gioco reale, ma poi tutte le risorse / file di configurazione / ecc vengono rimosse in modo che sia solo una demo con la primissima mappa / livello. Esiste un modo per proteggersi da qualcuno che in quel momento pubblica il datapack del gioco reale (quando viene rilasciato) e ora improvvisamente chiunque abbia la demo EXE può giocare al gioco vero?

La protezione della demo è un po 'la mia prima priorità in quanto voglio la demo là fuori per un po' prima che il vero gioco venga rilasciato. Posso sempre decidere su quali metodi di protezione scelgo dal gioco reale più tardi (prima del rilascio, ma ancora più tardi ..)

Immagino che ci sia un modo reale per proteggere il gioco in ogni caso (non voglio limitare gli utenti a dover fare alcun controllo online perché questo gioco sarà multipiattaforma e non richiederà Internet per giocarci). L'ultima cosa che voglio fare è fare casino con gli utenti legittimi. E vorrei lasciare le risorse aperte, se possibile, dal momento che ciò significa semplicemente patchare le cartelle e consentire ai modder di scherzare un po '.

Voglio dire, anche se ho impostato un sistema di licenza chiave di base, cosa impedisce davvero a 1 persona di caricare la propria chiave e una copia del gioco da qualche parte? Ho visto persone parlare di fare aggiornamenti frequenti in modo che il binario cambi e devono rompere il gioco. Ma chi ha bisogno di decifrare il gioco quando puoi ottenere 1 copia legittima e poi diffonderla?

Non sono sicuro che forse mi manchi qualcosa, sto solo cercando di assicurarmi di non esserlo. Si riduce davvero a:

  1. Slap protezione di licenza chiave di base su di esso.
  2. Rimuovere i file di asset / config dalla demo
  3. Sperare il meglio

Qualunque consiglio è apprezzato! Sono molto nuovo in tutto questo; -;)

Scusa se questo è un duplicato! Impossibile trovare molto sul concetto di demo.


Rilascialo come eseguibile che leggerà solo il file di primo livello e nessuno degli altri? È una demo non il prodotto finale. Forse potresti spiegare perché l'eseguibile della demo avrà improvvisamente piena capacità aggiungendo un "pacchetto di dati" qualunque cosa sia? Onestamente sembra che questa preoccupazione sia legittima quanto "cosa succede se qualcuno rilascia il gioco completo a qualcun altro", il che porterebbe a questa domanda sulla pirateria in generale e non solo sulla protezione della tua demo dall'aggiornamento illegittimo.
SpartanDonut,

Il codice è davvero il gioco completo, a meno che non voglia fare un ramo o qualcosa del genere. Voglio dire, ho un sacco di funzionalità e la demo che creo voglio essere qualcosa che anche dopo il rilascio gli utenti possono scaricare e giocare prima ancora di acquistare. Quindi immagino che sia lo stesso del gioco completo in un certo senso. Mi chiedo ancora se sono sulla strada giusta con quegli ultimi 3 punti elenco, ovvero non c'è molto che puoi fare. Fallo e spera per il meglio. x:
Zyaga,

Risposte:


12

Hai preso in considerazione l'hardcoding di qualcosa come un limite di tempo nella versione demo del motore?

Il fatto è che, indipendentemente da quanto proteggi la tua demo, il gioco sarà piratato in qualche modo una volta uscito. Che si tratti della demo o semplicemente del gioco principale, accadrà se il gioco è abbastanza popolare.

Le persone che non vogliono pagare per il tuo gioco non pagheranno per il tuo gioco.

Le persone che vogliono pagare per il tuo gioco pagheranno per il tuo gioco.

Questo vale per qualsiasi cosa, dal più piccolo gioco indie al più grande titolo a tripla A - l'unico modo per aggirarlo è rendere la connessione ai tuoi server non solo obbligatoria ma legata al gameplay, cioè un MMO, piuttosto che la sciocca Assassin's Credo DRM sempre online. Dato che hai già detto che non è un'opzione, ti suggerisco di abbracciarlo.

Come sviluppatore indipendente, il modo migliore per ottenere più vendite è di avere più occhi sul tuo gioco. Le persone che non sono propense alla pirateria parteciperanno alla tua demo e poi compreranno il gioco o no. Le persone che sono inclini alla pirateria possono giocare alla tua demo, trovare le risorse come hai descritto e così via, e quindi possono o meno acquistare il gioco.


Questo è praticamente come mi aspettavo. È un po 'scoraggiante, o meglio fa schifo solo quello, ma è così che va! Penso che ciò che posso fare è ramificare leggermente il codice in modo da poter giocare con il salvataggio predefinito (nessun menu di caricamento disponibile) e quindi hard code che se il gioco non riconosce la mappa principale (che ha tutte le funzionalità di base / principali disponibili in esso), quindi uscirà. Qualcuno potrebbe decifrarlo e farlo riprodurre i dati reali, ma a quel punto tireranno fuori il vero gioco con il seriale e il gioco sarà fatto. : P
Zyaga,

2
Anche se non acquistano il gioco, potrebbero avere amici che vedono il gioco, lo apprezzano e poi lo acquistano. Non sarai in grado di fermare la pirateria (nemmeno le soluzioni anti pirateria a budget elevato sono state davvero in grado di fermarlo), quindi ti suggerisco di non preoccuparti troppo. Per evitare di renderlo troppo facile, puoi hardcodificare qualcosa nell'exe demo in modo che legga solo la prima mappa, non importa quanto ci sia, o un limite di tempo come ha detto @ Amadeus9, ma poi puoi solo sperare per il meglio.
Christian,

Grazie @Christian! Più feedback che è il modo giusto di andare! ^ _ ^
Zyaga,

@ DeboleDev, tutti i punti positivi qui. Quelli che hanno seguito il percorso "troppo restrittivo" hanno solo danneggiato la loro base di clienti. I pirati sono quelli che si divertono perché tutto il DRM viene eluso entro 24 ore. Concentrati sulla qualità del gioco e sul tuo pubblico di destinazione e non puoi sbagliare :)
Moo-Juice,

Non mi innamorerei troppo di te, debole Dev. Prima di tutto, penso che stai facendo un grande passo avanti per alleviare la pirateria offrendo una demo. Penso che un grande motivo per la pirateria dei giochi indie sia la mancanza di opportunità di provarlo prima di fare il grande passo per acquistarlo. Penso che sia abbastanza comune che i giochi non demo vengano piratati come una specie di prova. L'acquisto non è affatto fuori questione se la persona ha un'esperienza positiva.
Sean O'Hollaren,

5

Non sei sicuro di cosa intendevi per "ramo" nel tuo commento, ma è possibile creare due diversi eseguibili (demo e versione completa) dallo stesso albero del codice sorgente usando la compilazione condizionale . Puoi fare un'opzione di compilazione per includere solo la possibilità di giocare al primo episodio. (Ad esempio, in C ++, è possibile utilizzare i #ifdefcomandi relativi al codice destinato solo alla versione completa.) È possibile che la versione demo produca almeno i seguenti effetti di gioco:

  • Le risorse del primo episodio vengono archiviate in un file zip e la versione demo verifica la presenza di una firma digitale su questo file zip prima di iniziare. Per usare le mod, i giocatori dovrebbero pagare per la versione completa.
  • Rimescola la codifica dei codici operativi nel codice byte di scripting durante la compilazione della demo.
  • Rimuovere completamente i gestori per uno o più codici operativi di script utilizzati solo in episodi successivi. Ciò causerà errori nei set set nei successivi episodi anche se il controllo di modifica del file e la codifica del codice operativo sono corretti.

1
Un altro trucco sarebbe codificare gli hash MD5 / SHA di ogni singolo file di livello demo nella versione demo. Questo ha il vantaggio che, mentre cambiare una singola chiave hash / signature è abbastanza facile con un editor esadecimale, aumentare il numero di hash (per aumentare il numero di livelli giocabili) è un po 'più complicato, almeno se ci sono molti altri dati che seguono loro.
Ilmari Karonen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.