Socky is a real-time, multiplayer snake game playable directly in your terminal. Challenge friends in private rooms, control your snake with simple keypresses, and experience fast-paced, dynamic gameplay.
- Real-time multiplayer gameplay
- Private game rooms
- Unicode-based terminal graphics
- Wall and snake collision handling
- Live, shared scoreboard
- Keyboard-driven controls
- Go (Go 1.22+)
-
Clone the repository:
git clone https://github.com/electr1fy0/socky.git cd socky -
Install dependencies:
go mod tidy
-
Start the Server:
go run cmd/server/main.go
The server will start on
http://localhost:8080. -
Create a Game Room (from a client terminal):
go run cmd/client/main.go create
This command will create a new room and print its
ROOM_ID. Make a note of this ID. -
Join a Game Room (from a client terminal):
go run cmd/client/main.go <ROOM_ID>
Replace
<ROOM_ID>with the ID obtained in the previous step. Multiple players can join the same room.
- WASD or HJKL to move
- Q to quit the game
github.com/coder/websocketgithub.com/google/uuidgolang.org/x/term
Contributions are welcome! Please feel free to submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.