Điều gì cần xem xét khi quyết định 2D vs 3D cho một trò chơi? [đóng cửa]


68

3D "khó" hơn bao nhiêu so với 2D về mặt:

  • Số lượng / độ phức tạp của mã
  • Trình độ toán yêu cầu
  • Thời gian tham gia làm tài sản nghệ thuật

Tiêu đề gốc: Phát triển game 3D khó như thế nào so với 2D?


27
Khó hơn một chiều :)
Ólafur Chờ đợi

5
Chờ đợi chủ quan ...
Cyclops

Hmm ... đã nói rằng, tôi thực sự thích câu trả lời của @ munificent. Bây giờ tôi không chắc chắn làm thế nào tôi muốn phân loại câu hỏi này. :) Nó không hoàn toàn đúng cho meta , hoặc ... Đăng những trường hợp cạnh này . :)
Cyclops

2
Độ phức tạp của mã, mức độ toán học và thời gian có vẻ như là các biện pháp tương đối khó đối với tôi.
Brian Ortiz

@ Brian, yeah, tôi muốn chúng ta có thể hoàn tác chặt chẽ phiếu. :) Đánh giá lại nó, tôi nghĩ một phần của vấn đề là tiêu đề - "X khó như thế nào so với Y", nghe có vẻ chủ quan. Một tiêu đề tốt hơn có thể là "Sự khác biệt trong phát triển 3D so với 2D là gì?" (có thể thay đổi nó?). Đó thực sự là Câu hỏi mà @munificent trả lời , mặc dù với một câu hỏi có tiêu đề. :)
Cyclops

Câu trả lời:


127

3D là một thứ tự cường độ khó hơn 2D:

Lập trình:

  • Toán học phức tạp hơn đáng kể để kết xuất, vật lý, va chạm, v.v ... Hy vọng bạn thích ma trận và vectơ!
  • Bởi vì điểm trước, hiệu suất tốt là khó khăn hơn nhiều để đạt được . Với phần cứng ngày nay, bạn có thể tạo ra một trò chơi 2D đẹp mắt mà không phải suy nghĩ về hiệu suất hoàn toàn ngoài việc không chủ động ngu ngốc. Với 3D, bạn sẽ phải thực hiện một số tối ưu hóa.
  • Các cấu trúc dữ liệu phức tạp hơn nhiều. Vì quan điểm trước đây, bạn sẽ cần phải suy nghĩ về việc loại bỏ, phân vùng không gian, v.v ... tất cả đều khó khăn hơn sau đó là một "danh sách tất cả mọi thứ ở cấp độ" đơn giản.
  • Hoạt hình phức tạp hơn nhiều. Hoạt hình trong 2D chỉ là một đoạn phim của các khung với các vị trí có thể khác nhau cho mỗi khung. Với 3D, bạn sẽ cần xử lý các tài sản hoạt hình riêng biệt, xương, lột da, v.v.
  • Khối lượng dữ liệu cao hơn nhiều. Bạn sẽ phải làm quản lý tài nguyên thông minh. Trò chơi vận chuyển với nhiều hợp đồng nội dung, nhưng các máy chơi game chắc chắn không có hợp đồng biểu diễn.
  • Các đường ống phức tạp hơn để phát triển và duy trì. Bạn sẽ cần mã để đưa tài sản vào định dạng ưa thích của công cụ của bạn. Mã đó không tự viết.

Nghệ thuật:

  • Các tài sản, tất nhiên, phức tạp hơn nhiều. Bạn sẽ cần kết cấu, mô hình, giàn / bộ xương, hoạt hình, vv Các công cụ phức tạp và đắt tiền hơn nhiều, và các kỹ năng sử dụng chúng khó tìm hơn.
  • Tập hợp các kỹ năng cần thiết là rộng hơn. Các họa sĩ hoạt hình giỏi thường không phải là nghệ sĩ kết cấu tốt. Bật lửa tốt có thể không phải là thợ đào tốt.
  • Sự phụ thuộc giữa các tài sản phức tạp hơn. Với 2D, bạn có thể phân vùng tài sản của mình theo các nghệ sĩ khác nhau một cách sạch sẽ: anh chàng này làm cấp một, anh chàng này làm kẻ thù, v.v. Với 3D, hoạt hình ảnh hưởng đến giàn khoan ảnh hưởng đến bộ xương ảnh hưởng đến mô hình ảnh hưởng đến kết cấu ảnh hưởng đến ánh sáng ... Đội ngũ nghệ thuật của bạn sẽ phải phối hợp cẩn thận và liên tục.
  • Những hạn chế kỹ thuật phức tạp hơn để giải quyết. Với 2D, về cơ bản, "đây là bảng màu của bạn và kích thước tối đa của bạn". Với 3D, các nghệ sĩ của bạn sẽ phải cân bằng kích thước kết cấu (đối với nhiều kết cấu: đặc tả, màu sắc, bình thường, v.v.), số lượng đa giác, số lượng khung hình, số lượng xương, v.v. Các chi tiết của động cơ sẽ đặt ra các yêu cầu kỳ lạ ngẫu nhiên trên chúng ( "Engine X sẽ nổ tung nếu bạn có hơn 23 xương!").
  • Xử lý tài sản mất nhiều thời gian hơn. Các đường ống để chuyển đổi tài sản 3D sang định dạng sẵn sàng cho trò chơi rất phức tạp, chậm và thường có lỗi. Điều này khiến các nghệ sĩ mất nhiều thời gian hơn để thấy những thay đổi của họ trong trò chơi, khiến họ chậm lại.

Thiết kế:

  • Đầu vào của người dùng là chó cái. Bạn phải đối phó với theo dõi camera, chuyển đổi đầu vào của người dùng vào không gian của nhân vật một cách trực quan, chiếu các lựa chọn 2D vào không gian thế giới, v.v.
  • Cấp độ là khó để tác giả. Nhà thiết kế cấp độ của bạn về cơ bản cần các kỹ năng của một nhà thiết kế trò chơi và một kiến ​​trúc sư. Họ phải tính đến những người chơi bị lạc, tầm nhìn, v.v. khi xây dựng cấp độ.
  • Cấp độ vật lý là tẻ nhạt để tác giả. Bạn sẽ phải kiểm tra và kiểm tra lại và kiểm tra lại một lần nữa để đảm bảo không có lỗ hổng và lỗi trong vật lý cấp độ nơi người chơi có thể bị mắc kẹt hoặc rơi xuống thế giới.
  • Công cụ khó hơn nhiều. Hầu hết các trò chơi cần các công cụ riêng để soạn thảo những thứ như cấp độ. Vì nội dung phức tạp hơn nhiều, các công cụ tạo ra nhiều công việc hơn. Điều đó thường dẫn đến các công cụ buggier, không đầy đủ và khó sử dụng hơn.

2
Câu trả lời tuyệt vời. Tôi đã nghĩ rằng điều này sẽ chủ quan hơn, nhưng bạn đã trình bày nó rất rõ ràng. Mặc dù có thể không có một con số thực tế (khó hơn 3,5 lần), bạn đã tạo ra một trường hợp tốt cho thứ tự cường độ khó hơn.
Cyclops

5
+1 Đóng đinh nó. Câu hỏi này hầu như không chủ quan. Chúng ta đang nói về hai thế giới hoàn toàn khác nhau. Có một sự gia tăng khó khăn cố hữu. Đừng bắt đầu suy nghĩ của bạn ở cấp độ thiên tài ...
David McGraw

Câu trả lời tuyệt vời!
ngựa vằn

1
Tôi thấy câu trả lời của tôi bị đánh bại bởi một số (để sử dụng các từ của tác giả). Thật là tuyệt vời đến nỗi tôi đã nghiêng mình rất nhiều thứ mà trước đây tôi chưa bao giờ nghĩ tới. Công việc tốt đẹp!
Toby

Câu trả lời chính xác. Một suy nghĩ bổ sung mà tôi đã có - có lợi cho 3D - là, khi tôi bắt đầu, việc tìm kiếm các tài nguyên liên quan đến phát triển 3D sẽ dễ dàng hơn nhiều so với 2D. Nhưng điều đó cũng cách đây hơn 5 năm và cảnh quan đã thay đổi khá nhiều kể từ đó.
Andrew Russell

11

Khó hơn rất nhiều. Nếu bạn không thoải mái khi làm một trò chơi 2D, bạn sẽ THỰC SỰ không thích những gì nó cần để tạo ra một trò chơi 3D.

Tin tốt: 99% thời gian, bạn không thực sự cần nó. Hãy nghĩ về bất kỳ trò chơi 3D nào bạn có thể. Lấy máy ảnh, sửa nó trên trần nhà nhìn xuống để bây giờ bạn đang nhìn vào mặt phẳng 2D. Doom trở thành Gauntlet. Civil IV trở thành Civil I. Metal Gear Solid trở thành Metal Gear gốc. Không có trò chơi nào trong số này là "xấu" chỉ vì chúng là 2D; chúng hoàn toàn có thể chơi được và thường có nhiều lối chơi giống nhau.


5

Phần lớn, 3D sẽ giới thiệu nhiều khó khăn hơn là đơn giản hóa. Nhưng tôi chỉ cảm thấy muốn thêm một vài thứ có thể thực sự dễ dàng hơn trong trò chơi 3D:

  • Tùy biến người chơi. Hãy tưởng tượng nếu Team Fortress 2 là một platformer 2D với 20 hình động cho mỗi lớp. Bây giờ, hãy tưởng tượng giám đốc tiếp thị của bạn đã đề nghị bạn thêm mũ vào trò chơi. Điều này có nghĩa là 20 spritesheets mới cho mỗi lớp; và nó sẽ chỉ mở rộng nếu bạn quyết định thêm các mặt hàng linh tinh khác. Một công ty tôi làm việc đã gặp phải sự thất vọng này.
  • Chuyển động nhân vật. Gian lận và hoạt hình chắc chắn không phải là một nhiệm vụ đơn giản, nhưng nếu các nhân vật của bạn phức tạp, thì cuối cùng nó sẽ trở thành một công việc dễ dàng hơn trong 2D, nơi bạn sẽ vẽ lại nhân vật hoàn toàn cho mỗi tư thế. Thực tế, dấu ấn xuất sắc đầu tiên trong bất kỳ trò chơi 2D nào là số lần người sáng tạo sẵn sàng vẽ lại các nhân vật của họ để có thêm hình ảnh động.
  • Tìm một động cơ. Tôi có thể tạo một nền tảng đơn giản trong chưa đầy một giờ ở chế độ 3D mà không cần mã hóa, nhưng có thể mất nhiều thời gian hơn trong 2D. Chắc chắn bạn sẽ tìm thấy rất nhiều công cụ 2D tốt ngoài kia sau khi tìm kiếm, nhưng thành thật mà nói, không có gì ngay lập tức đến với tôi; rất ít người đạt được mức độ phổ biến lớn như cách mà Ogre3D hoặc các công cụ 3D khác có. Đối với 3D, có UDK, Unity và nhiều khung công tác khác. Một phần của điều này có thể là sự phức tạp giảm đi của 2D có nghĩa là không khó để những người nghiệp dư chỉ tự viết, dựa trên XNA. (Ngoài ra, một số công cụ 3D được đề cập có thể khả thi để tạo trò chơi 2D)

3

Đây là một câu hỏi mang tính chủ quan cao, vì câu trả lời phụ thuộc vào sở thích / kinh nghiệm / kiến ​​thức / trí thông minh cá nhân.

Tôi sẽ cố gắng trả lời một cách trung lập, nhưng vì tôi chỉ là một lập trình viên chứ không phải là một nghệ sĩ nên tôi chỉ có thể đưa ra giả thuyết cho điểm cuối cùng.

Độ phức tạp của mã không nên quá khác biệt, ngoại trừ trong toán học và có thể là kết xuất / vật lý. Game Logic không khác nhiều lắm nếu bạn có một mức độ trừu tượng lành mạnh (không quá nhiều - bạn đang cố gắng làm cho một trò chơi không phải là một công cụ, ít nhất là tôi đoán từ câu hỏi của bạn.) Rõ ràng việc tính toán chuyển động dễ dàng hơn nhiều trong 2D vì bạn có quan điểm hạn chế. Vật lý là CÁCH khó khăn hơn khi giao dịch trong ba trục. Ngoài ra, tải Sprite từ Bitmap dễ dàng hơn nhiều so với tải Mô hình 3D (và có thể là kết cấu).

Toán học phức tạp hơn đối với 3D (thực sự không có trí tuệ - tứ phương, vectơ, ma trận. 'Nuff nói)

Đối với nghệ thuật, tôi nghĩ rằng 3D cũng khó khăn hơn vì bạn cần tạo ra nghệ thuật trông đẹp từ mọi góc nhìn có thể (hoặc ít nhất là một phạm vi rộng) và bạn cũng thường muốn kết cấu mọi thứ. Hoạt hình lưới không phải là một chuyến dã ngoại để trở nên thực tế và để có được kết cấu để chơi cùng.


Tải một sprite dễ hơn tải một mô hình? Mô hình liên quan đến bộ xương, lột da, đổ bóng, tọa độ UV, kết cấu, bản đồ bình thường, v.v ... Một sprite là một hình ảnh. Tiếp theo đó là vô ích, nghệ thuật 3D khó hơn nhiều, vì những điều được liệt kê ở trên.
Sean James

Tôi xin lỗi, đó là một lỗi. cũng khá lớn, cảm ơn vì đã chỉ ra Nó chắc hẳn đã nhạt nhẽo đến nỗi nó không đăng ký khi tôi đọc lại.
Toby

3

Một điều khác cần xem xét ... với một trò chơi 3D, bạn có thể muốn xem xét sử dụng một công cụ có sẵn và tập trung vào việc tạo ra một trò chơi không phải là một công cụ. Nó có thể đi một cách nào đó để giảm thời gian và khó khăn trong trò chơi 3D (như được xác định một cách xuất sắc bởi munificent).

Xây dựng một trò chơi 2D dễ dàng hơn nhiều. Nhưng rõ ràng là bạn có thể (và nên xem xét) bằng cách sử dụng các thư viện sprite, âm thanh, tính di động. Không có điểm trong việc phát minh lại bánh xe ngoại trừ cho mục đích giáo dục.

Có vẻ rõ ràng - nhưng tôi nghĩ rằng nó là đáng nói.


2

Cho phép tôi đưa ra một xem xét thú vị cho các thiết bị di động trong đó hiệu suất 2D thực sự có thể tụt hậu so với các mô hình 3d poly thấp:

1) Tốc độ lấp đầy có thể gây ra khá nhiều rắc rối về hiệu suất khi xử lý nhiều họa tiết trên màn hình tại một thời điểm nhất định.

2) Yêu cầu bộ nhớ kết cấu cho trò chơi 2D hoàn toàn xác thực thực sự cao hơn nhiều nếu bạn đang sử dụng hoạt hình dựa trên khung. Mỗi và mỗi khung ký tự sẽ thổi ra tổng ngân sách kết cấu của bạn theo cách tuyến tính. Điều này có nghĩa là nếu bạn sử dụng hoạt hình flipbook đơn giản, bạn thực sự có ngân sách hoạt hình hạn chế hơn so với hoạt hình 3D dựa trên bộ xương.

Các bộ công cụ như Spine giúp san bằng sân chơi này một chút bằng cách tạo các biến dạng 2d của một kết cấu.


Vì vậy, xem xét điều này và sự dễ dàng truy cập của Unity và UDK, cả hai đều rút ra phần lớn sự phức tạp của phát triển trò chơi đã tồn tại nhiều năm trước cho 3D, câu trả lời không quá đơn giản.


Tôi sẽ đề nghị không trả lại những bài viết cũ như thế này với các chi tiết mới. Câu trả lời hàng đầu hiện tại vẫn còn rất nhiều áp dụng và câu hỏi này không thực sự cần đến trang đầu tiên.
Pip

2
Tôi đã được liên kết bởi một đồng nghiệp chỉ ngày hôm nay, và vì sự bổ sung của tôi cho câu trả lời này thực sự chính xác trong nhiều năm, tôi nghĩ rằng nó ổn. Không có gì sai khi thêm vào một câu hỏi cũ thông tin mới có liên quan! Hầu hết mọi người sử dụng google làm giao diện cho ngăn xếp tràn, do đó, ngay cả các mục rất cũ cũng có thể xuất hiện trong các tìm kiếm có liên quan cho đến ngày nay.
M2tM

1

Nó phụ thuộc vào nhà phát triển trò chơi. Phần tốn thời gian là làm tài sản trò chơi. Nếu bạn cảm thấy việc tạo ra những tài sản này bằng Illustrator và Photoshop thì dễ dàng hơn với 2D, nhưng nếu bạn biết mô hình 3D có lẽ bạn đồng ý với tôi rằng 3D dễ hơn 2D rất nhiều.

Về hoạt hình, chắc chắn 3D dễ dàng hơn và nhanh hơn và dễ quản lý hơn.

Ví dụ, trong khi ở chế độ 3D, bạn có thể tạo tất cả hoạt hình cho một nhân vật trong vài giờ trong một cảnh, trong 2ngày bạn phải vẽ nhân vật từ đầu cho bất kỳ hoạt động nào mà anh ta giả sử thực hiện và lưu nhiều tệp, phải mất nhiều ngày trong 2D so với giờ trong 3D.

Ngoài ra nếu bạn thay đổi một cái gì đó, bạn phải làm lại tất cả trong 2D, nhưng bạn không phải thay đổi mọi thứ chẳng hạn nếu bạn quyết định nhân vật của mình không nên đội mũ. Bạn không phải làm lại tất cả hoạt hình mà bạn chỉ cần xóa chiếc mũ ở chế độ 3D.

Nếu bạn có các nhân vật hình người, có hàng ngàn hoạt hình mo-cap miễn phí. Hầu hết thời gian bạn không cần thực hiện bất kỳ hoạt hình nào cho trò chơi của mình.

Về sự phức tạp và lập trình không có sự khác biệt.

Nhưng bạn nên biết rõ về 3D, nếu không, bạn có thể kết thúc trong công cụ trò chơi, hoạt hình của bạn khác với ứng dụng 3D của bạn hoặc đầu nhân vật của bạn đang quay theo hướng ngược lại và bạn không biết cách giải quyết vấn đề và một số trục trặc khác.

Ngoài ra, bạn nên làm quen với mô hình poly thấp cho trò chơi và cách tạo họa tiết cho trò chơi, nó khác với mô hình hóa và kết cấu cho hoạt hình.

Nhân tiện, trái ngược với niềm tin phổ biến 3D là nhu cầu phần cứng ít hơn cho các thiết bị di động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.