Versão Completa da Cadeia 2048: O que aprendemos ao usar motores MUD?

Intermediário1/6/2024, 3:47:47 PM
Este artigo analisa os detalhes de como o motor MUD pode ser usado em jogos de cadeia completa e como otimizar e contornar restrições.

TL; DR

  • O design do motor MUD segue uma abordagem "orientada para bases de dados"
  • O momento AMM para jogos de cadeia completa ainda não chegou
  • Cripto-nativo é um valor

antes do início

mud2048.fun é a nossa exploração para obter um sentido microscópico do desenvolvimento completo do jogo em cadeia. O objetivo é experimentar a versão completa do jogo original 2048 (play2048.co) replicando-o para vivenciar a experiência completa do desenvolvimento do jogo em cadeia. Temperatura da água, obter uma sensação de corpo de primeira linha.

Este artigo é um resumo das experiências e pensamentos adquiridos durante este processo de desenvolvimento e destina-se a inspirar os leitores.

Esta é provavelmente a tentativa mais simples de desenvolver Jogos Totalmente On-chain. Antes disso, tentámos implementar uma versão completa em cadeia do Jogo Offline Chrome Dinosaur (Jogo Chrome Dino), mas mais tarde descobrimos que não era nativo da blockchain. Com o suporte do mecanismo Tick do jogo, é difícil reproduzir uma versão completa em cadeia que se aproxime da experiência original do jogo.


Versão online do Chrome Dino Game em:https://dinorunner.com/

Isto pode envolver um mal-entendido comum: é mais fácil implementar uma versão de cadeia completa de jogos simples. Na verdade, este não é o caso, porque o tempo de confirmação da transação da blockchain (mesmo a Layer 2 principal) ainda não atingiu o nível de tempo de resposta da interface do servidor centralizado; além disso, após a lógica do jogo ser carregada na cadeia, traz complexidade de engenharia que não apareceu no cenário centralizado, levando ao fato de que nem todos os jogos casuais simples podem implementar facilmente versões de cadeia completa. Isso também explica até certo ponto as divisões atuais da ecologia de jogos de cadeia completa:

Principalmente RTS (jogos de estratégia em tempo real), tais como: Loot Survivor, Primodium, Sky Strife, Cellula, etc., complementados por Meta Rules (meta-rules games/sandbox games), tais como: PixeLAW, Briq, OpCraft, etc. Ambos os tipos de jogos evitam as desvantagens causadas pelo longo tempo de confirmação das transações blockchain em termos de forma de jogo.


A imagem mostra a interface de inicialização do Sky Strife, URL:https://playtest.skystrife.xyz/

Porque escolher o motor MUD?

MUD é o primeiro motor de jogo de cadeia completa no ecossistema EVM (e o primeiro quadro de desenvolvimento de aplicativos no ecossistema EVM). A carteira de sessão integrada do motor e a torneira da cadeia de testes que podem ser chamadas por meio da API podem reduzir a barreira de entrada para os jogadores.

Outra razão é que o MUD é de código aberto, tem muitos documentos e materiais da comunidade e é fácil de começar. Se o motor de jogo é de código aberto envolve questões de modelo de negócios que serão discutidas especificamente abaixo.


Introdução aos MUDs. source:https://github.com/latticexyz/mud

Agora vamos direto ao assunto. Vamos falar sobre algumas das nossas experiências ao usar o motor MUD. Existem níveis da indústria macro-perceptiva e níveis práticos de engenharia micro-racionais. Eles são direcionados a diferentes grupos de público. Você pode usá-los você mesmo (pular diretamente a parte que não é interessante).

Engenharia

O que é um motor MUD em geral?

Motor MUD = base de dados relacional on-chain + estrutura de desenvolvimento de aplicações on-chain.


Recursos MUD. source:https://github.com/latticexyz/mud

Esta é uma perspetiva de olhar para o campo da blockchain a partir do campo da Internet (algo semelhante a olhar para o poder marítimo a partir da perspetiva do poder terrestre). Definitivamente, não é a perspetiva mais apropriada, mas tendo em conta que a blockchain ainda não atingiu a adoção em massa, os produtos blockchain têm de ser lançados. Ainda precisamos de atrair mais utilizadores no campo da Internet, por isso mais vale analisar primeiro a partir da perspetiva da Internet.

Seja um “banco de dados relacional on-chain” ou um “framework de desenvolvimento de aplicativos on-chain”, eles são cruciais para o desenvolvimento do Ethereum, o “computador mundial”。

Aprendemos com o desenvolvimento de aplicações da Internet: a facilidade de uso do software de banco de dados/a razoabilidade do design da estrutura da tabela do banco de dados determina em grande parte a complexidade do desenvolvimento do projeto inteiro. Em outras palavras, o desenvolvimento de aplicações da Internet é realizado com o banco de dados como núcleo, vamos chamá-lo de "baseado em banco de dados".

Então, vamos ver se o design do motor MUD também segue a ideia “baseada em banco de dados”. Do ponto de vista do design do motor MUD, resolve três problemas principais:

  1. Como tornar os dados na cadeia fáceis de ler e escrever e armazenar de forma económica,

  2. Sincronização automática de dados entre on-chain/clientes,

  3. Gestão geral da complexidade no desenvolvimento de aplicações.

Vamos analisar a primeira pergunta primeiro: "Como os dados na cadeia podem ser facilmente lidos, escritos e armazenados de forma econômica".

Este problema pode ser dividido em dois elementos:

1> Fácil de ler e escrever

2> Armazenamento económico

Após décadas de prática no campo da Internet, a “facilidade de leitura e escrita”, “banco de dados relacional” é considerado a solução ótima. Embora a blockchain seja um modelo de armazenamento em cadeia muito diferente do modelo de armazenamento de banco de dados tradicional (ver figura abaixo), este modelo não é amigável mesmo para operações simples em um único cenário (como somar/média do valor da transação de uma determinada Coleção NFT) / encontrar os valores máximos e mínimos, etc.), sem mencionar cenários mais complexos.


Fonte da imagem:https://mempool.space/mining

Portanto, a solução para MUD é implementar uma “base de dados relacional” em cima de armazenamento encadeado (correspondente à Tabela sob Store no motor MUD). Para os desenvolvedores, a experiência de uso é a mesma que operar bases de dados relacionais comuns (como MySQL, SQL Server, PostgreSQL, SQLite, etc.). Isso é de fato mais amigável para a maioria dos desenvolvedores da Internet. A figura abaixo mostra a estrutura da tabela correspondente quando desenvolvemos a versão completa da cadeia 2048 com base no motor MUD.

Origem:https://github.com/themetacat/MUD2048/blob/main/packages/contracts/mud.config.ts

Podemos analisar o ponto de “armazenamento econômico” a partir da perspetiva do Ethereum, o computador mundial.

Os computadores modernos todos seguem a estrutura de “Von Neumann”, que é dividida em cinco partes: entrada, saída, operação, controle e armazenamento (ver figura abaixo).


As imagens vêm da Internet

Do ponto de vista do próprio mecanismo de jogo de cadeia completa, só pode otimizar o “armazenamento”, porque “entrada” e “saída” estão na sua camada superior e não podem ser controladas; “operação” e “controle” são feitos na blockchain Ethereum. Como um “software de aplicação básica” em execução neste “computador mundial”, o mecanismo de jogo de cadeia completa só pode otimizar a entrada “armazenamento” através dele.

A solução específica para otimização de armazenamento é implementar um “bitpacking” muito eficiente e compacto para os dados de entrada. Uma vez que o armazenamento de dados na blockchain é cobrado com base no volume de dados, um volume de dados menor significa custos de armazenamento mais baixos. Custos de armazenamento totalmente otimizados são o requisito para o surgimento de aplicações on-chain complexas em grande escala. A figura abaixo mostra um caso específico de otimização de armazenamento pela MUD. Para mais detalhes, consulteMotor de jogo de cadeia completa MUD de 0 a V2.


Fonte da imagem:https://lattice.xyz/blog/mud-zero-to-v2

Em suma, para a pergunta um, MUD resolve principalmente o problema a partir da perspetiva de "base de dados".

Agora chegamos à segunda questão: “Sincronização automática de dados entre on-chain/clients”.

Esta é também uma função central fornecida pelo motor MUD, que ajuda os desenvolvedores a pouparem-se o trabalho pesado de gerir a sincronização de estado complexa. O plano de implementação específico é: sincronização em tempo real da base de dados on-chain no cliente. Em outras palavras, cada cliente tem uma cópia local incorporada que está sincronizada com a base de dados on-chain em tempo real.

Isto é principalmente alcançado através do Indexer no motor MUD. A imagem abaixo é a introdução oficial da MUD ao Indexer, que é principalmente para cenários em que deseja construí-lo e executá-lo no servidor do projeto (claro, esta descrição também se aplica ao Indexer que é executado automaticamente no cliente de jogo de cadeia completa).

Fonte da imagem:https://mud.dev/services/indexer

Para os desenvolvedores, eles inicialmente têm um banco de dados on-chain com uma experiência de usuário próxima à de um banco de dados local. No entanto, no que diz respeito à implementação atual do MUD, é difícil para o cliente implementar funções como gerar uma lista global; Além disso, não é uma abordagem econômica para cada cliente gerar uma lista global.

Falando nisso, todos certamente vão perguntar: Por que não gerar uma lista global na cadeia? A razão é que, embora o mecanismo MUD tenha implementado um banco de dados relacional preliminar, o MUD ainda não suportou funções comuns como somar/média/máximo e mínimo valores em bancos de dados relacionais.

Portanto, em mud2048.fun, construímos um nó do Indexador MUD num servidor centralizado para gerar uma classificação global de jogadores de forma relativamente custo-benefício (ver figura abaixo).

URL:https://www.mud2048.fun/

No entanto, permitir que cada cliente tenha uma cópia em tempo real da base de dados on-chain também tem desvantagens. Por exemplo, antes de iniciar a aplicação, os dados precisam ser sincronizados a partir da cadeia para estabelecer a cópia mais recente da base de dados da cadeia localmente, o que aumentará o tempo de espera para os jogadores entrarem no jogo. Os funcionários do MUD também estão cientes deste problema e mencionaram soluções de otimização relacionadas (sincronização de dados segmentados e armazenamento em cache do cliente) na versão MUD V2. No entanto, na minha opinião, são soluções temporárias e não podem resolver completamente o problema da cadeia ser sincronizada ao longo do tempo. Existem cada vez mais problemas com os dados.

Este problema parece insolúvel por enquanto (será difícil alcançar avanços significativos na eficiência de transmissão de dados de rede pública e na recuperação de dados encadeados a curto prazo). Esperamos que com a iteração do MUD, uma solução mais apropriada possa ser encontrada. Se este problema for resolvido bem, também abrirá caminho para o surgimento de aplicações complexas em outras cadeias.

Agora passamos à questão três: “Gestão comum da complexidade no desenvolvimento de aplicações”.

Antes disso, a maioria das aplicações on-chain no ecossistema Ethereum eram relativamente simples (um indicador objetivo é que o número de contratos envolvidos em um único produto DeFi/NFT/DAO é limitado e, na maioria dos casos, a possibilidade de atualização após a implantação é muito pequena). Mas para o desenvolvimento de aplicativos complexos, atualizações lógicas, controle de acesso e gerenciamento de permissões são tarefas repetitivas que precisam ser feitas do zero. Portanto, há uma grande necessidade de uma estrutura/mecanismo universal que possa ajudar os desenvolvedores a lidar com esses problemas de forma unificada, para que os desenvolvedores possam se dedicar ao desenvolvimento de aplicativos.

Outra função principal fornecida pelo motor MUD é ajudar os desenvolvedores a economizarem tempo ao lidar com os problemas acima através do módulo Mundo. Especificamente, o Mundo fornece lógica e controle de acesso sobre a Loja. A figura seguinte mostra o site oficial da MUD para o Mundo. Descrição, esta é uma função fornecida por estruturas gerais de desenvolvimento de aplicativos, por isso não entrarei em detalhes aqui.

Fonte da imagem:https://mud.dev/world/introduction

Para o desenvolvimento de aplicações complexas, o controle de acesso (ou encaminhamento) é um elo importante na determinação do volume total do projeto. A qualidade do design de controle de acesso determina diretamente a complexidade e facilidade de manutenção do desenvolvimento de aplicações. A MUD obviamente atribui grande importância a isso. A figura abaixo mostra a otimização do seu módulo de controle de acesso nas versões MUD v1 e v2.


Fonte da imagem:https://lattice.xyz/blog/mud-zero-to-v2

Os acima são algumas de nossas reflexões e experiências de engenharia no processo de desenvolvimento do mud2048.fun usando o motor MUD. Em termos gerais, os motores MUD também seguem a ideia 'baseada em banco de dados', que é altamente consistente com a metodologia de desenvolvimento de aplicativos da Internet. Portanto, os motores MUD não serão estranhos para os desenvolvedores de aplicativos da Internet. Em seguida, discutiremos nossas reflexões sobre a indústria de jogos de cadeia completa.

Indústria

Quando entramos no campo dos jogos de cadeia completa, as três perguntas que constantemente nos fazemos são:

  1. Por que é necessário um jogo de cadeia completa?

  2. Que tipo de jogos são adequados para toda a cadeia?

  3. Qual é a relação entre Fully on-Chain e Crypto native?

A seguir discutimos um por um:

Para a primeira pergunta: Por que precisamos de jogos full-chain?

Este problema pode ser ainda mais decomposto em dois subproblemas:

1> Por que a indústria blockchain precisa de jogos completos de cadeia?

2> Por que o mercado cripto precisa de jogos de cadeia completa?

Do ponto de vista da indústria blockchain:

O ecossistema Ethereum desenvolveu-se para um estágio que requer o surgimento de aplicações complexas on-chain (no passado, as aplicações on-chain DeFi/DAO/NFT eram relativamente simples, como pode ser visto pelo número de contratos que suportam uma aplicação). Outro exemplo reverso é o par de suporte da Camada 2 do Ethereum para toda a cadeia de jogos. Do ponto de vista lógico interno, sem trabalho de porcelana, os diamantes não podem ser feitos. A Camada 2 precisa de todo o trabalho de porcelana em toda a cadeia de jogos para se realizar.

O campo NFT não teve um novo paradigma para promover o seu desenvolvimento após a bolha PFP. O ponto que distingue NFT de ERC-20 é a composabilidade, e o cenário de jogos é o lugar natural para a composabilidade NFT.

O objetivo final do jogo de toda a cadeiamundo autónomo"Gate" é mais uma elaboração da forma suprema do mundo digital (a última elaboração foi o "Metaverso" que se tornou uma confusão depois de ser excessivamente comercializado). Como uma imaginação comum da humanidade para um futuro melhor, o mundo autônomo tem grande apelo, e o mundo inteiro como uma forma importante de alcançar esse objetivo, os jogos de cadeia também têm grandes esperanças.


Site oficial da Autonomous Worlds:https://aw.network/

A olhar para o mercado de criptomoedas:

Olhando para trás na história do desenvolvimento da Internet, os jogos são sempre os primeiros a adotar novos campos de tecnologia. Os jogos são aplicativos de consumo e são mais fáceis de alcançar os usuários finais.

O modelo de jogo/GameFi blockchain foi temporariamente falsificado, e a exploração de jogos blockchain retornou à origem dos jogos: a jogabilidade. A jogabilidade baseada em blockchain (que herda totalmente as vantagens e desvantagens do blockchain) promete proporcionar novas experiências e paradigmas não disponíveis no passado, atraindo assim os utilizadores.

Chegamos à segunda pergunta: Que tipo de jogos são adequados para toda a cadeia??

Atualmente, a indústria/mercado ainda não chegou a um consenso sobre este ponto. De uma perspectiva indutiva, as duas categorias mencionadas acima são a estratégia em tempo real (RTS) e as regras meta (Meta Rules). No entanto, problemas como falta de inovação, modelos de negócios pouco claros e a falta de correspondência com os utilizadores são ainda problemas inevitáveis neste campo.

Pessoalmente, acho que a classe de Regras Meta tem potencial relativamente maior, porque pelo menos tem mais possibilidades nativas no nível da regra e no nível de interoperabilidade. No entanto, ainda é muito cedo e é difícil avaliar a sua certeza. A imagem abaixo é a interface do jogo completo de corrente de meta-regras PixeLAW.


Fonte da imagem:https://twitter.com/0xPixeLAW/status/1704375844674912515

A interoperabilidade entre jogos pode ser uma falsa proposição por um longo período. Embora os jogos de blockchain de cadeia completa herdem a interoperabilidade da blockchain, do ponto de vista de negócios/produtos/ecologia, é difícil imaginar dois produtos independentes sendo desenvolvidos para interoperabilidade a curto prazo, e este ponto também foi falsificado no ciclo anterior do 'Metaverso' em certa medida.

Agora vamos falar sobre a terceira questão: Qual é a relação entre Fully on-Chain e Crypto native?

Em primeiro lugar, enfatizar excessivamente "em toda a cadeia" fará com que as pessoas caiam no círculo vicioso do fundamentalismo. A infraestrutura atual do blockchain não pode suportar uma ampla gama de jogos para colocar todos os dados / lógica na cadeia. Além disso, GubSheep, o fundador da "Dark Forest",formulação inicialé "Jogos Cripto-Nativos", a fim de pensar em como os jogos podem promover o desenvolvimento da indústria blockchain da forma mais ampla possível, do ponto de vista dos Cripto-Nativos. A imagem abaixo mostra parte do texto original de GubSheep.


origem:https://gubsheep.substack.com/p/the-strongest-crypto-gaming-thesis

Cripto nativa é um conceito com conotações em constante mudança e fronteiras relativamente turvas. Existem diferentes interpretações em diferentes estágios do desenvolvimento da blockchain.

Em 2017, CryptoKitties foi considerado o epítome do nativo de criptografia;

Em 2018, Uniswap era o epítome de cripto-nativo;

Em 2020, a CryptoArt é o epítome do cripto nativo;

Em 2021, O DAO é o epítome do nativo da cripto;

Até 2023, os jogos de cadeia completa, onde os dados e a lógica estão na cadeia, são vistos como um modelo nativo de criptomoeda.

Mas essencialmente a criptografia é uma ideia, não um dogma.

Totalmente on-Chain é uma metodologia que implementa o nativo de Crypto, mas não podemos ser limitados por ela, assim como centralização/descentralização, revolução/contrarrevolução, são todos conceitos relativos, e é fácil levar a um beco sem saída se você ficar muito enredado com o significado literal.

Então, quer se trate de jogos de blockchain completos ou de jogos nativos de criptomoeda, que novas possibilidades trazem eles?

Penso que, depois de a lógica/regras do jogo serem tornadas transparentes através da cadeia, todas as estratégias de jogo podem competir verdadeiramente de forma justa. Claro, precisamos de encontrar um cenário que possa refletir esta vantagem. Por exemplo, porque a lógica do jogo está na cadeia, pode escrever diretamente o código do contrato para jogar o jogo, juntamente com as estratégias de jogo geradas por IA, talvez nos permita ter um agente jogador virtual acima da média/insone (esta ideia é inspirada por Shoshin inspirado).

Além disso, um motor de jogo de cadeia completa como MUD (na realidade, é mais apropriado chamá-lo de um framework de desenvolvimento de aplicativos de cadeia completa), como uma combinação de banco de dados + framework de desenvolvimento de aplicativos, é de auto-evidente importância no ecossistema de EVMs. No entanto, bancos de dados/frameworks de desenvolvimento de aplicativos são bens públicos e não têm nenhum modelo de negócios. Felizmente, existe um mecanismo de Token nativo da blockchain, assim comoEIP-6969Um esquema de royalties para desenvolvedores pode ajudar os desenvolvedores desses itens justos a capturar valor de uma maneira externa. Este é o ponto em que a blockchain é superior à Web2.

"Consensus" não é apenas 51% do poder de computação, mas também os valores partilhados que existem entre as sociedades/grupos. Neste sentido, a criptografia é uma espécie de valor.

apêndice:

  1. Website oficial do MUD 2048:https://www.mud2048.fun/

  2. Projeto de código MUD 2048:https://github.com/themetacat/MUD2048

  3. Site oficial do motor MUD: https://mud.dev/

  4. Site oficial da Autonomous Worlds Bible:https://aw.network/

  5. Teoria de jogo nativa criptografada GubSheep:https://gubsheep.substack.com/p/the-strongest-crypto-gaming-thesis

Aviso legal:

  1. Este artigo é reproduzido a partir de [MetaCat]. Todos os direitos de autor pertencem ao autor original [CK]. Se houver objeções a esta reimpressão, por favor contacte o Gate Learnequipa, e eles vão lidar com isso prontamente.
  2. Responsabilidade de Isenção: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipa Gate Learn. Salvo indicação em contrário, é proibida a cópia, distribuição ou plágio dos artigos traduzidos.

Versão Completa da Cadeia 2048: O que aprendemos ao usar motores MUD?

Intermediário1/6/2024, 3:47:47 PM
Este artigo analisa os detalhes de como o motor MUD pode ser usado em jogos de cadeia completa e como otimizar e contornar restrições.

TL; DR

  • O design do motor MUD segue uma abordagem "orientada para bases de dados"
  • O momento AMM para jogos de cadeia completa ainda não chegou
  • Cripto-nativo é um valor

antes do início

mud2048.fun é a nossa exploração para obter um sentido microscópico do desenvolvimento completo do jogo em cadeia. O objetivo é experimentar a versão completa do jogo original 2048 (play2048.co) replicando-o para vivenciar a experiência completa do desenvolvimento do jogo em cadeia. Temperatura da água, obter uma sensação de corpo de primeira linha.

Este artigo é um resumo das experiências e pensamentos adquiridos durante este processo de desenvolvimento e destina-se a inspirar os leitores.

Esta é provavelmente a tentativa mais simples de desenvolver Jogos Totalmente On-chain. Antes disso, tentámos implementar uma versão completa em cadeia do Jogo Offline Chrome Dinosaur (Jogo Chrome Dino), mas mais tarde descobrimos que não era nativo da blockchain. Com o suporte do mecanismo Tick do jogo, é difícil reproduzir uma versão completa em cadeia que se aproxime da experiência original do jogo.


Versão online do Chrome Dino Game em:https://dinorunner.com/

Isto pode envolver um mal-entendido comum: é mais fácil implementar uma versão de cadeia completa de jogos simples. Na verdade, este não é o caso, porque o tempo de confirmação da transação da blockchain (mesmo a Layer 2 principal) ainda não atingiu o nível de tempo de resposta da interface do servidor centralizado; além disso, após a lógica do jogo ser carregada na cadeia, traz complexidade de engenharia que não apareceu no cenário centralizado, levando ao fato de que nem todos os jogos casuais simples podem implementar facilmente versões de cadeia completa. Isso também explica até certo ponto as divisões atuais da ecologia de jogos de cadeia completa:

Principalmente RTS (jogos de estratégia em tempo real), tais como: Loot Survivor, Primodium, Sky Strife, Cellula, etc., complementados por Meta Rules (meta-rules games/sandbox games), tais como: PixeLAW, Briq, OpCraft, etc. Ambos os tipos de jogos evitam as desvantagens causadas pelo longo tempo de confirmação das transações blockchain em termos de forma de jogo.


A imagem mostra a interface de inicialização do Sky Strife, URL:https://playtest.skystrife.xyz/

Porque escolher o motor MUD?

MUD é o primeiro motor de jogo de cadeia completa no ecossistema EVM (e o primeiro quadro de desenvolvimento de aplicativos no ecossistema EVM). A carteira de sessão integrada do motor e a torneira da cadeia de testes que podem ser chamadas por meio da API podem reduzir a barreira de entrada para os jogadores.

Outra razão é que o MUD é de código aberto, tem muitos documentos e materiais da comunidade e é fácil de começar. Se o motor de jogo é de código aberto envolve questões de modelo de negócios que serão discutidas especificamente abaixo.


Introdução aos MUDs. source:https://github.com/latticexyz/mud

Agora vamos direto ao assunto. Vamos falar sobre algumas das nossas experiências ao usar o motor MUD. Existem níveis da indústria macro-perceptiva e níveis práticos de engenharia micro-racionais. Eles são direcionados a diferentes grupos de público. Você pode usá-los você mesmo (pular diretamente a parte que não é interessante).

Engenharia

O que é um motor MUD em geral?

Motor MUD = base de dados relacional on-chain + estrutura de desenvolvimento de aplicações on-chain.


Recursos MUD. source:https://github.com/latticexyz/mud

Esta é uma perspetiva de olhar para o campo da blockchain a partir do campo da Internet (algo semelhante a olhar para o poder marítimo a partir da perspetiva do poder terrestre). Definitivamente, não é a perspetiva mais apropriada, mas tendo em conta que a blockchain ainda não atingiu a adoção em massa, os produtos blockchain têm de ser lançados. Ainda precisamos de atrair mais utilizadores no campo da Internet, por isso mais vale analisar primeiro a partir da perspetiva da Internet.

Seja um “banco de dados relacional on-chain” ou um “framework de desenvolvimento de aplicativos on-chain”, eles são cruciais para o desenvolvimento do Ethereum, o “computador mundial”。

Aprendemos com o desenvolvimento de aplicações da Internet: a facilidade de uso do software de banco de dados/a razoabilidade do design da estrutura da tabela do banco de dados determina em grande parte a complexidade do desenvolvimento do projeto inteiro. Em outras palavras, o desenvolvimento de aplicações da Internet é realizado com o banco de dados como núcleo, vamos chamá-lo de "baseado em banco de dados".

Então, vamos ver se o design do motor MUD também segue a ideia “baseada em banco de dados”. Do ponto de vista do design do motor MUD, resolve três problemas principais:

  1. Como tornar os dados na cadeia fáceis de ler e escrever e armazenar de forma económica,

  2. Sincronização automática de dados entre on-chain/clientes,

  3. Gestão geral da complexidade no desenvolvimento de aplicações.

Vamos analisar a primeira pergunta primeiro: "Como os dados na cadeia podem ser facilmente lidos, escritos e armazenados de forma econômica".

Este problema pode ser dividido em dois elementos:

1> Fácil de ler e escrever

2> Armazenamento económico

Após décadas de prática no campo da Internet, a “facilidade de leitura e escrita”, “banco de dados relacional” é considerado a solução ótima. Embora a blockchain seja um modelo de armazenamento em cadeia muito diferente do modelo de armazenamento de banco de dados tradicional (ver figura abaixo), este modelo não é amigável mesmo para operações simples em um único cenário (como somar/média do valor da transação de uma determinada Coleção NFT) / encontrar os valores máximos e mínimos, etc.), sem mencionar cenários mais complexos.


Fonte da imagem:https://mempool.space/mining

Portanto, a solução para MUD é implementar uma “base de dados relacional” em cima de armazenamento encadeado (correspondente à Tabela sob Store no motor MUD). Para os desenvolvedores, a experiência de uso é a mesma que operar bases de dados relacionais comuns (como MySQL, SQL Server, PostgreSQL, SQLite, etc.). Isso é de fato mais amigável para a maioria dos desenvolvedores da Internet. A figura abaixo mostra a estrutura da tabela correspondente quando desenvolvemos a versão completa da cadeia 2048 com base no motor MUD.

Origem:https://github.com/themetacat/MUD2048/blob/main/packages/contracts/mud.config.ts

Podemos analisar o ponto de “armazenamento econômico” a partir da perspetiva do Ethereum, o computador mundial.

Os computadores modernos todos seguem a estrutura de “Von Neumann”, que é dividida em cinco partes: entrada, saída, operação, controle e armazenamento (ver figura abaixo).


As imagens vêm da Internet

Do ponto de vista do próprio mecanismo de jogo de cadeia completa, só pode otimizar o “armazenamento”, porque “entrada” e “saída” estão na sua camada superior e não podem ser controladas; “operação” e “controle” são feitos na blockchain Ethereum. Como um “software de aplicação básica” em execução neste “computador mundial”, o mecanismo de jogo de cadeia completa só pode otimizar a entrada “armazenamento” através dele.

A solução específica para otimização de armazenamento é implementar um “bitpacking” muito eficiente e compacto para os dados de entrada. Uma vez que o armazenamento de dados na blockchain é cobrado com base no volume de dados, um volume de dados menor significa custos de armazenamento mais baixos. Custos de armazenamento totalmente otimizados são o requisito para o surgimento de aplicações on-chain complexas em grande escala. A figura abaixo mostra um caso específico de otimização de armazenamento pela MUD. Para mais detalhes, consulteMotor de jogo de cadeia completa MUD de 0 a V2.


Fonte da imagem:https://lattice.xyz/blog/mud-zero-to-v2

Em suma, para a pergunta um, MUD resolve principalmente o problema a partir da perspetiva de "base de dados".

Agora chegamos à segunda questão: “Sincronização automática de dados entre on-chain/clients”.

Esta é também uma função central fornecida pelo motor MUD, que ajuda os desenvolvedores a pouparem-se o trabalho pesado de gerir a sincronização de estado complexa. O plano de implementação específico é: sincronização em tempo real da base de dados on-chain no cliente. Em outras palavras, cada cliente tem uma cópia local incorporada que está sincronizada com a base de dados on-chain em tempo real.

Isto é principalmente alcançado através do Indexer no motor MUD. A imagem abaixo é a introdução oficial da MUD ao Indexer, que é principalmente para cenários em que deseja construí-lo e executá-lo no servidor do projeto (claro, esta descrição também se aplica ao Indexer que é executado automaticamente no cliente de jogo de cadeia completa).

Fonte da imagem:https://mud.dev/services/indexer

Para os desenvolvedores, eles inicialmente têm um banco de dados on-chain com uma experiência de usuário próxima à de um banco de dados local. No entanto, no que diz respeito à implementação atual do MUD, é difícil para o cliente implementar funções como gerar uma lista global; Além disso, não é uma abordagem econômica para cada cliente gerar uma lista global.

Falando nisso, todos certamente vão perguntar: Por que não gerar uma lista global na cadeia? A razão é que, embora o mecanismo MUD tenha implementado um banco de dados relacional preliminar, o MUD ainda não suportou funções comuns como somar/média/máximo e mínimo valores em bancos de dados relacionais.

Portanto, em mud2048.fun, construímos um nó do Indexador MUD num servidor centralizado para gerar uma classificação global de jogadores de forma relativamente custo-benefício (ver figura abaixo).

URL:https://www.mud2048.fun/

No entanto, permitir que cada cliente tenha uma cópia em tempo real da base de dados on-chain também tem desvantagens. Por exemplo, antes de iniciar a aplicação, os dados precisam ser sincronizados a partir da cadeia para estabelecer a cópia mais recente da base de dados da cadeia localmente, o que aumentará o tempo de espera para os jogadores entrarem no jogo. Os funcionários do MUD também estão cientes deste problema e mencionaram soluções de otimização relacionadas (sincronização de dados segmentados e armazenamento em cache do cliente) na versão MUD V2. No entanto, na minha opinião, são soluções temporárias e não podem resolver completamente o problema da cadeia ser sincronizada ao longo do tempo. Existem cada vez mais problemas com os dados.

Este problema parece insolúvel por enquanto (será difícil alcançar avanços significativos na eficiência de transmissão de dados de rede pública e na recuperação de dados encadeados a curto prazo). Esperamos que com a iteração do MUD, uma solução mais apropriada possa ser encontrada. Se este problema for resolvido bem, também abrirá caminho para o surgimento de aplicações complexas em outras cadeias.

Agora passamos à questão três: “Gestão comum da complexidade no desenvolvimento de aplicações”.

Antes disso, a maioria das aplicações on-chain no ecossistema Ethereum eram relativamente simples (um indicador objetivo é que o número de contratos envolvidos em um único produto DeFi/NFT/DAO é limitado e, na maioria dos casos, a possibilidade de atualização após a implantação é muito pequena). Mas para o desenvolvimento de aplicativos complexos, atualizações lógicas, controle de acesso e gerenciamento de permissões são tarefas repetitivas que precisam ser feitas do zero. Portanto, há uma grande necessidade de uma estrutura/mecanismo universal que possa ajudar os desenvolvedores a lidar com esses problemas de forma unificada, para que os desenvolvedores possam se dedicar ao desenvolvimento de aplicativos.

Outra função principal fornecida pelo motor MUD é ajudar os desenvolvedores a economizarem tempo ao lidar com os problemas acima através do módulo Mundo. Especificamente, o Mundo fornece lógica e controle de acesso sobre a Loja. A figura seguinte mostra o site oficial da MUD para o Mundo. Descrição, esta é uma função fornecida por estruturas gerais de desenvolvimento de aplicativos, por isso não entrarei em detalhes aqui.

Fonte da imagem:https://mud.dev/world/introduction

Para o desenvolvimento de aplicações complexas, o controle de acesso (ou encaminhamento) é um elo importante na determinação do volume total do projeto. A qualidade do design de controle de acesso determina diretamente a complexidade e facilidade de manutenção do desenvolvimento de aplicações. A MUD obviamente atribui grande importância a isso. A figura abaixo mostra a otimização do seu módulo de controle de acesso nas versões MUD v1 e v2.


Fonte da imagem:https://lattice.xyz/blog/mud-zero-to-v2

Os acima são algumas de nossas reflexões e experiências de engenharia no processo de desenvolvimento do mud2048.fun usando o motor MUD. Em termos gerais, os motores MUD também seguem a ideia 'baseada em banco de dados', que é altamente consistente com a metodologia de desenvolvimento de aplicativos da Internet. Portanto, os motores MUD não serão estranhos para os desenvolvedores de aplicativos da Internet. Em seguida, discutiremos nossas reflexões sobre a indústria de jogos de cadeia completa.

Indústria

Quando entramos no campo dos jogos de cadeia completa, as três perguntas que constantemente nos fazemos são:

  1. Por que é necessário um jogo de cadeia completa?

  2. Que tipo de jogos são adequados para toda a cadeia?

  3. Qual é a relação entre Fully on-Chain e Crypto native?

A seguir discutimos um por um:

Para a primeira pergunta: Por que precisamos de jogos full-chain?

Este problema pode ser ainda mais decomposto em dois subproblemas:

1> Por que a indústria blockchain precisa de jogos completos de cadeia?

2> Por que o mercado cripto precisa de jogos de cadeia completa?

Do ponto de vista da indústria blockchain:

O ecossistema Ethereum desenvolveu-se para um estágio que requer o surgimento de aplicações complexas on-chain (no passado, as aplicações on-chain DeFi/DAO/NFT eram relativamente simples, como pode ser visto pelo número de contratos que suportam uma aplicação). Outro exemplo reverso é o par de suporte da Camada 2 do Ethereum para toda a cadeia de jogos. Do ponto de vista lógico interno, sem trabalho de porcelana, os diamantes não podem ser feitos. A Camada 2 precisa de todo o trabalho de porcelana em toda a cadeia de jogos para se realizar.

O campo NFT não teve um novo paradigma para promover o seu desenvolvimento após a bolha PFP. O ponto que distingue NFT de ERC-20 é a composabilidade, e o cenário de jogos é o lugar natural para a composabilidade NFT.

O objetivo final do jogo de toda a cadeiamundo autónomo"Gate" é mais uma elaboração da forma suprema do mundo digital (a última elaboração foi o "Metaverso" que se tornou uma confusão depois de ser excessivamente comercializado). Como uma imaginação comum da humanidade para um futuro melhor, o mundo autônomo tem grande apelo, e o mundo inteiro como uma forma importante de alcançar esse objetivo, os jogos de cadeia também têm grandes esperanças.


Site oficial da Autonomous Worlds:https://aw.network/

A olhar para o mercado de criptomoedas:

Olhando para trás na história do desenvolvimento da Internet, os jogos são sempre os primeiros a adotar novos campos de tecnologia. Os jogos são aplicativos de consumo e são mais fáceis de alcançar os usuários finais.

O modelo de jogo/GameFi blockchain foi temporariamente falsificado, e a exploração de jogos blockchain retornou à origem dos jogos: a jogabilidade. A jogabilidade baseada em blockchain (que herda totalmente as vantagens e desvantagens do blockchain) promete proporcionar novas experiências e paradigmas não disponíveis no passado, atraindo assim os utilizadores.

Chegamos à segunda pergunta: Que tipo de jogos são adequados para toda a cadeia??

Atualmente, a indústria/mercado ainda não chegou a um consenso sobre este ponto. De uma perspectiva indutiva, as duas categorias mencionadas acima são a estratégia em tempo real (RTS) e as regras meta (Meta Rules). No entanto, problemas como falta de inovação, modelos de negócios pouco claros e a falta de correspondência com os utilizadores são ainda problemas inevitáveis neste campo.

Pessoalmente, acho que a classe de Regras Meta tem potencial relativamente maior, porque pelo menos tem mais possibilidades nativas no nível da regra e no nível de interoperabilidade. No entanto, ainda é muito cedo e é difícil avaliar a sua certeza. A imagem abaixo é a interface do jogo completo de corrente de meta-regras PixeLAW.


Fonte da imagem:https://twitter.com/0xPixeLAW/status/1704375844674912515

A interoperabilidade entre jogos pode ser uma falsa proposição por um longo período. Embora os jogos de blockchain de cadeia completa herdem a interoperabilidade da blockchain, do ponto de vista de negócios/produtos/ecologia, é difícil imaginar dois produtos independentes sendo desenvolvidos para interoperabilidade a curto prazo, e este ponto também foi falsificado no ciclo anterior do 'Metaverso' em certa medida.

Agora vamos falar sobre a terceira questão: Qual é a relação entre Fully on-Chain e Crypto native?

Em primeiro lugar, enfatizar excessivamente "em toda a cadeia" fará com que as pessoas caiam no círculo vicioso do fundamentalismo. A infraestrutura atual do blockchain não pode suportar uma ampla gama de jogos para colocar todos os dados / lógica na cadeia. Além disso, GubSheep, o fundador da "Dark Forest",formulação inicialé "Jogos Cripto-Nativos", a fim de pensar em como os jogos podem promover o desenvolvimento da indústria blockchain da forma mais ampla possível, do ponto de vista dos Cripto-Nativos. A imagem abaixo mostra parte do texto original de GubSheep.


origem:https://gubsheep.substack.com/p/the-strongest-crypto-gaming-thesis

Cripto nativa é um conceito com conotações em constante mudança e fronteiras relativamente turvas. Existem diferentes interpretações em diferentes estágios do desenvolvimento da blockchain.

Em 2017, CryptoKitties foi considerado o epítome do nativo de criptografia;

Em 2018, Uniswap era o epítome de cripto-nativo;

Em 2020, a CryptoArt é o epítome do cripto nativo;

Em 2021, O DAO é o epítome do nativo da cripto;

Até 2023, os jogos de cadeia completa, onde os dados e a lógica estão na cadeia, são vistos como um modelo nativo de criptomoeda.

Mas essencialmente a criptografia é uma ideia, não um dogma.

Totalmente on-Chain é uma metodologia que implementa o nativo de Crypto, mas não podemos ser limitados por ela, assim como centralização/descentralização, revolução/contrarrevolução, são todos conceitos relativos, e é fácil levar a um beco sem saída se você ficar muito enredado com o significado literal.

Então, quer se trate de jogos de blockchain completos ou de jogos nativos de criptomoeda, que novas possibilidades trazem eles?

Penso que, depois de a lógica/regras do jogo serem tornadas transparentes através da cadeia, todas as estratégias de jogo podem competir verdadeiramente de forma justa. Claro, precisamos de encontrar um cenário que possa refletir esta vantagem. Por exemplo, porque a lógica do jogo está na cadeia, pode escrever diretamente o código do contrato para jogar o jogo, juntamente com as estratégias de jogo geradas por IA, talvez nos permita ter um agente jogador virtual acima da média/insone (esta ideia é inspirada por Shoshin inspirado).

Além disso, um motor de jogo de cadeia completa como MUD (na realidade, é mais apropriado chamá-lo de um framework de desenvolvimento de aplicativos de cadeia completa), como uma combinação de banco de dados + framework de desenvolvimento de aplicativos, é de auto-evidente importância no ecossistema de EVMs. No entanto, bancos de dados/frameworks de desenvolvimento de aplicativos são bens públicos e não têm nenhum modelo de negócios. Felizmente, existe um mecanismo de Token nativo da blockchain, assim comoEIP-6969Um esquema de royalties para desenvolvedores pode ajudar os desenvolvedores desses itens justos a capturar valor de uma maneira externa. Este é o ponto em que a blockchain é superior à Web2.

"Consensus" não é apenas 51% do poder de computação, mas também os valores partilhados que existem entre as sociedades/grupos. Neste sentido, a criptografia é uma espécie de valor.

apêndice:

  1. Website oficial do MUD 2048:https://www.mud2048.fun/

  2. Projeto de código MUD 2048:https://github.com/themetacat/MUD2048

  3. Site oficial do motor MUD: https://mud.dev/

  4. Site oficial da Autonomous Worlds Bible:https://aw.network/

  5. Teoria de jogo nativa criptografada GubSheep:https://gubsheep.substack.com/p/the-strongest-crypto-gaming-thesis

Aviso legal:

  1. Este artigo é reproduzido a partir de [MetaCat]. Todos os direitos de autor pertencem ao autor original [CK]. Se houver objeções a esta reimpressão, por favor contacte o Gate Learnequipa, e eles vão lidar com isso prontamente.
  2. Responsabilidade de Isenção: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipa Gate Learn. Salvo indicação em contrário, é proibida a cópia, distribuição ou plágio dos artigos traduzidos.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500