Ochrona wersji demonstracyjnej (i prawdziwej gry)

9

Za kilka miesięcy planuję zacząć pokazywać (mam nadzieję komercyjną) grę, nad którą pracuję publicznie (internet). Chodzi o to, że oprócz zrzutów ekranu i zwiastuna (powiedzmy funkcji), w jaki sposób właściwie zrobić demo, które można chronić?

Pozwól, że ci wyjaśnię. Ta gra jest swego rodzaju wieloplatformową grą RPG. W tej chwili mam kodowaną grę, która odczytuje dane z map, postaci itp. Z plików i decyduje o wszystkim, co pozwala mi rozwinąć świat / historię tylko przez pliki konfiguracyjne i dodawanie zasobów.

Oznacza to, że martwię się, jeśli stworzę wersję demonstracyjną gry, czyli prawdziwą grę, ale wtedy wszystkie zasoby / pliki konfiguracyjne / itp. Zostaną usunięte, więc będzie to tylko wersja demonstracyjna z pierwszą mapą / poziomem. Czy istnieje sposób, aby uchronić się przed kimś, kto wyda wtedy pakiet danych prawdziwej gry (po wydaniu), a teraz nagle każdy, kto ma wersję demo, może zagrać w prawdziwą grę?

Ochrona wersji demo jest moim pierwszym priorytetem, ponieważ chcę wersję demo na chwilę przed wydaniem prawdziwej gry. Zawsze mogę zdecydować, jakie metody ochrony wybiorę z prawdziwej gry później (przed wydaniem, ale nadal później ...)

Wydaje mi się, że sprowadza się to do tego, czy istnieje jakikolwiek realny sposób ochrony gry (nie chcę ograniczać użytkowników do konieczności przeprowadzania jakichkolwiek kontroli online, ponieważ ta gra będzie wieloplatformowa i nie wymaga internetu do grania). Ostatnią rzeczą, którą chcę zrobić, jest bałagan z legalnymi użytkownikami. I chciałbym pozostawić zasoby otwarte, jeśli to możliwe, ponieważ oznacza to po prostu łatanie folderów i pozwalanie modderom na trochę bałaganu.

Chodzi mi o to, że nawet jeśli skonfiguruję podstawowy system licencji na klucze, co tak naprawdę powstrzymuje 1 osobę przed przesłaniem gdzieś klucza i kopii gry? Widziałem ludzi mówiących o robieniu częstych aktualizacji, aby zmiany binarne musiały ponownie przełamać grę. Ale kto w ogóle musi włamać się do gry, kiedy możesz zdobyć 1 legalną kopię, a następnie ją rozpowszechniać?

Nie jestem pewien, czy może coś mi umknęło, staram się tylko upewnić, że nie. Czy to po prostu sprowadza się do:

  1. Uderz w nią podstawową ochroną licencji.
  2. Usuń pliki zasobów / konfiguracji z wersji demonstracyjnej
  3. Mieć nadzieję na najlepsze

Wszelkie porady są mile widziane! Jestem bardzo nowy w tym wszystkim; -;)

Przepraszam, jeśli to duplikat! Nie mogłem znaleźć wiele na temat koncepcji demo.

Zyaga
źródło
Zwolnić go jako plik wykonywalny, który będzie czytał tylko plik pierwszego poziomu i żaden z pozostałych? To demo, a nie produkt końcowy. Może mógłbyś wyjaśnić, dlaczego plik wykonywalny demonstracji będzie nagle miał pełne możliwości, dodając „pakiet danych”, cokolwiek to jest? Brzmi szczerze, że obawa jest tak uzasadniona, jak „co, jeśli ktoś wyda pełną wersję gry komuś innemu”, co spowodowałoby, że to pytanie dotyczyłoby ogólnie piractwa, a nie tylko chroniło twoje demo przed nielegalnym uaktualnieniem.
SpartanDonut
Kod to naprawdę pełna gra, chyba że chcę zrobić oddział lub coś takiego. Mam na myśli, że mam już dużo wykonanych funkcji, a stworzone przeze mnie demo chcę być czymś, co nawet po wydaniu użytkownicy mogą pobrać i grać, zanim jeszcze kupią. Myślę, że w pewnym sensie jest to to samo, co pełna gra. Nadal zastanawiam się, czy jestem na dobrej drodze z tymi trzema ostatnimi punktami, czyli niewiele można zrobić. Po prostu zrób to i miej nadzieję na najlepsze. x:
Zyaga,

Odpowiedzi:

12

Czy zastanawiałeś się nad zakodowaniem na stałe czegoś w rodzaju wersji demo silnika?

Chodzi o to, że bez względu na to, jak bardzo chronisz swoje demo, gra zostanie w jakiś sposób piracka, gdy tylko się pojawi. Niezależnie od tego, czy używasz wersji demonstracyjnej, czy tylko głównej gry, stanie się tak, jeśli gra będzie wystarczająco popularna.

Ludzie, którzy nie chcą płacić za twoją grę , nie płacą za nią.

Ludzie, którzy chcą zapłacić za grę , zapłacą za nią.

Odnosi się to do wszystkiego, od najmniejszej niezależnej gry po największy tytuł potrójnego A - jedynym sposobem na obejście tego jest uczynienie łączenia się z twoimi serwerami nie tylko obowiązkowym, ale związanym z rozgrywką, tj. MMO, a nie głupim Zabójcą Creed zawsze online DRM. Ponieważ już powiedziałeś, że to nie jest opcja, proponuję, abyś to zaakceptował.

Jako niezależny programista najlepszym sposobem na zwiększenie sprzedaży jest zwrócenie większej uwagi na grę. Ludzie, którzy nie są skłonni do piractwa, zagrają w twoje demo, a następnie albo kupią grę, albo nie. Ludzie skłonni do piractwa mogą zagrać w twoje demo, znaleźć zasoby zgodnie z opisem i tak dalej, a następnie nadal mogą kupić grę.

Tin Wizard
źródło
To jest prawie tak, jak się spodziewałem. To jest trochę przygnębiające, a raczej po prostu do bani, że tak jest, ale tak właśnie się dzieje! Myślę, że mogę nieco rozgałęzić kod, abyś mógł zagrać w domyślny zapis (brak menu ładowania w ogóle), a następnie w twardy kod, który jeśli gra nie rozpozna głównej mapy (która ma wszystkie dostępne podstawowe / główne funkcje) w nim), a następnie zakończy działanie. Ktoś może go złamać i sprawić, by odtworzył prawdziwe dane, ale w tym momencie po prostu wypuści prawdziwą grę z serią i gotowe. : P
Zyaga,
2
Nawet jeśli nie kupią gry, mogą mieć przyjaciół, którzy ją zobaczą, a potem ją kupią. Nie będziesz w stanie powstrzymać piractwa (nawet duże budżetowe rozwiązania antypirackie naprawdę nie były w stanie go zatrzymać), więc sugeruję, abyś nie przejmował się tym zbytnio. Aby uniknąć tworzenia się zbyt łatwe, można zakodować coś do exe demo tak, że czyta tylko pierwszą mapę bez względu na to, ile jest tam, albo termin jak @ Amadeus9 powiedział, ale wtedy można tylko mieć nadzieję na najlepsze.
Christian
Dzięki @Christian! Więcej opinii, że jest to właściwy sposób! ^ _ ^
Zyaga,
@WeakDev, wszystkie dobre punkty tutaj. Ci, którzy poszli tą „zbyt restrykcyjną” drogą, tylko zaszkodzili ich klientom. Piraci mają łatwy czas, ponieważ wszystkie DRM są obchodzone w ciągu 24 godzin. Skoncentruj się na jakości gry i grupie docelowej, a nie możesz się pomylić :)
Moo-Juice
Nie zrażałbym się zbytnio, Weak Dev. Po pierwsze, myślę, że robisz całkiem duży krok w kierunku złagodzenia piractwa, oferując w ogóle wersję demonstracyjną. Myślę, że głównym powodem piractwa gier niezależnych jest brak możliwości wypróbowania go przed podjęciem decyzji o zakupie. Myślę, że piractwo gier nie będących wersjami demonstracyjnymi jest dość powszechne. Kupowanie wcale nie jest wykluczone, jeśli dana osoba ma pozytywne doświadczenia.
Sean O'Hollaren
5

Nie jestem pewien, co rozumiesz przez „gałąź” w swoim komentarzu, ale możliwe jest utworzenie dwóch różnych plików wykonywalnych (demo i pełnej wersji) z tego samego drzewa kodu źródłowego przy użyciu kompilacji warunkowej . Możesz ustawić opcję czasu kompilacji, aby uwzględnić tylko możliwość odtworzenia pierwszego odcinka. (Na przykład w C ++ możesz użyć #ifdefpoleceń dookoła kodu przeznaczonych tylko dla pełnej wersji). Może się zdarzyć, że wersja demonstracyjna wygeneruje co najmniej następujące efekty rozgrywki:

  • Zasoby pierwszego odcinka są przechowywane w pliku zip, a wersja demo sprawdza, czy podpis cyfrowy na tym pliku zip przed rozpoczęciem. Aby korzystać z modów, gracze musieliby zapłacić za pełną wersję.
  • Przetasuj kodowanie kodów operacyjnych w swoim bajtkowym kodzie skryptowym podczas kompilowania wersji demonstracyjnej.
  • Całkowicie usuń programy obsługi jednego lub więcej kodów skryptów używanych tylko w późniejszych odcinkach. Spowoduje to, że ustawione elementy w późniejszych odcinkach zawiodą, nawet jeśli sprawdzanie modyfikacji pliku i kodowanie opcode zostaną załatane.
Damian Yerrick
źródło
1
Jeszcze jedną sztuczką byłoby zakodowanie skrótów MD5 / SHA każdego pliku poziomu demonstracyjnego w wersji demonstracyjnej. Ma to tę zaletę, że chociaż zmiana pojedynczego klucza skrótu / podpisu jest dość łatwa w edytorze szesnastkowym, zwiększenie liczby skrótów (w celu zwiększenia liczby poziomów grywalnych) jest nieco trudniejsze, przynajmniej jeśli jest wiele innych danych im.
Ilmari Karonen