3 pontos por GN⁺ 2024-02-29 | 1 comentários | Compartilhar no WhatsApp

Introdução ao Rapier

  • Rapier é um conjunto de motores de física 2D e 3D escrito na linguagem de programação Rust.
  • É voltado para aplicações como videogames, animação e robótica, que exigem física em tempo real.
  • É rápido, estável e oferece, opcionalmente, comportamento determinístico entre plataformas.
  • Fornece recursos como colisão e forças de corpos rígidos, restrições de juntas, eventos de contato e sensores, funcionalidade de snapshot, comportamento determinístico opcional entre plataformas e bindings para JavaScript.
  • Rapier é oferecido gratuitamente sob a licença Apache 2.0 e é desenvolvido pela empresa de código aberto Dimforge.
  • É possível apoiar o projeto por meio de patrocínio via GitHub Sponsors.

Opinião do GN⁺

  • O Rapier pode ser uma solução adequada para diversas áreas que exigem simulação física em tempo real, aproveitando a segurança e o desempenho do Rust. Seu uso é especialmente promissor em desenvolvimento de jogos e simulação robótica.
  • Como é oferecido como código aberto, há potencial para melhoria contínua com o apoio da comunidade, além de facilitar que os próprios usuários adicionem recursos ou façam otimizações.
  • Um motor de física baseado em Rust oferece vantagens em segurança de memória e processamento concorrente, mas a própria linguagem Rust tem uma curva de aprendizado relativamente alta, o que deve ser considerado por desenvolvedores ou equipes que pensam em adotá-lo.
  • Outros motores de física com funcionalidades semelhantes ao Rapier incluem Bullet, PhysX e Havok; é importante comparar as características e o desempenho de cada um para escolher o motor adequado às necessidades do projeto.
  • As vantagens de escolher um motor de física baseado em Rust são desempenho e estabilidade, mas, em comparação com motores de física baseados em C++ já amplamente utilizados, o suporte da comunidade e a quantidade de materiais disponíveis podem ser relativamente menores.

1 comentários

 
GN⁺ 2024-02-29
Comentários no Hacker News
  • Há um usuário que desenvolveu um jogo multiplayer online usando o motor de física Rapier. Ainda não há modo single-player, mas ele avalia que a API implementada em Rust é muito sólida.

    • O jogo funciona com jogadores se revezando para lançar vermes contra o time adversário e conquistar colinas.
    • O jogo e o código-fonte da lógica de física/jogo podem ser vistos online.
    • Ele pretende publicar um post sobre a experiência de desenvolvimento.
  • Há um usuário que estudou Álgebra Geométrica (Geometric Algebra) a fundo por vários meses e acredita que ela pode oferecer uma forma intuitiva e concisa de trabalhar em várias geometrias.

    • Ele se pergunta se seria uma boa ideia usar Álgebra Geométrica como base de um motor de física.
    • Existem algumas bibliotecas Rust relacionadas, mas ainda não receberam muita atenção.
  • Há um usuário que escreveu um guia sobre plugins do Bevy e também escreveu sobre o Bevy XPBD.

    • O Bevy XPBD é uma alternativa interessante no ecossistema do Bevy.
  • Há um usuário que espera que a Dimforge, com nalgebra e Rust, consiga substituir Eigen e C++ na área de robótica.

  • Um usuário com experiência em construir um motor de física de corpos rígidos décadas atrás relembra que usar um DAG era a melhor solução para evitar que objetos afundassem no chão.

    • Ele se pergunta se esse problema já foi resolvido hoje em dia.
  • Há um usuário que diz que isso confirma o estereótipo de que muitos motores de jogo foram feitos com Rust, mas poucos jogos reais foram desenvolvidos.

  • Há um usuário que criou uma demo web com Rapier e gosta do fato de que ela pode rodar tanto no servidor quanto no cliente, além de permitir implementar predição e reconciliação no lado do cliente.

    • Ele menciona como vantagens a boa documentação, a atualização constante e o tamanho pequeno do bundle.
  • Há um usuário que diz que a interoperabilidade em JavaScript do Rapier é muito boa.

  • Há um usuário que criou um jogo web simples com Rapier, com o servidor calculando a física e o estado de vitória/derrota para evitar trapaças.

    • O jogo é uma homenagem ao antigo arcade eletrônico da Taito chamado "Ice Cold Beer".