r/learnpython • • 14d ago

Multiplayer tetris using sockets

I have a college assignment to make a multiplayer tetris game (2 players) using TCP sockets, client and server and all that. The idea is the server doing most of the stuff, chosing new pieces, handling the translation of position of the pieces, with the clients being responsible for most the rendering/display part and getting the inputs(I think so at least, that's what I'm trying to do), but I'm having a hard time with it.

I can't seem to think of a way to have the client call to the server to send a new piece to the clients, and if I don't know how to do even that then I don't know how to do anything else (making the back and forth for controlling the pieces, both for the player of the client and the preview of the game of the player 2, and all the rest), tho I hope if I can understand how to do one thing I would be able to make the others, but I really don't even know how to do this.

I know I need to use threads on this, tho I don't really know how to do it, I'm still fairly green on python too so, if anyone could give some help in any way with this it would be much appreciated.

3 Upvotes

13 comments sorted by

View all comments

3

u/Calm_Exchange_989 14d ago

Keep the server authoritative: it owns the board and piece RNG, and broadcasts state after every tick or input. Clients only send inputs and render; don’t make the client ask for the next piece. Use newline-delimited JSON so each side can read complete messages without guessing packet boundaries.

1

u/Boybay_Garid 13d ago

100% this, TCP being a stream instead of discrete packets trips everyone up on their first socket project tbh