Pairents is a lightweight, networked, 1v1 cooperative game with elements of a social application, inspired by Tamagotchi-style virtual pets. The game encourages collaboration between two players without direct communication, focusing on taking care of a virtual pet. Players are matched randomly, and through real-time interactions, they guide the creature through different stages of growth.
The goal of the project is to create a simple yet engaging game where two players take care of a virtual pet by collaborating. It incorporates elements of logic, cooperation, and trust, with the ultimate objective of achieving synchronized teamwork between the players.
- Real-time collaboration between two players
- Matchmaking system for pairing compatible players
- Retro pixel art style with minimalist GUI elements
- Mini-games that require cooperation, rewarding players with benefits in the main game
- Synchronization of pet state (e.g., hunger, happiness, sleep, etc.) between clients
- Communication using TCP sockets for real-time data exchange
- Client-server architecture for managing sessions and interactions
- Cooperative care of a virtual pet
- Collaborative gameplay without direct communication
- Real-time synchronization of actions and pet status
- Server-side logic for matchmaking and room management
- Minimalistic graphical user interface (GUI) using SDL2
- Multiplayer support with a server-client model
- C compiler (e.g., GCC)
- SDL2 library (for graphical user interface)
- POSIX sockets for TCP communication
- Make tool (to build the project)
- Git for version control
- Clone the repository:
git clone https://github.com/DevStranger/Pairents.git cd Pairents/game
- Install necessary dependencies (e.g., SDL2):
For Ubuntu:
sudo apt install git gcc make sudo apt-get install libsdl2-dev libsdl2-ttf-dev
- Build the project using make:
make
- Open the first terminal window or tab.
- Run the server with the following command:
./server
- Open the second terminal window or tab.
- Run the client with the following command:
The client will attempt to connect to the server and join a pair.
./client <server_IP_address> <port>
Players will now collaborate to take care of the virtual pet!
A demo video showcasing the game is available on my Google Drive: Watch the demo
Comments in the code and server logs are written in Polish because this was a project for a course at a Polish uni, I am Polish — and also simply because I can, lol.
![]() |
Pairents | Maja Chlipała | VI.2025 |
---|