Pls Give
Solana-based 3D multiplayer browser donation game
Problem
Many donation-based games rely on external payment processors or lack engaging social mechanics that incentivize giving. PLS GIVE addresses this by creating a crypto-native, 3D social environment where donations are gamified and transparent. The project explores how social status, visual feedback, and “skin-in-the-game” mechanics can drive generosity in a multiplayer setting.
Role
I served as a Full-Stack Developer and Game Designer, responsible for the end-to-end development of the project. My key contributions included:
- Game Engine Integration: Implementing the 3D world and player interactions using PlayCanvas.
- Multiplayer Networking: Architecting the real-time server using Colyseus to handle player movement, booth claiming, and chat.
- Blockchain Integration: Integrating Solana Wallet Adapter for authentication and Helius RPCs for reliable on-chain transaction posting.
- Backend Development: Building the API and database schema with Supabase and Cloudflare Workers to manage user data and game state.
Tech Stack
- Game Engine: PlayCanvas (3D WebGL)
- Networking: Colyseus (Real-time multiplayer)
- Blockchain: Solana, Helius (RPCs), Gill (Web3.js replacement), Solana Wallet Adapter
- Backend: Cloudflare Workers, Supabase (PostgreSQL)
- Auth: Privy (planned), SIWS (Sign-In With Solana)
Outcome
The project has been highly successful in the Solana ecosystem hackathon circuit:
- mtnDAO Residency: Selected for residency to iterate on UX and donation flows.
- OnionDAO Winner: Recognized for innovative integration of Solana Pay and Gill.
- Colosseum Hackathons: Successfully shipped prototypes and acquired initial users during the hackathon period.
Technical Deep-Dive
Architecture & Incentives
The core technical challenge was bridging the high-frequency updates of a real-time game with the finality of a blockchain.
- Hybrid State: Player positions and chat are handled via ephemeral state in Colyseus, while booth ownership and donation history are persisted in Supabase and verified on-chain.
- Incentive Design: We brainstormed several mechanisms to drive donations, such as:
- Visual Feedback: VFX intensity scales with donation amount.
- Social Signaling: Global announcements for large donations and “verified” status for KOLs.
- Gamification: Donation streaks and multipliers to encourage continuous activity.
// Example: Handling a donation event (Simplified)
// The client listens for on-chain confirmation via Helius webhooks
// and triggers in-game effects.
// Server-side (Colyseus)
this.onMessage("donation_confirmed", (client, data) => {
const { amount, donor, recipient } = data;
// Broadcast visual effect to all nearby players
this.broadcast("play_effect", {
type: "donation_confetti",
position: recipient.boothPosition,
intensity: calculateIntensity(amount)
});
// Update leaderboard
this.state.leaderboard.update(donor, amount);
});