แสดงบทความที่มีป้ายกำกับ Xbox แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Xbox แสดงบทความทั้งหมด

Chiangmai Game Dev Conference # 1



สวัสดีเพื่อนชาว CMDev ทุกคนนะครับ เว็บนี้ก็ทำขึ้นมาเพื่อเป็นที่แลกเปลี่ยนความรู้สำหรับคนทำเกมกันนะครับ
และในการนี้ ก็จะมีการจัดสัมนาเล็กๆครั้งแรกขึ้นในปลายเดือนนี้ครับ
ด้วยหัวข้อชวนกังแข้งกังขา ว่าทำไมต้องเป็น Xbox (และทำไมต้อง Begins ^^' )

เอาเป็นว่าถ้าใครเคยเขียนเกมเล่น ทั้งเกมแฟลช เกมโมบาย หรือเกมพีซี

มาหาคำตอบกันวันที่ 21 นี้นะครับ


ก้าวแรกสู่การพัฒนาเกมส์บนเครื่อง Xbox360


.:: 21 กรกฎาคม 2550 ::.

ชั้น1 อาคารอาร์เทค ตรงข้ามแม่วังสื่อสาร
ในโครงการเชียงใหม่บิสิเนสพาร์ค (หลังคาร์ฟูร์)

รอบเช้า (สำหรับบุคคลทั่วไป)


09:00 – 9:30 ลงทะเบียน
09:30 – 9:45 เปิดการสัมมนา โดยรักษาการผู้จัดการสาขา SIPA สาขาเชียงใหม่
09:45 – 10:00 Keynote : Game Industry : Current Status (สถานะการณ์ปัจจุบันของอุตสาหกรรมเกมส์)
10:00 – 11:00 XNA Game Studio Express : Overview
11:00 – 11:15 Break
11:15 – 12:15 Torque X : Game Engine for XNA
12:15 – 12:30 SIPA Project : Game Development Training

รอบบ่าย (สำหรับสถาบันการศึกษา)

13:00 – 13:30 ลงทะเบียน
13:30 – 13:45 เปิดการสัมมนา โดยรักษาการผู้จัดการสาขา SIPA สาขาเชียงใหม่
13:45 – 14:00 Keynote : Game Industry : Current Status (สถานะการณ์ปัจจุบันของอุตสาหกรรมเกมส์)
14:00 – 15:00 XNA Game Studio Express : Overview
15:00 – 15:15 Break
15:15 – 16:15 Torque X : Game Engine for XNA
16:15 – 16:30 SIPA Project : Game Development Training

---------------------------

เข้าฟรีครับ ถ้าใครสนใจ จะลงชื่อจองที่ไว้ในนี้ก่อนเลยก็ได้นะครับ
(ลงชื่อแล้วขอเบอร์หรือเมล์ติดต่อกลับด้วยนะครับ)

ความเป็นมาของ XNA

ไมโครซอฟต์ได้เริ่มต้นพัฒนา XNA มานานหลายปีแต่ไม่เป็นที่เปิดเผย จนกระทั่งปี 2004 ไมโครซอฟต์ได้ทำการเปิดตัว XNA เป็นครั้งแรกในงาน GDC (Game Developer Conference) ซึ่งเป็นงานสัมมนาประจำปีของนักพัฒนาเกมที่ใหญ่ที่สุด

XNA เป็นเครื่องมือสำหรับพัฒนาเกมที่ต่างจาก DirectX เนื่องจาก XNA ไม่ได้เป็นแค่เพียง framework เหมือนกับ DirectX แต่ยังรวมเอาเครื่องมือสำหรับพัฒนาเกมมาด้วยอีกหลายอย่าง ซึ่งรวมถึง IDE (Integrated Development Environment) ที่พัฒนามาจาก Microsoft Visual Studio ด้วย เครื่องมือเหล่านี้ทำให้การพัฒนาเกมสะดวกขึ้นมาก

อย่างไรก็ตาม หลังจากการเปิดตัวในปี 2004 แล้ว XNA ก็เงียบหายไป แม้กระทั่งการเปิดตัว Xbox 360 ในงาน E3 ในเดือนพฤษภาคม 2004) ก็ไม่มีอะไรให้เห็น จนกระทั่งปลายปี 2005 ไมโครซอฟต์ก็ออก DirectX 10 สำหรับพัฒนาเกมในวินโดว์สวิสต้า ซึ่งเป็นสัญญาณว่า XNA นั้นไม่ได้เป็นสิ่งที่จะมาแทน DirectX ซึ่งข้อเท็จจริงนี้ก็ชัดเจนขึ้นเมื่อไมโครซอฟต์ก็ออก XNA (Build March 2006 CTP) มาให้นักพัฒนาเกมได้ทดลองใช้กันตอนต้นปี 2006

XNA เวอร์ชั่นแรกนี้มีเครื่องมือสำหรับ build ที่เรียกว่า XNA build มีลักษณะการทำงานคล้ายกับ Ants ซึ่งเหมาะสำหรับการ build project ขนาดใหญ่ ซึ่งไมโครซอฟต์ได้แสดงให้เห็นความสามารถนี้โดยการเผยแพร่ source code ของ MechCommander 2 ออกมาพร้อมกันนี้ด้วย ซึ่งเป็นการแสดงศักยภาพของ XNA ได้เป็นอย่างดี แต่บรรดานักพัฒนาก็ไม่ได้ให้ความสนใจต่อ XNA มากนัก โดยเฉพาะนักพัฒนาขนาดกลางและขนาดเล็ก

จนกระทั่งเดือนสิงหาคม 2006 ไมโครซอฟต์ก็ได้จัดงาน Gamefest Conference (งานสัมมนาใหม่สำหรับนักพัฒนาเกมซึ่งจัดโดยไมโครซอฟต์เอง) และได้ออก XNA Game Studio Express beta 1 ในวันที่ 30 สิงหาคม 2006 ในเวอร์ชั่นนี้มี starter kit (ตัวอย่างสำหรับเป็นต้นแบบพัฒนาเกม) มาด้วยหนึ่งเกม คือ "Space Wars" แต่ XNA เวอร์ชั่นนี้ก็มีความสามารถทางด้าน 3D จำกัด โดยเฉพาะอย่างยิ่งการ import 3D model ซึ่งไม่มีเครื่องมือให้ทำได้โดยสะดวก ทำให้ XNA ในตอนนั้นเหมาะสำหรับการพัฒนาเกม 2D ขนาดเล็กเท่านั้น

ในที่สุดเมื่อเดือนธันวาคม 2006 ไมโครซอฟต์ก็ออก XNA Game Studio เวอร์ชั่นสมบูรณ์ออกมาโดยมี Content Pipeline ที่ทำให้การ import กราฟฟิกและ 3D model ทำได้สะดวกมากขึ้น

นักพัฒนาเกมเริ่มให้ความสนใจ XNA อย่างจริงจังเนื่องจากปัจจัยสองประการ ปัจจัยแรกคือเป็นเครื่องมือพัฒนาเกมที่ดีและแจกฟรี แต่ประการสำคัญคือการที่ไมโครซอฟต์ได้ทำให้เกมที่สร้างขึ้นจาก XNA นี้เล่นได้ทั้งในพีซีและเครื่องเล่นเกม Xbox 360 (โดยนักพัฒนาต้องเสียค่าสมาชิก "Creators Club" ปีละ 99 เหรียญสหรัฐ)

นอกจากนี้ไมโครซอฟต์ก็ประกาศว่าในกลางปี 2007 นี้ (น่าจะเป็นในงาน Gamefest 2007) จะออก XNA Game Studio Professional สำหรับนักพัฒนาที่ต้องการพัฒนาเกมขนาดใหญ่โดยใช้ XNA และจะออก XNA Studio ซึ่งเป็นเครื่องมือสำหรับบริษัทเกมขนาดใหญ่ (ระดับ AAA Studio) โดยเฉพาะด้วย

จุดประสงค์ของการพัฒนา 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 ได้ในอนาคตด้วย