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
2 comentários
Uau!
Obrigado! Graças ao GeekNews, pude ficar sabendo de produtos como esses haha