Web3 Game Completion - Multiplayer & Token Integration

Job ID: 39285357

Budget: $250 – $750 USD

Project: Web3 Browser Game with Real-Time Multiplayer and Token Gating

Prototype: available on request
Part of the backend is already implemented, including wallet auth, token verification, socket connection, and base game loop integration. Below is a list of completed commits:

(Node.js, Express, PostgreSQL).


✅ Already Implemented
Commits on Apr 4, 2025:

complete getting one player position

game engine loading

socket connection error fix

improve game engine loading

Commits on Apr 3, 2025:

increase code quality by refactoring

Commits on Mar 31, 2025:

CORS error check

server connection port scan remove

combine with artwork.js

Commits on Mar 28, 2025:

feat: frontend firebase login

Commits on Mar 27, 2025:

feat: add backend logic for Auth, wallet connection

feat: add frontend pages and Auth

Commits on Mar 26, 2025:

feat: add token verification for Auth

first commit

❗ What Needs to Be Done
A browser-based Web3 multiplayer game is in development. The core WebGL graphics engine is mostly ready, and now we need to complete the server-side logic, including player handling, prize spawning, token balance validation, and real-time communication.

? Game Mechanics
Runs in browser and Warpcast Frame (v2)

Only token X holders (ERC20, BASE chain) can play

Login via Metamask or Warpcast

Players move around an infinite map and see each other in real time

Player parameters (speed, size, vision) depend on token balance

Prizes appear randomly on the map — first player to reach it gets a claim link

? Backend Tasks
Check token balance (on Ethereum BASE)

Fetch user avatar from Warpcast → resize → upload to S3

Accept player coordinates, validate movement speed (anti-cheat)

Detect and filter duplicate sessions

Return visible players and their data (via WebSocket)

Emit new_prize when a prize spawns

Emit got_prize when a prize is successfully claimed

Admin API to spawn prizes

Store players and prizes in a database

Scalable architecture to support 10,000 users online

Data Structures:

json
Копировать
Редактировать
// Player
{
"x": int,
"y": int,
"id": string,
"img": "url",
"name": "warpcast name",
"balance": int,
"size": float,
"viewport_size": float,
"speed": float,
"r": 0-255,
"g": 0-255,
"b": 0-255
}
json
Копировать
Редактировать
// Prize
{
"x": int,
"y": int,
"id": string,
"custom_data": {...}
}
? Frontend (Partially Ready)
WebGL graphics already implemented in artwork.js

Socket connection initialized in onCompile()

All client-server sync logic happens inside updateCanvas() at 60 FPS

Player coordinates: this.par.Posx, this.par.Posy

? Tech Stack
Current prototype uses Python (server.py)

Open to switching to Node.js, FastAPI, or other performant frameworks

WebSocket + Ethereum Base + Warpcast Frames v2 integration is required

DB: PostgreSQL, Redis, or equivalent

File storage: S3 or similar

? Expected Deliverables
Full backend logic with API + WebSocket

Token validation and real-time coordination

Data exchange with frontend (players, prizes)

Admin endpoint for prize spawn

Deployment instructions

? Timeline & Budget
Start: ASAP

Budget: Open to fixed price or hourly — please include your estimate

Priority: clean, scalable, and stable architecture

References:

Warpcast Frames V2 Documentation

Frames Tutorial Video

https://docs.google.com/document/d/1Zr_bnZ54C1SwOp6ufkDCtNR_ktSRz5TLUDGIUN1hL9w/edit?tab=t.0

Quick tutor:
https://www.youtube.com/watch?v=9Dc64u8JTu0
Related categories: JavaScript Node.js Express JS PostgreSQL