เกมของคุณคาดว่าจะโหลดเนื้อหาบางอย่าง แต่ไม่พบ สถานการณ์ควรจัดการอย่างไร? ตัวอย่างเช่น:
Texture* grassTexture = LoadTexture("Grass.png"); // returns NULL; texture not found
Mesh* car = LoadMesh("Car.obj"); // returns NULL; 3D mesh not found
อาจถูกลบโดยผู้ใช้โดยไม่ได้ตั้งใจเสียหายหรือสะกดผิดในระหว่างการพัฒนา
คำตอบที่เป็นไปได้:
- ยืนยัน (นึกคิดเฉพาะในระหว่างการพัฒนา)
- ออกจากเกมอย่างสง่างาม
- โยนข้อยกเว้นและพยายามจัดการ
วิธีไหนดีที่สุด
วิธีหนึ่งในการตรวจสอบว่าข้อมูลเกมยังคงไม่เปลี่ยนแปลงหรือไม่ หากไม่ทำการดาวน์โหลดข้อมูลที่หายไปโดยอัตโนมัติ ข้อผิดพลาด> ขอให้ผู้ใช้ยืนยันข้อมูล> ดาวน์โหลด เห็นได้ชัดว่าคุณต้องสร้างเครื่องมือขนาดเล็กสำหรับสิ่งนี้
—
Sidar
@Sidar ฉันชอบสิ่งที่คุณพูดมากกว่าคำตอบที่ได้รับการโหวตมากที่สุดบางทีคุณสามารถอธิบายได้ดีกว่าว่าคุณพยายามจะพูดอะไร
—
concept3d
ความผิดพลาดของความน่าเกลียดน่ากลัวคือบางครั้งมันก็ทำให้เกมแตกและผู้คนไม่สามารถเล่น / เริ่มเกมได้ ใน Steam ตัวอย่างเช่นหากเกมของคุณทำงานไม่ถูกต้องคุณสามารถตรวจสอบข้อมูลเกมได้ เมื่อสิ่งที่ดูเหมือนว่าเสียหาย / หายไป / เปลี่ยน Steam จะดาวน์โหลดไฟล์เหล่านั้นอีกครั้งโดยอัตโนมัติ ฉันไม่รู้ว่าพวกเขาทำได้อย่างไร แต่เห็นได้ชัดว่าพวกเขาตรวจสอบกับข้อมูลบางอย่าง บางทีรหัสแฮช ฉันไม่รู้จริงๆ แต่คุณควรมีสินทรัพย์ทดแทนมาตรฐาน (เพียงแค่พื้นผิวที่ระบุว่า "ข้อผิดพลาด" ในมันหรือบางสิ่งบางอย่าง)
—
Sidar
@Sidar ทำไมไม่จัดรูปแบบเป็นอย่างดีในคำตอบ?
—
concept3d
เพราะฉันไม่รู้ว่ามันทำงานอย่างไรและไม่ต้องการที่จะเข้าใจผิดเกี่ยวกับมัน ดังนั้นฉันไม่สามารถให้คำตอบที่เหมาะสมกับคุณได้
—
Sidar