Những lợi thế và bất lợi của việc sử dụng một công cụ trò chơi là gì? [đóng cửa]


28

Làm thế nào để tôi biết có sử dụng công cụ trò chơi hay không? Tôi muốn tạo một game 2D tương đối phức tạp cho Android. Những yếu tố nào tôi nên cân nhắc để quyết định xem có nên tìm, cài đặt và tìm hiểu một công cụ trò chơi hay chỉ làm mọi thứ bằng tay?


Không chắc chắn nếu thiết kế trò chơi là thẻ tốt nhất, ở đây; nhưng động cơ đã được đưa vào danh sách đen. Câu hỏi này có lẽ nên được xóa.
Gnemlock

Câu trả lời:


25

Ưu điểm:

  • Hầu hết nếu không phải tất cả các mã được thực hiện cho bạn, vì vậy tất cả những gì bạn phải lo lắng là nội dung, bố cục cấp độ, v.v.

  • Cùng với các dòng đó, quản lý bộ nhớ, tải tài sản, ánh sáng (trong các động cơ phức tạp), v.v ... đều đã được thiết kế và kiểm tra kỹ lưỡng (hy vọng).

  • Như đã đề cập dưới đây, nếu công cụ là nền tảng chéo, bạn sẽ phải làm rất ít để không làm việc để chuyển trò chơi của bạn.

Nhược điểm:

  • Nếu bạn đang sửa đổi bất cứ điều gì, bây giờ bạn cần phải làm quen với một cơ sở mã mới.
  • Nếu có lỗi trong công cụ, trừ khi đó là nguồn mở, bạn không thể sửa nó.
  • Công cụ này không được thiết kế riêng cho trò chơi của bạn, vì vậy nó có thể kém hiệu quả hơn mã bạn viết riêng cho trò chơi của mình.
  • Công cụ trò chơi thường không miễn phí.
  • Nếu một trò chơi nhỏ, chi phí sử dụng một công cụ có thể không đáng để đầu tư thời gian để tự viết mã.
  • Nếu công cụ trò chơi của bạn cũng có bất kỳ trình soạn thảo hoặc công cụ nào, bạn cũng sẽ phải xây dựng và kiểm tra chúng trước khi chuyển chúng cho các nghệ sĩ hoặc tự mình dựa vào chúng.

Đừng để thực tế là danh sách các nhược điểm dài hơn: khi thời gian mã hóa và kiểm tra tất cả các hệ thống bạn cần quá dài cho chu kỳ sản xuất của bạn hoặc nếu bạn có nhiều kỹ năng với nghệ thuật hơn mã, sử dụng công cụ trò chơi là chắc chắn là một ý tưởng tốt

Một so sánh về các công cụ trò chơi đang được thực hiện trong câu hỏi này: Pro và Con của các Công cụ trò chơi 3D khác nhau


3
Đây là một câu trả lời khá tốt về tổng thể, nhưng tôi đã nhíu mày ngay từ câu đầu tiên. Tôi thực sự khuyên bạn nên viết lại "Hầu hết nếu không phải tất cả các mã được thực hiện cho bạn" thành "Hầu hết các mã hóa cấp thấp được thực hiện cho bạn"; thật sai lầm đến mức vô trách nhiệm khi tiếp tục huyền thoại "làm cho trò chơi không cần mã hóa!"
jhocking

Ngoài ra, động cơ có thể hạn chế những gì bạn có thể làm một cách dễ dàng - ví dụ, về việc nhiều người không hỗ trợ địa hình có thể điều chỉnh theo kiểu Minecraft hoặc Dwarf-Fortress. Điều này tốt cho các trò chơi không cần nó, nhưng chúc may mắn làm cho một bản sao Minecraft với một.
dùng253751

15

Trong trường hợp của tôi, tôi đã dành rất nhiều thời gian (tháng) để loay hoay không làm được gì vì công cụ trò chơi. Bây giờ tôi thường tránh chúng như bệnh dịch hạch, mặc dù tôi hiểu rằng chúng nên được sử dụng một cách khôn ngoan và điều độ.

Đối với tôi, tôi bị ám ảnh bởi tất cả các khả năng ! Nhìn vào một danh sách dài các tính năng trong engine X, nó giống như "Wow tôi có thể làm tất cả những điều này! Trò chơi của tôi có thể rất tuyệt!" Vì vậy, tôi đã tải xuống, chạy các bản demo và bị lóa mắt bởi các tính năng đó, v.v. Sau đó, tôi sẽ tạo một dự án mới trong IDE của mình và không biết bắt đầu từ đâu. Tôi sẽ viết một số mã, tôi có thể học hỏi và dựa trên các dự án demo, nhưng đó chỉ là những bản demo.

Tôi không biết làm thế nào để bắt đầu từ không có gì và làm một cái gì đó. Tôi không biết bước đầu tiên. Tôi yêu thích ý tưởng về một động cơ, nó đã gây ấn tượng và khiến tôi có động lực để tạo ra một thứ gì đó, nhưng kiến ​​thức về phát triển thực tế của tôi còn hạn chế đến mức ngay cả khi biết cách thêm động cơ vào đường dẫn xây dựng và có thể viết vài dòng để bắt đầu Động cơ và sau đó tắt nó một lần nữa, ngoài ra tôi không bao giờ làm bất cứ điều gì đáng giá.

Tôi không chỉ là một đứa trẻ bước đi. Tôi muốn tạo ra trò chơi của riêng mình từng bước một, tái cấu trúc các chức năng hữu ích và thu thập các chức năng đó vào một thư viện mà một ngày nào đó tôi có thể coi là một "công cụ". Vì vậy, bây giờ, tôi tránh sự cường điệu của động cơ và chỉ gắn bó với những thứ cấp thấp.

Và động cơ có vị trí của họ. Nếu bạn tìm thấy một động cơ và tự nghĩ: "Đây chính xác là những gì tôi sẽ viết! Họ đã hoàn thành công việc cho tôi, tôi không phải phát minh lại bánh xe, và tôi biết chính xác làm thế nào để móc nó vào trò chơi rằng tôi đã bắt đầu [hoặc ít nhất là đã lên kế hoạch đầy đủ và sẵn sàng bắt đầu] "thì có lẽ nó phù hợp. Bạn sẽ biết chính xác cách sử dụng nó và cách viết mã của riêng bạn để sử dụng công cụ để tạo ra thứ gì đó hữu ích. Nhưng nếu bạn có một động cơ chỉ vì nó có tất cả mọi thứ trừ bồn rửa trong bếp và bạn nghĩ rằng bạn đang đứng trên vai những người khổng lồ, bạn đã rất nhầm. Bạn có một người khổng lồ đứng trước mặt bạn, và bạn cần phải trèo lên vai của nó.

Vì vậy, nhược điểm rất lớn đối với tôi: đừng bị cuốn vào tất cả những điều bạn có thể làm. Bất cứ động cơ nào bạn có thể chọn, nó sẽ có rất nhiều tiềm năng. Nhưng nếu bạn không biết cách khai thác tiềm năng, nếu nó không giúp cuộc sống của bạn dễ dàng hơn hoặc giúp bạn hoàn thành công việc thì tại sao bạn lại sử dụng nó?


4

Nhược điểm lớn nhất của một công cụ trò chơi là bạn phải học nó. Nếu bạn chưa quen với lập trình nói chung, điều đó có thể vẫn nhanh hơn việc học viết mã để làm tất cả những thứ mà một công cụ xử lý cho bạn, nhưng nếu bạn có kinh nghiệm thì bạn sẽ không mất thời gian để ngồi xuống và bắt đầu viết mã, nhưng một lượng thời gian trước để tìm hiểu theo cách của bạn xung quanh một công cụ không quen thuộc.

Điều quan trọng nhất cần tìm kiếm là sự hỗ trợ, bởi vì các công cụ trò chơi không hoàn hảo và chúng không đọc được suy nghĩ của bạn, và bạn sẽ bị mắc kẹt trên SOMETHING vào một lúc nào đó. Vì thế:

  • Có tài liệu không?
  • Tài liệu có thực sự tốt không?
  • Có hỗ trợ kỹ thuật (thường là không, trừ khi bạn trả tiền cho nó)? Thời gian quay vòng là gì?
  • Có diễn đàn cộng đồng nơi bạn có thể đăng câu hỏi và nhận được câu trả lời thực sự không?
  • Có hướng dẫn nào chỉ cho bạn cách bắt đầu sử dụng công cụ không? Là mã nguồn mẫu bao gồm? Làm thế nào hữu ích để bạn tìm thấy những điều này trong việc tăng tốc?

2
+1 để đưa tài liệu nổi bật lên phía trước ... đó là nơi mà nhiều công cụ trò chơi nguồn mở thất bại
LearnCocos2D

3

Là một người có nhiều kinh nghiệm phát triển phần mềm và chỉ thực sự cố gắng phát triển một trò chơi từ đầu, đây là 2 xu của tôi.

Các câu trả lời cho đến nay đã cung cấp danh sách dài các ưu và nhược điểm. Tôi sẽ cung cấp những gì cho tôi là lý do quan trọng nhất KHÔNG sử dụng công cụ trò chơi. Khi tôi nhận nhiệm vụ học viết một trò chơi hoàn toàn cho thử thách và phần thưởng, tôi quyết định làm nó từ đầu mà không có động cơ, chỉ có OpenGL và SDL, vì tôi muốn họctất cả mọi thứ trên mức độ trừu tượng. Không có giai đoạn nào tôi hối hận vì quyết định đó. Trò chơi của tôi là một phiên bản cuộn đẹp của các tiểu hành tinh 2D, cơ bản nhưng mượt mà. Tôi không cố gắng cạnh tranh với các trò chơi vượt trội, nhưng tôi phân phối trò chơi của mình và mọi người rất thích chơi nó. Tôi sẽ có cách tiếp cận tương tự trong việc tạo ra nhiều người chơi trò chơi. Đây là một thách thức lớn và việc sử dụng các thư viện có thể làm cho nó dễ dàng hơn, nhưng mục tiêu của tôi không phải là làm cho nó dễ dàng. Mục tiêu của tôi là học hỏi và đối với tôi đó là một hoạt động bán thời gian, vì vậy tôi không có nhiều thời gian và tiến độ thì chậm. Nhưng tôi có lý do của tôi cho phương pháp này. Gọi nó là "học cao hơn".

Vì vậy, hãy trả lời câu hỏi của riêng bạn, bạn có muốn học cách làm những việc mà công cụ trò chơi thay vì làm cho bạn vì những lợi ích mà việc học này có thể mang lại không? Nếu vậy, không sử dụng một công cụ trò chơi.


2

Bạn cần phải chi tiết những gì bạn có nghĩa là "phức tạp". Một công cụ trò chơi tốt sẽ chăm sóc tất cả những điều sau đây:

  • Kết xuất trên một khung hình ổn định
  • Xử lý đầu vào
  • Giao diện người dùng
  • Âm thanh / âm nhạc
  • Quản lý tài nguyên (hình ảnh, âm thanh, tệp dữ liệu)
  • Lưu / tải trò chơi của bạn
  • Vật lý (2d hoặc 3d)

Hãy tự suy nghĩ, tôi có biết cách mã hóa từng thứ này không? Tôi sẽ mất bao lâu để lập trình cho mỗi chương trình, và tôi sẽ mất bao lâu để học cách chế tạo một động cơ làm từng việc này?


1

Ưu điểm lớn nhất: rất nhiều thứ được thực hiện cho bạn. Bạn không phải tiếp tục phát minh lại bánh xe.

Một ưu điểm khác: Công cụ trò chơi cũng có thể là đa nền tảng (Unity).

Nhược điểm? Điều khiển? Công cụ đang chăm sóc một số thứ cho bạn (chẳng hạn như kết xuất) vì vậy nếu nó có lỗi hoặc vấn đề về hiệu suất, thì bạn không thể tự sửa nó.

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.