projects

Primary Image

Who's That Pokémon?

Another game, but with Pokémon!

April 2022

View Project

using:

JavaScriptExpressSCSS

This was my first real project in website development, and was created as part of my Sixth Form's (college) programming project, in the end worth 20% of my A-Level in Computer Science. A report also had to be written, but I don't think I'm allowed to upload that here.

Functionally, it was supposed to replicate the game "Who's That Pokémon?" built into an old Discord bot, where the text is simply scrambled to varying degrees, and then user has a varying amount of time to guess the Pokémon, based off the difficulty selected. As part of the project, I decided to also add the game from the anime, closely replicating the original game where a silhouette of a Pokémon is shown and the user has to guess which Pokémon it is, again the image selected and time given differs based on difficulty.

Afterwards, as I still had time, I added a profile system so that users could sync their scores across devices, and then add friends to compare against.

In the end, I nearly achieved full marks (I think it was 78/85), and I left the website up as at the time it had a couple of common users. It still exists today, even though it's a bit outdated.

Features, broken down into a list:

  1. Text Mode: The user is shown a scrambled name of a Pokémon, and have to guess within a time limit.
  2. Image Mode: The user is shown a silhouette of a Pokémon, and have to guess as quickly as possible.
  3. Difficulty and Generation Options: The user can select the difficulty of the game (in text mode, this increases changes how the words are scrambled, and in image mode, this changes the silhouette), and the generation of Pokémon they want to be quizzed on.
  4. Profile System: Users can create an account through Google or Discord, and scores are uploaded onto the account.
  5. Friend System: Users can add friends and compare scores with them.

Technologies Used:

As this was my first project, I didn't move too far away from the basics, using Express for the backend, EJS for frontend, and SCSS for the styling. The website was self-hosted, not even using Nginx to begin with. Additionally, as this was part of a college project, I was required to use object-oriented programming, so several classes were created to manage the game, although JavaScript's support for classes at this time was fairly poor.

Links: