[HN Gopher] Show HN: Rebels in the sky - Terminal game about spa...
       ___________________________________________________________________
        
       Show HN: Rebels in the sky - Terminal game about space pirates
        
       Rebels in the sky is a P2P multiplayer game about crews of space
       pirates roaming the galaxy to play basketball against each other.
       It's basically a basketball managerial game with some pirate-y
       stuff. It's a P2P game with no central server, built on top of
       libp2p. Players interaction are limited to playing games against
       each other and trading pirates.  The game runs as a terminal
       application, meaning that you just need to run it from your
       terminal.  You can try the game over ssh without installing: `ssh
       frittura.org -p 3788`  My server is not very powerful and there is
       a limit to the number of concurrent players, so if you like it I
       would appreciate it if you could install it
       (https://github.com/ricott1/rebels-in-the-sky?tab=readme-ov-f...)
       and run it locally :)  Here is a trailer (not of the last version,
       so some little things are different): https://github.com/user-
       attachments/assets/aaa02f04-06db-4da...
        
       Author : discoinverno
       Score  : 145 points
       Date   : 2024-11-22 08:21 UTC (14 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | balbo321 wrote:
       | Just curious, how are the results of the match decided? How much
       | player agency is there?
        
         | discoinverno wrote:
         | At the beginning of the match, a match ID is created.
         | Randomness is then seeded from this ID and every random event
         | is determined consistently. If you want, a game could be
         | completely simulated just based on the initial ID.
        
       | dortmunddance wrote:
       | Interesting idea to have a completely p2p game! What cross-user
       | interaction do you have in your game?
        
         | discoinverno wrote:
         | Thanks:)
         | 
         | Basically users can interact by playing basketball games
         | against each other or by trading players. This sort of
         | interactions are handled with something similar to a TCP
         | handshake, since we must ensure that we end up with a
         | consistent state at the end (e.g. players are traded
         | consistently).
         | 
         | Because of this, it is not easy to have 'real-time'
         | interactions: for example, when challenging each other, players
         | only agree on the initial conditions of the game, which then is
         | simulated independently (and deterministically) on both
         | clients.
        
           | dortmunddance wrote:
           | Cool!
           | 
           | Makes me think of blockchain: it is also a tool to ensure
           | "consistent" state changes. Have you thought of moving your
           | game on some blockchain?
           | 
           | For example, XAI is a blockchain specifically designed for
           | games, you should check it out
        
             | pizzafeelsright wrote:
             | this thread makes me want to build a platform
             | 
             | I tend to lean toward the raft protocol vs blockchain due
             | to storage
        
             | x0n wrote:
             | blockchain is too slow and completely inappropriate.
        
       | discoinverno wrote:
       | In case the trailer link doesn't work, here's another:
       | https://rebels.frittura.org/demo_v1.0.18.mp4
        
         | davidjfelix wrote:
         | This link also did not work for me.
        
           | discoinverno wrote:
           | Weird, can you see it on the github page tho?
        
             | tofof wrote:
             | I see what seems like it's supposed to be the trailer
             | (labeled demo_v1.0.18.mp4), but MIME busted:
             | 
             | https://i.imgur.com/U7N2WUs.png
             | 
             | The link in OP in this thread works.
        
               | huhtenberg wrote:
               | It's 404, not busted.
        
         | riffraff wrote:
         | this works for me while the readme one didn't.
         | 
         | Also, the "thug boy" song threw me back to Fist of the North
         | Start so hard I got wiplash, excellent choice.
        
         | Kiro wrote:
         | None of these work for me. Put it on YouTube or something.
        
           | discoinverno wrote:
           | My server got hug'd to dead, probably the ssh server won't
           | work now either :(
           | 
           | Hopefully this one works: https://streamable.com/huxiwr
        
             | huhtenberg wrote:
             | This one works! Hey-hey-hey.
        
         | kouru225 wrote:
         | This link just takes forever to load for me
        
         | huhtenberg wrote:
         | Video URL on the GH page is 404.
         | 
         | https://github.com/user-attachments/assets/aaa02f04-06db-4da...
        
           | omoikane wrote:
           | There is a demo video here:
           | 
           | https://github.com/ricott1/rebels-in-the-sky/tree/main/demo
        
         | postepowanieadm wrote:
         | 403 :(
        
       | bartzokas wrote:
       | One question out of curiosity: Which library did u use for the
       | graphics?
        
         | discoinverno wrote:
         | Proudly built with Ratatui: https://github.com/ratatui/ratatui
         | :)
         | 
         | The graphics themselves are basically handmade pixel-by-pixel,
         | you can take a look in the assets folders to get an idea.
         | 
         | For example, pirate images are generated by combining the
         | different parts and then applying a color mapping for the
         | different skin tones.
         | 
         | Planet gifs are adapted starting from https://deep-
         | fold.itch.io/pixel-planet-generator
        
       | riffraff wrote:
       | As an Italian, some of the player names are hilarious.
       | 
       | The game seems really cool and honestly really impressive, but
       | it's hard to understand what you're supposed to do at any moment.
       | 
       | You have a typo here https://github.com/ricott1/rebels-in-the-
       | sky/blob/17f3e2a21e...
       | 
       | Also, the Italian-food sounding names are hilarious, well played
       | :)
        
         | discoinverno wrote:
         | Thanks! I agree, I really need to write a wiki or something.
         | The problem is that this game started as a basketball
         | managerial game and then got completely derailed as I kept
         | implementing whatever I thought was cool at the moment.
         | 
         | I think there are mainly 3 themes to play for:
         | 
         | - Basketball: assemble the best possible team. Basically try to
         | acquire as much money as possible to hire the best free agents;
         | 
         | - Money: just try to get as rich as possible, using the market
         | and in the future your asteroids;
         | 
         | - Space adventure: get the best possible spaceship (more
         | options will be available in future releases) and have fun in
         | the spaceshooter game you can access from your team pane
         | (button 'Space adventure').
         | 
         | I tried to combine and summarize these 3 themes by having a
         | reputation score assigned to your team, which can increase
         | based on all 3 conditions. In the Swarm pane there is a Top
         | Ranking window where the best crews are listed.
        
           | UomoNeroNero wrote:
           | Figata spaziale!!!! Sono qui a mascella spalancata
        
       | discoinverno wrote:
       | My server can't handle all the traffic, guess it's an opportunity
       | to show that the game doesn't need a central authority to keep
       | working.
       | 
       | I created another relayer and ssh node on 85.214.130.204, you can
       | either ssh to this machine `ssh 85.214.130.204 -p 3788` (but the
       | relaying won't work as it tries to connect to the old server), or
       | start your local client with the flag `rebels -i 85.214.130.204`
       | to specify the alternative relayer node ip address.
        
       | kataklasm wrote:
       | Those planet/satellite animations are absolutely gorgeous!
        
         | legohead wrote:
         | from the readme: https://deep-fold.itch.io/pixel-planet-
         | generator
        
       | x0n wrote:
       | So much fun! Works fine on windows terminal too! mouse, keyb,
       | colours -- all good.
        
         | discoinverno wrote:
         | Ahh nice to know! Never managed to test it
        
       | nnx wrote:
       | - Space pirates?? - You know, pirates! but in space!!
        
       | bensmoif wrote:
       | Please tell a story about the music ya'll chose for this, it's
       | incredible.
        
         | discoinverno wrote:
         | You mean the song in the trailer? It's the japanese OST for
         | Kenshiro: https://en.wikipedia.org/wiki/Kenshiro
         | 
         | The story is quite simple, I just loved the anime when I was a
         | kid :)
         | 
         | The italian version is also incredible:
         | https://www.youtube.com/watch?v=YPIcdhjPG5I
        
       | 20after4 wrote:
       | This is really cool. Like a mix between TradeWars 2002 and
       | sportsball management.
       | 
       | Well played sir.
        
       | hinkley wrote:
       | I have a friend who played FTL and I kept thinking that was just
       | a fancy terminal game.
        
         | discoinverno wrote:
         | Love FTL, would be sick to port it to terminal graphics
        
       | neomantra wrote:
       | This is very cool. Thank you for sharing your creativity with
       | this game and its source! I love that it is accessed via ssh and
       | is multiplayer.
       | 
       | A screenshot or animated gif in the README might be helpful. Like
       | others I can't see the movie. Check out charm's vhs tool to make
       | these.
        
         | discoinverno wrote:
         | Thanks a lot, really appreciate it. Have you tried this link:
         | https://streamable.com/huxiwr ?
         | 
         | I know VHS, only problem is that that demo is a bit involved to
         | properly script it..
        
         | yoavm wrote:
         | Please not an animated gif. These easily end up weighing more
         | than 10MB, while a similar mp4 can be 500KB. You just need to
         | use an encoding all browsers support.
        
           | _flux wrote:
           | I doubt in this case they'd weigh 10 MB, or have you
           | experienced "terminal movies" growing that large?
           | 
           | In fact, I wonder if in this case the gifs would be smaller,
           | while lossless.
        
             | smaudet wrote:
             | I suppose it depends on how full color the terminal output
             | is, and how well the GIF is encoded.
             | 
             | I think you're probably correct for this case you can get
             | something smaller.
             | 
             | Nevertheless, the movie has sound, which a GIF (AFAIK) can
             | only do if part of a e.g. an html page...and now you have
             | non-standard browsers to deal with vs just using an mp4.
        
       ___________________________________________________________________
       (page generated 2024-11-22 23:00 UTC)