Những ưu / nhược điểm của việc sử dụng công cụ 3d cho các trò chơi 2d là gì? [đóng cửa]


16

Những ưu điểm và nhược điểm mà người mới bắt đầu nên biết khi quyết định giữa công cụ trò chơi 2d (như Slick2D / Flixel / FlashPunk) và công cụ 3d (như Unity) để phát triển trò chơi 2d?

Tôi mới bắt đầu phát triển game indie, mặc dù tôi đã tìm hiểu một chút về Game Maker, Flash và XNA trong quá khứ. Tôi đã nghe rất nhiều điều tích cực về Unity và bản chất đa nền tảng của nó khiến nó trở nên hấp dẫn, nhưng theo tôi hiểu, đó là một công cụ 3d ở cốt lõi.

Đối với một trò chơi 2d nghiêm ngặt, có bất kỳ lý do thuyết phục nào để làm việc với một công cụ 3d như Unity không? Hoặc nó sẽ chỉ thêm sự phức tạp không cần thiết vào kinh nghiệm học tập ban đầu của tôi?


Bạn có hỏi trong bối cảnh của một trò chơi 2D thuần túy trong một cái gì đó như Unity (như các họa tiết và chuyển động 2D) hoặc một trò chơi 3D với trò chơi 2D (như với tài sản 3D nhưng chỉ di chuyển trên một mặt phẳng)?
chaosTechnician

Tôi có một số người bạn đã làm việc với Unity để tạo ra một trò chơi 2D có tên Coypu Space Rumble . Phần 2D ban đầu rõ ràng khá tẻ nhạt, tôi sẽ hỏi thêm về các quy định tại sao.
Jonathan Connell


Xác định "công cụ 3D"? Có phải chúng ta đang nói về một cái gì đó bao gồm trò chơi, hoặc chỉ một cái gì đó tái hiện trong 3D?
Nicol Bolas

@chaosTechnician - Cái đầu tiên: hoàn toàn là các họa tiết 2D, chuyển động 2D, về cơ bản không có trục z thực sự (chỉ là một chỉ số z đơn giản để xác định thứ tự kết xuất sprite)
mrohlf

Câu trả lời:


15

Nó phụ thuộc vào trò chơi, nhưng đối với hầu hết các phần, sẽ dễ dàng hơn để tạo một trò chơi 2d nghiêm ngặt bằng cách sử dụng một công cụ được thiết kế riêng cho 2d.

Bây giờ đối với một số ưu và nhược điểm (một số trong số này sẽ liên quan đến Unity cụ thể, một số trong số chúng có tính khái quát hơn)

Nhược điểm

  1. Công cụ 3d thường được thiết kế xung quanh các đối tượng trò chơi là mô hình 3d (đa giác và kết cấu). Mặc dù chắc chắn có thể tạo một mặt phẳng và áp dụng kết cấu cho nó, bạn vẫn tích cực làm việc với động cơ khi bạn làm điều đó.

  2. Ngoài ra, nhiều công cụ 3d thiếu khả năng xử lý các tấm sprite (tất cả các khung hình động trên một kết cấu), vì chúng hy vọng hoạt hình sẽ hoạt động trên mô hình (mặc dù gian lận và các phương pháp khác), chứ không phải kết cấu. Một lần nữa, có nhiều cách khác, nhưng một lần nữa, bạn đang tích cực làm việc với động cơ để thực hiện điều này.

  3. Thêm phức tạp. Như đã đề cập trong câu trả lời của Josh Petrie, 3d phức tạp hơn nhiều so với 2d, chủ yếu là về toán học và quản lý cảnh. Di chuyển các đối tượng và xử lý không gian 3d rất khó khăn và nếu đây là một trong những trò chơi đầu tiên của bạn, nó sẽ khó hơn nhiều. Tin tốt: Unity trừu tượng hóa một số vấn đề này, mặc dù sẽ có một số điều bạn vẫn phải xử lý (và phần lớn sự trừu tượng là, một lần nữa, có nghĩa là cho các mô hình 3d, không phải là 2d sprite)

  4. Hầu hết các thư viện mà Unity đi kèm hoặc bạn có thể nhận được đều dành cho các đối tượng 3d. Điều này bao gồm các công cụ như ánh sáng, tìm đường, vật lý, v.v. Trong khi đó, box2d sẽ dễ dàng hoạt động với Flash, hoặc XNA hoặc một cái gì đó (tốt, có thể).

Ưu

  1. Tăng tốc 3d. Card đồ họa tốt hơn rất nhiều khi xử lý nhiều đối tượng trong một cảnh so với CPU và với Unity bạn có thể nhận được lợi ích đó thực sự dễ dàng. Điều này cho phép bạn hiển thị hàng ngàn họa tiết trên màn hình, hoặc dễ dàng bao gồm các hiệu ứng hạt hoặc thêm vào một thứ gì đó thú vị như shader để hỗ trợ các hiệu ứng tuyệt vời như làm cong không gian và thời gian theo ý muốn của bạn. Unity có nhiều hiệu ứng được tích hợp sẵn, điều này làm cho nó thực sự dễ dàng. Lưu ý rằng rất nhiều công cụ 2d sử dụng OpenGL hoặc DirectX phía sau hậu trường và trong nhiều trường hợp cũng có thể được tăng tốc phần cứng.

  2. Hỗ trợ cho các mô hình. Hãy nhớ rằng đó là một vấn đề trước đó? Vâng, nó cũng có thể là một lợi ích. Tùy thuộc vào trò chơi, việc có thể bao gồm các quả cầu xoay hoặc thứ gì đó thú vị như vật thể 3d trong nền có thể là một lợi ích. Bạn cũng có thể có một trò chơi được tạo từ 3d, nhưng chỉ cần áp dụng vào phối cảnh 2d, có thể cung cấp cho bạn tùy chọn xoay hình học thế giới mà không phải thực hiện thêm hàng tấn đồ họa để xử lý.

  3. Học 3d. Hãy đối mặt với nó, rất nhiều trò chơi được viết bằng 3d và nếu bạn học cách sử dụng Unity, bạn sẽ có thể áp dụng nhiều kỹ năng đó cho trò chơi tiếp theo có thể yêu cầu 3d. Ngoài ra, hiện tại có rất nhiều nghệ sĩ sắp ra trường đang được dạy làm người mẫu 3d, vì vậy việc tìm kiếm một nghệ sĩ 3d dễ dàng hơn so với một nghệ sĩ trò chơi 2d truyền thống (cho dù các nghệ sĩ có tốt không ....)

Phần kết luận

Có rất nhiều khuyết điểm, cũng có một số lượng khá. Tất cả sẽ phụ thuộc vào loại trò chơi bạn muốn làm, tùy bạn quyết định xem nó có xứng đáng hay không. Flash vẫn là một lựa chọn cực kỳ khả thi, vì vậy không có gì sai khi sử dụng công cụ 2d nếu điều đó phù hợp với trò chơi của bạn hơn.


+1. Câu trả lời rất kỹ lưỡng và có thể áp dụng. Tôi có cảm giác bạn đã giải quyết điều này trước đây.
chaosTechnician

Cảm ơn, chỉ là những gì tôi đang tìm kiếm! Tôi nghĩ rằng tôi sẽ tiếp tục tập trung vào các công cụ 2d, vì hầu hết các công cụ mà tôi thấy đã được xây dựng dựa trên OpenGL hoặc DirectX và mô hình 3d hiện tại hơi ngoài khả năng của tôi. Tôi muốn học Unity vào một lúc nào đó, nhưng có lẽ tôi sẽ tốt hơn khi giải quyết điều đó sau khi tôi có một trò chơi 2d dưới vành đai của mình.
mrohlf

Ngoài ra, các công cụ 3D cho phép bạn vẽ các họa tiết với xoay tùy ý và alpha thực sự, thực sự dễ dàng; dễ dàng hơn nếu bạn có một công cụ 2D thuần túy. Đây là lý do tại sao nhiều động cơ 2D hiện đại thực sự 3D dưới mui xe; bạn cũng có thể viết shader tùy chỉnh!
tro999

7

Một nhược điểm lớn sự phức tạp thêm - các công cụ 3D không phải lúc nào cũng có cùng mức hỗ trợ hạng nhất cho đồ họa 2D như các công cụ 2D chuyên dụng. Điều này có nghĩa là đó là rất nhiều công việc phụ để xử lý và sáng tác cảnh 2D và / hoặc bạn vẫn phải đối phó với sự phức tạp của đường ống chuyển đổi và toán học 3D. Đặc biệt nếu bạn không hoàn toàn quen thuộc với các nguyên tắc cơ bản của lý thuyết đồ họa 3D, bạn có thể thấy mình lạc lõng và bối rối khi hình ảnh của bạn không xuất hiện và nếu không cẩn thận, bạn có thể vấp phải một "giải pháp" khiến bạn hình ảnh xuất hiện nhưng không nhất thiết phải chính xác (và do đó sẽ cắn bạn sau này).

Nhưng ngoài khía cạnh con người, miễn là công cụ 3D có các công cụ bạn cần để xây dựng trò chơi 2D của bạn, việc sử dụng một công cụ không phải là ý tưởng tồi . Chúng phổ biến hơn nhiều trong những ngày này và có xu hướng được phát triển mạnh mẽ hơn, vì vậy đó là một lợi thế. Ngoài ra, có thể vẫn còn một số công cụ hoặc khung tập trung 2D ngoài kia không sử dụng D3D hoặc OpenGL đằng sau hậu trường, và do đó có thể không nhận được lợi ích của GPU hiện đại.

Trong câu hỏi liên quan này, bạn có thể thấy rất nhiều cuộc thảo luận về những gì có thể làm cho 3D trở nên khó khăn hơn (bạn sẽ chỉ phải đối phó với một tập hợp con là bạn chỉ sử dụng công cụ 3D cho trò chơi 2D).


2

Pro: Nhiều nỗ lực hơn được dành cho các nhà sản xuất card màn hình tối ưu hóa trình điều khiển 3D của họ. Bạn không bị mắc kẹt trong 2D đối với FX hoặc fluorishes đặc biệt. Bạn không cần phải mô phỏng chính mình. Chuyển đổi quan điểm không yêu cầu làm lại hoàn toàn tất cả nghệ thuật của bạn. Tôi sẽ lập luận rằng quy mô 3D trực quan tốt hơn.

Con: Đường ống tài sản có thể sẽ phải được điều chỉnh cho động cơ của bạn. Một số thao tác đơn giản trong 2D phức tạp hơn trong 3D. Thư viện có thể sẽ có thêm chức năng mà bạn sẽ không bao giờ sử dụng.


0

Chỉ cần học Unity nếu bạn có thể. Unity hoạt động thực sự tốt với Blender 3D là nguồn mở và miễn phí. Có rất nhiều hướng dẫn trực tuyến tốt về cách tạo mô hình và tạo hiệu ứng 2D trong Blender với các mặt phẳng. Ngoài ra, có một TẤN các mô hình bạn có thể tải xuống trực tuyến thường miễn phí hoặc giá rẻ mà bạn có thể sử dụng làm điểm bắt đầu.

Tất nhiên, điều này là giả định rằng bạn không thành thạo trong việc tạo Game Engine của riêng bạn. Trò chơi 2D yêu thích của tôi bây giờ là Super Meat Boy, được thiết kế trong Flash và kết thúc lập trình đã được thực hiện tùy chỉnh ... tạo ra một công cụ trò chơi phù hợp với nhu cầu đặc biệt của trò chơi. Đây là cách tốt nhất để tiếp cận một dự án như thế bởi vì nó mang lại cho bạn rất nhiều sự tự do. Điều đó nói rằng phải mất rất nhiều công việc để đi theo con đường đó.


Trên thực tế, bây giờ UNITY đã bổ sung hỗ trợ 2D, điều này thậm chí còn không có gì phải suy nghĩ: pcworld.com/article/2062740/
Kẻ

1
Tôi vẫn nói Unity hút cho các trò chơi 2D. Đối với các trò chơi 2d, nó không phải là chất lượng chuyên nghiệp đối với tôi, chỉ cần so sánh với một công cụ 2D vững chắc như Cocos2D-swift. Đó là một không có trí tuệ.
Jonny
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.