เริ่มต้นใช้งานในการพัฒนาเกม: XNA เป็นตัวเลือกที่ดีหรือไม่? [ปิด]


16

เครื่องอ่านเป็นเวลานาน ผู้ถามครั้งแรก:

ฉันต้องการที่จะเป็นส่วนหนึ่งของอุตสาหกรรมเกมซักพัก แต่ประวัติส่วนตัวของฉันคืองานแบ็กเอนด์ 100%

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

เนื่องจากไม่มีใครที่จะเดินไปหาฉันและให้งานกับฉันในอุตสาหกรรมเกมฉันจึงตัดสินใจลองหมวกเขียนเกมของตัวเอง

ฉันเข้าใจว่าทำไม C และ C ++ เป็นภาษา defacto ในการพัฒนาเกม แต่ฉันชอบปรัชญาที่อยู่เบื้องหลัง XNA ตามที่ระบุไว้ก่อนหน้านี้ฉันเชี่ยวชาญทั้ง C # และ C ++ แต่ถ้าฉันจำได้อย่างถูกต้อง XNA ทำงานได้กับภาษา CLR เท่านั้น (อาจเป็นแค่ C #)

การมุ่งเน้นไปที่การพัฒนาเกมโดยใช้ XNA และ C # แทน C ++ จะทำให้โอกาสในการลงจอดในอุตสาหกรรมเกมของฉันลดลงหรือไม่? VB มีชื่อเสียงที่ไม่ยุติธรรมในการไม่ใช้ภาษาการเขียนโปรแกรมจริงและโปรแกรมเมอร์ VB ติดอยู่ในความอัปยศนั้น นี่เป็นกรณีที่ใช้ C # ในชุมชนที่ประกอบด้วยนักพัฒนา C ++ เป็นส่วนใหญ่หรือไม่?

หรือพื้นฐานการพัฒนาเกมที่สามารถเรียนรู้ได้จากการเขียนเกมก้าวล้ำเหนือภาษาและเทคโนโลยี?

คำตอบ:


15

ฉันไม่คิดว่ามันจะเป็นอันตรายต่อโอกาสของคุณ C # กำลังเป็นที่นิยมมากขึ้นโดยเฉพาะกับ XNA และ SlimDX ฉันใช้ทั้ง C # และ C ++ และต้องบอกว่าฉันชอบ XNA อย่างมาก การทำงานกับมันสะอาดกว่า แต่ไม่มากจนรู้สึกว่าคุณไม่ได้ทำอะไรเลย

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

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


+1: คำตอบที่ดี คุณคิดว่ามีความคาดหวังว่าผลงานของคุณควรจะดีขึ้นตั้งแต่คุณใช้ XNA หรือไม่? ตัวอย่างเช่นหนึ่งในคลาสฮาร์ดแวร์ของฉันเราได้รับเลือกในการเขียนโครงการออกแบบของเราในแอสเซมบลี HC12 หรือใช้ C แต่ด้วย C โครงการของเราจะต้องน่าสนใจมากขึ้นเนื่องจากความง่ายในการเขียนโปรแกรมใน C
อลัน

ฉันไม่คิดว่าจะมี มันเป็นเครื่องมือในการแก้ปัญหาและเหตุผลที่ฉันบอกว่าผลิตภัณฑ์สุดท้ายจะดีขึ้นเพราะมีเวลาในการออกแบบการแสดงผลน้อยลงและใช้เวลากับงานเกมจริงมากขึ้น
The Duck Communist

เว้นแต่ว่าคุณกำลังมองหางานกราฟิกโดยเฉพาะคนส่วนใหญ่จะไม่มองหาการขัดแบบกราฟิกในผลงาน ทำบางสิ่งที่ดูมีเสน่ห์มากกว่าสวย ในแง่นี้ XNA เทียบกับ C ไม่สำคัญเลยตราบใดที่มันสนุก
coderanger

แม้ว่าคุณต้องการให้ดูสวย แต่การใช้เครื่องมือเรนเดอร์เช่น Sunburn ที่ด้านบนของ XNA สามารถช่วยได้มาก!
Chris Ridenour

10

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

การทำงานกับ C # และ XNA ช่วยให้ฉันจดจ่อกับเป้าหมายการเรียนรู้หนึ่งเดียว ("อะไรที่ทำให้เกมเป็นเกมเห็บ") เมื่อเทียบกับเป้าหมายการผสม ("ฉันจะเรียนรู้ X และสร้างเกมได้อย่างไรในเวลาเดียวกัน") ฉันพบว่าเมื่อใดก็ตามที่ฉันรวมเป้าหมายฉันลงเอยด้วยผลลัพธ์สุดซึ้ง แม้ว่าการเริ่มต้นในเขตความสะดวกสบายของฉันและการพึ่งพา XNA ช่วยให้สิ่งต่าง ๆ ดำเนินไปได้


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

3

หากคุณสามารถสร้างเกมที่สนุกและจริง ๆ แล้วคุณเป็นวิศวกรที่มีความสามารถคุณไม่มีอะไรต้องกังวล ไม่มีใครจะทำให้คุณคิดว่าคุณทำเกมอย่างไร

เกมไม่ได้รับการบำรุงรักษาในแบบที่ผลิตภัณฑ์ซอฟต์แวร์อื่น ๆ มีอยู่มากมาย โค้ดที่ใช้ทิ้งน้อยกว่าทำในอุตสาหกรรมเอฟเฟกต์พิเศษ แต่เรายังสามารถหลบไปได้ด้วยวิธีที่รวดเร็ว

เพิ่งได้งานทำ ณ สิ้นวันนั้นเป็นเรื่องการพัฒนาเกม


3

ฉันได้รับการบอกว่า:

  1. เนื้อหามีความสำคัญมากกว่าเครื่องมือที่ใช้กับข้อยกเว้นบางประการ

  2. แม้ว่าฐานของเกมที่ใหญ่ที่สุดคือ C ++ แต่เป็นเพราะเครื่องมือได้รับการพัฒนาใน C ++ หากคุณไม่ได้เข้ารหัสเครื่องมือเป็นไปได้ว่าคุณจะไม่เขียนโปรแกรมใน C ++

แก้ไข: นอกจากนี้การมีโครงการสาธิตที่สมบูรณ์ในสิ่งใด (C # ฯลฯ ) นั้นดีกว่าการมีบางสิ่งที่ไม่สมบูรณ์ในภาษาที่ยากขึ้น (C ++ เป็นต้น)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.