ฉันวางแผนเกมผจญภัยและไม่สามารถเข้าใจได้ว่าอะไรคือวิธีที่เหมาะสมในการใช้พฤติกรรมของระดับขึ้นอยู่กับสถานะของเรื่องราวที่ก้าวหน้า
เกมผู้เล่นเดี่ยวของฉันมีโลกขนาดใหญ่ที่ผู้เล่นต้องโต้ตอบกับผู้คนในเมืองตามจุดต่าง ๆ ในเกม อย่างไรก็ตามขึ้นอยู่กับความก้าวหน้าของเรื่องราวสิ่งต่าง ๆ จะถูกนำเสนอต่อผู้เล่นเช่นหัวหน้ากิลด์จะเปลี่ยนสถานที่จากจัตุรัสกลางเมืองเป็นสถานที่ต่าง ๆ ทั่วเมือง; ประตูจะปลดล็อคในบางช่วงเวลาของวันหลังจากเสร็จสิ้นภารกิจประจำ เหตุการณ์หน้าจอ / ทริกเกอร์ที่แตกต่างกันเกิดขึ้นหลังจากเหตุการณ์สำคัญผ่านไปแล้วเท่านั้น
ฉันคิดอย่างไร้เหตุผลว่าจะใช้คำสั่ง switch {} เพื่อตัดสินใจว่า NPC ควรพูดอะไรหรือควรจะหาคำตอบได้ที่ไหนและทำให้วัตถุประสงค์การสืบเสาะสามารถโต้ตอบได้หลังจากตรวจสอบสภาพของตัวแปร game_state ทั่วโลกแล้ว แต่ฉันรู้ว่าฉันจะวิ่งเข้าสู่สภาวะเกมและสวิทซ์เคสที่แตกต่างกันอย่างรวดเร็วเพื่อเปลี่ยนพฤติกรรมของวัตถุ คำสั่ง switch นั้นยากที่จะดีบั๊กอย่างหนาแน่นและฉันคิดว่ามันอาจยากที่จะใช้ในตัวแก้ไขระดับ
ดังนั้นฉันคิดว่าแทนที่จะมีวัตถุเดียวที่มีหลายสถานะบางทีฉันควรมีหลายอินสแตนซ์ของวัตถุเดียวกันด้วยสถานะเดียว ด้วยวิธีนี้ถ้าฉันใช้บางอย่างเช่นเครื่องมือแก้ไขเลเวลฉันสามารถใส่ตัวอย่างของ NPC ลงในตำแหน่งต่าง ๆ ที่เขาเคยปรากฏมาและเป็นตัวอย่างสำหรับแต่ละสถานะการสนทนาที่เขามี แต่นั่นหมายความว่าจะมีวัตถุเกมที่มองไม่เห็นที่ไม่ได้ใช้งานจำนวนมากลอยอยู่รอบ ๆ ระดับซึ่งอาจเป็นปัญหาสำหรับหน่วยความจำหรือยากที่จะเห็นในเครื่องมือแก้ไขระดับฉันไม่รู้
หรือทำง่ายๆเหมือนกัน แต่แยกระดับสำหรับแต่ละสถานะของเกม นี่เป็นวิธีที่สะอาดและปราศจากข้อผิดพลาดในการทำสิ่งต่าง ๆ แต่มันให้ความรู้สึกเหมือนการทำงานด้วยมือขนาดใหญ่ทำให้แน่ใจว่าแต่ละระดับของรุ่นนั้นเหมือนกันจริง ๆ
วิธีการทั้งหมดของฉันรู้สึกไม่มีประสิทธิภาพดังนั้นเพื่อสรุปคำถามของฉันมีวิธีที่ดีขึ้นหรือเป็นมาตรฐานในการใช้พฤติกรรมของระดับขึ้นอยู่กับสถานะของการดำเนินเรื่อง
PS: ฉันยังไม่มีเครื่องมือแก้ไขเลเวล - คิดจะใช้ JME SDK หรือทำเอง