KB

Case study

Berni Rush — browser 3D arena game prototype

Playable side project focused on real-time interaction, game state, rendering and browser deployment.

Berni Rush browser game preview

Problem

A browser game needs fast interaction, clear state handling and a playable loop rather than static screens.

Goal

Create a playable 3D arena prototype with controls, enemy waves, pickups and saved local progress.

Status

Playable prototype / Side project

Stack

ReactTypeScriptViteThree.js@react-three/fiber@react-three/dreiZustandVercel

Key features

  • 3D arena gameplay in the browser.
  • Keyboard and touch controls.
  • Playable class styles, skins and loadout choices.
  • Enemy waves, elites, boss encounters, projectiles and pickups.
  • Local progress for profile, records, wallet, class and skins.
  • Mobile-aware rendering quality adjustments.

Technical decisions

  • Game state is separated from 3D rendering concerns.
  • Local persistence supports a prototype loop without account infrastructure.
  • The project is positioned honestly as a side project, not a business app.

What I learned

  • Managing a real-time interaction loop in a browser UI.
  • Working with Three.js through React components.
  • Persisting local progress and tuning browser performance.

Next improvements

  • Add onboarding for first-time players.
  • Improve sound, feedback and enemy variety.
  • Add screenshots or short gameplay clips.
  • Add focused tests for pure balancing and save helpers where practical.

Limitations

This is a playable prototype and side project. It is not presented as a finished commercial game.