"Super Meat Boy" เป็น platformer ที่ยากซึ่งเพิ่งออกมาสำหรับพีซีซึ่งต้องการการควบคุมที่ยอดเยี่ยมและการกระโดดพิกเซลที่สมบูรณ์แบบ รหัสฟิสิกส์ในเกมขึ้นอยู่กับอัตราเฟรมซึ่งถูกล็อคไว้ที่ 60fps นี่หมายความว่าหากคอมพิวเตอร์ของคุณไม่สามารถรันเกมได้อย่างเต็มประสิทธิภาพฟิสิกส์จะเสียสติทำให้ตัวละครของคุณทำงานช้าลงและล้มลงบนพื้น นอกจากนี้หากปิด vsync เกมจะทำงานเร็วมาก
ผู้ที่มีประสบการณ์เกี่ยวกับการเขียนโปรแกรมเกม 2D สามารถช่วยอธิบายได้หรือไม่ว่าทำไมเกมถึงเขียนรหัสด้วยวิธีนี้ การวนลูปฟิสิกส์จะทำงานในอัตราคงที่หรือไม่จะเป็นทางออกที่ดีกว่าหรือไม่ (อันที่จริงฉันคิดว่าวงฟิสิกส์ใช้สำหรับบางส่วนของเกมเนื่องจากบางเอนทิตียังคงเคลื่อนไหวได้ตามปกติโดยไม่คำนึงถึงตัวละครในทางกลับกันตัวละครของคุณจะวิ่งอย่างรวดเร็ว [fps / 60]
สิ่งที่รบกวนฉันเกี่ยวกับการใช้งานนี้คือการสูญเสียสิ่งที่เป็นนามธรรมระหว่างเอ็นจิ้นเกมและการเรนเดอร์กราฟิกซึ่งขึ้นอยู่กับสิ่งเฉพาะของระบบเช่นจอภาพการ์ดกราฟิกและ CPU หากไม่ว่าด้วยเหตุผลใดก็ตามคอมพิวเตอร์ของคุณไม่สามารถจัดการกับ vsync หรือไม่สามารถรันเกมด้วยความเร็ว 60fps ได้มันจะทำให้คุณประหลาดใจ ทำไมขั้นตอนการเรนเดอร์ในทางใด ๆ จึงมีอิทธิพลต่อการคำนวณทางฟิสิกส์? (เกมส่วนใหญ่ในปัจจุบันจะชะลอเกมหรือข้ามเฟรม) ในทางกลับกันฉันเข้าใจว่า platformers โรงเรียนเก่าใน NES และ SNES ขึ้นอยู่กับอัตราคงที่สำหรับการควบคุมและฟิสิกส์ของพวกเขา ทำไมถึงเป็นเช่นนี้และเป็นไปได้ไหมที่จะสร้าง patformer ในหลอดเลือดดำนั้นโดยไม่ต้องพึ่งพาการมีส่วนร่วม? จำเป็นต้องสูญเสียความแม่นยำหรือไม่หากคุณแยกการเรนเดอร์กราฟิกจากส่วนที่เหลือของเครื่องยนต์
ขอบคุณและขออภัยหากคำถามเกิดความสับสน