3 pontos por GN⁺ 2024-11-24 | 1 comentários | Compartilhar no WhatsApp
  • Rebels in the Sky é um jogo de terminal ambientado em 2101, quando corporações dominaram o mundo, no qual o jogador monta uma tripulação de piratas espaciais e vagueia pela galáxia em busca de adversários de basquete
  • O jogo está em desenvolvimento ativo, então mudanças incompatíveis são frequentes; se arquivos de save antigos forem invalidados, é preciso começar um novo jogo ou verificar em uma issue se é possível migrar o save
  • Para experimentar imediatamente, você pode acessar o frittura-hub com ssh frittura.org ou selecionar rebels no hub web
  • A execução é feita rodando ./rebels no terminal; o tamanho mínimo recomendado do terminal é 160x48 e alguns terminais podem não representar bem as cores
  • Por padrão, times de bots locais são gerados, e isso pode ser desativado com a flag -f; no futuro, quando houver mais jogadores, o padrão deve mudar para apenas times online

Configuração do jogo e estado atual

  • Rebels in the Sky se passa em 2101
    • as corporações dominaram o mundo
    • a forma de se libertar é entrar para uma tripulação pirata e saquear a galáxia
    • o meio de sobrevivência é o basquete
  • O jogador cria sua própria tripulação e passa a vagar pela galáxia em busca de adversários de basquete que valham a pena
  • O jogo está em estado de heavy development, com mudanças incompatíveis sendo introduzidas com frequência
    • arquivos de save antigos podem ser invalidados, impedindo a continuação da partida
    • nesse caso, é preciso começar um novo jogo ou abrir uma issue para verificar se o save pode ser migrado
  • São fornecidos um Trailer on youtube e uma Wiki

Experimente agora

  • É possível experimentar o jogo acessando o frittura-hub via SSH
    • comando: ssh frittura.org
  • Também é possível acessar o hub pela web e depois selecionar rebels

Instalação e build

  • Para fazer o build manualmente, são necessárias dependências específicas por plataforma
    • Linux: libasound2-dev, cmake
    • MacOs: cmake
    • Windows: cmake
  • É necessário o Rust toolchain; depois de clonar o repositório, faça o build com o seguinte comando
    • cargo build --release
  • Também é possível instalar com cargo
    • cargo install rebels
  • Outra opção é instalar baixando os assets da release mais recente
    • os assets de release podem ser baixados em https://rebels.frittura.org conforme a sua plataforma
    • dê permissão de execução ao binário com chmod +x rebels
  • Pacotes para distribuições também são fornecidos

Ambiente de execução e condições de jogo

  • O jogo roda como um aplicativo de terminal
    • comando de execução: ./rebels
  • O tamanho mínimo recomendado do terminal é 160x48
  • Nem todo terminal oferece bom suporte às cores do jogo, então pode ser necessário testar outro terminal
  • Os seguintes terminais foram testados
  • No momento, para tornar o jogo mais divertido, times de bots locais são criados por padrão
    • você pode desativar esse comportamento passando a flag -f ao executável
    • no futuro, quando houver mais jogadores, o padrão deve mudar para apenas times online

Música e dados

  • A música é transmitida por rádio via internet
  • Para adicionar mais estações de rádio, basta incluí-las em assets/data/stream_data.json

Contribuição e relato de bugs

  • O jogo ainda não tem um roadmap fixo
  • Quem quiser participar com ideias pode entrar no discord
  • É muito provável que você encontre bugs durante a jornada
    • se um bug ocorrer, abra uma issue e descreva o que aconteceu
  • Desenvolvedores podem contribuir abrindo pull requests

Nó relayer e servidor SSH

  • Executar um relayer node ajuda a manter a descentralização do jogo
    • comando: rebels -n
    • outros jogadores podem se conectar a esse relayer na inicialização com rebels -i <RELAYER-NODE-IP4-OR-IP6>
    • se você operar um relayer, pode considerar abrir um PR para adicionar o endereço à lista de relayers conhecidos
  • Para executar o relayer, é preciso fazer o build com a feature relayer ativada
    • cargo build --release --features "relayer"
  • Também é possível executar um servidor SSH
    • comando: rebels -j
    • outros jogadores podem se conectar com ssh <USERNAME>@<SERVER-IP4-OR-IP6> -p 3788
  • Para executar o servidor SSH, é preciso fazer o build com a feature ssh ativada
    • cargo build --release --features "ssh"

Licença

  • Este software é distribuído sob a licença GPLv3

1 comentários

 
GN⁺ 2024-11-24
Comentários no Hacker News
  • Meu servidor não está dando conta de todo o tráfego, mas acho que isso acaba sendo uma oportunidade para mostrar que este jogo não precisa de uma autoridade central para continuar funcionando.
    Criei outro nó de retransmissão e um nó SSH em 85.214.130.204, e dá para conectar com ssh 85.214.130.204 -p 3788. Porém, a retransmissão pode não funcionar, porque tenta se conectar ao servidor antigo.
    Ou você pode executar o cliente local com a flag rebels -i 85.214.130.204 para especificar o endereço IP de um nó de retransmissão alternativo.

  • Se o link do trailer não funcionar, há outro link: https://rebels.frittura.org/demo_v1.0.18.mp4

    • Esses links todos não funcionam. Seria bom colocar em algum lugar como o YouTube.
    • A URL do vídeo na página do GitHub está dando 404.
      https://github.com/user-attachments/assets/aaa02f04-06db-4da...
    • Há uma cópia no YouTube aqui: https://youtu.be/5Lu9MSgmTBc
    • O que está no README não funcionou, mas este link funcionou.
      E a música thug boy me lembrou tanto Fist of the North Star que quase quebrei o pescoço. Excelente escolha.
    • Esse link demora demais para carregar.
  • A animação dos planetas/satélites é muito legal.

  • Tenho um amigo que jogava FTL, e eu sempre achei que fosse só um jogo de terminal maneiro.

    • Gosto muito de FTL. Uma versão portada para gráficos de terminal seria incrível.
  • Muito divertido! Também roda bem no Windows Terminal. Mouse, teclado e cores, tudo sem problema.

    • Bom saber. Eu mesmo não consegui testar.
  • Parece bem original, mas um pouco intimidador para se acostumar. Pretendo experimentar depois.
    Como feedback, há tantos temas misturados que, mesmo vendo o vídeo, fica difícil entender como é o gameplay. Por exemplo, não fica muito claro quando se realiza uma ação e quando se move a tela.

  • A ideia de ser um jogo totalmente P2P é interessante. Que tipo de interação os usuários podem ter entre si?

    • Basicamente, os usuários podem jogar partidas de basquete entre si ou trocar jogadores.
      Como essas interações precisam garantir um estado consistente ao terminar, são tratadas de modo parecido com um handshake TCP. Por exemplo, uma troca de jogadores precisa ser refletida de forma consistente nos dois lados.
      Por isso, interações em tempo real não são fáceis. Mesmo quando um desafia o outro, os jogadores só concordam com as condições iniciais da partida; depois disso, o jogo é simulado de forma independente e determinística nos clientes dos dois lados.
  • O vídeo no README parece não funcionar em todos os navegadores. No meu caso, não funcionou no Firefox.

  • Este jogo foi feito com Godot? Parece usar o asset pixel planet generator do itch.
    https://deep-fold.itch.io/pixel-planet-generator

    • Fiz GIFs de baixa resolução com o pixel planet generator e combinei uns com os outros para criar um GIF de galáxia.