Xây dựng tổ hợp, trò chơi hoàn toàn onchain với Starknet

TL;DR

  • Starknet cho phép chơi game hoàn toàn trên chuỗi, sáng tạo và phức tạp
  • Hai game sắp phát hành: Loot Survivor và Influence
  • Cả hai trò chơi đều sử dụng các tính năng độc đáo của Starknet, chẳng hạn như tài khoản arcade, kết xuất với máy trạm optimistic và thế giới tự trị, để tạo ra thế hệ trò chơi onchain thực sự đầu tiên
  • Starknet hỗ trợ tương lai của trò chơi phức tạp, trực tuyến hoàn toàn

Trong một bài đăng trước đó về tình hình chơi trò chơi trực tuyến với Starknet, chúng tôi đã giới thiệu một số dự án trò chơi sáng tạo nhất đang được phát triển trên Ethereum L2 Starknet— Realms: Eternum , Loot Survivor và Influence . Chúng tôi cũng thảo luận về Cairo—ngôn ngữ lập trình lấy cảm hứng từ Rust, dựa trên STARK để viết các hợp đồng thông minh trên Starknet—và cách nó hỗ trợ những trò chơi trực tuyến đầu tiên hoàn toàn trên chuỗi.

Trong bài viết này, chúng tôi sẽ cung cấp cho bạn thông tin cập nhật từ các nhà phát triển đằng sau Loot Survivor và Influence trước khi phát hành lần đầu tiên. Chúng ta sẽ xem xét các tính năng họ đã xây dựng và cách các nhà phát triển sử dụng những tiến bộ kỹ thuật của Starknet để xây dựng các trò chơi phi tập trung, trực tuyến mà gần như không thể tạo được trên bất kỳ nền tảng nào khác.

Cướp bóc người sống sót

Loot Survivor là một trò chơi chiến lược trả tiền cho mỗi phiên, trong đó người chơi được cấp một mạng sống mỗi phiên. Trong phiên đó, họ có nhiệm vụ tìm kiếm và cải tiến vũ khí, chiến đấu với quái thú và kiếm phần thưởng. Người chơi tương tác với hơn 70 quái thú, 60 chướng ngại vật và hàng tá vũ khí.

Lợi ích của cuộc sống độc thân này là nếu anh hùng của người chơi chết, người chơi có thể dễ dàng bắt đầu một phiên trong trò chơi mới mà không bị mất một số khoản đầu tư NFT lớn.

Để bắt đầu trò chơi, người chơi có thể kết nối ví Argent hoặc Braavos của họ hoặc đăng nhập bằng địa chỉ email của họ. Khả năng đăng nhập chỉ bằng một địa chỉ email (được cung cấp bởi Argent) cũng tạo ra một chiếc ví một cách thuận tiện.

Mặc dù bề ngoài đơn giản nhưng ví dụ về khả năng truy cập dễ dàng trong trò chơi web3 này đã bị thiếu kể từ khi web3 ra đời, rất cần thiết và có thể thực hiện được bằng cách trừu tượng hóa tài khoản trên Starknet

Sau khi đăng nhập, người chơi chọn một vũ khí duy nhất và hành trình trò chơi bắt đầu.

Đằng sau cốt truyện phức tạp và nhiều khả năng của trò chơi là một kiến ​​trúc trò chơi phức tạp. Hãy cùng khám phá những ý tưởng và khái niệm mới mà các nhà phát triển Loot Survivor đã sử dụng để tạo ra trò chơi onchain thực sự tự trị đầu tiên này.

Tài khoản Arcade

Khi người chơi bắt đầu trò chơi, họ sẽ được nhắc tạo một tài khoản arcade cho phiên, tương tự như tài khoản “burner”. Việc tạo tài khoản “use-and-throw” này có thể thực hiện được nhờ tính năng trừu tượng hóa tài khoản đặc biệt của ngôn ngữ Cairo (được thảo luận chi tiết tại đây ).

Ưu điểm của việc có tài khoản arcade là một số loại giao dịch nhất định có thể được gửi trực tuyến mà không cần yêu cầu người dùng xác nhận mỗi khi thực hiện một hành động. Mặc dù nhấn “Sign” và “Send” trên ví bất cứ khi nào một hành động xảy ra là một biện pháp bảo mật quan trọng, nhưng nó rất phi thực tế trong trò chơi, nơi người chơi thực hiện nhiều hành động mỗi phiên. Trên Starknet, việc bỏ qua bước ký lặp đi lặp lại mang lại sự tiện lợi hơn mà không gây ra rủi ro bảo mật.

Kết xuất máy trạm Optimistic

Một vấn đề lớn khác với trò chơi onchain là khi người dùng gửi giao dịch, họ phải đợi giao dịch được chấp nhận trên mạng trước khi tiếp tục. Điều này có thể làm chậm trò chơi và khiến nó không thể sử dụng được. Nhưng do tính năng tùy chọn trong trò chơi đã đề cập trước đó nên giờ đây bạn có thể bỏ qua bước này, tạo ra trải nghiệm người dùng tốt hơn nhiều.

Đây chính xác là những gì Loot Survivor đạt được bằng cách triển khai các bản cập nhật optimistic về phía máy trạm. Khi người dùng hoàn thành một hành động, giao dịch sẽ được mô phỏng khi triển khai ứng dụng khách cục bộ và nếu giao dịch không thất bại, trò chơi sẽ tiếp tục một cách bình thường.

Hợp đồng lưu trữ đơn

Trò chơi Loot Survivor là một ví dụ mới về một trò chơi hoàn toàn onchain—không có phần nào của trạng thái trò chơi được lưu trữ ngoài chuỗi. Trong Loot Survivor, trạng thái hoàn chỉnh liên quan đến người chơi (chẳng hạn như sức mạnh, kinh nghiệm, vũ khí và vật phẩm đi kèm) được lưu trữ trong tệp 252-bit Cairo . Bất kỳ hành động hoặc tập hợp hành động nào thay đổi trạng thái của trình phát đều dẫn đến một bản cập nhật bộ nhớ duy nhất—nghĩa là nhiều thay đổi trạng thái cũng được tổng hợp thành một bản cập nhật bộ nhớ duy nhất. Vì số lượng bản cập nhật bộ nhớ duy nhất xác định phí giao dịch nên phí gas liên quan của các hành động trong trò chơi sẽ giảm đáng kể.

Khả năng phục hồi của Bot dựa trên Entropy

Trò chơi onchain thường có động cơ tài chính để người chơi giành được phần thưởng (trong hầu hết các trường hợp là token). Nhưng sự tồn tại của các ưu đãi tài chính này cũng khuyến khích người dùng khai thác các lỗ hổng hệ thống. Để chống lại điều này, Loot Survivor sử dụng entropy toàn cầu của trò chơi kết hợp với entropy duy nhất của người chơi để quyết định cốt truyện của trò chơi.

Entropy toàn cục là một biến mà bất kỳ ai cũng có thể điều chỉnh bằng cách gọi hàm công khai bên ngoài có tên là Rota_game_entropy(). Người ta giả định rằng cộng đồng xung quanh trò chơi sẽ chạy các bot gọi hàm Rota_game_entropy() định kỳ để liên tục thay đổi biến và đảm bảo không ai có thể sử dụng kiến ​​thức về biến đó để lừa đảo hệ thống.

Ngoài ra, mỗi nhà thám hiểm sẽ được cấp một entropy riêng biệt khi bắt đầu trò chơi. Điều này đảm bảo kết quả đa dạng cho người chơi bất chấp entropy chung của trò chơi. Bất cứ khi nào một hành động được thực hiện, entropy tổng thể sẽ được kết hợp với entropy của người chơi để tạo ra kết quả đặc biệt mỗi khi trò chơi được chơi.

Loot Survivor có sẵn trên testnet và sẵn sàng để chơi . Ngoài cơ hội trở thành một trong những người thử nghiệm sớm một trong những trò chơi hoàn toàn trên chuỗi mới ra mắt—bạn còn có thể kiếm được token! Một phần trăm số token được đưa vào máy arcade Loot Survivor sẽ được phân phối cho ba người ghi điểm cao nhất trên bảng xếp hạng toàn cầu như một phần thưởng.

Influence

Influence là một trò chơi chiến lược không gian, trực tuyến nhiều người chơi (MMO) do người chơi điều khiển. Cốt truyện của nó xoay quanh việc xâm chiếm không gian của một hệ sao không có người trong tương lai, sau khi con người buộc phải chạy trốn khỏi Trái đất.

Trò chơi có ba giai đoạn: Exploitation, Discovery, và Conflict. Bản cập nhật trò chơi mới nhất , bản phát hành Mainnet có giới hạn, cho phép người chơi khám phá không gian rộng lớn của các tiểu hành tinh sẽ có sẵn trong giai đoạn đầu tiên của trò chơi— Exploitation. Trong bản phát hành hiện tại, người chơi có thể kết nối tài sản của họ từ Ethereum mainnet với Starknet, đặt tên cho các tiểu hành tinh của họ, thành lập phi hành đoàn và hoàn thành quá trình quét tiểu hành tinh tầm xa (một hành động trong trò chơi đặt ra các phần thưởng và độ hiếm của tiểu hành tinh, đồng thời tiết lộ thông tin về tiểu hành tinh). , chẳng hạn như tài nguyên nào có sẵn, nhưng không có bản tóm tắt chi tiết về mức độ phong phú và vị trí của các tài nguyên này).

Trò chơi đang trong giai đoạn thử nghiệm với bản phát hành trước hoàn toàn có thể chơi được trong giai đoạn sản xuất cuối cùng. Cairo đóng vai trò quan trọng trong việc phát triển các tính năng chính mà một trò chơi onchain như Influence yêu cầu.

Trừu tượng hóa tài khoản

Đội ngũ phát triển Influence đang hợp tác chặt chẽ với Argent để mang lại lợi ích trừu tượng hóa tài khoản bằng cách sử dụng khóa phiên. Khóa phiên cho phép các phiên tạm thời có thể được sử dụng để gửi giao dịch thay mặt người dùng mà không cần yêu cầu ký. Các khóa phiên này chỉ cho phép các chức năng cụ thể được gọi thay mặt người dùng, cho phép gửi nhiều giao dịch mà không cần yêu cầu người chơi cấp phép nhiều lần.

Dưới đây là mã ví dụ về cách tạo khóa phiên:

import { Signer, ec } from "starknet" // gets signer with random private key you need to store if you want to reuse the session const sessionSigner = new Signer() const requestSession: RequestSession = { key: await sessionSigner.getPublicKey(), expires: Math.floor((Date.now() + 1000 * 60 * 60 * 24) / 1000), // 1 day in seconds policies: [ { contractAddress: "0x...", selector: "doAction" } ] }

Thiết bị

Bất cứ khi nào người chơi thực hiện một hành động trong trò chơi, hành động đó sẽ ngay lập tức được phản ánh trong nhật ký hành động của trò chơi. Điều này cung cấp phản hồi ngay lập tức cho người chơi khi họ tham gia vào trò chơi và đưa ra quyết định. Do đó, người chơi được bảo vệ khỏi các chi tiết phức tạp của công nghệ blockchain, nơi giao dịch có thể tồn tại ở nhiều giai đoạn khác nhau, chẳng hạn như đã gửi, đang chờ xử lý, được xác nhận trên L2 hoặc được phê duyệt trên L1. Trong thời đại mới của trò chơi trực tuyến, người chơi không cần phải hiểu những kỹ thuật này của blockchain để thưởng thức trò chơi. Những chi tiết này được trừu tượng hóa đi.

Nhật ký hành động có màu tím ở bên trái. Sau khi hành động được xác minh trên chuỗi, hành động đó sẽ hoàn tất và gửi thông báo cho người chơi.

Thế giới tự trị

Cả Influence và Loot Survivor đều đang xây dựng trò chơi tương thích với thế giới tự trị. Trong trò chơi trong thế giới tự trị, mã phải được viết sao cho ngay cả khi các nhà phát triển ban đầu đằng sau trò chơi ngừng phát hành các tính năng mới thì bất kỳ ai khác vẫn có thể xây dựng dựa trên hợp đồng thông minh của trò chơi. Điều này có nghĩa là có thể có nhiều giao diện người dùng cho cùng một trò chơi (và cùng nội dung/tài nguyên trong trò chơi).

Để khuyến khích các nhóm phát triển giao diện người dùng của riêng họ, các nhà phát triển của những trò chơi này thường đưa ra một số khuyến khích để nhà phát triển giao diện xây dựng dựa trên các hợp đồng thông minh hiện có. Ví dụ: một tỷ lệ phần trăm cụ thể của mã thông báo SWAY trong trò chơi (hoặc Lords trong trường hợp Loot Survivor) được chuyển đến ví do nhà phát triển giao diện người dùng chỉ định, do đó tài trợ cho hoạt động nghiên cứu và phát triển của họ.

Giới hạn của trò chơi Onchain

Giới hạn của trò chơi onchain rất rộng lớn và chưa được khám phá. Các nhóm như Influence và Realms đang trên đà phát triển, liên tục lặp lại các mô hình mới để tạo ra các trò chơi onchain thực sự vĩnh cửu và thế giới tự trị. Starknet và Cairo đã nổi lên như những công cụ quan trọng trong việc định hình tương lai trò chơi này.

Hãy thoải mái chơi Influence hoặc Realms ngay hôm nay.

Nếu bạn quan tâm đến việc xây dựng dApp chơi game của mình trên Starknet, hãy xem Sách Starknet của chúng tôi (liên kết tới  https://book.starknet.io/ )

Resident