เกมคืออะไร?

admin 0

เราทุกคนอาจมีแนวคิดที่ใช้งานง่ายค่อนข้างดีว่าเกมคืออะไร คำว่า “เกม” โดยทั่วไปครอบคลุมถึงเกมกระดานเช่นหมากรุกและเกมผูกขาดเกมไพ่เช่นโป๊กเกอร์และแบล็คแจ็คเกมคาสิโนเช่นรูเล็ตและสล็อตแมชชีนเกมสงครามทางทหารเกมคอมพิวเตอร์การเล่นประเภทต่างๆของเด็ก ๆ และรายการต่อไป ในทางวิชาการบางครั้งเราพูดถึงทฤษฎีเกมซึ่งตัวแทนหลายคนเลือกกลยุทธ์และยุทธวิธีเพื่อเพิ่มผลกำไรให้สูงสุดภายใต้กรอบของกฎของเกมที่กำหนดไว้อย่างดี เมื่อใช้ในบริบทของคอนโซลหรือความบันเทิงบนคอมพิวเตอร์คำว่า “เกม” มักจะสร้างภาพของโลกเสมือนจริงสามมิติที่มีรูปมนุษย์สัตว์หรือยานพาหนะเป็นตัวละครหลักภายใต้การควบคุมของผู้เล่น (หรือสำหรับคนโบราณในหมู่พวกเรา ทฤษฎีแห่งความสนุกสำหรับการออกแบบเกม Raph Koster กำหนดเกมให้เป็นประสบการณ์แบบโต้ตอบที่ให้ผู้เล่นมีลำดับรูปแบบที่ท้าทายมากขึ้นซึ่งเขาหรือเธอเรียนรู้และเชี่ยวชาญในที่สุด การสนับสนุนของ Koster คือกิจกรรมการเรียนรู้และการเรียนรู้เป็นหัวใจสำคัญของสิ่งที่เราเรียกว่า “ความสนุก” เช่นเดียวกับเรื่องตลกที่กลายเป็นเรื่องตลกในขณะที่เรา “เข้าใจ” โดยการจดจำรูปแบบ

วิดีโอเกมเป็นการจำลองแบบเรียลไทม์แบบนุ่มนวล

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

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

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

ข้อยกเว้นที่น่าสังเกตอย่างหนึ่งคือในประเภทของเกมเทิร์นเบสเช่นหมากรุกคอมพิวเตอร์หรือเกมกลยุทธ์ที่ไม่ใช่แบบเรียลไทม์ แต่ถึงแม้เกมประเภทนี้มักจะให้ บาคาร่า ผู้ใช้ที่มีรูปแบบของแบบ real-time อินเตอร์เฟซผู้ใช้แบบกราฟิกบาง

Game Engine คืออะไร?

คำว่า “เกมเอนจิ้น” เกิดขึ้นในช่วงกลางทศวรรษที่ 1990 โดยอ้างอิงถึงเกมยิงมุมมองบุคคลที่หนึ่ง (FPS) เช่น Doom by id Software ที่ได้รับความนิยมอย่างเมามัน Doom ได้รับการออกแบบด้วยการแยกที่ชัดเจนอย่างสมเหตุสมผลระหว่างส่วนประกอบซอฟต์แวร์หลัก (เช่นระบบการแสดงผลกราฟิกสามมิติระบบตรวจจับการชนกันหรือระบบเสียง) และทรัพย์สินทางศิลปะโลกของเกมและกฎการเล่นที่ประกอบด้วยผู้เล่น ประสบการณ์การเล่นเกม คุณค่าของการแยกนี้ปรากฏชัดเจนเมื่อนักพัฒนาเริ่มออกลิขสิทธิ์เกมและดัดแปลงเป็นผลิตภัณฑ์ใหม่โดยการสร้างงานศิลปะรูปแบบโลกอาวุธตัวละครยานพาหนะและกฎของเกมใหม่โดยมีการเปลี่ยนแปลงซอฟต์แวร์ “เอนจิ้น” เพียงเล็กน้อยเท่านั้น สิ่งนี้นับเป็นการถือกำเนิดของ “ชุมชนม็อด” – กลุ่มนักเล่นเกมแต่ละคนและสตูดิโออิสระขนาดเล็กที่สร้างเกมใหม่โดยการปรับเปลี่ยนเกมที่มีอยู่โดยใช้ชุดเครื่องมือฟรีที่ได้รับการสนับสนุนจากนักพัฒนาดั้งเดิม ในช่วงปลายทศวรรษ 1990 เกมบางเกมเช่น Quake III Arena และ Unreal ได้รับการออกแบบโดยคำนึงถึงการใช้ซ้ำและ “modding” เครื่องยนต์ได้รับการปรับแต่งอย่างมากผ่านภาษาสคริปต์เช่น Quake C ของ id และการออกใบอนุญาตเครื่องยนต์ก็เริ่มเป็นแหล่งรายได้รองที่เป็นไปได้สำหรับนักพัฒนาที่สร้างมันขึ้นมา ปัจจุบันนักพัฒนาเกมสามารถให้ใบอนุญาตเอนจิ้นเกมและนำส่วนประกอบซอฟต์แวร์หลัก ๆ มาใช้ซ้ำเพื่อสร้างเกม แม้ว่าแนวทางปฏิบัตินี้ยังต้องลงทุนจำนวนมากในวิศวกรรมซอฟต์แวร์ที่กำหนดเอง แต่ก็สามารถประหยัดได้มากกว่าการพัฒนาส่วนประกอบหลักทั้งหมดภายในองค์กร

เครื่องยนต์บางรุ่นสร้างความแตกต่างที่ชัดเจนพอสมควรในขณะที่เครื่องยนต์บางรุ่นแทบไม่มีความพยายามที่จะแยกทั้งสองอย่างออกจากกัน ในเกมหนึ่งรหัสการแสดงผลอาจ “รู้” โดยเฉพาะเกี่ยวกับวิธีวาดออร์ค ในเกมอื่นเอนจินการแสดงผลอาจให้วัสดุที่ใช้งานทั่วไปและสิ่งอำนวยความสะดวกในการบังแดดและ “orc-ness” อาจถูกกำหนดไว้ทั้งหมดในข้อมูล ไม่มีสตูดิโอใดที่แยกระหว่างเกมกับเอนจิ้นได้อย่างชัดเจนซึ่งเป็นที่เข้าใจได้เนื่องจากคำจำกัดความของส่วนประกอบทั้งสองนี้มักจะเปลี่ยนไปเมื่อการออกแบบของเกมแข็งแกร่งขึ้น

สถาปัตยกรรมที่ขับเคลื่อนด้วยข้อมูลคือสิ่งที่ทำให้เกมเอนจิ้นแตกต่างจากซอฟต์แวร์ที่เป็นเกม แต่ไม่ใช่เอนจิ้น เมื่อเกมมีตรรกะแบบฮาร์ดโค้ดหรือกฎของเกมหรือใช้รหัสกรณีพิเศษในการแสดงผลออบเจ็กต์ของเกมบางประเภทจะเป็นเรื่องยากหรือเป็นไปไม่ได้ที่จะนำซอฟต์แวร์นั้นกลับมาใช้ใหม่เพื่อสร้างเกมอื่น เราควรสงวนคำว่า “เกมเอนจิ้น” ไว้สำหรับซอฟต์แวร์ที่สามารถขยายได้และสามารถใช้เป็นรากฐานสำหรับเกมต่างๆมากมาย

เห็นได้ชัดว่านี่ไม่ใช่ความแตกต่างแบบขาว – ดำ เราสามารถนึกถึงขอบเขตของความสามารถในการนำกลับมาใช้ใหม่ที่เครื่องยนต์ทุกตัวตก ใครจะคิดว่าเอนจิ้นเกมอาจคล้ายกับ Apple QuickTime หรือ Microsoft Windows Media Player ซึ่งเป็นซอฟต์แวร์เอนกประสงค์ที่สามารถเล่นเนื้อหาเกมได้แทบทุกชนิดเท่าที่จะเป็นไปได้ อย่างไรก็ตามอุดมคตินี้ยังไม่ประสบความสำเร็จ (และอาจไม่เคยเป็นมาก่อน) เอ็นจิ้นเกมส่วนใหญ่ได้รับการสร้างขึ้นอย่างพิถีพิถันและปรับแต่งมาอย่างดีเพื่อรันเกมเฉพาะบนแพลตฟอร์มฮาร์ดแวร์ และแม้แต่เอนจิ้นหลายแพลตฟอร์มที่ใช้งานทั่วไปส่วนใหญ่ก็เหมาะสำหรับการสร้างเกมในประเภทใดประเภทหนึ่งเท่านั้นเช่นเกมยิงมุมมองบุคคลที่หนึ่งหรือเกมแข่งรถ กล่าวได้อย่างปลอดภัยว่ายิ่งเอนจิ้นเกมหรือส่วนประกอบมิดเดิลแวร์มีวัตถุประสงค์ทั่วไปมากเท่าไหร่ก็จะยิ่งมีประสิทธิภาพน้อยลงสำหรับการเล่นเกมโดยเฉพาะบนแพลตฟอร์มใดแพลตฟอร์มหนึ่ง

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

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

 

Leave a Reply

Your email address will not be published. Required fields are marked *