เนื้อหาที่เข้ารหัสในเกม


45

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

ลองนึกภาพห้องลับที่ผู้เล่นต้องกดหมายเลขที่ถูกต้องบนประตูรักษาความปลอดภัยในเกมซึ่งหากถูกต้องควรสร้างคีย์ถอดรหัสที่ถูกต้องแล้วถอดรหัสส่วนนั้นของระดับและเปิดประตู ดังนั้นการทำไข่อีสเตอร์จึงไม่สามารถเข้าถึงได้แม้ว่าจะมองผ่านข้อมูลเกมตั้งแต่กุญแจไม่ได้ถูกจัดเก็บจริงมันสร้างขึ้นตามการป้อนข้อมูลของผู้ใช้

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

ผู้เล่นหากมีความรู้สามารถเป็นไปได้ที่จะบังคับให้มัน "ง่าย" เดียรัจฉานเพราะจำนวนของการแก้ปัญหาอาจน้อยกว่าจำนวนคีย์ถอดรหัส มันเป็นเรื่องซับซ้อนของตัวต่อและไม่สำคัญมากที่นี่ แม้ว่าฉันจะโพสต์คำตอบเกี่ยวกับที่นี่

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

แก้ไข : มันอาจจะไม่ชัดเจนว่าสิ่งที่ฉันพูดดังนั้นนี่คือตัวอย่างที่เป็นรูปธรรมมากขึ้น

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

ดังนั้นด้วยชุดค่าผสมที่เป็นไปได้ 2 * 10 ^ 28 เพื่อลองอาจเป็นไปได้ว่าผู้คนจะค้นหาเนื้อหาในแบบที่ควรจะเป็นมากกว่าโดยดูจากข้อมูลเกม

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

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

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


56
รู้รอบมุ่งเน้นไปที่รายละเอียดทางเทคนิค แต่ถ้าเป้าหมายของคุณคือการซ่อนสปอยเลอร์ให้พิจารณาว่าข้อมูลนี้จะมีให้โดยการเล่นเกมณ จุดนี้ (ถ้าเกมของคุณโด่งดัง) มันจะตรงไปที่บทความ Wikia สำหรับทุกคน อ่านเล่นหรือไม่
Leushenko


5
นี่ไม่ใช่ผลิตภัณฑ์ที่ให้ความบันเทิงมากเกินไปใช่ไหม ฉันหมายถึงผู้คนสามารถได้รับ "กุญแจ" โดยดูจากคำแนะนำหรือลองเล่นหรือถามคนที่เล่นแล้ว นอกจากนี้เกมอาจมีข้อผิดพลาดเกิดขึ้นได้ง่ายขึ้นเนื่องจากวิธีการ "จัดการไม่ชัดเจน" นี้ มิฉะนั้นฉันชอบความคิดและมันจะเป็นกลไกที่ดี แต่ก็ยังไม่หยุดคนจากการแฮ็ค / การโกง แต่ทำให้มันยากขึ้น
BlueWizard

3
ฉันคิดว่ามันจะเจ๋งเป็นพิเศษหากผู้ใช้ของคุณรู้จักการแฮ็คเกมของคุณและปริศนานั้นยากมากจริงๆ คุณสามารถจินตนาการในฟอรัม "ไฟล์นี้เป็นไฟล์ที่เข้ารหัสลับอะไร"
PyRulez

5
@PyRulez อ่าใช่! นั่นคือแรงจูงใจหลักของฉันที่อยู่เบื้องหลังสิ่งนี้ ฉันเกลียดเมื่อรัฐบาลที่น่ารำคาญเหล่านั้นต้องผ่านไฟล์เกมเพื่อค้นหาไข่อีสเตอร์ทั้งหมด ทั้งหมดเพื่อให้พวกเขาสามารถโพสต์ไว้ในฟอรัมศัตรูและทำลายศีลธรรมของประเทศ
Christer

คำตอบ:


90

คำถามนี้ถามว่าเป็นไปได้หรือไม่ (ไม่ใช่แค่การทำงานเชิงพาณิชย์หรือการตีความอื่น ๆ ) เพื่อบังคับให้ผู้ใช้อย่างน้อย 1 คนแก้ปริศนาแทนการแฮ็คเพื่อปลดล็อกเนื้อหาเกมบางอย่าง

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

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

ด้วยความเคารพว่าเป็นไปได้หรือไม่คำตอบคือใช่แน่นอนนี่เป็นไปได้


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

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

3
ฉันคิดว่าประเด็นหลักคือจริงๆแล้วมันเป็นไปได้ที่จะบังคับให้ผู้ใช้คนเดียวแก้ปริศนาเพราะคนแรกสามารถบอกคนอื่นได้ ซึ่งทำให้จุดรวมของการเข้ารหัสลับถูกปิดเสียง
cmaster

4
ด้วยซอร์สโค้ด (หรือstringsบนเอ็กซีคิ้วท์ได้), ปริศนาเช่น "สัตว์ที่ใหญ่ที่สุดคืออะไร ... ?" อาจยังต้องได้รับการแก้ไขโดยผู้เล่น / แฮ็กเกอร์ แต่อย่างน้อยเขาก็สามารถหลีกเลี่ยงการเดินทางที่อันตรายไปยังสถานที่ในเกมที่มีคำถามเกิดขึ้น ดังนั้นปริศนาตัวเองก็ควรจะซ่อนอยู่บ้าง (ข้อความเป็นกราฟิกอาจจะพอเพียงอย่างละเอียดฉันคิดว่าฉันจำเกมที่มีวัตถุ 3 มิติปกติเมื่อดูจากจุดที่เฉพาะเจาะจงรวมมุมมองกับการแก้ปริศนาหรือสิ่งสำคัญอื่น ๆ ข้อมูล ... )
Hagen von Eitzen

4
คำพูดที่ให้ไว้เช่น "นี่อาจจะเป็นการทำลายสำหรับทุกคนหากโพสต์ออนไลน์" จากคำถามเดิม ... ขออภัย แต่คำตอบนี้หายไป มันจะเป็นเพียงแค่เป็นความเสี่ยงที่จะทำลายมันสำหรับทุกคนถ้าคำตอบหรือถอดรหัสไฟล์หรือสิ่งที่จะโพสต์และเป็นเพียงแค่เป็นความเสี่ยงที่จะโพสต์ไว้
Nathan Tuggy

57

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

มันถูกเรียกว่า "ปัญหาพื้นฐานของการเข้ารหัส": อลิซต้องการส่งข้อความถึงบ็อบโดยที่ชาร์ลีไม่สามารถอ่านได้แม้ว่าเขาจะได้รับการดูแลแล้วก็ตาม ปัญหาของแนวทางที่คุณเสนอคือBob และ Charlie เป็นบุคคลเดียวกันในกรณีนี้

ฉันสามารถเข้าใจความต้องการที่จะไม่ทำลายผู้ใช้ของคุณ แต่ถ้าผู้คนต้องการสปอยเลอร์พวกเขาจะพบพวกเขาและหากพวกเขาไม่ทำพวกเขาจะมีแนวโน้มที่จะหลีกเลี่ยงสปอยเลอร์ แต่ถ้าคุณต้องการสร้างเกมที่ยอดเยี่ยมอย่างแท้จริงให้ไปในเส้นทางตรงกันข้าม: การเปิดกว้าง ดูสิ่งต่าง ๆ เช่นNeverwinter Nights , Starcraftหรือซีรีส์Elder Scrollsเกมที่ได้รับความนิยมมานานหลายปีและหลายปีหลังจากการเปิดตัว พวกเขาทำเช่นนั้นเพราะพวกเขาจัดส่งเครื่องมือออกแบบที่ทรงพลังกับเกมที่อนุญาตให้ผู้ใช้ขุดลงไปในทุกสิ่ง, คิดออกว่ามันทำงานอย่างไรและสร้างและแบ่งปันเนื้อหาของพวกเขาเอง เกมเป็นเพียงเกมจนกว่าจะกลายเป็นชุมชนและชุมชนต้องทน


3
ในกรณีนี้แม้ว่าการถอดรหัสจะแตกต่างไปจากการเขียนบอทที่ไขปริศนาได้ อาจจะยากกว่าการเล่นเกมจนจบและจดคำตอบ
Ewan

15
ฉันแค่อยากจะบอกว่าคำตอบนี้ไม่ได้ตอบคำถามของฉัน! ฉันต้องการให้ผู้คน "ถอดรหัสรหัส" หรือแก้ปริศนาของฉันแทน นั่นคือประเด็นทั้งหมดและใช่เมื่อมีคนคิดออกฉันไม่สามารถหยุดเขาจากการแบ่งปันโซลูชันฉันไม่ได้พยายาม อย่างไรก็ตามคุณผิดที่บอกว่า "จะต้องมีข้อมูลทั้งหมดที่จำเป็นในการถอดรหัส" เนื่องจากข้อมูลทั้งหมดนี้เป็นข้อมูลที่ได้รับจากผู้ใช้ อ่านคำถามที่ได้รับการอัพเดทเพื่อรับรายละเอียด
Christer

6
@Christer มันไม่และนี่คือเหตุผล: เมสันไม่ว่าจะเป็นคนที่ใส่ใจถ้าพวกเขาจะได้รับเป็นไฟล์เกมที่จะหาคำตอบปริศนาเพราะมีเพียงส่วนน้อยที่จริงจะทำมัน ..
บ้า

9
@JonasDralle นั่นเป็นมุมมองที่ดูถูกเหยียดหยามและมันก็ไม่เป็นความจริง ชุมชนที่เข้มแข็งและยืนยงที่สร้างขึ้นรอบ ๆMorrowind and Oblivionไม่ได้ขัดขวางSkyrimจากการขาย ถ้ามีอะไรก็ทำให้ประสบความสำเร็จมากขึ้น!
Mason Wheeler

3
@Cronax หากคุณใช้การเข้ารหัสแบบ "ครั้งเดียว" ในกรณีนี้คือกุญแจไขปริศนาผู้โจมตีของคุณไม่มีทางเลือกที่ดีไปกว่าการใช้ขนาดคีย์ในพื้นที่ ด้วยประเภทของปริศนาที่เหมาะสมที่อาจมีขนาดใหญ่อย่างไม่มีข้อแม้ที่จะแก้ปัญหาภายในอายุขัยของจักรวาล และถ้าไข่อีสเตอร์คือข้อความจากนักพัฒนาผู้โจมตีจะไม่มีวิธีแยกแยะข้อความจริงจากการสุ่มแก้ไขอย่างถูกต้อง
Ben Aaronson

10

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

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

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


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

ตรวจสอบ soomla และวิธีการใช้เหรียญ
Ewan

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

1
ตั้งแต่นี้เป็นเรื่องเกี่ยวกับไข่อีสเตอร์, การดึงดูดความสนใจคือว่าสิ่งที่คุณต้องการ
PyRulez

6
ทำให้มันยากก็จะดึงดูดผู้คนมุ่งมั่นมากขึ้นผมคิดว่านี่เป็นกลยุทธ์ทางการตลาดที่ดีสำหรับการเล่นเกม :)
sampathsris

9

เหตุผลหลักที่ทำให้สิ่งนี้ควรอยู่ใน gamedev.SE คือการเข้ารหัสนี้มีผลต่อการเล่นเกม

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

และนี่คือผลที่ตามมา การถอดรหัสมักเป็นเลขฐานสอง ไม่ว่าคุณจะมีคีย์ถอดรหัสที่แน่นอนที่จำเป็นในการยกเลิกการเข้ารหัสข้อมูลหรือคุณไม่มี

ผลที่ตามมาคือเกมใดก็ตามที่คุณออกแบบจะต้องมุ่งเน้นอย่างแคบ ๆ จนมีวิธีแก้ปัญหาเดียวที่เป็นไปได้ในทุกระดับ ดังนั้นกลไกของปริศนาของคุณจะต้องได้รับการออกแบบอย่างระมัดระวังเพื่อที่ผู้เล่นจะไม่สามารถไขปริศนาด้วยวิธีที่แตกต่างจากความตั้งใจของคุณ

ยกตัวอย่างเช่น Portal, Test Chamber 10 คุณควรจะไปทางซ้ายทำบางสิ่งจากนั้นไปทางขวาและทำบางสิ่งเพื่อลดแพลตฟอร์ม

หรือคุณสามารถให้ความเร็วกับตัวเองและพุ่งตัวเองขึ้นไปบนชานชาลาเมื่อคุณเดินเข้าไป

GLaDOS: คุณทำเกมตัวต่อแล้ว เกมปริศนาที่ลงโทษคนที่ชอบเล่นเกมไขปริศนามากที่สุด ทำได้ดีมาก แต่อย่างน้อยแฮ็กเกอร์เหล่านั้นจะไม่ได้รับข้อมูลที่มีค่าของคุณ เพราะคนที่สนุกกับการไขเกมปริศนาเป็นคนประเภทที่แน่นอนที่ค้นหาวิธีแก้เกมปริศนาออนไลน์

ดังนั้นมันจึงคุ้มค่าอย่างยิ่ง

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

GLaDOS: คุณทำเกมตัวต่อแล้ว เกมที่ผู้เล่นที่ชอบค้นหาวิธีแก้ปัญหาที่สร้างสรรค์เพื่อไขปริศนา และคุณสร้างเกมที่ไม่มีวิธีแก้ปริศนาที่สร้างสรรค์ * ช้าตบมือ *

ฉันไม่ได้บอกว่าคุณไม่สามารถสร้างเกมดังกล่าวได้ หรือว่าเกมดังกล่าวไม่ดี เฉพาะที่เกมดังกล่าวจะต้องได้รับการออกแบบในลักษณะที่แน่นอน

Oh, และคุณมีการออกแบบการเล่นเกมนี้เช่นที่มันเป็นไปไม่ได้ (หรือยากสูง) เพื่อกลไกหาทางออก

GLaDOS: คุณทำเกมตัวต่อแล้ว เกมปริศนาที่น่าสนใจที่จะแฮกมากกว่าที่จะเล่น ทำได้ดีมาก


แน่นอนว่ามีหนึ่งข้อแม้ต่อสิ่งนี้: ความหมายของ "การแก้ปัญหา" หรืออีกประเด็นคุณพิจารณาองค์ประกอบของการแก้ปัญหาอย่างไร

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

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

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

ทุกวันนี้คุณต้องมีอย่างน้อย 128 ตัวเพื่อทำให้มันมีความท้าทายเล็กน้อย ซึ่งตอนนี้หมายความว่าแต่ละระดับจำเป็นต้องมีสิ่งต่าง ๆ มากมาย แต่ยังส่งผลต่อการออกแบบเกมของคุณอีกครั้ง


2
@Christer: ตัวอย่างของคุณมีเพียงการวางเดิมพันที่ไม่เกี่ยวข้องกับคำถามโดยรวมของคุณ เนื้อหาของ "นอกแท่นบูชาลับของการแสวงหาการใด ๆ" คือโดยความหมายที่ไม่เกี่ยวข้องสำหรับการเล่นเกมใด ๆ ที่เป็นพื้นฐานที่เกี่ยวกับการจบเควส และถ้าเกมของคุณไม่เกี่ยวกับการทำเควสให้เสร็จทำไมคุณถึงมีเควสท์อยู่? ความจริงโดยรวมยังคงอยู่: คุณใช้เวลาไปกับบางสิ่งที่ไม่มีความเกี่ยวข้องกับเกมหรือเครื่องเล่นของคุณ คุณควรเน้นเวลาที่ จำกัด มากและพลังงานของคุณในสิ่งที่ว่า
Nicol Bolas

2
@ คริสเตอร์: " เนื่องจากความจริงที่ว่าการใช้การเข้ารหัสนั้นโปร่งใสถึง 99.9% ของผู้ใช้นั่นไม่ใช่เหตุผลที่ถูกต้องเพราะมันเป็นความคิดที่น่ากลัว " ถ้ามันทำให้ไข่อีสเตอร์ต้องใช้เวลามากขึ้นในการพัฒนา ไปที่คุณสมบัติที่มีประโยชน์อย่างแท้จริงแล้วใช่มันเป็นความคิดที่น่ากลัว คุณได้ใช้เวลามากขึ้นในการกำหนดคำถามและคำตอบของคุณไปสู่คำตอบกว่าคุณลักษณะนี้สมควรได้รับ ในเวลานั้นคุณสามารถเขียนเกมจริงของคุณได้ ถ้ามันโปร่งใสถึง 99.9% ของผู้ใช้ ... แล้วทำไมมันถึงสำคัญสำหรับพวกเขาถ้ามันถูกเข้ารหัส? ทำไมใช้เวลา 0.1% ของผู้คน
Nicol Bolas

2
ฉันขอโทษ แต่ฉันชอบที่สนุกกับการทำเกมของฉัน! ไม่ใช่ทุกคนที่จะเป็นหุ่นยนต์ที่สร้างเกม นอกจากนี้ให้ฉันเป็นผู้ตัดสินว่าจะใช้เวลานานเท่าไรและจะเต็มใจจ่ายเท่าไร ส่วนการเข้ารหัสลับของตัวเองอย่างน้อยก็จะนำไปใช้
Christer

1
The consequence here is that whatever game you design must be so narrowly focused that there is only one possible solution to every level.ไม่จำเป็น: เขาสามารถเข้ารหัสเนื้อหาสำหรับแต่ละโซลูชันที่เป็นไปได้และจัดส่งเนื้อหาที่เข้ารหัสซ้ำสำหรับโซลูชันที่เป็นไปได้ทั้งหมด สามารถประหยัดพื้นที่ได้โดยใช้การเข้ารหัสสองระดับ - รหัสผู้ใช้ในคำตอบที่เชื่อมโยงนั้นสอดคล้องกับวิธีแก้ปัญหาเฉพาะเอกสารที่สอดคล้องกับเนื้อหา
mucaho

4
@mucaho: ที่ต้องรู้ "แต่ละวิธีแก้ปัญหาที่เป็นไปได้" ล่วงหน้า
Nicol Bolas

8

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

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

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


5

ปัญหาของ Alice Bob และ Eve แสดงให้เห็นว่าสิ่งนี้ดี เมสันชี้ให้เห็นในคำตอบของเขาคุณไม่สามารถเก็บความลับจากอีฟหากอีฟเป็นบ็อบ

ดังนั้นการแก้ปัญหาใด ๆ จะประกอบด้วยบ๊อบไม่มีข้อมูลที่จำเป็นทั้งหมด คุณจะต้องถือว่าแต่ละระดับเป็นข้อความแต่ละข้อความเข้ารหัสแยกจากกันและมีแหล่งภายนอกของข้อความสำหรับระดับถัดไปที่สามารถเกตข้อความได้อย่างถูกต้อง

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

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

ใช้เวลาในการสร้างเกมที่ยอดเยี่ยม มีสิบสิ่งทุกความต้องการของเกมและสุดท้ายที่ฉันดูการเข้ารหัสไม่ใช่หนึ่งในนั้น


2

ฉันเชื่อว่าความคิดของคุณไม่มีจุดหมาย

เมื่อมีคนเล่นเกมของคุณพวกเขาเลือกที่จะเล่นพวกเขาไม่ได้ทำเพื่อชนะรางวัลพวกเขากำลังทำเพื่อความสนุก

ผู้ใช้รู้ว่าสิ่งที่สนุกที่สุดมาจากการเล่นตามที่คุณต้องการและจะไม่โกงเนื่องจากลูกค้าของคุณเชื่อใจคุณในการเป็นนักเล่าเรื่อง

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


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

ในขณะนี้ดูเหมือนเป็นจุดที่เป็นที่โปรดปรานของความคิดของคุณในท้ายที่สุดมันไม่ได้เป็น

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

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


สิ่งที่คุณต้องการทำคือเหมือนหนังสือเขียนที่มีการเข้ารหัสบทต่อไปด้วยคำของบทปัจจุบันเพื่อป้องกันผู้อ่านไม่ให้ตัวเองเสียตอนจบ
ลองคิดดูสิมันไร้สาระหรือเปล่า?

1สวยเหมือน VeraCrypt ทำมันด้วยวอลลุ่มลับ


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

1

ฉันจะไม่แสดงความคิดเห็นเกี่ยวกับความมีชีวิตเชิงพาณิชย์อย่างไรก็ตามจากมุมมองทางเทคนิคที่บริสุทธิ์มันเป็นความท้าทายที่น่าขบขัน


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


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

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

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

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

และโปรแกรมใด ๆ ที่จะแยกการรวมสัญลักษณ์ที่ชนะโดยอัตโนมัติจะมีนรกในหนึ่งวัน


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

เวกเตอร์การโจมตีที่เห็นได้ชัดคือการหลอกลวงทั้งเครื่องกำเนิดไฟฟ้าในการเลือกรหัสผ่านเดียวกันหรือหลอกผู้ตรวจสอบในการรับรหัสผ่านเดียวกันเสมอ (เช่นการดาวน์โหลดไฟล์ความลับของคนอื่น)

ที่นี่ทางออกที่เป็นไปได้คือเชื่อมโยงไฟล์กับบัญชีของผู้ใช้และใส่รหัสผ่านตามที่แนะนำ:

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

จากนั้นเมื่อผู้ใช้พร้อมที่จะส่งรหัสผ่าน:

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

เป้าหมายที่นี่คือขัดขวางการแบ่งปันบัญชีให้มากที่สุด:

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

และเราเกือบจะอยู่ที่นั่น


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

วิธีแก้ปัญหานั้นง่าย (และทำให้เกือบทุกอย่างที่อยู่เหนือล้าสมัย1 ): อย่าไว้วางใจลูกค้า

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

... สิ่งนี้เรียกว่าแรงกดดันทางสังคม;)

1 ยกเว้นไฟล์การวางตำแหน่งพื้นผิวซึ่งเราใช้เพื่อป้องกันไม่ให้โปรแกรมเดารหัสและยังทำให้ผู้ใช้สามารถรับได้


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

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

@ คริสเตอร์: ดูดที่มีคนทำลายโดยเพียงแค่มองผ่านสินทรัพย์เกม => สามารถแก้ไขได้โดยใช้ไฟล์ลับเพื่ออธิบายสถานที่จริง ๆ (ส่วนใหญ่ใช้พื้นผิวที่มีอยู่แล้วซ้ำอีก) เมื่อความลับนั้นหมดไปสักครั้งมันก็ออกมา ...
Matthieu M.

0

มันเป็นความคิดที่น่าสนใจ ตัวแปรบนแผ่นดิสก์ปริศนาและระบบป้องกันการคัดลอกด้วยคำศัพท์จากคู่มือ ฉันคิดว่าเกม "ARG" บางอย่างทำงานเช่นนี้ซึ่งเป็นที่เข้าใจกันว่าผู้เล่นเล่นกันโดยรวมกับผู้ออกแบบเกม

เห็นได้ชัดว่าเมื่อคนแรกถอดรหัสมันพวกเขาจะเผยแพร่บนอินเทอร์เน็ต

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

ฉันไม่เห็นปัญหาทางกฎหมายใด ๆ กับมันแม้ว่า Apple อาจปฏิเสธจาก App Store ของพวกเขาและคุณอาจต้องมอบวิธีแก้ปัญหาเพื่อให้มันได้รับการอนุมัติบนคอนโซลเกม


0

การไตร่ตรองมาตรการรักษาความปลอดภัยเพิ่มเติมนั้นสนุกสนาน แต่ก็ไม่ได้เพิ่มมูลค่าที่เป็นรูปธรรมให้กับผลิตภัณฑ์ของคุณซึ่งแสดงให้เห็นถึงความรวดเร็วในการแคร็กเกอร์ที่พบกับผลิตภัณฑ์ของคุณ ตามหลักการศัตรูของคุณจะติดต่อกับคุณ

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

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


0

Mason Wheeler พูดถูกคุณไม่สามารถทำได้ บางคนสามารถทำวิศวกรรมเกมของคุณได้หากพวกเขาต้องการ

คุณไม่จำเป็นต้อง "ป้องกัน" เกมของคุณในแบบที่คุณอธิบาย ทันทีที่คนคนหนึ่งพบไข่อีสเตอร์ความลับก็หมดไปจากกระเป๋า หากแต่ละสำเนาของเกมมีไข่อีสเตอร์ที่แตกต่างกันจะมีการคัดลอกเฉพาะแฮ็กเกอร์เท่านั้น คุณสนใจจริง ๆ ไหมว่าแฮ็กเกอร์หนึ่งคนจาก 1,000 คนพบไข่อีสเตอร์โดยไม่ต้องผ่านการเล่นเกม?

กฎหมายลิขสิทธิ์เป็นสิ่งที่ไม่มีใครสามารถทำเงินจากเกมของคุณได้โดยไม่ต้องเสี่ยงกับคดีฟ้องร้องที่รุนแรงดังนั้นลิขสิทธิ์จึงคุ้มครองคุณ

เท่าที่ผู้ใช้แบบสุ่มวางพื้นผิวของคุณใน avatar ของฟอรั่มดังนั้นอะไร คิดว่ามันเป็นรากหญ้าโฆษณา

ได้รับการครอบงำเกี่ยวกับ "ปกป้อง" สิ่งที่เพิ่งจะกวนใจคุณจากความเป็นจริงที่ยากลำบากเช่น: การทำเกม

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


-1

ความเป็นไปได้บางอย่าง:

  • ธรรมดาเก่าobfuscation รหัส มันจะไม่ทำให้โค้ดถอดรหัสไม่ได้ แต่อย่างน้อยมันก็ยาก

  • โซลูชันฝั่งเซิร์ฟเวอร์ คุณส่งคำสั่งพิเศษไปยังเซิร์ฟเวอร์และเซิร์ฟเวอร์สามารถส่งรหัสให้คุณ ... หรือแม้แต่ดาวน์โหลด DLC

  • คุณสามารถใช้Steganographyเพื่อซ่อนรหัสที่ปฏิบัติการได้ในเนื้อหาอื่น ๆ

สิ่งนี้จะไม่ทำให้ความลับของคุณปลอดภัย 100% แต่ดูเหมือนว่าไม่มีใครที่จะเสียเงินถ้าเปิดเผยความลับ


-1

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


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

@ คริสเตอร์ไม่มีความแตกต่างในการหาการเข้ารหัสแบบโฮมเมด "ความปลอดภัยด้วยความคลุมเครือ" "ในช่อง" - คุณเพียงแค่เขียนกุญแจสำคัญในการ "กระดาษปก" ทรัพยากรที่คุณให้กับผู้ใช้แทน "ไฟล์" ทรัพยากรที่คุณให้กับผู้ใช้ เรื่องใหญ่
Oleg V. Volkov

@Chriser คือการแก้ "ปริศนาที่ไม่เคยทำมาก่อน" เท่ากับ "การแก้อัลกอริทึมการเข้ารหัสแบบโฮมเมดที่ไม่เคยทำมาก่อน"
Oleg V. Volkov

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

มันแตกต่างจากแหล่งอ่านหนังสืออย่างไร คุณทำงานตามกฎที่ตั้งไว้ -> คุณจะได้รับกุญแจ นั่นคือทั้งหมดที่ ยกเว้นคุณสามารถใช้ทางลัดเพียงแค่อ่าน "ปม" ของคุณจากแหล่งข้อมูลเกมอื่น ๆ แทนการเล่นเกมจริง
Oleg V. Volkov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.