edge-yacht - um jogo multiplayer que roda no Cloudflare Workers
(yacht.seokmin.dev)Olá, eu normalmente só acompanhava o GeekNews, mas quis deixar este post para compartilhar um projeto com o qual participei recentemente do Cloudflare Developer Challenge (https://challenge.developers.cloudflare.com/) :)
Para jogar, basta clicar no botão Create Room na tela principal e, na tela seguinte, compartilhar o link exibido. Dois navegadores que acessarem esse link formam uma sessão para jogar em modo multiplayer, e todo esse processo acontece no Cloudflare Workers. O repositório está aqui.
https://github.com/SeokminHong/edge-yacht
O Cloudflare Developer Challenge é um programa em que você cria e envia projetos interessantes usando dois ou mais produtos da Cloudflare, como Cloudflare Workers, Cloudflare Pages, Workers KV e Durable Objects. E como foi pelo GeekNews que conheci esses produtos e acabei participando, quis compartilhar ainda mais por aqui!
O Cloudflare Workers permite implantar código serverless na borda global e oferece suporte a coordenação por meio de WebSockets e Durable Objects. Inclusive, já houve uma demo mostrando Doom multiplayer online rodando com isso. (https://blog.cloudflare.com/doom-multiplayer-workers/) Inspirado por isso, quis tentar criar do zero um jogo multiplayer para duas pessoas ao longo de cerca de um mês de desenvolvimento.
O design e as regras do jogo foram baseados em Yacht, um dos minijogos da coletânea 51 Worldwide Games do Nintendo Switch. Para que o estado do jogo não possa ser adulterado no cliente, todas as mutações do estado são executadas no Workers, e o cliente simula esse estado usando a biblioteca JavaScript 3D three.js. Como o tempo de desenvolvimento foi curto, houve várias concessões em áudio, efeitos e design, mas como consegui completar um jogo funcional, estou compartilhando aqui haha
3 comentários
Uau!
Uau!! É Yatzy. Eu também gosto desse jogo porque dá para jogar só com dados. Parabéns pela conclusão.
Testei conectando com dois navegadores e está rodando muito bem, de forma bem limpa.
Acho que um jogo multiplayer rodando na edge tem significado de sobra.
Obrigado! Graças ao GeekNews, pude ficar sabendo de produtos como esses haha