GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - Mte90/avoidrain: A 3D browser game where you run under balconies to avoid the rain!

BranchesTags
Open more actions menu

Latest commit

 

History

43 Commits
43 Commits

Folders and files

NameName
Last commit message
Last commit date
src
src
 
 
tests
tests
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
favicon.svg
favicon.svg
 
 
index.html
index.html
 
 
package.json
package.json
 
 
playwright.config.js
playwright.config.js
 
 

Repository files navigation

AvoidRain - 3D Endless Runner

License

WIP: A 3D browser game where you run under balconies to avoid the rain!

Plan: create a game with pure 100% code by AI and no human intervention in the code, including the assets and debug.

Image

🎮 How to Play

Goal: Survive as long as possible by staying dry under building balconies.

Controls:

  • Keyboard:
    • A / Left Arrow → Move left
    • D / Right Arrow → Move right
    • Enter / Space → Start/Restart game
  • Touch (mobile):
    • Swipe left/right → Move
    • Tap to start

Mechanics:

  • Rain fills the wet meter (green/red bar in top-left)
  • Under balconies, the wet meter drains
  • If it reaches 100% → Game Over!
  • Cars on the road push you back and increase wetness
  • Difficulty increases over time (fewer balconies, more rain, more cars)

🏗️ Game World Characteristics

Building Specifications

  • Height: 8-20m (variance of 5-9m between buildings)
  • Balconies:
    • 70% chance per building
    • 1-2 balconies per building
    • Positioned at 40% building height
    • Minimum 3.5m clearance from ground
  • Windows:
    • Dimensions: 1.4-1.6m wide × 1.5-1.8m high
    • 50% random on/off state
  • Doors:
    • Height: 2.1m
    • Color: Brown (0x8B4513) with red (0x8B0000) handles
  • Street Lamps: Positioned at sidewalk (x: ±3.5m)

Object Dimensions

  • Car: 4.5m × 1.7m × 1.4m (realistic sedan)
  • Player: 0.5m height

Material Constraints

  • Maximum 15-20 unique MeshStandardMaterial instances
  • GPU texture unit optimization required

🌧️ Environmental Systems

Rain System

  • Wind angle affects rainfall direction
  • Wetness meter mechanics:
    • Fill rate: 8/s
    • Drain rate: 20/s
    • Game over at 100% wetness

Visual Features

  • Shadow people behind balcony windows
  • Antenna blinking lights on buildings
  • Drip lines from balconies during rain

⚙️ Technical Constraints

Rendering

  • Three.js 0.168.0 via CDN (no bundler)
  • Shadows disabled for WebGL compatibility
  • GPU texture unit limits (15-20 materials max)

Level Generation

  • Chunk-based infinite street generation
  • Dynamic object spawning based on distance

🚀 Local Setup

Prerequisites

  • Node.js (version 16 or higher)
  • npm (included with Node.js)

Installation

# Clone the repository (if you haven't already)
cd avoidrain

# Install dependencies
npm install

Start Development Server

# Start the development server
npm run dev

The game will be available at: http://localhost:5173

🛠️ Tech Stack

  • Three.js - 3D rendering
  • Vanilla JavaScript - No UI framework

📝 Credits

Built with OpenCode using Regolo.AI models.

About

A 3D browser game where you run under balconies to avoid the rain!

mte90.tech/avoidrain

Topics

jamthreejsvibecoding

Resources

Readme
GPL-3.0 license
Activity

Stars

0 stars

Watchers

0 watching

Forks

0 forks
Report repository

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.