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.
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.
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.
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.
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.
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..
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 :)
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.
Figata spaziale!!!! Sono qui a mascella spalancata
I have a friend who played FTL and I kept thinking that was just a fancy terminal game.
Love FTL, would be sick to port it to terminal graphics
In case the trailer link doesn't work, here's another: https://rebels.frittura.org/demo_v1.0.18.mp4
None of these work for me. Put it on YouTube or something.
My server got hug'd to dead, probably the ssh server won't work now either :(
Hopefully this one works: https://streamable.com/huxiwr
This one works! Hey-hey-hey.
Video URL on the GH page is 404.
https://github.com/user-attachments/assets/aaa02f04-06db-4da...
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.
This link just takes forever to load for me
403 :(
This link also did not work for me.
Weird, can you see it on the github page tho?
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.
It's 404, not busted.
Those planet/satellite animations are absolutely gorgeous!
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.
So much fun! Works fine on windows terminal too! mouse, keyb, colours -- all good.
Ahh nice to know! Never managed to test it
This is really cool. Like a mix between TradeWars 2002 and sportsball management.
Well played sir.
Please tell a story about the music ya'll chose for this, it's incredible.
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
- Space pirates?? - You know, pirates! but in space!!
Interesting idea to have a completely p2p game! What cross-user interaction do you have in your game?
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.
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
blockchain is too slow and completely inappropriate.
this thread makes me want to build a platform
I tend to lean toward the raft protocol vs blockchain due to storage
One question out of curiosity: Which library did u use for the graphics?
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
Just curious, how are the results of the match decided? How much player agency is there?
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.