
Trò chơi chuỗi toàn phần/Thế giới tự trị (FOG/AW): Phân tích đồng bộ trạng thái trò chơi và các thách thức kỹ thuật
Tuyển chọn TechFlowTuyển chọn TechFlow

Trò chơi chuỗi toàn phần/Thế giới tự trị (FOG/AW): Phân tích đồng bộ trạng thái trò chơi và các thách thức kỹ thuật
Đối với các trò chơi chạy hoàn toàn trên blockchain, blockchain đóng vai trò là máy chủ trò chơi và là nguồn tin cậy phi tập trung cho trạng thái trò chơi.
Tác giả: Fiona, IOSG Ventures
TL;DR
-
Trò chơi trên toàn bộ chuỗi (FOG) / Thế giới tự trị (AW) là một trong số ít các câu chuyện quan trọng xoay quanh Web3. Khác với các ứng dụng Web2.5 chỉ kết nối tới Web3 thông qua NFT, FOG/AW đặt luôn cả logic trò chơi lên blockchain. Nó sử dụng blockchain như máy chủ trò chơi, trở thành nguồn tin cậy phi tập trung cho trạng thái trò chơi. Điều này mang lại những ưu điểm như tính bền vững, chống kiểm duyệt và khả năng tổ hợp, nhưng đồng thời cũng hạn chế sự đa dạng và độ phức tạp của các trò chơi được xây dựng trên nền tảng này.
-
Khi yêu cầu về độ phức tạp và tính giải trí của trò chơi tăng lên, kiến trúc động cơ phải đối mặt với nhiều thách thức hơn: ví dụ như độ trễ khung hình, số ngẫu nhiên, hồi máu, hiệu ứng bị động liên tục, bộ đếm thời gian, v.v. Khái niệm thời gian và đơn vị Ticks trên blockchain là khác biệt. Mud đưa ra nhiều cách tiếp cận để mô phỏng sự trôi qua của thời gian và kỹ năng hồi phục bị động. Ví dụ, khi người chơi di chuyển trong phòng, giao dịch sẽ kèm theo việc di chuyển tất cả các vật phẩm trong phòng theo một thiết kế định sẵn, từ đó cảm nhận được sự thay đổi của thời gian và trạng thái.
-
Có thể trừu tượng hóa ngăn xếp công nghệ FOG/AW như sau: nhà phát triển viết mã frontend và backend cho UI/UX cùng logic cốt lõi của trò chơi, sau đó đồng bộ mọi thay đổi thông qua vòng lặp trạng thái trò chơi, cuối cùng trình lập chỉ mục phản ánh trạng thái mới lên thiết bị cục bộ ở phía frontend.
-
Do nhiều thể loại trò chơi như RTS đòi hỏi tỷ lệ tick cao, trong khi blockchain dựa trên cơ chế đồng thuận chỉ có thể xử lý sự thay đổi theo thời gian khối, vấn đề tỷ lệ tickrate là một thách thức lớn cần giải quyết. Curio và Argus đang dẫn đầu trong lĩnh vực này, họ đang tìm cách tăng tỷ lệ tickrate trò chơi ở cấp độ chuỗi. Mud cố gắng tối đa hóa việc chạy hoàn toàn trên chuỗi, toàn bộ trạng thái ứng dụng đều được lưu trữ trong EVM, không áp dụng giải pháp kết hợp off-chain để đạt được tỷ lệ tickrate trò chơi cao hơn.
-
Về lựa chọn chuỗi khác nhau, Dojo đang dẫn dắt hệ sinh thái toàn chuỗi trên Starknet. Theo mô tả của @tarrenceva, Starknet có State diffs (sự khác biệt trạng thái), khác với optimistic rollups, nơi tập trung vào đầu ra thực thi thay vì đầu vào. Ảnh hưởng chính đến trò chơi có thể nằm ở việc tối ưu chi phí, ví dụ như trò cờ vua: trong một ván đấu kéo dài ba phút có thể xảy ra 50 nước đi. Nhờ sự khác biệt trạng thái, chỉ cần một bằng chứng duy nhất và trạng thái cuối cùng để xác minh "đầu ra". Trong khi đó optimistic rollups yêu cầu tất cả các "đầu vào" của các trạng thái trung gian.
Định nghĩa FOG/AW: Trạng thái trò chơi được đồng bộ như thế nào
Tôi cho rằng tiêu chuẩn để xác định liệu một trò chơi có phải là FOG hay không nằm ở cách thức đồng bộ trạng thái trò chơi (nguồn chân lý).
Đối với các trò chơi Web2.5 hoặc trò chơi nhiều người chơi truyền thống, có một máy chủ tập trung định nghĩa trạng thái trò chơi hiện tại. Khi người chơi gửi hành động, máy chủ sẽ biên dịch các đầu vào này và trả lại kết quả cập nhật cho thiết bị của từng người chơi đang kết nối. Máy chủ xử lý tất cả các đầu vào (tick), giải quyết các bất nhất và định kỳ gửi bản cập nhật cho người chơi, cung cấp ảnh chụp nhanh của mọi phần tử trong trò chơi, mỗi tick đều cập nhật trạng thái trò chơi. Trạng thái trò chơi (game state hoặc tick) là ảnh chụp thời gian của thuộc tính từng đối tượng trong thế giới trò chơi. Tickrate là tần suất máy chủ trò chơi tính toán và phát sóng trạng thái trò chơi đã cập nhật tới người chơi mỗi giây. Tickrate càng cao thì trải nghiệm trò chơi càng chính xác và sống động. Nói chung, các trò chơi chiến thuật thời gian thực hoặc hành động cần tickrate cao, trong khi các trò chơi theo lượt như bài lại không cần.

Đối với trò chơi chạy hoàn toàn trên chuỗi, blockchain đóng vai trò là máy chủ trò chơi và là nguồn tin cậy phi tập trung cho trạng thái trò chơi. Trong trường hợp này, không chỉ NFT hay token có quyền sở hữu thực sự, mà cả các tick và logic trò chơi của người chơi cũng nằm trên chuỗi. Đây chính là lý do vì sao có thể đạt được quyền sở hữu thực sự, tính bền vững, chống kiểm duyệt và khả năng tổ hợp. Lý tưởng nhất, mọi hành động của người chơi nên được gửi lên blockchain, sau khi đạt được sự đồng thuận, trạng thái trò chơi sẽ được cập nhật và trả về thiết bị cục bộ. Do đó, các thể loại trò chơi cần ít tickrate hơn sẽ phù hợp hơn để chạy hoàn toàn trên chuỗi.
Giải quyết các thách thức về độ trễ, thời gian trong trò chơi
Khi độ phức tạp và yêu cầu về tính giải trí của trò chơi gia tăng, kiến trúc động cơ phải đối mặt với nhiều thử thách hơn: như độ trễ khung hình, số ngẫu nhiên, hồi máu, hiệu ứng bị động liên tục, bộ đếm thời gian, v.v.
Độ trễ khung hình thực tế rất phổ biến trong thế giới Web2, bắt nguồn từ độ trễ trong render phía client và thao tác người dùng. Đặc biệt với các trò chơi FPS có tickrate cao, chỉ cần xuất hiện độ trễ, trải nghiệm người chơi sẽ rất tệ. Một trong những giải pháp trong Web2 là lockstep state update – đồng bộ tất cả người chơi theo tiêu chuẩn độ trễ cao nhất giữa các người chơi, nhằm đảm bảo trải nghiệm công bằng. Khi đưa blockchain vào và cần chờ xác nhận giao dịch, độ trễ này có thể nghiêm trọng hơn. Vì vậy, Mud cũng bổ sung cơ chế optimistic rendering (render lạc quan) thường thấy trong trò chơi – giả định thao tác người dùng thành công và hiển thị nó trên client trước khi máy chủ chấp thuận (hoặc trong trường hợp này là trước khi giao dịch được xác nhận).
Tạo số ngẫu nhiên trên chuỗi là chủ đề thường xuyên được thảo luận. Mud cho rằng có thể sử dụng hành vi người dùng làm đầu vào để tạo ra kết quả ngẫu nhiên, được sinh ra sau khi tương tác diễn ra.
Khái niệm thời gian và đơn vị Ticks trên blockchain là khác biệt. @SebastienGllmt cho rằng trên các chuỗi sử dụng khái niệm fraud proof (ví dụ Op), rất khó sử dụng bộ đếm thời gian, bởi nếu xảy ra lỗi sẽ cần rollback, điều này khiến trải nghiệm trò chơi kém. Mud đưa ra nhiều ý tưởng để mô phỏng sự trôi qua của thời gian và kỹ năng hồi phục bị động. Ví dụ, tăng dần tiền xu theo thời gian, mỗi lần người chơi thực hiện thao tác cần tiền, hệ thống sẽ tính toán số tiền hiện có dựa trên số tiền trước đó, thời điểm cập nhật gần nhất và tốc độ làm mới. Một ví dụ khác: khi người chơi di chuyển trong phòng, giao dịch sẽ kèm theo việc di chuyển tất cả vật phẩm trong phòng theo thiết kế định sẵn, từ đó cảm nhận được sự thay đổi của thời gian và trạng thái.
Viết script “gian lận” có lẽ không phải vấn đề. @BriefKandle cho rằng MEV đối với hệ thống trò chơi không phải là gian lận, việc ngăn chặn bot đơn giản gây MEV là điều đội phát triển trò chơi cần cân nhắc. Các nhà phát triển Web2 cần thay đổi tư duy, một bot MEV tốt có thể trở thành NPC trong trò chơi.
Một số chức năng đã được hiện thực hóa trong các trò chơi trên chuỗi gần đây, ví dụ như Rhascau sử dụng bộ đếm thời gian và hiệu ứng bị động liên tục, chủ yếu dùng thời gian khối làm đơn vị đo (trên L2 hiện tại, thời gian khối = tickrate).
Ngăn xếp công nghệ FOG/AW
Khung động cơ FOG/AW là một bộ công cụ dành cho nhà phát triển, cho phép họ tận dụng blockchain như máy chủ và nguồn tin cậy để xây dựng trò chơi. Ngoài ra, nó có thể giải quyết một số vấn đề hiện tại:
-
Do thiếu framework chuẩn/sẵn có, việc xây dựng FOG/AW trên chuỗi rất kém hiệu quả;
-
Thiếu tính mô-đun và tái sử dụng mã nguồn;
-
Thiếu tính tổ hợp. Khi động cơ FOG/AW phát triển, các trò chơi trên chuỗi sẽ trở nên thú vị và sáng tạo hơn.
Để dễ hiểu, quy trình kỹ thuật đơn giản hóa của các động cơ này thường là: nhà phát triển viết mã frontend và backend cho UI/UX và logic cốt lõi trò chơi, sau đó đồng bộ mọi thay đổi qua vòng lặp trạng thái trò chơi, cuối cùng trình lập chỉ mục phản ánh trạng thái mới lên thiết bị cục bộ ở phía frontend.

Để giúp trò chơi chạy trên blockchain cũng vận hành suôn sẻ vòng lặp này, Mud, Dojo, Curio, Argus, Paima Engine và Lootchain đang phát triển các ngăn xếp công nghệ riêng. Ngăn xếp công nghệ gồm 3 phần chính: chuỗi, bộ phát triển cốt lõi và frontend trò chơi. Mỗi bên đều có đổi mới riêng, đánh đổi giữa mức độ phi tập trung và độ phức tạp trò chơi.
-
Frontend trò chơi: Bao gồm các động cơ truyền thống như Unity, Unreal và các ngôn ngữ như react/Threejs cùng các công cụ mạnh mẽ cung cấp chức năng render, là yếu tố thiết yếu để nâng cao tính giải trí và trải nghiệm trò chơi. Hầu hết các dự án trên đều cung cấp SDK liên quan cho nhà phát triển sử dụng.
-
Bộ phát triển cốt lõi: Thiết kế một giải pháp để logic trò chơi chạy trên blockchain và đồng bộ đúng lúc lên frontend. Các thành phần then chốt bao gồm cấu trúc cơ sở dữ liệu phù hợp (định nghĩa hành vi và logic trò chơi), cũng như đồng bộ và trả về trạng thái trò chơi.
-
Chuỗi: Phần lớn lựa chọn xây dựng trên Ethereum, Optimism và Starknet.
Hình dưới mô tả cách các giao thức khác nhau thiết kế ngăn xếp công nghệ của mình. Xét ví dụ Mud V2 về luồng hoạt động:
-
Một nhà phát triển sẽ gọi các công cụ frontend Web2 trong Mud để viết mã, tận dụng các chức năng mạnh mẽ như render để trò chơi trực quan và hấp dẫn hơn;
-
Đồng thời, nhà phát triển sẽ viết nhân vật, vật phẩm và logic vận hành cụ thể của trò chơi theo khung hợp đồng thông minh của Mud (Mud World), ví dụ khi anh hùng A di chuyển từ vị trí X đến Y và phát động chinh phạt ô đất Y, xác suất bao nhiêu hoặc trong tình huống nào thì chiếm được ô đất đó;
-
Các hành động và trạng thái trò chơi trên sẽ được ghi lại trong Mud Store – một cơ sở dữ liệu trên chuỗi chịu trách nhiệm về trạng thái trò chơi toàn cục, là nguồn tin cậy cho việc đồng bộ trạng thái trò chơi;
-
Khi anh hùng A chinh phạt ô Y, thực chất là người chơi nhấn chuột trên thiết bị cục bộ và gửi lệnh này lên chuỗi. Lệnh này dựa trên logic thiết kế trò chơi của nhà phát triển và trạng thái trò chơi hiện tại trong Store, tạo ra một kết quả, kết quả này được cập nhật vào trạng thái toàn cục mới và đồng bộ lên chuỗi;
-
Các trò chơi trên Mud hỗ trợ frontend Web, Mobile,... tuy nhiên có thể gặp nhu cầu lập chỉ mục phức tạp, Mode chính là trình lập chỉ mục off-chain được phát triển cho mục đích này.

Bây giờ, hãy cùng nói về những điểm chung và khác biệt trong thiết kế của các khung cốt lõi này.
-
Hầu hết họ tuân theo thiết kế Mud v1 và sử dụng ECS làm cấu trúc dữ liệu phát triển trò chơi – đây là cách viết và trình bày logic trò chơi. Mud V2 cải tiến điều này, dữ liệu được định nghĩa trong Tables và Systems, cho phép các tiêu chuẩn dữ liệu khác (không bắt buộc phải tuân thủ mô hình dữ liệu ECS như V1), mang lại nhiều lựa chọn hơn cho nhà phát triển, làm cho nó linh hoạt và bao hàm hơn.
-
Hầu hết đều sử dụng cơ sở dữ liệu phi tập trung, vì blockchain tự nhiên là nguồn tin cậy cho trạng thái và cơ sở dữ liệu trò chơi. Mud đang cố gắng tối đa hóa việc chạy hoàn toàn trên chuỗi, toàn bộ trạng thái ứng dụng được lưu giữ trong EVM, không hy sinh tính phi tập trung hay áp dụng giải pháp kết hợp off-chain để đạt được tỷ lệ tickrate trò chơi cao hơn.
-
Do nhiều thể loại trò chơi như FPS cần tỷ lệ tickrate cao, trong khi blockchain dựa trên đồng thuận chỉ xử lý được sự thay đổi theo thời gian khối, vấn đề tickrate là thách thức lớn cần giải quyết. Curio và Argus, với thiết kế đổi mới riêng, đang dẫn đầu mong muốn tăng tickrate ở cấp độ chuỗi.
-
Về lựa chọn chuỗi khác nhau, Curio và Loot đều sử dụng Caldera để xây dựng chuỗi Op stack. Ngoài ra, Dojo đang dẫn dắt hệ sinh thái toàn chuỗi trên Starknet. Theo mô tả của @tarrenceva, Starknet có State diffs (sự khác biệt trạng thái), khác với optimistic rollups, nơi tập trung vào đầu ra thực thi thay vì đầu vào. Ảnh hưởng đến trò chơi chủ yếu có thể nằm ở tối ưu chi phí, ví dụ trò cờ vua: trong ván đấu ba phút có thể xảy ra 50 nước đi. Với sự khác biệt trạng thái, chỉ cần một bằng chứng duy nhất và trạng thái cuối cùng để xác minh "đầu ra", trong khi optimistic rollups cần tất cả các "đầu vào" của các trạng thái trung gian.
Hiện đã có một số trò chơi được xây dựng trên các động cơ này. Mud và Dojo đều tổ chức hackathon để thu hút nhà phát triển xây dựng ứng dụng, Curio cũng vừa ra mắt demo mini-game Warcraft tại ETHCC.

Rõ ràng, FOG/AW đang trở thành hệ sinh thái then chốt mà các chuỗi công cộng đang cạnh tranh giành giật. AW (Thế giới tự trị) do Lattice đề xuất là một khái niệm lớn, không chỉ giới hạn ở trò chơi mà còn bao gồm xã hội, tài chính và nhiều thuộc tính khác. Do đó, thứ được xây dựng trên nền tảng này là một thế giới ảo đầy trí tưởng tượng — tức là Metaverse. Chúng ta có thể kỳ vọng vào những ứng dụng tích hợp mới mẻ về trò chơi, mạng xã hội, tài chính, v.v.
Chào mừng tham gia cộng đồng chính thức TechFlow
Nhóm Telegram:https://t.me/TechFlowDaily
Tài khoản Twitter chính thức:https://x.com/TechFlowPost
Tài khoản Twitter tiếng Anh:https://x.com/BlockFlow_News












