diff --git a/frontend/public/assets/audio/Balloon Pop 1.wav b/frontend/public/assets/audio/Balloon Pop 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..ee2ce5567b794a64f737ca310d12a54d21bd2c0e
Binary files /dev/null and b/frontend/public/assets/audio/Balloon Pop 1.wav differ
diff --git a/frontend/public/assets/audio/Balloon ride 1.wav b/frontend/public/assets/audio/Balloon ride 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..32e2b87b972f83ed7875298e13490e82322a6e81
Binary files /dev/null and b/frontend/public/assets/audio/Balloon ride 1.wav differ
diff --git a/frontend/public/assets/audio/Balloon start riding 1.wav b/frontend/public/assets/audio/Balloon start riding 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..0863fbe3688f3878f2a702627dde9b4760dd54d6
Binary files /dev/null and b/frontend/public/assets/audio/Balloon start riding 1.wav differ
diff --git a/frontend/public/assets/audio/Balloon start riding 2.wav b/frontend/public/assets/audio/Balloon start riding 2.wav
new file mode 100644
index 0000000000000000000000000000000000000000..79d60256a486b1584ab364becb06b429b93ef135
Binary files /dev/null and b/frontend/public/assets/audio/Balloon start riding 2.wav differ
diff --git a/frontend/public/assets/audio/Big Egg collect 1.wav b/frontend/public/assets/audio/Big Egg collect 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..d92c37a09cc8148eb8788e3e9e578fe0e9ae1b2a
Binary files /dev/null and b/frontend/public/assets/audio/Big Egg collect 1.wav differ
diff --git a/frontend/public/assets/audio/Block Break 1.wav b/frontend/public/assets/audio/Block Break 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..24ab1dfe3c643c3b3ea334feac47892ac3d00c15
Binary files /dev/null and b/frontend/public/assets/audio/Block Break 1.wav differ
diff --git a/frontend/public/assets/audio/Block Break 2.wav b/frontend/public/assets/audio/Block Break 2.wav
new file mode 100644
index 0000000000000000000000000000000000000000..91f77f17d8f80b5141ae9a7736f0fc455c873812
Binary files /dev/null and b/frontend/public/assets/audio/Block Break 2.wav differ
diff --git a/frontend/public/assets/audio/Blow 1.wav b/frontend/public/assets/audio/Blow 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..e7c1770b82a105893c7483e383f5c33a35111ced
Binary files /dev/null and b/frontend/public/assets/audio/Blow 1.wav differ
diff --git a/frontend/public/assets/audio/Blow 1V2.mp3 b/frontend/public/assets/audio/Blow 1V2.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..3f35dd8a16499643216ea67a467a4e01e731a513
Binary files /dev/null and b/frontend/public/assets/audio/Blow 1V2.mp3 differ
diff --git a/frontend/public/assets/audio/Blow 1V2.wav b/frontend/public/assets/audio/Blow 1V2.wav
new file mode 100644
index 0000000000000000000000000000000000000000..ac20e5cbdc6e95f2c5898414ed79a2f586ed320b
Binary files /dev/null and b/frontend/public/assets/audio/Blow 1V2.wav differ
diff --git a/frontend/public/assets/audio/Blow 2.wav b/frontend/public/assets/audio/Blow 2.wav
new file mode 100644
index 0000000000000000000000000000000000000000..19bbc862d5075942aeb5a9e827d6d7fc85fa706d
Binary files /dev/null and b/frontend/public/assets/audio/Blow 2.wav differ
diff --git a/frontend/public/assets/audio/Boss hit 1.wav b/frontend/public/assets/audio/Boss hit 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..267f716d897f883776b59e4ce1b2aab4fb1e20b6
Binary files /dev/null and b/frontend/public/assets/audio/Boss hit 1.wav differ
diff --git a/frontend/public/assets/audio/Bubble 1.wav b/frontend/public/assets/audio/Bubble 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..948c071bc92880eb22c71a33af0073b775027f6a
Binary files /dev/null and b/frontend/public/assets/audio/Bubble 1.wav differ
diff --git a/frontend/public/assets/audio/Bubble heavy 1.wav b/frontend/public/assets/audio/Bubble heavy 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..d9a29813e3e505a7d456d5cfa047e6355345891f
Binary files /dev/null and b/frontend/public/assets/audio/Bubble heavy 1.wav differ
diff --git a/frontend/public/assets/audio/Bubble heavy 2.wav b/frontend/public/assets/audio/Bubble heavy 2.wav
new file mode 100644
index 0000000000000000000000000000000000000000..88ff9337aa0322f697f4519f9ecf66ca858a5542
Binary files /dev/null and b/frontend/public/assets/audio/Bubble heavy 2.wav differ
diff --git a/frontend/public/assets/audio/Cancel 1.wav b/frontend/public/assets/audio/Cancel 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..b0a8c412dfd4fb30f6794c4fec349cf234bbd0b4
Binary files /dev/null and b/frontend/public/assets/audio/Cancel 1.wav differ
diff --git a/frontend/public/assets/audio/Confirm 1.wav b/frontend/public/assets/audio/Confirm 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..d08d0dc75d4a65f71e04b0aa5a1f18a143fd87b5
Binary files /dev/null and b/frontend/public/assets/audio/Confirm 1.wav differ
diff --git a/frontend/public/assets/audio/Fruit collect 1.wav b/frontend/public/assets/audio/Fruit collect 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..3d80d923b84a80cc30e5d8241f401df4a5085034
Binary files /dev/null and b/frontend/public/assets/audio/Fruit collect 1.wav differ
diff --git a/frontend/public/assets/audio/Hit damage 1.wav b/frontend/public/assets/audio/Hit damage 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..c9f6f6c464053fb67611520f1ce6d71ccf3c9ddc
Binary files /dev/null and b/frontend/public/assets/audio/Hit damage 1.wav differ
diff --git a/frontend/public/assets/audio/Jump 1.wav b/frontend/public/assets/audio/Jump 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..f0a6040691c7489921cb718d36dc7902e9739767
Binary files /dev/null and b/frontend/public/assets/audio/Jump 1.wav differ
diff --git a/frontend/public/assets/audio/Select 1.wav b/frontend/public/assets/audio/Select 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..b380a1db9ebf1aa6afec07d8858172775e67dae9
Binary files /dev/null and b/frontend/public/assets/audio/Select 1.wav differ
diff --git a/frontend/public/assets/audio/Suck 1.wav b/frontend/public/assets/audio/Suck 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..16cf3930fc01a1bfbd2fb8c8f426b26b192a41ff
Binary files /dev/null and b/frontend/public/assets/audio/Suck 1.wav differ
diff --git a/frontend/public/assets/audio/Suck 1V2.wav b/frontend/public/assets/audio/Suck 1V2.wav
new file mode 100644
index 0000000000000000000000000000000000000000..f7dc7c5e4063881dd7096e943920c762efeff234
Binary files /dev/null and b/frontend/public/assets/audio/Suck 1V2.wav differ
diff --git a/frontend/public/assets/audio/Suck 2.wav b/frontend/public/assets/audio/Suck 2.wav
new file mode 100644
index 0000000000000000000000000000000000000000..03494350ffe81e4420b2b2ef66832f7f4c6332aa
Binary files /dev/null and b/frontend/public/assets/audio/Suck 2.wav differ
diff --git a/frontend/public/assets/audio/Text 1.wav b/frontend/public/assets/audio/Text 1.wav
new file mode 100644
index 0000000000000000000000000000000000000000..7b6765644bd97d13d4c03219230cd9a4e45cfd98
Binary files /dev/null and b/frontend/public/assets/audio/Text 1.wav differ
diff --git a/frontend/src/js/fight_scene.ts b/frontend/src/js/fight_scene.ts
index f04bf4cd315c2f5f64300364b3dd77b4a1bed606..7c70148935a66a53703fda15ba9dc41595d870af 100644
--- a/frontend/src/js/fight_scene.ts
+++ b/frontend/src/js/fight_scene.ts
@@ -54,6 +54,16 @@ export default class FightScene extends Phaser.Scene {
 
   preload() {
     this.preloadSprites();
+    this.preloadSoundsEffects();
+  }
+
+  preloadSoundsEffects() {
+    this.load.audio("sfx_lo_beep", "assets/audio/Cancel 1.wav");
+    this.load.audio("sfx_md_beep", "assets/audio/Text 1.wav");
+    this.load.audio("sfx_hi_beep", "assets/audio/Confirm 1.wav");
+    this.load.audio("sfx_hit_critter", "assets/audio/Hit damage 1.wav");
+    this.load.audio("sfx_hit_player", "assets/audio/Boss hit 1.wav");
+    this.load.audio("sfx_game_over", "assets/audio/Bubble heavy 2.wav");
   }
 
   preloadSprites() {
@@ -315,7 +325,7 @@ export default class FightScene extends Phaser.Scene {
       })
     ).data;
     this.foes.forEach((foe) => foe.destroy());
-    this.scene.start("game_over");
+    this.sound.play("sfx_game_over");
   }
 
   initCluesGroup() {
@@ -361,14 +371,17 @@ export default class FightScene extends Phaser.Scene {
     });
     if (match === null) {
       // NOOP
+      this.sound.play("sfx_md_beep");
       this.hud.showSubmitFeedback("white", inputStatus.final);
     } else if (score < 0.9) {
       // TODO: visual near misses based on score
+      this.sound.play("sfx_lo_beep");
       this.updateScore(-1);
       match.handleFailure();
       this.hud.showSubmitFeedback("red", inputStatus.final);
       new Spear(this, this.player, undefined);
     } else {
+      this.sound.play("sfx_hi_beep");
       backend.updateClue(match.beClue.id, {
         ended_at: new Date().toISOString(),
         ended_at_gmtm: this.getGameTime(),
@@ -409,6 +422,7 @@ export default class FightScene extends Phaser.Scene {
       });
     };
     this.typewriter.onChange = (inputStatus) => {
+      this.sound.play("sfx_md_beep");
       this.hud.setInput(inputStatus.final);
     };
   }
diff --git a/frontend/src/js/foe.ts b/frontend/src/js/foe.ts
index 9b1599b63d6973f69988f4dc148c0cdfad944365..3b0f8b288f298d7ad81585c5a46ac87e324685eb 100644
--- a/frontend/src/js/foe.ts
+++ b/frontend/src/js/foe.ts
@@ -42,6 +42,7 @@ class Foe {
       this.scene.player,
       this.critter,
       () => {
+        this.scene.sound.play("sfx_hit_player");
         this.scene.physics.world.removeCollider(overlap);
         this.scene.popFoe(this);
         this.clue.delete();
diff --git a/frontend/src/js/spear.ts b/frontend/src/js/spear.ts
index 9e1bb6ade491ba053587f8033f917bb1be7de5e8..ce6ad72d0bb80493fbf6d9e743f0820194350277 100644
--- a/frontend/src/js/spear.ts
+++ b/frontend/src/js/spear.ts
@@ -57,6 +57,7 @@ class Spear extends Phaser.Physics.Arcade.Sprite {
 
   hitTarget() {
     this.scene.physics.world.removeCollider(this);
+    this.scene.sound.play("sfx_hit_critter");
     // TODO: bounce?
     this.destroy();
     this.target.flee();