Skip to content

dosgillespie/ElemonQuest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🌲 Elemon Quest: Wild Valley

A first-person creature-catching adventure that runs entirely in your web browser — no installs, no downloads, no build step. Explore a living 3D valley, battle wild Elemon, catch them with orbs, and survive the hostile monsters that hunt you.

Built as a father-and-son project to learn how games are made, from the first line of code to a published game.

▶️ Play it here: https://dosgillespie.github.io/ElemonQuest/

The game

You are an Elemon trainer exploring a valley of rolling hills, meadows, a lake and misty mountains. Wild Elemon wander the land — walk up to one and challenge it to a turn-based battle. Weaken it, then throw an orb to catch it. Every win and every catch earns ⭐ points, and rank-up banners drop as your score climbs: Ranger (200) → Master (500) → Champion (1000).

But the valley bites back. Four hostile species will attack you, the trainer — watch your ❤️ health bar, eat berries to heal, and collect medicine kits for potions that heal your Elemon mid-battle. If your health hits zero you faint, wake up back at camp, and lose 25 points.

The Elemon

Elemon Type Nature Behaviour
🔥 Embercub Fire Friendly A fox with a flaming tail. Wanders the meadows.
💧 Splashfin Water Friendly Sleek and finned. Wanders, avoids deep water.
🌿 Leaflit Grass Friendly A spotted fawn with leaf ears. Wanders.
⚡ Zapmouse Electric Friendly Big ears, glowing cheeks. Wanders.
🐝 Venbee Poison Hostile Chases you and stings (−8 ❤️).
🦅 Flyo Flying Hostile Circles high, swoops from far away (−10 ❤️).
🪨 Stoney Rock Hostile Guards the medicine kits — approach and it charges (−15 ❤️).
🐉 Dragwa Dragon Hostile Lurks in the lake and strikes if you wade near (−12 ❤️). The rarest catch in the game.

Hostile Elemon carry bigger bounties — and yes, you can catch them and make them your battle partner (press C to switch partners).

Type chart (who beats who)

Super-effective attacks deal double damage; attacking into a resistance deals half.

  • 🔥 Fire beats 🌿 Grass and 🐝 Poison
  • 🌿 Grass beats ⚡ Electric and 🪨 Rock
  • ⚡ Electric beats 💧 Water, 🦅 Flying and 🐉 Dragon
  • 💧 Water beats 🔥 Fire and 🪨 Rock
  • 🐝 Poison beats 🌿 Grass
  • 🪨 Rock beats 🔥 Fire and 🦅 Flying
  • 🦅 Flying beats 🌿 Grass and 🐝 Poison
  • 🐉 Dragon beats 🔥 Fire and 💧 Water

Controls

Desktop: WASD or arrow keys to move · hold and drag the mouse (or click to capture it) to look around · E to battle a nearby Elemon · C to switch battle partner.

Phone / tablet: on-screen joystick to move · drag anywhere else to look · tap ⚔️ Battle! when it appears · tap the 🐾 partner panel to switch partner · ⛶ for fullscreen. Landscape orientation recommended. The game automatically lowers its graphics load on touch devices to keep the framerate smooth.

Running and publishing

It's a single self-contained HTML file (plus the three.js library loaded from a CDN), so:

  • Run locally: just open index.html in any modern browser.
  • Publish on GitHub Pages: push this repo, then Settings → Pages → deploy from the main branch. The game will be live at https://<username>.github.io/<repo>/.

How it's built

No game engine, no downloaded artwork — everything is code:

  • three.js renders the 3D world.
  • The terrain is a maths formula (stacked sine waves); the lake simply fills wherever the ground dips below water level.
  • The grass texture is painted onto a hidden canvas with ~9,000 brush strokes when the game loads.
  • Every creature is built from primitive shapes (spheres, cones, boxes) and animated with sine waves — the trot animation swings diagonal leg pairs together, just like real four-legged animals.
  • The battle engine is one damage formula: move power × type multiplier + a little randomness.
  • Catch chance rises as the wild Elemon's HP falls, from ~20% at full health to ~85% when nearly fainted.

Credits

Designed by a 9-year-old game director and his dad. 🎮

Built with the help of Claude by Anthropic.

License

This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.

In short: you're free to play, share, and modify this game — including commercially — but any version you distribute must remain open source under the same license, so it can never be taken closed-source.

About

Experimental battle and collect game

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages