introduzir

Dark Forest é um jogo de estratégia descentralizado baseado no blockchain Ethereum. No jogo, os jogadores podem coletar recursos, construir bases, desenvolver tecnologia, coletar armas e lutar com outros jogadores para competir por recursos.

Em Dark Forest, cada jogador controla seu próprio planeta e precisa coletar recursos, construir bases e desenvolver tecnologia no planeta para melhorar suas capacidades de combate. Os jogadores podem usar edifícios de produção de recursos, pesquisa tecnológica e instalações de fabricação de armas para obter vantagem no combate.

À medida que os jogadores voam pelo espaço interestelar, eles precisam descobrir outros planetas e recursos por meio de reconhecimento e exploração constantes. Quando dois jogadores descobrem o mesmo planeta ao mesmo tempo, eles podem optar por atacar o planeta ou escapar. Ao atacar, os jogadores precisam usar suas próprias armas para atacar a base adversária e aproveitar os recursos do adversário.

A característica de Dark Forest é que o jogo é totalmente baseado na tecnologia blockchain. O planeta e os recursos de cada jogador são armazenados no blockchain e não podem ser adulterados ou excluídos. Além disso, Dark Forest também é um jogo descentralizado (DeGame). Não existe um servidor central para controlar o processo do jogo, mas é mantido e decidido em conjunto por todos os jogadores.

Dark Forest também é o primeiro jogo a introduzir o sistema de névoa de guerra em um jogo descentralizado de cadeia completa, o que foi afirmado por V God. Iremos desmontá-lo em profundidade neste artigo para explorar como um jogo de estratégia em tempo real pode ser implementado em um ambiente de cadeia completa. Ainda no dia 1º de abril, @DfArchon anunciou que será realizada uma “Rodada Comunitária” Os alunos interessados ​​​​também poderão participar da prova.

Vamos começar com os tipos de jogos e comparar os jogos MMORPG e MMORTS:

MMO - Jogo de RPG: RPG multijogador online, mundo aberto, o jogo tem um começo e um fim. A diversão do jogo reside em vivenciar de forma imersiva a história e o mundo do jogo do metaverso. Por exemplo, World of Warcraft. Jogo MMO-RTS: confronto de estratégia multijogador online, um mundo fechado relativamente pequeno, uma rodada de jogo que tem um começo e um fim. desenvolvimento e depois destruir o inimigo. Os representantes típicos são StarCraft e Warcraft, cada jogo dura de 20 a 40 minutos. DF é um jogo MMORTS Como há muitas pessoas que podem participar ao mesmo tempo (até milhares de pessoas) e o blockchain TPS é limitado, a duração de uma rodada é de cerca de 10 dias. A pontuação Principalmente dos recursos obtidos no jogo (aquisição gratuita em PVE e pilhagem em PVP). Quanto a como pausar o jogo no blockchain, ainda não está claro. Operação de oferta real

Quando havia apenas Rodadas Oficiais oficiais, você precisava de um código de convite (chave) para fazer login e participar. Agora, com a função de lobby, qualquer pessoa pode criar sua própria rodada, por isso existe a chamada rodada comunitária (semelhante a uma rodada comunitária). ). Concurso). Acesse a página inicial https://zkga.me/, clique em “Criar Lobby”, você entrará na página de configurações do Lobby, conforme mostrado abaixo

Configurações do jogo: A velocidade do jogo pode ser modificada alterando a taxa de recuperação de energia/prata e a velocidade de navegação. Tamanho do mundo: altere o tamanho do mapa modificando o raio do universo. Tipo de espaço e bioma: selecione um mapa de jogo. Planetas: Defina os parâmetros básicos dos planetas. Spawn do jogador: gera configurações de parâmetros do jogador. Lixo espacial: configurações de parâmetros para este suporte de jogo. Zonas de captura: configurações de parâmetros da zona de captura. Artefatos: configurações de parâmetros para os acessórios do jogo. Permissões de administrador: defina se deseja abrir jogadores na lista de permissões. Configurações avançadas de parâmetros de Snarks: Fog of War.

Para obter mais dicas sobre como usar o Lobby, consulte esta resposta oficial:

https://blog.zkga.me/introduzindo-dark-forest-lobbies

Dark Forest parece complicado à primeira vista, mas as regras básicas do jogo são na verdade muito simples: os planetas têm valores de energia, que decairão com a distância. Saltar entre planetas significa atacar uns aos outros, e o resultado do ataque é baseado em Determinar o valor da energia. após atenuação. Claro, já existem muitos artigos e vídeos que descrevem como jogar, então não vou compartilhá-los com mais detalhes aqui.

Análise de documentos do desenvolvedor

https://dev-guides.zkga.me/

A documentação do desenvolvedor fornece algumas explicações sobre a arquitetura de desenvolvimento de jogos, visando desenvolvedores de plug-ins, desenvolvedores de clientes web, desenvolvedores de contratos de jogos e desenvolvedores de circuitos ZK.

Conecte-se ao Blockchain

O jogo roda na camada 2 do xDai, que agora é a Gnosis Chain. Como o jogo requer muita interação com o contrato durante a operação, ele possui um nó RPC integrado. A equipe Gnosis até abriu um nó de jogo dedicado para este jogo.

Plug-ins

Dark Forest permite que os jogadores personalizem o cliente web padrão por meio de um sistema de plug-in. Plugins são trechos de código que os jogadores podem escrever para gerar visualizações alternativas dos dados do jogo, automatizar processos comuns de jogo ou até mesmo reformular o jogo. Essencialmente, Dark Forest permite que os jogadores interajam programaticamente com o cliente da rede da maneira que desejarem.

Mineração

A principal mecânica de Dark Forest é sua névoa criptográfica de guerra. Quando você entra em um jogo pela primeira vez, não tem ideia de onde os outros jogadores estão. Os jogadores devem calcular hashes para descobrir pontos de interesse no universo, como planetas e localizações de outros jogadores. Esses hashes são salvos no armazenamento local do navegador e são tratados como dados secretos. Por padrão, o cliente web padrão Dark Forest usa um minerador Javascript de thread único para explorar o universo, mas há uma série de coisas que você pode fazer para aumentar sua taxa de hash, como alterar os núcleos da CPU próximos ao botão de mineração. Se você tentar definir um número de núcleos maior que o número real de núcleos do seu computador, o desempenho do seu minerador irá estabilizar.

Quando o minerador de um jogador descobre um mapa de áreas do universo, o cliente web salva informações relacionadas a essas áreas não descobertas no armazenamento local do navegador. Dark Forest salva dados no IndexedDB. Os jogadores também podem atuar como mineiros explorando mapas de localização executando um servidor remoto.

Snarking

Dark Forest é alimentado pela tecnologia ZK-Snark, uma técnica criptográfica que pode ser usada para provar a exatidão de uma função sem revelar suas entradas ou lógica. Dark Forest usa essa tecnologia para verificar se os movimentos do jogo são válidos, sem revelar a localização do planeta para pessoas bisbilhotando a rede. Esta técnica (Zk-snark Proof Generation) é computacionalmente muito cara! Portanto, este ZK-Proof move o cálculo para fora do navegador e requer que um Node.JS seja executado localmente. Claro, o jogo também permite o uso de um servidor remoto para executar este serviço.

Resumir

Como um jogo full-chain altamente inovador, o desenvolvimento de Dark Forest é realmente lento. Uma possível razão é que este é um projecto conduzido pela comunidade. Embora possa garantir a descentralização, também afecta a eficiência do desenvolvimento. A última rodada oficial foi em fevereiro de 2022. A atualização do Webclient foi em outubro de 2020, e as atualizações de plug-ins de terceiros (comunidade) ainda estão ligeiramente ativas, incluindo nightmarket (negociação anônima de coordenadas planetárias) em julho de 2022 e lobby em março de 2022.