Демо (і реальна гра) Захист


9

Через кілька місяців я планую почати демонструвати (сподіваюсь, комерційну) гру, над якою працюю перед громадськістю (Інтернет). Річ у тому, що, окрім скріншотів та трейлера (скажімо, функціональної функції), як правильно можна зробити демо-версію, яку можна захистити?

Дозвольте мені трохи пояснити. Гра є крос-платформою RPG свого роду. Зараз у мене гра закодована, це те, що вона читає з карт, символів тощо дані з файлів і вирішує все, що дозволяє мені розширити світ / історію лише за допомогою конфігураційних файлів та додавання активів.

Це означає, що я хвилююся, якщо я роблю демо-версію гри, яка є реальною грою, але потім всі активи / файли конфігурації / тощо видаляються, так що це просто демонстрація з першою картою / рівнем. Чи є спосіб захиститись від когось тільки тоді, вивівши пакет даних реальної гри (коли буде випущено), і тепер раптом кожен, хто має демонстраційний EXE, може грати у справжню гру?

Демо-захист є свого роду моїм першочерговим завданням, тому що я хочу демонстрацію там на деякий час до виходу реальної гри. Я завжди можу вирішити, які методи захисту я виберу з реальної гри пізніше (до виходу, але все ж пізніше ..)

Я думаю, що це зводиться до того, чи існує який-небудь реальний спосіб захисту гри в будь-якому випадку (я не хочу обмежувати користувачів тим, щоб робити будь-які онлайн-перевірки, тому що ця гра буде крос-платформою і не потребуватиме Інтернет, щоб її грати). Останнє, що я хочу зробити - це возитися з законними користувачами. І я хотів би залишити активи відкритими, якщо це можливо, це просто означає, що легко виправляти папки та дозволяти модерам трохи псуватися.

Я маю на увазі, навіть якщо я встановив базову ліцензійну систему, що насправді не дозволяє одній людині десь завантажити свій ключ та копію гри? Я бачив, як люди говорять про часті оновлення, так що бінарні зміни змінюються, і їм доведеться переламати гру. Але кому взагалі потрібно зламати гру, коли ви можете отримати 1 легальну копію, а потім поширити її?

Я не впевнений, якщо, можливо, мені щось не вистачає, я просто намагаюся переконатися, що я цього не роблю. Це дійсно просто зводиться до:

  1. Отримайте на ньому захист ліцензії основного ключа.
  2. Видаліть активні / конфігураційні файли з демонстрації
  3. Сподіваюся на краще

Будь-яка порада цінується! Я дуже новачок у всьому цьому; -;)

Вибачте, якщо це дублікат! Не вдалося знайти багато в демонстраційній концепції.


Випустіть його як виконуваний файл, який читатиме лише файл першого рівня та жоден з інших? Це демонстрація, а не кінцевий продукт. Можливо, ви могли б пояснити, чому демо-виконуваний файл раптово матиме всі можливості, додавши «пакет даних», що б це не було? Відверто звучить, що ця стурбованість є настільки законною, як "що, якщо хтось випустить повну гру комусь іншому", що призведе до того, що це питання стосується піратства взагалі, а не просто захисту вашого демо від незаконного оновлення.
SpartanDonut

Код справді є повноцінною грою, якщо я не хочу робити гілку чи щось таке. Я маю на увазі, що у мене багато функцій, і я створюю демонстрацію, я хочу бути тим, що навіть після випуску користувачі можуть завантажувати та грати, перш ніж вони навіть купують. Тож я здогадуюсь, що це певна гра, як певна гра. Мені все ще цікаво, чи я на правильному шляху з цими трьома останніми пунктами кулі, так само не багато чого можна зробити. Просто роби це і сподівайся на найкраще. x:
Zyaga

Відповіді:


12

Чи розглядали ви жорстке кодування чогось такого, як обмеження часу в демо-версії двигуна?

Річ у тім, скільки б ви не захищали свою демонстрацію, гра як-небудь піратська, як тільки вона вийде. Будь то за допомогою демонстрації чи просто за допомогою основної гри, це станеться, якщо гра буде досить популярною.

Люди, які не хочуть платити за вашу гру , не будуть платити за неї.

Люди, які хочуть платити за вашу гру , заплатять за її гру.

Це стосується всього, від найменшої інді-гри до найбільшої потрійної назви A - про єдиний спосіб обійти її - зробити підключення до своїх серверів не лише обов'язковим, але пов’язаним з ігровим процесом, тобто MMO, а не дурним Assassin's Створено завжди онлайн-DRM. Оскільки ви вже говорили, що це не варіант, я пропоную вам прийняти це.

Як незалежний розробник, найкращий спосіб отримати більше продажів - це отримати більше поглядів на свою гру. Люди, не схильні до піратства, будуть грати у вашу демонстрацію, а потім купувати гру чи ні. Люди, схильні до піратства, можуть грати у вашу демонстрацію, знаходити активи, як ви описали тощо, а потім все-таки можуть або не можуть купувати гру.


Це майже так, як я очікував. Це трохи зневажливо, а точніше просто смокче, що це так, але це просто так, як воно котиться! Я думаю, що я можу зробити - це злегка розв'язати код, щоб ви могли грати збереження за замовчуванням (меню завантаження зовсім не доступне), а потім жорсткий код, який, якщо гра не розпізнає головну карту (яка має всі основні / основні функції, доступні в ньому), тоді він вийде. Хтось міг би зламати його і змусити його відтворювати реальні дані, але в цей момент вони просто викладуть реальну гру з серійною програмою і будуть зроблені. : P
Zyaga

2
Навіть якщо вони не купують гру, вони можуть мати друзів, які бачать гру, подобається, а потім купують її. Ви не зможете припинити піратство (навіть великі бюджетні рішення щодо боротьби з піратством справді не змогли його зупинити), тому я пропоную вам не надто турбуватися про це. Щоб не зробити це занадто просто, ви можете жорстко закодувати щось у демо-версію, щоб вона читала лише першу карту, незалежно від того, скільки там є, або обмеження часу, як сказано @ Amadeus9, але тоді ви можете лише сподіватися на найкраще.
Крістіан

Дякую @Christian! Більше відгуків, що це правильний шлях! ^ _ ^
Zyaga

@WeakDev, всі хороші моменти тут. Ті, хто спустився "надмірно обмежуючим" маршрутом, лише зашкодили клієнтській базі. Пірати - це ті, що мають легкий час, оскільки весь DRM обходить протягом 24 годин. Концентруйтеся на якості гри та на своїй цільовій аудиторії, і ви не можете помилитися :)
Moo-Juice

Я б не надто нападав на себе, Слабкий Дев. Перш за все, я думаю, що ви робите досить великий крок до зменшення піратства, пропонуючи демонстрацію взагалі. Я думаю, що великою причиною піратства в Інді є відсутність можливості спробувати його перед тим, як скористатися, щоб придбати його. Я думаю, що для недемографічних ігор досить піратські пірати як певна проба. Купувати це зовсім не можна, якщо людина має позитивний досвід.
Шон О'Холларен

5

Не впевнений, що ви мали на увазі під "відділенням" у своєму коментарі, але можливо зробити два різних виконуваних файлів (демо та повну версію) з одного дерева вихідного коду, використовуючи умовну компіляцію . Можна скласти варіант компіляції, щоб включити лише можливість відтворення першого епізоду. (Наприклад, в C ++ ви можете використовувати #ifdefкоманди навколо коду, призначеного лише для повної версії.) Демо-версія може створити принаймні такі ефекти гри:

  • Активи активів першого епізоду зберігаються у zipfile, і демо-версія перевіряє наявність цифрового підпису на цьому zipfile перед запуском. Щоб користуватися модами, гравцям доведеться заплатити за повну версію.
  • Перестановіть кодування опкодів у байт-коді сценарію при складанні демонстраційної версії.
  • Повністю видаліть обробники для одного або декількох кодів сценарію, які використовуються лише в пізніших епізодах. Це призведе до виходу з ладу наборів у пізніших епізодах, навіть якщо перевірка модифікації файлу та кодування опкоду виправлені.

1
Ще однією хитрістю було б жорстке кодування хешів MD5 / SHA кожного окремого файлу демо-версії в демо-версію. Перевага полягає в тому, що, хоча змінити один хеш-ключ / підпис досить просто з шестигранним редактором, збільшення кількості хешей (щоб збільшити кількість відтворюваних рівнів) дещо складніше, принаймні, якщо багато інших даних їх.
Ільмарі Каронен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.