ฉันจะรู้ได้อย่างไรว่าจะใช้เอ็นจิ้นเกมหรือไม่ ฉันต้องการสร้างเกม 2D ที่ค่อนข้างซับซ้อนสำหรับ Android ปัจจัยใดที่ฉันควรชั่งน้ำหนักในการตัดสินใจว่าจะค้นหาติดตั้งและเรียนรู้กลไกเกมหรือเพียงแค่ทำทุกอย่างด้วยตนเอง
ฉันจะรู้ได้อย่างไรว่าจะใช้เอ็นจิ้นเกมหรือไม่ ฉันต้องการสร้างเกม 2D ที่ค่อนข้างซับซ้อนสำหรับ Android ปัจจัยใดที่ฉันควรชั่งน้ำหนักในการตัดสินใจว่าจะค้นหาติดตั้งและเรียนรู้กลไกเกมหรือเพียงแค่ทำทุกอย่างด้วยตนเอง
คำตอบ:
ข้อดี:
ส่วนใหญ่ถ้าไม่ใช่การเข้ารหัสทั้งหมดจะทำเพื่อคุณดังนั้นสิ่งที่คุณต้องกังวลคือเนื้อหาเลย์เอาต์ระดับ ฯลฯ
การจัดการหน่วยความจำ, การโหลดสินทรัพย์, แสง (ในเครื่องยนต์ที่ซับซ้อน) ฯลฯ ได้รับการออกแบบและทดสอบอย่างละเอียด (หวังว่า)
ดังที่ได้กล่าวไว้ด้านล่างหากเอ็นจิ้นข้ามแพลตฟอร์มคุณจะต้องทำอะไรเล็กน้อยเพื่อไม่ให้พอร์ตเกมของคุณทำงาน
ข้อเสีย:
อย่าปล่อยให้ความจริงที่ว่ารายการข้อเสียมีความยาว: เมื่อเวลาที่ใช้ในการเข้ารหัสและทดสอบระบบทั้งหมดที่คุณต้องการนั้นยาวเกินไปสำหรับรอบการผลิตของคุณหรือถ้าคุณมีทักษะมากกว่าศิลปะกับรหัสมากกว่าการใช้เอ็นจิ้นเกม ความคิดที่ดีอย่างแน่นอน
การเปรียบเทียบเอ็นจิ้นของเกมอยู่ในผลงานในคำถามนี้: โปรและคอนเวอร์ของเอนจิ้นเกม 3 มิติต่าง ๆ
ในกรณีของฉันฉันใช้เวลามาก (เดือน) ในการดิ้นรนทำสิ่งต่างๆเพราะเกมเอ็นจิ้น ตอนนี้ฉันมักจะหลีกเลี่ยงพวกเขาเช่นโรคระบาด แต่ฉันเข้าใจว่าพวกเขาควรจะใช้อย่างฉลาดและพอประมาณ
สำหรับฉันฉันจะหมกมุ่นอยู่กับความเป็นไปได้ทั้งหมด ! ดูรายการฟีเจอร์ยาว ๆ ในเอ็นจิ้น X มันเหมือนกับ "ว้าวฉันทำได้ทั้งหมดนี้! เกมของฉันยอดเยี่ยมมาก!" ดังนั้นฉันจะดาวน์โหลดรันการสาธิตและตื่นตากับฟีเจอร์เหล่านั้นในการทำงาน ฯลฯ จากนั้นฉันก็จะสร้างโครงการใหม่ใน IDE ของฉันและไม่รู้จะเริ่มต้นที่ไหน ฉันจะเขียนโค้ดบางอย่างฉันอาจเรียนรู้จากและวางพื้นฐานจากโครงการตัวอย่าง แต่สิ่งเหล่านั้นเป็นเพียงการสาธิต
ฉันไม่รู้จะเริ่มจากอะไรและทำอะไรบางอย่าง ฉันไม่รู้ขั้นตอนแรก ฉันชอบความคิดของเครื่องยนต์มันทำให้ฉันประทับใจและทำให้ฉันมีแรงบันดาลใจในการสร้างบางสิ่ง แต่ความรู้เกี่ยวกับการพัฒนาที่แท้จริงของฉันนั้น จำกัด มากแม้ว่าหลังจากที่รู้วิธีเพิ่มเครื่องยนต์ลงในเส้นทางการสร้างและอาจเขียนไม่กี่บรรทัดเพื่อเริ่มต้น เครื่องยนต์แล้วปิดมันอีกครั้งนอกเหนือจากนั้นฉันไม่เคยทำอะไรที่คุ้มค่า
ฉันเป็นคนก้าวเดินที่เป็นทารก ฉันควรสร้างเกมของตัวเองทีละขั้นเพื่อปรับฟังก์ชั่นที่มีประโยชน์และรวบรวมฟังก์ชั่นเหล่านั้นไว้ในห้องสมุด ดังนั้นสำหรับตอนนี้ฉันหลีกเลี่ยงการโฆษณาและเพียงแค่ติดกับสิ่งที่ระดับต่ำ
และเครื่องยนต์มีที่ของพวกเขา หากคุณพบเครื่องยนต์และคิดกับตัวเอง "นี่คือสิ่งที่ฉันจะเขียน! พวกเขาได้ทำงานให้ฉันแล้วฉันไม่ต้องบูรณาการล้อและฉันรู้วิธีการติดตั้งเข้ากับเกม ที่ฉันได้เริ่มต้น [หรืออย่างน้อยวางแผนอย่างเต็มที่และพร้อมที่จะเริ่ม] "แล้วมันอาจจะเป็นแบบที่ดี คุณจะรู้วิธีการใช้งานและวิธีการเขียนรหัสของคุณเองเพื่อใช้เครื่องมือเพื่อสร้างสิ่งที่มีประโยชน์ แต่ถ้าคุณได้รับเครื่องยนต์เพราะมันมีทุกอย่างยกเว้นอ่างครัวและคุณคิดว่าคุณกำลังยืนอยู่บนไหล่ของยักษ์คุณเข้าใจผิดมาก คุณมียักษ์ยืนอยู่ตรงหน้าคุณและคุณต้องปีนขึ้นไปที่ไหล่
ดังนั้นข้อเสียอย่างมากสำหรับฉัน: อย่าจมดิ่งอยู่กับทุกสิ่งที่คุณทำได้ ไม่ว่าคุณจะเลือกเครื่องยนต์แบบไหนมันจะมีศักยภาพมากมาย แต่ถ้าคุณไม่รู้วิธีควบคุมศักยภาพที่แท้จริงถ้ามันไม่ทำให้ชีวิตของคุณง่ายขึ้นหรือช่วยให้คุณทำงานให้เสร็จคุณก็จะใช้มันทำไม
ข้อเสียที่ใหญ่ที่สุดของเอ็นจิ้นเกมคือคุณต้องเรียนรู้มัน ถ้าคุณยังใหม่กับการเขียนโปรแกรมโดยทั่วไปนั่นอาจจะเร็วกว่าการเรียนรู้ที่จะเขียนโค้ดเพื่อทำทุกสิ่งที่เอ็นจิ้นจัดการกับคุณนอกกรอบ แต่ถ้าคุณมีประสบการณ์คุณต้องเสียเวลานั่ง ลงและเริ่มการเข้ารหัส แต่ใช้เวลาพอสมควรในการเรียนรู้วิธีการของคุณรอบ ๆ เอ็นจิ้นที่ไม่คุ้นเคย
สิ่งที่ใหญ่ที่สุดที่ควรมองหาคือการสนับสนุนเพราะเอ็นจิ้นของเกมไม่สมบูรณ์และไม่อ่านใจของคุณและคุณจะติดอยู่กับบางสิ่งบางอย่าง ดังนั้น:
ในฐานะที่เป็นคนที่มีประสบการณ์การพัฒนาซอฟต์แวร์จำนวนมากและผู้ที่พยายามพัฒนาเกมตั้งแต่เริ่มต้นเมื่อไม่นานมานี้นี่คือ 2 เซ็นต์ของฉัน
คำตอบที่ได้ให้รายการของข้อดีและข้อเสียยาว ฉันจะให้อะไรกับฉันเป็นเหตุผลที่สำคัญที่สุดที่จะไม่ใช้โปรแกรมเกม ขณะที่ฉันทำงานเกี่ยวกับการเรียนรู้ที่จะเขียนเกมล้วนๆเพื่อความท้าทายและให้รางวัลฉันตัดสินใจที่จะทำตั้งแต่เริ่มต้นโดยไม่มีเครื่องยนต์เพียงแค่ OpenGL และ SDL เพราะฉันต้องการเรียนรู้ทุกสิ่งที่อยู่เหนือระดับของสิ่งที่เป็นนามธรรม ฉันไม่เสียใจเลยที่ต้องตัดสินใจ เกมของฉันเป็นดาวเคราะห์น้อย 2D ที่ดีในการเลื่อนขั้นพื้นฐาน แต่ราบรื่น ฉันไม่ได้พยายามที่จะแข่งขันกับเกมที่เหนือกว่าอย่างมากมาย แต่ฉันแจกจ่ายเกมของฉันและผู้คนสนุกกับการเล่นเกม ฉันจะใช้วิธีเดียวกันในการทำให้ผู้เล่นหลายคนในเกม นี่เป็นความท้าทายที่ยิ่งใหญ่และการใช้ห้องสมุดอาจทำให้ง่ายขึ้น แต่ฉันตั้งเป้าหมายว่าจะไม่ทำให้ง่าย เป้าหมายของฉันคือการเรียนรู้และสำหรับฉันมันเป็นกิจกรรมนอกเวลาดังนั้นฉันไม่ได้มีเวลามากและความคืบหน้าช้า แต่ฉันมีเหตุผลสำหรับแนวทางนี้ เรียกว่า "การเรียนรู้ที่สูงขึ้น"
ดังนั้นตอบคำถามของคุณเองคุณต้องการที่จะเรียนรู้วิธีการทำสิ่งต่าง ๆ ที่เอ็นจิ้นเกมทำเพื่อคุณเพื่อผลประโยชน์ที่การเรียนรู้นี้อาจนำมาใช้หรือไม่? ถ้าเป็นเช่นนั้นอย่าใช้เอ็นจิ้นเกม
คุณต้องระบุรายละเอียดว่า "ซับซ้อน" หมายถึงอะไร เอ็นจิ้นเกมที่ดีจะดูแลสิ่งต่อไปนี้ทั้งหมด:
คิดกับตัวเองฉันรู้วิธีการรหัสแต่ละเหล่านี้หรือไม่ ฉันจะใช้เวลาในการเขียนโปรแกรมแต่ละครั้งนานเท่าใดและจะใช้เวลานานเท่าใดในการเรียนรู้วิธีสร้างเครื่องยนต์ให้ทำสิ่งเหล่านี้
ข้อได้เปรียบที่ใหญ่ที่สุด: มีหลายสิ่งที่ทำเพื่อคุณ คุณไม่จำเป็นต้องคิดค้นวงล้อต่อไป
ข้อดีอีกประการ: เอ็นจิ้นของเกมอาจข้ามแพลตฟอร์ม (Unity)
ข้อเสีย? ควบคุม? เอ็นจิ้นกำลังดูแลบางสิ่งสำหรับคุณ (เช่นการเรนเดอร์) ดังนั้นหากมีข้อบกพร่องหรือปัญหาด้านประสิทธิภาพคุณก็ไม่สามารถแก้ไขได้ด้วยตนเอง