Back

Back

Work Collection

Work Collection

Work Collection

GearGuesser

GearGuesser

GearGuesser

Class Project
Web development

Class Project
Web development

Class Project
Web development

Overview

Overview

Overview

GearGuesser is a Wordle-inspired game where you guess the make and model of a car based on a cropped image of the exterior. The game is built for CS 4640 - Programming Languages for Web Applications at the University of Virginia. You can play the game here.

Skills

Skills

Skills

  • PHP

  • HTML/CSS

  • JavaScript

  • jQuery

  • Docker

  • PostgreSQL

How to Play

How to Play

How to Play

  • Select a category of cars and click 'Start Game'. When the game starts, you will see a cropped image of a car. Your task is to guess the make and model of the car.

  • Enter your guesses in the "Make" and "Model" input fields and click the "Submit" button.

  • You can click the "Play Again" button to start a new game.

  • Your game statistics, such as total games played, correct guesses, fastest guess, and average attempts per game, are displayed on the page.

Learning Outcomes

Building GearGuesser offered a unique opportunity to explore web development through the lens of game design. Reflecting on the project, I gained several valuable insights:

  • Balancing functionality and performance: Creating an interactive game with real-time feedback required careful attention to performance optimization, especially when handling user inputs and displaying statistics dynamically.

  • Understanding the user experience: The challenge of making a game both fun and intuitive taught me the importance of user engagement. Fine-tuning elements like game flow and providing helpful feedback for incorrect guesses deepened my understanding of how users interact with web applications.

  • Leveraging backend technologies: Implementing features like game statistics tracking using Docker and PostgreSQL provided hands-on experience with integrating back-end infrastructure to support a seamless gaming experience.

  • Iterative problem solving: Debugging and refining the game mechanics helped me build resilience and adopt an iterative approach to problem-solving, improving both the game's functionality and overall user satisfaction.