Có phải là một ý tưởng tốt để đơn giản hóa một công cụ trò chơi điều khiển nhân vật đến mức không cần thiết phải học lập trình / lập trình?


9

Tôi nhớ, và tôi vẫn nghĩ rằng, người ta thậm chí không thể tạo ra một trò chơi 3D nguyên mẫu để chỉ kiểm tra các hành vi đơn giản mà không sử dụng các công cụ khổng lồ như thống nhất hoặc biết lập trình C ++ mở rộng, mẫu thiết kế, công cụ 3D cơ bản hoặc cơ bản, v.v.

Bây giờ tôi đang tự hỏi, vì tôi biết lập trình, liệu tôi còn may mắn hơn những người cần học lập trình trước khi biết cách làm một cái gì đó. Ngay cả các động cơ theo kịch bản như Unity cũng không dành cho trẻ em, và theo cảm nhận của tôi, chúng có xu hướng ra lệnh cho cách làm việc của chúng. Đây không phải là trường hợp với động cơ như Ogre hoặc Irrlicht.

Bây giờ tôi đang nghĩ rằng các trò chơi điều khiển nhân vật chiếm một phần lớn trong thị trường trò chơi. Bạn có nghĩ rằng nên tạo ra một công cụ trò chơi điều khiển nhân vật chỉ cho phép xây dựng AI để loại trừ bất cứ điều gì khác không?

Khi tôi nói nguyên mẫu, tôi cũng có nghĩa là "chung chung" theo nghĩa người ta có thể nhanh chóng chọn từ một tập hợp các tham số trò chơi như trình quản lý cảnh, camera POV của người chơi, điều khiển, một số va chạm / vật lý rất cơ bản và tích hợp của tay lái cơ bản (ví dụ OpenSteer). Ý tưởng chính là tạo ra một hộp cát AI nhưng ở dạng 3D, vì vậy nó có thể được trình diễn mà không bị ràng buộc 2D (và cũng làm cho nó phù hợp hơn với nguyên mẫu trong 3D cho dự án 3D thay vì 2D).


Công cụ 3D 'cơ bản' không lớn và C ++ rất tệ cho tạo mẫu. Hãy thử Python cho điều đó.
Vịt Cộng sản

Câu trả lời:


6

Tôi thực sự thích công cụ trò chơi được đánh giá thấp trong Blender. (http://www.blender.org) Mô hình bộ điều khiển-bộ điều khiển cảm biến thực sự dễ thực hiện ngay cả đối với những người không lập trình, và có thể tạo ra một trò chơi hoàn chỉnh hợp lý (di chuyển nhân vật hoạt hình, bắn vũ khí, tiêu diệt mục tiêu , hiển thị điểm số, theo dõi sức khỏe, thiết lập lại mức độ hoặc chuyển sang một cái mới) mà không cần bất kỳ chương trình nào.

Tất nhiên, một số thứ yêu cầu lập trình (đặc biệt là nhận đầu vào chuột cho FPS.) Tuy nhiên, máy xay đã kết hợp Python và kịch bản Python được gắn rất độc đáo vào mô hình để bạn không bao giờ cần thay thế bộ truyền động cảm biến bằng Python. Thay vào đó, bạn chỉ cần chuyển từ bộ điều khiển 'chuyển qua' rất đơn giản sang tập lệnh Python hoàn chỉnh có thể đọc tất cả các cảm biến trong cảnh và chuyển điều khiển sang tất cả các bộ truyền động.

Hoàn toàn khả thi khi tạo ra một nguyên mẫu trò chơi trong vài ngày trong Blender (tôi đã làm nó cho một dự án tại một bảo tàng trẻ em địa phương vào năm ngoái.)

Tất nhiên, không có gì thay thế bí quyết lập trình cũ, và cuối cùng, một nhà phát triển cần phải hiểu lập trình.


Sẽ rất tuyệt khi sử dụng công cụ trò chơi này với mã thay vì hộp ... có thể nó không đủ sạch để sử dụng, nhưng tôi tự hỏi ...
jokoon

4

Bất kể cơ chế đầu vào, vào cuối ngày, bạn vẫn cần thiết lập một số cách để nói với trò chơi logic là gì. "Scripting" là một thuật ngữ thông tục tốt cho việc này. Vì vậy, về cơ bản tôi không đồng ý với khẳng định rằng bạn có thể đơn giản hóa một cái gì đó đến mức bạn không cần phải biết "kịch bản".

Điều đó đang được nói, không phải tất cả các kịch bản cần phải được thực hiện với một ngôn ngữ lập trình dựa trên văn bản. Đã có một số công việc (nhưng không nhiều) hướng tới việc tạo ra một hệ thống kịch bản trực quan. Công cụ kịch bản cấp độ của Unreal, Kismet, là một ví dụ khá hay. Công cụ nguồn có một cơ chế tương tự, nhưng nó sử dụng các thực thể trên thế giới thay vì trên một mặt phẳng.

Về cơ bản, bạn có các hộp mà bạn kéo xung quanh trong một số loại môi trường có đầu vào và đầu ra. Nếu bạn cần một số loại đầu ra phân nhánh, bạn có một số hộp có một đầu vào và nhiều đầu ra. Những đầu ra đó có thể đi đến các hành động có dữ liệu gắn liền với chúng (nghĩa là "di chuyển đến điểm này", "nói dòng này", "đặt câu hỏi này", v.v.). Nó thường là một rào cản thấp hơn đáng kể để nhập vào để có được thứ gì đó và chạy bằng ngôn ngữ hình ảnh vì bạn không cần phải biết từ khóa hoặc cú pháp, bạn chỉ có một bộ hộp hạn chế để chọn tất cả các hành vi được xác định và bạn chỉ cần kết nối chúng lại với nhau

Tuy nhiên, theo ý kiến ​​của tôi, các công cụ kịch bản trực quan không thực sự đáng ngại. Bạn cần có khả năng suy nghĩ có cấu trúc và logic để nói thành công với động cơ những gì bạn muốn làm. Nếu bạn có thể nghĩ như vậy, việc chuyển từ các hộp có đầu vào / đầu ra sang các câu lệnh phân nhánh cơ bản và các lệnh gọi hàm trong một ngôn ngữ kịch bản không phải là vấn đề lớn. Trong thực tế, sau một thời gian phần hình ảnh của nó có lẽ là một trở ngại. Ngoài ra, đó là công việc nhiều hơn về phía động cơ của mọi thứ. Bạn phải làm những việc như triển khai hoàn tác, sao chép / dán, có thể có một số tính năng cấp cao hơn để tổ chức tập lệnh của bạn. Với ngôn ngữ dựa trên văn bản, bạn có thể để tất cả điều đó cho IDE.


Bạn có ý nghĩa như Unism Kismet?
DeadMG

1

Nó nói chung sẽ là một sự đánh đổi. Nếu bạn thực sự muốn loại bỏ sự cần thiết phải thực hiện bất kỳ loại kịch bản nào, bạn thường sẽ nói về việc tạo ra một loại giao diện nào đó sẽ ghép các tập lệnh lại với nhau trong nền (hoặc chỉ kết nối các đối tượng logic hoặc không). Có toàn bộ trò chơi trong đó đó là toàn bộ điểm đối với chúng, một môi trường được xác định rõ nơi bạn kéo và thả chức năng để xem cách nó tương tác với nó.

Tuy nhiên, vào cuối ngày, nó sẽ luôn là một sự đánh đổi .. Bạn càng cố gắng làm cho giao diện càng đơn giản thì những thứ được tạo ra thông qua giao diện đó càng đơn giả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.