Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
A thrilling 3D car racing game built with Three.js, featuring realistic physics, multiple tracks, and smooth controls.
- 🏎️ 3D car models with realistic physics
- 🏁 Multiple racing tracks
- 🎮 Smooth keyboard controls (WASD/Arrow keys)
- 📊 Real-time speedometer and lap timing
- 🎯 Checkpoints and lap counting
- 🌟 Particle effects and visual enhancements
- 📱 Responsive design that works on desktop and mobile
- W/↑: Accelerate
- S/↓: Brake/Reverse
- A/←: Turn Left
- D/→: Turn Right
- Space: Handbrake
- R: Reset car position
├── backend/
│ └── index.ts # Hono server for static files
├── frontend/
│ ├── components/
│ │ ├── Game.tsx # Main game component
│ │ ├── UI/
│ │ │ ├── HUD.tsx # Heads-up display
│ │ │ ├── Menu.tsx # Main menu
│ │ │ └── Controls.tsx # Control instructions
│ │ └── Game/
│ │ ├── Car.ts # Car physics and rendering
│ │ ├── Track.ts # Track generation and management
│ │ ├── Camera.ts # Camera controls
│ │ └── Physics.ts # Physics engine integration
│ ├── assets/
│ │ ├── models/ # 3D models (if any)
│ │ └── textures/ # Texture files
│ ├── index.html # Main HTML template
│ └── index.tsx # Frontend entry point
└── shared/
└── types.ts # Shared TypeScript types
- 3D Engine: Three.js
- Physics: Cannon.js (for realistic car physics)
- Frontend: React 18.2.0 with TypeScript
- Styling: TailwindCSS
- Backend: Hono (for serving static assets)
- Controls: Keyboard input handling
- Realistic car physics with acceleration, braking, and steering
- Track boundaries and collision detection
- Lap timing and checkpoint system
- Speed-based camera effects
- Particle systems for exhaust and dust effects