ขณะนี้ฉันกำลังทำงานในเกมแนวฟิสิกส์ที่ผู้เล่นคนเดียวซึ่งฉันต้องการให้ฟิสิกส์เป็นฝั่งเซิร์ฟเวอร์จำลอง นี่เป็นเพราะเกมจะมีกระดานผู้นำผู้เล่นที่ต่อเนื่องและอื่น ๆ และฉันต้องการป้องกันการโกงใด ๆ - โดยทั่วไปเป็นสถาปัตยกรรมไคลเอนต์ - เซิร์ฟเวอร์ที่แท้จริงไคลเอนต์ "โง่" และแสดงเฉพาะสิ่งที่เซิร์ฟเวอร์ต้องการให้คุณแสดง
อย่างไรก็ตามปัญหาคือเกมนี้มีผู้เล่นหลายร้อยคน (อาจจะเป็นพันคน) ในเวลาเดียวกัน เรื่องนี้เกี่ยวข้องกับฉันเพราะมันน่าจะทำให้พลังในการประมวลผลของเซิร์ฟเวอร์ลดลงถ้าฉันต้องทำและรักษาสถานะเป็นร้อย ๆ รายการในเวลาเดียวกัน
ฉันจะไม่มีปัญหาในการย้ายการจำลองฟิสิกส์ทั้งหมดไปยังฝั่งไคลเอ็นต์ แต่จากนั้นฉันจะต้องมีวิธีการตรวจสอบจริง ๆ ถ้าผลลัพธ์ของการจำลองไคลเอ็นต์นั้นถูกต้อง อย่างไรก็ตามฉันไม่สามารถหาวิธี
ฉันคิดเกี่ยวกับการใช้ฝั่งเซิร์ฟเวอร์จำลองนาน ๆ ครั้งเพื่อตรวจสอบว่าไคลเอนต์ยังคงเล่นอยู่ แต่ฉันต้องการให้เซิร์ฟเวอร์มีความเครียดน้อยที่สุดเท่าที่จะทำได้
วิชาฟิสิกส์จะมีความซับซ้อนเท่ากับการสาธิต GDC 2011 โดย Glenn Fiedlerซึ่งอาจจะง่ายกว่า อย่างไรก็ตามฉากที่มีการชนกันของร่างกายที่แข็งกระด้างจะอยู่ในฉากเดียวและพวกมันจะมองเห็นได้ในครั้งเดียว
ฉันมีความยากลำบากในการได้รับคำตอบของกรณีนี้เนื่องจากทรัพยากรส่วนใหญ่บนเว็บ - อีกครั้งเว็บไซต์ Glenn Fiedlers เป็นเว็บไซต์ที่ยอดเยี่ยม - พูดถึงฟิสิกส์เครือข่ายขนาดเล็ก (เช่น FPS ที่มีผู้เล่น 30 คนเช่น Halo)
คำแนะนำเว็บไซต์เอกสารหรือสิ่งที่ชอบในเรื่องใด ๆ จะได้รับการชื่นชมมาก
สรุปคำถามที่ฉันต้องการคำตอบ:
- รูปแบบไคลเอนต์ - เซิร์ฟเวอร์มีความเป็นไปได้อย่างไร พลังในการประมวลผลของเซิร์ฟเวอร์ของฉันเกี่ยวข้องกับกฎหมายหรือไม่?
- เป็นไปได้หรือไม่ที่จะตรวจสอบความน่าเชื่อถือของการจำลองแบบฟิสิคัลที่ลูกค้ารันบนเซิร์ฟเวอร์? ถ้าเป็นเช่นนั้นได้อย่างไร