Inspiration
After meeting one another, my teammates and I realized we all had one thing in common; games. We knew we had to make something based on games and decided to compile a list of games we all have personal memories of or some sort of notable experience to base our website around. We wanted to share them in a creative and personalized way and decided to take a short quiz.
What it does
The user is asked 8 questions about their personal values and interests, each answer corresponding with an aspect of a game so, by the end of the quiz, they will have a game personally recommended according to their interests.
How we built it
On the backend, I made three main functions and five parallel lists. The parallel lists were of the game names, their corresponding 'keywords', corresponding descriptions, corresponding ratings (from us), and corresponding image addresses. The first function takes the inputs for each question and compiles a list of user 'keywords'. The second function makes a dictionary that counts the matching keywords in the user's list and each game's list and returns the corresponding 'scores'. The third function finds the game with the highest 'score' or matching keywords and returns that as the final_game. This is the game that is then recommended to the user. On the front end, we created several website pages in HTML, in conjunction with CSS and JavaScript, with answer buttons leading to the next pages. In the end, we compile all these responses, corresponding to a keyword, into a list to return to the backend. Then we receive the recommended game as a dictionary to display on the final results page to the user. We spent some time deciding on a darker-hue theme to be more pleasing to the eyes and eventually agreed on dark pastel purples, indigos, and pinks to complement the 'relaxing' vibe as well as go along with the Zothacks aesthetic.
Challenges we ran into
Some challenges in the backend were trying to connect to the frontend and get the inputs from the buttons through a URL to then push through the second function. We had a lot of trouble trying to format this URL and properly get a list so that it would return the game that the user gets. we constantly were returning the wrong games and getting errors, but eventually, we found the origin of the problems (formatting issues, returning the wrong types, etc) and were able to fix them!
Accomplishments that we're proud of
We're really proud of how it looks. While it might not be the fanciest, we were still proud to just have things display how we intended it to and have the separate pages per each question of the quiz (since our first idea was to have one giant page of questions but decided to change it for aesthetic purposes). We are also proud of the ratings we wrote for each of the games. While they are obviously opinionated and everyone might not agree, it was fun to collaborate and talk about why we cared about each game (or hated it). It was a great way to get to know each other on the way.
What we learned
We learned a lot about front-end designing and also communication between both languages and servers. Having the most trouble with connecting servers and getting the backend to communicate with the front end gave us a lot of exposure to this side of things, learning a lot about it along the way. We also learned about CSS since it was our first time using it.
What's next for Game Finder
We definitely had a lot more ideas we wanted to implement, such as a button that links external sites to access these games for download, and if we had a lot more time, we might've wanted to implement a feature that allowed the user to input their own recommendations. The way it would work would be the user would be prompted to input a game title, a game description, game keywords, and a picture that would then update the current list and be stored to be seen by other users. This way it wouldn't just be our recommendations, but recommendations by anyone on the internet, though there would have to be some restrictions so that it wouldn't get out of hand and to make sure all the games are actual games.
Log in or sign up for Devpost to join the conversation.