Music Match Postmortem


Overall, it does what it was intended to do. It plays a song when the player clicks on a record and if the player selects two records with the same song it matches them. It’s nothing spectacular but it does what it’s meant to do.

I had a few challenges in making this game. I ended up mostly following a tutorial on making a card matching game and thought it would be easy to just add a functionality where it plays a song when clicked. I didn't think it would be that hard, which is a common theme of me making games apparently. It was that hard. One thing that occasionally gave me issues was that the video I was following was for Godot 3 when I was using Godot 4, didn’t end up being that catastrophic as most of the time I could just google the new syntax but occasionally I had to get quite creative in finding an alternative way to code something. 

But the main thing that gave me issues was actually getting the game to play the right song when the record was clicked. I managed to get it to play a song, which was great, but it would always play the same song no matter what the record number was. (As the different records had different numbers assigned to them from the array.) I thought I could just have all the song files be named the same thing with increasing numbers. (for example: song_1, song_2 and so on.) And just replace whatever number is in the call to the file with the number of the record that correlates to the song. It's apparently called concatenation, which is what the person in the video did, but only with replacing the graphic on the card. My game did not have different graphics, so I did not need to do that, but my game's version of the matching graphics would be parallel to the matching song, so I thought I could just do it with the audio files instead. Did not work, no clue why. So instead I had to have 8 unique audio players and 8 unique if statements checking to see what record was played. I’m sure there was a better way to do this, but what I had got the job done.

One pretty big issue the game has is that when the player plays a record, if another record was already playing, the game won't always cut the other record off, (it seems to do it sometimes but not always), and will just play the songs over top of each other. I tried to implement a timer that would disable pressing any records within a certain time limit to allow the audio to finish, however I could not get it to work properly. So I combated that by kindly asking the player to wait before selecting the next record.

There are a few improvements I could have made, along with the records spinning thing that I had mentioned in the devlog. Some gameplay improvements to make the game more deep could have been adding a time limit, or a limit of how many moves the player has. Right now it's technically impossible to lose the game. Adding a limit on how many moves a player would have would cause there to be more risk in selecting the records, causing the player to have to pay more attention.

Overall I really enjoy the visuals of the game. I did not intend to focus too much on visuals, as this was an audio based game, but I found a nice little record PNG and in combination with the red contrasting tints the records get when they are selected cause there to be interesting but simple visuals, that aren’t distracting from the audio.