Unity Crypto Arena Game Prototype

Job ID: 39901336

Budget: $30 – $250 USD

I’m putting together a small, experimental crypto project and need one enthusiastic solo Unity developer to help me bring a Free-For-All arena game to life. We’ll work from readily available templates to keep the scope lean and achievable within the current budget.
**PvP Arena – Full TODO (v1 + v2)**
Similar to this: https://www.youtube.com/watch?v=PG3dW3etXaI
---

### **GAME CORE (v1 – FFA Arena MVP)**

**Goal:** Always-open free-for-all deathmatch arena (browser-ready, no coding beyond config).

1. **Game Mode & Rules**

* Mode: **FFA Deathmatch**, always active (no lobby rotation).
* Player respawn after **7 s**; reuse same arena scene.
* Infinite ammo, no reload, one weapon (machine gun).
* No pickups, no dash, no knockback, no progression.
* Score = total kills; instant scoreboard updates.

2. **Map & Environment**

* Single arena scene.
* Spawn points evenly distributed; randomised on respawn.
* FPS camera with simple movement + jump.
* Disable AI/bots.

3. **Networking & Session**

* Real-time multiplayer (authoritative-light).
* Host-client or relay model.
* “Quick Join / Always Open Arena” behaviour (auto-join ongoing match).
* Respawn system triggers on server; health/kill logic authoritative.

4. **UI**

* Main menu: name entry → Join Arena.
* In-game HUD: crosshair, HP, killfeed, scoreboard.
* Respawn countdown (7 s).
* Simple results overlay (top 3 players).

5. **Build**

* WebGL.
* Optimise textures, disable heavy lighting.

---

### **BLOCKCHAIN EXTENSION (v2 – Wallet & Escrow Layer)**

**Goal:** Integrate Solana wallet; off-chain accounting for “pay-to-respawn” using prepaid escrow.

1. **Wallet Connect**

* Add Solana Wallet Adapter (Phantom/Solflare) on WebGL host page.
* Unity ↔ JS bridge (`.jslib`) for:
`connectWallet()`, `getPublicKey()`, `signTransaction()`, `sendTransaction()`.

2. **Escrow & Deposit**

* On session start → player deposits **0.1 SOL** into escrow (controlled by backend).
* Store wallet ID + balance off-chain (DB/session).
* Prevent spawn until deposit confirmed.

3. **Off-Chain Economy**

* **Death:** deduct 0.01 SOL from player’s off-chain balance.
* **Kill:** transfer victim’s current balance to killer’s off-chain balance.
* Update scoreboard to reflect on-chain-value kills.

4. **Settlement**

* On match end / player exit → backend calculates final balances.
* Execute **one on-chain transfer** per player (escrow → winners).
* Handle low-balance (block respawn / prompt top-up).

5. **Backend Services**

* REST API endpoints:
`/deposit`, `/deduct`, `/transfer`, `/settle`, `/verifyTx`.
* Solana web3.js or RPC to verify signatures and execute payouts.
* Secure server-side escrow wallet keys.

6. **Client Hooks**

* On join → call `/deposit`; wait confirmation.
* On death → call `/deduct`; trigger respawn countdown after success.
* On kill → call `/transfer`.
* On exit → call `/settle`.

7. **UI/UX**

* Wallet connect modal (status indicator).
* Balance + Top-up button.
* Warning when balance < 0.01 SOL (disable respawn).
* Match summary showing SOL won/lost.

8. **Security & Logs**

* Server-side validation of all wallet and game events.
* Signed requests + nonce to prevent replay.
* Log every kill/death/transfer for audit.

---

**Summary:**

* **v1:** Ship functional WebGL FFA shooter (always-open arena, respawn 7 s, infinite ammo).
* **v2:** Add Solana wallet connect, prepaid escrow (0.1 SOL), off-chain accounting (−0.01 per death / transfer on kill), and periodic on-chain settlement.

*(Framework-agnostic; applies to MFPS, Alteruna, or any similar Unity multiplayer template.)*