ฉันจะนำหน้าสิ่งนี้โดยบอกว่าฉันไม่ได้ดูแหล่งเกมเป็นจำนวนมากหรือไม่ได้สร้างในแบบของเกม
แต่มาจากการพยายามใช้วิธีการเข้ารหัส 'องค์กร' ในเว็บแอปดูที่ซอร์สโค้ดของเกมทำให้เจ็บอย่างรุนแรง: "มุมมองนี้ทำอะไรกับตรรกะทางธุรกิจหรือไม่นี่จำเป็นต้องมีการปรับโครงสร้างใหม่ ... "
สิ่งนี้ทำให้ฉันกังวลขณะที่ฉันกำลังจะเริ่มโครงการเกมและฉันไม่แน่ใจว่าพยายาม mvc / tdd กระบวนการ dev จะขัดขวางเราหรือช่วยเราเพราะฉันไม่เห็นตัวอย่างเกมมากมายที่ใช้สิ่งนี้ หรือผลักดันให้มีการปฏิบัติงานสถาปัตยกรรมที่ดีขึ้นในชุมชน
ต่อไปนี้เป็นสารสกัดจากบทความที่ยอดเยี่ยมเกี่ยวกับเกมต้นแบบแต่สำหรับฉันแล้วดูเหมือนว่าทัศนคติที่ผู้พัฒนาเกมส่วนใหญ่ใช้ในการเขียนรหัสเกม
ความผิดพลาด # 4: การสร้างระบบไม่ใช่เกม
... หากคุณพบว่าตัวเองกำลังทำงานบางอย่างที่ไม่ได้เดินหน้าต่อไปให้หยุดตรงนั้น ในฐานะโปรแกรมเมอร์เรามีแนวโน้มที่จะพยายามทำให้รหัสของเราเป็นแบบทั่วไปและทำให้มันดูสง่างามและสามารถรับมือกับทุกสถานการณ์ได้ เราพบว่าคันอย่างหนักไม่เกา แต่เราต้องเรียนรู้วิธี ฉันใช้เวลาหลายปีกว่าจะรู้ตัวว่ามันไม่เกี่ยวกับรหัส แต่มันเกี่ยวกับเกมที่คุณจัดส่งในตอนท้าย
อย่าเขียนระบบองค์ประกอบของเกมที่หรูหราข้ามตัวแก้ไขไปอย่างสมบูรณ์และทำให้สถานะเป็นรหัสไม่ติดขัดหลีกเลี่ยงการใช้ข้อมูลการแยกวิเคราะห์ตัวเองความบ้าคลั่งของ XML และโค้ดสิ่งที่ถูกสาป
... รับของบนหน้าจอให้เร็วที่สุดเท่าที่จะทำได้
และไม่เคยใช้อาร์กิวเมนต์ "ถ้าเราใช้เวลาเพิ่มเติมและทำสิ่งนี้ในวิธีที่ถูกต้องเราสามารถนำมันกลับมาใช้ใหม่ได้ในเกม" EVER
เป็นเพราะเกม (ส่วนใหญ่) มีการมุ่งเน้นการมองเห็นดังนั้นจึงสมเหตุสมผลว่าโค้ดจะถูกถ่วงน้ำหนักอย่างหนักในมุมมองดังนั้นประโยชน์ใด ๆ จากการเคลื่อนย้ายสิ่งของออกไปยังตัวแบบ / คอนโทรลเลอร์นั้นค่อนข้างน้อยดังนั้นทำไมต้องกังวล?
ฉันได้ยินข้อโต้แย้งว่า MVC แนะนำค่าใช้จ่ายด้านประสิทธิภาพ แต่ดูเหมือนว่าฉันจะเพิ่มประสิทธิภาพก่อนวัยอันควรและมีประเด็นปัญหาด้านประสิทธิภาพที่สำคัญกว่าที่จะแก้ไขก่อนที่คุณจะกังวลเกี่ยวกับค่าใช้จ่าย MVC (เช่นเรนเดอร์ไลน์ การข้ามผ่าน ฯลฯ )
สิ่งเดียวกันเกี่ยวกับ TDD มันไม่บ่อยครั้งที่ฉันเห็นเกมที่ใช้กรณีทดสอบ แต่อาจเป็นเพราะปัญหาการออกแบบด้านบน (มุมมองแบบผสม / ธุรกิจ) และความจริงที่ว่ามันยากที่จะทดสอบส่วนประกอบภาพหรือส่วนประกอบที่ขึ้นอยู่กับผลลัพธ์ที่น่าจะเป็นไปได้ )
บางทีฉันแค่มองไปที่ซอร์สโค้ดผิด แต่ทำไมเราไม่เห็นแนวทางปฏิบัติ 'องค์กร' เหล่านี้มากขึ้นในการออกแบบเกม? เกมแตกต่างกันมากในความต้องการของพวกเขาหรือเป็นปัญหาของคน / วัฒนธรรม (เช่นเกม devs มาจากพื้นหลังที่แตกต่างกันและมีนิสัยการเข้ารหัสที่แตกต่างกัน)