←back to thread

242 points discoinverno | 1 comments | | HN request time: 0s | source

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...

Show context
dortmunddance ◴[] No.42212438[source]
Interesting idea to have a completely p2p game! What cross-user interaction do you have in your game?
replies(1): >>42213507 #
discoinverno ◴[] No.42213507[source]
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.

replies(1): >>42214125 #
dortmunddance ◴[] No.42214125[source]
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

replies(3): >>42214183 #>>42215048 #>>42219229 #
pizzafeelsright ◴[] No.42214183[source]
this thread makes me want to build a platform

I tend to lean toward the raft protocol vs blockchain due to storage

replies(1): >>42221857 #
1. withinboredom ◴[] No.42221857{3}[source]
raft is too non-deterministic. Something like paxos is probably more appropriate; the write-once property is exactly what you want here, and it is deterministic.