3 puntos por GN⁺ 2024-11-24 | 1 comentarios | Compartir por WhatsApp
  • Rebels in the Sky es un juego de terminal ambientado en 2101, en un mundo dominado por corporaciones, donde el jugador crea una tripulación de piratas espaciales y recorre la galaxia en busca de rivales de básquetbol
  • El juego está en desarrollo activo, por lo que se introducen breaking changes con frecuencia; si una partida guardada antigua queda invalidada, hay que empezar una nueva o abrir un issue para consultar si es posible migrar el archivo guardado
  • Para probarlo de inmediato, puedes conectarte a frittura-hub con ssh frittura.org o elegir rebels en el hub web
  • Se ejecuta desde la terminal con ./rebels; el tamaño mínimo recomendado de terminal es 160x48, y algunas terminales podrían no representar bien los colores
  • De forma predeterminada se crean equipos de bots locales; esto puede desactivarse con el flag -f, y cuando haya más jugadores en el futuro el valor predeterminado pasará a ser solo equipos en línea

Ambientación del juego y estado actual

  • Rebels in the Sky está ambientado en el año 2101
    • Las corporaciones dominan el mundo
    • La forma de ser libre es unirse a una tripulación pirata y saquear la galaxia
    • El medio de supervivencia es el básquetbol
  • El jugador crea su propia tripulación y recorre la galaxia en busca de rivales de básquetbol valiosos
  • El juego está en estado de heavy development y se introducen breaking changes con frecuencia
    • Es posible que las partidas guardadas antiguas queden invalidadas y no puedan continuarse
    • En ese caso, hay que empezar una partida nueva o abrir un issue para consultar si se puede migrar el archivo guardado
  • Están disponibles el Trailer on youtube y la Wiki

Probarlo de inmediato

  • Puedes conectarte a frittura-hub por SSH para probar el juego
    • Comando: ssh frittura.org
  • También puedes entrar al hub desde la web y luego elegir rebels

Instalación y build

  • Para compilarlo directamente, se requieren dependencias según la plataforma
    • Linux: libasound2-dev, cmake
    • MacOs: cmake
    • Windows: cmake
  • Se requiere el Rust toolchain; después de clonar el repositorio, se compila con el siguiente comando
    • cargo build --release
  • Se puede instalar con cargo
    • cargo install rebels
  • También se pueden descargar e instalar los assets de la versión más reciente
    • Los assets de release se descargan para la plataforma correspondiente desde https://rebels.frittura.org
    • Al ejecutable se le dan permisos de ejecución con chmod +x rebels
  • También hay paquetes para distribuciones

Entorno de ejecución y condiciones de juego

  • El juego se ejecuta como aplicación de terminal
    • Comando de ejecución: ./rebels
  • El tamaño mínimo recomendado de terminal es 160x48
  • No todas las terminales soportan bien los colores del juego, por lo que puede que debas probar otra terminal
  • Las terminales probadas son las siguientes
  • Actualmente se crean por defecto equipos de bots locales para hacer el juego más entretenido
    • Puedes desactivar este comportamiento pasando el flag -f al ejecutable
    • Cuando haya más jugadores en el futuro, el valor predeterminado cambiará a solo equipos en línea

Música y datos

  • La música se transmite desde radio por internet
  • Para agregar más estaciones de radio, inclúyelas en assets/data/stream_data.json

Contribución y reporte de bugs

  • El juego todavía no tiene una hoja de ruta fija
  • Quienes quieran participar con ideas pueden unirse al discord
  • Es muy probable que encuentres bugs durante el recorrido
    • Si ocurre un bug, hay que abrir un issue y explicar qué sucedió
  • Si quieres contribuir como desarrollador, puedes abrir un pull request

Nodos relayer y servidor SSH

  • Ejecutar un relayer node ayuda a mantener el juego descentralizado
    • Comando de ejecución: rebels -n
    • Otros jugadores pueden conectarse a ese relayer al iniciar con rebels -i <RELAYER-NODE-IP4-OR-IP6>
    • Si operas un relayer, puedes considerar abrir un PR para agregar su dirección a la lista de relayers conocidos
  • Para ejecutar un relayer, hay que compilar habilitando la funcionalidad relayer
    • cargo build --release --features "relayer"
  • También se puede ejecutar un SSH server
    • Comando de ejecución: rebels -j
    • Otros jugadores pueden conectarse con ssh <USERNAME>@<SERVER-IP4-OR-IP6> -p 3788
  • Para ejecutar el servidor SSH, hay que compilar habilitando la funcionalidad ssh
    • cargo build --release --features "ssh"

Licencia

  • Este software se distribuye bajo la licencia GPLv3

1 comentarios

 
GN⁺ 2024-11-24
Opiniones en Hacker News
  • Mi servidor no alcanza a manejar todo el tráfico, pero creo que más bien es una oportunidad para demostrar que este juego no necesita una autoridad central para seguir funcionando.
    Creé otro nodo de retransmisión y un nodo SSH en 85.214.130.204, y se puede entrar con ssh 85.214.130.204 -p 3788. Eso sí, es posible que la retransmisión no funcione porque intenta conectarse al servidor anterior.
    O también puedes ejecutar el cliente local con la bandera rebels -i 85.214.130.204 para especificar la dirección IP de un nodo de retransmisión alternativo.

  • Si el enlace del tráiler no funciona, hay otro enlace: https://rebels.frittura.org/demo_v1.0.18.mp4

    • Ninguno de esos enlaces funciona. Estaría bueno que lo subieran a algún lugar como YouTube.
    • La URL del video en la página de GitHub da 404.
      https://github.com/user-attachments/assets/aaa02f04-06db-4da...
    • Hay una copia en YouTube aquí: https://youtu.be/5Lu9MSgmTBc
    • El que está en el README no me funcionó, pero este enlace sí.
      Y la canción thug boy me recordó muchísimo a Fist of the North Star, casi me rompe el cuello. Excelente elección.
    • Este enlace tarda demasiado en cargar.
  • La animación de los planetas/lunas está realmente genial.

  • Tenía un amigo que jugaba FTL, y siempre pensé que era simplemente un juego de terminal genial.

    • Me encanta FTL. Sería increíble portarlo con gráficos de terminal.
  • ¡Muy divertido! También corre bien en Windows Terminal. El mouse, el teclado y los colores funcionan sin problemas.

    • Bueno saberlo. No pude probarlo personalmente.
  • Se ve muy original, pero también un poco intimidante para acostumbrarse. Pienso probarlo más adelante.
    Como feedback, hay demasiados temas mezclados, así que aun viendo el video cuesta entender cómo es el gameplay. Por ejemplo, no se distingue bien cuándo se realizan acciones y cuándo se desplaza la pantalla.

  • La idea de que sea un juego P2P completo es interesante. ¿Qué tipo de interacción pueden tener los usuarios entre sí?

    • Básicamente, los usuarios pueden jugar partidos de básquet entre ellos o intercambiar jugadores.
      Como estas interacciones deben garantizar un estado consistente al finalizar, se manejan de forma parecida a un handshake TCP. Por ejemplo, un intercambio de jugadores debe reflejarse de manera consistente en ambos lados.
      Por eso, la interacción en tiempo real no es fácil. Incluso cuando se retan entre sí, los jugadores solo acuerdan las condiciones iniciales del juego; después el partido se simula de forma independiente y determinista en ambos clientes.
  • El video del README no parece funcionar en todos los navegadores. En mi caso, no funciona en Firefox.

  • ¿Este juego está hecho con Godot? Parece que usa el asset pixel planet generator de itch.
    https://deep-fold.itch.io/pixel-planet-generator

    • Hice GIFs de baja resolución con pixel planet generator y luego los combiné para crear un GIF de galaxia.