What is the XNA Framework?
posted on 15 Feb 2008 11:39 by xnanoob in Tutorials
What is the XNA Framework?
วันนี้เราจะมาทำความรู้จักกับ XNA Framework กัน มันก็คือกลุ่มของ .NET library ที่ใช้เขียนเกมได้ทั้งบนวินโดว์และXBOXครับ ส่วนเครื่องมือที่ใช้เขียนมีชื่อว่า XNA Game Studio Express โดยต้องเขียนด้วยภาษา C# เท่านั้นครับ และด้วยการมีพื้นฐานมาจากDirectXบวกกับความง่ายของมัน ทำให้กำลังได้รับความนิยมอย่างมากในขณะนี้
แล้วต้องสร้างมันขึ้นมา? นั่นก็เพราะว่าตลาดเกมกำลังบูมๆๆๆๆ และไมโครซอฟเค้าก็อยากสนับสนุนให้โปรแกรมเมอร์สมัครเล่นหันมาเขียนเกมกันมากขึ้น ที่สำคัญคือ XNA Framework เนี่ยใช้เขียนเกมลงไอ้เจ้า XBOX ได้ เหมือนกับว่าเป็นการทำให้ตลาด XBOX ยิ่งขยายวงกว้างมากขึ้น นอกจากนี้เครื่องมือที่ใช้เขียนเกมยังแจกให้ใช้ฟรีๆอีกด้วยก็คือ Visual Studio (C# Express) เนี่ยแหละ ยิ่งทำให้คนหันมาใช้และเป็นที่รู้จักมากขึ้นอีก เรียกได้ว่าทั้งขึ้นทั้งร่องเลย
สมัยที่เวอร์ชั่นเบต้าออกมาใหม่ๆเมื่อประมาณปลายเดือนสิงหาปีที่แล้ว (ปัจจุบันเวอร์ชั่น 1.0 Refresh) มีความรู้สึกว่ายังไม่เป็นที่นิยม (ก็มันเพิ่งออกหนิหว่า) ตอนนั้นผมเคยลองเขียนเหมือนกัน แต่ว่าพวก Community หรือ Tutorial ออนไลน์สำหรับเขียน XNA หายากมากๆ เวลาอยากรู้ว่าอะไรเป็นยังไงก็หาไม่ได้ ปัจจุบันนี้สบายแล้วครับมีคนเริ่มเขียนบลอคเกี่ยวกับ XNA เยอะ นอกจากนี้ยังมีพวกเว็บบอร์ดต่างๆที่คนเข้ามาคุยกันเกี่ยวกับการพัฒนาเกมด้วย XNA ลองเซิจหา Tutorial ในกูเกิ้ลก็มีเพียบ อยากรู้อะไรก็หาได้ง่ายขึ้นเยอะ ใครที่ยังเขียนอย่างอื่นอยู่ ไม่ลองหันมาเขียน XNA แล้วจะเสียใจครับ
เป้าหมายของ XNA
1. เค้าต้องการจะยกระดับการพัฒนาเกม ไม่ให้มันหยุดอยู่แค่อุปกรณ์ใดอุปกรณ์หนึ่ง เช่น พีซีอย่างเดียว หรือคอนโซลอย่างเดียว แต่ XNA จะเป็นก้าวสำคัญที่ทำให้การพัฒนาเกมบนพีซีและคอนโซลควบคู่ไปด้วยกันครับ พูดง่ายๆก็คือ เขียนโค้ดครั้งเดียวแต่รันได้ทั้งสองที่ แต่ว่ามันไม่100%เสมอไปที่โค้ดทั้งหมดจะใช้ข้ามกันได้ อาจจะมีบางส่วนเล็กๆที่ต้องสงวนไว้ใช้ของใครของมัน เช่น โค้ดส่วนควบคุมจอยสติ๊กก็เป็นของคอนโซล เป็นต้น ก็ต้องศึกษาลึกลงไปในรายละเอียดกันต่อไปครับ
2. “ง่าย” สั้นๆครับ การสร้างเกมอาจเป็นเรื่องยากสำหรับหลายๆคนโดยเฉพาะเทคโนโลยีก่อนๆส่วนใหญ่จะคำนึงถึงความ “เจ๋ง” ของเกมที่ถูกสร้างออกมา โดยให้ความสำคัญของความ “ง่าย” ในการพัฒนาน้อยกว่า ตอนนี้ XNA ทำให้การพัฒนาเกมง่ายขึ้นเป็นกองโดยยังรักษาความ “เจ๋ง” ของเกมเอาไว้ ผมสามารถสร้างเกมภายในเวลาไม่เกิน 5 นาที โดยไม่ต้องเขียนอะไรเลย ถ้าเป็นเมื่อก่อนก็ต้องมานั่งงมเขียนทุกอย่างตั้งแต่สร้างวินโดว์ เรียกใช้การ์ดจอ แฮนเดิ้ลอีเว้นท์ต่างๆ และอีกเพียบ ทำให้ต้องแบ่งหัวสมองที่ควรจะใช้เขียนเกมเต็มๆเอาไปใช้กับเรื่องพวกนี้ด้วย แต่ตอนนี้โชคดีที่ XNA Framework จัดการให้หมดทุกอย่างแล้วครับ สิ่งแรกที่เราต้องทำก็แค่… “เริ่มเขียนเกมได้เลย!”
เอกสารอ้างอิง จาก เว็บไซด์ http://www.xnanoob.com
วันนี้เลยมีบทสัมภาษณ์จากคนที่หันมาใช้ XNA มาเล่ากันให้ฟังนะค่ะ
เสียงสะท้อนจากคนที่ใช้ XNA
ไอ้เก้ เด็กปี 4 มหาลัยชื่อดังอักษรย่อ K ย่านบางเขน(เพื่อนหนูเอง)
เก้ : "ตอนอยู่ปีสามก้อไปทำโปรเจคเกมส์นะครับ ทำด้วยภาษา DarkBasic ก้อเห็นว่า มันเขียนง่ายดี แต่พอเขียนๆ ไป รู้สึกว่าชีวิตมันเศร้านะครับ การจะทำ Main loop หรืออะไรก้อยากไปหมด การจัดการ File และ sourcecode รู้สึกไม่ค่อยดีเลย ยิ่งต้องทำงานเป็นทีมแล้วยิ่งแล้วใหญ่ เพื่อนอีกคนมาแก้โค้ด หรือเอาส่วนของเพื่อนเข้ามาก้อลำบาก เพราะทำเป็น OOP ไม่ค่อยจะเป็น
พอเขียนได้ไปสักพัก เพื่อนอีกคนแนะนำมาให้ใช้ XNA โห.. พี่ชีวิตดีขึ้นจริงๆ มีเวลาไปดูหนังกับแฟนไม่ต้องเครียดมาก เพราะใช้ Microsoft Visual C# 2005 Express Edition มีการเขียนแบบ OOP FrameWork ของ XNA ก็มีการจัดการโค้ดที่ง่าย method ต่างๆ ก้อมีให้ใช้ help ก้อเยอะ กราฟฟิคที่ทำไว้ก่อนหน้าก้อไม่ได้เสียเปล่าไปซะทีเดียว นำมาใช้ใหม่ได้ คุยกับเพื่อนก้อง่ายขึ้นแบ่งแยกงานกันทำได้ XNA Framework ดีจริงๆครับ..."
คุณ G โปรแกรมเมอร์บริษัทแห่งหนึ่งย่านรัชดา
คุณ G : "ตอนแรกเจ้านายให้เขียนโปรแกรมพวก simulate 3D ก้อไม่รู้จะทำไงดี ใช้ direct X ก็งงมาก งมไปหลายสัปดาห์เจ้านายมาถาม ถึงไหนแล้ว ก็นิ่งสนิท ไม่รู้จะตอบยังไง เครียดมากเลย เพราะปกติเขียนแต่ C# ทำพวก web app ซะมากกว่า
เพื่อนแนะนำให้มาใช้ XNA ในการทำ Simulate พอดีมีพื้นฐาน C# อยู่ ชีวิตง่ายขึ้นเลยครับ มี method ให้ใช้มากมาย ยิ่งเป็น c# แล้วด้วยอะไรๆ ก้อง่ายสดวกขึ้นเยอะ ขอบคุณ XNA มากครับที่ทำให้เจ้านายไม่ด่าผมและมีงานทำต่อไป "XNA ของเค้าดีจริง ลองดิ" "
น้องแอน เด็กปี 4 มหาลัยชื่อดังอักษรย่อ K ย่านบางเขน(เพื่อนหนูเอง)
แอน: "คือแอนก้อเป็นคู่โปรเจ็คของเก้เค้าอะนะค่ะ ทำกันสองคน ตอนแรกก้อมีปัญหามากเลย เรื่องการแบ่งงานและมาโค้ดของแต่ละคนมารวมกัน เนื่องจากใช้ DarkBasic ก้อไม่ค่อยมีประสบการณ์จริงเท่าไหร่ด้วย ทะเลาะกันอีกต่างหาก DarkBasic มันเขียนง่ายก้อจริงแต่ไม่มี Framework เลย เครียดมาก กลัวไม่ทัน
พอหันมาใช้ XNA Framework ก็โอเคขึ้นนะค่ะ เขียนเป็น class จัดการโค้ดได้ง่ายขึ้น การคุยกันเขียนเป็นระบบดีนะ ถ้าไงเพื่อนๆ ใครทำโปรเจ็คเกมส์ก้อลองดู XNA นะค่ะ"
คุณยุทธ โปรแกรมเมอร์บริษัทแห่งหนึ่งแถวรัชโยธิน
คุณยุทธ : "ผมเชื่อว่า การทำเกมส์นั้นไม่ยาก เพื่อนๆ ก้อทำได้ ถ้ามีเครื่องมือที่โอเค ขอแค่พอเข้าใจ concept OOP และตัว Framework ของมัน XNA จะเป็นทางออกให้คุณ"
.........
ถ้าไงเพื่อนๆ คนไหนเคยมีประสบการณ์จากภาษาอื่นๆ หรือข้อดีข้อเสียของ XNA มาเล่าให้ฟังกันบ้างนะค่ะ จบแระค่ะ บายค่ะ
งุงิ งุงิ
บริการห้องเช่า อพาร์ตเมนต์ ห้องเช่า รายเดือน พหลโยธิน 24 ใกล้เซ็นทรัลลาดพร้าว








#1 By NinkungZ on 2008-02-15 15:44