ข้อดี / ข้อเสียของการใช้โปรแกรม 3 มิติสำหรับเกม 2d คืออะไร [ปิด]


16

ผู้เริ่มต้นควรทราบข้อดีข้อเสียใดเมื่อตัดสินใจระหว่างเครื่องมือเกม 2d (เช่น Slick2D / Flixel / FlashPunk) และเอ็นจิ้น 3 มิติ (เช่น Unity) สำหรับการพัฒนาเกม 2d

ฉันเพิ่งเริ่มต้นในการพัฒนาเกมอินดี้ถึงแม้ว่าฉันจะได้ขลุกอยู่กับ Game Maker, Flash และ XNA ในอดีต ฉันได้ยินสิ่งต่าง ๆ ในเชิงบวกมากมายเกี่ยวกับ Unity และลักษณะข้ามแพลตฟอร์มทำให้มันน่าสนใจ แต่อย่างที่ฉันเข้าใจมันเป็นเอ็นจิ้น 3 มิติที่เป็นแกนหลัก

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


คุณถามในบริบทของเกม 2D ล้วนๆอย่าง Unity (เช่น Sprite และ 2D Movement) หรือเกม 3D ที่มีการเล่นเกม 2D (เช่นกับเนื้อหา 3D แต่เคลื่อนที่ในระนาบเดียว)
chaosTechnician

ฉันมีเพื่อนบางคนที่ได้ทำงานร่วมกับความสามัคคีที่จะทำให้เกม 2D เรียกcoypu พื้นที่ดังก้อง เห็นได้ชัดว่าตอนแรกของ 2D นั้นค่อนข้างน่าเบื่อฉันจะขอ prescisions มากขึ้นว่าทำไม
Jonathan Connell

เกี่ยวข้อง: gamedev.stackexchange.com/questions/9557/…
Tetrad

กำหนด "เครื่องมือ 3D" หรือไม่ เรากำลังพูดถึงสิ่งที่ครอบคลุมการเล่นเกมหรือเพียงแค่สิ่งที่ทำให้ในรูปแบบ 3D?
Nicol Bolas

@chaosTechnician - คนแรก: สไปรต์ 2D ล้วนๆ, การเคลื่อนไหว 2D, โดยทั่วไปไม่มีแกน z ใด ๆ จริง ๆ (เพียงแค่ดัชนี z แบบง่าย ๆ เพื่อกำหนดลำดับการเรนเดอร์สไปรต์)
mrohlf

คำตอบ:


15

มันขึ้นอยู่กับเกม แต่ส่วนใหญ่จะง่ายกว่าที่จะสร้างเกม 2d อย่างเข้มงวดโดยใช้เอ็นจิ้นที่ออกแบบมาเป็นพิเศษสำหรับ 2d

ตอนนี้สำหรับข้อดีและข้อเสียบางอย่าง (บางส่วนจะเกี่ยวข้องกับเอกภาพโดยเฉพาะบางอันก็กว้างกว่า)

จุดด้อย

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

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

  3. เพิ่มความซับซ้อน ดังที่ได้กล่าวไว้ในคำตอบของ Josh Petrie 3d เป็นสิ่งที่ซับซ้อนกว่า 2D มากส่วนใหญ่ในการจัดการทางคณิตศาสตร์และฉาก การเคลื่อนย้ายวัตถุและการจัดการพื้นที่ 3 มิตินั้นยากและถ้านี่เป็นหนึ่งในเกมแรกของคุณมันจะยิ่งยากขึ้นไปอีก ข่าวดี: ความเป็นเอกภาพสรุปประเด็นเหล่านี้บางอย่างออกมาแม้ว่าจะมีบางสิ่งที่คุณยังต้องจัดการ (และสิ่งที่เป็นนามธรรมก็คืออีกครั้งหมายถึงแบบจำลอง 3 มิติไม่ใช่สไปร 2 มิติ)

  4. ห้องสมุดส่วนใหญ่ที่ Unity มาพร้อมหรือคุณสามารถใช้เพื่อเป็นวัตถุ 3 มิติ ซึ่งรวมถึงสิ่งต่าง ๆ เช่นแสงการหาเส้นทางฟิสิกส์ ฯลฯ ในขณะเดียวกัน box2d จะทำงานกับแฟลชหรือ XNA หรือบางสิ่งบางอย่างได้อย่างง่ายดาย

ข้อดี

  1. การเร่งความเร็วแบบ 3 มิติ กราฟิกการ์ดนั้นดีกว่ามากในการจัดการกับวัตถุจำนวนมากในฉากมากกว่า CPU และด้วย Unity คุณจะได้รับประโยชน์อย่างง่ายดาย สิ่งนี้ช่วยให้คุณแสดงสไปรท์นับพันบนหน้าจอหรือรวมเอฟเฟกต์ของอนุภาคได้อย่างง่ายดายหรือเพิ่มความสนุกเช่น shaders เพื่อรองรับเอฟเฟกต์เจ๋ง ๆ เช่นพื้นที่แปรปรวนและเวลาตามที่คุณต้องการ ความสามัคคีมีเอฟเฟกต์เหล่านี้มากมายในตัวซึ่งทำให้ง่ายจริงๆ โปรดทราบว่าเอนจิ้น 2d จำนวนมากใช้ OpenGL หรือ DirectX ที่อยู่เบื้องหลังและในหลาย ๆ กรณีสามารถเร่งฮาร์ดแวร์ได้เช่นกัน

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

  3. การเรียนรู้ 3d มาดูกันเกมหลายเกมเขียนในแบบ 3 มิติและถ้าคุณเรียนรู้วิธีใช้ Unity คุณจะสามารถใช้ทักษะเหล่านั้นกับเกมถัดไปซึ่งอาจต้องใช้ 3d นอกจากนี้ศิลปินจำนวนมากที่ออกจากโรงเรียนในขณะนี้กำลังสอนแบบจำลอง 3 มิติดังนั้นจึงเป็นเรื่องง่ายกว่าที่จะหาศิลปิน 3 มิติมากกว่าศิลปินเกม 2d แบบดั้งเดิม (ไม่ว่าศิลปินจะพูดดีหรือไม่ก็ตาม)

ข้อสรุป

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


+1 คำตอบที่ละเอียดและมีประโยชน์มาก ฉันรู้สึกว่าคุณเคยจัดการเรื่องนี้มาก่อน
chaosTechnician

ขอบคุณสิ่งที่ฉันกำลังมองหา! ฉันคิดว่าฉันจะยังคงมุ่งเน้นไปที่เครื่องยนต์ 2d เนื่องจากเครื่องมือส่วนใหญ่ที่ฉันเคยเห็นได้ถูกสร้างขึ้นบน OpenGL หรือ DirectX และการสร้างแบบจำลอง 3 มิตินั้นค่อนข้างเกินความสามารถของฉันในตอนนี้ ฉันต้องการที่จะเรียนรู้สามัคคีในบางจุด แต่ฉันอาจจะดีกว่าที่จะแก้ปัญหาได้หลังจากที่ฉันมีเกม 2d อยู่ใต้เข็มขัดของฉัน
mrohlf

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

7

ข้อเสียเปรียบครั้งใหญ่อย่างหนึ่งคือความซับซ้อนที่เพิ่มขึ้น - เอ็นจิ้น 3 มิติไม่ได้รับการสนับสนุนในระดับเดียวกันสำหรับกราฟิก 2D เหมือนเครื่องมือ 2D โดยเฉพาะ ซึ่งหมายความว่ามันเป็นงานพิเศษมากมายที่จะจัดการกับการแต่งและจัดการฉาก 2 มิติและ / หรือคุณยังต้องรับมือกับความซับซ้อนของคณิตศาสตร์ 3 มิติและขั้นตอนการเปลี่ยนรูป โดยเฉพาะอย่างยิ่งหากคุณไม่คุ้นเคยกับพื้นฐานของทฤษฎีกราฟิก 3D คุณจะพบว่าตัวเองหลงทางและสับสนเมื่อภาพของคุณไม่ปรากฏขึ้นและถ้าคุณไม่ระวังคุณสามารถสะดุดกับ "วิธีแก้ปัญหา" ที่ทำให้คุณ ภาพปรากฏขึ้น แต่ไม่จำเป็นต้องถูกต้อง (และจะกัดคุณในภายหลัง)

แต่นอกเหนือจากมุมมองของมนุษย์ตราบใดที่เอ็นจิ้น 3 มิติมีเครื่องมือที่คุณต้องการในการสร้างเกม 2D ของคุณคุณไม่ควรใช้เกมนี้ พวกเขาแพร่หลายมากขึ้นในทุกวันนี้และมีแนวโน้มที่จะพัฒนาอย่างก้าวร้าวมากขึ้นดังนั้นมันจึงเป็นข้อดี นอกจากนี้ยังอาจมีเอนจิ้นหรือเฟรมเวิร์กที่เน้น 2D จำนวนหนึ่งที่ไม่ได้ใช้ D3D หรือ OpenGL เบื้องหลังดังนั้นจึงอาจไม่ได้รับประโยชน์จาก GPU สมัยใหม่

ในคำถามที่เกี่ยวข้องนี้คุณสามารถเห็นการอภิปรายจำนวนมากเกี่ยวกับสิ่งที่อาจทำให้ 3D ยากขึ้น (คุณจะต้องจัดการกับเซตย่อยของเรื่องนั้นคือคุณต้องใช้เอ็นจิ้น 3 มิติสำหรับเกม 2D เท่านั้น)


2

Pro: ใช้ความพยายามมากขึ้นโดยผู้ผลิตการ์ดแสดงผลเพื่อเพิ่มประสิทธิภาพไดร์เวอร์ 3D คุณไม่ได้ติดอยู่ใน 2D สำหรับ FX หรือฟลูออไรด์พิเศษ คุณไม่จำเป็นต้องจำลองตัวเองมากเกินไป การเปลี่ยนมุมมองไม่จำเป็นต้องมีการทำซ้ำทั้งหมดของงานศิลปะของคุณ ฉันจะยืนยันว่าเครื่องชั่ง 3D ดีขึ้นด้วยการมองเห็น

คอนดิชั่น: ท่อสินทรัพย์อาจจะต้องปรับให้เข้ากับเครื่องยนต์ของคุณ การดำเนินการบางอย่างที่ใช้งานง่ายในแบบ 2D นั้นซับซ้อนกว่าในแบบ 3 มิติ ห้องสมุดอาจมีฟังก์ชั่นพิเศษที่คุณไม่เคยใช้


0

เพียงแค่เรียนรู้ความสามัคคีถ้าคุณทำได้ Unity ใช้งานได้ดีกับ Blender 3D ซึ่งเป็นโอเพ่นซอร์สและฟรี มีบทเรียนออนไลน์มากมายเกี่ยวกับวิธีสร้างแบบจำลองและเคลื่อนไหว 2D ใน Blender ด้วยเครื่องบิน นอกจากนี้ยังมีโมเดลมากมายที่คุณสามารถดาวน์โหลดออนไลน์ได้ฟรีหรือราคาถูกซึ่งคุณสามารถใช้เป็นจุดเริ่มต้นได้

แน่นอนว่าคุณไม่ชำนาญในการสร้าง Game Engine ของคุณเอง เกม 2D ที่ฉันโปรดปรานในตอนนี้คือ Super Meat Boy ซึ่งได้รับการออกแบบใน Flash และสิ้นสุดการเขียนโปรแกรมเอง ... สร้างเอ็นจิ้นเกมที่เหมาะกับเกมที่ต้องการโดยเฉพาะ นี่เป็นวิธีที่ดีที่สุดในการเข้าถึงโครงการเช่นนั้นเพราะให้อิสระมากมาย ที่กล่าวว่าต้องใช้เวลาทำงานมากเพื่อไปเส้นทางนั้น


ในความเป็นจริงตอนนี้ UNITY ได้เพิ่มการสนับสนุนแบบ 2D แล้วนี่เป็นเกมที่ง่ายขึ้น: pcworld.com/article/2062740/…
Aesadai

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