การตรวจสอบความเป็นจริงในการพัฒนาเกม: ทำไมสตูดิโอ AAA ยังคงดิ้นรนกับคุณภาพโค้ดและการทดสอบ

ทีมชุมชน BigGo
การตรวจสอบความเป็นจริงในการพัฒนาเกม: ทำไมสตูดิโอ AAA ยังคงดิ้นรนกับคุณภาพโค้ดและการทดสอบ

อุตสาหกรรมเกมยังคงต้องต่อสู้กับความท้าทายพื้นฐานในการพัฒนาซอฟต์แวร์ที่ภาคเทคโนโลยีอื่นๆ แก้ไขได้เมื่อหลายปีก่อน การอภิปรายล่าสุดในหมู่นักพัฒนาเกมได้เน้นย้ำถึงปัญหาที่ยังคงมีอยู่เกี่ยวกับคุณภาพโค้ด แนวปฏิบัติในการทดสอบ และวัฒนธรรมการพัฒนาที่รบกวนแม้แต่สตูดิโอใหญ่ๆ

ช่องว่างในการทดสอบในการพัฒนาเกม

ในขณะที่บริษัทเทคโนโลยีส่วนใหญ่ได้ยอมรับแนวปฏิบัติการทดสอบและการตรวจสอบโค้ดอย่างครอบคลุม อุตสาหกรรมเกมยังล้าหลังอย่างมีนัยสำคัญ นักพัฒนาหลายคนรายงานว่า unit testing ยังคงไม่มีอยู่เลยในการพัฒนาเกม โดยผู้เชี่ยวชาญบางคนระบุว่าพวกเขาไม่เคยพบ unit tests ที่เหมาะสมตลอดอาชีพทั้งหมดในอุตสาหกรรมนี้ สิ่งนี้ตรงข้ามอย่างสิ้นเชิงกับบริษัทเทคโนโลยีใหญ่ๆ ที่การทดสอบและการตรวจสอบโค้ดเป็นแนวปฏิบัติมาตรฐานที่ไม่มีใครตั้งคำถาม

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

แนวปฏิบัติทั่วไปในการพัฒนาเกมเทียบกับการพัฒนาซอฟต์แวร์มาตรฐาน:

  • การตรวจสอบโค้ด: พบได้ทั่วไปในสตูดิโอเกม เทียบกับ เป็นแนวปฏิบัติสากลในบริษัทเทคโนโลยี
  • การทดสอบหน่วย: หายากหรือไม่มีเลยในเกม เทียบกับ เป็นแนวปฏิบัติมาตรฐานในที่อื่น
  • การรวมระบบอย่างต่อเนื่อง: มีใช้ในสตูดิโอขนาดใหญ่ เทียบกับ การนำมาใช้อย่างแพร่หลาย
  • การทดสอบอัตโนมัติ: จำกัดเฉพาะการตรวจสอบการ build เทียบกับ ชุดทดสอบที่ครอบคลุม
  • การจำลองผู้เล่น: บางสตูดิโอใช้บอท เทียบกับ ไม่มีในภาคส่วนอื่น

ผลกระทบที่ทำลายล้างของวัฒนธรรม Crunch

วัฒนธรรม crunch ที่มีชื่อเสียงในการพัฒนาเกมสร้างวงจรของหนี้ทางเทคนิคและการตัดสินใจที่ไม่ดี สตูดิโอ Double-A มักจะตกเป็นเหยื่อของโครงการที่มีความทะเยอทะยานเกินไป ที่ scope creep และการขาดทิศทางที่ชัดเจนนำไปสู่สถานการณ์ที่เป็นไปไม่ได้ เมื่อกำหนดเวลาใกล้เข้ามา ทีมต้องเผชิญกับทางเลือกที่โหดร้าย: ปล่อยสิ่งที่พวกเขามีหรือละทิ้งงานหลายปีทั้งหมด

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

กับดักของ Custom Engine

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

ความซับซ้อนของการพัฒนาเกมสมัยใหม่ ตั้งแต่การจำลองฟิสิกส์ไปจนถึง rendering pipelines หมายความว่าบั๊กระดับ engine สามารถมีผลกระทบแบบน้ำตกตลอดทั้งโครงการ เมื่อรวมกับกำหนดเวลาที่เข้มงวดและการทดสอบที่จำกัด ความท้าทายทางเทคนิคเหล่านี้สามารถทำให้แม้แต่โครงการที่มีแนวโน้มดีตกรางได้

ผมคิดว่า 'วัฒนธรรม crunch' ใน gamedev จะเป็นจุดล่มสลายของมันเสมอ โดยเฉพาะในสตูดิโอ double-A ที่ดูเหมือนจะจบลงด้วยโครงการที่มีความทะเยอทะยานเกินไป ที่ scope creep และการขาดทิศทาง ต้นทุนจมจึงกลายเป็นมากเกินไปที่จะหันเหออกไป

ผลกระทบของขนาดสตูดิโอต่อแนวทางการพัฒนา:

  • สตูดิโอขนาดใหญ่: การตรวจสอบโค้ดเป็นมาตรฐาน, CI เป็นเรื่องปกติ, มีการทดสอบอัตโนมัติบางส่วน
  • สตูดิโอขนาดกลาง: แนวทางปฏิบัติที่หลากหลาย, มักประสบปัญหาในการจัดการขอบเขตงาน
  • สตูดิโอขนาดเล็ก: กระบวนการที่เป็นทางการน้อยที่สุด, มีความท้าทายในเรื่องเอนจินที่กำหนดเอง
  • ทุกขนาด: การทดสอบหน่วยยังคงไม่เป็นที่นิยมในทั่วทั้งอุตสาหกรรม

การทำลายวงจร

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

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

อ้างอิง: PROBABLY DANCE