Explore ยท Endure ยท Survive
Aura Survive is an evolving third-person 3D survival game prototype built for the browser. Explore a procedural wilderness filled with rolling meadows, autumn woods, snowy regions, lakes, caves, animated vegetation, and a responsive character controller.
The project focuses on building a living, atmospheric world with smooth exploration before expanding into deeper survival mechanics.
- ๐ Large procedural terrain rendered with a clipmap-based approach
- ๐ฟ Meadow, autumn, and snow biomes with gradual transitions
- ๐ฒ Dynamically streamed trees, bushes, rocks, flowers, and vegetation
- ๐ GPU-rendered grass with wind and player deformation
- ๐ฃ Directional footprints and fading ground trails
- ๐ Terrain-shaped lakes with animated water and underwater ground detail
- ๐ Swimming detection, movement, animation fallback, and water splashes
- ๐ณ๏ธ Solid cave structures with walkable entrances and collision
- ๐ง Rigged and animated player with idle, walking, running, and swimming states
- ๐ฅ Third-person camera with pointer-lock mouse control and terrain clearance
- โ๏ธ Stylized sun, sky, lighting, fog, and dynamic shadows
- ๐ Biome-aware footsteps, wind, water, cave ambience, and UI sounds
- ๐ฎ Loading screen, main menu, and pause menu
- ๐ ๏ธ Optional
lil-guicamera and player tuning controls
| Input | Action |
|---|---|
W A S D |
Move |
| Arrow keys | Alternative movement |
| Mouse | Look around |
Shift |
Sprint |
Esc |
Pause or resume |
| Any key | Enter the world from the main menu |
The mouse cursor is captured automatically during gameplay. Press Esc to release it and open the pause menu.
React provides the application shell and menus, while Babylon.js owns the scene, rendering, input, camera, animation, terrain, environment, audio, and game loop.
- Node.js
22.23.1or newer - npm
12.0.2or newer - Git LFS for the GLB model files
git clone https://github.com/neprostostas/aura-survive.git
cd aura-survive
git lfs pull
npm install
npm run devOpen the local URL printed by Vite, normally http://localhost:5173.
Audio begins after the first keyboard interaction because browsers block sound autoplay before a user gesture.
npm run dev # Start the Vite development server
npm run typecheck # Run strict TypeScript checks
npm run build # Type-check and create a production buildsrc/
โโโ components/ React menus, loading screen, and canvas shell
โโโ game/
โ โโโ environment/ Biomes, streamed nature assets, sun, and sky
โ โโโ terrain/ Heightfield, clipmaps, grass, trails, and shaders
โ โโโ AudioManager.ts
โ โโโ CameraDebugControls.ts
โ โโโ InputController.ts
โ โโโ PlayerController.ts
โ โโโ config.ts
โ โโโ createScene.ts
โโโ styles/ Global interface styles
public/assets/
โโโ 400 Sounds Pack/ Environment, movement, and interface audio
โโโ models/ Character and nature GLB assets
Gameplay and rendering values are centralized in src/game/config.ts, including:
- terrain resolution and scale;
- vegetation density and streaming distance;
- movement, sprinting, and swimming speed;
- camera behavior and sensitivity;
- trail, shadow, grass, and sun settings;
- debug mode and
lil-guivisibility.
To display the tuning panel, set debugGuiEnabled to true. Set testModeEnabled to true to use click-and-drag camera control while adjusting values.
Aura Survive is still an early prototype. Future development may expand the world with survival systems such as enemies, resources, crafting, inventory, and richer environmental interactions. These systems are intentionally outside the current exploration-focused foundation.
The project uses licensed third-party character, nature, and sound packs. Their original licenses remain applicable; possession of this source repository does not grant permission to redistribute those assets independently.
Made with TypeScript, Babylon.js, and a love for atmospheric game worlds. ๐ฒโจ