เอ็นจิ้นและเฟรมเวิร์กที่เหมาะสมที่สุดให้ฟังก์ชั่นที่คุณต้องการและไม่เคยเข้ามาขวางทางคุณเลย
ทำพวกเขา ค่อนข้างขึ้นอยู่กับว่าคุณกำลังทำอะไรอยู่การพูดแบบกราฟิก
สำหรับเกมหลายประเภทมีคำตอบมาตรฐานสำหรับคำถามแบบกราฟิก ยกตัวอย่างเช่นเกม 2D โดยเฉลี่ยสามารถจัดการได้ดีกับฤทธิ์ 2D เช่น XNA / MonoGame มันเป็นเพียงสไปรต์ซึ่งสามารถเข้ามาเป็นชุดสำหรับภูมิประเทศสามารถหมุนได้และอื่น ๆ
แต่ถ้าหากเกมของคุณเคยเป็นเกม 2D โดยเฉลี่ยคุณจะได้อ่านเกี่ยวกับเทคนิคเจ๋ง ๆ เช่นการใช้แผนที่ความสูงเพื่อสร้างตัวเลียนแบบที่มีความลึกเมื่อเทียบกับหน้าจอ และคุณต้องการทำเช่นนั้น
ตอนนี้คุณกำลังใช้การทำแผนที่ปกติและอาจทำแผนที่แบบพารัลแลกซ์ ทั้งหมดในบริบทเดียวกันของ "การเรนเดอร์เรนเดอร์" แต่ต้องการเอ็นจิ้น 2D บริสุทธิ์จำนวนมากสามารถจัดการได้ โดยเฉพาะมันต้องใช้ "สไปรต์ blitting" multitextured ซึ่งไม่ใช่สิ่งที่เครื่องยนต์ 2D จำนวนมากสามารถทำได้
คุณจะทำอย่างไรถ้าเครื่องยนต์ของคุณไม่สามารถปรับตัวเข้ากับคุณได้? นั่นหมายความว่าคุณต้องทำหลายรอบหนึ่งครั้งสำหรับสีและอีกอันสำหรับแสงผ่านแผนที่ปกติ แต่นั่นไม่ได้ผลเพราะคุณต้องใช้ฟิลด์ความสูงของแผนที่ปกติเพื่อใช้การจับคู่แบบ Parallax กับการค้นหาสี ดังนั้น ... ตอนนี้อะไร คุณต้องการให้อัลฟาทำสิ่งที่โปร่งใสดังนั้นคุณจึงไม่สามารถขโมยอัลฟ่าได้ และเครื่องยนต์ก็ไม่รองรับมัลติไซต์
ดังนั้นคุณต้องเลือกอย่างใดอย่างหนึ่งต่อไปนี้:
- ละทิ้งความคิด ซึ่งหมายความว่าเกมของคุณถูก จำกัด โดยเครื่องยนต์ของคุณ
- แฮ็คเครื่องยนต์เพื่อให้มีหลายไซต์ สมมติว่าคุณมีสิทธิ์เข้าถึงซอร์สโค้ดตอนนี้คุณก็สามารถนำไปใช้กับตัวเองเพื่อกระตุ้นโค้ดของคนอื่นได้ นอกจากนี้ยังหมายความว่าคุณต้องบำรุงรักษาและไม่ทำลายมันด้วยการสะดุด
- ทำสิ่งที่ดีที่สุดที่คุณสามารถทำได้ภายใต้ข้อ จำกัด ของเครื่องยนต์ ดังนั้นคุณจะได้รับรัลแลกซ์บนแผนที่ปกติ แต่ไม่ใช่ในสี อาจไม่ใช่สิ่งที่คุณต้องการ แต่ก็ดีกว่าไม่มีอะไรเลย
ยกตัวอย่างเช่นใช้ Geometry Wars เครื่องยนต์ 2D ส่วนใหญ่จะดูดภาพเหล่านี้เนื่องจากส่วนใหญ่สร้างขึ้นรอบ ๆ สไปรต์ไม่ใช่เส้น นั่นเป็นเกมที่ต้องใช้โหมดแสดงภาพที่พิเศษมาก
ในตอนท้ายของวันคุณต้องรับผิดชอบองค์ประกอบของเกมที่มีความสำคัญต่อความต้องการของเกมของคุณ หากลักษณะภาพในเกมของคุณได้รับการพัฒนาตามสไตล์ศิลปะของภาพและโมเดลที่คุณใช้เป็นหลักแทนที่จะเป็นเอฟเฟกต์เฉพาะ แต่ถ้าสไตล์การเล่นเกมของคุณมีการกำหนดอย่างมีนัยสำคัญด้วยรหัสการแสดงผลที่กำหนดเองอัตราต่อรองเป็นสิ่งที่ดีที่เอ็นจิ้นมาตรฐานอาจกลายเป็นข้อ จำกัด ที่ร้ายแรงหากคุณตัดสินใจที่จะทำสิ่งที่อยู่นอกกรอบ
นอกจากนี้ยังมีปัญหาในทางปฏิบัติ: เอ็นจิ้นของเกมไม่สามารถพกพาได้อย่างเท่าเทียมกัน
ด้วยแพลตฟอร์มโทรศัพท์มือถือที่เพิ่มขึ้นเมื่อเร็ว ๆ นี้ตลาดสำหรับเกมได้รับการเผยแพร่ไปทั่วอุปกรณ์ระบบปฏิบัติการและส่วนต่อประสานผู้ใช้จำนวนมาก เอ็นจิ้นบางตัวทำงานบนอุปกรณ์ทุกชนิดไม่ได้ และหากเครื่องยนต์ของคุณไม่ทำงานบนแพลตฟอร์มคุณจะไม่ต้องใช้เวลาในการทำให้มันเป็นหนึ่งเดียว ท้ายที่สุดนั่นคือเหตุผลที่คุณใช้เครื่องยนต์ตั้งแต่แรกใช่ไหม?
หากเป็นสิ่งสำคัญสำหรับคุณที่ฟังก์ชั่นเกมของคุณบนแพลตฟอร์มเฉพาะคุณต้องรับผิดชอบอีกครั้ง และวิธีที่ "ง่ายที่สุด" เพื่อให้แน่ใจว่าความสำเร็จด้วยสิ่งนี้คือการทำด้วยตัวเอง ในการสร้างเอ็นจิ้นที่สามารถทำงานได้ในหลายแพลตฟอร์มอาจใช้เฟรมเวิร์กเฉพาะแพลตฟอร์มที่ง่ายกว่าซึ่งจำเป็นต้องจัดการรายละเอียดระดับต่ำ ด้วยวิธีนี้ถ้ามันแตกเป็นรหัสของคุณ คุณเป็นคนที่ดีที่สุดที่จะสามารถแก้ไขได้