ฤาว่า Call of Duty ในปี 2016 จะมาพร้อมกับ Engine ใหม่
จากที่ผมเคยทำบทวิเคราะห์ความน่าจะเป็นของเกม Call of Duty ภาคที่จะออกวางจำหน่ายในปี 2016 นี้ ซึ่งเปอร์เซ็นความน่าจะเป็นส่วนใหญ่ล้วนเทไปที่ภาคต่อของเกมซีรี่ย์ Ghost โดยหลังที่จากข้อมูลจากทาง Infinity Ward ที่ทวีตข้อความผ่าน twitter ของตนว่า Call Of Duty ภาค 2016 ยืนยันเป้นทางการแล้วว่าเจอกันแน่นอน รอไม่ไหวเลยที่อยากจะโชว์ให้เห็นถึงสิ่งที่เราทำการพัฒนา ซึ่งก็ยื่นยันอย่างแน่ชัดแล้วว่ามันจะมาให้เราได้ยลโฉมกันปลายปีนี้แน่นอน
เมื่อไม่นานมานี้มีความเคลื่อนไหวจากทาง Infinity Ward อีกครั้งหลังจากมีการประกาศรับสมัครโปรแกรมเมอร์ด้าน Engine Software Engineer ที่ทางเว็บไซต์ทางการของตน โดยรายละเอียดได้ระบุไว้ว่า ทางทีมงานต้องการที่จะเพิ่มประสิทธิภาพของ Engine ในด้านการ Texture,รายละเอียดรูปทรงเรขาคณิตและการปรับปรุงการใช้งานหน่วยความจำของตัว Engine ซึ่ง ณ ตอนนี้เราก็ยังไม่สามารถฟันธงอะไรได้ว่า Engine ที่ทีมงานกล่าวถึงจะเป็น Engine ตัวใหม่เปิดกล่องหรือจะเป็นเพียงการปรับปรุงเพิ่มประสิทธิภาพ Engine ตัวเก่าที่ดัดแปลงเพิ่มเติมมาจาก Engine เก่าแก่อย่าง id Tech 3 ซึ่งเป็นผลงานของนาย John Carmack หัวเรือใหญ่แห่ง id Software ซึ่งเคยเป็นตัวขับเคลื่อนให้กับเกมในตำนานอย่าง Quake III(1999),Wolfenstein: Enemy Territory (2003)Soldier of Fortune II: Double Helix (2002) ,Medal of Honor: Allied Assault (2002)+ÜberTools,Star Wars Jedi Knight: Jedi Academy (2003)และอีกมากมาย ซึ่งในภายหลังได้มีทีมผู้พัฒนาหลายเจ้าได้นำ Source code ซึ่งอยู่ในสถานะ GNU General Public License หรือฟรีแวร์ มาทำการดัดแปลงและใช้พัฒนาเกมของตนซึ่งทีมงาน Infinity Ward ก็คือหนึ่งในนั้น
เกม Quake III Arena เกมแรกที่ถูกกำเนิดมาพร้อมกับ id Tech 3
Call of Dutyภาคแรก ปฐมบทแห่งตำนานแห่งซีรี่ย์เกม FPS สุดยิ่งใหญ่ที่กวาดรายได้สูงสุดเป็นประวัติการทั่วโลก
ซึ่งในภาคแรกนี้ทางทีมงานได้นำ id Tech 3 Engine มาเพิ่มการแสดงผลแบบ DirectX 9 ลง(ตัวid Tech 3 engine ดั่งเดิมถูกแสดงผลโดยOpenGL)
มีข้อน่าสังเกตุอยู่ที่หนึ่งในรายละเอียดของการรับสมัครโปรแกรมเมอร์ของทาง Infinity Ward ที่แสดงไว้ว่า โปรแกรมเมอร์จะต้องมีความชำนาญในการใช้ภาษา C/C++ เป็นพิเศษ ซึ่งตัว Engine ต้นแบบอย่าง id Tech 3 ซึ่งถูกเขียนขึ้นมาจากโครงสร้างภาษา C เป็นที่น่าสังเกตุที่ว่าทีมงาน Infinity Ward ต้องการบุคลกรที่มีทักษะในด้าน C++ เพิ่มขึ้นมาซึ่งเป็นหนึ่งของความน่าจะเป็นที่ว่าทางทีมงาน Infinity Ward อาจจะกำลังทำงานกับ Engine ตัวใหม่อยู่ก็เป็นได้จริงอยู่ที่ว่าภาษาC, C++, C# และ Object C มีการเขียนและโครงสร้างความคล้ายคลึงกันเป็นอย่าง(ว่าง่ายๆก็คือแทบเหมือนกันเลยทีเดียว) ซึ่งภาษาต่างๆมากมายที่เราใช้กันอยู่กันทุกวันนี้เกือบทั้งหมดก็ล้วนแต่แตกแขนงออกมาจากภาษา C ทั้งนั้น และภาษาที่ยกตัวอย่างมายนั้นแม้จะมีความคล้ายกัน ถึงกระนั้นแต่ละภาษาก็มี syntax และคอมไพเลอร์ที่แตกกันแน่นอน(ง่ายๆคือนามสกุลไฟล์ของซอร์สโค้ดของทั้งสองภาษานั้นก็แตกต่างกัน .c,.h กับ .cpp) แม้จะ #include เรียกใช้แฟ้มที่บรรจุความหมายรูปแบบของฟังก์ชันมาเหมือนกัน และการเรียกชนิดตัวแปร ชื่อตัวแปรที่คล้ายก็ตาม แต่ภาษา C จะสร้างโปรแกรมโดยคิดตาม step 1,2,3,
ซึ่งก็มีข้อดีสำหรับโปรแกรมที่ไม่ซับซ้อนมาก แต่ภาษา C++ เกิดขึ้นมาเพื่อให้รองร้บแนวคิดแบบ OOP คือการแบ่งโปรแกรมออกเป็นชิ้น ๆ หรือเรียกกันว่าวัตถุ(Object) แล้วพัฒนาแต่ละชิ้นขึ้นมา แล้วเอามาประกอบกันทีหลัง วิธีการนี้ทำลดความสับสนเวลาพัฒนาหรือแก้ไขโปรแกรมลงไปได้มาก เพราะสามารถ
แก้ไขที่ชิ้นเดียวได้ ไม่ต้องแก้ไขทั้งโปรแกรม ซึ่งสำหรับใครที่เรียนเกี่ยวกับด้าน IT น่าจะรู้ในข้อนี้ดี
HELLO WORLD
activision-infinity-ward-42-million-news-2maxresdefault99
มีความเป็นได้หลายทางสำหรับ Engine ที่ทาง Infinity Ward เลือกใช้ในครั้งนี้ไม่ว่าจะเป็นตัวดังๆอย่าง CryEngine และ Unreal หรือจะเป็นน้องใหม่มาแรงอย่าง Unity ซึ่งทั้งหมดที่กล่าวมาก็ล้วนแต่ถูกเขียนโดยโครงสร้างภาษาต่างๆที่มีภาษา C++ ร่วมด้วยทั้งสิ้น แต่ถ้าเลือก Engine เหล่านี้มันอาจจะส่งผลกระทบต่อเอกลักษณ์ของตัวเกม Call of Duty ที่สานต่อกันมาหลายต่อหลายภาคและอาจจะมีปัญหาการไม่ชำนาญของทีมงานฝ่ายกราฟฟิคตามมาอีกซึ่งอาจจะส่งผลให้เกมวางจำหน่ายไม่ทันกำหนด โดยตัวเลือกที่ค่อนข้างเป็นไปได้สูงสำหรับ Infinity Ward ที่ผมวิเคราห์ออกมาได้ก็คือการนำ Engine id Tech เวอร์ชั่นใหม่ๆ มาดัดแปลงอีกนั้นเอง ซึ่งหลังจากการมาของid Tech3 นั้นทาง id Software ก็กำเนิด Engine id Tech ออกมาอีก 3 เวอร์ชั่นคือ