การพัฒนากับเหตุการณ์มีบทบาทอย่างไรในเกม?


9

การพัฒนาแอพพลิเคชั่นส่วนใหญ่มีพื้นฐานมาจากการพัฒนาด้วยอีเวนต์ แต่เมื่อพิจารณาจากรูปแบบการวนลูปของเกมที่กำลังพัฒนาและความต้องการ (บ่อยครั้ง) สำหรับประสิทธิภาพสูง / ปริมาณงานการพัฒนาโดยใช้เหตุการณ์มีบทบาทอย่างไร การซิงโครไนซ์ / ล็อคที่มักเกี่ยวข้องมีผลกระทบมากขึ้นหรือไม่

ตัวอย่างเช่น: - เครือข่าย [เลเยอร์] แจ้งวงวนของข้อมูลที่ได้รับอย่างไร - ระบบฟิสิกส์แจ้งการชนอย่างไร

ฉันถามเพราะฉันจำได้ว่าช่วงเวลาหนึ่งที่การพัฒนาเกมโดยใช้กิจกรรมเป็นเรื่องที่ไม่เด็ดขาด สิ่งนี้มีการเปลี่ยนแปลงหรือไม่?

คำตอบ:


5

ระบบกิจกรรมมีประสิทธิภาพและสามารถทำได้อย่างรวดเร็ว

พวกเขายังช่วยให้คุณสามารถปรับส่วนของรหัสในโครงสร้างการแต่งงานที่หลวมมาก พวกเขาอนุญาตให้คุณทำสิ่งต่าง ๆ และทำภารกิจต่างๆ ทำงานได้ดีกับฟังก์ชั่นมัลติคอร์และอะซิงโครนัส

ฟิสิกส์ - การโทรกลับชนเปิดใช้งานหรือวัตถุที่เหลือแปลได้ดีกับเหตุการณ์ ระบบเครือข่าย - มากที่สุดเท่าที่เป็นไปได้ควรเป็นเหตุการณ์ (การแชทด้วยเสียงและอื่น ๆ .. ยกเว้น) ลอจิกเกม - โดยธรรมชาติแล้วให้ยืมตัวเองกับโมเดลเหตุการณ์เมนู & UI - ทำงานได้อย่างยอดเยี่ยมในระบบที่อิงเหตุการณ์

คอนโซลที่ทันสมัยหลายแห่งและห้องสมุดกลางพัสดุใช้กิจกรรม

ตัวเรนเดอร์และการสำรวจความคิดเห็นของอุปกรณ์อินพุตอาจทำให้เกิดความสับสนเล็กน้อยโดยเฉพาะอย่างยิ่งถ้าคุณใช้การควบคุมการเคลื่อนไหวเนื่องจากเหตุการณ์ต่างๆสามารถทำให้เกิดความล่าช้าในการตอบสนองที่เห็นได้ชัดเจน


4

ฉันจะบอกว่าการใช้สไตล์ลูปหลักยังคงแนะนำ: มันเร็วมันช่วยให้คุณสามารถควบคุมลำดับการกระทำทั้งหมด (นี่เป็นสิ่งสำคัญในเกม) และยากที่จะทำผิดพลาดในการเขียนโค้ด อย่างไรก็ตามหากเทคโนโลยีที่คุณใช้ช่วยให้คุณสามารถใช้กิจกรรมได้อย่างง่ายดายมันจะมีประโยชน์มากสำหรับสิ่งต่างๆมากมาย ตัวอย่างเช่นฉันใช้เพื่อแจ้งเวลาและสถานที่ที่ศัตรูตายเมื่อกดแป้นคีย์บอร์ด ...

สรุป: ใช้วงเกมเพื่อควบคุมตรรกะหลักของเกม แต่โปรดทราบว่าเหตุการณ์จะมีประโยชน์ในสถานการณ์อื่น ๆ


ฉันไม่เห็นด้วยที่แนะนำสไตล์ลูปหลัก เกมสไตล์ลูปหลักสูญเสียเกมที่ควบคุมเหตุการณ์ได้เป็นอย่างดีในหลาย ๆ ด้าน: 1) ในระบบมัลติทาสกิ้งพวกเขาใช้โปรเซสเซอร์ในปริมาณสูงโดยไม่จำเป็นสำหรับชุดคุณสมบัติคงที่ 2) อุปกรณ์พกพา - ระบบการใช้งานหน่วยประมวลผลเสริมส่งผลเสียต่อแบตเตอรี่ 3) เกมที่ง่ายขึ้นปัญหาเหล่านี้ยิ่งใหญ่ขึ้นเมื่อเปรียบเทียบกับเกมที่ขับเคลื่อนด้วยเหตุการณ์ที่เหมาะสม
Sam Harwell
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.