บทที่ 7: การทดสอบและปรับปรุงเกม
7.1 การทดสอบเกม
การทดสอบเกมเป็นขั้นตอนสำคัญในการตรวจสอบว่าเกมที่พัฒนาไปนั้นทำงานได้ตามที่ตั้งใจหรือไม่ การทดสอบจะช่วยให้เรารู้ว่าเกมมีข้อผิดพลาด (bugs) หรือปัญหาอะไรบ้าง เพื่อที่จะสามารถแก้ไขได้ก่อนนำเกมไปให้ผู้เล่นได้สัมผัส
วิธีการทดสอบเกมใน Unity
-
การใช้โหมด Play ใน Unity:
- Unity มีโหมด Play Mode ที่ช่วยให้คุณสามารถทดสอบเกมได้ภายใน Unity Editor โดยตรง
- คุณสามารถเริ่มทดสอบเกมได้โดยการคลิกที่ปุ่ม Play ซึ่งอยู่ที่มุมบนกลางของ Unity Editor
- เมื่อคุณกดปุ่ม Play, Unity จะเปลี่ยนเป็นโหมดการเล่นจริง ๆ ที่คุณสามารถควบคุมตัวละครและเล่นเกมได้เช่นเดียวกับผู้เล่นในโลกจริง
-
การตรวจสอบการทำงานของเกม:
- ในโหมด Play คุณสามารถตรวจสอบว่าตัวละครสามารถเคลื่อนที่ได้หรือไม่, การเก็บเหรียญเพิ่มคะแนนหรือเปล่า, และระบบอื่น ๆ ทำงานตามที่คาดหวังไว้หรือไม่
- ระหว่างทดสอบ คุณสามารถดูค่าต่าง ๆ ใน Inspector และ Console เพื่อดูว่าข้อมูลถูกต้องหรือไม่ เช่น คะแนนถูกเพิ่มขึ้นเมื่อเก็บเหรียญหรือไม่ หรือฟังก์ชันต่าง ๆ ทำงานตามที่ตั้งใจหรือไม่
-
การตรวจสอบ Console สำหรับการตรวจจับข้อผิดพลาด:
- Console ใน Unity เป็นเครื่องมือที่ใช้ในการตรวจสอบและแสดงผลการทำงานของเกม รวมถึงข้อความแจ้งเตือนและข้อผิดพลาด
- หากเกิดข้อผิดพลาดในโค้ดหรือการทำงานของเกม Console จะเตือนให้คุณทราบว่ามีข้อผิดพลาดเกิดขึ้น พร้อมกับแสดงรายละเอียดของข้อผิดพลาดนั้น
- คุณสามารถเพิ่มข้อความตรวจสอบการทำงานของโค้ดโดยใช้
Debug.Log()
เพื่อช่วยในการตรวจสอบปัญหาต่าง ๆ เช่น:
Debug.Log("ผู้เล่นได้เก็บเหรียญแล้ว!");
-
การทดสอบกับอุปกรณ์จริง:
- หากเกมของคุณจะถูกนำไปเล่นบนอุปกรณ์ต่าง ๆ เช่น โทรศัพท์มือถือหรือเครื่องคอนโซล คุณควรทดสอบเกมบนอุปกรณ์จริงเพื่อให้แน่ใจว่าเกมทำงานได้อย่างราบรื่น
- คุณสามารถใช้ Unity Remote สำหรับการทดสอบเกมบนมือถือในขณะที่เกมกำลังพัฒนาหรือทำการ Build เกมและติดตั้งบนอุปกรณ์นั้น ๆ
การแก้ไขปัญหาที่พบในขณะทดสอบ
-
การระบุข้อผิดพลาด (Bugs):
- เมื่อทดสอบเกม คุณอาจพบข้อผิดพลาดที่ต้องแก้ไข เช่น ตัวละครเคลื่อนที่ผิดพลาด หรือคะแนนไม่ถูกเพิ่มเมื่อเก็บเหรียญ
- การแก้ไขข้อผิดพลาดเริ่มต้นจากการระบุว่าเกิดข้อผิดพลาดที่ไหนในโค้ดหรือระบบของเกม
-
การใช้ Debugging Tools:
- Unity มีเครื่องมือ Debugger ที่ช่วยให้คุณสามารถติดตามโค้ดในขณะที่กำลังทำงานได้ เช่น การหยุดโค้ดในบางจุด (breakpoint) เพื่อตรวจสอบค่าตัวแปรหรือผลลัพธ์ที่เกิดขึ้น
- นอกจากนี้ คุณสามารถใช้
Debug.Log()
เพื่อแสดงข้อมูลใน Console และตรวจสอบว่าโค้ดทำงานตามที่คาดหวังหรือไม่
-
การตรวจสอบ Console Logs:
- Console Logs จะช่วยให้คุณเห็นข้อผิดพลาดหรือคำเตือนที่เกิดขึ้นในระหว่างการทดสอบ เช่น การเรียกฟังก์ชันที่ไม่มีอยู่ หรือการเข้าถึงตัวแปรที่ไม่ได้รับการกำหนดค่า
- ตัวอย่างข้อความข้อผิดพลาดที่ Console อาจแสดง เช่น
NullReferenceException
ซึ่งมักเกิดขึ้นเมื่อคุณพยายามเข้าถึงตัวแปรที่ยังไม่ได้กำหนดค่า
-
การแก้ไขข้อผิดพลาดในโค้ด:
- เมื่อคุณระบุข้อผิดพลาดได้แล้ว คุณสามารถกลับไปแก้ไขโค้ดในสคริปต์ได้ ตัวอย่างเช่น หากพบว่าโค้ดบางส่วนไม่ทำงานเพราะตัวแปรที่ไม่มีการกำหนดค่า คุณสามารถแก้ไขโดยการตรวจสอบและกำหนดค่าตัวแปรก่อนเรียกใช้งาน
-
การทดสอบซ้ำ:
- หลังจากแก้ไขข้อผิดพลาดแล้ว คุณควรทดสอบเกมอีกครั้งเพื่อดูว่าปัญหาได้รับการแก้ไขหรือไม่ และเกมทำงานได้อย่างถูกต้องตามที่คาดหวัง
สรุป:
- การทดสอบเกมใน Unity สามารถทำได้โดยการใช้โหมด Play เพื่อทดสอบการเล่นเกมและตรวจสอบการทำงานของระบบต่าง ๆ ในเกม
- การแก้ไขปัญหาที่พบในขณะทดสอบ สามารถทำได้โดยการระบุข้อผิดพลาดจาก Console Logs หรือใช้ Debugging Tools เพื่อตรวจสอบการทำงานของโค้ด จากนั้นทำการแก้ไขปัญหาในโค้ดและทดสอบซ้ำจนกว่าจะแน่ใจว่าเกมทำงานได้ถูกต้อง