การสาธิต (และเกมจริง) การป้องกัน


9

ในอีกไม่กี่เดือนฉันวางแผนที่จะเริ่มแสดงเกม (โฆษณาเชิงพาณิชย์) ที่ฉันกำลังทำอยู่ต่อสาธารณะ (อินเทอร์เน็ต) สิ่งนี้คือนอกเหนือจากภาพหน้าจอและตัวอย่าง (ฟังก์ชั่นการทำงานของคุณสมบัติ) แล้วจะมีการสาธิตการใช้งานที่สามารถป้องกันได้อย่างไร

ขออธิบายหน่อย เกมดังกล่าวเป็นเกม RPG แนวข้ามแพลตฟอร์ม ตอนนี้วิธีที่ฉันมีรหัสเกมคือมันอ่านในแผนที่ตัวละครและข้อมูลอื่น ๆ จากไฟล์และตัดสินใจทุกอย่างที่ทำให้ฉันสามารถขยายโลก / เรื่องราวเพียงแค่กำหนดค่าไฟล์และเพิ่มเนื้อหา

ความกังวลของฉันคือถ้าฉันสร้างเกมตัวอย่างซึ่งพูดว่าเป็นเกมจริง แต่หลังจากนั้นสินทรัพย์ / ไฟล์ config / etc ทั้งหมดจะถูกลบออกเพื่อที่จะเป็นเพียงตัวอย่างที่มีแผนที่ / ระดับแรก มีวิธีในการป้องกันใครสักคนแล้วปล่อยดาต้าแพ็คของเกมจริง (เมื่อวางจำหน่าย) และตอนนี้ทุกคนที่มีตัวอย่างของ EXE สามารถเล่นเกมจริงได้หรือไม่?

การป้องกันการสาธิตนั้นเป็นสิ่งสำคัญอันดับแรกของฉันเพราะฉันต้องการการสาธิตในขณะนั้นก่อนที่เกมจริงจะวางจำหน่าย ฉันสามารถตัดสินใจได้ว่าจะเลือกวิธีการป้องกันแบบใดในเกมจริงในภายหลัง (ก่อนวางจำหน่าย แต่ก็ยังภายหลัง .. )

ฉันคิดว่ามันน่าจะมีวิธีป้องกันเกมอยู่ดี (ฉันไม่ต้องการ จำกัด ให้ผู้ใช้ต้องทำการตรวจสอบออนไลน์ใด ๆ เพราะเกมนี้จะข้ามแพลตฟอร์มและไม่ต้องใช้อินเทอร์เน็ตเพื่อเล่นเกม) สิ่งสุดท้ายที่ฉันต้องการทำคือยุ่งกับผู้ใช้ที่ถูกกฎหมาย และฉันต้องการปล่อยให้สินทรัพย์เปิดถ้าเป็นไปได้เพราะนั่นหมายถึงการแก้ไขโฟลเดอร์ได้อย่างง่ายดายและทำให้ผู้ดูแลสามารถทำสิ่งเล็กน้อยได้

ฉันหมายถึงแม้ว่าฉันจะตั้งค่าระบบลิขสิทธิ์แบบพื้นฐาน แต่อะไรคือการหยุด 1 คนจากการอัพโหลดกุญแจและสำเนาของเกมที่ไหนสักแห่ง? ฉันเคยเห็นคนพูดคุยเกี่ยวกับการปรับปรุงบ่อย ๆ เพื่อให้การเปลี่ยนแปลงไบนารีและพวกเขาต้องแตกเกมอีกครั้ง แต่ใครจะต้องแตกเกมเมื่อคุณจะได้รับ 1 Legit Copy จากนั้นก็กระจายไปทั่ว?

ฉันไม่แน่ใจว่าฉันขาดอะไรไปหรือเปล่าฉันแค่พยายามทำให้แน่ใจว่าฉันไม่ได้ ไม่จริงเพียงแค่ต้มลงไปที่:

  1. ตบการป้องกันใบอนุญาตพื้นฐานที่สำคัญในนั้น
  2. ลบไฟล์ asset / config ออกจากการสาธิต
  3. หวังว่าจะดีที่สุด

คำแนะนำใด ๆ และชื่นชมทั้งหมด! ฉันใหม่ทั้งหมดนี้ -;)

ขออภัยถ้าซ้ำกัน! ไม่พบแนวคิดเกี่ยวกับการสาธิตมากนัก


ปล่อยเป็นไฟล์ปฏิบัติการที่จะอ่านไฟล์ระดับแรกเท่านั้นและไม่มีไฟล์อื่นเลย? มันเป็นการสาธิตไม่ใช่ผลิตภัณฑ์ขั้นสุดท้าย บางทีคุณอาจอธิบายได้อย่างละเอียดว่าทำไมการปฏิบัติการตัวอย่างจะมีความสามารถอย่างเต็มรูปแบบโดยการเพิ่ม "data pack" อะไรก็ตามที่เป็นเช่นนั้น? ดูเหมือนว่าความกังวลนี้จะถูกต้องตามกฎหมายอย่างแท้จริงว่า "จะเกิดอะไรขึ้นถ้ามีคนออกเกมเต็มรูปแบบให้คนอื่น" ซึ่งจะส่งผลให้คำถามนี้เกี่ยวกับการละเมิดลิขสิทธิ์โดยทั่วไปและไม่ใช่แค่ปกป้องการสาธิตของคุณจากการอัพเกรดอย่างผิดกฎหมาย
SpartanDonut

รหัสเป็นเกมที่เต็มจริงๆเว้นแต่ฉันอยากจะทำสาขาหรืออะไรซักอย่าง ฉันหมายถึงฉันมีฟังก์ชั่นการทำงานมากมายและการสาธิตที่ฉันสร้างฉันต้องการเป็นสิ่งที่แม้หลังจากผู้ใช้รีลีสสามารถดาวน์โหลดและเล่นก่อนที่พวกเขาจะซื้อ ดังนั้นฉันคิดว่ามันเหมือนกับเกมเต็ม ๆ ในแง่หนึ่ง ฉันยังคงสงสัยว่าถ้าฉันอยู่ในเส้นทางที่ถูกต้องด้วยคะแนนกระสุนนัดสุดท้ายทั้ง 3 คะแนนหรือไม่คุณไม่สามารถทำอะไรได้มากนัก แค่ทำอย่างนั้นและหวังว่าจะดีที่สุด x:
Zyaga

คำตอบ:


12

คุณเคยลองพิจารณาการทำ hardcoding อย่างเวลา จำกัด ลงในเวอร์ชั่นเดโมของเครื่องยนต์หรือไม่?

ไม่ว่าคุณจะปกป้องเดโม่ของคุณได้เท่าไหร่เกมจะถูกละเมิดลิขสิทธิ์เมื่อมันออกมา ไม่ว่าจะโดยการใช้ตัวอย่างหรือเพียงแค่ใช้เกมหลักมันจะเกิดขึ้นถ้าเกมดังพอ

คนที่ไม่ต้องการจ่ายเงินสำหรับเกมของคุณจะไม่จ่ายเงินสำหรับเกมของคุณ

ผู้ที่ต้องการจ่ายสำหรับเกมของคุณจะจ่ายสำหรับเกมของคุณ

สิ่งนี้ใช้ได้กับทุกอย่างตั้งแต่เกมอินดี้ที่เล็กที่สุดไปจนถึงเกมทริปเปิ้ลเอที่ใหญ่ที่สุด - วิธีเดียวที่จะหลีกเลี่ยงมันคือการเชื่อมต่อกับเซิร์ฟเวอร์ของคุณไม่เพียงบังคับเท่านั้น แต่เกี่ยวข้องกับเกมเพลย์เช่น MMO สร้าง DRM ออนไลน์เสมอ เนื่องจากคุณได้กล่าวไปแล้วว่าไม่ใช่ตัวเลือกฉันขอแนะนำให้คุณยอมรับ

ในฐานะนักพัฒนาอิสระวิธีที่ดีที่สุดสำหรับคุณในการสร้างยอดขายให้มากขึ้นคือการจับตาดูเกม คนที่ไม่อยากละเมิดลิขสิทธิ์จะเล่นตัวอย่างของคุณแล้วซื้อเกมหรือไม่ คนที่มีแนวโน้มที่จะละเมิดลิขสิทธิ์อาจเล่นเดโมของคุณค้นหาทรัพย์สินตามที่คุณอธิบายและต่อจากนั้นก็ยังอาจซื้อหรือไม่ซื้อเกม


มันสวยมากอย่างที่ฉันคาดไว้ มันทำให้ท้อใจเล็กน้อยหรือแค่ดูดนั่นเป็นกรณี แต่นั่นเป็นวิธีที่มันม้วน! ฉันคิดว่าสิ่งที่ฉันทำคือแยกรหัสออกมาเล็กน้อยเพื่อให้คุณสามารถเล่นค่าเริ่มต้นบันทึก (ไม่มีเมนูโหลดเลย) แล้วรหัสยากที่ถ้าเกมไม่รู้จักแผนที่หลัก (ซึ่งมีคุณสมบัติพื้นฐาน / หลักทั้งหมดที่มีอยู่ ในนั้น) จากนั้นมันจะออก มีคนสามารถถอดรหัสและให้เล่นข้อมูลจริง แต่ ณ จุดนั้นพวกเขาจะวางเกมจริงด้วยซีเรียลและเสร็จสิ้น : P
Zyaga

2
แม้ว่าพวกเขาจะไม่ซื้อเกม แต่พวกเขาอาจมีเพื่อนที่เห็นเกมชอบแล้วซื้อ คุณจะไม่สามารถหยุดการละเมิดลิขสิทธิ์ได้ (แม้จะไม่ใช่โซลูชั่นการต่อต้านการละเมิดลิขสิทธิ์ที่มีงบประมาณมาก แต่ก็สามารถหยุดยั้งได้) ดังนั้นฉันขอแนะนำให้คุณไม่ต้องกังวลเกี่ยวกับเรื่องนี้มากเกินไป เพื่อหลีกเลี่ยงการทำให้มันง่ายเกินไปคุณสามารถ hardcode บางอย่างลงในเดโม exe เพื่อที่จะอ่านแผนที่แรกไม่ว่าจะอยู่ที่นั่นมากแค่ไหนหรือมีการ จำกัด เวลาเช่น @ Amadeus9 แต่คุณสามารถหวังได้อย่างสุดความสามารถ
คริสเตียน

ขอบคุณ @ คริสเตียน! ข้อเสนอแนะเพิ่มเติมที่เป็นวิธีที่ถูกต้องไป! ^ _ ^
Zyaga

@ WeakDev ทุกจุดที่ดีที่นี่ ผู้ที่ลงเส้นทาง "จำกัด มากเกินไป" ได้ทำร้ายฐานลูกค้าของพวกเขาเท่านั้น โจรสลัดเป็นคนที่มีช่วงเวลาที่ง่ายเนื่องจาก DRM ทั้งหมดถูกหลบเลี่ยงภายใน 24 ชั่วโมง มุ่งเน้นไปที่คุณภาพของเกมและกลุ่มเป้าหมายของคุณและคุณจะไม่ผิดพลาด :)
Moo-Juice

ฉันจะไม่ทำให้ตัวเองอ่อนแอเกินไป ก่อนอื่นฉันคิดว่าคุณกำลังก้าวเข้าสู่การบรรเทาปัญหาการละเมิดลิขสิทธิ์โดยการเสนอตัวอย่างเลย ฉันคิดว่าเหตุผลสำคัญสำหรับการละเมิดลิขสิทธิ์เกมอินดี้คือการไม่มีโอกาสลองใช้ก่อนที่จะรีบซื้อ ฉันคิดว่าเป็นเรื่องธรรมดาที่เกมละเมิดลิขสิทธิ์จะถูกละเมิดลิขสิทธิ์เป็นเกมทดลองใช้ การซื้อไม่ได้เกิดจากคำถามหากบุคคลนั้นมีประสบการณ์เชิงบวก
Sean O'Hollaren

5

ไม่แน่ใจว่าสิ่งที่คุณหมายโดย "สาขา" ในความคิดเห็นของคุณ แต่มันเป็นไปได้ที่จะทำให้ทั้งสอง executables ที่แตกต่างกัน (สาธิตและเวอร์ชันเต็ม) จากแหล่งต้นไม้รหัสเดียวกันโดยใช้รวบรวมเงื่อนไข คุณสามารถรวบรวมเวลาเพื่อรวมเฉพาะความสามารถในการเล่นตอนแรกเท่านั้น (ตัวอย่างเช่นใน C ++ คุณอาจใช้#ifdefคำสั่งเกี่ยวกับรหัสที่มีไว้สำหรับรุ่นเต็มเท่านั้น) คุณสามารถให้รุ่นสาธิตสร้างผลการเล่นเกมอย่างน้อยดังต่อไปนี้:

  • เนื้อหาของตอนแรกจะถูกเก็บไว้ในไฟล์ zip และเวอร์ชั่นเดโมจะตรวจสอบลายเซ็นดิจิทัลในไฟล์ zip นี้ก่อนเริ่ม หากต้องการใช้ mods ผู้เล่นจะต้องจ่ายค่าเวอร์ชั่นเต็ม
  • สลับการเข้ารหัส opcode ในโค้ดสคริปต์ของคุณเมื่อรวบรวมการสาธิต
  • ลบตัวจัดการสำหรับ opcodes สคริปต์ตั้งแต่หนึ่งตัวขึ้นไปที่ใช้ในตอนต่อไปเท่านั้น สิ่งนี้จะทำให้ชิ้นส่วนในตอนต่อมาล้มเหลวแม้ว่าการตรวจสอบการแก้ไขไฟล์และการเข้ารหัส opcode จะได้รับการแก้ไข

1
เคล็ดลับอีกอย่างหนึ่งคือการแฮชรหัสแฮช MD5 / SHA ของไฟล์ระดับการสาธิตแต่ละไฟล์ให้เป็นเวอร์ชั่นสาธิต นี่เป็นข้อได้เปรียบที่ในขณะที่เพียงแค่เปลี่ยนรหัสแฮช / ลายเซ็นเดียวนั้นค่อนข้างง่ายด้วยตัวแก้ไขเลขฐานสิบหกการเพิ่มจำนวนของแฮช (เพื่อเพิ่มจำนวนระดับที่เล่นได้) นั้นค่อนข้างยากกว่าอย่างน้อยหากมีข้อมูลอื่น ๆ พวกเขา
Ilmari Karonen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.