คำถามติดแท็ก configuration

8
จะเป็นการดีกว่าถ้าใช้ XML / JSON / Text หรือฐานข้อมูลเพื่อจัดเก็บเนื้อหาของเกม
ฉันกำลังพิจารณาวิธีการนำเกมที่ใช้องค์ประกอบมาใช้ซึ่งดูเหมือนจะเป็นสิ่งที่ร้อนแรงและฉันชอบความคิดในการออกแบบที่ยืดหยุ่นเช่นนี้ หนึ่งในคุณสมบัติของการออกแบบคือการเพิ่มสิ่งใหม่ ๆ ลงในเกมสามารถทำได้ผ่านข้อมูลซึ่งมักจะนำเสนอเป็นการโหลดเนื้อหาผ่านไฟล์ข้อความเช่น XML นี่เป็นข้อได้เปรียบของการเป็นมนุษย์ที่สามารถอ่านและแก้ไขได้อย่างง่ายดายในตัวแก้ไขข้อความใด ๆ ข้อเสียข้อความอาจช้าลงในการจัดการและคุณต้องจัดการชุดข้อมูลขนาดใหญ่ รูปแบบข้อความที่คล้ายกันเช่น JSON หรือไฟล์กำหนดค่าจะมีประโยชน์เหมือนกัน ในอีกด้านหนึ่งมีฐานข้อมูลขนาดเล็กพกพาได้เช่น SQLite หรือ Tokyo Cabinet ในขณะที่คนอื่นไม่สามารถอ่านได้โดยตรงไฟล์เหล่านี้ใช้งานง่ายและฉันคิดว่าเครื่องมือการแก้ไขบางอย่างน่าจะเหมาะสำหรับการออกแบบเนื้อหาเกม การใช้ฐานข้อมูลช่วยให้การจัดเก็บข้อมูลการกำหนดค่าที่สอดคล้องกันและการดึงง่าย คุณสามารถจัดลำดับข้อมูลลงในฐานข้อมูลเพื่อบันทึกเกมได้เช่นกัน ประสิทธิภาพการทำงานที่ชาญฉลาดฉันคิดว่า XML โดยทั่วไปจะเร็วกว่าสำหรับไฟล์ขนาดเล็ก ฉันคิดว่าเกมจริง ๆ จะมีวัตถุในเกมมากมาย ดังนั้นคำถาม: วิธีใดดีกว่า ฉันเอนหลังไปยังฐานข้อมูล แต่ฉันต้องการที่จะรู้ว่ามีข้อผิดพลาดที่ซ่อนอยู่หรือข้อได้เปรียบที่แข็งแกร่งจริงกับไฟล์ข้อความ หรือหากมีทางเลือกอื่นนอกเหนือจากนี้ (เป็นรูปแบบไบนารี่เป็นรูปแบบไบนารีฉันเดา?)

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

5
เหตุใดจึงต้องวางเอนทิตี config นอกสคริปต์?
ฉันเห็นเกมจำนวนมากที่กำหนดองค์ประกอบเอนทิตีในไฟล์สคริปต์ แต่เมื่อพวกเขากำหนดค่าแต่ละเอนทิตีและระบุว่ามีองค์ประกอบใดพวกเขาใช้รูปแบบไฟล์อื่น (เช่น XML) ทำไมพวกเขาทำอย่างนั้น? ฉันขอให้ส่วนใหญ่ดูว่าเหตุผลของคนอื่นคืออะไรสำหรับเรื่องนี้ ฉันยังกำหนดค่าเอนทิตีของฉันนอกสคริปต์ (แม้ว่าฉันเลือก JSON ไม่ใช่ XML) เหตุผลของฉันในการทำเช่นนี้คือทำให้ฉันง่ายต่อการใช้เกมบันทึกและเพราะฉันคิดว่าการกำหนดค่าประเภทนี้จัดระเบียบได้ดีกว่าในสิ่งที่ชอบ XML หรือ JSON คำตอบของ @ Christopher Larsenยาวเกินกว่าจะโพสต์เป็นความคิดเห็น ฉันกลัวว่าคุณอาจเบี่ยงเบนไปเล็กน้อยจากเรื่องของคำถาม ปัญหาที่คุณกำลังอธิบายเกี่ยวข้องกับหน่วยงานที่ใช้ลำดับชั้นมากกว่า ในคำถามของฉันฉันพูดถึงฉันกำลังพูดถึงเอนทิตีที่อิงองค์ประกอบ นี่คือตัวอย่างของสิ่งที่ฉันต้องการถาม ด้านล่างมีสองทางเลือกในการกำหนดค่าเอนทิตี: ผ่านสคริปต์และผ่านไฟล์ JSON ภายนอก คำถามของฉันคือทำไมผู้คนจำนวนมากต้องการกำหนดเอนทิตีนอกสคริปต์? คลาสเอนทิตีฐาน: class Entity: def __init__(self, name): pass def addComponent(self, comp): pass วิธีการสคริปต์: orc = Entity('Orc') orc.addComponent(PositionComponent(3.4, 7.9)) วิธีการ JSON: { "name" : …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.