ข้อดีและข้อเสียของการใช้โปรแกรมเกมคืออะไร [ปิด]


28

ฉันจะรู้ได้อย่างไรว่าจะใช้เอ็นจิ้นเกมหรือไม่ ฉันต้องการสร้างเกม 2D ที่ค่อนข้างซับซ้อนสำหรับ Android ปัจจัยใดที่ฉันควรชั่งน้ำหนักในการตัดสินใจว่าจะค้นหาติดตั้งและเรียนรู้กลไกเกมหรือเพียงแค่ทำทุกอย่างด้วยตนเอง


ไม่แน่ใจว่าการออกแบบเกมเป็นแท็กที่ดีที่สุดหรือไม่ แต่เครื่องยนต์ถูกขึ้นบัญชีดำ คำถามนี้น่าจะถูกลบไปแล้ว
Gnemlock

คำตอบ:


25

ข้อดี:

  • ส่วนใหญ่ถ้าไม่ใช่การเข้ารหัสทั้งหมดจะทำเพื่อคุณดังนั้นสิ่งที่คุณต้องกังวลคือเนื้อหาเลย์เอาต์ระดับ ฯลฯ

  • การจัดการหน่วยความจำ, การโหลดสินทรัพย์, แสง (ในเครื่องยนต์ที่ซับซ้อน) ฯลฯ ได้รับการออกแบบและทดสอบอย่างละเอียด (หวังว่า)

  • ดังที่ได้กล่าวไว้ด้านล่างหากเอ็นจิ้นข้ามแพลตฟอร์มคุณจะต้องทำอะไรเล็กน้อยเพื่อไม่ให้พอร์ตเกมของคุณทำงาน

ข้อเสีย:

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

อย่าปล่อยให้ความจริงที่ว่ารายการข้อเสียมีความยาว: เมื่อเวลาที่ใช้ในการเข้ารหัสและทดสอบระบบทั้งหมดที่คุณต้องการนั้นยาวเกินไปสำหรับรอบการผลิตของคุณหรือถ้าคุณมีทักษะมากกว่าศิลปะกับรหัสมากกว่าการใช้เอ็นจิ้นเกม ความคิดที่ดีอย่างแน่นอน

การเปรียบเทียบเอ็นจิ้นของเกมอยู่ในผลงานในคำถามนี้: โปรและคอนเวอร์ของเอนจิ้นเกม 3 มิติต่าง ๆ


3
นี่เป็นคำตอบที่ดีโดยรวม แต่ฉันขมวดคิ้วในประโยคแรก ฉันขอแนะนำอย่างยิ่งให้อ้างอิงตาม "ส่วนใหญ่ถ้าไม่ใช่การเข้ารหัสทั้งหมดจะทำเพื่อคุณ" ถึง "การเข้ารหัสระดับต่ำส่วนใหญ่จะทำเพื่อคุณ"; มันทำให้เข้าใจผิดถึงจุดที่รับผิดชอบในการขยายเวลาตำนานของ "ทำให้เกมไม่จำเป็นต้องมีการเข้ารหัส!"
jhocking

นอกจากนี้เครื่องยนต์อาจ จำกัด สิ่งที่คุณสามารถทำได้อย่างง่ายดายตัวอย่างเช่นมีหลายคนที่ไม่รองรับภูมิประเทศที่ปรับเปลี่ยนได้ของ Minecraft หรือ Dwarf-Fortress ซึ่งเป็นสิ่งที่ดีสำหรับเกมที่ไม่ต้องการ แต่โชคดีที่ทำโคลน Minecraft ด้วย
user253751

15

ในกรณีของฉันฉันใช้เวลามาก (เดือน) ในการดิ้นรนทำสิ่งต่างๆเพราะเกมเอ็นจิ้น ตอนนี้ฉันมักจะหลีกเลี่ยงพวกเขาเช่นโรคระบาด แต่ฉันเข้าใจว่าพวกเขาควรจะใช้อย่างฉลาดและพอประมาณ

สำหรับฉันฉันจะหมกมุ่นอยู่กับความเป็นไปได้ทั้งหมด ! ดูรายการฟีเจอร์ยาว ๆ ในเอ็นจิ้น X มันเหมือนกับ "ว้าวฉันทำได้ทั้งหมดนี้! เกมของฉันยอดเยี่ยมมาก!" ดังนั้นฉันจะดาวน์โหลดรันการสาธิตและตื่นตากับฟีเจอร์เหล่านั้นในการทำงาน ฯลฯ จากนั้นฉันก็จะสร้างโครงการใหม่ใน IDE ของฉันและไม่รู้จะเริ่มต้นที่ไหน ฉันจะเขียนโค้ดบางอย่างฉันอาจเรียนรู้จากและวางพื้นฐานจากโครงการตัวอย่าง แต่สิ่งเหล่านั้นเป็นเพียงการสาธิต

ฉันไม่รู้จะเริ่มจากอะไรและทำอะไรบางอย่าง ฉันไม่รู้ขั้นตอนแรก ฉันชอบความคิดของเครื่องยนต์มันทำให้ฉันประทับใจและทำให้ฉันมีแรงบันดาลใจในการสร้างบางสิ่ง แต่ความรู้เกี่ยวกับการพัฒนาที่แท้จริงของฉันนั้น จำกัด มากแม้ว่าหลังจากที่รู้วิธีเพิ่มเครื่องยนต์ลงในเส้นทางการสร้างและอาจเขียนไม่กี่บรรทัดเพื่อเริ่มต้น เครื่องยนต์แล้วปิดมันอีกครั้งนอกเหนือจากนั้นฉันไม่เคยทำอะไรที่คุ้มค่า

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

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

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


4

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

สิ่งที่ใหญ่ที่สุดที่ควรมองหาคือการสนับสนุนเพราะเอ็นจิ้นของเกมไม่สมบูรณ์และไม่อ่านใจของคุณและคุณจะติดอยู่กับบางสิ่งบางอย่าง ดังนั้น:

  • มีเอกสารประกอบหรือไม่?
  • จริงๆแล้วเอกสารนั้นดีหรือไม่?
  • มีการสนับสนุนทางเทคนิค (โดยทั่วไปไม่เว้นแต่คุณจะจ่ายให้) เวลาตอบสนองคืออะไร
  • มีฟอรัมชุมชนที่คุณสามารถโพสต์คำถามและรับคำตอบจริงหรือไม่
  • มีแบบฝึกหัดที่แสดงวิธีเริ่มใช้เครื่องยนต์หรือไม่? มีการรวมซอร์สโค้ดตัวอย่างหรือไม่ คุณมีประโยชน์มากเพียงใดในการเพิ่มความเร็ว?

2
+1 สำหรับการวางเอกสารอย่างเด่นชัด ... นั่นคือสิ่งที่
เอ็นจิ้

3

ในฐานะที่เป็นคนที่มีประสบการณ์การพัฒนาซอฟต์แวร์จำนวนมากและผู้ที่พยายามพัฒนาเกมตั้งแต่เริ่มต้นเมื่อไม่นานมานี้นี่คือ 2 เซ็นต์ของฉัน

คำตอบที่ได้ให้รายการของข้อดีและข้อเสียยาว ฉันจะให้อะไรกับฉันเป็นเหตุผลที่สำคัญที่สุดที่จะไม่ใช้โปรแกรมเกม ขณะที่ฉันทำงานเกี่ยวกับการเรียนรู้ที่จะเขียนเกมล้วนๆเพื่อความท้าทายและให้รางวัลฉันตัดสินใจที่จะทำตั้งแต่เริ่มต้นโดยไม่มีเครื่องยนต์เพียงแค่ OpenGL และ SDL เพราะฉันต้องการเรียนรู้ทุกสิ่งที่อยู่เหนือระดับของสิ่งที่เป็นนามธรรม ฉันไม่เสียใจเลยที่ต้องตัดสินใจ เกมของฉันเป็นดาวเคราะห์น้อย 2D ที่ดีในการเลื่อนขั้นพื้นฐาน แต่ราบรื่น ฉันไม่ได้พยายามที่จะแข่งขันกับเกมที่เหนือกว่าอย่างมากมาย แต่ฉันแจกจ่ายเกมของฉันและผู้คนสนุกกับการเล่นเกม ฉันจะใช้วิธีเดียวกันในการทำให้ผู้เล่นหลายคนในเกม นี่เป็นความท้าทายที่ยิ่งใหญ่และการใช้ห้องสมุดอาจทำให้ง่ายขึ้น แต่ฉันตั้งเป้าหมายว่าจะไม่ทำให้ง่าย เป้าหมายของฉันคือการเรียนรู้และสำหรับฉันมันเป็นกิจกรรมนอกเวลาดังนั้นฉันไม่ได้มีเวลามากและความคืบหน้าช้า แต่ฉันมีเหตุผลสำหรับแนวทางนี้ เรียกว่า "การเรียนรู้ที่สูงขึ้น"

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


2

คุณต้องระบุรายละเอียดว่า "ซับซ้อน" หมายถึงอะไร เอ็นจิ้นเกมที่ดีจะดูแลสิ่งต่อไปนี้ทั้งหมด:

  • แสดงผลในอัตราเฟรมที่มั่นคง
  • การจัดการอินพุต
  • หน้าจอผู้ใช้
  • เสียงเพลง /
  • การจัดการทรัพยากร (รูปภาพ, เสียง, ไฟล์ข้อมูล)
  • ออมทรัพย์ / โหลดเกมของคุณ
  • ฟิสิกส์ (2d หรือ 3d)

คิดกับตัวเองฉันรู้วิธีการรหัสแต่ละเหล่านี้หรือไม่ ฉันจะใช้เวลาในการเขียนโปรแกรมแต่ละครั้งนานเท่าใดและจะใช้เวลานานเท่าใดในการเรียนรู้วิธีสร้างเครื่องยนต์ให้ทำสิ่งเหล่านี้


1

ข้อได้เปรียบที่ใหญ่ที่สุด: มีหลายสิ่งที่ทำเพื่อคุณ คุณไม่จำเป็นต้องคิดค้นวงล้อต่อไป

ข้อดีอีกประการ: เอ็นจิ้นของเกมอาจข้ามแพลตฟอร์ม (Unity)

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.