Làm thế nào để tôi tạo nguyên mẫu một trò chơi trực tuyến? [đóng cửa]


8

Tôi muốn biết nếu các bạn biết bất kỳ thư viện, công cụ nào, hoặc thậm chí chỉ đơn giản là thiết kế các mẫu đơn giản hóa rất nhiều nhiệm vụ chia sẻ thông tin và gửi tin nhắn giữa các chương trình được nối mạng, vì vậy người ta có thể tập trung vào điều chỉnh trò chơi thay vì viết lại mã mạng, trong khi tạo mẫu trò chơi nối mạng. Vì điều này có nghĩa là cho các nguyên mẫu, dễ sử dụng và linh hoạt là quan trọng hơn nhiều so với tốc độ và bảo mật.


1
Chà, tôi đã nghe nói rằng Unity có khả năng tạo ra các trò chơi theo phong cách MMO, tuy nhiên nó là một Công cụ tập trung vào 3D, bạn có thể làm 2D nhưng bạn chỉ cần sáng tạo một chút (như tạo một mặt phẳng chứa sprite 2D như một kết cấu và đặt camera nhìn xuống.) Tôi biết buzz 3D đã thực hiện một hướng dẫn về lập trình Unity MMO, nhưng tôi không nghĩ nó có sẵn cho công chúng. Tôi khuyên bạn nên tham gia Paper Prototyping, đó là nơi bạn cố gắng tạo trò chơi bằng cách cắt giấy và tự mình di chuyển mọi thứ, đó là một cách tốt để nhận phản hồi mà không cần tạo trò chơi đầy đủ, chỉ cần tự xử lý các sự kiện trực tuyến.
Benjamin Danger Johnson

1
ZMQ là tuyệt vời để giảm nồi hơi mạng.
Anko

@BenjaminDangerJohnson Tôi đã sử dụng Unity, nhưng các thành phần mạng của chúng quá cụ thể để chia sẻ vị trí đối tượng. Bạn phải viết công cụ của riêng bạn lên trên nó nếu bạn muốn sử dụng nó cho mục đích khác, và điều đó đánh bại toàn bộ mục đích tạo mẫu.
Panda Pyjama

@Anko 0MQ có vẻ thú vị và tôi sẽ thử. Tôi lo lắng rằng nó cố gắng đơn giản hóa lớp vận chuyển , điều đó rất có thể có nghĩa là cuối cùng, bạn sẽ phải viết giao thức ứng dụng của riêng bạn, đó chính xác là điều tôi muốn tránh cho giai đoạn tạo mẫu.
Panda Pyjama

2
Dựa trên việc viết lại, 0MQ (hoặc RabbitMQ) sẽ hoạt động tốt. Không có hệ thống nhắn tin nào có thể tự động sao chép dữ liệu của trò chơi của bạn, nội dung của tin nhắn sẽ luôn tùy thuộc vào bạn để tạo và giải thích. Heck, trên mạng LAN, bạn chỉ có thể spam các chương trình phát sóng và bất kỳ ai nghe đều có thể chọn các gói có ý nghĩa cho chúng, dữ liệu có thể là XML hoặc JSON hoặc một luồng văn bản cặp giá trị khóa dễ dàng vì để tạo mẫu cục bộ, bạn được đảm bảo có hàng tấn băng thông. Nhưng bạn vẫn phải làm công việc mã.
Patrick Hughes

Câu trả lời:


4

Cách dễ nhất để tạo nguyên mẫu cho một trò chơi trực tuyến, cho phép bạn nhanh chóng thay đổi hầu hết mọi thứ trong trò chơi (ngay cả các yếu tố như thời gian thực so với theo lượt), là triển khai nguyên mẫu như một trò chơi vật lý. Kết hợp tất cả các nhà thiết kế trong một căn phòng, nhận một loạt các thẻ, hoặc súc sắc, hoặc các thành phần trò chơi trên bảng, hoặc bất cứ điều gì cần thiết để tạo nguyên mẫu cho các tương tác trò chơi chung. Sau đó chơi trò chơi.

Bạn có thể làm điều này mà không cần phải trả tiền cho các lập trình viên hoặc nghệ sĩ. Thử các biến thể khác nhau của quy tắc trò chơi chỉ mất một hoặc hai phút thay vì yêu cầu hàng giờ hoặc hàng ngày (hoặc tuần!), Và bạn có thể biết liệu trò chơi của mình có hoạt động hay không bằng cách thực sự chơi nó, thay vì phải thiết kế trước thực hiện và đoán về những gì sẽ hoặc sẽ không làm việc. Thêm vào đó, các lập trình viên của bạn vẫn sẽ thích bạn ở cuối quá trình. :)

  • Khi làm điều này, tôi khuyên bạn nên có ít nhất một người đóng vai trò là người quan sát; không tham gia vào trò chơi và một người khác có công việc là ghi chép về việc ai đã làm gì và khi nào. Dữ liệu về những gì thực sự xảy ra trong mỗi trò chơi có thể trở nên cực kỳ hữu ích trong khi điều chỉnh bộ quy tắc giữa các trò chơi.

Bút, giấy, xúc xắc, thẻ, bảng, thẻ. Đó thực sự là tất cả những gì bạn cần. Và để tạo mẫu cho một thiết kế trò chơi, nó tốt hơn bất cứ thứ gì khác.


6
Trái lại. Nếu đồng nghiệp của bạn từ chối thực hiện những gì nhanh nhất và tiết kiệm nhất để công ty nhanh chóng lặp lại trên thiết kế trò chơi nguyên mẫu, thì bạn không ở trong môi trường chuyên nghiệp.
Trevor Powell

2
Chúng ta đừng biến điều này thành một cuộc thảo luận tại nơi làm việc. Chắc chắn nguyên mẫu vật lý là rất tốt, nhưng không phải lúc nào cũng có thể, và không phải tất cả các trò chơi đều có thể chơi được về mặt vật lý. Tôi thường có thể hack các ý tưởng trò chơi 2D của một người chơi trong vài giờ và sửa đổi chúng để xem chúng có thú vị không. Tôi chỉ muốn có thể làm điều tương tự cho các trò chơi nhiều người chơi.
Panda Pyjama

5
Bạn là người đưa ra môi trường làm việc, không phải tôi. Nếu bạn không muốn nói về họ, thì tốt thôi. Nhưng đừng mong tôi giữ im lặng trong khi bạn tuyên bố rằng nguyên mẫu vật lý bằng cách nào đó không thể hoạt động trong môi trường làm việc "chuyên nghiệp". Bởi vì điều đó đơn giản là không đúng sự thật.
Trevor Powell

2
Ngoài ra, không phải tất cả các trò chơi là nguyên mẫu vật lý tầm thường. Trò chơi giải đố và chiến lược rất dễ thực hiện với đề xuất của bạn, nhưng các trò chơi hành động, âm nhạc, đua xe, thể thao và mô phỏng có thể không như vậy.
Panda Pyjama

1
Không có phương pháp nào kỳ diệu sẽ tạo ra nguyên mẫu 'tầm thường' cho bất kỳ loại trò chơi nào (ít hơn nhiều cho mọi loại trò chơi). Chắc chắn là như vậy khi các mạng có liên quan. Đó là nó 'không nhỏ' không phải là một lý do để sa thải bất kỳ phương pháp tạo mẫu, bởi vì bạn sẽ không bao giờ tìm thấy một phương pháp mà tầm thường.
Trevor Powell

2

relatively simple rule changes such as "let's try this in real time instead of turn-based"Nghe có vẻ như là một thay đổi khá cơ bản đối với tôi, không phải là một thay đổi quy tắc đơn giản. Tôi nghĩ rằng các lựa chọn thiết kế cơ bản như thế nên được thực hiện trước khi bạn có thể viết bất kỳ mã mạng nào, với các nguyên mẫu ngoại tuyến hoặc thậm chí các nguyên mẫu giấy.

Đó là, nguyên mẫu trò chơi mà không cần thực hiện bất kỳ kết nối mạng. Điều đó có nghĩa là viết một trò chơi nhiều người chơi cục bộ (tức là cả hai người chơi trên cùng một máy tính) để kiểm tra ý tưởng chơi trò chơi.

Ý tôi là, trong công việc của mình, chúng tôi đã từng chơi một trò chơi đã được phát triển nửa chừng và chuyển đổi nó thành thời gian thực, và vâng, nó liên quan đến việc viết lại mã mạng lớn. Nhìn lại, đó là một cách thực sự không hiệu quả để tiếp cận mọi thứ, và chúng tôi đã quyết định khá nhiều "không bao giờ nữa".


Không thực sự, nếu nó không được nối mạng, việc thay đổi một trò chơi theo lượt thành thời gian thực không khó lắm. Vấn đề với việc thử trên cùng một máy tính là bạn bị giới hạn ở hai hoặc có thể tối đa bốn người dùng cùng một lúc. Dù sao, đó là một ví dụ, nhưng có nhiều thứ khác tôi muốn kiểm tra mà chắc chắn có thể dễ dàng kiểm tra hơn nếu chúng thực sự được nối mạng ...
Panda Pajama

Không hiểu điểm của câu đầu tiên của bạn. Đó chính xác là những gì tôi đang làm, việc thay đổi lối chơi đó trở nên dễ dàng nếu trò chơi không được nối mạng. Và nếu có những thứ khác chỉ có thể được kiểm tra khi mạng thực sự được đặt ra (ví dụ: đồng bộ hóa qua internet) thì hãy đưa ra càng nhiều quyết định càng tốt trước khi bạn bắt đầu lo lắng về điều đó.
jhocking

0

Tôi không thể tưởng tượng được sự cần thiết của một công cụ như vậy bởi vì tôi tin rằng logic mạng được thực hiện tốt nhất thông qua một phân tích chắc chắn về những thông tin cần phải đi đâu.

Nhưng, nếu tôi bị buộc phải tạo ra một thứ như vậy cho một người muốn, tôi sẽ sử dụng:

Điều này bao gồm tất cả các vấn đề về vận chuyển đáng tin cậy, phân định thông điệp và tuần tự hóa / giải tuần tự. (Pickle không an toàn cho bất cứ điều gì khác ngoài việc sử dụng mạng nội bộ.)

Bạn vẫn sẽ cần phải thiết lập logic để quyết định nên làm gì với dữ liệu, đưa ra và thực hiện quyết định máy tính nào kết nối với máy tính nào khác, v.v. Và nó không hỗ trợ nhắn tin không đáng tin cậy, hoặc các cuộc gọi thủ tục từ xa, hoặc sao chép trạng thái tự động, v.v ... Đó là lý do tại sao thường tốt hơn là lên kế hoạch cho những gì bạn muốn và viết nó theo cách đó.

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.