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