# Evergrow [What’s new](CHANGELOG.md) · Read the same update notes from the game’s main menu. A gothic, top-down 2D action RPG built for the browser, inspired by Diablo and Path of Exile. Explore a growing wilderness, find gear, and build a character across a vast classless skill tree. **Playable prototype · actively iterating · not released.** ## Play ### [Play Evergrow in your browser →](https://evergrow.dimillian.chatgpt.site) Play on desktop with keyboard/mouse or a controller, use touch controls, or [run it locally](#run-locally). **AYN Thor:** [build and install the offline Android app](docs/android-thor.md), with native controls and a matching lower-screen map, compact inventory and character companion. On the hosted game, sign in with ChatGPT for cloud characters or choose Local for browser-only saves. Download and Import let you transfer a character and its explored map. Local development and Android keep local saves. ![The starting wilderness in Deadwood](docs/screenshots/deadwood.png) ## What works today - **Characters & saves:** eight local save slots, a forest character hall, equipped previews, level/power summaries and automatic checkpoints. Every character starts with leather armor, a choice of sword, bow or fire staff, and an empty bag. - **World:** nine blended biomes, natural groves and clearings, open steppe and desert, procedural towns, twelve wilderness landmarks, cursed chests and varied assault/defense/ritual events. Regional placement, branching 13–19-room crypts, day/night lighting and ambient wildlife. Scrolling minimap and explored-world atlas. The latest world expansion is local for testing; it requires a fresh character. The hosted version remains unchanged until publication. - **Combat:** melee, bows and elemental staves; shields and dual wield; dodging, particles, damage feedback, and six enemy archetypes across three ranks. Encounters spawn outside the camera. - **Builds:** 2,333 nodes, 150 passive constellations and 20 active skills. Short early routes, useful resource/speed choices, and cross-discipline bridges at every layer. Upgradeable skill ranks, three skill-owned specialization leaves per skill, and three Arcana ultimates. First-tier skills stay cooldown-free. - **Gear & progression:** procedural names, icons and visible equipment; an 8×8 inventory, drag/drop, quick equip and comparison tooltips; item tiers, enemy loot tables, geographic danger scaling, and one skill point plus five attribute points per level. - **Presentation:** code-generated artwork, dynamic lighting, restrained CRT/phosphor, a shared retro-modern UI kit, and compact loot, gold, XP and discovery notifications. **Town portal:** free three-second cast to your home town, with a saved return portal back to your expedition. Set home at a town plaza anchor. **Town services:** procedural blacksmiths, jewelers and enchanters; buy/sell/buyback, upgrade gear to +10, raise rarity, reroll affixes and raise item level. Equipped gear can be improved in place. Character progress, shop state and each character’s explored map persist in the selected save location. **Save format v3 requires a new character for older saves; old slots remain stored.** Journeys offer light activity guidance; respecs remain future work. Endless progression is the direction, not a finished endgame. ## Screenshots Real game interfaces and renderers, captured from frozen development scenes on September 5, 2026. Characters, equipment and resources are staged. ### Combat HUD Animated life and mana glass, a compact shortcut rail, five assignable skill slots, and an integrated XP bar. UI and text stay crisp above the world’s CRT effects. ![Current Astral HUD with life and mana orbs, utility shortcuts, skill slots and XP](docs/screenshots/hud.png) ### Loot & item details Distinct rarity borders and crests, procedural equipment icons, readable affixes, and effective stat comparisons before equipping. The bag holds 64 items and supports drag/drop and quick equip. ![Epic item tooltip showing affixes and on-equip stat changes beside the rarity-colored inventory](docs/screenshots/item-details.png) ### Town services Trade with blacksmiths, jewelers and enchanters. Improve gear to +10, raise rarity, reroll affixes or bring a favorite item up to the area's level—including equipped gear. ![Blacksmith enhancement preview with item stats, cost and rarity-colored equipment](docs/captures/2026-09-05/town-services/equipped-enhancement.png) ### Characters & builds ![The character hall with staged adventurers](docs/screenshots/title-character-hall.png) | Skill tree · early choices | Character & inventory | | --- | --- | | ![Early skills and branching passives](docs/screenshots/skill-tree.png) | ![Equipment, inventory and character stats](docs/screenshots/character.png) | [View the complete skill atlas](docs/screenshots/skill-atlas.png) · [Town service captures](docs/captures/2026-09-05/town-services/README.md). ## Saves The hosted game has **Cloud / Local** tabs. Cloud defaults to ChatGPT sign-in and eight account-owned characters; Local keeps this browser’s saves. **Download / Import** transfers a character and its explored map through a save file. Android stays local-only. [Cloud saves and sync](docs/cloud-saves-sites.md). ## Android / AYN Thor The Android app bundles the game for **offline play**, with native controller input and an Astral companion on the Thor’s lower screen: explored map, 64-slot pack, equipment details and character stats. Both app displays request **60 Hz**; game/title rendering is capped at **60 FPS** while combat keeps its fixed 120 Hz simulation. Requires **Node.js 22.13+**, **Java 17**, Android SDK **platform 35 + build-tools 35.0.0**, and `adb` on your PATH. Set `ANDROID_HOME` to your SDK directory, or set `sdk.dir` in `android/local.properties`. Enable USB debugging on the Thor and authorize the computer. Run from the repository root: ```sh npm run setup npm run android:build # Build the bundled debug APK npm run android:install # Build, install and launch on the connected USB device ``` APK: `android/app/build/outputs/apk/debug/app-debug.apk`. Launch an already installed build with the **Evergrow** app icon, or: ```sh adb -d shell am start -n com.dimillian.evergrow/.MainActivity # If multiple devices are connected: ANDROID_SERIAL=your-device-id npm run android:install ``` No local server is needed. Install updates over the existing app to preserve its saves; keep the same signing key. Android and browser characters are currently separate. This is a debug APK for testing, not a store release. [Android architecture, controls and troubleshooting](docs/android-thor.md). ## Run locally Requires **Node.js 22.13+**. ```sh npm run setup npm run dev ``` Open [localhost:5173](http://127.0.0.1:5173/) in your browser. The server binds to your machine only. **WASD** move · **mouse** aim · **LMB** basic attack · **RMB / 1–4** skills · **Space** dodge · **Q** potion · **E** interact · **P** town portal · **C/I** character · **T** tree · **M** map. [All controls](docs/controls.md). ```sh npm run check # Code tests, strict TypeScript checks, production build npm run stats # Content, source and build statistics ``` `npm run build:site` prepares the game client and cloud-save Worker in root `dist/` for Sites. Deployment uses the existing project in `.openai/hosting.json`; local development remains unchanged. TypeScript, Vite, Canvas 2D and WebGL; no runtime npm dependencies. Gameplay feel and balance are tested by the player. [Documentation index](docs/README.md) · [Current status](docs/system-status.md) · [Character saves](docs/character-saves.md) · [Game brief](docs/game-brief.md) · [Roadmap](docs/roadmap.md) · [Architecture](docs/architecture.md) · [Skills & weapons](docs/weapons-and-skills.md) · [Progression & loot](docs/progression-and-loot.md) · [NPC services](docs/npcs-and-vendors.md) World, character and equipment art is generated in code. The bundled [Pixelify Sans font](game/src/assets/fonts/SOURCE.md) is licensed under the SIL Open Font License.