freeCodeCamp/CurriculumExpansion

Secure Real Time Multiplayer Game (Certification Project)

Closed this issue · 6 comments

Create project from the Python information security certification.

@scissorsneedfoodtoo @beaucarnes Any particular reason to not use the arrow keys instead of "W", "A", "S", or "D"? It would be a lot more intuitive for a game to allow that. Also, since it is a multiplayer game, I think it would make sense to require that the game show the current user's score rank as Rank: currentRanking/totalPlayers . This allows a user to know where they stand with respect to the score of other players in the game.

@RandellDawson, thank you for your review.

That's true, we can adjust the user stories and tests to use either the arrow keys or WASD. The method we're testing could accept "up", "down", "left", or "right" instead of a specific key. Then campers can have more flexibility with the keys they want to use for their game.

I like your idea for showing the player's score as a rank instead, especially for the sample project. One thing we've discussed is how open ended we want to leave the project, and whether we should require that the game be competitive. Maybe the game is too open to interpretation as is.

If we include that as a user story, perhaps it can read, "Show each player's score as a rank against the scores of all other players. For example: Rank: currentRanking/totalPlayers."

Hi @RandellDawson, thank you again for your suggestions. We updated the code so the movePlayer method is more flexible, and added another user story and test to check for the player's rank rather than score like you suggested.

Here are a few issues I was able to pick up on while completing this project:

  • The README mentions clicking on "Full Page Console" in the "tools" dropdown. For me it was "Terminal"
    Screen Shot 2020-05-17 at 6 02 11 PM

  • Boilerplate code has the Player and Collectible class constructors expect multiple arguments whereas the tests are passing in an object.
    Screen Shot 2020-05-17 at 6 04 46 PM

Screen Shot 2020-05-17 at 6 05 07 PM

  • Furthermore, I believe the Player class should expect "score" instead of "value".

For those unfamiliar with game dev and socket.IO, the project will be quite challenging but still doable given enough time. The README is well written and helped guide me through the project.

@TevaHenry, thank you for your detailed feedback. You caught a lot of the things I removed when I shouldn't have, or looked over while I was whittling down the boilerplate from the full solution.

Also, thank you for catching that bit with the README file. I've gone in and fixed it for this project, along with the sudoku and American/British English translator projects.