นี่เป็นคำถามการออกแบบ ... ฉันแน่ใจว่านี่จะเป็นแบบทั่วไปมากขึ้น แต่ฉันมีปัญหากับมัน ฉันสงสัยเกี่ยวกับการออกแบบสำหรับการโต้ตอบวัตถุเกม - นี่คือตัวอย่างของฉัน (2D puzzle-platformer)
สมมติว่าผู้เล่นกำลังพยายามผ่านระดับ มีไฟมากมายที่สามารถชี้ไปในทิศทางที่แตกต่าง นี่คือตัวอย่างของวัตถุแสงเหล่านี้ที่อาจโต้ตอบกัน
- หนึ่งไฟฉายโครงร่างที่อนุญาตให้ผู้เล่นข้ามช่องว่างได้
- แสงหนึ่งดวงลดค่าสัมประสิทธิ์แรงเสียดทานของสิ่งใดก็ตามที่มันสัมผัส
- แสงหนึ่งอันจะทำให้เอฟเฟกต์ของแสงทั้งหมดซึ่งจะทำให้แพลตฟอร์มหายไปในขณะที่แสงนั้นเปิดอยู่และโมฆะการดัดแปลงแรงเสียดทาน
- ฯลฯ ...
วิธีที่ดีที่สุดในการแก้ไขปัญหานี้เมื่อใช้สถาปัตยกรรมส่วนประกอบคืออะไร ส่วนประกอบสำหรับวัตถุหลักแต่ละชนิดนั้นดูเหมือนชัดเจนรวมถึงวิธีการที่ชัดเจนในการกำหนดผลกระทบที่มีต่อสิ่งแวดล้อม ชั้นเรียนเพื่อ "แก้ไข" การโต้ตอบ (ดูเหมือนว่าจะกลายเป็นระเบียบได้อย่างรวดเร็ว)? การใช้ลวดลายตกแต่งภายในเพื่อสร้างวัตถุรวมกันสำหรับผู้ที่มีปฏิสัมพันธ์ในเวลาที่กำหนด? โครงสร้างข้อมูลที่ให้ยืมกับสิ่งนี้?
นอกจากนี้การเชื่อมต่อเสียงกับการโต้ตอบเหล่านี้ ดูเหมือนว่าการเชื่อมต่อเสียงกับระบบจะเหมือนกับการเชื่อมต่อกับคุณสมบัติอื่น ๆ เช่นการมองเห็นหรือการเคลื่อนไหว / การชนของผู้เล่น
เห็นได้ชัดว่าเมื่อมีการเพิ่มส่วนประกอบเพิ่มเติมมันจะดีถ้ามีระบบที่แข็งแกร่งที่สามารถจัดการกับชิ้นส่วนใหม่ด้วยการปรับเปลี่ยนเล็กน้อย แต่ฉันไม่คุ้นเคยกับวิธีการออกแบบสิ่งนี้
ข้อมูลอื่น ๆ : เครื่องยนต์ฉันใช้เป็นเครื่องมือ XNA เรียกIceCream