โลกของการพัฒนาเกมเป็นเกมที่ตลก: ในอีกด้านหนึ่งพวกเขามักจะยอมรับแนวคิดใหม่ ๆ อย่างรวดเร็วในทางกลับกันพวกเขายังอยู่ในยุคหิน
ความจริงก็คือไม่ค่อยมีแรงจูงใจในการเปลี่ยนเป็น. NET / Java / อะไรมากกว่า C / C ++
บริษัท เกมส่วนใหญ่ให้สิทธิ์ชิ้นส่วนของเอ็นจิ้นเกมจาก บริษัท อื่น ชิ้นส่วนเหล่านี้เขียนด้วย C ++ และแม้ว่าคุณอาจเข้าถึงแหล่งข้อมูลได้ดังนั้นคุณจึงสามารถพอร์ตได้ซึ่งต้องใช้ความพยายามอย่างมาก (และแน่นอนว่าใบอนุญาตต้องได้รับอนุญาต)
นอกจากนี้รหัสดั้งเดิมจำนวนมากมีอยู่แล้วใน C ++ หากโค้ดจากโปรเจ็กต์ก่อนหน้านี้สามารถนำมาใช้ซ้ำได้ (เช่นถ้าคุณกำลังเขียนภาคต่อ) นั่นจะนับได้ว่ามากขึ้นในการผสานกับภาษาเดียวกันแทนที่จะเขียนมันในภาษาใหม่ (มากกว่านั้นเนื่องจากคุณจะแนะนำอีกครั้ง ข้อบกพร่องมากมายที่คุณจะต้องใช้เวลาในการเริ่มต้น
ในที่สุดมันก็ยากสำหรับเกมที่จะเขียนด้วย 100% C ++ ต่อไป - มีหลายอย่างที่ใช้ภาษาสคริปต์ไม่ว่าจะเป็นแบบกำหนดเองหรือรวมภาษาที่มีอยู่ (Lua เป็นหนึ่งในเกมยอดนิยมในปัจจุบัน)
เท่าที่มีการเก็บขยะที่เกี่ยวข้องนั่นอาจเป็นปัญหาเล็กน้อย ปัญหาไม่ได้มีอยู่จริงมันทำงานได้มากกว่า - ตัวเก็บขยะจะต้องไม่ถูกบล็อก (หรืออย่างน้อยต้องรับประกันว่าจะปิดกั้นเพียงช่วงสั้น ๆ เท่านั้น) เนื่องจากมันไม่สามารถยอมรับได้ที่จะหยุดเกมเป็นเวลา 10 วินาทีในขณะที่ มันจะสแกนหน่วยความจำที่จัดสรรไว้ทั้งหมดเพื่อดูสิ่งที่สามารถเป็นอิสระ ฉันรู้ว่า Java มีแนวโน้มที่จะทำให้หายใจไม่ออกใน GC'ing เมื่อมันใกล้จะหมดหน่วยความจำ (และสำหรับบางเกมที่นั่นก็จะ)
นอกจากนี้คุณยังถูก จำกัด มากขึ้นในสิ่งที่คุณสามารถทำได้: คุณไม่สามารถใช้ประโยชน์จากฮาร์ดแวร์ได้อย่างเต็มที่เนื่องจากโอเวอร์เฮดของรันไทม์ ลองนึกภาพว่า Crysis เขียนด้วยภาษาจาวา ... แม้ว่ามันจะเป็นความแตกต่างที่มองเห็นได้ แต่มันก็ไม่เหมือนกัน (ฉันค่อนข้างมั่นใจว่าคุณต้องใช้ Core i7 ในการรัน)
นี่ไม่ได้หมายความว่าภาษาเหล่านี้ไม่มีบทบาทในการพัฒนาเกมและไม่ฉันไม่ได้หมายถึงการเขียนโปรแกรมเครื่องมือเท่านั้น สำหรับเกมส่วนใหญ่คุณไม่ต้องการประสิทธิภาพที่เพิ่มขึ้นเล็กน้อยจาก C ++ รวมถึงเกม 3 มิติและถ้าคุณเขียนมันทั้งหมดตั้งแต่ต้นมันสามารถใช้งานได้อย่างสมบูรณ์แบบเช่น XNA - ในความเป็นจริงมี โอกาสที่ดีมันจะ
เท่าที่เกมเชิงพาณิชย์มีความเกี่ยวข้อง - RuneScapeนับหรือไม่? นั่นอาจเป็นเกม Java ที่ประสบความสำเร็จที่สุด