Updated Audio for Bear and Wizard. Audio remix. Adding menu assets

This commit is contained in:
Brian Fertig 2025-08-27 21:02:35 -06:00
parent ed5e96d053
commit 105b730ea7
30 changed files with 17 additions and 14 deletions

BIN
assets/bear-a.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/bear-b.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
assets/bear-c.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
assets/bear-intro.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/bear-outro.wav Normal file

Binary file not shown.

BIN
assets/level-up.wav Normal file

Binary file not shown.

BIN
assets/menuBackground.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
assets/menuLogo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 KiB

BIN
assets/wizard-a.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/wizard-b.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
assets/wizard-c.wav Normal file

Binary file not shown.

Binary file not shown.

BIN
assets/wizard-intro.wav Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assets/wizard-outro.wav Normal file

Binary file not shown.

View File

@ -16,7 +16,7 @@ export class GameScene extends Phaser.Scene {
// Stats // Stats
this.numberOfJewels = 4; this.numberOfJewels = 4;
this.startRows = 2; this.startRows = 2;
this.level = 12; this.level = 1;
this.matchesNeeded = 8; this.matchesNeeded = 8;
this.score = 0; this.score = 0;
this.ally = 'goblin'; this.ally = 'goblin';
@ -111,7 +111,7 @@ export class GameScene extends Phaser.Scene {
this.createStart(); this.createStart();
// Background Music // Background Music
this.bgMusic = this.sound.add(`${this.ally}-music`, { volume: 0.2 }); this.bgMusic = this.sound.add(`${this.ally}-music`, { volume: 0.25 });
this.bgMusic.loop = true; this.bgMusic.loop = true;
this.bgMusic.play(); this.bgMusic.play();
@ -192,7 +192,7 @@ export class GameScene extends Phaser.Scene {
this.gameStatus === true this.gameStatus === true
) { ) {
this.moveAllJewelsUp(); this.moveAllJewelsUp();
this.moveTimer = 0; // Reset the timer this.moveTimer = 0;
} }
if (this.moveInterval - this.moveTimer <= 3000) { if (this.moveInterval - this.moveTimer <= 3000) {
@ -213,7 +213,7 @@ export class GameScene extends Phaser.Scene {
} }
this.countdownTimer = true; this.countdownTimer = true;
this.sound.play('countdown'); this.sound.play('countdown', { volume: .3 });
this.time.delayedCall(6000, () => { this.time.delayedCall(6000, () => {
this.countdownTimer = false; this.countdownTimer = false;
}); });
@ -351,7 +351,7 @@ export class GameScene extends Phaser.Scene {
} }
// Set swapping flag to prevent new clicks from being processed // Set swapping flag to prevent new clicks from being processed
this.isSwapping = true; this.isSwapping = true;
this.sound.play('switch'); this.sound.play('switch', { volume: .6 });
// Disable all jewel interactivity temporarily // Disable all jewel interactivity temporarily
this.jewels.children.iterate((jewel) => { this.jewels.children.iterate((jewel) => {
@ -382,7 +382,7 @@ export class GameScene extends Phaser.Scene {
// After swap completes, re-enable interactivity and reset flag // After swap completes, re-enable interactivity and reset flag
this.time.delayedCall(300, () => { // Adjust delay as needed for animation duration this.time.delayedCall(400, () => { // Adjust delay as needed for animation duration
this.jewels.children.iterate((jewel) => { this.jewels.children.iterate((jewel) => {
if (jewel) { if (jewel) {
jewel.setInteractive(); jewel.setInteractive();
@ -559,6 +559,7 @@ export class GameScene extends Phaser.Scene {
checkMatches() { checkMatches() {
this.checkWarning(); this.checkWarning();
const matchedJewels = new Set(); const matchedJewels = new Set();
const matchesNeeded = this.matchesNeeded;
// Check horizontal matches // Check horizontal matches
for (let row = 1; row <= this.gridConfig.rows; row++) { for (let row = 1; row <= this.gridConfig.rows; row++) {
@ -631,7 +632,7 @@ export class GameScene extends Phaser.Scene {
// If we found matches, destroy them and play video // If we found matches, destroy them and play video
if (matchedJewels.size > 0) { if (matchedJewels.size > 0) {
this.playVideo(matchedJewels.size); this.playVideo(matchedJewels.size);
this.playAudio(matchedJewels.size); this.playAudio(matchedJewels.size, matchesNeeded);
const scoreMatches = matchedJewels.size / 3; const scoreMatches = matchedJewels.size / 3;
const scoreAdd = Math.ceil(scoreMatches ** 2) * 10; const scoreAdd = Math.ceil(scoreMatches ** 2) * 10;
this.score += scoreAdd; this.score += scoreAdd;
@ -667,8 +668,8 @@ export class GameScene extends Phaser.Scene {
}); });
} }
playAudio(amount) { playAudio(amount, matchesNeeded) {
if (this.isPlayingAudio === true) { if (this.isPlayingAudio === true || matchesNeeded === 1) {
return; return;
} }
@ -683,7 +684,7 @@ export class GameScene extends Phaser.Scene {
const rand = Phaser.Math.Between(1, 3); const rand = Phaser.Math.Between(1, 3);
audio = `${this.ally}-a${rand}`; audio = `${this.ally}-a${rand}`;
} }
this.sound.play(audio); this.sound.play(audio, { volume: 2 });
this.time.delayedCall(2000, () => { this.time.delayedCall(2000, () => {
this.isPlayingAudio = false; this.isPlayingAudio = false;
}); });
@ -992,7 +993,7 @@ export class GameScene extends Phaser.Scene {
this.bgMusic.play(); this.bgMusic.play();
this.time.delayedCall(4000, () => { this.time.delayedCall(4000, () => {
this.sound.play(`${this.ally}-intro`); this.sound.play(`${this.ally}-intro`, { volume: 2 });
}); });
// Refresh the ally video with the new ally // Refresh the ally video with the new ally
@ -1073,13 +1074,15 @@ export class GameScene extends Phaser.Scene {
this.clearAndResetBoard(); this.clearAndResetBoard();
} }
this.LevelText.setText(`Level: ${this.level}`); this.LevelText.setText(`Level: ${this.level}`);
this.sound.play('level-up'); this.sound.play('level-up', { volume: .6 });
this.sound.play('level-complete'); this.time.delayedCall(500, () => {
this.sound.play('level-complete', { volume: 2.5 });
});
this.grid.setFillStyle(newLevel.gridColor).setAlpha(0.5); this.grid.setFillStyle(newLevel.gridColor).setAlpha(0.5);
if (this.ally !== newLevel.ally) { if (this.ally !== newLevel.ally) {
this.sound.play(`${this.ally}-outro`); this.sound.play(`${this.ally}-outro`, { volume: 2 });
this.time.delayedCall(1000, () => { this.time.delayedCall(1000, () => {
const originalAlly = this.ally; const originalAlly = this.ally;
this.ally = newLevel.ally; this.ally = newLevel.ally;