หากคุณกำลังพูดถึงจากมากเริ่มต้นและทราบว่าน้อยมากเครื่องเกมที่สำคัญมีการใช้โค้ดจากรอยขีดข่วนอีกต่อไปและทราบว่านี้เป็นตัวอย่างและไม่จำเป็นต้องวิธีการทำงานเสมอ . .
การแสดงผล:
เริ่มต้นด้วยการเรนเดอร์คิวบ์แบบแรเงา เพิ่มเอฟเฟกต์แสงพื้นฐานให้กับมัน เพิ่มวิธีย้ายกล้องไปรอบ ๆ ตอนนี้คุณสามารถบินไปรอบ ๆ ลูกบาศก์ที่น่าเบื่อแขวนอยู่ในโมฆะสีดำที่ไม่มีที่สิ้นสุด เย้.
ถัดไปคุณอาจต้องการนำเข้าแบบจำลอง อย่างน้อยที่สุดศิลปินของคุณสามารถชักตัวอย่างแบบจำลอง (กาน้ำชาดั้งเดิมที่น่าประหลาดใจ) แต่พวกเขาอาจมีรูปแบบเกมจริงที่พวกเขาสามารถมอบให้คุณได้ อีกครั้งเรากำลังติดกับการแรเงาแบบแบนในตอนนี้ดังนั้นมันจะปรากฏขึ้นดูเหมือนว่ามันทำจาก . . ดีไม่มีสารที่เป็นจริง แต่การจัดเรียงของข้ามระหว่างพลาสติกเคลือบและพอร์ซเลน นี่แต่ไม่มีแสงสว่างดี และเรายังคงอยู่ในจุดที่มันไม่ทำการเคลื่อนย้ายอย่างสมบูรณ์
สามขั้นตอนสำคัญต่อไปสามารถทำได้ในลำดับใด ๆ
ก่อนอื่นคุณจะต้องการภูมิประเทศ เกมที่ทันสมัยส่วนใหญ่แบ่งการแสดงผลเป็น "เรขาคณิตคงที่" และ "นักแสดง" ที่รูปทรงเรขาคณิตแบบคงที่รวมถึงสิ่งที่ไม่เปลี่ยนแปลง (ผนังพื้นดินเสาตะเกียง) และนักแสดงรวมถึงสิ่งต่าง ๆ ที่เปลี่ยนแปลง (ผู้เล่นยานพาหนะเสาตะเกียงทำลายล้าง) แนวคิดการเรนเดอร์พื้นฐานเหมือนกันสำหรับทั้งคู่มีการเพิ่มประสิทธิภาพที่คุณสามารถทำได้สำหรับเรขาคณิตคงที่ที่คุณไม่สามารถทำได้สำหรับนักแสดง คุณจะต้องมีภูมิประเทศสำหรับวิศวกรเกมเพลย์เพื่อไปต่อดังนั้นหากพวกเขากำลังรอคุณอยู่ก็ถึงเวลาที่จะต้องทำการเรนเดอร์ภูมิประเทศอย่างน้อยที่สุด
ประการที่สองคุณจะต้องการพื้นผิว นี่เป็นเรื่องใหญ่และมีโอกาสมากที่คุณจะได้ก้าวไปอีกขั้นเพื่อทำสิ่งที่สำคัญกว่านั้นจากนั้นกลับมาทำซ้ำอีกครั้ง พาสแรกของคุณอาจเพิ่มพื้นผิวให้กับโมเดล รอบที่สองของคุณอาจเพิ่มแสงและพฤติกรรมของพื้นผิวที่ดีขึ้น รอบที่สามของคุณอาจเพิ่มเงา (ฉันสามารถเติมการตอบสนองทั้งหมดที่พูดถึงเงา) ขึ้นอยู่กับประเภทของเกมที่คุณเล่นเกมนี้อาจมีความซับซ้อนตามอำเภอใจ คุณอาจสลับเอนจิ้นเกมทั้งหมดของคุณไปที่การแสดงผลที่เลื่อนออกไป
ประการที่สามคุณจะต้องการภาพเคลื่อนไหว อนิเมเตอร์ของคุณ (สมมติว่าคุณไม่ได้มีชีวิตอยู่ในปี 2538) จะมีการจัดทำ rigs อนิเมชั่นสำหรับแบบจำลองของพวกเขาซึ่งประกอบไปด้วยกระดูกที่วิ่งผ่านรูปแบบและข้อมูลเกี่ยวกับการเคลื่อนไหวของกระดูกระหว่างภาพเคลื่อนไหวบางอย่าง คุณอาจเริ่มต้นด้วยความสามารถในการเล่นภาพเคลื่อนไหวตามต้องการจากนั้นเพิ่มความสามารถในการผสมภาพเคลื่อนไหวเข้าด้วยกัน
เมื่อเสร็จสิ้นทั้งหมดแล้วก็ถึงเวลาทำงานกับความเข้ากันได้ หากคุณกำลังทำงานกับเกม AAA คุณมีวิธีทดสอบโค้ดของคุณกับฮาร์ดแวร์หลายประเภท - บางทีอาจเป็นแบบในบ้านคุณอาจทำสัญญากับ บริษัท ทดสอบไม่ว่าอะไรก็ตาม รหัสจำนวนมากของคุณจะทำลายการ์ดกราฟิกหรือไดรเวอร์รุ่นใดรุ่นหนึ่งโดยเฉพาะและคุณจะแก้ไขได้มากเท่าที่จะทำได้
ถึงเวลาพิจารณาการเพิ่มประสิทธิภาพแล้ว การเรนเดอร์เป็นปัญหาความเร็วที่ยิ่งใหญ่ดังนั้นตอนนี้คุณต้องหาวิธีที่จะใช้ประโยชน์จากฮาร์ดแวร์ในระดับที่ลึกที่สุดเพื่อให้ทำงานได้เร็วที่สุด หากคุณคิดว่าสิ่งนี้อาจขัดแย้งกับ "ความเข้ากันได้" คุณพูดถูก! มันทำได้ทั้งหมด! การปรับให้เหมาะสมที่ดีที่สุดคุณจะพบว่าจะไม่สามารถใช้ได้กับบางการ์ด คุณได้รับความสมดุลของปัจจัยเหล่านี้ทั้งหมด
ประมาณจุดนี้ศิลปินของคุณจะต้องการเครื่องมือทำพื้นผิวใหม่หรือคุณสมบัติภาพเคลื่อนไหวใหม่และนักออกแบบระดับของคุณจะต้องการเทคนิคการเรนเดอร์ภูมิประเทศแบบใหม่ กลับไปที่ "สามขั้นตอนสำคัญต่อไปสามารถทำได้ตามลำดับ" และทำซ้ำจนกว่าเกมจะเสร็จ
เกม:
ฉันจะข้ามส่วนที่ไม่ได้สังเกตเห็นได้อย่างน่ากลัว ก่อนอื่นคุณต้อง sorta รอจนกว่าการเรนเดอร์ภูมิประเทศจะอยู่แม้ว่าจะมีสิ่งที่แบ็กเอนด์มากมายที่คุณสามารถทำได้จนถึงตอนนั้น
เมื่อคุณได้รับแล้วคุณจะตั้งค่าการชนพื้นฐานบางอย่าง สิ่งนี้น่าจะอยู่ในรูปแบบของการบินไปยังตำแหน่งในเกมจากนั้นกดปุ่มที่จะลดลงเป็นลูกบาศก์ ลูกบาศก์ตกลงมาและกระแทกพื้น เมื่อลูกบาศก์ตกลงบนพื้นอย่างสม่ำเสมอคุณสามารถเริ่มตั้งค่าการเคลื่อนไหวของผู้เล่นเพื่อให้คุณสามารถวิ่งไปทั่วโลกในแบบเดียวกับที่ผู้เล่นทำ
เมื่อคุณมีฟิสิกส์การเคลื่อนไหวขั้นพื้นฐานทำงานแล้วคุณจะอยู่ในส่วนใดส่วนหนึ่งของ "สิ่งเหล่านี้สามารถทำได้พร้อมกัน" อีกครั้ง:
การต่อสู้จะต้องดำเนินการ คุณต้องการสิ่งที่สามารถยิงสิ่งต่าง ๆ ในสิ่งต่าง ๆ และสิ่งเหล่านั้นต้องทำงานอย่างเหมาะสม
ฟิสิกส์จะต้องดำเนินการ คุณมีการชนกัน แต่การชนเป็นเพียงส่วนเล็ก ๆ ของฟิสิกส์ เมื่อมีคนขับรถจี๊ปออกจากรถถังทุกอย่างจะต้องทำงานอย่างที่ตั้งใจไว้
กลศาสตร์เกมจะต้องดำเนินการ คุณจะรู้ได้อย่างไรว่าคุณชนะหรือแพ้? บ่อยครั้งสิ่งที่วางไข่และสิ่งที่ควบคุมได้อย่างไร หากคอมมิวนิสต์พิชิตจุดวางไข่ทำไมมันยังคงวิ่งพล่านยานอนาธิปไตย? เรื่องแบบนั้น
สิ่งเหล่านี้อาจใช้เวลาอีกครั้งโดยขึ้นอยู่กับว่านักออกแบบของคุณต้องการให้คุณทำอะไร นอกจากนี้คุณยังจะต้องใช้เวลาในการติดตามข้อบกพร่อง ("เฮ้ดูสิว่าเกิดอะไรขึ้นเมื่อฉันขับรถถังไปบนปีกของเครื่องบินขับไล่ไอพ่นนี้") โปรดทราบว่าสิ่งนี้จะเกิดขึ้นกับโลกที่ไม่มีพื้นผิวหรือมีนางแบบวิ่งไปมาในตำแหน่งแท่นขุดเจาะตัวละครหรือกับรถถังที่มีเพียงกล่องขนาดใหญ่ที่มีคำว่า "TANK" พ่นสีคล้ำ
UI:
UI สามารถเริ่มต้นได้ก่อนที่รหัสการแสดงผลหลักจะเริ่มขึ้นเนื่องจาก UI และการเรนเดอร์เกมในโลกมีแนวโน้มที่จะใช้ codepath ที่แตกต่างกันโดยสิ้นเชิง แทนที่จะเริ่มต้นด้วยลูกบาศก์คุณจะเริ่มต้นด้วยกล่องจากนั้นเพิ่มพื้นผิวลงในกล่องจากนั้นเพิ่มข้อความลงในกล่อง
ณ จุดนี้ชีวิตของคุณใช้เวลาพอสมควรในการเขียนวิดเจ็ตที่ใช้งานทั่วไปในขณะที่ยังคงใช้เวลา UI มากพอที่นักออกแบบและนักพัฒนากลศาสตร์เกมสามารถทดสอบเกมด้วยความเหมือนจริงที่คลุมเครือ ในบางจุดศิลปิน UI ของคุณจะเกิดความรู้สึกที่สอดคล้องกับ UI จากนั้นคุณจะเริ่มทำงานกับองค์ประกอบ UI ที่สรุปแล้วในขณะที่ทดสอบองค์ประกอบ UI เหล่านั้นกับผู้เล่นจริงเพื่อให้แน่ใจว่าพวกเขาเข้าใจและใช้งานได้
ฉันสามารถพูดคุยเพิ่มเติมเกี่ยวกับสิ่งเหล่านี้ได้ตามต้องการ แต่มันจะกลายเป็น megaresponse ถ้าฉันทำดังนั้นตอนนี้ฉันจะไม่ :)