1 pontos por GN⁺ 3 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • Homegames é uma plataforma gratuita e open source onde é possível jogar, criar e compartilhar jogos no navegador, e não é preciso ter conta para jogar
  • Desenvolvedores podem testar imediatamente as mudanças nos jogos com o editor de código no navegador e a prévia ao vivo
  • O Studio oferece não só upload de assets, mas também desenho e gravação, reunindo o fluxo de criação dentro do navegador
  • Os jogos criados podem ser publicados para o mundo inteiro ou mantidos como privados, permitindo escolher o nível de visibilidade
  • O código da plataforma, os jogos e o site são todos GPLv3, com foco em auto-hospedagem e preservação, incluindo a API

Plataforma de jogos criada dentro do navegador

  • Homegames é uma plataforma de jogos gratuita e open source onde é possível jogar, criar e compartilhar jogos no navegador
  • Não é preciso ter conta para jogar
  • A criação de jogos gira em torno do Developer Studio
    • É possível criar jogos com um editor de código simples dentro do navegador
    • Dá para verificar as mudanças com a prévia do jogo em tempo real
    • Também é possível testar diretamente em sessões multiplayer ao vivo
    • Os assets dos jogos podem ser gerenciados no Studio
    • Há suporte para upload de arquivos e também para desenhar e gravar diretamente no Studio
  • Os jogos finalizados podem ser publicados e compartilhados ou mantidos para uso privado

Lançamento em GPLv3 e auto-hospedagem

  • O código da plataforma, os jogos e o site do Homegames são todos disponibilizados sob GPLv3
  • É possível ler o código e fazer fork
  • Foi projetado para permitir auto-hospedagem, incluindo a API
  • A preservação foi considerada para que os jogos possam continuar existindo mesmo que o site desapareça
  • O código do projeto está disponível no GitHub
  • O Homegames vem sendo desenvolvido desde 2018, em sua maior parte como um projeto paralelo de uma única pessoa

1 comentários

 
GN⁺ 3 시간 전
Comentários do Hacker News
  • Kaboom Valley me fez lembrar de Gorilla Basic (GORILLA.BAS), então trouxe de volta várias memórias da infância e bateu uma boa nostalgia
    Mas parece que esse jogo não está funcionando. Nenhum botão responde, e só o computador consegue lançar projéteis na minha cabeça :(

    • Lembra Scorched Earth
    • Vou verificar, corrigir e publicar de novo
  • Fui procurar a documentação para aprender a fazer jogos eu mesmo, mas não vi o link no site
    Se existir documentação, seria bom colocá-la com link logo na primeira tela. O estúdio pede nome de usuário e outras coisas, então não tentei fazer login; queria primeiro ler a documentação para ver se valia a pena investir tempo nisso

    • Boa observação. Vou adicionar um link para a documentação que possa ser visto também fora do estúdio
      No momento, o estúdio tem exemplos de tipos de nós de jogo, como formas, texto e assets, além de um guia de jogos centrado em LLM que você pode passar para o Claude e afins para fazê-los criar jogos. Ainda assim, pretendo adicionar mais documentação fora do estúdio
  • Não consegui jogar nenhum jogo e apareceu erro de too many requests vezes demais
    Não entendo por que é necessário ter uma "sessão". Isso não roda do lado do cliente?

    • Esqueci de mencionar no texto, mas o jogo em si roda no servidor
      Graças a isso, todos os jogos ganham multiplayer por padrão sem custo extra, e o cliente só lê o estado do servidor e reenviar as entradas. A ideia é permitir que você se conecte ao servidor do jogo da forma que quiser, seja por navegador ou por um cliente personalizado
  • Tudo precisa de uma "sessão"? Também é possível ter um jogo totalmente estático ou uma exportação?

    • Esses jogos rodam todos no lado do servidor, e o cliente leve só faz renderização e envio de entrada
      Então, para a comunicação de ida e volta funcionar, é necessária uma sessão de jogo. Em teoria, tudo poderia rodar no lado do cliente, mas aí desapareceria a mágica de todos os jogos ganharem multiplayer de graça
  • Uau! Você pode contar um pouco como foram esses últimos 8 anos?

    • No começo, comecei fazendo um simples teste de renderização sobre WebSocket, e depois fui adicionando suporte a imagens, fontes e áudio
      A ideia inicial era criar jogos no estilo Jackbox que as pessoas hospedassem no próprio computador e curtissem na mesma sala pelo Wi‑Fi usando o celular. Depois fui acrescentando mais coisas e, durante a pandemia, quase não produzi nada de útil, só experimentos que nunca publiquei e mais de 100 episódios de podcast
      Alguns anos atrás nasceu meu primeiro filho, então passei cerca de um ano refinando a parte de self-hosting antes de pensar em encerrar o projeto. Aí, uns 6 meses atrás, percebi que a internet real agora já é rápida o suficiente para rodar esse tipo de jogo fora da LAN e que muita gente, inclusive eu, sente falta de jogos baseados em navegador. Somado a isso, o Claude passou a me permitir criar com muito mais eficiência mesmo com pouco tempo livre, e isso levou ao estado atual
  • Gostei do conceito, então tentei iniciar ou entrar em uma sessão para jogar alguns jogos, mas nada acontecia ou a conexão caía na hora
    Eu também estou fazendo jogos web (veja meu histórico de posts), então quem quiser trocar uma ideia pode entrar em contato pelo e-mail do meu perfil

    • Desculpe. Acho que o gerenciamento de sessões não aguentou o pico de tráfego vindo do HN
      Vai melhorar daqui para frente
  • Alguém lembra do Shoot 'Em Up Construction Kit do Amiga?

    • Teve versão para Commodore 64 também
    • E também Amos e Blitz BASIC
  • Jogos web já foram muito além desse estilo
    Agora dá para fazer 3D complexo com three.js e até usar um motor de física de corpos rígidos em worker Wasm como o Rapier. Também dá para rodar a pipeline completa de multiplayer com autoridade do servidor, previsão do cliente e correção a 60 fps. Hoje em dia é realmente impressionante quanta coisa cabe em um único HTML

    • Toda vez que tento rodar um jogo web 3D complexo desses, os 8 núcleos do meu computador vão todos para 100% e a máquina trava até eu matar o navegador
      Também é realmente impressionante o quanto esses jogos web 3D complexos podem ser ineficientes
    • Mesmo que agora possamos fazer 3D, Breakout continua sendo um ótimo jogo
  • Boa ideia. Encontrei alguns jogos interessantes aqui
    É legal ver que você não parou de trabalhar nesse projeto por tanto tempo. Isso me dá motivação para continuar com meus projetos, que nunca consigo achar tempo de terminar

    • Pretendo fazer muito mais no futuro. A maior parte disso foi feita antes de surgirem as ferramentas de IA
      Mas agora me surpreende como o Claude consegue criar coisas bastante impressionantes de uma vez só
  • Tudo bem! Foi divertido fazer uma grande explosão em cadeia