2 pontos por GN⁺ 2023-12-22 | 1 comentários | Compartilhar no WhatsApp

Motor de jogo Moddio 2

  • O Moddio é um motor de jogo com foco em multiplayer.
  • Ele inclui código de rede com autoridade do servidor, interpolação de snapshots e recursos de reconciliação no lado do cliente.
  • Suporta mais de 50 jogadores simultâneos ou mais de 300 objetos em movimento em uma VM de 5 dólares por mês.

Demonstração

  • Inclui na caixa: motor físico Box2D, código de rede com autoridade do servidor, sistema de inventário e itens, atributos integrados (HP, energia etc.) e taxas de regeneração, sistema de diálogo, loja, controle de unidades, projéteis e movimentação de unidades com predição no lado do cliente, IA de unidades e pathfinding A*, controles para mobile e mais.

Como executar o jogo

  • Requer Node 18 ou superior.
  • Depois de configurar o repositório, vá para o diretório /src, renomeie game-sample.json para game.json e volte ao diretório raiz para executar o servidor.
  • Agora você pode jogar em http://localhost:80.

Como criar um novo jogo do zero

  • Os jogos Moddio são criados e editados usando o editor de jogos Moddio disponível em https://www.modd.io.
  • Depois de criar um jogo, você pode exportar um game.json para uso na instalação local.
  • Renomeie o JSON exportado do jogo para game.json e mova-o para o diretório ./src.

Como contribuir

  • O Moddio é totalmente gratuito e open source sob a licença MIT.
  • Para saber como se tornar um colaborador, visite a página de contribuição.

Créditos

  • São usados o motor de jogo Isogenic, Phaser, PlanckJS, uWebsocket, Box2D, assets da Kenney, Hero Icons e outros.

Opinião do GN⁺

  • O motor de jogo Moddio é especializado no desenvolvimento de jogos multiplayer e oferece recursos poderosos para suportar muitos jogadores com baixo custo.
  • Por ser open source e evoluir continuamente com contribuições da comunidade, ele também é bastante acessível para engenheiros de software iniciantes.
  • Como traz incorporadas várias funcionalidades necessárias para o desenvolvimento de jogos, ele oferece um ambiente em que os desenvolvedores podem criar protótipos e testar rapidamente.

1 comentários

 
GN⁺ 2023-12-22
Comentários do Hacker News
  • Preocupação com o fato de a página de cadastro do app Android pedir que o nome de usuário e a senha do Google sejam digitados em algo que parece um formulário web dentro do próprio app

    • O usuário não tem como saber se o app está espionando a senha
    • Pergunta se é difícil implementar o padrão comum de ir até a página de login e depois voltar, ou se há problemas de suporte entre plataformas
  • Conseguir usuários para um game engine não é fácil, especialmente se ele for de código fechado

    • Pergunta sobre como a galeria de jogos no site foi mantida tão bem, se são trabalhos de alguns amigos ou fruto de uma comunidade ativa
  • Expressão de surpresa com o fato de modd.io ser um framework/plataforma popular usado para criar jogos do tipo IO

  • Uma das formas mais garantidas de nunca terminar um jogo é começar escrevendo o engine

    • É possível criar tecnologia própria, mas ela deve ser ajustada ao projeto e não ser uma plataforma geral de jogos
  • Curiosidade sobre a experiência com cerca de 50 jogadores ao participar do servidor Brains

    • Instabilidade no movimento por causa de WebSockets
    • Curiosidade sobre compressão de rede, especialmente dúvida se a compressão com LZ-string é suficiente
    • Os custos de largura de banda na nuvem podem ser altos, então há bastante espaço para melhorar no lado de rede
  • Pergunta sobre a motivação para criar um novo engine

    • Por que certos recursos foram incorporados ao engine, como sistema de armas, loja, projéteis com predição no cliente e movimentação de unidades
    • Dúvida se esses recursos fazem sentido em um game engine em geral ou se se trata de um engine para um gênero específico
  • Vantagens do low-code e do editor interativo, que parecem adequados para projetos de hobby

    • Interesse em geração de mapas e mundos
    • Pergunta se a melhor forma é exportar o jogo como JSON, editar programaticamente e depois importar de volta
    • Medo de ter que entender e modificar JSON, e pedido de sugestões sobre a abordagem
  • Observação de que um backend multiplayer baseado em Node.js pode ficar cada vez mais lento à medida que o número de conexões aumenta

    • Pergunta sobre como isso foi resolvido e sobre alternativas como Go
  • Expressão de agradecimento pelo projeto open source e plano de examinar o código com calma durante o recesso de fim de ano

  • Pode ser útil para criar agentes de IA como NPCs, junto com agradecimento por disponibilizar o trabalho como open source