nistalb / Tomagotchi

a simple Tamagotchi game
0 stars 0 forks source link

Project Feedback #1

Open londondata opened 3 years ago

londondata commented 3 years ago

Project meets requirements. I will be providing some feedback in the following messages of this issue on how you can improve your application prior to the job search.

londondata commented 3 years ago

Visual Feedback

Right off the bat I want to say that I LOVE the visuals and animations of this little Yeti Tamagotchi. I also think the style and design is very well done, the colors look great, and I especially love the way you chose the green for the Tamagotchi screen. Very old school, the visual style landed perfectly there, particularly when coupled with the shape of the tamagotchi and the style of the buttons. You might consider bringing the buttons up to be on the tamagotchi itself to really complete the full, three dimensional feel of holding a playable tamagotchi egg, if you so desire.

From a UX standpoint, the gameplay drags a little bit - you might want to speed up how quickly the Yetigotchi ages - but it looks very cool when it does. I also found a bug where when it was a teenager and an adult, the animation went back and forth from teenager/adult to child - you might want to have a few people test that to see what's going on there, so you can identify the bug and fix it. It might have even been an issue with my computer, which is why it's so important to always test our applications thoroughly to figure that stuff out. Additionally, when it comes to UX, the Feed, Sleep, and Play buttons could potentially be confusing for a user who is not familiar with the game the way that we are. If you want to keep the buttons the way that they are, it would be helpful from a UX standpoint to add some exposition, perhaps some explanatory text at the bottom of the screen letting the user know what to do with those buttons to properly play the game and keep the Tamagotchi alive.

Bonus points for the Reset Game feature! Love this!

A few other improvements to get this portfolio ready are to make sure your Readme is cleaned up in terms of using the same terminology throughout (you switch out Tomagotchi and Tamagotchi, for example), bringing your wireframe to a higher fidelity, and double checking your spelling! All of these details matter when it comes to the eyes of hiring managers. Overall this looks great and plays well, and it will make a really fun portfolio piece!

londondata commented 3 years ago

Code Feedback

My first thought when looking at your code was "Wow, the commenting on this is incredibly thorough." Excellent job there, that's exactly how it would be in a production environment, especially when you credit your sources, so very impressive. Additionally your functionality and DOM manipulation is extremely well executed. I'm very curious to see how you would refactor this in OOP! The playTime functionality gets a little heavy, but it's proper, it's clean, and it works, so hats off to you.

In terms of things to improve on, I would be mindful of spacing, indentation, and syntax, particularly the use of semicolons. One example I found is here:

In app.js:

    const setTimer = function setTimer(interval){ // <--- why indented so far?
        const updateTime = function updateTime(){
            time--;
            if(time % interval === 0){
                incrementBoredom();
                incrementHunger();
                incrementSleepiness();
            }
            if (hunger === 10 || bored === 10 || sleep === 10) {
                deadPet();
                clearInterval(timer);
            }
            if (time <= 0){
                clearInterval(timer);
                lifecycle++;
                if (lifecycle <= 5){
                   playGame();
                }
            }
        } // <-- missing semicolon
        const timer = setInterval(updateTime, 1000);
} // <-- missing semicolon

NOTE: With the first line indented so far, the rest of the code block is indented way too far as well.

Just as you are meticulous and thorough with your commenting, be meticulous and thorough with spacing, indentation, and syntax. Go through and tighten up code blocks with too much space, make sure your indentations are proper throughout, and that those semicolons are where they should be! The VS code extension Prettier is extremely helpful for this.

Other than going through and cleaning up your code base to ensure this is in top shape for your portfolio, the functionality here is excellent. You know your logic, and you know it! Great job Brent!