ฉันควรเรียนรู้การพัฒนาเกม 2d ก่อน 3d หรือไม่? [ปิด]


14

ฉันเป็นผู้พัฒนาแอพ iPhone ฉันต้องการเล่นเกม iOS คำถามคือ - ฉันควรเริ่มต้นด้วยการเรียนรู้ 2D เช่น Cocos 2D หรือ Corona SDK ก่อนเรียนรู้การเล่นเกม 3D เช่น Unity หรือไม่ ฉันสนใจเกม 3D มากขึ้น แต่คุณคิดว่าการรู้เกม 2D เป็นข้อกำหนดเบื้องต้นสำหรับการเรียนรู้การพัฒนา 3D หรือไม่?



ขออภัยฉันคิดว่าคำถามที่ระบุอาจไม่ใช่คำตอบที่ฉันเชื่อมโยง แม้ว่าคำตอบจะครอบคลุมพื้นที่เดียวกันมากมาย
bummzack

คำตอบ:


11

มันขึ้นอยู่กับวิธีการที่แข็งแกร่งที่คุณอยู่กับคณิตศาสตร์ และ 3D แนวคิดการเขียนโปรแกรมเกม

2D คุณสามารถรับได้โดยใช้เพียงแนวคิดของ x, y ตำแหน่งและความเร็ว (และการบวกและลบออก - เวกเตอร์โดยทั่วไป) และการชนกันของกล่อง 2D

ใน 3D คุณต้องกังวลเกี่ยวกับคณิตศาสตร์มากขึ้น: เมทริกซ์การฉาย, การดูเมทริกซ์, frusta ..

นอกจากนี้คุณต้องโต้ตอบกับชุดฟังก์ชั่นที่สมบูรณ์ยิ่งขึ้นจาก API การวาดที่คุณใช้ (โดยอาศัยข้อเท็จจริงที่ว่าคุณกำลังทำ 3D ดังนั้นคุณต้องเรียนรู้ฟังก์ชั่นเพิ่มเติมมากมายที่เกี่ยวข้องกับ 3D )

Microsoft XNA มียอดเยี่ยมการสนับสนุนสำหรับการเริ่มต้นออกในแบบ 2D และทำให้การแสดงผลได้ง่ายโดยใช้SpriteBatch ทันทีที่คุณเข้าร่วมกับ 3D คุณจะต้องเรียนรู้VertexBufferหรือModelโดยอัตโนมัติจากนั้นจะมี ModelBones และทุกอย่างอื่นที่เกี่ยวข้องกับมัน

คุณดีที่สุดในการเริ่มต้น 2D เพราะแนวคิดที่คุณต้องเข้าใจน้อยกว่า (2D sprite หรือไม่! หลังจากที่คุณมีประสบการณ์ภายใต้เข็มขัดของคุณแล้วคุณควรทำ 3D ได้ดี


9

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

ดังที่กล่าวมาหากคุณไม่ได้ใช้เครื่องยนต์ที่ใช้การยกของหนักแบบ 3 มิติสำหรับคุณมันยากกว่ามาก ดูคำตอบสำหรับคำถามนี้: สิ่งที่ต้องพิจารณาเมื่อตัดสินใจเลือก 2D vs 3D สำหรับเกม

สิ่งที่คุณควรทำคือเลือกเกมที่คุณต้องการสร้างและศิลปะและการออกแบบจะบอกคุณว่าต้องเป็น 2D หรือ 3D


4
ฉันคิดว่าคุณกำลังพูดเกินจริง 2D นั้นเป็นเรื่องง่ายกว่าเพราะการขว้างแกนที่ 3 ออกมามีความคิดน้อยกว่ามาก การชนกันจะง่ายขึ้นการพูดคุยปัญหาบนกระดาษง่ายขึ้นและการเรียนรู้วิธีการเขียนโปรแกรมเกม 2D นั้นง่ายกว่าการเรียนรู้วิธีการเขียนโปรแกรมเกม 3 มิติ
bobobobo

3
มันเป็นการทำให้เข้าใจง่าย แต่ส่วนใหญ่สิ่งที่ฉันได้รับคือ 1) 2D หรือ 3D ไม่สำคัญสำหรับสิ่งที่คุณทำในเกม (โฟลว์ UI, กลไกหลัก, เครือข่าย ฯลฯ ) และ 2) การใช้มิดเดิลแวร์ที่มีประสิทธิภาพ (โดยเฉพาะ Unity) จะทำคณิตศาสตร์ส่วนใหญ่ให้คุณหวังว่าจะช่วยให้คุณมีสมาธิกับตรรกะของเกมเอง
Tetrad

ประโยคสุดท้ายเล็บมัน
ทิมโฮลท์

5

ฉันเห็นด้วยกับ Tetrad ว่าคุณควรคิดถึงศิลปะและการออกแบบและมันจะนำคุณถ้ามันต้องเป็น 2D หรือ 3D ฉันก็จะบอกว่ามันเป็นความคิดที่ดีที่จะสร้างเกม 2D ก่อนเพื่อที่คุณจะได้ไม่ต้องคิดถึงสิ่งที่หนักกว่าที่มาพร้อมกับเกม 3 มิติ นอกจากนี้สิ่งหนึ่งที่ต้องตระหนักคือสมองจะประมวลผลข้อมูลน้อยลงด้วยเกม 2D ซึ่งเป็นสิ่งที่คุณต้องการสำหรับประสบการณ์แบบสบาย ๆ

หากคุณดูเกมอินดี้ที่ประสบความสำเร็จตลอด 3 ปีที่ผ่านมาเกมส่วนใหญ่เป็นเกม 2D

http://www.braid-game.com/
http://limbogame.org/
http://supermeatboy.com/
http://www.andyetitmoves.net/

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


+1 สำหรับย่อหน้าสุดท้ายนั้นเพราะเน้นความสำคัญของคุณภาพของเนื้อหา (เช่นเรื่องราว) เป็นลักษณะความสำเร็จผู้สร้างเกมบางคนดูเหมือนจะพลาดปัจจัยอื่น ๆ เหล่านี้และมุ่งเน้นเฉพาะด้าน 3D แต่มี มีแฟน ๆ จำนวนมากที่ให้ความสำคัญกับเรื่องราวที่ดีและฉากหลังที่มีความคิดที่ดีสามารถนำมาสู่สนามเด็กเล่น (ไม่ว่าจะมีขนาดเท่าใด)
Randolf Richardson

ในขณะที่ฉันเห็นด้วยกับข้อความส่วนใหญ่ของคุณมีเกม 2D ที่ยอดเยี่ยมบางเกมที่ไม่เคยได้รับการพิจารณาแบบสบาย ๆ ในขณะที่เกมยิง 3 มิติโดยเฉลี่ยของคุณนั้นมีส่วนเกี่ยวข้องน้อยกว่าเมื่อเปรียบเทียบ
Edwin Buck

3

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

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

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