“Doom” khoảnh khắc quan trọng đối với Cardano và Hydra
Giới thiệu
Doom (1993) là một trò chơi định hình kỷ nguyên. Không chỉ vì những đóng góp của nó cho sự tham gia của cộng đồng vào trò chơi, chẳng hạn như phân phối phiên bản chia sẻ của trò chơi và mã nguồn mở của công cụ trò chơi, mà còn vì đã đưa trò chơi (trước đây là một tính năng hầu như chỉ dành riêng cho máy chơi game) vào dòng chính trên máy tính cá nhân.
Xuất hiện trong thời đại của đĩa mềm và RAM rất hạn chế (dung lượng RAM trong máy tính năm 1993 là 32 MB. Để so sánh, một bức ảnh duy nhất trong điện thoại thông minh hiện đại có dung lượng trung bình là 2 MB), việc phát hành Doom là một kỳ tích đáng kinh ngạc, có thể thực hiện được nhờ cách tiếp cận sáng tạo của nhóm id Software.
Không giống như các trò chơi đương đại khác, Doom vẫn là một hiện tượng văn hóa trường tồn trong nhiều thập kỷ sau khi ra mắt. (Doom tròn 31 tuổi vào năm 2024.) Cho đến ngày nay, trò chơi gốc vẫn tự hào có một cộng đồng tích cực gồm cả người chơi, speedrunner và modder, tức là những người dùng tạo ra bản đồ tùy chỉnh và tài sản trò chơi của riêng họ. Trên thực tế, Doom được ghi nhận là người khởi xướng sở thích modding.
Nhưng không chỉ có vậy.
Liệu nó có thể chạy Doom không ? đã trở thành một câu hỏi và một loại thử thách, với các kỹ sư thông minh đã xoay xở để chạy trò chơi trên máy tính đồ họa chạy bằng khoai tây, hệ thống định vị của ô tô và thậm chí là một lưới tế bào phát quang sinh học. Điều này phần lớn là do khả năng chạy của Doom trên phần cứng hạn chế, được hỗ trợ bởi các thiết kế công cụ trò chơi thông minh.
Điều này đặt ra câu hỏi, khi nói đến môi trường rất hạn chế của giao dịch blockchain, thường dành riêng cho các hợp đồng thông minh tương đối đơn giản tập trung vào các tương tác tài chính, liệu có thể tạo ra một bộ hợp đồng thông minh cho phép chạy Doom trên Cardano không?
Câu trả lời ngắn gọn? Có, với một vài lưu ý. Ví dụ, giới hạn kích thước giao dịch hiện tại trên mạng chính Cardano là khoảng 16 KB, trong khi tệp DOOM.wad (v1.9) chứa bản đồ, sprite quái vật, vũ khí, thông số, v.v. là 10.899 KB; và thời gian giữa các khối là khoảng 20 giây, trong khi thời gian giữa các khung hình của trò chơi là 28 ms. Đây là nơi công nghệ Hydra trở nên hữu ích!
Đầu Hydra: một phép so sánh
Để giải thích tại sao đầu Hydra đóng vai trò quan trọng trong việc biến bản demo công nghệ Doom thành hiện thực trên Cardano, trước tiên chúng ta hãy giải thích bằng phép so sánh đầu Hydra là gì.
Đầu Hydra hơi giống máy bay, trong khi Cardano Layer1 là mặt đất. Bạn có thể di chuyển máy bay đến đường băng hạ cánh, chất hàng hóa (UTXO) và phi hành đoàn (người tham gia) lên máy bay, rồi cất cánh.
Khi ở trên không, không có gì và không có ai ra vào máy bay*, nhưng bạn được tự do di chuyển đồ đạc xung quanh nhiều như bạn muốn. Sau đó, khi đã sẵn sàng, bạn có thể hạ cánh máy bay và chỉ có trạng thái cuối cùng của đồ đạc là quan trọng. Bạn có thể di chuyển nó xung quanh 10 lần hoặc 10 triệu lần, điều đó sẽ không tạo ra bất kỳ sự khác biệt nào khi trở lại mặt đất.
Một tính năng tuyệt vời là bạn có thể cho phép nhiều máy bay bay song song tùy thích, do đó, bất kể hiệu suất bạn đạt được từ một đầu Hydra là bao nhiêu, nếu bạn có thể song song hóa vấn đề, bạn có thể mở rộng quy mô để đáp ứng bất kỳ nhu cầu nào bạn muốn bằng cách quay nhiều đầu hơn.
Một tính năng rất hữu ích mà chúng tôi đang dựa vào cho bản demo công nghệ Doom, đó là một người nào đó từ bên ngoài máy bay có thể giao tiếp với phi hành đoàn qua bộ đàm để họ di chuyển đồ đạc xung quanh, vì vậy bạn không cần phải vận hành máy bay để hưởng lợi từ nó! Đây được gọi là đầu được ủy quyền và là một cách rất hữu ích để sử dụng đầu Hydra.
Vì bạn không bị ràng buộc bởi những hạn chế giống như mạng lưới chính, bạn có thể làm một số việc bên trong máy bay mà bạn không thể làm trên mặt đất. Bạn không tính phí giao dịch, bạn có được sự hoàn thiện gần như ngay lập tức và bạn có thể di chuyển mọi thứ khá nhanh.
Nhưng không chỉ vậy, bạn cũng có thể chạy các hợp đồng thông minh siêu phức tạp mà sẽ quá lớn để chạy trên chuỗi chính, vì các đầu không có giới hạn về giao dịch hoặc kích thước khối.
Xét cho cùng, kích thước của tệp DOOM.wad không phải là vấn đề, và sự phức tạp của việc thực thi một hệ thống hợp đồng thông minh tinh vi như một công cụ trò chơi – mặc dù không thực sự là mục đích sử dụng Hydra – cũng khả thi.
Có một số hướng phát triển đang loại bỏ những hạn chế này, nhưng đầu Hydra cơ bản hoạt động theo cách này.
Vì vậy, với ngôn ngữ hợp đồng thông minh Turing-complete của Cardano và môi trường thực thi linh hoạt của một nút Hydra, hôm nay chúng tôi đang nỗ lực trả lời câu hỏi: liệu nó có thể chạy Doom không?
“Chạy Doom” thực sự có nghĩa là gì?
Có nhiều cách tiếp cận khác nhau đối với thách thức chạy Doom trên các nền tảng không thông thường. Một số hoàn toàn triển khai lại mã nguồn từ đầu, sử dụng công cụ trò chơi gốc ít nhiều chỉ để tham khảo. Những người khác chỉ đơn giản triển khai lại các điều khiển và màn hình được sử dụng để giao diện với trò chơi, trong khi thực sự chạy trò chơi trên một máy tính thông thường ở nơi khác.
Mặc dù về mặt lý thuyết, có thể thực hiện một bản port nguồn hoàn chỉnh của Doom vào một tập hợp các hợp đồng thông minh và thực hiện chúng bên trong đầu Hydra bằng cách lấy dữ liệu đầu vào của người dùng làm dữ liệu đầu vào giao dịch, xác minh logic trò chơi đầy đủ bằng các hợp đồng thông minh và tạo từng khung riêng lẻ dưới dạng NFT đầu ra, bản demo công nghệ tại Rare Evo giống như một MVP của phương pháp này hơn.
Việc giải thích chi tiết về những gì đã được triển khai sẽ mang đến một cách thú vị để tìm hiểu thêm một chút về Hydra và cách các hợp đồng thông minh và giao dịch hoạt động trên Cardano. Chúng ta không cần phải quá kỹ thuật, nhưng hãy cùng xem xét kỹ hơn để hiểu việc chạy Doom trên Hydra thực sự có nghĩa là gì!
Giao dịch Cardano hoạt động như thế nào
Bạn có thể đã nghe nói rằng các giao dịch Cardano là xác định, nghĩa là khi bạn thực hiện giao dịch trên Cardano, bạn có thể và cần phải tính toán toàn bộ giao dịch. Không chỉ các đầu vào và logic hợp đồng thông minh, mà còn cả các đầu ra kết quả.
Trên thực tế, điều này khá tiện lợi cho công cụ Doom, vì nó cũng hoàn toàn mang tính quyết định! Trên thực tế, đây là một trong những tính năng cốt lõi giúp định nghĩa speedrunning là một hoạt động, vì nó cho phép trò chơi tạo ra ‘tệp demo’ sau khi người chơi hoàn thành một bản đồ.
Tệp demo chỉ chứa chuỗi đầu vào của người dùng và có thể được chia sẻ giữa những người chơi. Vì công cụ trò chơi hoàn toàn mang tính quyết định, nên việc phát lại tệp demo từ các đầu vào sẽ luôn dẫn đến cùng một trò chơi! Ngay cả tính ngẫu nhiên trong trò chơi cũng được định nghĩa theo cách không có sự thay đổi giữa các lần phát lại tệp demo. Ngay cả trên các thiết bị khác nhau và thời gian khác nhau.
Vậy Hydra thực sự điều hành Doom như thế nào?
Tất cả những điều này dẫn đến điều sau: để chơi trò chơi trên Hydra, các hợp đồng thông minh xác thực sự tiến hóa mang tính xác định này. Đối với mỗi khung hình (lưu ý của biên tập viên: mỗi đợt khung hình, nếu chúng ta kết thúc bằng việc tạo đợt*), trình duyệt của người dùng chạy mã trò chơi Doom thông thường để xác định trạng thái mới: vị trí người chơi mới, sức khỏe, kho đạn, v.v.
Sau đó, trạng thái mới này được xây dựng thành giao dịch và được gửi đến một nút Hydra theo thời gian thực. Nút Hydra có logic tương đương được mã hóa trong các hợp đồng thông minh được viết bằng Aiken, để xác thực rằng các bản cập nhật trạng thái này tuân thủ logic của công cụ trò chơi!
Điều này ngăn người dùng gian lận bằng cách làm giả số liệu thống kê cuối cùng của họ: họ phải tạo ra một chuỗi đầu vào dẫn đến trạng thái cuối cùng đó. Vì cả hai hệ thống đều mang tính xác định, nên tiến trình trò chơi không bị ảnh hưởng và đạt được cùng một kết quả.
Đối với mục đích của bản demo công nghệ này, một tập hợp con của logic trò chơi đầy đủ đã được triển khai cho phép trình diễn các nguyên tắc đang diễn ra.
Đây có phải là cách thực tế và khả thi để chạy Doom không? Tất nhiên là không! Doom, mặc dù là một cột mốc trong lịch sử trò chơi điện tử, nhưng không được cải thiện hơn nhờ kiểu triển khai này.
Tuy nhiên, đây là một dự án thú vị của một nhóm nhỏ, đầy nhiệt huyết nhằm chứng minh sức mạnh và tính linh hoạt của Hydra, và có khả năng truyền cảm hứng cho những người xây dựng khác về cách Hydra có thể trở thành một thành phần trong kiến trúc của họ.
* Chỉ cần xử lý hàng loạt giao dịch trong một số trường hợp do tốc độ mạng, tùy thuộc vào khoảng cách vật lý giữa máy chủ lưu trữ đầu Hydra và máy khách đang chơi, chứ không liên quan gì đến nút Hydra. Với một nút được lưu trữ cục bộ (trên thiết bị của bạn hoặc trên mạng LAN), trò chơi chạy mà không có vấn đề gì ở tốc độ cố định 35 khung hình mỗi giây.
Phiên bản Doom này nghe có vẻ khác lạ, tại sao vậy?
Hóa ra, mặc dù công cụ trò chơi là mã nguồn mở, nhưng điều tương tự không áp dụng cho tất cả các thành phần tạo nên bản phát hành Doom! Nói một cách ngắn gọn, công cụ trò chơi đã được mã nguồn mở vào năm 1997, trong khi tệp .wad chứa tất cả các tệp trò chơi như sprite quái vật, bản đồ, v.v., ban đầu được phân phối theo giấy phép chia sẻ phần mềm để khuyến khích mọi người mua trò chơi đầy đủ, họ có thể làm như vậy bằng cách gửi một phong bì tiền mặt đến nhà phân phối và nhận lại các đĩa mềm còn lại.
Thật không may, các thành phần âm nhạc và mạng có giấy phép khác nhau. Vì vậy… để đảm bảo trò chơi có nhạc, chúng tôi đã tạo các bản nhạc mới phát trong trình duyệt cùng với trò chơi. Thành phần mạng đã được thay thế bằng phần phụ trợ Hydra của chúng tôi, vì vậy đó không phải là vấn đề!
Lợi ích của việc làm này
Chạy Doom trên blockchain chắc chắn là quá mức cần thiết, nhưng có một vài lợi ích thực tế khi làm như vậy. Đặc biệt, toàn bộ dự án sẽ hoàn toàn là mã nguồn mở, nghĩa là các thành phần được phát triển cho bản demo công nghệ Doom có thể được sử dụng lại trong các dự án khác và các mẫu thiết kế và cách tiếp cận để giải quyết vấn đề sẽ có sẵn cho tất cả mọi người như một tài liệu tham khảo hữu ích cho những người xây dựng khác.
Hy vọng rằng việc sử dụng đầu Hydra theo cách không thông thường này cũng sẽ truyền cảm hứng cho những người xây dựng mới nhìn nhận Hydra theo một góc độ mới và dẫn đến những ứng dụng mới cho công nghệ này và áp dụng rộng rãi hơn.
Đội ngũ đứng sau dự án Hydra: Doom
Bản demo công nghệ Doom về cơ bản là một dự án tâm huyết do một nhóm nhỏ phát triển trong vài tuần ngắn ngủi và được coi là một bản demo thú vị để giới thiệu Hydra, một trong những giải pháp mở rộng quy mô của Cardano, đang hoạt động và hy vọng sẽ truyền cảm hứng cho nhiều nhà phát triển khác áp dụng và sử dụng nó như một phần trong các dự án của họ.
Pi Lanningham
Mặc dù Pi không cần giới thiệu nhiều trong hệ sinh thái Cardano, nhưng vẫn đáng để nhấn mạnh những đóng góp của anh cho hệ sinh thái này thông qua DEX theo phong cách AMM đầu tiên của Cardano, SundaeSwap, cũng như những đóng góp cho vô số dự án và luồng công việc khác, bao gồm một số đóng góp trực tiếp cho chính giao thức Hydra, bao gồm cả Gummiworm, sản phẩm tiến hóa của Sundae Labs .
Pi đóng vai trò quan trọng trong việc thiết lập và điều phối các thành phần phụ trợ bao gồm nền tảng quản lý đầu Hydra, nhiều công cụ để đo hiệu suất, chỉ định người dùng, định tuyến và đọc dữ liệu cùng nhiều tính năng khác nữa.
Sebastian Nagel
Sebastian là một trong những nhà phát triển cốt lõi của giao thức đầu Hydra tại IO. Ông đã chứng minh thành công sự tích hợp đầu tiên của Doom với Hydra bằng cách tạo ra bản demo trò chơi Doom, trong đó các bản cập nhật trò chơi được ghi trực tiếp vào đầu Hydra dưới dạng giao dịch.
Josh Marchand
Josh Marchand, được biết đến với công việc tại jpg.store và SecurityBot, đang hỗ trợ công việc hợp đồng thông minh cần thiết để xác thực thông tin đầu vào của người dùng và đọc/ghi trạng thái trò chơi vào và ra khỏi đầu Hydra.
Adam Dean
Adam Dean đã nỗ lực hết mình để điều chỉnh hệ thống chứng minh khả năng tham gia mà ông tiên phong để cho phép đáp ứng các yêu cầu xác thực người dùng mà chúng tôi đặt ra cho dự án, cùng với nhiều thành phần khác, nếu không có chúng, sự tham gia của Rare Evo sẽ rất thiếu sót!
Trym Bruset
Một giám đốc sản phẩm tại IO đeo kính râm màu xanh lá cây, người đã có một ý tưởng điên rồ và đã biến nó thành hiện thực.
Các bước tiếp theo
Có một số nhiệm vụ mà chúng tôi muốn hoàn thành đúng hạn, nhưng thật không may, chúng tôi phải hoãn lại hoặc để ai đó trong cộng đồng đến nhận và có thể nộp đơn xin quỹ Catalyst để hoàn thành… gợi ý gợi ý nhé.
Các bữa tiệc LAN Hydra
Bất kỳ ai có một chút hiểu biết về kỹ thuật đều có thể tạo đầu Hydra và tổ chức một bữa tiệc LAN, giống như ngày xưa vậy!
Đây có thể là một hoạt động thú vị cho cộng đồng Cardano trên toàn thế giới và là cơ hội để tụ họp lại để tiêu diệt quỷ dữ trong khi thưởng thức đồ ăn nhẹ và soda.
Cổng nguồn công cụ trò chơi đầy đủ
Việc thực hiện một cổng nguồn đầy đủ của công cụ trò chơi Doom không chỉ là một thử thách thực sự đối với các nhà phát triển muốn thể hiện bản lĩnh của mình mà còn là minh chứng ấn tượng cho khả năng thể hiện và tính dễ sử dụng của các ngôn ngữ hợp đồng thông minh như Aiken, Plutarch, Helios, Plu-ts, v.v.
Đối với bất kỳ ai có khả năng thực hiện nhiệm vụ này hoặc bất kỳ ai quan tâm đến câu chuyện đầy màu sắc về quá trình phát triển của Doom, tôi thực sự khuyên bạn nên sử dụng Game Engine Black Book: DOOM.
Hydra như một nền tảng chơi game cạnh tranh
Đối với các ứng dụng chơi game (bao gồm Doom và các ứng dụng khác), Hydra có thể đóng vai trò là dịch vụ phụ trợ có giá trị cho các giải đấu cạnh tranh và bảng xếp hạng thế giới, chẳng hạn như speedrunning.
Nó có thể cung cấp sự đảm bảo cao cho các bài nộp thông qua xác minh chuyển tiếp trò chơi, như đã trình bày trong bản demo Doom, giúp ngăn chặn gian lận như ‘ghép nối’ và chạy giả mạo.
Ngoài ra, Hydra có thể tận dụng công nghệ blockchain để quản lý giải thưởng, tiền quyên góp, cá cược và bảng xếp hạng toàn cầu.
Tích hợp CIP68
CIP68 là một tiêu chuẩn token trên Cardano, trong đó token trong ví của người dùng tham chiếu (‘xem’) một token khác được gọi là NFT tham chiếu cho một số siêu dữ liệu nhất định.
Token khác này có thể được giữ trong một ví khác hoặc địa chỉ hợp đồng thông minh và có thể được cập nhật bằng cơ chế đó mà không cần bất kỳ đầu vào bắt buộc nào từ phía người dùng.
Điều này có thể được sử dụng để ‘phát triển’ một token của người dùng (NFT hoặc các loại khác) mà không cần họ phải làm bất cứ điều gì. Hơn nữa, nhiều token có thể tham chiếu cùng một NFT tham chiếu.
Ý tưởng cho bản demo công nghệ Doom là người dùng có thể được trao quyền để đúc một token hoặc nhận token thông qua hệ thống bằng chứng khi tham gia bằng cách quét mã QR. Điều này sẽ ở trạng thái chờ cho đến khi sự kiện kết thúc, vì NFT tham chiếu sẽ nằm bên trong đầu Hydra.
Bên trong đầu, trạng thái của NFT tham chiếu có thể phát triển như một phần của hoạt động khác trong đầu. Ví dụ, trong bản demo công nghệ Doom, mã thông báo CIP68 mà người dùng nhận được trên chuỗi chính có thể là một album nhạc NFT, và sau đó các bản nhạc thực tế có thể dựa trên bản nhạc mà họ có thể kích hoạt trong trò chơi bằng cách tiến triển qua các cấp độ!
Bản đồ Cardano Doom tùy chỉnh
Chúng tôi bắt đầu làm việc trên một bản đồ Doom tùy chỉnh, nhưng cuối cùng phải tập trung vào Hydra và phần hợp đồng thông minh của dự án để hoàn thành kịp thời. Tuy nhiên, việc tải các bản đồ tùy chỉnh vào công cụ Doom và chơi chúng khá đơn giản.
Có một số công cụ tuyệt vời để chỉnh sửa, ngay cả đối với những người không phải là nhà phát triển. Sẽ rất thú vị khi thấy một bản đồ tùy chỉnh do cộng đồng thúc đẩy chứa đầy những quả trứng Phục sinh và quái vật tùy chỉnh!
Nguồn: https://iohk.io/en/blog/posts/2024/08/16/running-doom-on-blockchain-a-landmark-moment-for-cardano-and-hydra/