Skip to content

sunlesshalo/windcaller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Windcaller — Melody Duels

A turn-based JRPG where you cast spells by playing melodies on a real instrument. No menus, no buttons — just play.

Play it: Open index.html in a browser, allow microphone access, and start playing.

How It Works

  • You're a bard. Your instrument is your spellbook.
  • Each spell is a melody (2-4 notes). Play the right notes and the game recognizes the spell.
  • Enemies have weaknesses and resistances — pick the right spell for each fight.
  • Nail the rhythm (note durations) for critical hits.

Spells

Tier Spell Melody Element
1 Ice Shard C → D Ice
1 Wind Blast D → C Wind
1 Fireball E → G Fire
1 Minor Heal A → G Heal
2 Blizzard C → E → G Ice
2 Tornado D → E → G Wind
2 Lightning G → E → C Lightning
2 Poison Cloud F → D → E Poison
2 Major Heal A → C → E Heal
3 Firestorm E → C → D → E Fire
3 Thunderstorm G → A → G → E Thunder
3 Barrier B → A → G → E Shield

Instruments

Works with any instrument that can hold a sustained pitch — melodica, recorder, flute, keyboard, etc. Use the Tune Up screen (from the menu) to test if your instrument is recognized.

Tech

  • Phaser 3 for rendering
  • Web Audio API with autocorrelation pitch detection (YIN-inspired)
  • Melodica-optimized filters: harmonic purity, pitch stability, confidence thresholds
  • Prefix-free melody design for unambiguous real-time matching
  • No build step — pure HTML/JS, runs from a file or any static server

Running Locally

python3 -m http.server 8080
# open http://localhost:8080

Credits

About

Turn-based JRPG where you cast spells by playing melodies on a real instrument. Melodica, recorder, flute — anything that holds a pitch.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors