Tương lai của trò chơi trên chuỗi: 'Lời hứa của công cụ MUD ECS'

Trung cấp3/18/2024, 8:59:36 AM
Bài viết này cung cấp các giải thích và giải pháp kỹ thuật cho các vấn đề trong ngành của trò chơi chuỗi dựa trên công cụ ECS.

Những lý tưởng của web3 dường như hoàn toàn phù hợp với ngành công nghiệp game và xu hướng gamification trong những năm gần đây. Trong một thời gian khá dài, chúng ta đã được hứa hẹn về một sự đột phá mới dưới dạng trải nghiệm độc đáo- Chơi game trên chuỗi. Với các đặc tính như phân quyền giúp chuyển cán cân quyền lực từ những người đương nhiệm trong ngành trò chơi sang các thực thể sáng tạo, khả năng kết hợp phá vỡ các bức tường của những khu vườn khép kín từ lâu và quyền sở hữu thực sự cho người chơi.

Nhưng những lý tưởng mạnh mẽ này vẫn bị gạt sang một bên vì chúng ta vẫn chưa nhìn thấy chúng trong thực tế. MUD là nỗ lực dũng cảm đầu tiên nhằm tạo ra một khuôn khổ hoàn chỉnh cho các trò chơi trực tuyến, một tia sáng có thể khơi dậy thế hệ trò chơi tiếp theo. Đây không phải là một giấc mơ viển vông. Trong thời gian ngắn ngủi, nhóm MUD chịu trách nhiệm tạo ra OPcraft một trò chơi thực tế có chủ đề Minecraft 3D hoàn toàn trực tuyến.

Bài học từ ngành game truyền thống

Có thể nói nhiều điều về nỗi ám ảnh đổi mới, xây dựng mọi thứ từ đầu và tạo ra một sinh vật hoàn toàn mới. Nhưng liên quan đến việc chơi game, có hàng chục năm bài học về các mẫu thiết kế và việc tạo ra một lĩnh vực kỹ thuật mới cần được xem xét nghiêm túc. Việc loại bỏ những điều này tương đương với việc cố gắng tạo một trò chơi AAA bằng công nghệ Atari.

Khi nhìn vào những năm đầu phát triển trò chơi, chúng ta có thể thấy sự tương đồng không thể nhầm lẫn với trò chơi trực tuyến - rất nhiều tài năng và các dự án có tính truyền cảm hứng cao nhưng cũng thiếu sự phối hợp và khuôn khổ rõ ràng.

Trong những ngày đầu của trò chơi điện tử, trước khi có sự ra đời của công cụ trò chơi, những niềm tin và mẫu thiết kế đã được hình thành. Các trò chơi điện tử khác nhau có rất ít điểm chung, đến một mức độ nào đó, các trò chơi tương tự có thể có cơ sở mã hoàn toàn khác nhau. Nhưng với sự ra đời của game engine, mọi thứ đã thay đổi.

Thật khó để thiết lập sự phân biệt rõ ràng giữa công cụ trò chơi và bản thân trò chơi. Nói chung, công cụ trò chơi là các khung có một bộ quy tắc và mẫu thiết kế có thể được sửa đổi và mở rộng một chút để tạo ra các cách triển khai trò chơi khác nhau. Vào những năm 90, sau nhiều năm phát triển trò chơi rời rạc, có điều gì đó đã thay đổi và các công cụ chơi game “dựa trên thể loại” cũng như một số nỗ lực phát triển các công cụ dành cho mục đích chung đã dẫn đầu. Các trò chơi như Doom và Unreal có các thành phần cốt lõi có thể được tái sử dụng để tạo ra nhiều trò chơi khác nhau. Các trò chơi có thể loại tương tự bắt đầu chia sẻ nhiều cách cấy ghép logic cốt lõi của chúng. Chi phí và độ phức tạp của việc phát triển các trò chơi đua xe, chiến đấu và bắn súng góc nhìn thứ nhất đã giảm đáng kể. Điều không thể đã trở thành có thể, và nhiều thế hệ trò chơi cũng như mã nâng cấp đã chồng lên nhau. Từ góc độ phần mềm, đây là một trong những lý do chính khiến việc phát triển trò chơi trở thành một ngành công nghiệp khổng lồ.

Có một số vấn đề cốt lõi liên quan đến trò chơi trên chuỗi:

  1. Thiếu khuôn khổ: Mọi nhóm đều cố gắng xây dựng mọi thứ từ đầu, dẫn đến hiệu quả kém và thiếu kiến thức mang tính hệ thống theo kinh nghiệm tổng hợp của những người xây dựng giải quyết các vấn đề tương tự và tối ưu hóa để hướng tới các giải pháp tốt nhất.
  2. Thiếu khả năng sử dụng lại mã: Ví dụ như nhiều trò chơi trên chuỗi đang được phát triển ngày nay. Có bao nhiêu trong số chúng có thể được sao chép thành công để tạo ra các trò chơi hơi khác nhau? Có bao nhiêu trong số chúng có sự phân biệt rõ ràng giữa các lớp và thành phần khác nhau của trò chơi cho phép xây dựng một thế hệ mới với cơ sở mã tương tự? Lời hứa tạo ra dự án nguồn mở có tính kết nối và quan trọng nhất dành cho trò chơi dường như còn rất xa vời.
  3. Thiếu khả năng kết hợp dữ liệu: Nó không kết thúc ở khả năng sử dụng lại mã. Nó cũng nói về khả năng của các trò chơi trên chuỗi tận dụng trạng thái blockchain chung để xây dựng chồng lên nhau bằng cách sử dụng dữ liệu của trò chơi A trong trò chơi B. Trên thực tế, cần nhiều công sức và tài nguyên để kết hợp dữ liệu và logic của trò chơi này sang trò chơi khác.

Giải pháp của MUD:

Bùn là nỗ lực dũng cảm đầu tiên nhằm tạo ra một công cụ và khuôn khổ cho các trò chơi trên chuỗi bằng cách cung cấp cấu trúc cho Khả năng bảo trì, khả năng nâng cấp và khả năng tạo khuôn. Mô hình Hệ thống thành phần thực thể (ECS) được bùn ủng hộ không chỉ có ý nghĩa đối với việc phát triển trò chơi nói chung mà thậm chí còn có ý nghĩa hơn đối với việc phát triển trò chơi trên chuỗi.

ECS trong hợp đồng thông minh:

Các khối xây dựng cơ bản nhất trong MUD là các thành phần. Chúng là những hợp đồng được triển khai có chức năng giống như cơ sở dữ liệu lưu trữ dữ liệu về các thực thể. Ví dụ: hãy lấy một thực thể (một địa chỉ) như ví của người chơi. Thực thể này được đại diện bởi một địa chỉ có thể có các thuộc tính khác nhau, chẳng hạn như giá trị vị trí (x, y) trong thành phần vị trí, cấp 10 trong thành phần cấp độ và 50 trong thành phần tiền xu. Các thành phần chỉ bao gồm ánh xạ và cấu hình cơ bản. Các hệ thống phức tạp hơn và thực hiện logic thay đổi giá trị trong các thành phần. Bạn có thể nghĩ về điều này khi hệ thống chỉ định cụ thể API cho các yêu cầu POST trên cơ sở dữ liệu (thành phần). Họ chỉ có thể làm như vậy nếu được cấp quyền truy cập bằng văn bản vào các thành phần cụ thể. Ở đây nó trở nên thú vị. Hệ thống có thể tương tác với các thành phần khác nhau để tạo ra logic chi tiết. Bạn có thể có hệ thống chuyển động chỉ định chuyển động hợp lệ mà người chơi có thể thực hiện (ví dụ: hai bước mỗi lần) và bạn có thể có hệ thống phần thưởng cung cấp xu cho người chơi mỗi khi họ lên cấp. Tất cả chúng đều được đăng ký tại “World contact” sao cho mọi thay đổi trong dữ liệu thành phần đều dẫn đến một sự kiện được phát ra. Hợp đồng thế giới là không được phép. Bất cứ ai cũng có thể thêm các hệ thống và thành phần mới. Về lý thuyết, các thế giới khác nhau có thể tương tác với nhau.

Đưa ECS vào các trò chơi trực tuyến mang lại một cấu trúc rất tinh tế, chẳng hạn như OPcraft chỉ bao gồm 10 thành phần và khoảng 15 hệ thống. Bạn có thể kiểm tra bài đăng blog tuyệt vời này trên MUD.dev

Khả năng kết hợp thực sự

Hệ thống ECS không chỉ có ý nghĩa hoàn hảo trong phát triển trò chơi truyền thống mà còn hơn thế nữa trong các trò chơi trên chuỗi bằng cách cung cấp hai tính năng quan trọng

  1. Khả năng nâng cấp của trò chơi đã triển khai
  2. Mức độ tổng hợp cao nhất

Hãy tưởng tượng hai con đường. Một là bảo tồn thiết kế cơ sở. Và điều còn lại là thay đổi logic cốt lõi của trò chơi.

Hãy nghĩ về một trò chơi chiến lược PVP tiêu chuẩn trong đó người chơi có thể xây dựng quân đội để chiến đấu với nhau. Phiên bản cơ bản là 2D, nhưng giờ đây nhóm đã quyết định muốn tạo bản kết xuất 3D chi tiết của trò chơi. Tất cả những gì họ cần làm là lấy tất cả các hệ thống liên quan đến vị trí và tạo các phiên bản nâng cấp có tọa độ (x,y,z) thay vì (x,y). Tất cả các hệ thống và thành phần khác (như hệ thống tấn công, HP và xây dựng quân đội) có thể giữ nguyên. Nó thậm chí còn vượt xa các nhóm phát triển ban đầu, cộng đồng có thể tạo ra các bản mod khác nhau của trò chơi bằng cách triển khai lại các hệ thống và thành phần hoặc thậm chí tương tác với các thành phần giống nhau bằng cách cấp quyền truy cập bằng văn bản cho các hệ thống mới (nếu đó là trò chơi thuộc sở hữu của cộng đồng, các mô hình quản trị khác nhau có thể được áp dụng áp dụng cho các loại quyết định này)

Cách tiếp cận khác sẽ giữ nguyên các thành phần và hệ thống mà không cấp quyền truy cập ghi cho hệ thống mới. Nhưng với các thành phần và hệ thống được bổ sung để mở rộng các chức năng trong trò chơi, trò chơi sẽ trông như thế nào? Hãy xem xét một trò chơi cờ vua trên chuỗi cơ bản. Hệ thống di chuyển và quy tắc đã được triển khai. Mọi người có thể chơi trò chơi này như thể họ đang chơi cờ ngoài đời thực, nhưng có thể nhóm của bạn quyết định rằng bạn cần tạo một lớp bổ sung, một lớp xã hội bao gồm hệ thống xếp hạng để mai mối hoặc bất kỳ trường hợp sử dụng nào khác. Tất cả những gì bạn cần làm là thêm thành phần xếp hạng và hệ thống có quy tắc xếp hạng. Điều này không chỉ dẫn đến sự chuyển đổi liền mạch sang các phiên bản trò chơi mới (UX được cải tiến) mà còn tạo ra các phương tiện kỹ thuật để các phiên bản khác nhau cùng tồn tại cạnh nhau hoặc chồng lên nhau ở cấp độ hợp đồng thông minh. Người chơi có thể sử dụng nhiều phiên bản trò chơi khác nhau trong khi tương tác với dữ liệu của cùng một thành phần cốt lõi, điều này rất sáng tạo, ngoài các ứng dụng có khả năng kết hợp. Nó tạo ra một tính năng bất biến khi chọn tham gia, tạo ra một khía cạnh sở hữu khác mà các trò chơi trên chuỗi sẽ cung cấp. Quyền sở hữu thực sự đối với các nội dung trò chơi khác nhau (như điểm số, NFT, thành tích) được bảo đảm bằng logic bất biến có thể được mở rộng bằng các nâng cấp bổ sung nhưng không thay đổi về cốt lõi của nó. Nó giải quyết một trong những vấn đề chính của trò chơi web3, đó là khả năng người sáng tạo giảm tài sản mà không có sự đồng ý.

Phía khách hàng một góc nhìn tổng thể:

Lưu ý MUD là một dự án đang được tiến hành. Phần tiếp theo có thể không được cập nhật và có một số điểm không chính xác cũng như những điểm khác biệt thô sơ, nhưng kiến trúc chung dự kiến sẽ không có sự thay đổi đáng kể.

Cho đến nay, chúng tôi đã xem xét MUD ở cấp độ hợp đồng thông minh. Nhưng còn nhiều hơn thế nữa. MUD cung cấp một bộ đầy đủ các thư viện và lớp máy khách. Có một số tính năng độc đáo mà MUD được thiết kế.

  1. Khả năng kết hợp của khách hàng
  2. Máy khách được đồng bộ hóa hoàn toàn với thay đổi trạng thái blockchain (dữ liệu trò chơi)
  3. PhaserX làm lớp kết xuất

Hãy đi sâu vào các chi tiết kỹ thuật để làm cho nó cụ thể hơn.

Lớp mạng:

Lớp mạng là lớp cơ sở của máy khách. Nó chứa cấu hình cơ bản (hợp đồng thế giới, trò chơi và cấu hình mạng) và API cho các tương tác trong trò chơi. Khi lớp mạng được tạo, nó có đặc điểm kỹ thuật của tất cả các thành phần và hệ thống khác nhau mà máy khách của bạn có thể tương tác và bạn có thể chọn chỉ tương tác với các thành phần/hệ thống cụ thể. Ví dụ: nếu bạn muốn tạo chuyển động trong trò chơi của mình và thể hiện nó trên giao diện người dùng, bạn sẽ cần tạo một lớp mạng đồng bộ hóa với hợp đồng thông minh đã triển khai của thành phần vị trí cũng như với hệ thống chuyển động. Giờ đây, bạn có thể tạo API Move để nhận một vị trí và một số đối tượng (thực thể) trong trò chơi và đặt vị trí của nó hoặc di chuyển nó từ nơi này sang nơi khác. Bất cứ lúc nào người chơi cũng sẽ sử dụng API Move. Họ sẽ gửi một giao dịch tới blockchain. Trong trường hợp hệ thống chuyển động, họ sẽ thực hiện một chức năng trong hợp đồng thông minh của hệ thống chuyển động.

Cấu trúc này cho phép các trò chơi dựa trên nhiều khách hàng. Mọi người đều có thể tạo các ứng dụng khách duy nhất và tất cả chúng đều có giá trị như nhau miễn là chúng được đồng bộ hóa với blockchain và tuân theo cấu trúc cơ sở lớp mạng. Chúng tôi đã thấy những trường hợp sử dụng rất thú vị cho trò chơi nhiều khách hàng, chẳng hạn như trong trường hợp khu rừng tối, trong đó người chơi cạnh tranh với nhau nhưng sử dụng các khách hàng và plugin khác nhau. Cấu trúc của máy khách cho phép chúng tôi thực hiện cấy ghép lớp mạng và sửa đổi API để nhanh chóng có được các phiên bản máy khách khác nhau, đạt được mức độ cao về khả năng tạo khuôn và khả năng kết hợp của máy khách.

Bạn có thể hỏi các thành phần máy khách đồng bộ hóa chính xác như thế nào với các thành phần chuỗi. Đây là một trong những thách thức quan trọng mà các nhà xây dựng phải đối mặt khi làm việc với phía khách hàng của trò chơi trên chuỗi. MUD có một vài giải pháp cho nó.

Đầu tiên, MUD đưa ra tính năng chụp nhanh cho phép máy khách đồng bộ hóa với trạng thái thế giới (tức là giá trị của các thực thể theo thành phần) mà không cần xử lý tất cả các sự kiện trong quá khứ để xây dựng lại trạng thái, dẫn đến độ trễ thấp và giảm độ phức tạp.

Ngoài ra, hệ thống ID của MUD, trong đó mọi hệ thống và thành phần đều có id dựa trên tên của chúng và khi triển khai, chúng sẽ được đăng ký theo hợp đồng thế giới, giúp việc theo dõi các thay đổi, tương tác với trò chơi và tìm nạp trở nên dễ tiếp cận hơn nhiều. sự kiện một cách dễ dàng.

Lớp kết xuất - thời điểm và cách thức các sự kiện được hiển thị

MUD đi kèm với PhaserX, “Một công trình động cơ có khả năng mở rộng cao dựa trên Phaser”, PhaserX không bắt buộc. Trong OPcraft, có Noa voxel engine thay vì PhaserX. Về lý thuyết, bạn có thể sử dụng bất kỳ công cụ nào bạn muốn miễn là nó tuân theo cấu trúc.

Như đã nêu trước đó, mọi thành phần và hệ thống đều được đăng ký trên hợp đồng thế giới và khi thay đổi diễn ra, một sự kiện sẽ được phát ra (với dữ liệu được xác định như ID thành phần và ID thực thể). Tại đây, dịch vụ truyền phát ECS có thể cung cấp cho khách hàng tùy chọn để chọn sự kiện nào cần đăng ký.

Việc biểu diễn đồ họa của các thực thể có thể là bất cứ điều gì bạn muốn. Một trò chơi chiến đấu có thể có các nhân vật anime, hiệp sĩ hoặc thậm chí là những người có ảnh hưởng đến tiền điện tử mà bạn yêu thích. Tất cả chúng đều là phiên bản hợp lệ miễn là chúng đại diện và phản ứng với các sự kiện trên chuỗi.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được in lại từ [mirror], Mọi bản quyền thuộc về tác giả gốc [Matchbox DAO]. Nếu có ý kiến phản đối việc tái bản này, vui lòng liên hệ với nhóm Gate Learn “Gate Learn”), họ sẽ xử lý kịp thời.
  2. Tuyên bố miễn trừ trách nhiệm pháp lý: Các quan điểm và ý kiến trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Việc dịch bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết đã dịch đều bị cấm.

Tương lai của trò chơi trên chuỗi: 'Lời hứa của công cụ MUD ECS'

Trung cấp3/18/2024, 8:59:36 AM
Bài viết này cung cấp các giải thích và giải pháp kỹ thuật cho các vấn đề trong ngành của trò chơi chuỗi dựa trên công cụ ECS.

Những lý tưởng của web3 dường như hoàn toàn phù hợp với ngành công nghiệp game và xu hướng gamification trong những năm gần đây. Trong một thời gian khá dài, chúng ta đã được hứa hẹn về một sự đột phá mới dưới dạng trải nghiệm độc đáo- Chơi game trên chuỗi. Với các đặc tính như phân quyền giúp chuyển cán cân quyền lực từ những người đương nhiệm trong ngành trò chơi sang các thực thể sáng tạo, khả năng kết hợp phá vỡ các bức tường của những khu vườn khép kín từ lâu và quyền sở hữu thực sự cho người chơi.

Nhưng những lý tưởng mạnh mẽ này vẫn bị gạt sang một bên vì chúng ta vẫn chưa nhìn thấy chúng trong thực tế. MUD là nỗ lực dũng cảm đầu tiên nhằm tạo ra một khuôn khổ hoàn chỉnh cho các trò chơi trực tuyến, một tia sáng có thể khơi dậy thế hệ trò chơi tiếp theo. Đây không phải là một giấc mơ viển vông. Trong thời gian ngắn ngủi, nhóm MUD chịu trách nhiệm tạo ra OPcraft một trò chơi thực tế có chủ đề Minecraft 3D hoàn toàn trực tuyến.

Bài học từ ngành game truyền thống

Có thể nói nhiều điều về nỗi ám ảnh đổi mới, xây dựng mọi thứ từ đầu và tạo ra một sinh vật hoàn toàn mới. Nhưng liên quan đến việc chơi game, có hàng chục năm bài học về các mẫu thiết kế và việc tạo ra một lĩnh vực kỹ thuật mới cần được xem xét nghiêm túc. Việc loại bỏ những điều này tương đương với việc cố gắng tạo một trò chơi AAA bằng công nghệ Atari.

Khi nhìn vào những năm đầu phát triển trò chơi, chúng ta có thể thấy sự tương đồng không thể nhầm lẫn với trò chơi trực tuyến - rất nhiều tài năng và các dự án có tính truyền cảm hứng cao nhưng cũng thiếu sự phối hợp và khuôn khổ rõ ràng.

Trong những ngày đầu của trò chơi điện tử, trước khi có sự ra đời của công cụ trò chơi, những niềm tin và mẫu thiết kế đã được hình thành. Các trò chơi điện tử khác nhau có rất ít điểm chung, đến một mức độ nào đó, các trò chơi tương tự có thể có cơ sở mã hoàn toàn khác nhau. Nhưng với sự ra đời của game engine, mọi thứ đã thay đổi.

Thật khó để thiết lập sự phân biệt rõ ràng giữa công cụ trò chơi và bản thân trò chơi. Nói chung, công cụ trò chơi là các khung có một bộ quy tắc và mẫu thiết kế có thể được sửa đổi và mở rộng một chút để tạo ra các cách triển khai trò chơi khác nhau. Vào những năm 90, sau nhiều năm phát triển trò chơi rời rạc, có điều gì đó đã thay đổi và các công cụ chơi game “dựa trên thể loại” cũng như một số nỗ lực phát triển các công cụ dành cho mục đích chung đã dẫn đầu. Các trò chơi như Doom và Unreal có các thành phần cốt lõi có thể được tái sử dụng để tạo ra nhiều trò chơi khác nhau. Các trò chơi có thể loại tương tự bắt đầu chia sẻ nhiều cách cấy ghép logic cốt lõi của chúng. Chi phí và độ phức tạp của việc phát triển các trò chơi đua xe, chiến đấu và bắn súng góc nhìn thứ nhất đã giảm đáng kể. Điều không thể đã trở thành có thể, và nhiều thế hệ trò chơi cũng như mã nâng cấp đã chồng lên nhau. Từ góc độ phần mềm, đây là một trong những lý do chính khiến việc phát triển trò chơi trở thành một ngành công nghiệp khổng lồ.

Có một số vấn đề cốt lõi liên quan đến trò chơi trên chuỗi:

  1. Thiếu khuôn khổ: Mọi nhóm đều cố gắng xây dựng mọi thứ từ đầu, dẫn đến hiệu quả kém và thiếu kiến thức mang tính hệ thống theo kinh nghiệm tổng hợp của những người xây dựng giải quyết các vấn đề tương tự và tối ưu hóa để hướng tới các giải pháp tốt nhất.
  2. Thiếu khả năng sử dụng lại mã: Ví dụ như nhiều trò chơi trên chuỗi đang được phát triển ngày nay. Có bao nhiêu trong số chúng có thể được sao chép thành công để tạo ra các trò chơi hơi khác nhau? Có bao nhiêu trong số chúng có sự phân biệt rõ ràng giữa các lớp và thành phần khác nhau của trò chơi cho phép xây dựng một thế hệ mới với cơ sở mã tương tự? Lời hứa tạo ra dự án nguồn mở có tính kết nối và quan trọng nhất dành cho trò chơi dường như còn rất xa vời.
  3. Thiếu khả năng kết hợp dữ liệu: Nó không kết thúc ở khả năng sử dụng lại mã. Nó cũng nói về khả năng của các trò chơi trên chuỗi tận dụng trạng thái blockchain chung để xây dựng chồng lên nhau bằng cách sử dụng dữ liệu của trò chơi A trong trò chơi B. Trên thực tế, cần nhiều công sức và tài nguyên để kết hợp dữ liệu và logic của trò chơi này sang trò chơi khác.

Giải pháp của MUD:

Bùn là nỗ lực dũng cảm đầu tiên nhằm tạo ra một công cụ và khuôn khổ cho các trò chơi trên chuỗi bằng cách cung cấp cấu trúc cho Khả năng bảo trì, khả năng nâng cấp và khả năng tạo khuôn. Mô hình Hệ thống thành phần thực thể (ECS) được bùn ủng hộ không chỉ có ý nghĩa đối với việc phát triển trò chơi nói chung mà thậm chí còn có ý nghĩa hơn đối với việc phát triển trò chơi trên chuỗi.

ECS trong hợp đồng thông minh:

Các khối xây dựng cơ bản nhất trong MUD là các thành phần. Chúng là những hợp đồng được triển khai có chức năng giống như cơ sở dữ liệu lưu trữ dữ liệu về các thực thể. Ví dụ: hãy lấy một thực thể (một địa chỉ) như ví của người chơi. Thực thể này được đại diện bởi một địa chỉ có thể có các thuộc tính khác nhau, chẳng hạn như giá trị vị trí (x, y) trong thành phần vị trí, cấp 10 trong thành phần cấp độ và 50 trong thành phần tiền xu. Các thành phần chỉ bao gồm ánh xạ và cấu hình cơ bản. Các hệ thống phức tạp hơn và thực hiện logic thay đổi giá trị trong các thành phần. Bạn có thể nghĩ về điều này khi hệ thống chỉ định cụ thể API cho các yêu cầu POST trên cơ sở dữ liệu (thành phần). Họ chỉ có thể làm như vậy nếu được cấp quyền truy cập bằng văn bản vào các thành phần cụ thể. Ở đây nó trở nên thú vị. Hệ thống có thể tương tác với các thành phần khác nhau để tạo ra logic chi tiết. Bạn có thể có hệ thống chuyển động chỉ định chuyển động hợp lệ mà người chơi có thể thực hiện (ví dụ: hai bước mỗi lần) và bạn có thể có hệ thống phần thưởng cung cấp xu cho người chơi mỗi khi họ lên cấp. Tất cả chúng đều được đăng ký tại “World contact” sao cho mọi thay đổi trong dữ liệu thành phần đều dẫn đến một sự kiện được phát ra. Hợp đồng thế giới là không được phép. Bất cứ ai cũng có thể thêm các hệ thống và thành phần mới. Về lý thuyết, các thế giới khác nhau có thể tương tác với nhau.

Đưa ECS vào các trò chơi trực tuyến mang lại một cấu trúc rất tinh tế, chẳng hạn như OPcraft chỉ bao gồm 10 thành phần và khoảng 15 hệ thống. Bạn có thể kiểm tra bài đăng blog tuyệt vời này trên MUD.dev

Khả năng kết hợp thực sự

Hệ thống ECS không chỉ có ý nghĩa hoàn hảo trong phát triển trò chơi truyền thống mà còn hơn thế nữa trong các trò chơi trên chuỗi bằng cách cung cấp hai tính năng quan trọng

  1. Khả năng nâng cấp của trò chơi đã triển khai
  2. Mức độ tổng hợp cao nhất

Hãy tưởng tượng hai con đường. Một là bảo tồn thiết kế cơ sở. Và điều còn lại là thay đổi logic cốt lõi của trò chơi.

Hãy nghĩ về một trò chơi chiến lược PVP tiêu chuẩn trong đó người chơi có thể xây dựng quân đội để chiến đấu với nhau. Phiên bản cơ bản là 2D, nhưng giờ đây nhóm đã quyết định muốn tạo bản kết xuất 3D chi tiết của trò chơi. Tất cả những gì họ cần làm là lấy tất cả các hệ thống liên quan đến vị trí và tạo các phiên bản nâng cấp có tọa độ (x,y,z) thay vì (x,y). Tất cả các hệ thống và thành phần khác (như hệ thống tấn công, HP và xây dựng quân đội) có thể giữ nguyên. Nó thậm chí còn vượt xa các nhóm phát triển ban đầu, cộng đồng có thể tạo ra các bản mod khác nhau của trò chơi bằng cách triển khai lại các hệ thống và thành phần hoặc thậm chí tương tác với các thành phần giống nhau bằng cách cấp quyền truy cập bằng văn bản cho các hệ thống mới (nếu đó là trò chơi thuộc sở hữu của cộng đồng, các mô hình quản trị khác nhau có thể được áp dụng áp dụng cho các loại quyết định này)

Cách tiếp cận khác sẽ giữ nguyên các thành phần và hệ thống mà không cấp quyền truy cập ghi cho hệ thống mới. Nhưng với các thành phần và hệ thống được bổ sung để mở rộng các chức năng trong trò chơi, trò chơi sẽ trông như thế nào? Hãy xem xét một trò chơi cờ vua trên chuỗi cơ bản. Hệ thống di chuyển và quy tắc đã được triển khai. Mọi người có thể chơi trò chơi này như thể họ đang chơi cờ ngoài đời thực, nhưng có thể nhóm của bạn quyết định rằng bạn cần tạo một lớp bổ sung, một lớp xã hội bao gồm hệ thống xếp hạng để mai mối hoặc bất kỳ trường hợp sử dụng nào khác. Tất cả những gì bạn cần làm là thêm thành phần xếp hạng và hệ thống có quy tắc xếp hạng. Điều này không chỉ dẫn đến sự chuyển đổi liền mạch sang các phiên bản trò chơi mới (UX được cải tiến) mà còn tạo ra các phương tiện kỹ thuật để các phiên bản khác nhau cùng tồn tại cạnh nhau hoặc chồng lên nhau ở cấp độ hợp đồng thông minh. Người chơi có thể sử dụng nhiều phiên bản trò chơi khác nhau trong khi tương tác với dữ liệu của cùng một thành phần cốt lõi, điều này rất sáng tạo, ngoài các ứng dụng có khả năng kết hợp. Nó tạo ra một tính năng bất biến khi chọn tham gia, tạo ra một khía cạnh sở hữu khác mà các trò chơi trên chuỗi sẽ cung cấp. Quyền sở hữu thực sự đối với các nội dung trò chơi khác nhau (như điểm số, NFT, thành tích) được bảo đảm bằng logic bất biến có thể được mở rộng bằng các nâng cấp bổ sung nhưng không thay đổi về cốt lõi của nó. Nó giải quyết một trong những vấn đề chính của trò chơi web3, đó là khả năng người sáng tạo giảm tài sản mà không có sự đồng ý.

Phía khách hàng một góc nhìn tổng thể:

Lưu ý MUD là một dự án đang được tiến hành. Phần tiếp theo có thể không được cập nhật và có một số điểm không chính xác cũng như những điểm khác biệt thô sơ, nhưng kiến trúc chung dự kiến sẽ không có sự thay đổi đáng kể.

Cho đến nay, chúng tôi đã xem xét MUD ở cấp độ hợp đồng thông minh. Nhưng còn nhiều hơn thế nữa. MUD cung cấp một bộ đầy đủ các thư viện và lớp máy khách. Có một số tính năng độc đáo mà MUD được thiết kế.

  1. Khả năng kết hợp của khách hàng
  2. Máy khách được đồng bộ hóa hoàn toàn với thay đổi trạng thái blockchain (dữ liệu trò chơi)
  3. PhaserX làm lớp kết xuất

Hãy đi sâu vào các chi tiết kỹ thuật để làm cho nó cụ thể hơn.

Lớp mạng:

Lớp mạng là lớp cơ sở của máy khách. Nó chứa cấu hình cơ bản (hợp đồng thế giới, trò chơi và cấu hình mạng) và API cho các tương tác trong trò chơi. Khi lớp mạng được tạo, nó có đặc điểm kỹ thuật của tất cả các thành phần và hệ thống khác nhau mà máy khách của bạn có thể tương tác và bạn có thể chọn chỉ tương tác với các thành phần/hệ thống cụ thể. Ví dụ: nếu bạn muốn tạo chuyển động trong trò chơi của mình và thể hiện nó trên giao diện người dùng, bạn sẽ cần tạo một lớp mạng đồng bộ hóa với hợp đồng thông minh đã triển khai của thành phần vị trí cũng như với hệ thống chuyển động. Giờ đây, bạn có thể tạo API Move để nhận một vị trí và một số đối tượng (thực thể) trong trò chơi và đặt vị trí của nó hoặc di chuyển nó từ nơi này sang nơi khác. Bất cứ lúc nào người chơi cũng sẽ sử dụng API Move. Họ sẽ gửi một giao dịch tới blockchain. Trong trường hợp hệ thống chuyển động, họ sẽ thực hiện một chức năng trong hợp đồng thông minh của hệ thống chuyển động.

Cấu trúc này cho phép các trò chơi dựa trên nhiều khách hàng. Mọi người đều có thể tạo các ứng dụng khách duy nhất và tất cả chúng đều có giá trị như nhau miễn là chúng được đồng bộ hóa với blockchain và tuân theo cấu trúc cơ sở lớp mạng. Chúng tôi đã thấy những trường hợp sử dụng rất thú vị cho trò chơi nhiều khách hàng, chẳng hạn như trong trường hợp khu rừng tối, trong đó người chơi cạnh tranh với nhau nhưng sử dụng các khách hàng và plugin khác nhau. Cấu trúc của máy khách cho phép chúng tôi thực hiện cấy ghép lớp mạng và sửa đổi API để nhanh chóng có được các phiên bản máy khách khác nhau, đạt được mức độ cao về khả năng tạo khuôn và khả năng kết hợp của máy khách.

Bạn có thể hỏi các thành phần máy khách đồng bộ hóa chính xác như thế nào với các thành phần chuỗi. Đây là một trong những thách thức quan trọng mà các nhà xây dựng phải đối mặt khi làm việc với phía khách hàng của trò chơi trên chuỗi. MUD có một vài giải pháp cho nó.

Đầu tiên, MUD đưa ra tính năng chụp nhanh cho phép máy khách đồng bộ hóa với trạng thái thế giới (tức là giá trị của các thực thể theo thành phần) mà không cần xử lý tất cả các sự kiện trong quá khứ để xây dựng lại trạng thái, dẫn đến độ trễ thấp và giảm độ phức tạp.

Ngoài ra, hệ thống ID của MUD, trong đó mọi hệ thống và thành phần đều có id dựa trên tên của chúng và khi triển khai, chúng sẽ được đăng ký theo hợp đồng thế giới, giúp việc theo dõi các thay đổi, tương tác với trò chơi và tìm nạp trở nên dễ tiếp cận hơn nhiều. sự kiện một cách dễ dàng.

Lớp kết xuất - thời điểm và cách thức các sự kiện được hiển thị

MUD đi kèm với PhaserX, “Một công trình động cơ có khả năng mở rộng cao dựa trên Phaser”, PhaserX không bắt buộc. Trong OPcraft, có Noa voxel engine thay vì PhaserX. Về lý thuyết, bạn có thể sử dụng bất kỳ công cụ nào bạn muốn miễn là nó tuân theo cấu trúc.

Như đã nêu trước đó, mọi thành phần và hệ thống đều được đăng ký trên hợp đồng thế giới và khi thay đổi diễn ra, một sự kiện sẽ được phát ra (với dữ liệu được xác định như ID thành phần và ID thực thể). Tại đây, dịch vụ truyền phát ECS có thể cung cấp cho khách hàng tùy chọn để chọn sự kiện nào cần đăng ký.

Việc biểu diễn đồ họa của các thực thể có thể là bất cứ điều gì bạn muốn. Một trò chơi chiến đấu có thể có các nhân vật anime, hiệp sĩ hoặc thậm chí là những người có ảnh hưởng đến tiền điện tử mà bạn yêu thích. Tất cả chúng đều là phiên bản hợp lệ miễn là chúng đại diện và phản ứng với các sự kiện trên chuỗi.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được in lại từ [mirror], Mọi bản quyền thuộc về tác giả gốc [Matchbox DAO]. Nếu có ý kiến phản đối việc tái bản này, vui lòng liên hệ với nhóm Gate Learn “Gate Learn”), họ sẽ xử lý kịp thời.
  2. Tuyên bố miễn trừ trách nhiệm pháp lý: Các quan điểm và ý kiến trình bày trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Việc dịch bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết đã dịch đều bị cấm.
Jetzt anfangen
Registrieren Sie sich und erhalten Sie einen
100
-Euro-Gutschein!