จุดประสงค์ของการพัฒนา XNA

ใน XNA Team Blog, Boyd Multerer (Product Unit Manager - XNA) กล่าวว่า XNA นั้นเป็นผลิตภัณฑ์ที่จะช่วยแก้วิกฤตในอุตสาหกรรมเกม ซึ่งเป็นอุตสาหกรรมที่ทำยากขึ้นทุกที กราฟฟิกที่ดีขึ้น เครื่องที่ดีขึ้น จนหลายเกมเน้นไปที่ความสวยงามมากกว่าสนุก เกมจำนวนมากขาดทุน ในขณะที่บางเกมประสบความสำเร็จอย่างมาก แต่ต้นทุนการผลิตก็เพิ่มสูงขึ้นอย่างมาก

ปัญหานี้ทำให้วงการเกมเกิดความกลัวที่จะทดลองกับแนวความคิดสร้างสรรใหม่ๆ ส่วนใหญ่จะยึดกับแนวการเล่นและประเภทของเกมที่เป็นที่รู้จักกันเป็นอย่างดีเท่านั้น เพราะเป็นสิ่งที่พอจะ "คาดหวังผล" ได้ และเชื่อว่าความเสี่ยงในทางด้านการเงินจะลดลง ผลที่ตามมาคือวงการเกมเริ่มที่จะไม่มีสิ่งใหม่ให้เห็น

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

แต่ในขณะเดียวกันการเข้าสู่วงการพัฒนาเกมของเด็กรุ่นใหม่ๆแม้จะจบการศึกษาสูงและมีความสามารถก็เป็นไปได้อย่างยากลำบาก เนื่องจากการที่วงการเป็นวงการที่เสียงและต้องการความเชี่ยวชาญสูง

Development Tools ส่วนใหญ่ออกแบบมาเพื่อให้ coder ที่มีความชำนาญสูงใช้ แต่เรามักพบว่าคนที่ออกแบบเกมได้ดีมักไม่ใช่ coder เหล่านั้น

การพัฒนา XNA นี้ทีมงานพัฒนาได้หยิบเอาหลักการของ .NET Compact Framework (สร้างโดย Mike Zintel) มาใช้ใน XBox 360 นั่นเอง

ในการเปิดตัวในงาน GDC 2006 ไมโครซอฟต์ได้แสดงการ run โปรแกรมแบบ managed code บน Xbox 360 development kit และการนำเสนอส่วนใหญ่เน้นไปที่การช่วยให้นักออกแบบและทีมเกมสามารถสร้างเกมได้เร็วขึ้นและประหยัดต้นทุนที่สุด สิ่งที่น่าตื่นเต้นที่สุดคือการออกมาของ CTP และการที่ไมโครซอฟต์ลงทุนเผยแพร่งานกราฟฟิกและ souce code ของ MechCommander 2 (ไม่รวมเน็ตเวิร์กโค้ด) ออกมาเป็นการตอบแทนต่อชุมชนพัฒนาเกม

สิ่งนี้เองที่เป็นประโยชน์ต่อนักพัฒนา (อย่างเราๆ) มาก เนื่องจากได้เห็นว่าเกมนั้นพัฒนาขึ้นมาอย่างไร ทีม XNA พยายามอย่างมากที่จะกระตุ้นในนักพัฒนารุ่นใหม่สร้างเกมที่มีความคิดสร้างสรรมากขึ้น จนถึงกับเอ่ยว่าอยากให้เหมือนกับเวที Sundance ของวงการภาพยนต์โน่นทีเดียว ซึ่งจะทำให้การเข้าสู่วงการเกมนั้นทำได้ง่ายขึ้น

ทีม XNA วางแผนจะสร้าง XNA ให้เป็นเครื่องมือที่ดีสำหรับการสร้าง Casual games แล้วค่อยๆพัฒนาไปสู่การเป็นเครื่องมือสำหรับเกมขนาดใหญ่แบบ FPS ในอนาคต ที่สำคัญคือต้องการให้ XNA กลายเป็น tools สำหรับ game studio ในทุกระดับ ตั้งแต่ทีมขนาดเล็กที่เริ่มเข้าสู่วงการ จนถึงระดับมืออาชีพ

วัตถุประสงค์ของ XNA

  1. Cross-platform Game Development Tools - เกมที่สร้างขึ้นจะสามารถเล่นได้ทั้งใน Windows และ Xbox ไมโครซอฟต์ต้องการให้นักพัฒนาสามารถสร้างเกมใน Windows ได้อย่างสะดวกและรวดเร็ว (รวมทั้งต้นทุนต่ำด้วย) แล้วสามารถสร้างเวอร์ชั่นสำหรับ Xbox ได้อย่างง่ายดาย เป้าหมายคือ code จะมีความเหมือนกันประมาณ 95% ส่วนที่ต่างกันก็คือการใช้ features ที่เฉพาะเจาะจงสำหรับ platform นั้นๆ ซึ่งหมายความว่าเกมส่วนใหญ่จะไม่มี code ที่แตกต่างกันเลย
  2. Simplify Game Development - คือทำให้การพัฒนาเกมนั้นง่ายขึ้น เป้าหมายภายในทีมของ XNA นั้นต้องการให้

    • นักออกแบบเกมสามารถสร้างเกมที่ออกแบบเองได้ภายในห้านาทีแรกที่เริ่มหัด XNA
    • โปรแกรมเมอร์ไม่ต้องสนใจเรื่องการจัดการ Windows, Graphics Card, Graphics Mode, Input, Message pump สิ่งที่ต้องสนใจมีอย่างเดียวคือการเขียน code เกม
    • การจัดการด้าน resource ก็ทำได้ง่าย โดยมีเครื่องมือที่ชื่อ "Content Pipeline" ที่ทำให้การส่ง content เข้าไปในเกมทำได้ง่ายทั้งการ import, compiling, และ loading ในเกม
    • มี "Starter Kits" ให้ คือเป็นเกมที่สมบูรณ์ทั้ง resource และ code ที่ใช้เป็น project template ได้เลย นักพัฒนาเกมสามารถเริ่งสร้างเกมโดยการปรับแต่ง template ดังกล่าวได้ทันที


นอกจากนี้ไมโครซอฟต์ได้กำหนด business model ไว้ว่า tools ต่างๆที่ใช้พัฒนาจะฟรี แต่ให้นักพัฒนาที่ต้องการพัฒนาเกมใน Xbox 360 ต้องเสียค่าสมาชิกปีละ $99.00 เพื่อที่จะ run program ที่ไม่ได้ signed บน Xbox ได้ ซึ่งไมโครซอฟต์หวังว่าระบบสมาชิกนี้เองที่จะทำให้สามารถควบคุม business model ของเกมเหล่านี้ได้ รวมทั้งการที่จะลงทุนในเกมที่น่าสนใจบางเกม

ไมโครซอฟต์มีความคาดหวังว่าจะทำให้เด็กๆมีความสนใจและตื่นตัวในการพัฒนาเกมมากขึ้น รวมทั้งได้รับการสนับสนุนจากผู้ปกครองและสถาบันการศึกษาที่จะบรรจุการพัฒนาเกมเข้าไปในการเรียนการสอนมากขึ้น

XNA นั้นไม่ใช่เป็นแค่เครื่องมือสำหรับนักพัฒนาระดับต้นเท่านั้น เราสามารถสร้างเกมที่สมบูรณ์แบบที่ใช้ความสามารถระดับสูงเช่น shaders และ high-end graphics ได้ด้วย

ไมโครซอฟต์ได้จับมือกับ Garage Games เจ้าของเกมเอนจิ้นชื่อดัง "Torque" เพื่อออก "TorqueX" ซึ่งเป็นเวอร์ชั่นที่ใช้ manage code และ run เกมใน Xbox ได้ ซึ่ง Garage ได้ออกเกมตัวอย่างมาโชว์ได้อย่างน่าประทับใจ คือ Marble-Blast สำหรับ Xbox การที่มี tools ของ Garage เข้ามาเสริมนี่เองที่ทำให้ XNA ง่ายขึ้นมากสำหรับนักพัฒนาหน้าใหม่ และนักออกแบบเกมทั่วไป

ข้อจำกัดของ XNA เวอร์ชั่นแรกนี้คือ เกมที่สร้างขึ้นสามารถเล่นใน PC เครื่องอื่นๆได้ แต่หากจะเล่นใน Xbox เครื่องอื่น จำเป็นต้องส่ง source code ไปกับเกมด้วย ซึ่งไมโครซอฟต์ประกาศว่าข้อจำกัดนี้จะหมดไปในอนาคต

นอกจากนี้ไมโครซอฟต์ยังมีแผนการที่จะออก XNA Game Studio Professional ซึ่งจะทำให้สามารถพัฒนา Commercial Game สำหรับ Xbox 360 ได้ในอนาคตด้วย

1 ความคิดเห็น:

Wintermute กล่าวว่า...

เริ่มเห็นแวว ความพ่ายแพ้ของ Sony ใน สมรภูมิ Console แล้ว หลังจาก Portable music ก็ถูก Apple อัดลงไปกอง เครื่องใช้ไฟฟ้า ก็โดน Samsung บี้มาติดๆ