I took a look at the “Johnny upgrade” game that you mentioned, and the way the upgrades worked in that game is not what I am aiming for in this game. But I do agree with you that the player needs a lot of patience to figure out that there is such mechanics in the game. I will be adding more mechanics for the player very early on in the game, with the first few upgrades being add-ons rather than full mechanics. I will also be adding ways to let the player know what they can look forward to in the game, as I very much get the feel that it is just like any other platformer at the start.
Regarding optimizations, there were some issues I had that caused performance issues, such as making the map too huge due to the initial player model being quite large. The enemies also had multiple raycasts as I wanted to expand on that but didn’t have time, as well as the fact that they still run even while off screen added a lot onto the performance issues. Though I also realised that certain browsers ran the game way worse than other browsers. The app version of the game runs perfectly fine, thus the optimization was mainly for web browser only.
Thank you for taking the time to try my game out and leaving some good suggestions though!