Patintero
A multiplayer LAN game with real-time socket-based communication and player synchronization — built for a networking course at UP Los Baños, based on the traditional Filipino street game.
The Problem
I wanted to digitize Patintero — a traditional Filipino outdoor game where one team tries to cross lines guarded by the opposing team — as a multiplayer LAN game that preserved the real-time, competitive spirit of the original.
The Solution
I built a networked multiplayer game in Java with JavaFX for rendering.
- Socket-based networking — TCP sockets for reliable game state synchronization between players on the same LAN.
- Real-time player movement — Smooth interpolation between network updates to prevent choppy movement on remote clients.
- Game mechanics — Full rule implementation including line guarding, crossing detection, scoring, and round management.
- Interactive chat — In-game text chat for player communication during matches.
- Session management — Lobby system for creating/joining games with automatic player discovery on the local network.
What Went Wrong
The initial networking used per-frame state broadcasts, which flooded the LAN with packets and caused lag spikes on slower network switches.
The fix: I switched to delta compression — only transmitting position changes that exceed a threshold — and reduced the network tick rate to 20Hz while using client-side interpolation to maintain smooth 60fps rendering.
Results
- Designed 90% of the game mechanics including rule logic and networked gameplay loop
- Real-time multiplayer over LAN with smooth interpolation
- Faithful digital adaptation of a traditional Filipino game
Interested in working together?
Let's Talk