มันไม่เป็นมืออาชีพหรือไม่ที่จะปล่อยให้ทรัพยากรในเกมเปิดกว้าง?


43

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

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


30
เพียงแค่คิดว่ามันเป็นชุมชน modding :)
โอรินเกรเกอร์

1
คุณเป็นนักพัฒนาเกมมืออาชีพที่มีงบประมาณหรือไม่? ฉันคิดว่ามันใช้ได้ในกรณีที่คุณไม่ได้วางแผนที่จะทำเงินมากมายจากเกมนี้ ฉันมีคำแนะนำบางอย่าง ถ้ามันทำให้คุณรู้สึกดีขึ้นฉันเคยแก้ไขไฟล์ใน X-COM / UFO Defence
wolfdawn

6
@ArthurWulfWhite: ฉันคิดว่าแทนที่จะสร้างรายได้หรือไม่จุดแยกคือสิ่งที่ความหมายของทรัพยากร modded เป็นเกม สำหรับ MMORPG ทรัพยากร / ไคลเอนต์ที่มีการดัดแปลงอาจให้ประโยชน์ที่ไม่เป็นธรรมแก่ผู้เล่นบางคนดังนั้นคุณจึงต้องการป้องกันไม่ให้มากที่สุด สำหรับเกมอื่น ๆ หลายเกมไคลเอนต์ที่เป็นมิตร modding ทำให้มันน่าสนใจสำหรับ modding community เพื่อพัฒนาเกมของคุณและโดยทั่วไปถือว่าเป็นสิ่งที่ดี
Lie Ryan

1
กว้างยาว modding ใน Quake (1) ได้รับการจัดการอย่างดีโดยไม่ต้องเปิดเผยรุ่นและไฟล์ bsp กับนักเล่นเกมทั่วไป ฉันไม่คิดว่าการปิดบังสิ่งต่าง ๆ ในขณะที่ยังทำให้พวกเขาสามารถเข้าถึงได้ง่าย ฉันชอบความจริงที่ว่าฉันสามารถแก้ไขไฟล์บันทึกใน X-COM ได้ฉันเห็นว่าเป็นคุณสมบัติ อย่างไรก็ตามมันจะไร้สาระหากมีไฟล์ข้อความชื่อ money.txt ซึ่งฉันสามารถพิมพ์จำนวนเงินสดที่ฉันต้องการเริ่มต้นด้วยเพราะมันเป็นพร่าเลือนชายแดนระหว่าง sandbox และเกม
wolfdawn

2
ผมชอบIntroversionวิธี: ใส่ไฟล์ใน zip sound.datไฟล์ที่เปลี่ยนชื่อเช่น การใช้โฟลเดอร์ที่ไม่มีการบีบอัดด้วยไฟล์สองร้อยไฟล์ทำให้การติดตั้ง (de) นั้นค่อนข้างน่ารำคาญ
Tobias Kienzler

คำตอบ:


44

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

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

ตรวจสอบให้แน่ใจว่าสิ่งที่ผู้คนเห็นไม่ใช่แค่เรื่องยุ่งขนาดใหญ่ :) ใส่ไฟล์ลงในโครงสร้างโฟลเดอร์ที่เหมาะสม


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

15

นอกเหนือจากคำตอบอื่น ๆ ข้อกังวลสำคัญสองประการที่คุณควรพิจารณา:

เซอร์ไพร์ส
กล่าวทิ้งฉันคิดว่าฉันผ่านเกมไปครึ่งทางแล้วค้นหาโฟลเดอร์ "วิดีโอ" อยากรู้อยากเห็นฉันคลิกที่หนึ่งและเกิดขึ้นเพื่อดูฉากสุดท้ายของเกม

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

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

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

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


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

14

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

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

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


1
หากคุณดีพอที่จะข้ามการทดสอบการตรวจสอบคุณจะดีพอที่จะยุ่งกับสินทรัพย์ที่บรรจุด้วย ฉันไม่คิดว่าบรรจุภัณฑ์จะปลอดภัยกว่านี้อีกแล้ว
mmyers

11

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

rename *.txt *.map

จากนั้นวางไว้ในโฟลเดอร์ \ map

คุณสามารถเข้าถึงพรอมต์คำสั่งจาก windows ที่กำลังเรียกใช้ cmd

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

ใช่มันจะยังคงสามารถแก้ไขได้ .. ผู้คนมีโอกาสน้อยที่จะสังเกตเห็น

เพื่อตอบความคิดเห็นของ Eric Robertson

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


1
-1 นี่ไม่ใช่ "แก้ไข" จริงๆ ทรัพยากรยังคงมีตา
Erick Robertson

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

ฉันรู้ว่าส่วนขยายของไฟล์ไม่มีความสำคัญกับ Linux แต่คุณแน่ใจหรือว่าจะใช้กับ Windows ได้
jcora

1
@Bane ชื่อไฟล์ไม่สำคัญว่าเป็นช่วงเวลาลองสิ่งนี้เปลี่ยนชื่อไฟล์. txt เป็น. zip, .bmp หรือ .xyz และเปิดใหม่ด้วย notepad ชื่อไฟล์มีความสำคัญเฉพาะเมื่อคุณเรียกดูไฟล์ในพีซีของคุณตัวอย่างเช่น. xyz มีไอคอนบางอย่างที่เกี่ยวข้องกับไฟล์นั้นหากคุณต้องการเปิดไฟล์ด้วย xsoftware มันจะแสดงเฉพาะไฟล์ * .x โดยค่าเริ่มต้นแผ่นจดบันทึกจะแสดงขึ้น ไฟล์ txt, mspaint จะแสดง gifs, jpegs, bmps, pngs, tiffs, icos และอื่น ๆ ชื่อไฟล์เป็นเพียงการประชุมที่สะดวก (เพื่อให้คุณไม่ต้องค้นหาและวิเคราะห์ข้อมูลภายในไฟล์เพื่อระบุลักษณะของมัน เนื้อหา
wolfdawn

1
ขอบคุณที่อธิบาย! Windows ดูเหมือนจะไม่แตกต่างจากลินุกซ์ในโดเมนนั้นมากนัก
jcora

3

ถ้ามันไม่เคยเป็นมืออาชีพมันอาจจะไม่อีกต่อไป ก่อนเกมใช้รูปแบบแพคเกจของตนเองเพื่อรักษาทรัพย์สินทางปัญญา (IP) เป็นหลัก

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

แต่ประโยชน์ทั้งหมดเหล่านี้สามารถมีได้ใน.tarรูปแบบไฟล์เก็บถาวรแบบเก่า (Unix)

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

โดยสรุปฉันจะโต้แย้งเพื่อความโปร่งใสในการพัฒนาอินดี้เว้นแต่คุณจะต้องปกป้องทรัพย์สินทางปัญญาของคุณอย่างชัดเจน


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

ข้อจำกัดความรับผิดชอบ: ฉันไม่ใช่นักพัฒนาเกม พิจารณาเฉพาะโพสต์นี้เป็นจุดเริ่มต้น ...


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

1
@ Random832 สาธุเลย
Lorenz Lo Sauer

คำตอบของคุณผิด การเข้าถึงเนื้อหาของไฟล์ 6,000 Tinny นั้นช้ากว่าในประสบการณ์ของฉันมากกว่า 5 ถึง 10 เท่ากว่าการเข้าถึงเนื้อหาเดียวกันจาก 1 ไฟล์ สำหรับกรณีที่การโหลดใช้เวลา 5 วินาทีบน SSD นั้น 15 วินาทีจากฮาร์ดไดรฟ์ปกติที่ทำลายข้อมูลเดียวกันไปยังไฟล์ที่สามารถแก้ไขได้และการโหลดจะเพิ่มขึ้นถึง 30 วินาทีสำหรับทั้ง (HDD และ SSD) ดังนั้นด้วยเหตุผลบางอย่างการเพิ่มขึ้นจึงเด่นชัดกว่า SSD มากกว่าบน HDD (ไม่มี RAID ในทั้งสองกรณี)
Coyote

@ โคโยตี้ฉันอยู่ภายใต้ความประทับใจที่ฉันโต้เถียงในจุดเดียวกันในโพสต์ ... ? การแตกแฟรกเมนต์ (เช่นข้อ จำกัด ของฮาร์ดแวร์คอนโทรลเลอร์ข้อ จำกัด ทางกายภาพของแพลตเตอร์ ... ) + การเรียกใช้ API ของระบบไฟล์จำนวนมาก (มักผ่านตัวห่อหุ้ม) = ช้า
Lorenz Lo Sauer

ประโยคนี้ผิดแล้ว: "กับเขามาถึง SSD ของจุดนี้จะแสดงผล moot"
โคโยตี้

1

มันง่ายที่จะแก้ไข & มิฉะนั้นการทำดัชนีการค้นหาจะค้นหาวิดีโอตอนจบของคุณ ฯลฯ ดังนั้น

สำหรับไฟล์ข้อมูล: flip bits ด้วย xor

   realByte_cpp = readByte_cpp ^ 0x44; // xor

วิธีซ่อน "ทองคำ: 250" จาก GREP

เพียงเข้ารหัสด้วยค่า xor เดียวกัน (สุ่ม)

เพื่อให้ฉากอยู่ห่างจากผู้ใช้ทั่วไปลองทำดังนี้: Machinarium แปลชื่อไฟล์ดังนั้น \ วิดีโอกลายเป็น \ 0101 และไฟล์ทั้งหมดจึงมีรหัส 8 หลัก 8 หลักตามด้วย. 101 เพื่อหยุดการเชื่อมโยงไฟล์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.